Analisis Risiko Keamanan Kontrak NFT: 6 Kasus Klasik dan Penjelasan 5 Masalah Umum

Analisis Keamanan Kontrak NFT: Peristiwa Khas dan Masalah Umum

Pada paruh pertama tahun 2022, kejadian keamanan di bidang NFT sering terjadi, menyebabkan kerugian ekonomi yang signifikan. Menurut pemantauan platform data, selama periode tersebut terjadi 10 kejadian keamanan utama, dengan total kerugian sekitar 64,9 juta dolar AS. Metode serangan terutama mencakup eksploitasi celah kontrak, kebocoran kunci pribadi, dan phishing. Selain itu, server Discord juga mengalami serangan yang sering, mengakibatkan pengguna pribadi sering kali mengalami kerugian akibat mengklik tautan phishing.

Analisis Kejadian Keamanan NFT Paruh Pertama Tahun Ini: Kasus-Kasus Tipikal Apa yang Perlu Kita Waspadai?

Analisis Kejadian Keamanan Tipikal

Peristiwa TreasureDAO

Pada 3 Maret 2022, platform perdagangan TreasureDAO diserang oleh peretas, mengakibatkan lebih dari 100 NFT dicuri. Akar masalah terletak pada celah logika dalam kontrak TreasureMarketplaceBuyer. Kontrak tidak memeriksa jenis token dalam fungsi buyItem, langsung mengalikan _quantity dengan _pricePerItem untuk menghitung totalPrice, yang memungkinkan penyerang membeli token dengan pembayaran ERC-20 yang nilainya 0. Masalah ini berasal dari kebingungan logika yang diakibatkan oleh penggunaan campuran token ERC-1155 dan ERC-721, di mana token ERC-721 sebenarnya tidak memiliki konsep jumlah, tetapi kontrak menghitung harga berdasarkan jumlah, dan dalam implementasi transfer tidak ada pemisahan logika.

peristiwa airdrop APE Coin

Pada 17 Maret 2022, peretas mendapatkan lebih dari 60.000 APE Coin airdrop melalui pinjaman kilat. Kontrak airdrop GrapesToken memiliki celah logika, hanya menggunakan alpha.balanceOf() dan beta.balanceOf() untuk menentukan kepemilikan pemanggil terhadap NFT BAYC/MAYC. Cara ini hanya dapat memperoleh status kepemilikan NFT pengguna secara instan, dan status tersebut dapat dimanipulasi melalui pinjaman kilat. Penyerang memanfaatkan celah ini, meminjam NFT BAYC melalui pinjaman kilat dan mendapatkan airdrop yang sesuai.

Peristiwa Revest Finance

Pada tanggal 27 Maret 2022, Revest Finance mengalami serangan hacker, dengan kerugian sekitar 120.000 USD. Terdapat celah reentrancy ERC-1155 dalam kontrak Revest. Ketika pengguna menggunakan depositAdditionalToFNFT() untuk menambah aset jaminan FNFT, kontrak harus terlebih dahulu menghancurkan FNFT asli, kemudian mencetak FNFT baru. Namun, fungsi min() tidak memeriksa apakah FNFT yang akan dicetak sudah ada, dan fnftId diinkrementasi setelah _mint() dieksekusi. Panggilan eksternal _doSafeTransferAcceptanceCheck() dalam _min() menyebabkan celah reentrancy.

NBA insiden mengambil keuntungan

Pada 21 April 2022, proyek NBA diserang oleh hacker. Kontrak The_Association_Sales memiliki dua masalah utama: penyalahgunaan dan penggunaan ulang tanda tangan saat menggunakan tanda tangan untuk memverifikasi whitelist. Penggunaan ulang tanda tangan terjadi karena kontrak tidak menyimpan tanda tangan yang telah digunakan, sehingga penyerang dapat menggunakannya kembali; penyalahgunaan tanda tangan terjadi karena parameter info vData memory tidak memeriksa msg.sender saat melakukan pengiriman.

Akutar事件

Pada 23 April 2022, kontrak AkuAuction dari proyek Akutar terkunci akibat kerentanan pada kontrak pintar, mengakibatkan 11539ETH( sekitar 34 juta dolar AS) terkunci. Kontrak tersebut memiliki dua kerentanan logika: pertama, fungsi pengembalian dana processRefunds menggunakan fungsi call untuk pengembalian dana, dan hasilnya dijadikan kondisi penilaian require, sehingga penyerang dapat dengan jahat melakukan revert dalam fallback untuk mencegah pengembalian dana; kedua, kondisi penilaian dalam fungsi pengembalian dana tidak mempertimbangkan bahwa pengguna dapat menawar beberapa NFT, sehingga operasi pengembalian dana selanjutnya tidak dapat dilakukan.

Peristiwa XCarnival

Pada 24 Juni 2022, protokol pinjaman NFT XCarnival diserang, dan peretas memperoleh 3087 Ethereum ( sekitar 3,8 juta dolar AS ). Fungsi pledgeAndBorrow pada kontrak XNFT tidak memeriksa apakah alamat xToken ada dalam daftar putih saat melakukan staking NFT, dan tidak memeriksa status catatan jaminan saat meminjam, memungkinkan penyerang untuk menggunakan catatan jaminan yang tidak valid berulang kali untuk meminjam.

Analisis Kejadian Keamanan NFT Semester Pertama: Kasus Apa Saja yang Perlu Kita Waspadai?

Pertanyaan Umum tentang Audit Kontrak NFT

  1. Penandatanganan yang disalahgunakan dan digunakan kembali:

    • Data tanda tangan kurang verifikasi eksekusi berulang, dapat menggunakan kembali data tanda tangan untuk mencetak NFT
    • Pemeriksaan tanda tangan tidak wajar, pengguna mana pun dapat melakukan pencetakan koin melalui pemeriksaan
  2. Celah logika:

    • Administrator dapat mencetak koin dengan cara khusus tanpa batasan jumlah total, mengakibatkan jumlah NFT yang sebenarnya melebihi ekspektasi
    • Saat melelang NFT, pemenang dapat memodifikasi harga tawaran dengan serangan ketergantungan urutan transaksi, sehingga dapat mendapatkan NFT dengan harga rendah.
  3. Serangan Reentrancy ERC721/ERC1155:

    • Menggunakan fungsi pemberitahuan transfer, kontrak NFT mengirim panggilan ke kontrak target yang dapat menyebabkan serangan reentrancy.
  4. Ruang lingkup otorisasi terlalu besar:

    • Memerlukan otorisasi _operatorApprovals saat staking atau拍卖, yang dapat menyebabkan risiko pencurian NFT
  5. Manipulasi harga:

    • Harga NFT bergantung pada jumlah token kontrak yang dimiliki, penyerang dapat memanfaatkan pinjaman kilat untuk meningkatkan harga, yang menyebabkan likuidasi NFT yang dipertaruhkan secara abnormal.

Mengingat seringnya kejadian keamanan kontrak NFT, dan kerentanan yang umum ditemukan dalam audit sering dimanfaatkan dalam praktik, sangat penting untuk mencari perusahaan keamanan profesional untuk melakukan audit menyeluruh terhadap kontrak NFT.

Analisis Kejadian Keamanan NFT di Semester Pertama: Kasus-kasus Tipe Apa yang Perlu Kita Waspadai?

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
  • Bagikan
Komentar
0/400
SerumDegenvip
· 07-26 15:03
hari lain, peretasan lain... klasik web3 smh
Lihat AsliBalas0
CompoundPersonalityvip
· 07-26 10:33
Bug kontrak ini semua hanya harimau kertas.
Lihat AsliBalas0
BearMarketBuyervip
· 07-26 08:12
pemula rugi lima puluh ribu
Lihat AsliBalas0
DefiOldTrickstervip
· 07-25 07:36
Sudah bermain di dunia ini selama sepuluh tahun, saya telah melihat berapa banyak suckers yang dipermainkan. Apakah mereka memang pantas mengalami kerugian seperti ini?
Lihat AsliBalas0
TokenSleuthvip
· 07-23 15:36
Kontrak memiliki begitu banyak celah, siapa yang berani membelinya?
Lihat AsliBalas0
pumpamentalistvip
· 07-23 15:36
Ada ikan yang tertangkap lagi
Lihat AsliBalas0
SelfCustodyBrovip
· 07-23 15:31
Bagaimana bisa berani masuk ke blockchain jika perlindungannya dibuat begitu buruk?
Lihat AsliBalas0
DogeBachelorvip
· 07-23 15:23
Benar-benar tidak bisa bermain!
Lihat AsliBalas0
FloorPriceWatchervip
· 07-23 15:11
NFT benar-benar menghancurkan, siapa yang membeli siapa yang sial.
Lihat AsliBalas0
Lihat Lebih Banyak
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)