Penulis: Beosin
Pada dini hari tanggal 9 Januari, kontrak tidak terbuka yang diterapkan Truebit Protocol 5 tahun lalu diserang, mengalami kerugian 8,535.36 ETH (senilai sekitar $26.4 juta). Tim keamanan Beosin telah melakukan analisis kerentanan dan pelacakan dana terhadap insiden keamanan ini, dan membagikan hasilnya sebagai berikut:
Analisis Teknik Serangan
Dalam peristiwa ini, kami menggunakan satu transaksi serangan utama sebagai analisis, hash transaksinya adalah: 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014
1. Penyerang memanggil getPurchasePrice() untuk mendapatkan harga
2. Kemudian memanggil fungsi 0xa0296215() yang memiliki cacat, dan menetapkan nilai msg.value sangat kecil
Karena kontrak tidak terbuka, melalui kode yang didekompilasi, diperkirakan fungsi ini memiliki kerentanan logika aritmatika, seperti masalah pemotongan integer, yang menyebabkan penyerang berhasil mencetak sejumlah besar token TRU.
3. Penyerang melalui fungsi burn "menjual kembali" token yang dicetak ke kontrak, dan menarik sejumlah besar ETH dari cadangan kontrak.
Proses ini diulang 4 kali, setiap kali nilai msg.value meningkat, hingga hampir semua ETH dalam kontrak ditarik.
Pelacakan Dana yang Dicuri
Berdasarkan data transaksi on-chain, Beosin melalui platform investigasi dan pelacakan on-chain blockchain BeosinTrace telah melakukan pelacakan dana yang rinci, dan membagikan hasilnya sebagai berikut:
Saat ini, 8,535.36 ETH yang dicuri setelah dipindahkan, sebagian besar disimpan di 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 dan 0x273589ca3713e7becf42069f9fb3f0c164ce850a.
Di antaranya, alamat 0xd12f memegang 4,267.09 ETH, alamat 0x2735 memegang 4,001 ETH. Alamat penyerang yang memulai serangan (0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50) masih menyimpan 267.71 ETH, tiga alamat ini belum ada transfer dana lebih lanjut.
Diagram Analisis Aliran Dana yang Dicuri oleh Beosin Trace
Semua alamat di atas telah ditandai oleh Beosin KYT sebagai alamat berisiko tinggi, contohnya alamat penyerang:
Beosin KYT
Kesimpulan
Dana yang dicuri ini melibatkan kontrak pintar tidak terbuka dari 5 tahun lalu. Untuk kontrak semacam ini, pihak proyek harus meningkatkan kontrak, memperkenalkan fitur darurat, pembatasan parameter, serta fitur keamanan Solidity versi baru. Selain itu, audit keamanan tetap merupakan langkah yang sangat diperlukan untuk kontrak. Melalui audit keamanan, perusahaan Web3 dapat mendeteksi kode kontrak pintar selengkap mungkin, menemukan dan memperbaiki kerentanan potensial, serta meningkatkan keamanan kontrak.
*Beosin akan menyediakan laporan analisis lengkap semua aliran dana dan risiko alamat dari peristiwa ini, silakan ambil melalui email resmi [email protected].











