Web3 Keamanan Serangan dan Pertahanan: Pengalaman dan Pelajaran dari Operasi Penyelamatan AnySwap

robot
Pembuatan abstrak sedang berlangsung

Tinjauan dan Refleksi Tindakan Penyelamatan Darurat Web3

Pada 18 Januari 2022, sistem pemantauan transaksi abnormal kami mendeteksi serangan terhadap proyek AnySwap ( yaitu Multichain ). Karena adanya celah pada fungsi anySwapOutUnderlyingWithPermit(), token yang diberikan izin oleh pengguna kepada proyek tersebut dapat dicuri oleh penyerang.

Meskipun pihak proyek telah melakukan berbagai cara untuk mengingatkan pengguna yang terpengaruh ( seperti mengirimkan pengingat transaksi ), masih banyak pengguna yang tidak segera mencabut otorisasi, sehingga penyerang dapat terus meraup keuntungan.

Mengingat serangan masih berlangsung, tim BlockSec memutuskan untuk mengambil langkah tanggap darurat untuk melindungi calon korban. Kami terutama menargetkan akun yang terkena dampak di Ethereum, dan memindahkan dana terkait ke akun white hat multi-tanda tangan yang didirikan khusus. Untuk memastikan transparansi tindakan, kami akan mempublikasikan hash dokumen ringkasan rencana ( yang tidak mengandung konten ) kepada komunitas, sehingga kami dapat membedakan tindakan kami dari para penyerang tanpa membocorkan rincian. Tindakan penyelamatan dimulai pada 21 Januari 2022 dan berakhir pada 11 Maret.

Tanggap darurat menghadapi berbagai tantangan teknis dan non-teknis. Sekarang aksi telah selesai, kita dapat mereview seluruh proses, dan berbagi pengalaman serta wawasan yang relevan dengan komunitas, semoga dapat memberikan manfaat bagi keamanan ekosistem DeFi.

Ringkasan Singkat

  • Penggunaan Flashbots yang luas menyebabkan persaingan yang sengit antara white hats dan penyerang, serta di dalam masing-masing kelompok, dengan biaya yang dibayarkan juga meningkat dengan cepat seiring waktu.

  • Flashbots tidaklah sempurna, beberapa penyerang beralih menggunakan mempool, dengan mengatur transaksi serangan dengan cerdik untuk berhasil melaksanakan serangan.

  • Beberapa penyerang mencapai kesepakatan dengan pihak proyek untuk mengembalikan sebagian hasil dan menyimpan sebagian sebagai imbalan, sehingga berhasil "menghapus jejak". Tindakan ini memicu kontroversi di komunitas.

  • Topi putih dapat mengungkapkan tindakan kepada komunitas tanpa mengungkapkan informasi sensitif, metode kepercayaan ini efektif.

  • Kerja sama antara berbagai kekuatan komunitas dapat membuat penyelamatan lebih cepat dan efektif, seperti kolaborasi antara para hacker putih untuk mengurangi kompetisi yang tidak efektif.

Berikut ini kami akan membahas dari empat aspek: pertama, meninjau keseluruhan situasi kejadian, kemudian memperkenalkan metode penyelamatan dan tantangan yang dihadapi, selanjutnya berbagi pengalaman dan pemahaman selama tindakan, dan terakhir mengajukan beberapa saran.

Ikhtisar Situasi Serangan dan Penyelamatan

Hasil keseluruhan

Rentang waktu yang kami amati adalah dari 18 Januari 2022 hingga 20 Maret 2022. Situasi keseluruhan adalah sebagai berikut:

  • 9 akun penyelamatan melindungi 483.027693 ETH, di mana biaya Flashbots yang dibayarkan adalah 295.970554 ETH( sebesar 61.27%)
  • 21 akun penyerang menghasilkan 1433.092224 ETH, membayar biaya Flashbots 148.903707 ETH( berjumlah 10.39%)

Perlu dicatat bahwa, karena ada beberapa situasi yang kompleks ( seperti penyerang yang bernegosiasi dengan pihak proyek untuk mengembalikan sebagian keuntungan ), data ini hanya merupakan statistik kasar.

Tren perubahan biaya Flashbots

Pahlawan putih perlu bersaing dengan penyerang untuk mengirimkan transaksi Flashbots guna melaksanakan penyelamatan, biaya yang dibayarkan mencerminkan tingkat persaingan. Kami menghitung proporsi biaya Flashbots dari transaksi serangan dan penyelamatan berdasarkan blok transaksi.

Awalnya, biaya Flashbots untuk serangan transaksi adalah 0, menunjukkan bahwa penyerang belum menggunakan Flashbots. Kemudian, proporsi biaya dengan cepat meningkat, bahkan mencapai 80% dan 91% di beberapa blok. Ini menunjukkan bahwa telah berkembang menjadi perlombaan senjata biaya untuk menguasai hak on-chain Flashbots.

Tindakan penyelamatan yang kami lakukan dan tantangan yang dihadapi

Ide dasar dari operasi penyelamatan

Kami memantau sekelompok akun korban potensial yang telah memberikan otorisasi WETH kepada kontrak bermasalah. Ketika WETH ditransfer ke akun-akun ini, kami memanfaatkan celah kontrak untuk mentransfernya ke dompet multisig white hat. Kuncinya adalah memenuhi tiga poin berikut:

  1. Memungkinkan penentuan lokasi transaksi transfer yang efektif kepada korban ( transaksi transfer )
  2. Membangun transaksi penyelamatan yang benar ( menyelamatkan transaksi )
  3. Berhasil mendahului penyerang ( atau pihak ketiga lainnya ) dalam transaksi ( serangan transaksi )

Dua poin pertama tidak menjadi hambatan bagi kami, karena kami memiliki sistem untuk memantau mempool dan alat untuk secara otomatis menyusun transaksi penyelamatan. Namun, poin ketiga masih menjadi tantangan.

Meskipun secara teori bisa menggunakan Flashbots untuk menangkap peluang, dalam praktiknya tidaklah mudah. Pertama, penyerang juga bisa menggunakan Flashbots, dan tingkat keberhasilannya tergantung pada seberapa tinggi tawarannya. Kedua, persaingan yang ketat membuat Flashbots tidak selalu menjadi pilihan terbaik, dan kami juga akan mengirim transaksi biasa melalui mempool. Terakhir, kami juga bersaing dengan "topi putih" lainnya, dan beberapa perilaku yang disebut "topi putih" sebenarnya cukup mencurigakan.

Situasi Kompetisi

Kami mencoba melindungi 171 akun potensial yang independen. Di antara 10 yang berhasil mencabut otorisasi untuk melindungi diri, kami hanya berhasil menyelamatkan 14 dari 161 yang tersisa. Kasus kegagalan melibatkan 3 akun penyelamatan dan 16 akun penyerang.

Pelajaran yang Didapat

Pengaturan biaya Flashbots

Selama proses penyelamatan, kami pernah dikalahkan 12 kali oleh pesaing lainnya, termasuk 2 akun penyelamatan dan 10 akun serangan.

Strategi kami cukup konservatif, cenderung untuk menetapkan biaya Flashbots yang lebih rendah untuk melindungi kepentingan korban. Kecuali jika sudah ada transaksi serangan yang berhasil menggunakan Flashbots, kami tidak akan secara aktif menggunakan atau meningkatkan biaya. Namun, strategi ini tidak efektif, lawan seringkali lebih agresif:

  • Seorang penyerang mengatur rasio biaya menjadi 70%
  • Seorang hacker topi putih menetapkan rasio biaya sebesar 79%, 80%
  • Seorang hacker topi putih lainnya mengatur rasio biaya sebesar 81%
  • Penyerang kemudian meningkatkan rasio biaya menjadi 86%

Ini tampaknya merupakan permainan zero-sum, yang memerlukan pemodelan untuk mengeksplorasi pola perilaku berbagai pihak. Dalam praktiknya, perlu untuk mengurangi biaya sebanyak mungkin, sekaligus menemukan strategi optimal untuk memenangkan persaingan, yang merupakan tugas yang sangat menantang.

Urutan transaksi Mempool

Persaingan yang ketat membuat Flashbots tidak selalu efektif. Mengirim transaksi biasa melalui mempool, jika dapat dijadwalkan pada posisi yang tepat ( segera setelah transaksi transfer ), juga dapat mencapai tujuan.

Seorang penyerang berhasil mendapatkan keuntungan 312 ETH dengan menggunakan strategi ini, dan tidak perlu membayar biaya Flashbots. Contohnya:

  • Blok 14051020: Transaksi transfer korban berada di 65, transaksi serangan berada di 66
  • Blok 14052155: Transaksi transfer korban berada di 161, transaksi serangan berada di 164

Strategi cerdas ini memiliki kepraktisan dan inspirasi, layak untuk diperhatikan.

Pemikiran Lain

Definisi White Hat dan Penyerang

Mengenali white hat tidak selalu langsung. Misalnya, suatu akun awalnya ditandai sebagai penyerang, kemudian setelah bernegosiasi dengan pihak proyek, setuju untuk menyimpan 50 ETH sebagai hadiah dan mengembalikan keuntungan lainnya, lalu ditandai kembali sebagai white hat.

Fenomena ini bukanlah yang pertama kali muncul, dan keadilan mekanisme insentifnya telah memicu perdebatan di komunitas.

Kompetisi Topi Putih

Komunitas perlu membangun mekanisme koordinasi untuk mengurangi persaingan antar white hat. Persaingan ini tidak hanya membuang sumber daya, tetapi juga dapat meningkatkan biaya penyelamatan. Misalnya, kami bersama tiga organisasi white hat lainnya berusaha melindungi 54 korban ( yang terlibat dengan 450 ETH ). Tanpa mekanisme koordinasi, para white hat sulit untuk melepaskan atau menghentikan persaingan ini.

Memperbaiki aksi penyelamatan

  1. Topi putih dapat mengungkapkan tindakan kepada komunitas tanpa mengungkapkan informasi sensitif, metode ini efektif.

  2. Semua pihak dalam komunitas dapat bekerja sama untuk meningkatkan efisiensi penyelamatan:

    • Flashbots/Penambang menyediakan jalur hijau untuk White Hat yang terpercaya
    • Pihak proyek menanggung biaya Flashbots
    • Pihak proyek menerapkan mekanisme peringatan pengguna yang lebih mudah.
    • Tim proyek menambahkan langkah darurat dalam kode

Melalui upaya bersama dari semua pihak, kita dapat lebih baik menghadapi tantangan keamanan dalam ekosistem Web3 dan melindungi kepentingan pengguna.

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
  • 5
  • Bagikan
Komentar
0/400
SchrodingerAirdropvip
· 08-06 16:46
Mencegah lebih baik daripada mengobati.
Lihat AsliBalas0
ShibaSunglassesvip
· 08-05 22:39
Analisis Kasus Hacker Klasik
Lihat AsliBalas0
LiquiditySurfervip
· 08-05 22:28
Rescue yang tepat waktu dan sangat profesional
Lihat AsliBalas0
MidnightTradervip
· 08-05 22:25
Pencegahan selalu lebih penting daripada penyelamatan
Lihat AsliBalas0
SmartContractWorkervip
· 08-05 22:18
Kode kontrak perlu diaudit lebih banyak
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)