Kanadalı Coinkite şirketinin ürettiği Coldcard soğuk cüzdanlarındaki bir kodlama açığı, bilgisayar korsanlarının yalnızca 41 dakika içinde 1.196 adresi boşaltarak 70 milyon dolar değerinde Bitcoin çalmasına zemin hazırladığı ortaya çıktı. 30 Temmuz'da gerçekleştirilen bu siber saldırıda, saldırganlar o anki değeriyle yaklaşık 70,2 milyon dolar eden 1.082,65 BTC'yi ele geçirdi.
Soğuk Cüzdanlardaki Yazılım Hatası Neden Kaynaklanıyor?
Operasyonun, Kanadalı teknoloji firması Coinkite'ın ürettiği yalnızca Bitcoin destekli soğuk cüzdanı Coldcard'daki bir yazılım hatasından kaynaklandığı tespit edildi. Sorunun kökeni, cihazın kurtarma kelimelerini (seed) oluştururken STM32 donanım rastgele sayı üreteci (RNG) yerine deterministik bir yazılım sözde rastgele sayı üreteci (PRNG) kullanmasına yol açan Mart 2021 tarihli bir yazılım entegrasyon hatasına dayanıyor.
Block şirketinin güvenlik araştırmacılarına göre, cihazın benzersiz kimliğini (UID), zamanlayıcı durumunu ve önceki RNG çağrı geçmişini kısıtlayabilen veya tespit edebilen bir saldırgan, cihaza fiziksel erişimi olmadan muhtemel anahtar çıktılarını çevrim dışı ortamda yeniden üretebiliyor. Elde edilen bu aday anahtarlar, daha sonra açık blokzinciri verileriyle karşılaştırılarak kurbanların adresleri tespit edilebiliyor.
Güvenlik Seviyesindeki Düşüş ve Etkileri Neler?
Araştırmacılar, hatanın Coldcard'ın üretim yapılandırmasında donanım RNG'sini etkinleştiren MICROPY_HW_ENABLE_RNG değerinin sıfır olarak tanımlanmasından kaynaklandığını ortaya koydu. İlgili libngu kütüphanesi, makronun etkin olup olmadığını kontrol etmek yerine yalnızca varlığını denetleyerek yazılım derlemesini MicroPython'un 'Yasmarang' adlı yedek sistemine bağladı. Çipin benzersiz kimliği ve zamanlayıcı kayıtlarıyla başlatılan MicroPython yedeği, ilk başlatmanın ardından sisteme hiçbir yeni rastgelelik (entropi) verisi eklemedi.
Coinkite verilerine göre, 12 kelimelik standart bir BIP-39 anahtarının 128 bitlik bir güvenlik sunması gerekirken, bu kodlama hatası Mk3 modelinde etkin güvenlik seviyesini yaklaşık 40 bite, Mk4, Mk5 ve Q modellerinde ise yaklaşık 72 bite kadar düşürdü. Block ekibi belirli bir pratik rakam vermemekle birlikte koşullu tavan değerlerini 240,7 ve 273,3'ün altında olarak konumlandırıyor ve ikinci değerin 73 bitlik kriptografik güvenliğe tam eşdeğer olmadığı konusunda uyarıyor.
Coinkite Şirketinin Yanıtı ve Kullanıcılara Tavsiyeleri Neler?
Coinkite, etkilenen tüm modeller ve sürüm kanalları için 31 Temmuz'da acil bir güncelleme yayınladı. Şirket, güncellemeyi yüklemenin önceden oluşturulmuş zayıf anahtarları onarmayacağı konusunda uyararak açıkta kalan kullanıcılara güncellenmiş yazılım üzerinde yepyeni bir anahtar oluşturup varlıklarını taşıma çağrısında bulunuyor. Eski kurtarma kelimelerini güncellenmiş yazılıma veya başka bir cüzdana geri yüklemek mevcut güvenlik zafiyetini yeni sisteme taşıyor.
Saldırıyı gerçekleştiren kişinin kimliği henüz tespit edilemedi. Coinkite şirketine ait Coldcard soğuk cüzdanlarında 2021 yılından beri var olan bir kodlama hatasının, bilgisayar korsanlarının fiziksel erişime ihtiyaç duymadan cüzdan şifrelerini kırmasına ve 41 dakikada 70,2 milyon dolarlık Bitcoin çalmasına imkan tanıdığı bildirildi.
