Kerentanan compiler Solidity mengancam keamanan smart contract, pengembang perlu waspada.

robot
Pembuatan abstrak sedang berlangsung

Analisis Kerentanan Compiler Solidity dan Strategi Penanganan

Kompiler adalah salah satu komponen dasar dari sistem komputer modern, fungsinya adalah untuk mengubah kode sumber bahasa pemrograman tingkat tinggi menjadi kode instruksi yang dapat dieksekusi oleh komputer. Dibandingkan dengan keamanan kode aplikasi, keamanan kompilernya sendiri sering kali diabaikan. Namun, sebagai program komputer, kompilator juga dapat memiliki kerentanan keamanan, yang dalam kondisi tertentu dapat membawa risiko keamanan yang serius.

Fungsi compiler Solidity adalah untuk mengubah kode kontrak pintar menjadi kode instruksi Ethereum Virtual Machine (EVM). Berbeda dengan kerentanan EVM itu sendiri, kerentanan compiler Solidity terutama terletak pada masalah saat mengonversi Solidity menjadi kode EVM. Ini dapat menyebabkan kode EVM yang dihasilkan tidak sesuai dengan yang diharapkan oleh pengembang, yang dapat mengakibatkan anomali dalam eksekusi kontrak pintar, membahayakan keamanan aset pengguna.

Analisis Kerentanan Compiler Solidity dan Tindakan Penanggulangan

Berikut adalah beberapa contoh nyata dari kerentanan compiler Solidity:

  1. SOL-2016-9 HighOrderByteCleanStorage

Kerentanan ini ada di versi awal dari kompiler Solidity (>=0.1.6 <0.4.4). Dalam kondisi tertentu, variabel storage dapat diubah secara tidak sengaja, yang tidak sesuai dengan perilaku yang diharapkan. Ketidaksesuaian ini dapat menyebabkan konsekuensi serius, terutama ketika variabel digunakan untuk verifikasi izin atau pembukuan aset.

  1. SOL-2022-4 Efek Samping Memori InlineAssembly

Vuln ini ada pada versi 0.8.13 hingga 0.8.15 dari kompiler. Karena kesalahan dalam proses optimasi kompilasi, ini dapat menyebabkan operasi penulisan memori dihapus secara keliru, yang mengakibatkan perilaku program yang tidak sesuai dengan harapan.

  1. SOL-2022-6 AbiReencodingHeadOverflowWithStaticArrayCleanup

Kerentanan ini memengaruhi versi compiler dari 0.5.8 hingga 0.8.16. Saat melakukan operasi abi.encode pada array tipe calldata, mungkin ada pembersihan data tertentu yang salah, yang mengakibatkan data yang berdekatan dimodifikasi, menyebabkan ketidakcocokan data setelah pengkodean dan pengkodean ulang.

Analisis dan Tindakan terhadap Kerentanan Kompiler Solidity

Terkait kerentanan kompilator Solidity, tim keamanan blockchain Cobo mengajukan saran berikut:

Untuk Pengembang:

  • Gunakan versi terbaru dari compiler Solidity
  • Memperbaiki kasus pengujian unit
  • Hindari penggunaan inline assembly, operasi pengkodean dan pengkodean abi yang kompleks, dan sebagainya.

Untuk petugas keamanan:

  • Pertimbangkan risiko keamanan yang mungkin diperkenalkan oleh kompilator saat diaudit
  • Mendorong upgrade versi compiler dalam proses SDL
  • Menilai dampak keamanan aktual dari kerentanan compiler berdasarkan situasi spesifik

Sumber Daya Praktis:

  • Blog Peringatan Keamanan Resmi Solidity
  • Daftar bug di repositori GitHub Solidity
  • Peringatan keamanan di halaman kode kontrak Etherscan

Singkatnya, meskipun tidak perlu panik berlebihan, pengembang dan petugas keamanan harus sepenuhnya menyadari risiko potensial dari kerentanan compiler Solidity dan mengambil langkah-langkah yang tepat untuk mengurangi kemungkinan ancaman keamanan yang ditimbulkannya.

Analisis Kerentanan Compiler Solidity dan Tindakan Penanggulangannya

SOL-1.83%
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
  • 6
  • Bagikan
Komentar
0/400
ZkProofPuddingvip
· 11jam yang lalu
Satu lagi kompiler yang dingin
Lihat AsliBalas0
TheMemefathervip
· 12jam yang lalu
Compiler juga memiliki celah? Sungguh menyebalkan.
Lihat AsliBalas0
HodlOrRegretvip
· 12jam yang lalu
Sekali lagi, ada bug setelah pembaruan, yang selalu rugi besar adalah investor ritel.
Lihat AsliBalas0
wrekt_but_learningvip
· 12jam yang lalu
Kerentanan kode ini benar-benar menjengkelkan, membuat kepala saya merasa gatal.
Lihat AsliBalas0
GweiTooHighvip
· 12jam yang lalu
Compilernya bermasalah lagi, sangat mengganggu.
Lihat AsliBalas0
BakedCatFanboyvip
· 12jam yang lalu
Ada lagi celah EVM, ya ampun, tidak bisa mengatasinya.
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)