https://raydium.medium.com/detailed-post-mortem-and-next-steps-d6d6dd461c3e
Pada tanggal 16 Desember 2022, pukul10:12 UTC , aktor jahat mulai mengeksploitasiKolam Likuiditas Raydium V4 'srekening otoritas dengan memperoleh akses kePemilik Kolam akun (admin).
OtterSec memposting sebuahikhtisar awal dari serangan itu.
Pembaruan ini juga memperluas padapost-mortem awal diposting di Twitter oleh akun resmi Raydium.
Post-mortem yang terperinci ini mencoba untuk memberikan gambaran mendalam tentang bagaimana eksploit dilakukan, bagaimana masalah tersebut dimitigasi, dan langkah selanjutnya.
Latar belakang:
Akun Pool Owner yang disebutkan di atas pada awalnya diterapkan pada mesin virtual dengan server internal khusus. Setelah tinjauan tambahan, saat ini tidak ada bukti bahwa kunci privat untuk akun Pemilik Pangkalan pernah diteruskan, dibagikan, ditransfer, atau disimpan secara lokal di luar mesin virtual tempat awalnya diterapkan.
Tinjauan keamanan internal sedang berlangsung untuk menentukan sifat dan akar penyebab penyusupan akun. Kecurigaan awal adalah bahwa penyerang mungkin telah memperoleh akses jarak jauh ke mesin virtual atau server internal tempat akun tersebut digunakan. Vektor intrusi yang tepat belum diidentifikasi, tetapi serangan trojan mungkin merupakan salah satu kemungkinan.
Tinjauan awal menunjukkan bahwa akun pengeksploitasi Raydium terlibat dalam aktivitas jahat lainnya di Solana. Salah satu indikasinya adalah amenciak daricloudzy.sol pada 7 November yang merinci eksploitasi dompet sebesar 198 SOL yang pada akhirnyatiba dalamakun yang sama yang awalnya mendanaidompet eksploitasi Raydium utama seperti yang disebutkan dipost-mortem awal menciak.
Eksploitasi Detail
Penyerang mengkompromikan delapan kumpulan likuiditas produk konstan di Raydium, dengan total dana yang dicuri sekitar ~4,4 juta USD. Kumpulan likuiditas terkonsentrasi dan program taruhan RAY tidak terpengaruh oleh eksploitasi. Kumpulan atau dana lain apa pun di Raydium tidak terpengaruh oleh eksploitasi.
Gambar di bawah menunjukkan aset yang ditransfer oleh penyerang selama eksploitasi dari kumpulan yang terpengaruh. Token 'Base' mengacu pada token di sisi kiri pasangan token, 'Kutipan' mengacu pada token di sisi kanan pasangan (biasanya stablecoin atau SOL).
Daftar lengkap riwayat transaksi dan dana yang hilang dapat ditemukan di sini:https://github.com/raydium-io/dec_16_exploit
Eksploitasi terjadi dalam dua bagian:
- Instruksi withdrawPNL tersedia untuk mengumpulkan biaya protokol untuk pembelian kembali RAY dan didasarkan pada jumlah aset yang telah ditentukan yang ditentukan oleh need_take_pc dan need_take_coin, yang harus setara dengan 12% dari total biaya yang diperoleh oleh kumpulan atau 3bps dari 25 bps yang diperoleh dari menukar transaksi. Penyerang menggunakan fungsi ini untuk menarik dana (ditetapkan sebagai biaya) dari brankas kumpulan. Setelah penarikanPNL dimulai, perhitungan need_take_pc dan need_take_coin secara otomatis disetel ulang ke nol.
- Penyerang menggunakan instruksi SetParams bersamaan dengan AmmParams::SyncNeedTake untuk meningkatkan saldo need_take_pc dan need_take_coin tanpa perlu terjadi volume perdagangan, memungkinkan penyerang untuk mengubah dan meningkatkan biaya yang diharapkan dan kemudian menarik dana (ditetapkan sebagai biaya) dari pool vault melalui withdrawPNL, berulang kali.
Mitigasi Awal Eksploitasi
Pada 16 Desember 2022 pukul 14:16 UTC, Raydium menerapkan hot patch, atau rintisan, juga dikenal sebagai pengganti yang dapat dikontrol untuk ketergantungan yang ada untuk semua program. Dengan kata lain, otoritas akun yang disusupi (HggGrUeg4ReGvpPMLJMFKV69NTXL1r4wQ9Pk9Ljutwyv ) dicabut dan diperbarui ke akun baru yang disimpan di dompet perangkat keras.
Tambalan ini mencabut otoritas dan kemampuan penyerang untuk mengeksploitasi kumpulan lebih lanjut.
Langkah Keamanan Tambahan Diambil
17 Des, 10:27 UTC : Program Raydium AMM V4 ditingkatkan melalui Squads multisig untuk menghapus parameter admin yang tidak perlu yang berpotensi memengaruhi dana jika dikompromikan.
Parameter berikut telah dihapus:
- AmmParams::MinSize
- AmmParams::SyncLp
- AmmParams::SetLpSupply
- AmmParams::SyncK
- AmmParams::SinkronkanNeedTake
Selain itu, semua parameter admin telah dihapus untuk:
- Kolam Stabil Raydium
- Akselerator Raydium
- Raydium DropZone
Semua parameter admin yang tersisa, termasuk fungsi withdrawPNL, telah diperbarui ke Pasukanmultisig saat ini digunakan untuk peningkatan program sekitar pukul 15:00 UTC pada 17 Desember.
Langkah selanjutnya
Raydium mendekati langkah selanjutnya di dua front, secara bersamaan:
- Secara akurat menentukan dampak eksploitasi pada kumpulan untuk saldo LP pengguna
Raydium menarik snapshot dan menyusun data untuk semua saldo LP dan ukuran posisi yang sesuai sebelum peretasan terjadi, serta mengekstrapolasi perbedaan dalam saldo asli yang dihasilkan dari eksploitasi. Memastikan bahwa akun saldo yang akurat ditentukan diperlukan untuk menentukan solusi yang sesuai di masa mendatang. Butuh beberapa waktu untuk mendapatkan informasi yang akurat untuk semua akun dan saldo LP di kumpulan yang terpengaruh, kesabaran selama ini sangat kami hargai.
2. Melacak dompet penyerang dan menjelajahi opsi pengembalian dana
Raydium telah berhubungan dengan sejumlah tim Solana, auditor pihak ke-3, dan bursa terpusat yang telah memberikan dukungan dan petunjuk potensial terkait dengan penyerang dan akun yang relevan. Meskipun tidak ada yang pasti saat ini, bukti telah muncul yang menghubungkan dompet yang terlibat (seperti yang disebutkan dalam 'Latar Belakang' di atas) dalam eksploitasi proyek permadani NFT sebelumnya dan pengurasan dompet pengguna yang berbahaya. Raydium akan terus berkomunikasi dengan tim terkait dan pakar keamanan untuk mencari cara untuk mengambil dana.
Raydium menawarkan hadiah 10% sebagai imbalan atas pengembalian dana. Raydium menawarkan saldo RAY yang dieksploitasi sebagai hadiah tambahan.
Bergerak kedepan
Masih ada pekerjaan yang harus dilakukan untuk menilai dampak keseluruhan terhadap saldo dan dana LP pengguna individu. Sementara Raydium memahami bahwa semua pihak cemas tentang dana yang dipermasalahkan, waktu masih diperlukan untuk mengumpulkan data dan informasi sebelum semua opsi jalan ke depan dapat dinilai. Detail tambahan akan dikomunikasikan saat tersedia.