Yazan: Sissice
arka plan
SlowMist güvenlik ekibinin istihbaratına göre 24 Nisan 2024'te BSC zincirindeki YIEDL projesi saldırıya uğradı ve saldırgan yaklaşık 300.000 ABD doları kar elde etti. SlowMist güvenlik ekibi saldırı olayını analiz etti ve sonuçları şu şekilde paylaştı:
https://twitter.com/SlowMist_Team/status/1782962346039898473
İlgili bilgi
Saldırganın adresi:
0x322696471792440499b1979e0a440491e870667a
Saldırıya uğrayan sözleşme adresi:
0x4edda16ab4f4cc46b160abc42763ba63885862a4
Kısmi saldırı işlemi:
0x49ca5e188c538b4f2efb45552f13309cc0dd1f3592eee54decfc9da54620c2ec
0x3629ad588ac120163792e92b6c43bd4bdc5bf35cac66eb7f3a0267df93abc849
0x0a89b8670c40b4067b9522a5933c3bf8c44c968103aa642b04c65d49ad9e6457
0x5e468cba495e5f6165418fb9d87d824309c54261055425f33f588dd3b3abbcea
0x8710034dadecfc8c26f651c612f613fffdece6e2f9957b9ec8ab843218168c1d
0x9da398ed274c8cfa774b36003fa8c930d3430d0fc5889b5008830fd6463f68a9
0x2e3d4332f66a334e0170187011ed673dc222f95bf4443b618e08f8052437ef7a
0x5a15fdc57c35f2305aaa0bb95b109ad412b17406d737d137190fe5867393339d
0x8ef3765665cd849cdf9132ab37caf6aa0f891e1f7d9f418f86a6ab6ea38b6f5b
0xa9fa04b033afbed2218679aea92e9429a5f7839d0b4c65358ebf9ba20efcd021
0xa9fa04b033afbed2218679aea92e9429a5f7839d0b4c65358ebf9ba20efcd021
Çekirdeğe saldırın
Bu olaydaki saldırının özü, redeem işlev çağrısını işlemek için sözleşmeyi kullanırken kullanıcı tarafından girilen harici parametrelerin tam olarak doğrulanamamasıydı. Bu parametre, varlık değişimini kontrol eden önemli verilerdir ve genellikle belirli ticaret talimatlarını veya yönlendirme bilgilerini içerir. Saldırgan, bu harici parametreyi kötü niyetle oluşturarak yetkisiz varlık aktarımı gerçekleştirir.
işlem analizi
Saldırgan, miktarı 0 olan varlıkların itfasına başvurmak için redeem fonksiyonunu birden çok kez çağırır. Bu davranışın kendisi zararsız görünmektedir, çünkü itfa miktarı sıfır olduğunda genellikle gerçek bir fon akışını tetiklemez:
Ancak redeem fonksiyonunun ardından bu fonksiyonun sözleşmenin izin verdiği varlıklar listesinde dolaşacağını ve mevcut varlığın kullanıcının almak istediği varlık olmadığı durumlarda gelen dataList parametresine göre ve harici olarak ayrıştıracağını görebiliriz. Varlık değişimi işlemlerini yürütmek için 1 inç Yönlendiricideki ilgili işlevi çağırın.
Buraya iletilen dataList kontrol edilmediğinden ve doğrulanmadığından, saldırgan, keyfi kontrol edilebilir token değişim işlemlerini gerçekleştirmek için 1 inç Yönlendirici sözleşmesinin unoswapTo işlevini yürütmek üzere kötü amaçlı değerler oluşturabilir.
Sonuç olarak Yiedl BULL sözleşmesindeki WBNB-ADA Token, saldırganın adresine BNB ile takas edildi.
Bu sayede saldırgan, aslında herhangi bir geri ödeme payına sahip olmadan, dataList parametresi tarafından kontrol edilen token takas işlemini tetikleyebilir, kendi varlıklarını tüketmeden sözleşme fonlarını birden çok kez harekete geçirebilir ve piyasadan kârlı çıkabilir.
Özetle
Bu sayede saldırgan, aslında herhangi bir geri alım payına sahip olmadan, dataList parametresi tarafından kontrol edilen token takas işlemini tetikleyebilir, kendi varlıklarını tüketmeden sözleşme fonlarını birden çok kez harekete geçirebilir ve piyasadan kârlı çıkabilir.
Özetle
Bu saldırının özü, işlevin kullanıcı tarafından girilen dataList parametresini tam olarak doğrulayamaması, saldırganın kötü amaçlı harici veriler oluşturmasına ve sözleşmedeki belirteçleri çalmak için 1 inç kullanmasına olanak sağlamasıdır. SlowMist güvenlik ekibi, proje tarafının, özellikle sözleşmedeki fon operasyonları söz konusu olduğunda, tüm dış çağrıların beklenen davranışsal spesifikasyonlara uygun olduğundan emin olmak ve kapsamlı bir güvenlik denetimi gerçekleştirmek için geliştirme aşamasında katı bir parametre doğrulama mekanizması uygulamasını tavsiye eder. Benzer olayların tekrar yaşanmasını önlemek için sözleşmenin mantığı.
Tüm Yorumlar