Analisis Insiden Serangan Hacker pada Poly Network
Baru-baru ini, protokol interoperabilitas lintas rantai Poly Network mengalami serangan Hacker, yang memicu perhatian luas. Setelah analisis mendalam oleh tim keamanan, diketahui bahwa penyerang tidak melakukan serangan melalui kebocoran kunci pribadi keeper, melainkan memanfaatkan celah dalam kontrak.
Prinsip Serangan
Inti dari serangan ini adalah fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager dapat mengeksekusi transaksi lintas rantai tertentu melalui fungsi _executeCrossChainTx. Karena pemilik kontrak EthCrossChainData adalah kontrak EthCrossChainManager, yang terakhir dapat memanggil fungsi putCurEpochConPubKeyBytes dari yang pertama untuk mengubah keeper kontrak.
Penyerang dengan mengirimkan data yang dirancang dengan cermat ke fungsi verifyHeaderAndExecuteTx, membuat fungsi _executeCrossChainTx memanggil fungsi putCurEpochConPubKeyBytes pada kontrak EthCrossChainData, sehingga mengubah peran keeper menjadi alamat yang ditentukan oleh penyerang. Setelah penggantian peran keeper selesai, penyerang dapat dengan bebas merancang transaksi untuk menarik jumlah dana yang tidak terbatas dari kontrak.
Proses Serangan
Penyerang pertama-tama memanggil fungsi putCurEpochConPubKeyBytes melalui fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager untuk mengubah keeper.
Selanjutnya, penyerang memanfaatkan hak yang diubah untuk melakukan serangkaian transaksi serangan, menarik dana dari kontrak.
Karena keeper telah dimodifikasi, menyebabkan transaksi normal pengguna lain ditolak.
Pola serangan ini tidak hanya terjadi di jaringan BSC, tetapi juga mengalami operasi serangan serupa di jaringan Ethereum.
Kesimpulan
Penyebab mendasar dari insiden serangan ini adalah bahwa keeper kontrak EthCrossChainData dapat dimodifikasi oleh kontrak EthCrossChainManager, sementara fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager dapat mengeksekusi data input pengguna melalui fungsi _executeCrossChainTx. Penyerang memanfaatkan celah desain ini dengan membangun data tertentu untuk mengubah keeper dari kontrak EthCrossChainData, sehingga berhasil melakukan pencurian dana.
Peristiwa ini sekali lagi menyoroti pentingnya desain keamanan protokol lintas rantai, terutama dalam hal manajemen izin dan panggilan fungsi yang memerlukan audit dan pembatasan yang lebih ketat. Untuk proyek keuangan terdesentralisasi, audit keamanan yang berkelanjutan dan perbaikan kerentanan sangat penting untuk mencegah terjadinya peristiwa serangan serupa.
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.
18 Suka
Hadiah
18
6
Posting ulang
Bagikan
Komentar
0/400
PanicSeller69
· 08-12 04:32
Bug masih bikin apa defi?
Lihat AsliBalas0
BearMarketNoodler
· 08-11 11:12
Korban lain Peringatan tutorial gratis
Lihat AsliBalas0
HodlKumamon
· 08-10 15:50
Aduh, QA audit ini kenapa begitu asal-asalan~
Lihat AsliBalas0
AirdropATM
· 08-10 15:49
Kerentanan kontrak memang menyebalkan
Lihat AsliBalas0
TokenCreatorOP
· 08-10 15:46
又被锤dapatkan likuidasi了嘛
Lihat AsliBalas0
PoolJumper
· 08-10 15:31
Setelah dicukur begitu banyak bulu, kontrak masih berani bilang ada celah?
Poly Network diserang oleh Hacker: Kerentanan kontrak menyebabkan keeper diubah.
Analisis Insiden Serangan Hacker pada Poly Network
Baru-baru ini, protokol interoperabilitas lintas rantai Poly Network mengalami serangan Hacker, yang memicu perhatian luas. Setelah analisis mendalam oleh tim keamanan, diketahui bahwa penyerang tidak melakukan serangan melalui kebocoran kunci pribadi keeper, melainkan memanfaatkan celah dalam kontrak.
Prinsip Serangan
Inti dari serangan ini adalah fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager dapat mengeksekusi transaksi lintas rantai tertentu melalui fungsi _executeCrossChainTx. Karena pemilik kontrak EthCrossChainData adalah kontrak EthCrossChainManager, yang terakhir dapat memanggil fungsi putCurEpochConPubKeyBytes dari yang pertama untuk mengubah keeper kontrak.
Penyerang dengan mengirimkan data yang dirancang dengan cermat ke fungsi verifyHeaderAndExecuteTx, membuat fungsi _executeCrossChainTx memanggil fungsi putCurEpochConPubKeyBytes pada kontrak EthCrossChainData, sehingga mengubah peran keeper menjadi alamat yang ditentukan oleh penyerang. Setelah penggantian peran keeper selesai, penyerang dapat dengan bebas merancang transaksi untuk menarik jumlah dana yang tidak terbatas dari kontrak.
Proses Serangan
Penyerang pertama-tama memanggil fungsi putCurEpochConPubKeyBytes melalui fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager untuk mengubah keeper.
Selanjutnya, penyerang memanfaatkan hak yang diubah untuk melakukan serangkaian transaksi serangan, menarik dana dari kontrak.
Karena keeper telah dimodifikasi, menyebabkan transaksi normal pengguna lain ditolak.
Pola serangan ini tidak hanya terjadi di jaringan BSC, tetapi juga mengalami operasi serangan serupa di jaringan Ethereum.
Kesimpulan
Penyebab mendasar dari insiden serangan ini adalah bahwa keeper kontrak EthCrossChainData dapat dimodifikasi oleh kontrak EthCrossChainManager, sementara fungsi verifyHeaderAndExecuteTx dari kontrak EthCrossChainManager dapat mengeksekusi data input pengguna melalui fungsi _executeCrossChainTx. Penyerang memanfaatkan celah desain ini dengan membangun data tertentu untuk mengubah keeper dari kontrak EthCrossChainData, sehingga berhasil melakukan pencurian dana.
Peristiwa ini sekali lagi menyoroti pentingnya desain keamanan protokol lintas rantai, terutama dalam hal manajemen izin dan panggilan fungsi yang memerlukan audit dan pembatasan yang lebih ketat. Untuk proyek keuangan terdesentralisasi, audit keamanan yang berkelanjutan dan perbaikan kerentanan sangat penting untuk mencegah terjadinya peristiwa serangan serupa.