Rastgelelik başarısız olduğunda: Coldcard entropi hatası ve iki cihazın değiştirdikleri

·6 dk okuma·Yazar: SSP Editorial Team
SSP Academy kapağı: Coldcard entropi hatası ve iki cihazlı mimari

Rastgelelik başarısız olduğunda: Coldcard entropi hatası ve iki cihazın değiştirdikleri

Temmuz 2026'nın sonunda saldırganlar, yanlış hiçbir şey yapmamış binlerce donanım cüzdanından bitcoin çekmeye başladı. Sahipleri öğütlere uymuştu. İmzalamaya adanmış bir cihaz almış, tohumu çevrimdışı tutmuş, hiçbir web sitesine yazmamışlardı. Hiçbiri işe yaramadı, çünkü o cihazların ürettiği tohum hiçbir zaman göründüğü kadar rastgele olmamıştı.

Yaklaşık 1.816 BTC, dört dalga hâlinde 5.200'den fazla adresi terk etti. Bu, yılın en büyük donanım cüzdanı istismarı oldu.

Bu yazı bir zafer turu değil. Söz konusu hata, bizimki dahil neredeyse her cüzdanın başına gelebilecek türden ve ilginç soru onu kimin yayımladığı değil, bu olduğunda bir cüzdanın mimarisinin ne yaptığı.

Gerçekte ne ters gitti

Tek bir commit, Mart 2021'de.

Coldcard'ın tasarımı, tohumların bir donanım rastgele sayı üretecinden — fiziksel süreçlerden entropi üreten özel bir yongadan — üretilmesini öngörüyordu. Doğru yol budur. Ama 4.0.1 aygıt yazılımındaki bir değişiklik, tohum üretimini bunun yerine kamuya açık, koda gömülü sabitlerle beslenen bir yazılım sözde-rastgele sayı üretecinden geçirdi.

Bir PRNG tanımı gereği belirlenimcidir. Aynı başlangıç değeri verildiğinde hep aynı diziyi üretir. Yani böyle üretilmiş bir tohum, kimsenin tahmin edemeyeceği bir sayı değildir — taranabilecek kadar küçük bir kümeden çekilmiş, üstelik baştan beri yayımlanmış aygıt yazılımının içinde duran sabitlerle üretilmiş bir sayıdır.

Cihazlar normal davranmayı sürdürdü. Yirmi dört kelime gösterdiler, insanlar bunları yazdı, doğru adresler türettiler, geçerli işlemler imzaladılar. Hiçbir cüzdanda, tohumunuza ne kadar entropi girdiğini gösteren bir ekran yoktur. Etkilenen her kullanıcının elinde, beş yıla varan süre boyunca tam olarak çalışan bir cihaz gibi görünen ve öyle davranan bir cihaz vardı.

Pencere, Mart 2021'deki 4.0.1'den Temmuz 2026'daki 4.1.9'a uzanır. Aygıt yazılımını güncellemek üretimi o andan sonrası için düzeltti ve zaten oluşturulmuş tohumlar için hiçbir şey yapmadı: o anahtarlar çoktan zayıftı ve hiçbir güncelleme, birinin kasasındaki bir karta çoktan yazılmış bir sayıya geriye dönük rastgelelik ekleyemez. Etkilenen kullanıcıların yeni bir tohum üretip coinlerini taşıması gerekti.

Zayıf rastgelelik neden sessiz ve tam bir kayıptır

Bu hata sınıfının neden bu kadar ağır olduğu konusunda kesin konuşmakta fayda var, çünkü sezgisel değil.

24 kelimelik bir BIP-39 tohumu 256 bit entropiyi temsil eder. Birini tahmin etmek yalnızca zor değil, akıl almazdır: bugün ya da gelecekte, o uzayı kaba kuvvetle tarayacak bir bilgisayar yoktur. Bütün kendi saklama modelinin dayandığı temel budur: anahtarınız güvendedir, çünkü akıl almaz büyüklükte bir olasılık kümesinin bir üyesidir.

O güvence kelimelerin bir özelliği değildir. Onları seçen sürecin bir özelliğidir. Zayıf bir üreteçten çekilmiş yirmi dört kelime, güçlü bir üreteçten çekilmiş yirmi dört kelimeyle bire bir aynı görünür. Her sağlama toplamını geçer, geçerli adresler üretir ve herhangi bir cüzdanda kusursuzca geri yüklenir. Tek fark, bir başkasının da onlara ulaşabilmesidir.

Yani arıza içeriden görünmezdir ve tamdır. "Bir hata yaparsanız saldırgan sizden çalabilir" değil — kaçınılacak bir hata, reddedilecek bir kimlik avı bağlantısı, dikkatle okunacak bir onay penceresi yoktur. Para, saldırganın canı istediğinde alınabilir ve bir şeylerin ters gittiğine dair ilk işaret, paranın gitmiş olmasıdır.

İki cihaz neyi değiştirir

Aynı hata, iki mimari

İşte mimari açıdan önemli olan kısım; bunu pazarlama diliyle değil, kesin biçimde ifade etmek istiyorum.

SSP bir 2-of-2 çoklu imzadır. Para, iki bağımsız cihazda üretilmiş iki bağımsız anahtarın denetlediği bir adreste durur — biri tarayıcı eklentisinde, biri SSP Key mobil uygulamasında — ve bir işlem her iki imzayı da gerektirir. İki-of-iki düzeni bu cüzdanın bütün temelidir.

Şimdi Coldcard senaryosunu bu yapıya uygulayın. Diyelim ki eklentinin tohum üretiminde aynı kusur vardı ve bir saldırgan tarayıcı anahtarınızı eksiksiz türetebiliyor.

Yine de hiçbir şey harcayamaz. Gereken iki imzadan birine sahiptir. Adres, kimin olursa olsun ve nasıl elde edilmiş olursa olsun tek bir anahtar için parayı bırakmaz. Coinlerinizi hareket ettirmek için, telefonunuzdaki anahtarı da bağımsız ve eşzamanlı olarak kırması gerekirdi — farklı bir uygulama, farklı bir işletim sistemi, farklı bir entropi kaynağı, farklı bir anda üretilmiş.

Yapısal fark budur. Tek anahtarlı bir cüzdanda zayıf tohum tam kayıptır. Bir 2-of-2'de zayıf tohum, kendi başına kayıp olmayan ciddi bir sorundur.

Sınır, açıkça söylenirse

Burada durup SSP'nin buna bağışık olduğu sonucunu çıkarmanıza izin vermek kolay olurdu. Değil ve başkasının olayı sürerken bunun aksini iddia etmek tam da yanlış an olurdu.

Her iki SSP uygulaması da aynı BIP-39 gerçeklemesini kullanır — @scure/bip39, ikisinde de aynı sürüme sabitlenmiş. O kütüphanenin kendisindeki bir kusur her iki anahtarı da etkilerdi. SSP'nin size verdiği bağımsızlık gerçektir ama özgüldür: farklı zamanlarda, farklı cihazlarda üretilmiş, farklı işletim sistemi kaynaklarından entropi çeken iki ayrı tohum — bir yanda tarayıcının Web Crypto'su, öbür yanda mobil platformun CSPRNG'si. Bu, birbiriyle tümüyle ilgisiz iki kod tabanının bağımsızlığı değildir.

Bunun satın aldığı şey, Coldcard'da fiilen gerçekleşen arıza türüne karşı korumadır: bir ürünün tohumlarını nasıl ürettiğine dair cihaza özgü bir gerçekleme hatası. İkisinin de altındaki ortak kriptografik ilkeldeki bir kusura karşı korumaz.

Bu, "bu bizim başımıza gelemez"den belirgin biçimde daha zayıf bir iddiadır ve doğru olanıdır. Size cüzdanının entropi arızasına kategorik olarak bağışık olduğunu söyleyen biri, size mimarisinden değil pazarlamasından söz ediyordur.

Buradan çıkarılacaklar

O aygıt yazılımı penceresinden bir Coldcard'ınız varsa, tek güvenli varsayım, para hareket etmiş olsun ya da olmasın tohumun ele geçirilmiş olduğudur. Yamalı aygıt yazılımında yeni bir tohum üretin ve taşıyın. Henüz boşaltılmamış bir cihaz, güvenli bir cihaz değildir.

Herhangi bir tek anahtarlı cüzdan kullanıyorsanız, taşıdığınız risk budur ve bunun kaygısını duymaktansa farkında olmak yerinde olur. Donanım cüzdanları çoğu insan için alternatiflerden hâlâ çok daha iyidir. Ders, kötü oldukları değil; tek bir anahtarın tek bir arıza noktası olduğu ve o anahtarın geçmişinin her parçasının — yıllar önce, okumadığınız bir aygıt yazılımında doğduğu an dahil — tehdit modelinizin parçası olduğudur.

Ve genel olarak, tek bir şeyin ters gitmesinin yetmediği mimarileri yeğleyin. Bu ilke, SSP'nin neden iki cihaz istediğinin, halihazırda kimliğiniz doğrulanmışken bile bazı işlemlerin neden yeniden imza istediğinin ve bir işlemi gerçekte ne durdurur sorusunun güvendiğiniz her cüzdana sorulmaya değer olmasının nedenidir. Yanıt asla "tek bir sır ve düzgün üretilmiş olduğu umudu" olmamalıdır.

Seçeneklerin ve her birinin gerçekte neye karşı koruduğunun daha geniş bir karşılaştırması için kendi saklama seçeneklerini karşılaştırmak ödünleşimleri ele alıyor.

Bu makaleyi paylaş

İlgili makaleler