
Geçen Cuma, izleme sistemimiz BSC üzerindeki coin98 akıllı sözleşmesine (0x8aaf408e06feed6a6a6182ea3c464035748b9b31 — kurban sözleşme) yönelik bir saldırı tespit etti. Proje sahibine Twitter üzerinden hemen DM attık, ancak yanıt alamadık. O sırada açık hâlâ mevcut olduğundan bunu kamuoyuyla paylaşmadık. Birkaç saat sonra proje sahibinin açığı gideren yeni bir sözleşme oluşturduğunu fark ettik. Bu nedenle, açığı ve düzeltmeyi burada özetlememiz artık güvenli hâle geldi.
Saldırı işlemi ve temel neden
Dahili izleme sistemimiz tarafından işaretlenen işlem dikkatimizi çekti. Dikkatli bir incelemenin ardından, bunun aşağıda gösterildiği gibi swapExactTokensForTokens fonksiyonundaki route parametresinin (aslında yönlendiriciyi ifade eder) erişim denetimiyle ilgili olduğunu doğruladık:

Bu sözleşme route'a körü körüne güvenerek yönlendiricinin swapExactTokensForTokens fonksiyonunu çağırdı. Bundan önce, kurban sözleşmenin sahip olduğu tüm token'ları route'a onayladı. Ancak route, saldırgan tarafından geçirilebiliyordu. Bu durumda saldırgan, kurban sözleşmedeki tüm token'ları kendisine aktarabilir ve ardından kâr elde etmek için WBNB ile takas yapabilir.
Aşağıda saldırı işlemlerinden biri yer almaktadır.

Açığın sessiz sedasız düzeltilmesi
Geçen Cuma proje sahibine Twitter'dan DM attık ancak yanıt alamadık. Sözleşmeyi bugün tekrar kontrol ettiğimizde, yeni bir akıllı sözleşmenin (0x83f25d16bdf91f51120032f264dad0e1ab1c8227) dağıtılmış olduğunu gördük. Bu yeni sözleşmede route için bir beyaz liste bulunmaktadır:

Sonuç
Geçirilen parametrenin akıllı sözleşme tarafından körü körüne güvenildiği pek çok vakaya tanık olduk. Bu durum ciddi bir güvenlik açığı oluşturmaktadır.
KONTROL DIŞINDAKI HİÇBİR PARAMETREYE GÜVENMEYİN!
BlockSec Hakkında
BlockSec, 2021 yılında küresel alanda tanınan güvenlik uzmanlarından oluşan bir ekip tarafından kurulmuş öncü bir blok zinciri güvenlik şirketidir. Şirket, kitlesel benimsenmesini kolaylaştırmak amacıyla gelişmekte olan Web3 dünyasının güvenliğini ve kullanılabilirliğini artırmayı taahhüt etmektedir. Bu doğrultuda BlockSec; akıllı sözleşme ve EVM zinciri güvenlik denetimi hizmetleri, güvenlik geliştirme ve tehditleri proaktif olarak engelleme amacıyla Phalcon platformu, fon takibi ve soruşturma için MetaSleuth platformu ve web3 geliştiricilerinin kripto dünyasında verimli gezinmesi için MetaSuites eklentisini sunmaktadır.
Şirket bugüne kadar MetaMask, Uniswap Foundation, Compound, Forta ve PancakeSwap gibi 300'den fazla seçkin müşteriye hizmet vermiş; Matrix Partners, Vitalbridge Capital ve Fenbushi Capital gibi önde gelen yatırımcılardan iki yatırım turunda on milyonlarca ABD doları finansman almıştır.
Resmi web sitesi: https://blocksec.com/
Resmi Twitter hesabı: https://twitter.com/BlockSecTeam



