Blockchain tindakan darurat: Pengalaman dan pelajaran dari insiden serangan AnySwap

Tinjauan Kembali Tindakan Penyelamatan Darurat Blockchain: Pengalaman dan Pelajaran

Pada 18 Januari 2022, sistem pemantauan transaksi abnormal kami menemukan serangan terhadap proyek AnySwap ( yaitu Multichain ). Karena adanya kerentanan pada fungsi kontrak, token yang diberikan izin oleh pengguna kepada proyek tersebut dapat diekstrak oleh penyerang. Meskipun pihak proyek berusaha untuk mengingatkan pengguna, masih banyak pengguna yang tidak berhasil mencabut izin tepat waktu, mengakibatkan penyerang terus mendapatkan keuntungan.

Untuk melindungi calon korban, tim BlockSec memutuskan untuk mengambil langkah respons darurat. Kami akan memindahkan dana dari akun yang terpengaruh di Ethereum ke akun multi-tanda tangan yang telah dibentuk khusus. Untuk memastikan transparansi, kami akan mempublikasikan hash dokumen rencana tindakan ( non-konten ) kepada komunitas. Operasi penyelamatan dimulai dari 21 Januari 2022 hingga 11 Maret.

Tanggap darurat menghadapi banyak tantangan teknis dan non-teknis. Sekarang tindakan telah berakhir, kami akan mereview seluruh proses, berbagi wawasan terkait, semoga dapat membantu keamanan ekosistem DeFi.

Temuan Utama:

  • Penggunaan luas Flashbots menyebabkan persaingan ketat antara para white hat dan penyerang, serta di dalam masing-masing komunitas. Biaya yang dibayarkan kepada Flashbots meningkat dengan cepat seiring berjalannya waktu.

  • Flashbots tidak selalu efektif. Beberapa penyerang beralih menggunakan mempool, menerapkan strategi cerdik untuk berhasil melakukan serangan.

  • Beberapa penyerang mencapai kesepakatan dengan pihak proyek, mengembalikan sebagian keuntungan dan mempertahankan sebagian sebagai imbalan, berhasil "membersihkan nama". Tindakan ini memicu kontroversi di komunitas.

  • Topi putih dapat mengungkapkan perilaku kepada komunitas tanpa mengungkapkan informasi sensitif, dan pendekatan ini telah menunjukkan kinerja yang baik dalam praktik.

  • Kerjasama dari berbagai pihak dalam komunitas dapat membuat upaya penyelamatan lebih cepat dan efektif, seperti kolaborasi antar white hat untuk mengurangi kompetisi yang tidak efektif.

Berikut adalah diskusi dari empat aspek: tinjauan keseluruhan peristiwa, metode dan tantangan penyelamatan, pelajaran yang dipetik, serta saran.

Gambaran Umum Serangan dan Penyelamatan

Hasil keseluruhan

Dalam pengamatan kami, dari 18 Januari 2022 hingga 20 Maret 2022, situasi serangan dan penyelamatan secara keseluruhan adalah sebagai berikut:

9 akun penyelamat melindungi 483.027693 ETH, membayar biaya Flashbots 295.970554 ETH( berjumlah 61.27%). 21 akun penyerang menghasilkan 1433.092224 ETH, membayar biaya Flashbots sebesar 148.903707 ETH( berjumlah 10.39%).

Perlu diperhatikan, karena beberapa penyerang bernegosiasi dengan pihak proyek untuk mengembalikan sebagian keuntungan, label alamat mungkin berubah, dan data statistik hanya untuk referensi.

( Tren perubahan biaya Flashbots

Untuk menilai tingkat persaingan yang ketat, kami menghitung persentase biaya Flashbots dari transaksi serangan dan penyelamatan berdasarkan blok.

Biaya transaksi serangan awal Flashbots adalah 0, menunjukkan bahwa penyerang belum menggunakan Flashbots. Kemudian, proporsi biaya dengan cepat meningkat, bahkan mencapai 80%-91% di beberapa blok. Ini mencerminkan perlombaan senjata biaya yang dipicu oleh perebutan hak untuk memasukkan transaksi ke dalam Blockchain Flashbots.

![])https://img-cdn.gateio.im/webp-social/moments-30d2c3346816e15ab7c89a6a25d0ad83.webp###

Pelaksanaan dan Tantangan Operasi Penyelamatan

( Metode Penyelamatan

Gagasan dasar dari penyelamatan adalah memantau akun yang berpotensi terpengaruh, dan segera mentransfer WETH yang masuk ke dompet multi-tanda tangan white hat. Kuncinya adalah memenuhi persyaratan berikut:

  1. Penentuan yang efektif untuk mentransfer uang kepada transaksi korban ) transfer transaksi ###
  2. Membangun transaksi penyelamatan dengan benar
  3. Penyerang berhasil melakukan serangan transaksi

Dua poin pertama tidak menjadi hambatan bagi kami, tetapi poin ketiga masih merupakan tantangan. Meskipun secara teori bisa menggunakan Flashbots untuk melakukan front-running, namun dalam praktiknya tidaklah mudah. Kami juga menggunakan mempool untuk mengirim transaksi biasa, perlu mempertimbangkan posisi dan urutan transaksi dalam mempool. Selain itu, kami juga harus menghadapi kompetisi dari "white hat" lainnya.

( Situasi Persaingan

Kami mencoba melindungi 171 akun potensial yang menjadi korban, di mana 10 akun mencabut otorisasi secara mandiri, dan dari 161 akun yang tersisa, kami hanya berhasil menyelamatkan 14 akun. Alasan kegagalan termasuk persaingan dengan 3 akun penyelamat dan 16 akun penyerang.

![])https://img-cdn.gateio.im/webp-social/moments-d22626977feebe325b02c899454022c7.webp###

Pelajaran yang Dipetik

( Pengaturan biaya Flashbots

Kami menerapkan strategi yang lebih konservatif untuk menetapkan biaya Flashbots, untuk melindungi kepentingan korban sebanyak mungkin. Namun, strategi ini tidak efektif, dan lawan seringkali lebih agresif, dengan proporsi biaya pernah mencapai 70%-86%.

Ini tampaknya adalah permainan zero-sum, yang perlu mencari keseimbangan antara menurunkan biaya dan memenangkan kompetisi.

![])https://img-cdn.gateio.im/webp-social/moments-3a365a505b5c5ac87a42a6d277af23ff.webp###

( Pengaturan transaksi Mempool

Karena persaingan di Flashbots sangat ketat, tidak selalu efektif. Mengirim transaksi biasa melalui mempool juga merupakan solusi yang layak, kuncinya adalah menempatkan transaksi di posisi yang tepat - tepat setelah transaksi transfer.

Ada penyerang yang berhasil menggunakan strategi ini untuk mendapatkan 312 ETH, dan tidak perlu membayar biaya Flashbots. Cara cerdik ini patut diperhatikan dan dipelajari.

![])https://img-cdn.gateio.im/webp-social/moments-cb547989448abc96498684cb89da8860.webp###

Pemikiran Lain

( Membedakan antara topi putih dan penyerang

Mengenali white hat tidak selalu intuitif. Beberapa akun yang awalnya ditandai sebagai penyerang, kemudian "dibersihkan" dengan mengembalikan sebagian keuntungan melalui negosiasi dengan pihak proyek. Tindakan ini memicu kontroversi dalam komunitas.

) Kompetisi Topi Putih

Perlu dibangun mekanisme koordinasi untuk mengurangi persaingan antar white hat, menghindari pemborosan sumber daya dan peningkatan biaya. Dalam aksi ini, beberapa organisasi white hat secara bersamaan mencoba melindungi sekelompok korban yang sama, yang memperburuk kenaikan biaya Flashbots.

Optimasi Tindakan Penyelamatan

Saran:

  • Topi putih secara terbuka mengumumkan tindakan tanpa mengungkapkan informasi sensitif, untuk mendapatkan kepercayaan komunitas
  • Flashbots/penambang memberikan saluran hijau untuk white hat yang terpercaya
  • Pihak proyek menanggung biaya Flashbots
  • Proyek meningkatkan mekanisme peringatan pengguna
  • Pihak proyek menambahkan langkah darurat dalam kode

Singkatnya, kolaborasi antara berbagai pihak dalam komunitas dapat membuat upaya penyelamatan lebih cepat dan efektif. Pengalaman kali ini memiliki nilai referensi yang penting untuk penanganan situasi serupa di masa depan.

![]###https://img-cdn.gateio.im/webp-social/moments-adbfab235ed4a4c2a3ef7a58915c4deb.webp###

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.
  • Hadiah
  • 3
  • Bagikan
Komentar
0/400
HodlKumamonvip
· 07-19 18:16
Baju putih lucu menyelamatkan suckers~
Lihat AsliBalas0
TokenEconomistvip
· 07-18 22:22
sebenarnya, ini adalah masalah klasik principal-agent dalam defi... informasi asimetris + respons pengguna yang tertunda = eksploitasi yang tak terhindarkan
Lihat AsliBalas0
MondayYoloFridayCryvip
· 07-18 22:21
Apa gunanya review ini, lebih baik langsung run.
Lihat AsliBalas0
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)