NFT Sözleşme Güvenliği Analizi: Tipik Olaylar ve Yaygın Sorunlar
2022 yılının ilk yarısında, NFT alanında güvenlik olayları sıklıkla meydana geldi ve büyük ekonomik kayıplara neden oldu. Veri platformu izlemelerine göre, bu süre zarfında toplam 10 büyük güvenlik olayı yaşandı ve toplam kayıp miktarı yaklaşık 6490 milyon dolar oldu. Saldırı yöntemleri arasında sözleşme açıklarının kullanılması, özel anahtarların sızdırılması ve oltalama yer aldı. Aynı zamanda, Discord sunucuları sık sık saldırıya uğradı ve kişisel kullanıcıların oltalama bağlantılarına tıklamaları sonucunda kayıplar yaşaması sıkça karşılaşılan bir durum oldu.
Tipik Güvenlik Olayı Analizi
TreasureDAO olayı
3 Mart 2022'de, TreasureDAO ticaret platformu bir siber saldırıya uğradı ve 100'den fazla NFT çalındı. Olayın kaynağı, TreasureMarketplaceBuyer sözleşmesindeki mantık hatasıdır. Sözleşme buyItem fonksiyonunda token türünü kontrol etmediği için, _quantity ile _pricePerItem'ı çarpıp totalPrice'ı hesaplayarak, saldırganların ERC-20 token ödemesi 0 iken token satın almasına olanak tanımıştır. Bu sorun, ERC-1155 ve ERC-721 tokenlerinin karışımı nedeniyle ortaya çıkan mantık karmaşasından kaynaklanmaktadır; ERC-721 tokenlarının miktar kavramı yoktur, ancak sözleşme fiyatı hesaplamak için miktarı kullanmış ve transfer gerçekleştirme sırasında mantık ayrımı yapılmamıştır.
APE Coin airdrop olayı
17 Mart 2022'de, bir hacker flash kredi aracılığıyla 60.000'den fazla APE Coin airdrop'u elde etti. AirdropGrapesToken airdrop sözleşmesinde mantıksal bir hata bulunuyor, sadece alpha.balanceOf() ve beta.balanceOf() kullanılarak çağrıcının BAYC/MAYC NFT'sine sahip olup olmadığı belirleniyor. Bu yöntem, kullanıcının NFT'ye sahip olma durumunu sadece anlık olarak elde etmeyi sağlıyor ve bu durum flash kredi ile manipüle edilebilir. Saldırgan, bu açığı kullanarak flash kredi ile BAYC NFT'sini borç aldı ve buna karşılık gelen airdrop'u elde etti.
Revest Finance olayı
27 Mart 2022'de, Revest Finance bir siber saldırıya uğradı ve yaklaşık 120.000 $ kaybetti. Revest sözleşmesinde ERC-1155 yeniden giriş açığı bulunmaktaydı. Kullanıcılar depositAdditionalToFNFT() fonksiyonunu kullanarak FNFT teminat varlıklarını eklediklerinde, sözleşme öncelikle mevcut FNFT'yi yok etmeli ve ardından yeni FNFT'yi oluşturmalıdır. Ancak, min() fonksiyonu, oluşturulacak FNFT'nin zaten var olup olmadığını kontrol etmemektedir ve fnftId, _mint()'den sonra artmaktadır. _min() içindeki _doSafeTransferAcceptanceCheck() dış çağrısı, yeniden giriş açığına yol açmaktadır.
NBA koyun yünü olayı
21 Nisan 2022'de, NBA projesi bir siber saldırıya uğradı. The_Association_Sales sözleşmesi, imza doğrulama beyaz listesini kullanırken imza sahteciliği ve yeniden kullanım gibi iki büyük sorunla karşılaştı. İmza yeniden kullanımı, sözleşmenin kullanılan imzaları saklamaması nedeniyle saldırganların bunları tekrar kullanabilmesinden kaynaklanıyor; imza sahteciliği ise vData bellek parametresi info'nun aktarımında msg.sender'ın doğrulanmaması nedeniyle oluşuyor.
Akutar olayı
23 Nisan 2022'de, Akutar projesinin AkuAuction sözleşmesi bir akıllı sözleşme açığı nedeniyle 11539ETH( yaklaşık 34 milyon dolar) bloke edildi. Sözleşmede iki mantık açığı bulunuyor: birincisi, geri ödeme fonksiyonu processRefunds call fonksiyonu ile geri ödeme yapıyor ve sonucu require koşulu olarak kullanıyor, bu da saldırganın fallback içinde kötü niyetli bir şekilde revert yaparak geri ödemeyi engellemesine olanak tanıyor; ikincisi, geri ödeme fonksiyonundaki koşul, kullanıcının birden fazla NFT teklif edebilme durumunu dikkate almıyor, bu da sonraki geri ödeme işlemlerinin gerçekleştirilememesine neden oluyor.
XCarnival olayı
24 Haziran 2022'de, NFT borç verme protokolü XCarnival saldırıya uğradı, hacker 3087 Ether ( ile yaklaşık 3.8 milyon dolar ) kazandı. XNFT sözleşmesinin pledgeAndBorrow fonksiyonu, NFT'yi teminat göstermek için xToken adresinin beyaz listede olup olmadığını kontrol etmedi ve borç verme sırasında teminat kayıt durumunu kontrol etmedi, bu da saldırgana geçersiz teminat kayıtlarını tekrar tekrar kullanarak borç almasına olanak tanıdı.
NFT Sözleşme Denetimi Sıkça Sorulan Sorular
İmza kötüye kullanımı ve yeniden kullanımı:
İmza verisi tekrar yürütme doğrulamasını kaçırıyor, tekrar kullanılabilir imza verisi NFT mint etmek için.
İmza kontrolü mantıksız, herhangi bir kullanıcı kontrol yoluyla madeni para basabilir.
Mantık Açığı:
Yöneticiler, özel bir yöntemle madeni para basabilirler ve toplam miktar kısıtlamasına tabi değildirler, bu da NFT'nin gerçek miktarının beklenenden fazla olmasına neden olur.
NFT'yi açık artırmada kazanan, işlem sırası bağımlı saldırılarla teklifi değiştirerek NFT'yi düşük fiyatla elde edebilir.
ERC721/ERC1155 yeniden giriş saldırısı:
Transfer bildirim işlevini kullanırken, NFT sözleşmesi hedef sözleşmeye çağrı gönderimi reentrancy saldırısına neden olabilir.
Yetki alanı çok geniş:
Staking veya açık artırma sırasında _operatorApprovals yetkilendirmesi gereklidir, bu da NFT'nin çalınma riski ile sonuçlanabilir.
Fiyat Manipülasyonu:
NFT fiyatı belirli bir sözleşme token miktarına bağımlıdır, saldırganlar fiyatı artırmak için flash kredi kullanarak, stake edilen NFT'lerin anormal bir şekilde tasfiye edilmesine neden olabilir.
NFT sözleşmelerinin güvenlik olaylarının sık yaşanması ve denetim sırasında yaygın olarak görülen açıkların pratikte sıkça kullanılmasından dolayı, NFT sözleşmeleri için profesyonel bir güvenlik şirketinden kapsamlı bir denetim talep etmek son derece gereklidir.
View Original
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.
11 Likes
Reward
11
9
Share
Comment
0/400
SerumDegen
· 07-26 15:03
bir gün bir hack daha... klasik web3 smh
View OriginalReply0
CompoundPersonality
· 07-26 10:33
Bu sözleşme hataları hepsi kağıt kaplan.
View OriginalReply0
BearMarketBuyer
· 07-26 08:12
Acemi beyaz beş yüz bin kaybetti
View OriginalReply0
DefiOldTrickster
· 07-25 07:36
Bu sektörde on yıldır oynuyorum, kaç tane enayinin insanları enayi yerine koymak nedeniyle zarar gördüğünü gördüm, sanki bu kadar kaybetmeyi hak ediyorlar gibi.
View OriginalReply0
TokenSleuth
· 07-23 15:36
Sözleşmeler bu kadar çok açıkla kim alır ki?
View OriginalReply0
pumpamentalist
· 07-23 15:36
Yine balık yakalandı.
View OriginalReply0
SelfCustodyBro
· 07-23 15:31
Koruma bu kadar kötü yapılmışken nasıl hala zincire girmeye cesaret ediyorsunuz?
View OriginalReply0
DogeBachelor
· 07-23 15:23
Gerçekten oynayamıyorum!
View OriginalReply0
FloorPriceWatcher
· 07-23 15:11
NFT gerçekten büyük bir darbe, kim alırsa alsın şansı kalmaz.
NFT sözleşmesi güvenlik risk analizi: 6 tipik olayın analizi ve 5 yaygın sorun açıklaması
NFT Sözleşme Güvenliği Analizi: Tipik Olaylar ve Yaygın Sorunlar
2022 yılının ilk yarısında, NFT alanında güvenlik olayları sıklıkla meydana geldi ve büyük ekonomik kayıplara neden oldu. Veri platformu izlemelerine göre, bu süre zarfında toplam 10 büyük güvenlik olayı yaşandı ve toplam kayıp miktarı yaklaşık 6490 milyon dolar oldu. Saldırı yöntemleri arasında sözleşme açıklarının kullanılması, özel anahtarların sızdırılması ve oltalama yer aldı. Aynı zamanda, Discord sunucuları sık sık saldırıya uğradı ve kişisel kullanıcıların oltalama bağlantılarına tıklamaları sonucunda kayıplar yaşaması sıkça karşılaşılan bir durum oldu.
Tipik Güvenlik Olayı Analizi
TreasureDAO olayı
3 Mart 2022'de, TreasureDAO ticaret platformu bir siber saldırıya uğradı ve 100'den fazla NFT çalındı. Olayın kaynağı, TreasureMarketplaceBuyer sözleşmesindeki mantık hatasıdır. Sözleşme buyItem fonksiyonunda token türünü kontrol etmediği için, _quantity ile _pricePerItem'ı çarpıp totalPrice'ı hesaplayarak, saldırganların ERC-20 token ödemesi 0 iken token satın almasına olanak tanımıştır. Bu sorun, ERC-1155 ve ERC-721 tokenlerinin karışımı nedeniyle ortaya çıkan mantık karmaşasından kaynaklanmaktadır; ERC-721 tokenlarının miktar kavramı yoktur, ancak sözleşme fiyatı hesaplamak için miktarı kullanmış ve transfer gerçekleştirme sırasında mantık ayrımı yapılmamıştır.
APE Coin airdrop olayı
17 Mart 2022'de, bir hacker flash kredi aracılığıyla 60.000'den fazla APE Coin airdrop'u elde etti. AirdropGrapesToken airdrop sözleşmesinde mantıksal bir hata bulunuyor, sadece alpha.balanceOf() ve beta.balanceOf() kullanılarak çağrıcının BAYC/MAYC NFT'sine sahip olup olmadığı belirleniyor. Bu yöntem, kullanıcının NFT'ye sahip olma durumunu sadece anlık olarak elde etmeyi sağlıyor ve bu durum flash kredi ile manipüle edilebilir. Saldırgan, bu açığı kullanarak flash kredi ile BAYC NFT'sini borç aldı ve buna karşılık gelen airdrop'u elde etti.
Revest Finance olayı
27 Mart 2022'de, Revest Finance bir siber saldırıya uğradı ve yaklaşık 120.000 $ kaybetti. Revest sözleşmesinde ERC-1155 yeniden giriş açığı bulunmaktaydı. Kullanıcılar depositAdditionalToFNFT() fonksiyonunu kullanarak FNFT teminat varlıklarını eklediklerinde, sözleşme öncelikle mevcut FNFT'yi yok etmeli ve ardından yeni FNFT'yi oluşturmalıdır. Ancak, min() fonksiyonu, oluşturulacak FNFT'nin zaten var olup olmadığını kontrol etmemektedir ve fnftId, _mint()'den sonra artmaktadır. _min() içindeki _doSafeTransferAcceptanceCheck() dış çağrısı, yeniden giriş açığına yol açmaktadır.
NBA koyun yünü olayı
21 Nisan 2022'de, NBA projesi bir siber saldırıya uğradı. The_Association_Sales sözleşmesi, imza doğrulama beyaz listesini kullanırken imza sahteciliği ve yeniden kullanım gibi iki büyük sorunla karşılaştı. İmza yeniden kullanımı, sözleşmenin kullanılan imzaları saklamaması nedeniyle saldırganların bunları tekrar kullanabilmesinden kaynaklanıyor; imza sahteciliği ise vData bellek parametresi info'nun aktarımında msg.sender'ın doğrulanmaması nedeniyle oluşuyor.
Akutar olayı
23 Nisan 2022'de, Akutar projesinin AkuAuction sözleşmesi bir akıllı sözleşme açığı nedeniyle 11539ETH( yaklaşık 34 milyon dolar) bloke edildi. Sözleşmede iki mantık açığı bulunuyor: birincisi, geri ödeme fonksiyonu processRefunds call fonksiyonu ile geri ödeme yapıyor ve sonucu require koşulu olarak kullanıyor, bu da saldırganın fallback içinde kötü niyetli bir şekilde revert yaparak geri ödemeyi engellemesine olanak tanıyor; ikincisi, geri ödeme fonksiyonundaki koşul, kullanıcının birden fazla NFT teklif edebilme durumunu dikkate almıyor, bu da sonraki geri ödeme işlemlerinin gerçekleştirilememesine neden oluyor.
XCarnival olayı
24 Haziran 2022'de, NFT borç verme protokolü XCarnival saldırıya uğradı, hacker 3087 Ether ( ile yaklaşık 3.8 milyon dolar ) kazandı. XNFT sözleşmesinin pledgeAndBorrow fonksiyonu, NFT'yi teminat göstermek için xToken adresinin beyaz listede olup olmadığını kontrol etmedi ve borç verme sırasında teminat kayıt durumunu kontrol etmedi, bu da saldırgana geçersiz teminat kayıtlarını tekrar tekrar kullanarak borç almasına olanak tanıdı.
NFT Sözleşme Denetimi Sıkça Sorulan Sorular
İmza kötüye kullanımı ve yeniden kullanımı:
Mantık Açığı:
ERC721/ERC1155 yeniden giriş saldırısı:
Yetki alanı çok geniş:
Fiyat Manipülasyonu:
NFT sözleşmelerinin güvenlik olaylarının sık yaşanması ve denetim sırasında yaygın olarak görülen açıkların pratikte sıkça kullanılmasından dolayı, NFT sözleşmeleri için profesyonel bir güvenlik şirketinden kapsamlı bir denetim talep etmek son derece gereklidir.