Hackerlar, Web3 ekosisteminde korkutucu bir varlıktır. Proje sahipleri için, kodun açık kaynak olması, dünya çapında hackerların sizi hedef alabileceği anlamına gelir; bir güvenlik açığı ortaya çıktığında sonuçları katlanılmaz olabilir. Bireysel kullanıcılar içinse, yaptıkları işlemi anlamıyorlarsa, her zincir üstü etkileşim veya imza, varlıklarının çalınmasına neden olabilir. Bu nedenle güvenlik sorunu, kripto dünyasının en zorlu sorunlarından biri olmaya devam etmektedir. Blockchain'in özellikleri nedeniyle, varlıklar çalındıktan sonra neredeyse geri alınamaz, bu yüzden kripto dünyasında güvenlik bilgisine sahip olmak son derece önemlidir.
Son zamanlarda, yeni bir kimlik avı yöntemi aktif hale geldi, imza atıldığında varlıklar çalınabiliyor, yöntem son derece gizli ve önlenmesi zor. Uniswap ile etkileşime geçmiş adresler risk altında olabilir. Bu makalede, bu imza kimlik avı yönteminin detayları açıklanacak ve daha fazla varlık kaybını önlemek için bilgi verilecektir.
Olayın Geçmişi
Son zamanlarda, bir arkadaşım ( kısaca A)'in cüzdan varlıkları çalındı. Yaygın hırsızlık yöntemlerinden farklı olarak, A özel anahtarını ifşa etmedi ve bir phishing sitesinin sözleşmesiyle etkileşime girmedi.
Blok zinciri tarayıcısı, küçük A cüzdanındaki USDT'nin Transfer From fonksiyonu aracılığıyla transfer edildiğini gösteriyor. Bu, başka bir adresin Token'ı taşıdığını ve cüzdan özel anahtarının ifşa edilmediğini anlamına geliyor.
İşlem detayları gösteriyor:
fd51 numaralı adres, küçük A'nın varlıklarını a0c8 numaralı adrese transfer etti.
Bu işlem Uniswap'ın Permit2 sözleşmesiyle etkileşim halindedir.
Ana soru şu: fd51 sonlu adres bu varlığın erişimini nasıl elde etti? Neden Uniswap ile ilgili?
Daha fazla araştırma, A'nın varlıklarını transfer etmeden önce, fd51 ile biten adresin bir Permit işlemi gerçekleştirdiğini ve bu iki işlemin etkileşimde bulunduğu nesnenin Uniswap'ın Permit2 sözleşmesi olduğunu ortaya çıkardı.
Uniswap Permit2, 2022'nin sonunda piyasaya sürülen yeni bir sözleşmedir, token'ların farklı uygulamalarda paylaşılmasını ve yönetilmesini sağlamak için izin verir, daha birleşik, maliyet etkin ve güvenli bir kullanıcı deneyimi yaratmayı amaçlar. Daha fazla projenin Permit2'yi entegre etmesiyle, tüm uygulamalarda standartlaştırılmış Token onayı sağlanabilir, işlem maliyetleri düşürülebilir ve akıllı sözleşme güvenliği artırılabilir.
Permit2, kullanıcılar ile Dapp arasında bir aracı olarak görev yapar. Kullanıcılar sadece Token yetkilerini Permit2 sözleşmesine yetkilendirir ve Permit2'yi entegre eden tüm Dapp'ler bu yetkilendirilmiş miktarı paylaşabilir. Bu, kullanıcı etkileşim maliyetlerini azaltır ve deneyimi artırır. Ancak bu, aynı zamanda çift taraflı bir kılıçtır; sorun, Permit2 ile etkileşim yönteminde ortaya çıkar.
Geleneksel etkileşim yöntemlerinde, yetkilendirme ve fon transferi kullanıcıların zincir üzerindeki etkileşimleridir. Ancak Permit2, kullanıcı işlemlerini zincir dışı imzaya dönüştürerek, tüm zincir üzerindeki işlemleri ara karakterin gerçekleştirmesini sağlar. Bunun getirdiği fayda, kullanıcı cüzdanında ETH olmasa bile diğer Token'larla Gas ücretini ödeyebilmesi veya ara karakter tarafından geri ödenebilmesidir.
Ancak, zincir dışı imza kullanıcıların en kolay göz ardı ettiği aşamadır. Birçok insan imza içeriğini dikkatlice kontrol etmez ve anlamını kavrayamaz, bu en tehlikeli yeridir.
Bu Permit2 imza dolandırıcılığını tetiklemek için, dolandırıcılığa uğrayan cüzdanın Uniswap'ın Permit2 sözleşmesine Token yetkisi vermiş olması gerekmektedir. Şu anda, Permit2'yi entegre eden Dapp veya Uniswap üzerinde Swap gerçekleştirmek için Permit2 sözleşmesine yetki vermek gerekmektedir.
Daha korkunç olanı, Swap miktarı ne olursa olsun, Uniswap'ın Permit2 sözleşmesi kullanıcıların bu Token'ın tüm bakiyesini yetkilendirmesini varsayılan olarak sağlıyor. MetaMask özel bir miktar girmeye izin verse de, çoğu kişi muhtemelen doğrudan maksimum veya varsayılan değeri seçecektir ve Permit2'nin varsayılan değeri sınırsız limitidir.
Bu, 2023'ten sonra Uniswap ile etkileşimde bulunduysanız ve Permit2 sözleşmesine yetki verdiyseniz, bu oltalama eyewash riskiyle karşılaşabileceğiniz anlamına geliyor.
Anahtar, Permit fonksiyonudur, bu fonksiyon hackerların imzanızı kullanarak Permit2 sözleşmesine verdiğiniz Token limitini başka bir adrese aktarabilmesine olanak tanır. Sadece imzanızı elde eden hacker, cüzdanınızdaki Token'ların yetkisini alabilir ve varlıkları transfer edebilir.
Olayın Detaylı Analizi
permit fonksiyonunun işleyişi:
Mevcut zamanın imza geçerlilik süresini aşıp aşmadığını kontrol et (sigDeadline)
İmza doğruluğunu doğrulama
Eğer kontrol edilirse, kayıtları güncellemek başkalarının tokenlerini kullanmasına izin verir.
Önemli olan verify fonksiyonu ve _updateApproval fonksiyonudur.
verify fonksiyonu imza bilgilerinden v, r, s üç veriyi alır, işlem imzası adresini geri almak için kullanılır. Sözleşme, geri alınan adresi verilen token sahibi adresi ile karşılaştırır, eğer aynıysa doğrulama geçer, _updateApproval fonksiyonu çağrısına devam edilir; eğer farklıysa işlemi geri alır.
_updateApproval fonksiyonu imza doğrulamasından sonra onay değerini güncelleyerek, yetkinizin devredildiği anlamına gelir. Bu aşamada yetkilendirilmiş taraf, token'ı belirtilen adrese transfer etmek için transferfrom fonksiyonunu çağırabilir.
Zincir üzerinde gerçek işlem gösteriyor:
owner, küçük A'nın cüzdan adresi ( sonu 308a)
Detaylar bölümünde yetkilendirilmiş Token sözleşme adresi (USDT) ve miktar gibi bilgiler görülebilir.
Spender fd51 numaralı haker adresidir.
sigDeadline imzanın geçerlilik süresini, signature ise A'nın imza bilgilerini ifade eder.
Küçük A'nın etkileşim kayıtlarına baktığımızda, daha önce Uniswap kullanırken varsayılan yetkilendirme limitine tıkladığını, yani neredeyse sınırsız bir limit olduğunu görüyoruz.
Basit bir özet: Küçük A, daha önce Uniswap kullanırken Permit2'ye sınırsız USDT yetkisi vermişti. Daha sonra cüzdanı kullanırken, hackerların tasarladığı Permit2 imza oltasına düşmüştü. Hacker, Küçük A'nın imzasını aldıktan sonra, Permit2 sözleşmesinde Permit ve Transfer From işlemleri gerçekleştirerek Küçük A'nın varlıklarını transfer etti. Şu anda Uniswap'ın Permit2 sözleşmesi, görünüşe göre bir oltacılık yuvası haline gelmiş durumda ve bu tür imza oltacılığı yaklaşık iki ay önce aktif hale gelmiş.
Nasıl Önlenir?
Uniswap Permit2 sözleşmesinin gelecekte daha fazla yaygınlaşabileceği ve daha fazla projenin yetkilendirme paylaşımı için bunu entegre edebileceği göz önüne alındığında, etkili önleme yöntemleri şunları içerir:
İmza içeriğini anlama ve tanıma:
Permit imza formatı genellikle Owner, Spender, value, nonce ve deadline gibi anahtar bilgileri içerir. Permit2'nin sağladığı kolaylıklardan ve düşük maliyetlerden yararlanmak istiyorsanız, bu imza formatını tanımayı öğrenmelisiniz. Güvenli bir eklenti kullanmak iyi bir seçimdir.
Varlık cüzdanı ve etkileşim cüzdanı ayrı kullanılır:
Eğer büyük miktarda varlığınız varsa, ana varlıklarınızı soğuk cüzdanda saklamanızı öneririm, zincir üzerindeki etkileşim cüzdanında sadece az miktarda para bulundurmak, oltalama eyewash'ı ile karşılaştığınızda kayıplarınızı önemli ölçüde azaltabilir.
Permit2 sözleşmesine verilen yetki miktarını sınırlamak veya yetkiyi iptal etmek:
Uniswap'ta Swap yaparken, yalnızca etkileşim için gerekli miktarı yetkilendirin. Her etkileşimde yeniden yetkilendirmenin maliyeti artıracağı doğru, ancak Permit2 imza phishing'ine maruz kalmanızı önleyebilir. Yetkilendirilmiş bir limit varsa, güvenli eklentiyi kullanarak yetkiyi iptal edebilirsiniz.
Tokenin niteliğini tanıyın, permit işlevini destekleyip desteklemediğini öğrenin:
Gelecekte daha fazla ERC20 tokeninin permit fonksiyonunu gerçekleştirmesi mümkün. Sahip olduğunuz tokenlerin bu fonksiyonu destekleyip desteklemediğine dikkat etmelisiniz, eğer destekliyorsa işlem veya hareketlerde ekstra dikkatli olun, her bilinmeyen imzanın permit fonksiyonuna yönelik olup olmadığını titizlikle kontrol edin.
Eğer başka platformlarda hala token varsa, kapsamlı bir kurtarma planı hazırlanmalıdır:
Dolandırıcılığın farkına vardıktan sonra, eğer başka platformlarda staking gibi yöntemlerle var olan token'larınız varsa, bunları çekip transfer etmeniz gerekmektedir. Hackerların herhangi bir zamanda adres bakiyenizi izleyebileceğini unutmayın. Token kurtarma sürecinizi iyi bir şekilde planlayın, çekim ve transfer işlemlerinin aynı anda gerçekleştirilmesini sağlayın, böylece hackerların işlem eklemesini önleyin. MEV transferi kullanmayı veya Beosin gibi profesyonel güvenlik şirketlerinden yardım almayı düşünebilirsiniz.
Gelecekte Permit2 tabanlı oltalama saldırılarının artması muhtemel. Bu tür imza oltalama yöntemleri son derece gizlidir ve önlenmesi zordur; Permit2'nin kullanım alanı genişledikçe, risk altında olan adreslerin sayısı da artacaktır. Umarım okuyucular bu makaleyi gördükten sonra daha fazla kişiye ulaştırarak, daha fazla kişinin zarar görmesini önleyebilir.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
10 Likes
Reward
10
8
Repost
Share
Comment
0/400
DeFiGrayling
· 4h ago
Güvenlik gerçekten çok önemli.
View OriginalReply0
TokenSleuth
· 4h ago
Birinci elden trajik olay tanığı Bu tür dolandırıcılık gerçekten önlenemez.
View OriginalReply0
NotFinancialAdviser
· 08-10 23:39
Yine benim büyük uni'min risk kontrolü üstleniyor.
View OriginalReply0
BlockTalk
· 08-10 15:17
Yine hapsolmuş mu yoksa çalınmış mı
View OriginalReply0
AirdropChaser
· 08-10 15:16
Geri almanın bir yolu var mı? Gerçekten kötü.
View OriginalReply0
ZenChainWalker
· 08-10 15:06
Ah, yine yeni bir dolandırıcılık yöntemi. Erken öl, erken suç ortağı.
View OriginalReply0
AirdropHunterZhang
· 08-10 15:05
Ah, bu kadar uzun süre bedavaya almak gerçekten de bir bedeli var, uniV3'ü çok fazla değiştirdim.
View OriginalReply0
LiquidationAlert
· 08-10 14:50
Bu kadar çok protokol açığına baktıktan sonra gerçekten imza atmaya cesaret edemiyorum.
Uniswap Permit2 imza oltalama yeni eyewash: riskleri tanıma ve önleme kılavuzu
Açıklama: Uniswap Permit2 imza oltalama eyewash
Hackerlar, Web3 ekosisteminde korkutucu bir varlıktır. Proje sahipleri için, kodun açık kaynak olması, dünya çapında hackerların sizi hedef alabileceği anlamına gelir; bir güvenlik açığı ortaya çıktığında sonuçları katlanılmaz olabilir. Bireysel kullanıcılar içinse, yaptıkları işlemi anlamıyorlarsa, her zincir üstü etkileşim veya imza, varlıklarının çalınmasına neden olabilir. Bu nedenle güvenlik sorunu, kripto dünyasının en zorlu sorunlarından biri olmaya devam etmektedir. Blockchain'in özellikleri nedeniyle, varlıklar çalındıktan sonra neredeyse geri alınamaz, bu yüzden kripto dünyasında güvenlik bilgisine sahip olmak son derece önemlidir.
Son zamanlarda, yeni bir kimlik avı yöntemi aktif hale geldi, imza atıldığında varlıklar çalınabiliyor, yöntem son derece gizli ve önlenmesi zor. Uniswap ile etkileşime geçmiş adresler risk altında olabilir. Bu makalede, bu imza kimlik avı yönteminin detayları açıklanacak ve daha fazla varlık kaybını önlemek için bilgi verilecektir.
Olayın Geçmişi
Son zamanlarda, bir arkadaşım ( kısaca A)'in cüzdan varlıkları çalındı. Yaygın hırsızlık yöntemlerinden farklı olarak, A özel anahtarını ifşa etmedi ve bir phishing sitesinin sözleşmesiyle etkileşime girmedi.
Blok zinciri tarayıcısı, küçük A cüzdanındaki USDT'nin Transfer From fonksiyonu aracılığıyla transfer edildiğini gösteriyor. Bu, başka bir adresin Token'ı taşıdığını ve cüzdan özel anahtarının ifşa edilmediğini anlamına geliyor.
İşlem detayları gösteriyor:
Ana soru şu: fd51 sonlu adres bu varlığın erişimini nasıl elde etti? Neden Uniswap ile ilgili?
Daha fazla araştırma, A'nın varlıklarını transfer etmeden önce, fd51 ile biten adresin bir Permit işlemi gerçekleştirdiğini ve bu iki işlemin etkileşimde bulunduğu nesnenin Uniswap'ın Permit2 sözleşmesi olduğunu ortaya çıkardı.
Uniswap Permit2, 2022'nin sonunda piyasaya sürülen yeni bir sözleşmedir, token'ların farklı uygulamalarda paylaşılmasını ve yönetilmesini sağlamak için izin verir, daha birleşik, maliyet etkin ve güvenli bir kullanıcı deneyimi yaratmayı amaçlar. Daha fazla projenin Permit2'yi entegre etmesiyle, tüm uygulamalarda standartlaştırılmış Token onayı sağlanabilir, işlem maliyetleri düşürülebilir ve akıllı sözleşme güvenliği artırılabilir.
Permit2, kullanıcılar ile Dapp arasında bir aracı olarak görev yapar. Kullanıcılar sadece Token yetkilerini Permit2 sözleşmesine yetkilendirir ve Permit2'yi entegre eden tüm Dapp'ler bu yetkilendirilmiş miktarı paylaşabilir. Bu, kullanıcı etkileşim maliyetlerini azaltır ve deneyimi artırır. Ancak bu, aynı zamanda çift taraflı bir kılıçtır; sorun, Permit2 ile etkileşim yönteminde ortaya çıkar.
Geleneksel etkileşim yöntemlerinde, yetkilendirme ve fon transferi kullanıcıların zincir üzerindeki etkileşimleridir. Ancak Permit2, kullanıcı işlemlerini zincir dışı imzaya dönüştürerek, tüm zincir üzerindeki işlemleri ara karakterin gerçekleştirmesini sağlar. Bunun getirdiği fayda, kullanıcı cüzdanında ETH olmasa bile diğer Token'larla Gas ücretini ödeyebilmesi veya ara karakter tarafından geri ödenebilmesidir.
Ancak, zincir dışı imza kullanıcıların en kolay göz ardı ettiği aşamadır. Birçok insan imza içeriğini dikkatlice kontrol etmez ve anlamını kavrayamaz, bu en tehlikeli yeridir.
Bu Permit2 imza dolandırıcılığını tetiklemek için, dolandırıcılığa uğrayan cüzdanın Uniswap'ın Permit2 sözleşmesine Token yetkisi vermiş olması gerekmektedir. Şu anda, Permit2'yi entegre eden Dapp veya Uniswap üzerinde Swap gerçekleştirmek için Permit2 sözleşmesine yetki vermek gerekmektedir.
Daha korkunç olanı, Swap miktarı ne olursa olsun, Uniswap'ın Permit2 sözleşmesi kullanıcıların bu Token'ın tüm bakiyesini yetkilendirmesini varsayılan olarak sağlıyor. MetaMask özel bir miktar girmeye izin verse de, çoğu kişi muhtemelen doğrudan maksimum veya varsayılan değeri seçecektir ve Permit2'nin varsayılan değeri sınırsız limitidir.
Bu, 2023'ten sonra Uniswap ile etkileşimde bulunduysanız ve Permit2 sözleşmesine yetki verdiyseniz, bu oltalama eyewash riskiyle karşılaşabileceğiniz anlamına geliyor.
Anahtar, Permit fonksiyonudur, bu fonksiyon hackerların imzanızı kullanarak Permit2 sözleşmesine verdiğiniz Token limitini başka bir adrese aktarabilmesine olanak tanır. Sadece imzanızı elde eden hacker, cüzdanınızdaki Token'ların yetkisini alabilir ve varlıkları transfer edebilir.
Olayın Detaylı Analizi
permit fonksiyonunun işleyişi:
Önemli olan verify fonksiyonu ve _updateApproval fonksiyonudur.
verify fonksiyonu imza bilgilerinden v, r, s üç veriyi alır, işlem imzası adresini geri almak için kullanılır. Sözleşme, geri alınan adresi verilen token sahibi adresi ile karşılaştırır, eğer aynıysa doğrulama geçer, _updateApproval fonksiyonu çağrısına devam edilir; eğer farklıysa işlemi geri alır.
_updateApproval fonksiyonu imza doğrulamasından sonra onay değerini güncelleyerek, yetkinizin devredildiği anlamına gelir. Bu aşamada yetkilendirilmiş taraf, token'ı belirtilen adrese transfer etmek için transferfrom fonksiyonunu çağırabilir.
Zincir üzerinde gerçek işlem gösteriyor:
Küçük A'nın etkileşim kayıtlarına baktığımızda, daha önce Uniswap kullanırken varsayılan yetkilendirme limitine tıkladığını, yani neredeyse sınırsız bir limit olduğunu görüyoruz.
Basit bir özet: Küçük A, daha önce Uniswap kullanırken Permit2'ye sınırsız USDT yetkisi vermişti. Daha sonra cüzdanı kullanırken, hackerların tasarladığı Permit2 imza oltasına düşmüştü. Hacker, Küçük A'nın imzasını aldıktan sonra, Permit2 sözleşmesinde Permit ve Transfer From işlemleri gerçekleştirerek Küçük A'nın varlıklarını transfer etti. Şu anda Uniswap'ın Permit2 sözleşmesi, görünüşe göre bir oltacılık yuvası haline gelmiş durumda ve bu tür imza oltacılığı yaklaşık iki ay önce aktif hale gelmiş.
Nasıl Önlenir?
Uniswap Permit2 sözleşmesinin gelecekte daha fazla yaygınlaşabileceği ve daha fazla projenin yetkilendirme paylaşımı için bunu entegre edebileceği göz önüne alındığında, etkili önleme yöntemleri şunları içerir:
Varlık cüzdanı ve etkileşim cüzdanı ayrı kullanılır: Eğer büyük miktarda varlığınız varsa, ana varlıklarınızı soğuk cüzdanda saklamanızı öneririm, zincir üzerindeki etkileşim cüzdanında sadece az miktarda para bulundurmak, oltalama eyewash'ı ile karşılaştığınızda kayıplarınızı önemli ölçüde azaltabilir.
Permit2 sözleşmesine verilen yetki miktarını sınırlamak veya yetkiyi iptal etmek: Uniswap'ta Swap yaparken, yalnızca etkileşim için gerekli miktarı yetkilendirin. Her etkileşimde yeniden yetkilendirmenin maliyeti artıracağı doğru, ancak Permit2 imza phishing'ine maruz kalmanızı önleyebilir. Yetkilendirilmiş bir limit varsa, güvenli eklentiyi kullanarak yetkiyi iptal edebilirsiniz.
Tokenin niteliğini tanıyın, permit işlevini destekleyip desteklemediğini öğrenin: Gelecekte daha fazla ERC20 tokeninin permit fonksiyonunu gerçekleştirmesi mümkün. Sahip olduğunuz tokenlerin bu fonksiyonu destekleyip desteklemediğine dikkat etmelisiniz, eğer destekliyorsa işlem veya hareketlerde ekstra dikkatli olun, her bilinmeyen imzanın permit fonksiyonuna yönelik olup olmadığını titizlikle kontrol edin.
Eğer başka platformlarda hala token varsa, kapsamlı bir kurtarma planı hazırlanmalıdır: Dolandırıcılığın farkına vardıktan sonra, eğer başka platformlarda staking gibi yöntemlerle var olan token'larınız varsa, bunları çekip transfer etmeniz gerekmektedir. Hackerların herhangi bir zamanda adres bakiyenizi izleyebileceğini unutmayın. Token kurtarma sürecinizi iyi bir şekilde planlayın, çekim ve transfer işlemlerinin aynı anda gerçekleştirilmesini sağlayın, böylece hackerların işlem eklemesini önleyin. MEV transferi kullanmayı veya Beosin gibi profesyonel güvenlik şirketlerinden yardım almayı düşünebilirsiniz.
Gelecekte Permit2 tabanlı oltalama saldırılarının artması muhtemel. Bu tür imza oltalama yöntemleri son derece gizlidir ve önlenmesi zordur; Permit2'nin kullanım alanı genişledikçe, risk altında olan adreslerin sayısı da artacaktır. Umarım okuyucular bu makaleyi gördükten sonra daha fazla kişiye ulaştırarak, daha fazla kişinin zarar görmesini önleyebilir.