Analisis Insiden Serangan Hacker pada Poly Network
Baru-baru ini, protokol interoperabilitas lintas rantai Poly Network mengalami serangan Hacker, yang memicu perhatian luas di industri. Analisis tim keamanan menunjukkan bahwa serangan ini bukan disebabkan oleh kebocoran kunci pribadi keeper, melainkan penyerang telah memodifikasi alamat keeper pada kontrak EthCrossChainData melalui data yang dirancang dengan cermat.
Inti Serangan
Inti dari serangan ini adalah fungsi verifyHeaderAndExecuteTx pada kontrak EthCrossChainManager dapat mengeksekusi transaksi lintas rantai konkret melalui fungsi _executeCrossChainTx. Karena pemilik kontrak EthCrossChainData adalah kontrak EthCrossChainManager, maka yang terakhir dapat memanggil fungsi putCurEpochConPubKeyBytes dari yang pertama untuk mengubah keeper kontrak.
Penyerang memanfaatkan fungsi verifyHeaderAndExecuteTx dengan mengirimkan data yang dirancang dengan cermat, sehingga fungsi _executeCrossChainTx dapat memanggil fungsi putCurEpochConPubKeyBytes dari kontrak EthCrossChainData, sehingga peran keeper diubah menjadi alamat yang ditentukan oleh penyerang. Setelah langkah ini selesai, penyerang dapat membuat transaksi untuk menarik jumlah dana yang tidak terbatas dari kontrak.
Proses Serangan
Penyerang pertama-tama memanggil fungsi putCurEpochConPubKeyBytes melalui fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager, yang mengubah keeper.
Selanjutnya, penyerang melakukan serangkaian transaksi serangan untuk menarik dana dari kontrak.
Setelah serangan selesai, karena keeper telah dimodifikasi, transaksi normal pengguna lain ditolak untuk dieksekusi.
Pola serangan ini tidak hanya terjadi di BSC, tetapi juga muncul operasi serupa di jaringan Ethereum.
Kesimpulan
Kunci serangan ini terletak pada kemampuan keeper kontrak EthCrossChainData yang dapat diubah oleh kontrak EthCrossChainManager, sementara fungsi verifyHeaderAndExecuteTx yang terakhir dapat mengeksekusi data yang diberikan pengguna melalui fungsi _executeCrossChainTx. Penyerang memanfaatkan celah desain ini dengan membangun data tertentu untuk mengubah alamat keeper kontrak EthCrossChainData, sehingga mencapai tujuan serangan.
Peristiwa ini sekali lagi menyoroti pentingnya keamanan protokol lintas rantai, dan mengingatkan para pengembang untuk lebih berhati-hati saat merancang kontrak pintar, terutama dalam fungsi yang melibatkan perubahan izin peran kunci. Pada saat yang sama, bagi pengguna, penting untuk tetap waspada saat menggunakan layanan lintas rantai dan memperhatikan perkembangan keamanan terkait.
Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
Poly Network diserang Hacker, kerentanan kontrak EthCrossChainData dimanfaatkan.
Analisis Insiden Serangan Hacker pada Poly Network
Baru-baru ini, protokol interoperabilitas lintas rantai Poly Network mengalami serangan Hacker, yang memicu perhatian luas di industri. Analisis tim keamanan menunjukkan bahwa serangan ini bukan disebabkan oleh kebocoran kunci pribadi keeper, melainkan penyerang telah memodifikasi alamat keeper pada kontrak EthCrossChainData melalui data yang dirancang dengan cermat.
Inti Serangan
Inti dari serangan ini adalah fungsi verifyHeaderAndExecuteTx pada kontrak EthCrossChainManager dapat mengeksekusi transaksi lintas rantai konkret melalui fungsi _executeCrossChainTx. Karena pemilik kontrak EthCrossChainData adalah kontrak EthCrossChainManager, maka yang terakhir dapat memanggil fungsi putCurEpochConPubKeyBytes dari yang pertama untuk mengubah keeper kontrak.
Penyerang memanfaatkan fungsi verifyHeaderAndExecuteTx dengan mengirimkan data yang dirancang dengan cermat, sehingga fungsi _executeCrossChainTx dapat memanggil fungsi putCurEpochConPubKeyBytes dari kontrak EthCrossChainData, sehingga peran keeper diubah menjadi alamat yang ditentukan oleh penyerang. Setelah langkah ini selesai, penyerang dapat membuat transaksi untuk menarik jumlah dana yang tidak terbatas dari kontrak.
Proses Serangan
Penyerang pertama-tama memanggil fungsi putCurEpochConPubKeyBytes melalui fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager, yang mengubah keeper.
Selanjutnya, penyerang melakukan serangkaian transaksi serangan untuk menarik dana dari kontrak.
Setelah serangan selesai, karena keeper telah dimodifikasi, transaksi normal pengguna lain ditolak untuk dieksekusi.
Pola serangan ini tidak hanya terjadi di BSC, tetapi juga muncul operasi serupa di jaringan Ethereum.
Kesimpulan
Kunci serangan ini terletak pada kemampuan keeper kontrak EthCrossChainData yang dapat diubah oleh kontrak EthCrossChainManager, sementara fungsi verifyHeaderAndExecuteTx yang terakhir dapat mengeksekusi data yang diberikan pengguna melalui fungsi _executeCrossChainTx. Penyerang memanfaatkan celah desain ini dengan membangun data tertentu untuk mengubah alamat keeper kontrak EthCrossChainData, sehingga mencapai tujuan serangan.
Peristiwa ini sekali lagi menyoroti pentingnya keamanan protokol lintas rantai, dan mengingatkan para pengembang untuk lebih berhati-hati saat merancang kontrak pintar, terutama dalam fungsi yang melibatkan perubahan izin peran kunci. Pada saat yang sama, bagi pengguna, penting untuk tetap waspada saat menggunakan layanan lintas rantai dan memperhatikan perkembangan keamanan terkait.