Sebuah dompet bisa terlihat sepenuhnya normal dan tetap tidak aman sejak momen frasa pemulihannya dibuat. Kerentanan RNG lemah CryptoJS menunjukkan mengapa hal ini terjadi. Pada versi CryptoJS yang terdampak, CryptoJS.lib.WordArray.random() menggunakan konstruksi pseudorandom kustom yang diinisialisasi dari JavaScript Math.random(), bukan sumber acak platform yang aman secara kriptografis. Hal ini penting karena keamanan kriptografis bergantung pada ketidakterdugaan di sumbernya. Penyelidikan Ill Bloom menghubungkan kelemahan implementasi ini dengan kode generasi dompet nyata. Di jalur generasi yang rentan, permintaan nominal untuk entropi dompet 128-bit dan 256-bit bisa menyusut menjadi ruang pencarian efektif sekitar 2^39 dan 2^47 kemungkinan. Frasa pemulihan yang dihasilkan tetap bisa: • menggunakan kata BIP39 yang valid • lulus validasi checksum • menurunkan akun blockchain standar • menandatangani transaksi yang valid • tampak sepenuhnya biasa bagi pengguna Ini adalah perbedaan kritis: Frasa pemulihan yang valid tidak otomatis merupakan frasa pemulihan yang dihasilkan secara aman. Nuansa penting lainnya adalah bahwa menemukan dependensi CryptoJS yang terdampak tidak secara otomatis membuktikan bahwa dompet tersebut dapat dieksploitasi. Penyelidik perlu menentukan apakah fungsi acak yang rentan benar-benar menghasilkan frasa pemulihan, kunci, token, nonce, atau rahasia sensitif keamanan lainnya. CryptoJS 4.0.0 mengganti jalur generasi berbasis Math.random dengan metode acak kriptografis asli. Namun, memperbarui perpustakaan hanya memperbaiki generasi masa depan. Tidak bisa secara retroaktif menambah entropi ke frasa pemulihan yang dibuat bertahun-tahun lalu. Mengimpor benih yang terdampak ke dompet perangkat lunak atau perangkat keras lain juga tidak memperbaikinya. Kunci dasar yang sama tetap dapat diturunkan. Pelajaran keamanan yang lebih luas melampaui CryptoJS. Pengembang perlu mengaudit alur data generasi rahasia aktual, termasuk dependensi langsung dan transitif, bukan hanya mengandalkan nama paket atau pemindaian dependensi tingkat atas. Untuk aplikasi browser, Web Crypto menyediakan crypto.getRandomValues() untuk keacakan kuat secara kriptografis. Lingkungan Node.js dan seluler menyediakan API acak kriptografis aman mereka sendiri. Pengguna dompet harus fokus pada asal perangkat lunak, riwayat pemeliharaan, riwayat generasi, keacakan tepercaya, dan cadangan aman, bukan mengasumsikan bahwa frasa 12 kata atau 24 kata apa pun secara otomatis aman. Baca analisis lengkap TokenToolHub: https://t.co/2AjB3PrKIZ
TokenToolHub.comBagikan
Sumber:Tampilkan versi asli
Penafian: Informasi pada halaman ini mungkin telah diperoleh dari pihak ketiga dan tidak mencerminkan pandangan atau opini KuCoin. Konten ini disediakan hanya untuk tujuan informasi umum, tanpa representasi atau jaminan apa pun, dan tidak dapat ditafsirkan sebagai saran keuangan atau investasi. KuCoin tidak bertanggung jawab terhadap segala kesalahan atau kelalaian, atau hasil apa pun yang keluar dari penggunaan informasi ini.
Berinvestasi di aset digital dapat berisiko. Harap mengevaluasi risiko produk dan toleransi risiko Anda secara cermat berdasarkan situasi keuangan Anda sendiri. Untuk informasi lebih lanjut, silakan lihat Ketentuan Penggunaan dan Pengungkapan Risiko.
