Pengarang: Beosin
Pada awal pagi 9 Januari, kontrak tidak sumber terbuka yang ditempatkan oleh Truebit Protocol 5 tahun yang lalu telah diserang, menyebabkan kehilangan 8,535.36 ETH (kira-kira bernilai $26.4 juta). Pasukan keselamatan Beosin telah menganalisis kelemahan dan memburu dana berkaitan kejadian keselamatan ini, dan kini berkongsi keputusan seperti berikut:

Analisis Kaedah Serangan
Kami mengambil transaksi penyerangan utama sebagai analisis untuk kejadian ini, transaksi hash ialah: 0xcd4755645595094a8ab984d0db7e3b4aabde72a5c87c4f176a030629c47fb014
1. Pengganas memanggil getPurchasePrice() untuk mendapatkan harga.

2. Seterusnya, fungsi yang cacat 0xa0296215() akan dipanggil dan nilai msg.value ditetapkan sangat kecil.

Kerana kontrak itu tidak dibuka sumber kodnya, fungsi ini dipercayai mempunyai kelemahan logik aritmetik berdasarkan kod yang diperoleh melalui pembalikan, seperti masalah pemotongan integer, yang menyebabkan penyerang berjaya mencipta sejumlah besar token TRU.
3. Pengganas menggunakan fungsi burn untuk "menjual semula" token yang dicetak kepada kontrak, lalu menarik sejumlah besar ETH daripada cadangan kontrak.

Proses ini diulang sebanyak 4 kali, setiap kali nilai msg.value dinaikkan sehingga hampir keseluruhan ETH dalam kontrak dikeluarkan.
Pengesanan Wang yang Dicuri
Berdasarkan data transaksi rantai, Beosin telah menjalankan penyiasatan dan pemantauan dana secara terperinci melalui platform siasatan dan pemantauan rantai blok miliknya, BeosinTrace, dan berkongsi keputusan berikut:
Pada masa kini, 8,535.36 ETH yang dicuri telah dipindahkan dan kebanyakannya disimpan masing-masing di 0xd12f6e0fa7fbf4e3a1c7996e3f0dd26ab9031a60 dan 0x273589ca3713e7becf42069f9fb3f0c164ce850a.
Antaranya, alamat 0xd12f memegang 4,267.09 ETH, manakala alamat 0x2735 memegang 4,001 ETH. Alamat yang digunakan oleh penyerang untuk melancarkan serangan (0x6c8ec8f14be7c01672d31cfa5f2cefeab2562b50) juga memegang 267.71 ETH, dan tiada pemindahan dana lanjut dikesan daripada tiga alamat tersebut.

Carta aliran dana yang dicuri oleh Beosin Trace
Alamat di atas semuanya telah ditanda sebagai alamat berisiko tinggi oleh Beosin KYT. Sebagai contoh, alamat penyerang:

Beosin KYT
Kesimpulan
Kempen dana kali ini melibatkan kontrak pintar yang tidak dikongsi 5 tahun lalu. Untuk kontrak sebegini, pihak projek perlu memperbaharui kontrak tersebut dengan memperkenalkan ciri-ciri keselamatan seperti penangguhan darurat, had parameter, dan ciri keselamatan Solidity versi terkini. Selain itu, audit keselamatan tetap menjadi aspek penting dalam kontrak. Dengan audit keselamatan, syarikat Web3 boleh mengesan kod kontrak pintar secara menyeluruh, mengenal pasti dan memperbaiki kelemahan yang mungkin wujud, serta meningkatkan keselamatan kontrak.
*Beosin akan menyediakan laporan analisis lengkap tentang semua aliran dana dan risiko alamat pada kali ini, sila hubungi emel rasmi support@beosin.com untuk mendapatkannya.


