Nol hari tanpa insiden di ruang DeFi. Kali ini, kerentanan ditemukan di 'elliptic library' yang banyak digunakan.
Apa yang membuat keadaan semakin buruk – eksploitasi ini dapat menyebabkan peretas mengambil alih kunci pribadi pengguna dan menguras dompet.
Semua melalui pesan penipuan sederhana yang ditandatangani oleh seorang pengguna. Apakah ini masalah yang kritis?
Hal pertama yang perlu dipertimbangkan adalah kenyataan bahwa pustaka seperti elliptic menyediakan pengembang dengan komponen kode siap pakai.
Ini berarti bahwa alih-alih menulis kode dari awal dan memeriksanya saat mereka berjalan, pengembang hanya meminjam elemen yang mereka butuhkan.
Meskipun dianggap sebagai praktik yang lebih aman, karena pustaka tersebut terus digunakan dan diuji, ini juga meningkatkan risiko jika satu kerentanan berhasil lolos.
Perpustakaan Elliptic digunakan secara luas di seluruh ekosistem JavaScript. Ini mendukung fungsi kriptografi di banyak proyek blockchain terkenal, aplikasi web, dan sistem keamanan.
Menurut statistik NPM, paket yang mengandung kesalahan tersebut diunduh sekitar 12–13 juta kali setiap minggu, dengan lebih dari 3.000 proyek secara langsung mencantumkannya sebagai ketergantungan.
Penggunaan yang luas ini menunjukkan bahwa kerentanan ini berpotensi mempengaruhi sejumlah besar aplikasi – terutama dompet cryptocurrency, node blockchain, dan sistem tanda tangan elektronik – serta layanan apa pun yang bergantung pada tanda tangan ECDSA melalui eliptik, terutama saat menangani input yang diberikan dari luar.
Kerentanan ini memungkinkan penyerang jarak jauh untuk sepenuhnya mengkompromikan data sensitif tanpa izin yang tepat.
Itu sebabnya masalah ini menerima peringkat tingkat keparahan yang sangat tinggi - sekitar sembilan dari 10 pada skala CVSS.
Penting untuk menunjukkan bahwa mengeksploitasi kerentanan ini memerlukan urutan tindakan yang sangat spesifik dan korban harus menandatangani data sembarangan yang diberikan oleh penyerang.
Itu berarti bahwa beberapa proyek mungkin tetap aman, misalnya, jika sebuah aplikasi hanya menandatangani pesan internal yang telah ditentukan.
Namun, banyak pengguna tidak memberikan perhatian yang sama saat menandatangani pesan melalui dompet kripto seperti saat menandatangani transaksi.
Setiap kali situs Web 3.0 meminta pengguna untuk menandatangani syarat layanan, pengguna sering kali mengabaikan untuk membacanya.
Demikian pula, pengguna mungkin dengan cepat menandatangani pesan untuk airdrop tanpa sepenuhnya memahami implikasinya.
Detail teknis
Masalahnya berasal dari tidak menangani kesalahan dengan baik selama pembuatan tanda tangan Algoritma Tanda Tangan Digital Kurva Eliptik ECDSA (.
ECDSA umumnya digunakan untuk mengonfirmasi bahwa pesan, seperti transaksi blockchain, adalah asli.
Untuk membuat tanda tangan, Anda memerlukan kunci rahasia – hanya pemilik yang mengetahuinya – dan nomor acak unik yang disebut 'nonce.'
Jika nonce yang sama digunakan lebih dari sekali untuk pesan yang berbeda, seseorang dapat menemukan kunci rahasia menggunakan perhitungan.
Biasanya, penyerang tidak dapat menentukan kunci pribadi dari satu atau dua tanda tangan karena masing-masing menggunakan nomor acak unik )nonce(.
Tapi perpustakaan eliptik memiliki cacat – jika menerima jenis input yang aneh )seperti string khusus alih-alih format yang diharapkan(, itu bisa membuat dua tanda tangan dengan nonce yang sama untuk pesan yang berbeda.
Kesalahan ini dapat mengungkap kunci privat, yang seharusnya tidak pernah terjadi dalam penggunaan ECDSA yang benar.
Untuk mengeksploitasi kerentanan ini, seorang penyerang membutuhkan dua hal.
Pesan yang valid dan tanda tangannya dari pengguna – misalnya, dari interaksi sebelumnya
Pengguna harus menandatangani pesan kedua yang secara eksplisit dibuat untuk mengeksploitasi kerentanan
Dengan dua tanda tangan ini, penyerang dapat menghitung kunci privat pengguna, mendapatkan akses penuh ke dana dan tindakan yang terkait dengannya. Informasi lebih lanjut tersedia di GitHub Security Advisory.
Skenario eksploitasi
Penyerang dapat mengeksploitasi kerentanan ini melalui berbagai metode, termasuk yang berikut.
Serangan phishing yang mengarahkan pengguna ke situs web palsu dan meminta tanda tangan pesan
DApps jahat ) aplikasi terdesentralisasi ( yang menyamar sebagai layanan yang tidak berbahaya, seperti menandatangani syarat penggunaan atau berpartisipasi dalam airdrop
Rekayasa sosial meyakinkan pengguna untuk menandatangani pesan yang tampak tidak berbahaya
Mengkompromikan kunci privat server yang menandatangani pesan dari pengguna
Aspek yang sangat mengkhawatirkan adalah sikap pengguna yang umumnya santai terhadap penandatanganan pesan dibandingkan dengan transaksi.
Proyek kripto sering meminta pengguna untuk menandatangani syarat layanan atau pesan partisipasi airdrop, yang berpotensi memudahkan eksploitasi.
Jadi, pikirkanlah – apakah Anda akan menandatangani sebuah pesan untuk mengklaim token gratis? Bagaimana jika tanda tangan itu bisa menghabiskan seluruh saldo kripto Anda?
Rekomendasi
Pengguna harus segera memperbarui semua aplikasi dan dompet yang menggunakan perpustakaan elliptic untuk tanda tangan ke versi aman terbaru.
Berhati-hatilah saat menandatangani pesan, terutama dari sumber yang tidak dikenal atau mencurigakan.
Pengembang dompet dan aplikasi harus memverifikasi versi perpustakaan elips mereka.
Jika ada pengguna yang mungkin terpengaruh oleh versi yang rentan, pengembang harus memberi tahu mereka tentang kebutuhan mendesak untuk memperbarui.
Gleb Zykov adalah salah satu pendiri dan CTO HashEx Blockchain Security. Dia memiliki lebih dari 14 tahun pengalaman di industri TI dan lebih dari delapan tahun dalam keamanan internet, serta latar belakang teknis yang kuat dalam teknologi blockchain )Bitcoin, Ethereum dan blockchain berbasis EVM(.
Konten ini hanya untuk referensi, bukan ajakan atau tawaran. Tidak ada nasihat investasi, pajak, atau hukum yang diberikan. Lihat Penafian untuk pengungkapan risiko lebih lanjut.
Peringatan Keamanan HashEx – Tanda Tangan Tunggal Dapat Menguras Dompet Anda - The Daily Hodl
HodlX Tamu KirimanKirim Kiriman Anda
Nol hari tanpa insiden di ruang DeFi. Kali ini, kerentanan ditemukan di 'elliptic library' yang banyak digunakan.
Apa yang membuat keadaan semakin buruk – eksploitasi ini dapat menyebabkan peretas mengambil alih kunci pribadi pengguna dan menguras dompet.
Semua melalui pesan penipuan sederhana yang ditandatangani oleh seorang pengguna. Apakah ini masalah yang kritis?
Hal pertama yang perlu dipertimbangkan adalah kenyataan bahwa pustaka seperti elliptic menyediakan pengembang dengan komponen kode siap pakai.
Ini berarti bahwa alih-alih menulis kode dari awal dan memeriksanya saat mereka berjalan, pengembang hanya meminjam elemen yang mereka butuhkan.
Meskipun dianggap sebagai praktik yang lebih aman, karena pustaka tersebut terus digunakan dan diuji, ini juga meningkatkan risiko jika satu kerentanan berhasil lolos.
Perpustakaan Elliptic digunakan secara luas di seluruh ekosistem JavaScript. Ini mendukung fungsi kriptografi di banyak proyek blockchain terkenal, aplikasi web, dan sistem keamanan.
Menurut statistik NPM, paket yang mengandung kesalahan tersebut diunduh sekitar 12–13 juta kali setiap minggu, dengan lebih dari 3.000 proyek secara langsung mencantumkannya sebagai ketergantungan.
Penggunaan yang luas ini menunjukkan bahwa kerentanan ini berpotensi mempengaruhi sejumlah besar aplikasi – terutama dompet cryptocurrency, node blockchain, dan sistem tanda tangan elektronik – serta layanan apa pun yang bergantung pada tanda tangan ECDSA melalui eliptik, terutama saat menangani input yang diberikan dari luar.
Kerentanan ini memungkinkan penyerang jarak jauh untuk sepenuhnya mengkompromikan data sensitif tanpa izin yang tepat.
Itu sebabnya masalah ini menerima peringkat tingkat keparahan yang sangat tinggi - sekitar sembilan dari 10 pada skala CVSS.
Penting untuk menunjukkan bahwa mengeksploitasi kerentanan ini memerlukan urutan tindakan yang sangat spesifik dan korban harus menandatangani data sembarangan yang diberikan oleh penyerang.
Itu berarti bahwa beberapa proyek mungkin tetap aman, misalnya, jika sebuah aplikasi hanya menandatangani pesan internal yang telah ditentukan.
Namun, banyak pengguna tidak memberikan perhatian yang sama saat menandatangani pesan melalui dompet kripto seperti saat menandatangani transaksi.
Setiap kali situs Web 3.0 meminta pengguna untuk menandatangani syarat layanan, pengguna sering kali mengabaikan untuk membacanya.
Demikian pula, pengguna mungkin dengan cepat menandatangani pesan untuk airdrop tanpa sepenuhnya memahami implikasinya.
Detail teknis
Masalahnya berasal dari tidak menangani kesalahan dengan baik selama pembuatan tanda tangan Algoritma Tanda Tangan Digital Kurva Eliptik ECDSA (.
ECDSA umumnya digunakan untuk mengonfirmasi bahwa pesan, seperti transaksi blockchain, adalah asli.
Untuk membuat tanda tangan, Anda memerlukan kunci rahasia – hanya pemilik yang mengetahuinya – dan nomor acak unik yang disebut 'nonce.'
Jika nonce yang sama digunakan lebih dari sekali untuk pesan yang berbeda, seseorang dapat menemukan kunci rahasia menggunakan perhitungan.
Biasanya, penyerang tidak dapat menentukan kunci pribadi dari satu atau dua tanda tangan karena masing-masing menggunakan nomor acak unik )nonce(.
Tapi perpustakaan eliptik memiliki cacat – jika menerima jenis input yang aneh )seperti string khusus alih-alih format yang diharapkan(, itu bisa membuat dua tanda tangan dengan nonce yang sama untuk pesan yang berbeda.
Kesalahan ini dapat mengungkap kunci privat, yang seharusnya tidak pernah terjadi dalam penggunaan ECDSA yang benar.
Untuk mengeksploitasi kerentanan ini, seorang penyerang membutuhkan dua hal.
Dengan dua tanda tangan ini, penyerang dapat menghitung kunci privat pengguna, mendapatkan akses penuh ke dana dan tindakan yang terkait dengannya. Informasi lebih lanjut tersedia di GitHub Security Advisory.
Skenario eksploitasi
Penyerang dapat mengeksploitasi kerentanan ini melalui berbagai metode, termasuk yang berikut.
Aspek yang sangat mengkhawatirkan adalah sikap pengguna yang umumnya santai terhadap penandatanganan pesan dibandingkan dengan transaksi.
Proyek kripto sering meminta pengguna untuk menandatangani syarat layanan atau pesan partisipasi airdrop, yang berpotensi memudahkan eksploitasi.
Jadi, pikirkanlah – apakah Anda akan menandatangani sebuah pesan untuk mengklaim token gratis? Bagaimana jika tanda tangan itu bisa menghabiskan seluruh saldo kripto Anda?
Rekomendasi
Pengguna harus segera memperbarui semua aplikasi dan dompet yang menggunakan perpustakaan elliptic untuk tanda tangan ke versi aman terbaru.
Berhati-hatilah saat menandatangani pesan, terutama dari sumber yang tidak dikenal atau mencurigakan.
Pengembang dompet dan aplikasi harus memverifikasi versi perpustakaan elips mereka.
Jika ada pengguna yang mungkin terpengaruh oleh versi yang rentan, pengembang harus memberi tahu mereka tentang kebutuhan mendesak untuk memperbarui.
Gleb Zykov adalah salah satu pendiri dan CTO HashEx Blockchain Security. Dia memiliki lebih dari 14 tahun pengalaman di industri TI dan lebih dari delapan tahun dalam keamanan internet, serta latar belakang teknis yang kuat dalam teknologi blockchain )Bitcoin, Ethereum dan blockchain berbasis EVM(.