Safe Guard mekanisme: generasi baru garis pertahanan keamanan Dompet Multi Tanda Tangan

Kedalaman analisis dilema Safe: Bisakah Guard membangun kembali menara Babel kontrak?

Pada 21 Februari 2025, industri mata uang kripto mengalami krisis manajemen aset terparah dalam sejarah. Dompet multi-tanda tangan di platform perdagangan tertentu diserang secara terarah, hampir 1,5 miliar dolar aset menghilang melalui transaksi "tanda tangan sah". Analisis on-chain setelah kejadian menunjukkan bahwa penyerang memperoleh hak multi-tanda tangan melalui serangan rekayasa sosial yang cermat, menggunakan fungsi deleGatecall dari kontrak Safe untuk menyisipkan logika jahat, dan akhirnya melewati mekanisme verifikasi multi-tanda tangan untuk memindahkan dana ke alamat anonim.

Kejadian ini mengungkapkan sebuah kenyataan pahit: "multi-signature" tidak sama dengan "keamanan mutlak", bahkan mekanisme keamanan seperti dompet multi-signature Safe, jika kurang langkah perlindungan tambahan, tetap memiliki risiko untuk diretas. Ini bukanlah kasus serangan pertama terhadap dompet multi-signature Safe. Tahun lalu, dua bursa terkenal masing-masing mengalami kerugian sebesar 230 juta dolar dan 50 juta dolar, yang keduanya menghadapi metode serangan serupa. Kasus serangan dompet multi-signature Safe menunjukkan kesamaan teknis berikut:

  • Ketergantungan berlebihan pada mekanisme tanda tangan: Menyerahkan semua tanggung jawab keamanan kepada penyimpanan kunci privat.
  • Kekurangan pertahanan dinamis: kurangnya pemindaian risiko waktu nyata sebelum eksekusi transaksi.
  • Kontrol akses kasar: belum membangun mekanisme whitelist untuk operasi berisiko tinggi seperti deleGatecall.

Masalah inti dari serangkaian peristiwa ini bukan terletak pada kontrak Safe itu sendiri, melainkan pada potensi risiko keamanan dalam proses integrasi seluruh sistem, terutama pada tahap verifikasi frontend. Ini mendorong kita untuk berpikir: bagaimana kita dapat memperkuat kemampuan perlindungan dompet multisig melalui mekanisme langkah-langkah keamanan tambahan dari Safe?

Aman

Safe adalah dompet Multi-Sig( yang menggunakan multi-tanda tangan, terutama digunakan untuk mengelola penyimpanan dan transfer aset bernilai tinggi serta mata uang digital dengan aman. Sebagai infrastruktur manajemen aset terdesentralisasi, ia memastikan keamanan operasi dana melalui mekanisme verifikasi kolaboratif multi-pihak, mencegah administrator tunggal atau peretas memanfaatkan titik kegagalan tunggal untuk melakukan operasi jahat, dan banyak digunakan dalam skenario pemerintahan DAO, pengelolaan dana perusahaan, kolam dana terdesentralisasi, dan lain-lain. Kontrak ini dikembangkan oleh tim Safe (sebelumnya Gnosis Safe) dan merupakan solusi manajemen aset on-chain standar industri saat ini. Kontrak ini menggunakan standar EIP-712 untuk menerapkan tanda tangan data terstruktur, sehingga meningkatkan keamanan dan keterverifikasian data transaksi.

) Penggunaan Inti

  • Manajemen Keamanan Dana: Kontrak mengharuskan beberapa pemilik yang telah ditentukan sebelumnya ###Owners( untuk bersama-sama mengonfirmasi transaksi sebelum dapat dieksekusi, sehingga secara efektif mencegah kesalahan titik tunggal atau tindakan jahat, dan memastikan keamanan dana.
  • Eksekusi dan Manajemen Transaksi: Melalui mekanisme verifikasi multisignature yang terintegrasi, kontrak dapat mengeksekusi transfer ke luar, memanggil kontrak lain, atau menangani logika bisnis yang kompleks, dengan memenuhi syarat ambang tanda tangan, mendukung pembayaran dan kompensasi biaya untuk token dan mata uang asli.
  • Ekspansi Modular: Kontrak menggunakan desain modular, dengan mewarisi dan menggabungkan beberapa modul manajemen (seperti OwnerManager, ModuleManager, GuardManager, FallbackManager, dll.), membuat fungsinya fleksibel dan mudah untuk diperluas, memberikan dukungan kustomisasi untuk berbagai skenario aplikasi.

) Analisis Fungsi

fungsi execTransaction mengeksekusi transaksi yang telah diverifikasi melalui tanda tangan ganda:

  • Menghitung nilai hash unik untuk transaksi (menggabungkan parameter transaksi, nonce, dll);
  • Verifikasi validitas semua tanda tangan, memastikan setiap tanda tangan berasal dari pemilik yang sah atau alamat yang telah disetujui sebelumnya;
  • Memanggil logika bisnis alamat tujuan, dan mencatat status keberhasilan atau kegagalan melalui peristiwa setelah eksekusi transaksi;
  • Mendukung penanganan biaya gas yang fleksibel, memastikan biaya transaksi dihitung dengan akurat saat membayar kompensasi.

fungsi checkContractSignatures & checkNSignatures memverifikasi data tanda tangan transaksi atau pesan:

  • Masing-masing menangani tanda tangan akun EOA, tanda tangan kontrak ###EIP-1271(, serta hash yang telah disetujui sebelumnya;
  • Pastikan tanda tangan diatur sesuai urutan pemilik, dan setiap tanda tangan berasal dari alamat yang valid, untuk mencegah serangan replay dan pemalsuan tanda tangan.

fungsi getTransactionHash menghasilkan hash transaksi, digunakan untuk verifikasi tanda tangan dan mencegah serangan replay:

  • Menggunakan standar EIP-712 untuk melakukan hash terstruktur pada data transaksi;
  • Menggunakan assembly inline untuk mengoptimalkan operasi memori, meningkatkan efisiensi perhitungan;
  • Menggabungkan nilai nonce saat ini, memastikan keunikan setiap transaksi.

fungsi handlePayment menangani pembayaran kompensasi gas selama proses eksekusi transaksi:

  • Hitung jumlah pembayaran berdasarkan biaya gas yang sebenarnya digunakan dan biaya dasar;
  • Mendukung pembayaran ETH dan token lainnya, memastikan kompensasi biaya yang akurat.

onBeforeExecTransaction adalah fungsi hook virtual internal yang dipanggil sebelum fungsi execTransaction dieksekusi. Tujuan desain fungsi ini adalah untuk memungkinkan subkontrak yang mewarisi kontrak Safe melakukan pemrosesan logika kustom sebelum eksekusi transaksi. Kumpulan parameter yang diterima mencakup:

  • ke:Alamat tujuan - Alamat kontrak atau akun yang akan dipanggil dalam transaksi
  • nilai: nilai Ether - jumlah Ether yang dikirim dengan transaksi
  • data:Data muatan - berisi data panggilan yang mencakup pemilih fungsi dan parameter
  • operation:Tipe operasi - Menentukan apakah itu CALL atau DELEGateCALL
  • safeTxGas:batas gas transaksi - jumlah gas yang disisihkan untuk eksekusi transaksi
  • baseGas:biaya gas dasar - biaya gas yang independen dari eksekusi transaksi
  • gasPrice:harga gas - digunakan untuk menghitung biaya kompensasi transaksi
  • gasToken:gas token - alamat token yang digunakan untuk membayar biaya transaksi
  • refundReceiver:Penerima pengembalian dana - Alamat yang menerima kompensasi biaya transaksi
  • signatures:Kumpulan tanda tangan - Data tanda tangan pemilik untuk transaksi

![Kedalaman analisis situasi Safe: Bisakah Guard membangun kembali Menara Babel kontrak?])https://img-cdn.gateio.im/webp-social/moments-7abedb36995e926e2ebaa369f26de7d0.webp(

Meskipun kontrak dompet multi-tanda tangan menawarkan solusi yang efisien dan aman untuk pengelolaan aset digital melalui desain keamanan yang ketat dan struktur modular yang fleksibel, serta mencapai pengendalian keamanan penuh dari inisiasi transaksi hingga eksekusi akhir, dan telah menjadi alat penting dalam manajemen keamanan blockchain, perlu juga dicatat bahwa sebagian besar korban bergantung pada dompet perangkat keras untuk menandatangani, dan beberapa perangkat keras memiliki tampilan yang buruk untuk tanda tangan data terstruktur, yang dapat menyebabkan pengguna tidak dapat mengenali data transaksi dengan akurat dalam waktu singkat, sehingga ada risiko "tanda buta". Untuk mengatasi fenomena ini, selain mengoptimalkan perangkat keras dan efek tampilan datanya, langkah-langkah seperti menambahkan konfirmasi ganda, pemberitahuan cerdas, dan memperkuat alat verifikasi tanda tangan juga dapat dieksplorasi untuk lebih mengurangi risiko keamanan yang ditimbulkan oleh tanda buta.

Penjagaan Aman

Fitur keamanan penting yang diperkenalkan dalam versi 1.3.0 Safe Contract ------ mekanisme Safe Guard. Mekanisme ini bertujuan untuk memberikan kondisi pembatas tambahan untuk skema multi-tanda tangan n-out-of-m standar, semakin meningkatkan keamanan transaksi. Nilai inti dari Safe Guard terletak pada kemampuannya untuk melakukan pemeriksaan keamanan pada berbagai tahap pelaksanaan transaksi:

  • Periksa sebelum transaksi ) checkTransaction (: Mekanisme Guard dapat melakukan pemeriksaan programatik terhadap semua parameter transaksi sebelum pelaksanaan transaksi, memastikan bahwa transaksi mematuhi aturan keamanan yang telah ditetapkan.
  • Periksa )checkAfterExecution( setelah transaksi: Setelah transaksi selesai, Guard juga akan melakukan verifikasi keamanan tambahan untuk memeriksa apakah status akhir dompet Safe setelah eksekusi transaksi sesuai dengan yang diharapkan.

) Analisis Arsitektur

Di Safe, transaksi multi-tanda tangan biasanya dilakukan melalui fungsi execTransaction. Dalam keadaan Guard diaktifkan, ketika pengguna melakukan transaksi multi-tanda tangan, kontrak Safe akan memanggil fungsi checkTransaction dari kontrak Guard untuk melakukan pemeriksaan sebelum transaksi, dan setelah transaksi multi-tanda tangan selesai dieksekusi, kontrak Safe akan memanggil fungsi checkAfterExecution dari kontrak Guard untuk memeriksa hasil eksekusi transaksi.

Ketika kontrak Safe melakukan prapemeriksaan transaksi multi-tanda tangan melalui mekanisme Guard, fungsi checkTransaction-nya akan menerima data konteks transaksi lengkap, termasuk alamat kontrak target, metode pemanggilan, data eksekusi (seperti deleGatecall), informasi tanda tangan pemilik, konfigurasi Gas, dan informasi pembayaran. Mekanisme ini memungkinkan pengembang untuk menerapkan strategi pengendalian risiko multi-dimensi, seperti pengelolaan daftar putih kontrak (membatasi alamat yang dapat berinteraksi), pengelolaan izin tingkat fungsi (menonaktifkan pemilih fungsi berisiko tinggi), pembatasan frekuensi transaksi, dan aturan dinamis berbasis aliran dana. Dengan konfigurasi strategi Guard yang tepat, dapat secara efektif menghalangi penyerang menggunakan lapisan non-kontrak untuk melakukan serangan.

Dalam konteks meningkatnya peristiwa keamanan baru-baru ini, berbagai pihak semakin memperhatikan keamanan kontrak dompet multisig, dan penyedia dompet keras mendesak untuk meningkatkan kemampuan analisis dan perlindungan kontrak Safe, guna mencegah terulangnya risiko serupa. Setelah insiden di suatu platform perdagangan, banyak pihak proyek mulai fokus pada kontrak Safe dan mengeksplorasi solusi peningkatan dan perluasan berbasis mekanisme Guard. Di antaranya, terdapat banyak aplikasi inovatif berbasis mekanisme Guard, yang membangun solusi keamanan lapisan tengah yang dibangun di atas dompet multisig Safe, memberikan jaminan keamanan tambahan antara aset dasar dan aset pengguna. Fungsi inti dari solusi ini adalah dengan memasukkan kontrak target, metode pemanggilan, data eksekusi, informasi tanda tangan owner, informasi pembayaran, dan informasi gas yang terlibat dalam transaksi multisig Safe ke dalam fungsi checkTransaction, untuk melakukan pemeriksaan transaksi dengan tingkat granularity yang sangat tinggi, termasuk kontrol akses terhadap pemanggilan kontrak daftar putih, operasi fungsi daftar putih, tujuan transfer daftar putih, dan frekuensi transaksi.

![Kedalaman analisis Safe困局:Guard dapatkah membangun kembali menara Babel kontrak?]###https://img-cdn.gateio.im/webp-social/moments-e4f0b0daf2f48ba716dc7fdddcfdabec.webp(

Perlu dicatat bahwa Safe itu sendiri hanya menyediakan fungsi manajemen Guard dan callback, logika pemeriksaan transaksi multi-tanda tangan yang sebenarnya diimplementasikan oleh pengguna sendiri, dan keamanannya tergantung pada kualitas implementasi Guard. Misalnya: suatu solusi keamanan telah memperluas pemikiran ini dengan mengonfigurasi Guardian khusus di setiap Vault untuk menentukan alamat tujuan dan hak operasi yang diizinkan, mewujudkan tiga elemen kontrol hak utama yaitu kontrak yang diizinkan, fungsi yang diizinkan untuk dioperasikan, dan kebutuhan verifikasi ACL. Selain itu, mekanisme pemerintahan terpisah diterapkan, di mana Vault Guardian bertanggung jawab untuk eksekusi, sementara Governor mengontrol hak pemerintahan, memastikan bahwa bahkan jika Guardian mengalami masalah, langkah-langkah perbaikan dapat diambil dengan cepat untuk melindungi aset pengguna. Konsep desain serupa juga diterapkan di modul keamanan lainnya, yang menggunakan fungsi preExecute untuk拦截 operasi kunci, dan dengan bantuan mekanisme whitelist untuk mengontrol secara rinci operasi berisiko tinggi seperti pemasangan modul, pengaturan hook, dan manajemen validator, sehingga memastikan hanya kontrak yang terpercaya yang dapat ditambahkan ke dalam sistem, memberikan perlindungan keamanan yang berkelanjutan bagi dompet.

Dalam rantai serangan di suatu platform perdagangan, jika kontrak Safe telah menerapkan mekanisme Guard yang dikonfigurasi dengan baik, maka panggilan deleGatecall jahat yang dimulai oleh penyerang melalui execTransaction akan ter拦截 pada tahap pra-pemeriksaan oleh berbagai strategi: fungsi checkTransaction dari Guard pertama-tama mengenali jenis operasi deleGatecall dan memicu aturan larangan (seperti membatasi operasi hanya untuk panggilan biasa), kemudian menganalisis bidang data untuk mendeteksi alamat kontrak yang tidak biasa dan pemilih fungsi berisiko tinggi, melalui daftar putih kontrak yang telah ditentukan dan strategi daftar hitam fungsi, transaksi akan dibatalkan secara langsung, akhirnya membentuk sistem pertahanan "拦截 strategi → pemblokiran logika" yang sepenuhnya memblokir jalur modifikasi penyimpanan dan transfer dana.

![Kedalaman analisis Safe困局:Guard dapatkah membangun kembali kontrak Babel?])https://img-cdn.gateio.im/webp-social/moments-4947f64f2aa4163ee644b6f8e911c6f8.webp(

Secara keseluruhan, Safe baru menyediakan fitur Guard setelah versi 1.3.0, meskipun Guard dapat memberikan pemeriksaan transaksi multi-tanda tangan yang sangat terperinci, pengguna memiliki ambang batas yang cukup besar saat menggunakan fitur Guard. Mereka perlu mengimplementasikan logika pemeriksaan Guard sendiri, implementasi Guard yang kasar atau cacat mungkin tidak dapat membantu pengguna meningkatkan keamanan dompet Safe mereka, oleh karena itu audit keamanan terhadap implementasi Guard adalah hal yang perlu. Tidak diragukan lagi, implementasi Guard yang aman dan tepat dapat sangat meningkatkan keamanan dompet Safe.

Kesimpulan dan Harapan

Insiden serangan pada suatu platform perdagangan menyoroti pentingnya memperbarui infrastruktur keamanan tepat waktu. Platform tersebut menggunakan versi v1.1.1)<1.3.0( dari kontrak Safe, yang berarti mereka tidak dapat menggunakan mekanisme Guard yang merupakan fitur keamanan kunci. Jika platform tersebut mengupgrade ke kontrak Safe versi 1.3.0 atau lebih tinggi, dan menerapkan mekanisme Guard yang tepat, seperti menentukan alamat whitelist yang unik untuk menerima dana, serta melakukan verifikasi ACL fungsi kontrak yang ketat, mungkin mereka bisa menghindari kerugian ini. Meskipun ini hanya asumsi, namun memberikan pemikiran penting untuk pengelolaan keamanan aset di masa depan.

Mekanisme Safe Guard seperti sistem pemeriksaan pintar yang dipasang pada brankas aset digital, efisiensinya tergantung pada ketelitian desain aturan dan kualitas pelaksanaannya. Menghadapi metode serangan yang semakin canggih, kita perlu:

  • Verifikasi otomatis: Membangun mekanisme verifikasi transaksi otomatis
  • Penyesuaian strategi dinamis: Menyesuaikan kebijakan keamanan secara real-time berdasarkan intelijen ancaman
  • Pertahanan berlapis: Membangun sistem pertahanan kedalaman dengan menggabungkan berbagai mekanisme keamanan
  • Audit berkelanjutan: melakukan audit terhadap implementasi Guard
SAFE5.24%
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
  • 8
  • Bagikan
Komentar
0/400
MetaverseVagrantvip
· 07-06 01:49
Celah dalam kontrak ini lebih banyak daripada yang ada di kepala saya.
Lihat AsliBalas0
MysteryBoxOpenervip
· 07-06 01:14
Sudah meledak 1,5 miliar lagi, memang layak disebut pencuri hantu.
Lihat AsliBalas0
MemeKingNFTvip
· 07-03 03:32
Sejarah selalu berulang, sembilan keluar, tiga belas kembali, smart contract seharusnya merenung.
Lihat AsliBalas0
LiquidityOraclevip
· 07-03 03:31
Hmm, yang harus datang akan datang pada waktunya.
Lihat AsliBalas0
JustHereForAirdropsvip
· 07-03 03:31
Keamanan kontrak lagi bermasalah, dunia kripto kok begini ya?
Lihat AsliBalas0
BlockchainDecodervip
· 07-03 03:15
Dari perspektif pelacakan dinamis EVM, risiko deleGatecall memang seharusnya sudah diperbaiki.
Lihat AsliBalas0
RebaseVictimvip
· 07-03 03:12
Apa yang aman, masih saja menjaga kerugian
Lihat AsliBalas0
ServantOfSatoshivip
· 07-03 03:03
Ini adalah perbuatan baik dari pekerja sosial.
Lihat AsliBalas0
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)