Analisis Keamanan Kontrak SUI dan Tantangan Ekosistem

Lanjutan12/17/2024, 5:30:04 AM
Sebagai anggota penting dari Ekosistem Move, Sui berkomitmen untuk menyediakan layanan transaksi yang cepat dan aman untuk berbagai skenario aplikasi blockchain. Dalam artikel ini, Beosin akan membantu Anda memahami tantangan keamanan yang dihadapi oleh pengguna dan pengembang ekosistem Sui dengan pengalaman audit keamanan selama bertahun-tahun.

Sejak Agustus, perkembangan ekosistem SUI telah pesat. Menurut DefiLlama, SUI TVL telah melebihi $1 miliar, naik 200% dalam dua bulan terakhir, dan saat ini volume perdagangan Cetus, Dex yang dibangun di SUI, melebihi $160 juta per hari.

Pada 9 Oktober, USDC asli SUI diluncurkan ke mainnet, yang akan terus menarik lebih banyak dana ke dalam ekosistem SUI. Sebagai anggota penting dari Ekosistem Move, SUI bertekad untuk menyediakan layanan transaksi yang cepat dan aman untuk berbagai skenario aplikasi blockchain.

Dalam artikel ini, Beosin akan membantu Anda memahami tantangan keamanan yang dihadapi pengguna dan pengembang ekosistem SUI dengan pengalaman audit keamanan selama bertahun-tahun.

Keamanan Kontrak

Sui menggunakan Move sebagai bahasa pemrograman untuk kontrak pintar. Move dirancang untuk menjadi bahasa Bytecode yang dapat dieksekusi dengan algoritma keamanan bawaan dan verifikasi Bytecode, dan menggunakan panggilan statis saat memanggil kontrak.

Desain ini memungkinkan Move untuk mengatasi kerentanan umum dalam kontrak pintar, seperti serangan reentrancy, overflow integer, pengeluaran ganda, dan masalah kompiler potensial, tetapi masih mungkin bagi pengembang untuk secara tidak sengaja memperkenalkan kerentanan dalam pengembangan kontrak. Sebagai respons, Beosin memperkenalkan Move Lint pada tahun 2023, sebuah alat deteksi statis yang mengotomatisasi deteksi risiko keamanan potensial dalam kontrak dan menemukan kerentanan.

Selain alat deteksi, berikut adalah masalah keamanan yang perlu diperhatikan oleh para pengembang dalam pengembangan kontrak Move untuk meningkatkan keamanan:

1) Integer overflow

Dibandingkan dengan bahasa kontrak pintar lainnya, Move secara otomatis memeriksa masalah overflow secara default saat melakukan operasi matematika bilangan bulat, yang dapat mencegah sejumlah besar masalah overflow, tetapi masih ada dua hal yang perlu diperhatikan:

Operasi bit dalam bahasa Move tidak secara otomatis melakukan pemeriksaan overflow karena operasi bit pada dasarnya adalah operasi pada level bit pada data yang berperilaku berbeda dari operasi bilangan bulat.

Ketika pemeriksaan overflow otomatis pada Move berlaku, eksekusi fungsi akan melemparkan pengecualian, yang jika didesain secara tidak benar, dapat menyebabkan bisnis proyek gagal untuk dieksekusi seperti yang diharapkan, menyebabkan serangan DoS.

2) Izin dan kontrol akses

Pengiriman objek berhak istimewa dan panggilan fungsi berhak istimewa harus diotentikasi dengan hati-hati, karena fungsi dan objek ini terlibat dalam keamanan pendanaan. Selain itu, jenis objek perlu diperiksa untuk menentukan apakah mereka adalah objek pribadi atau objek bersama. Jika suatu objek salah dikonversi dari objek pribadi menjadi objek bersama, pengguna yang tidak diotorisasi mungkin dapat mengakses objek tersebut, menimbulkan potensi risiko keamanan.

Pengembang dapat menggunakan Move Prover untuk memverifikasi bahwa program menegakkan kebijakan kontrol akses eksplisit. Sebagai contoh, dalam std.offer, kita dapat melihat bahwa fungsi tersebut dihentikan ketika penerima tidak masuk daftar putih:

3) Masalah ketergantungan urutan transaksi

Dependensi Urutan Transaksi (TOD) mengacu pada fakta bahwa perilaku kontrak dapat memiliki hasil yang berbeda tergantung pada urutan eksekusi transaksi, terutama dalam lingkungan terdesentralisasi di mana penambang atau verifikator dapat memilih bagaimana transaksi diurutkan. Ini dapat membawa risiko seperti serangan front-running.

Di SUI, masih tergantung pada produsen blok untuk mengeksekusi urutan transaksi, sehingga kontrak MOVE masih dapat terpengaruh oleh masalah ini jika mereka didesain untuk bergantung pada urutan transaksi untuk perubahan status.

4) Masalah Konsumsi Gas

Pada rantai Sui, masalah Gas pada kontrak pintar Move terutama tercermin dalam biaya perhitungan dan penyimpanan yang diperlukan untuk eksekusi kontrak. Dengan meningkatnya kompleksitas kontrak dan perubahan status, konsumsi Gas juga meningkat sesuai. Pengembang perlu fokus pada mengoptimalkan logika kontrak, mengurangi perhitungan yang tidak perlu dan pembaruan status untuk mengurangi biaya transaksi bagi pengguna, dan terutama menghindari situasi iterasi yang tidak terkendali dalam kontrak, yang mungkin disebabkan oleh gas yang tidak mencukupi dan tidak dapat melakukan bisnis dengan baik.

5) Akurasi perhitungan

Saat ini, jenis numerik yang didukung oleh Move adalah bilangan bulat tak bertanda, dan tidak mendukung titik mengambang, sehingga bagian pecahan akan dipotong dan dibulatkan ke bawah selama operasi pembagian, yang akan menyebabkan hasil perhitungan yang tidak akurat, yang mungkin memengaruhi beberapa kebijakan kunci, menyebabkan kerugian pendapatan, dan bahkan menjadi kerentanan keamanan.

Untuk masalah ini, langkah mitigasi biasanya adalah memperluas akurasi, tetapi perlu diingat bahwa akurasi perlu dikembalikan ketika hasil akhir diperoleh.

6) Manajemen objek

Dalam kontrak pintar Move pada blockchain SUI, pengelolaan objek merupakan tantangan kunci, mencakup beberapa aspek dari siklus hidup objek, kepemilikan, akses konkuren, serialisasi, dan biaya penyimpanan. Pengembang perlu mengelola dengan tepat pembuatan, pembaruan, dan penghancuran objek untuk mencegah pemborosan sumber daya dan inkonsistensi status. Pada saat yang sama, desain yang wajar dari logika kontrak untuk mengontrol hak kepemilikan dan akses objek, serta penanganan beberapa pengguna yang mengakses objek yang sama secara konkuren, adalah faktor penting untuk memastikan operasi kontrak pintar yang aman dan efisien.

7) Masalah desain dan implementasi logika bisnis

Misalnya, dengan implementasi pinjaman kilat dalam proyek Sui DeFi, penyerang dapat menggunakan pinjaman kilat untuk melakukan serangan dana besar seperti manipulasi harga.

Dalam fitur pertukaran token AMM umum, pengembang dapat menggunakan Move Prover untuk memverifikasi bahwa jumlah token telah berubah dengan benar:

Misalnya, protokol peminjaman harus selalu sepenuhnya diamankan setelah serangkaian deposito, pinjaman, dan penarikan. Dalam kasus buku pesanan dari kesepakatan perdagangan kontrak tak terbatas on-chain dibatalkan setelah pesanan ditempatkan, tidak boleh ada perubahan dalam buku besar, dll., yang perlu diperiksa dan diverifikasi oleh pengembang.

Tantangan dalam Ekosistem Sui

Saat ini, DeFi dan Memecoins dari SUI sedang berkembang pesat, dan volume perdagangan dan TVL telah menarik pertumbuhan yang luar biasa. Selanjutnya, ada semakin banyak jenis penipuan dan perdagangan spam yang harus dihindari oleh pengguna.

Phishings

Tahun ini, ada scam airdrop yang disebut Suisses muncul di Sui Eco, yang memungkinkan banyak pengguna kehilangan aset mereka. Ketika pengguna terhubung ke dompet di situs web Suisses dan mengklik Klaim, permintaan transaksi untuk transfer aset pengguna muncul. Jika pengguna menandatangani transaksi tersebut, mereka akan menemukan bahwa semua aset dompet mereka telah ditransfer.

Karena karakteristik Sui: segala sesuatu adalah objek, bukan hanya token di dompet pengguna, NFT adalah objek, tetapi juga partisipasi pengguna dalam pertambangan DeFi, jaminan likuiditas, dan sertifikat lainnya. Jika terjadi serangan phishing, semua aset pengguna dalam ekosistem Sui dapat sekaligus ditransfer oleh peretas.

Penipuan Token

Ada banyak token palsu dan honeypots di ekosistem Sui. Khususnya, ketika pengguna melakukan perdagangan memecoin di Ekosistem Sui, mereka mungkin terjebak secara tidak sengaja.

Dalam menciptakan token di SUI, seperti yang ditunjukkan di bawah ini, para peretas dapat menentukan ikon dan nama yang sama seperti token populer atau utama, membuatnya tidak dapat dibedakan oleh pengguna umum. Oleh karena itu, pengguna perlu memeriksa apakah format data token benar saat membeli token.

Selain itu, para peretas juga dapat menambahkan fungsi DaftarPenolakan ke kontrak token, sehingga pengguna yang membeli token tidak dapat menjualnya, menyebabkan kerugian bagi pengguna.

Tantangan MEV

MEV adalah singkatan dari nilai maksimum yang dapat diekstraksi. MEV awalnya merujuk kepada Nilai yang Dapat Diekstraksi oleh Penambang, di mana para penambang dalam jaringan BTC memperoleh imbalan melebihi biaya blok dan jaringan dengan mengurutkan ulang transaksi dalam blok. MEV tidak memiliki kaitan dengan jenis jaringan blockchain. MEV ada dalam semua blockchain, dan Sui tidak terkecuali.

Sui menggunakan Narwhal sebagai kolam memori untuk menugaskan transaksi yang belum selesai ke node, dan menggunakan algoritma Bullshark sebagai mesin konsensus untuk mengurutkan transaksi.

Aturan pemesanan SUI untuk transaksi didasarkan pada biaya gas. Selain itu, karena SUI mengadopsi skema eksekusi transaksi yang menggabungkan paralel dan sekuensial, transaksi yang berbagi status kolam transaksi AMM yang sama hanya dapat dieksekusi sekuensial. Oleh karena itu, serangan sandwich / transaksi frontrunning memungkinkan. Penyerang dapat meluncurkan serangan sandwich melalui biaya gas yang lebih tinggi, sehingga pengguna yang berpartisipasi dalam perdagangan DeFi mengalami kerugian.

Disclaimer:

  1. Artikel ini dicetak ulang dari [ Beosin]. Semua hak cipta milik penulis asli [ beosin]. Jika ada keberatan terhadap cetakan ulang ini, silakan hubungi Gate Belajartim, dan mereka akan menanganinya dengan cepat.
  2. Penyangkalan Tanggung Jawab: Pandangan dan opini yang tercantum dalam artikel ini semata-mata milik penulis dan tidak merupakan saran investasi apa pun.
  3. Terjemahan artikel ke dalam bahasa lain dilakukan oleh tim Belajar gate. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel terjemahan dilarang.

Mời người khác bỏ phiếu

Nội dung

Analisis Keamanan Kontrak SUI dan Tantangan Ekosistem

Lanjutan12/17/2024, 5:30:04 AM
Sebagai anggota penting dari Ekosistem Move, Sui berkomitmen untuk menyediakan layanan transaksi yang cepat dan aman untuk berbagai skenario aplikasi blockchain. Dalam artikel ini, Beosin akan membantu Anda memahami tantangan keamanan yang dihadapi oleh pengguna dan pengembang ekosistem Sui dengan pengalaman audit keamanan selama bertahun-tahun.

Sejak Agustus, perkembangan ekosistem SUI telah pesat. Menurut DefiLlama, SUI TVL telah melebihi $1 miliar, naik 200% dalam dua bulan terakhir, dan saat ini volume perdagangan Cetus, Dex yang dibangun di SUI, melebihi $160 juta per hari.

Pada 9 Oktober, USDC asli SUI diluncurkan ke mainnet, yang akan terus menarik lebih banyak dana ke dalam ekosistem SUI. Sebagai anggota penting dari Ekosistem Move, SUI bertekad untuk menyediakan layanan transaksi yang cepat dan aman untuk berbagai skenario aplikasi blockchain.

Dalam artikel ini, Beosin akan membantu Anda memahami tantangan keamanan yang dihadapi pengguna dan pengembang ekosistem SUI dengan pengalaman audit keamanan selama bertahun-tahun.

Keamanan Kontrak

Sui menggunakan Move sebagai bahasa pemrograman untuk kontrak pintar. Move dirancang untuk menjadi bahasa Bytecode yang dapat dieksekusi dengan algoritma keamanan bawaan dan verifikasi Bytecode, dan menggunakan panggilan statis saat memanggil kontrak.

Desain ini memungkinkan Move untuk mengatasi kerentanan umum dalam kontrak pintar, seperti serangan reentrancy, overflow integer, pengeluaran ganda, dan masalah kompiler potensial, tetapi masih mungkin bagi pengembang untuk secara tidak sengaja memperkenalkan kerentanan dalam pengembangan kontrak. Sebagai respons, Beosin memperkenalkan Move Lint pada tahun 2023, sebuah alat deteksi statis yang mengotomatisasi deteksi risiko keamanan potensial dalam kontrak dan menemukan kerentanan.

Selain alat deteksi, berikut adalah masalah keamanan yang perlu diperhatikan oleh para pengembang dalam pengembangan kontrak Move untuk meningkatkan keamanan:

1) Integer overflow

Dibandingkan dengan bahasa kontrak pintar lainnya, Move secara otomatis memeriksa masalah overflow secara default saat melakukan operasi matematika bilangan bulat, yang dapat mencegah sejumlah besar masalah overflow, tetapi masih ada dua hal yang perlu diperhatikan:

Operasi bit dalam bahasa Move tidak secara otomatis melakukan pemeriksaan overflow karena operasi bit pada dasarnya adalah operasi pada level bit pada data yang berperilaku berbeda dari operasi bilangan bulat.

Ketika pemeriksaan overflow otomatis pada Move berlaku, eksekusi fungsi akan melemparkan pengecualian, yang jika didesain secara tidak benar, dapat menyebabkan bisnis proyek gagal untuk dieksekusi seperti yang diharapkan, menyebabkan serangan DoS.

2) Izin dan kontrol akses

Pengiriman objek berhak istimewa dan panggilan fungsi berhak istimewa harus diotentikasi dengan hati-hati, karena fungsi dan objek ini terlibat dalam keamanan pendanaan. Selain itu, jenis objek perlu diperiksa untuk menentukan apakah mereka adalah objek pribadi atau objek bersama. Jika suatu objek salah dikonversi dari objek pribadi menjadi objek bersama, pengguna yang tidak diotorisasi mungkin dapat mengakses objek tersebut, menimbulkan potensi risiko keamanan.

Pengembang dapat menggunakan Move Prover untuk memverifikasi bahwa program menegakkan kebijakan kontrol akses eksplisit. Sebagai contoh, dalam std.offer, kita dapat melihat bahwa fungsi tersebut dihentikan ketika penerima tidak masuk daftar putih:

3) Masalah ketergantungan urutan transaksi

Dependensi Urutan Transaksi (TOD) mengacu pada fakta bahwa perilaku kontrak dapat memiliki hasil yang berbeda tergantung pada urutan eksekusi transaksi, terutama dalam lingkungan terdesentralisasi di mana penambang atau verifikator dapat memilih bagaimana transaksi diurutkan. Ini dapat membawa risiko seperti serangan front-running.

Di SUI, masih tergantung pada produsen blok untuk mengeksekusi urutan transaksi, sehingga kontrak MOVE masih dapat terpengaruh oleh masalah ini jika mereka didesain untuk bergantung pada urutan transaksi untuk perubahan status.

4) Masalah Konsumsi Gas

Pada rantai Sui, masalah Gas pada kontrak pintar Move terutama tercermin dalam biaya perhitungan dan penyimpanan yang diperlukan untuk eksekusi kontrak. Dengan meningkatnya kompleksitas kontrak dan perubahan status, konsumsi Gas juga meningkat sesuai. Pengembang perlu fokus pada mengoptimalkan logika kontrak, mengurangi perhitungan yang tidak perlu dan pembaruan status untuk mengurangi biaya transaksi bagi pengguna, dan terutama menghindari situasi iterasi yang tidak terkendali dalam kontrak, yang mungkin disebabkan oleh gas yang tidak mencukupi dan tidak dapat melakukan bisnis dengan baik.

5) Akurasi perhitungan

Saat ini, jenis numerik yang didukung oleh Move adalah bilangan bulat tak bertanda, dan tidak mendukung titik mengambang, sehingga bagian pecahan akan dipotong dan dibulatkan ke bawah selama operasi pembagian, yang akan menyebabkan hasil perhitungan yang tidak akurat, yang mungkin memengaruhi beberapa kebijakan kunci, menyebabkan kerugian pendapatan, dan bahkan menjadi kerentanan keamanan.

Untuk masalah ini, langkah mitigasi biasanya adalah memperluas akurasi, tetapi perlu diingat bahwa akurasi perlu dikembalikan ketika hasil akhir diperoleh.

6) Manajemen objek

Dalam kontrak pintar Move pada blockchain SUI, pengelolaan objek merupakan tantangan kunci, mencakup beberapa aspek dari siklus hidup objek, kepemilikan, akses konkuren, serialisasi, dan biaya penyimpanan. Pengembang perlu mengelola dengan tepat pembuatan, pembaruan, dan penghancuran objek untuk mencegah pemborosan sumber daya dan inkonsistensi status. Pada saat yang sama, desain yang wajar dari logika kontrak untuk mengontrol hak kepemilikan dan akses objek, serta penanganan beberapa pengguna yang mengakses objek yang sama secara konkuren, adalah faktor penting untuk memastikan operasi kontrak pintar yang aman dan efisien.

7) Masalah desain dan implementasi logika bisnis

Misalnya, dengan implementasi pinjaman kilat dalam proyek Sui DeFi, penyerang dapat menggunakan pinjaman kilat untuk melakukan serangan dana besar seperti manipulasi harga.

Dalam fitur pertukaran token AMM umum, pengembang dapat menggunakan Move Prover untuk memverifikasi bahwa jumlah token telah berubah dengan benar:

Misalnya, protokol peminjaman harus selalu sepenuhnya diamankan setelah serangkaian deposito, pinjaman, dan penarikan. Dalam kasus buku pesanan dari kesepakatan perdagangan kontrak tak terbatas on-chain dibatalkan setelah pesanan ditempatkan, tidak boleh ada perubahan dalam buku besar, dll., yang perlu diperiksa dan diverifikasi oleh pengembang.

Tantangan dalam Ekosistem Sui

Saat ini, DeFi dan Memecoins dari SUI sedang berkembang pesat, dan volume perdagangan dan TVL telah menarik pertumbuhan yang luar biasa. Selanjutnya, ada semakin banyak jenis penipuan dan perdagangan spam yang harus dihindari oleh pengguna.

Phishings

Tahun ini, ada scam airdrop yang disebut Suisses muncul di Sui Eco, yang memungkinkan banyak pengguna kehilangan aset mereka. Ketika pengguna terhubung ke dompet di situs web Suisses dan mengklik Klaim, permintaan transaksi untuk transfer aset pengguna muncul. Jika pengguna menandatangani transaksi tersebut, mereka akan menemukan bahwa semua aset dompet mereka telah ditransfer.

Karena karakteristik Sui: segala sesuatu adalah objek, bukan hanya token di dompet pengguna, NFT adalah objek, tetapi juga partisipasi pengguna dalam pertambangan DeFi, jaminan likuiditas, dan sertifikat lainnya. Jika terjadi serangan phishing, semua aset pengguna dalam ekosistem Sui dapat sekaligus ditransfer oleh peretas.

Penipuan Token

Ada banyak token palsu dan honeypots di ekosistem Sui. Khususnya, ketika pengguna melakukan perdagangan memecoin di Ekosistem Sui, mereka mungkin terjebak secara tidak sengaja.

Dalam menciptakan token di SUI, seperti yang ditunjukkan di bawah ini, para peretas dapat menentukan ikon dan nama yang sama seperti token populer atau utama, membuatnya tidak dapat dibedakan oleh pengguna umum. Oleh karena itu, pengguna perlu memeriksa apakah format data token benar saat membeli token.

Selain itu, para peretas juga dapat menambahkan fungsi DaftarPenolakan ke kontrak token, sehingga pengguna yang membeli token tidak dapat menjualnya, menyebabkan kerugian bagi pengguna.

Tantangan MEV

MEV adalah singkatan dari nilai maksimum yang dapat diekstraksi. MEV awalnya merujuk kepada Nilai yang Dapat Diekstraksi oleh Penambang, di mana para penambang dalam jaringan BTC memperoleh imbalan melebihi biaya blok dan jaringan dengan mengurutkan ulang transaksi dalam blok. MEV tidak memiliki kaitan dengan jenis jaringan blockchain. MEV ada dalam semua blockchain, dan Sui tidak terkecuali.

Sui menggunakan Narwhal sebagai kolam memori untuk menugaskan transaksi yang belum selesai ke node, dan menggunakan algoritma Bullshark sebagai mesin konsensus untuk mengurutkan transaksi.

Aturan pemesanan SUI untuk transaksi didasarkan pada biaya gas. Selain itu, karena SUI mengadopsi skema eksekusi transaksi yang menggabungkan paralel dan sekuensial, transaksi yang berbagi status kolam transaksi AMM yang sama hanya dapat dieksekusi sekuensial. Oleh karena itu, serangan sandwich / transaksi frontrunning memungkinkan. Penyerang dapat meluncurkan serangan sandwich melalui biaya gas yang lebih tinggi, sehingga pengguna yang berpartisipasi dalam perdagangan DeFi mengalami kerugian.

Disclaimer:

  1. Artikel ini dicetak ulang dari [ Beosin]. Semua hak cipta milik penulis asli [ beosin]. Jika ada keberatan terhadap cetakan ulang ini, silakan hubungi Gate Belajartim, dan mereka akan menanganinya dengan cepat.
  2. Penyangkalan Tanggung Jawab: Pandangan dan opini yang tercantum dalam artikel ini semata-mata milik penulis dan tidak merupakan saran investasi apa pun.
  3. Terjemahan artikel ke dalam bahasa lain dilakukan oleh tim Belajar gate. Kecuali disebutkan, menyalin, mendistribusikan, atau menjiplak artikel terjemahan dilarang.
Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500