Mekanisme keamanan yang dirujuk oleh bahasa Move menemukan kerentanan overflow integer yang mempengaruhi AptosMoveEVM

robot
Pembuatan abstrak sedang berlangsung

Kerentanan overflow integer baru ditemukan dalam mekanisme keamanan rujukan bahasa Move

Baru-baru ini, peneliti keamanan menemukan celah integer overflow baru saat menganalisis Aptos MoveEVM secara mendalam. Celah ini ada dalam proses verifikasi keamanan referensi bahasa Move, tepatnya terletak pada langkah reference_safety.

Numen Cyber menemukan kerentanan tinggi lainnya dalam bahasa move

Bahasa Move melakukan verifikasi unit kode sebelum mengeksekusi bytecode, yang terdiri dari 4 langkah. Verifikasi keamanan referensi adalah salah satu tahap penting, yang terutama digunakan untuk memastikan tidak ada referensi yang tergantung, akses ke referensi yang dapat diubah adalah aman, dan akses ke referensi penyimpanan global adalah aman, dll.

Numen Cyber menemukan celah berbahaya lainnya dalam bahasa move

Inti dari verifikasi keamanan adalah menganalisis blok dasar dalam setiap fungsi. Blok dasar adalah urutan kode yang tidak memiliki instruksi cabang kecuali untuk pintu masuk dan keluar. Move menentukan blok dasar dengan menjelajahi bytecode, mencari semua instruksi cabang dan instruksi loop.

Numen Cyber menemukan kerentanan tinggi lain dalam bahasa move

Proses verifikasi menggunakan struktur AbstractState untuk merepresentasikan status, yang mencakup dua bagian: borrow graph dan locals. Selama verifikasi, akan dilakukan penghasilan kode blok dasar post state, kemudian digabungkan dengan pre state untuk memperbarui status blok, dan disebarkan ke blok berikutnya. Proses ini mirip dengan pemikiran Sea of Nodes dalam V8 turbofan.

Numen Cyber menemukan kerentanan tinggi lainnya pada bahasa move

Kelemahan muncul di dalam fungsi join_. Ketika jumlah panjang parameter fungsi ditambahkan dengan panjang variabel lokal melebihi 256, penggunaan tipe u8 untuk iterasi lokal dapat menyebabkan overflow integer. Meskipun Move memiliki proses pemeriksaan jumlah locals, namun hanya memeriksa locals dan tidak termasuk panjang parameter.

Numen Cyber menemukan celah berbahaya lainnya pada bahasa move

Numen Cyber menemukan kerentanan tinggi lain dalam bahasa move

Numen Cyber menemukan celah berbahaya lain dalam bahasa move

Numen Cyber menemukan celah keamanan tinggi lainnya dalam bahasa move

Numen Cyber menemukan lagi celah berbahaya di bahasa move

Numen Cyber menemukan kerentanan tinggi lainnya dalam bahasa move

Numen Cyber menemukan kerentanan tinggi lain dalam bahasa move

Numen Cyber menemukan kerentanan tinggi lainnya pada bahasa move secara eksklusif

Numen Cyber menemukan celah berbahaya lainnya dalam bahasa move

Numen Cyber menemukan lagi kerentanan tinggi pada bahasa move

Dengan memanfaatkan celah ini, penyerang dapat membangun blok kode berulang, menggunakan overflow untuk mengubah state blok. Ketika dijalankan lagi, jika indeks yang diperlukan oleh instruksi tidak ada dalam peta locals yang baru, itu akan menyebabkan DoS.

Numen Cyber menemukan sekali lagi kerentanan tinggi dalam bahasa move

Kelemahan ini sekali lagi menunjukkan bahwa bahkan bahasa yang sangat memperhatikan keamanan seperti Move dapat memiliki masalah. Disarankan agar perancang bahasa Move menambahkan lebih banyak pemeriksaan saat runtime, dan tidak hanya mengandalkan pemeriksaan keamanan pada tahap verifikasi. Ini juga mengingatkan para pengembang akan pentingnya audit kode.

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
BoredWatchervip
· 15jam yang lalu
Bug ini sangat konyol, bagaimana bisa begitu dangkal
Lihat AsliBalas0
WalletInspectorvip
· 15jam yang lalu
Heh, lebih baik menggunakan Rust daripada Move.
Lihat AsliBalas0
MemecoinTradervip
· 15jam yang lalu
lmao satu lagi l1 hancur... kebocoran alpha integer overflow klasik
Lihat AsliBalas0
LidoStakeAddictvip
· 15jam yang lalu
Move lagi bermasalah. Tsk tsk.
Lihat AsliBalas0
BuyHighSellLowvip
· 15jam yang lalu
Sekali lagi hancur, biarkan semuanya dimulai dari awal.
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)