Modul keamanan referensi Move menemukan kerentanan overflow integer yang dapat menyebabkan serangan konstruktif atau menyebabkan sistem crash.

robot
Pembuatan abstrak sedang berlangsung

Kerentanan overflow integer ditemukan di modul keamanan referensi bahasa Move

Baru-baru ini, sebuah penelitian mendalam menemukan sebuah kerentanan overflow integer baru dalam bahasa Move. Kerentanan ini ada dalam proses verifikasi keamanan referensi, yang melibatkan beberapa konsep dan mekanisme inti dari bahasa Move.

Bahasa Move akan melakukan verifikasi kode sebelum mengeksekusi bytecode, yang terbagi menjadi empat langkah. Kerentanan yang baru ditemukan ini muncul dalam langkah reference_safety. Langkah ini bertanggung jawab untuk memverifikasi keamanan referensi, termasuk memeriksa apakah ada referensi yang menggantung, keamanan akses referensi yang dapat diubah, serta keamanan akses referensi penyimpanan global, dan sebagainya.

Numen Cyber menemukan kerentanan tinggi 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 titik masuk dan keluar. Bahasa Move mengidentifikasi blok dasar dengan menjelajahi bytecode, mencari semua instruksi cabang dan instruksi loop.

Numen Cyber menemukan kerentanan tinggi lainnya dalam bahasa move secara eksklusif

Selama proses verifikasi, sistem akan memelihara struktur AbstractState yang berisi informasi grafik pinjaman dan lokal, untuk memastikan keamanan referensi yang digunakan dalam fungsi. Proses verifikasi akan menjalankan kode blok dasar, menghasilkan status setelah eksekusi, kemudian menggabungkan status sebelum dan sesudah eksekusi, memperbarui status blok dan menyebarkannya ke blok berikutnya.

Numen Cyber menemukan celah berbahaya lain dalam bahasa move

Kelemahan muncul pada fungsi join_. Ketika panjang parameter fungsi ditambah panjang variabel lokal melebihi 256, penggunaan tipe u8 untuk variabel lokal dapat menyebabkan overflow integer. Meskipun bahasa Move memiliki mekanisme untuk memeriksa jumlah locals, tetapi hanya memeriksa jumlah variabel lokal dan tidak termasuk panjang parameter.

Numen Cyber menemukan kerentanan tinggi lainnya dalam bahasa move

Kerentanan overflow ini dapat menyebabkan serangan penolakan layanan. Penyerang dapat membangun blok kode loop yang memanfaatkan overflow untuk mengubah status blok. Ketika blok dasar dieksekusi lagi, jika indeks yang diperlukan oleh instruksi tidak ada dalam peta locals yang baru, itu akan menyebabkan sistem crash.

Numen Cyber menemukan kerentanan tinggi lainnya dalam bahasa move

Untuk mendemonstrasikan kerentanan ini, peneliti menyediakan bukti konsep (PoC). Dengan mengatur parameter tertentu dan jumlah variabel lokal, integer overflow dapat dipicu, yang menyebabkan sistem panic.

Numen Cyber menemukan sekali lagi kerentanan tinggi dalam bahasa move

Numen Cyber menemukan kerentanan tinggi lainnya dalam bahasa move

Numen Cyber menemukan dengan eksklusif satu lagi kerentanan tinggi dalam bahasa move

Numen Cyber menemukan kerentanan tinggi lainnya pada bahasa move

Numen Cyber menemukan celah berbahaya lain dalam bahasa move

Numen Cyber menemukan kerentanan tinggi lain pada bahasa move secara eksklusif

Numen Cyber menemukan kerentanan tinggi lainnya di bahasa move

Numen Cyber menemukan celah keamanan tinggi lainnya dalam bahasa move

Numen Cyber menemukan kerentanan tinggi lain pada bahasa move

Kerentanan ini mengungkapkan bahwa bahkan bahasa yang dirancang dengan ketat sekalipun dapat memiliki potensi masalah keamanan. Ini menekankan pentingnya audit kode, serta perlunya mempertimbangkan lebih banyak kasus batas dalam desain bahasa. Untuk bahasa Move, disarankan untuk menambahkan lebih banyak pemeriksaan keamanan pada saat runtime, bukan hanya mengandalkan mekanisme keamanan pada tahap verifikasi.

Dengan penggunaan luas bahasa Move di bidang Web3, penelitian mendalam dan penemuan potensi kerentanan semacam itu sangat penting untuk meningkatkan keamanan seluruh ekosistem. Para pengembang dan peneliti keamanan perlu tetap waspada, terus memantau, dan meningkatkan kinerja keamanan bahasa Move.

Numen Cyber menemukan kerentanan tinggi lainnya pada bahasa move

MOVE5.14%
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
  • 9
  • Posting ulang
  • Bagikan
Komentar
0/400
GateUser-aa7df71evip
· 08-19 18:48
Satu proyek lagi akan gagal, kelebihan pasti akan runtuh.
Lihat AsliBalas0
TokenVelocityvip
· 08-17 11:11
Bekerja keras selama dua tahun menghidupi semua orang, kehilangan segalanya, hanya aku yang terus melangkah maju, 3000 hari mimpi berwirausaha terbangun.
Lihat AsliBalas0
GateUser-0717ab66vip
· 08-16 22:28
Siapa yang meluap siapa sb
Lihat AsliBalas0
ForumLurkervip
· 08-16 22:27
move lagi bikin masalah ya?
Lihat AsliBalas0
TokenTaxonomistvip
· 08-16 22:23
secara statistik, ini adalah jalan buntu evolusi lain untuk bergerak... tidak terkejut sejujurnya
Lihat AsliBalas0
SolidityStrugglervip
· 08-16 22:20
Kebocoran overflow sangat mengganggu...
Lihat AsliBalas0
RiddleMastervip
· 08-16 22:10
Ini adalah kerentanan overflow lagi, tidak ada akhirnya.
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)