SpankChain diretas sejak hari sabtu lalu. Akibatnya, kurang lebih 165,38 ETH. Sementara itu aset pengguna sekitar 34,99 ETH dan 1271 token Booty juga melayang. Total kerugiannya mencapai USD 38.000 atau kurang lebih 577,3 juta rupiah.
Kabarnya peretasan tersebut terjadi melalui payment channel smart contract SpankChain, seperti yang dituliskan oleh pihak SpankChain di Medium. Tepat pada hari Sabtu pukul 06.00 waktu setempat, penyerang sudah membobol 165,38 ETH. Selain itu juga berhasil kembali menembus 34,99 ETH beserta 1271,88 Token Booty milik pengguna.
SpankChain ini adalah platform hiburan khusus dewasa. Awalnya pihak pengembang tidak mengetahui jika pada hari minggu peretasan itu telah dilakukan. Setelah mengetahui ada peretasan yang berhasil dilakukan, platform Spank.Live langsung dimatikan sementara.
Terkait dengan kerugian yang dialami pengguna, pihak SpankChain menyatakan untuk mengganti keseluruhan dana tersebut. Pihak SpankChain saat ini dikabarkan tengah mengambil jalan untuk memberikan airdrop untuk menutup seluruh jumlah kerugian pengguna.
Menurut pihak pengembang SpankChain, serangan tersebut memanfaatkan bug yang pernah digunakan dalam modus serangan DAO. Penyerang menggunakan smart contract lain yang telah ditanam fungsi untuk recall transfer kembali secara berkali-kali. Sehingga cara itu dapat digunakan untuk menguras habis aset ETH yang terdapat di smart contract target.
Smart contract penyerang itu seolah seperti halnya smart contract ERC20 pada umumnya. Di tahap awal, smart contract itu berperan untuk membuat sebuah channel baru sebagai pembuka transaksi. Lalu berupaya untuk memanggil fungsi LCOpenTimeout yang memanfaatkan bug “reetrancy”.
Karena channel tersebut dibuat menggunakan LCOpenTimeout, maka penyerang langsung dapat keluar channel sebelum ada pihak yang masuk di dalam channel tersebut. Melalui LCOpenTimeout itu yang telah di atur sedemikian rupa sebelumnya, maka penyerang pun dapat menerapkan ketentuan yang dikehendaki melalui kode yang ditanam di dalamnya. Sehingga melalui hal itu dapat digunakan untuk mentrasfer saldo ETH milik target, beserta aset token lain yang ada di dalamnya.