Kerentanan perangkat lunak Coldcard selama lima tahun mungkin memungkinkan penyerang merekonstruksi kunci pribadi dan mengambil lebih dari 1.100 bitcoin, mendorong pembuat dompet tersebut menyalahkan temuan ini sebagian pada kecerdasan buatan (AI).
Poin Utama
- Benih yang terhubung dengan Coldcard terpapar, senilai 1.128,4717 BTC atau sekitar $71,1 juta.
- Coinkite mengatakan AI mungkin telah menemukan kelemahan lima tahun, tetapi atribusi belum terbukti.
- Pengguna Coldcard dengan benih yang terpengaruh harus membuat dompet baru pada firmware yang telah diperbaiki.
Sweep Terkoordinasi Mengosongkan Ratusan Dompet
Insiden ini menjadi publik setelah sekitar 594 BTC, bernilai sekitar $38 juta pada saat itu, dipindahkan dari sekitar 500 alamat bitcoin single-signature pada 30 Juli. When the news first broke, Bitcoin.com News noted bahwa transfer tersebut terjadi dalam waktu sekitar 25 menit dan tampaknya menargetkan dompet dengan kelemahan teknis yang sama.
Kemudian, tinjauan blockchain memperluas perkiraan skala pencurian. Para peneliti memperkirakan bahwa antara 1.082 hingga 1.196 alamat mungkin terdampak dalam periode sekitar 41 menit. Sebuah dashboard khusus bernama Coldcard Sweep Watch selanjutnya menempatkan totalnya pada 1.128,4717 BTC, senilai sekitar $71,1 juta ketika bitcoin diperdagangkan di dekat $63.044.

Sebagian besar dana dikonsolidasikan ke alamat yang memegang ratusan bitcoin, di mana sebagian besar tetap tidak bergerak. Alamat-alamat yang terdampak terhubung oleh satu detail penting: Seed pemulihan mereka dibuat di dompet perangkat keras Coldcard yang diproduksi oleh perusahaan Kanada Coinkite.
Recovery seed adalah daftar kata yang mengontrol akses ke dompet mata uang kripto. Siapa pun yang dapat merekonstruksi atau memperoleh seed tersebut biasanya dapat memindahkan dana dompet tanpa memiliki perangkat fisiknya.
Coldcard Menemukan Sistem Kerandoman yang Rusak
Coinkite mengeluarkan peringatan mendesak bahwa benih tertentu yang dihasilkan pada perangkat Coldcard bisa lemah. Perangkat Mk3 yang menjalankan firmware versi 4.0.1, dirilis sekitar Maret 2021, dan versi selanjutnya termasuk di antara yang menghadapi risiko terbesar.
Analisis lebih lanjut memperluas kekhawatiran ke benih yang dibuat pada beberapa perangkat Mk4, Mk5, dan Q sebelum Coinkite merilis perbaikan firmware darurat. Produk Tapsigner, Opendime, dan Satscard dilaporkan tidak terpengaruh karena menggunakan perangkat lunak yang berbeda.
Kerentanan tersebut melibatkan proses yang digunakan untuk menghasilkan data acak. Dompet aman bergantung pada keacakan berkualitas tinggi agar benih pemulihan mereka tidak dapat ditebak. Pada perangkat Mk3 yang paling parah terdampak, para peneliti memperkirakan bahwa benih tersebut mungkin hanya mengandung sekitar 40 bit keacakan efektif, bukan 128 bit seperti yang diharapkan.
Perbedaan itu sangat kritis. Seed 128-bit yang dihasilkan dengan benar dianggap hampir tidak mungkin ditebak melalui serangan brute force. Seed 40-bit menawarkan kemungkinan yang jauh lebih sedikit, memungkinkan penyerang dengan daya komputasi yang cukup untuk menguji seed potensial secara offline dan membandingkan alamat yang dihasilkan dengan blockchain bitcoin publik.
Beberapa perangkat lebih baru mungkin telah menyediakan sekitar 72 bit kerandoman efektif karena perangkat keras aman menambahkan lapisan tambahan data yang tidak dapat diprediksi. Itu akan membuat benih lebih sulit direkonstruksi, meskipun masih jauh lebih lemah dari yang dimaksud.
Satu Kesalahan Konfigurasi Bertahan Selama 5 Tahun
Masalah dimulai dengan kesalahan konfigurasi pada saat build yang melibatkan dua fungsi perangkat lunak yang menjalankan tugas serupa. Satu fungsi menggunakan generator angka acak sejati berbasis perangkat keras, sementara yang lain mengandalkan proses perangkat lunak yang lebih lemah yang diwarisi dari MicroPython.
Coinkite bermaksud menonaktifkan opsi MicroPython. Namun, pemeriksaan perangkat lunak hanya memeriksa apakah label konfigurasi telah didefinisikan, bukan apakah nilainya telah diatur ke nol. Akibatnya, firmware yang selesai dapat secara diam-diam memilih fungsi yang lebih lemah.
Karena kedua fungsi memiliki format yang sama, perangkat lunak terus dikompilasi dan dijalankan tanpa menghasilkan kesalahan yang jelas. Kesalahan tersebut masuk ke kode sekitar migrasi perangkat lunak tahun 2021 dan tetap ada di firmware yang tersedia secara publik selama lebih dari lima tahun.
Memperbarui perangkat sekarang tidak memperkuat seed yang dihasilkan di bawah perangkat lunak yang cacat. Pengguna yang terdampak harus membuat seed baru sepenuhnya menggunakan firmware yang telah diperbaiki atau perangkat aman lainnya, lalu memindahkan dana mereka ke alamat yang dikendalikan oleh seed baru tersebut.

Pengguna yang menambahkan setidaknya 50 lemparan dadu independen saat membuat seed mungkin telah menyediakan cukup keacakan tambahan untuk menghindari kelemahan tersebut. Kalimat sandi BIP-39 yang kuat juga bisa membuat rekonstruksi menjadi lebih sulit, sementara dompet yang memerlukan tanda tangan dari beberapa perangkat independen mungkin mencegah satu seed yang terkompromi untuk memindahkan dana sendirian.
Coinkite Menunjuk ke AI, Tetapi Bukti Masih Hilang
CEO Coinkite Rodolfo Novak meminta maaf secara publik dan menyatakan perusahaan mengambil tanggung jawab penuh atas kegagalan firmware. Ia mengatakan tim sedang bekerja pada perangkat lunak yang diperbaiki, laporan teknis, dan dukungan untuk pengguna yang terdampak.
Coinkite dan Novak juga mengemukakan teori yang menarik tentang bagaimana kelemahan tersebut ditemukan. Karena firmware-nya telah tersedia secara publik selama bertahun-tahun, perusahaan tersebut percaya seseorang mungkin telah menggunakan AI untuk memeriksa versi-versi lama kode dan menemukan jalur randomisasi lemah.
“Untuk setiap pengembang lainnya: kami percaya ini adalah kenyataan yang jelas dari paradigma AI baru. Tinjauan kode yang dibantu AI sekarang dapat menemukan bug laten dengan kecepatan yang lebih cepat daripada para ahli paling berpengalaman di industri ini,” Novak menulis dalam posting permintaan maafnya yang diterbitkan di X. “Jika firmware Anda bersifat open-source atau pernah bersifat publik, anggaplah sudah dibaca oleh para penyerang dan penegak keamanan alike.”
Sistem pemrograman AI modern hari ini dapat memproses repositori perangkat lunak besar dan mengidentifikasi hubungan mencurigakan antara pengaturan konfigurasi, fungsi, dan asumsi keamanan. Seorang penyerang dapat meminta sistem semacam itu untuk secara khusus mencari generator angka acak lemah, fungsi cadangan, atau kesalahan yang memengaruhi kunci kriptografi.

Peneliti independen kemudian melaporkan menggunakan model AI untuk menemukan atau menjelaskan masalah tersebut setelah masalah kerandoman dasar diketahui. Itu menunjukkan betapa mudahnya analisis kode berbantuan AI, tetapi tidak membuktikan bahwa penyerang awal menggunakan AI.

Coinkite mengakui bahwa tinjauan sendiri menggunakan model AI terkemuka gagal mengungkap kelemahan tersebut sebelum pencurian. Hasil tersebut menunjukkan bahwa sistem AI tidak secara otomatis menemukan setiap cacat serius. Kinerja mereka dapat bergantung pada instruksi yang mereka terima, jumlah kode yang disediakan, dan apakah reviewer manusia memahami tanda-tanda peringatan.
Kritikus Mengatakan Kegagalan Manusia Datang Terlebih Dahulu
Beberapa spesialis keamanan berpendapat bahwa terlalu fokus pada risiko kecerdasan buatan (AI) dapat mengalihkan perhatian dari kegagalan teknik dasar. Many believe the configuration mistake adalah jenis kesalahan perangkat lunak yang sudah dikenal, dan tinjauan kode konvensional, prosedur pengujian, atau audit yang berfokus pada generasi benih seharusnya telah mendeteksinya bertahun-tahun yang lalu.

Pandangan yang berlawanan tidak selalu tidak kompatibel. Kesalahan manusia menciptakan kerentanan dan membiarkannya bertahan, sementara AI mungkin telah menurunkan biaya untuk menemukan, memahami, atau memanfaatkannya. Para pembela harus mengidentifikasi setiap kelemahan berbahaya, sementara penyerang hanya perlu menemukan satu.
Insiden ini juga menantang asumsi tentang keamanan sumber terbuka. Kode publik memungkinkan ahli independen untuk memeriksa perangkat lunak, tetapi ketersediaan saja tidak menjamin bahwa seseorang akan meninjau bagian yang tepat, mengenali cacat halus, dan melaporkannya sebelum penyerang bertindak.
Untuk pengguna Coldcard, prioritas segera adalah menentukan kapan dan bagaimana seed mereka dibuat. Siapa pun yang memiliki seed yang terpengaruh harus memverifikasi instruksi melalui saluran resmi Coinkite, menginstal firmware yang telah diperbaiki, membuat seed baru, dan memindahkan dana dengan hati-hati sambil waspada terhadap upaya phishing dan pesan dukungan palsu.
Pertanyaan jangka panjang akan berfokus pada seberapa banyak bitcoin yang diambil, apakah penyidik dapat mengidentifikasi pelaku, dan apakah AI memainkan peran menentukan dalam menemukan kelemahan tersebut. Perusahaan dompet perangkat keras juga akan menghadapi tekanan untuk memperkuat pengujian entropi, mengaudit konfigurasi build, dan terus memeriksa kode lama dengan baik ahli manusia maupun alat AI adversarial.
