Dompet kripto yang tidak menghasilkan tanda tangan yang cukup acak, pada tahun 2025, melampaui kelalaian.
Tansel Kaya
Tansel Kaya29 Nov, 04.47
"Ekstraksi kunci dari tanda tangan" yang disebutkan dalam peretasan Upbit adalah serangan kriptanalisis lanjutan pada algoritma Elliptic Curve Digital Signature Algorithm (ECDSA) yang digunakan pada Solana (dan banyak blockchain lainnya). Karena nonce yang dapat diprediksi (angka acak satu kali k) yang dihasilkan oleh perangkat lunak dompet Upbit, penyerang mendeteksi pola tersembunyi di dalam tanda tangan, memungkinkan mereka untuk menghitung kunci pribadi dompet secara matematis. 1. Bagaimana Cara Kerja ECDSA? Saat menandatangani setiap transaksi: Kunci pribadi: d (tidak pernah dibagikan) Nomor acak satu kali: k (nonce) → harus benar-benar acak dan rahasia untuk setiap tanda tangan Tanda tangan yang dihasilkan: (r, s) pair (terlihat oleh semua orang di blockchain) Jika k tidak acak atau memiliki pola yang dapat diprediksi, kunci pribadi d dapat diekstraksi dari beberapa tanda tangan. 2. Kerentanan di Upbit Perangkat lunak dompet Upbit sendiri tidak dapat menghasilkan nilai nonce secara cukup acak. Ini menciptakan bias statistik dalam nilai tanda tangan (r, s). Para penyerang mengumpulkan puluhan/ratusan transaksi dari dompet panas Upbit, menganalisis tanda tangan ini untuk mengetahui bit mana dari nonces yang dapat diprediksi, dan menghitung kunci pribadi dalam hitungan detik/menit menggunakan metode matematika (lattice attack). 3. Jenis Serangan Matematika yang Digunakan Masalah Nomor Tersembunyi (HNP) + Pengurangan kisi (algoritma LLL/BKZ) Bahkan prediktabilitas hanya 3-8 bit sudah cukup untuk benar-benar memecahkan kunci dengan 20-100 tanda tangan. Bahkan jika ada bias yang lebih lemah (1-2 bit), itu masih dapat dipecahkan dengan ribuan tanda tangan 4. Mengapa dikatakan bahwa "hanya Lazarus yang dapat melakukannya"? Serangan ini membutuhkan: Pengetahuan tingkat PhD dalam kriptografi (HNP, kriptanalisis kisi) Keahlian analisis data blockchain Sumber daya komputasi yang kuat (kluster GPU) Kesabaran dan pemantauan jangka panjang 5. Pelajaran dan Tindakan Pencegahan yang Harus Diambil Produksi Nonce harus dilakukan dengan RFC 6979 (deterministik tetapi aman) atau sumber keacakan perangkat keras sejati (HWRNG). Tanda tangan harus diperlukan untuk lulus tes keacakan (NIST, Dieharder).
Saya tidak yakin apa detailnya di sini. Seperti yang ditunjukkan beberapa orang, Solana seharusnya menggunakan Ed25519 yang memiliki nonces deterministik. Tapi itu adalah tanda tangan Schnorr dan memiliki kerentanan yang sama jika seseorang salah menerapkan proses pengambilan sampel nonces secara seragam.
Saya juga ingin mengatakan: jika saya menemukan kelemahan keacakan/keseragaman nonce dalam skema tanda tangan yang digunakan dalam dompet kripto, terutama yang dieksploitasi oleh kelompok yang disponsori negara, saya tidak akan selalu melompat ke "kecelakaan" sebagai satu-satunya penjelasan saya.
11,86K