Neden Secure Element Tek Başına Güvenin Merkezi Değildir?

Çoğu cüzdan güvenlik ihlali, secure element çevresinde gerçekleşir; doğrudan içinde değil.

Author logo
Patrick Dike-Ndulue
Post image

Secure element serisinin ilk makalesinde secure element'in ne olduğu anlatılmıştı. İkinci makale, hangi saldırganları durdurduğunu ve hangilerini durduramadığını ele aldı. Bu makale ise farklı bir soruya odaklanıyor: Çipin kendisi tamamen güvenliyse, bu yeterli mi?
 

Kısa cevap: Hayır. Bunun nedeni ise çipin mühendisliğiyle ilgili değil. Donanım cüzdan kullanıcılarına yönelik en başarılı saldırıların çoğu secure element'i aşmaz. Gerek de yoktur. Saldırganlar, secure element'in çevresindeki katmanları hedef alır: bir kâğıda yazılmış seed phrase, çipe ne yapacağını söyleyen firmware ve cihaza erişimi kontrol eden PIN. Secure element teknik olarak aşılamaz olsa bile, bulunduğu cüzdan tamamen tehlikeye girebilir.
 

Bu nedenle cüzdan güvenliğinin bir sistem, tek başına bir çip olmadığını söylüyoruz. Secure element bu sistemin en güçlü bileşenidir, en içteki savunma hattıdır. Ancak yalnızca bir parçadır. Onu tüm hikâye olarak görmek, saldırganların istismar etmeye hazır olduğu bir yanlış anlamadır.

 

Ortaçağda bir kale sadece bir iç kuleden ibaret değildi. Bir dizi savunma katmanından oluşuyordu: hendek, dış duvarlar, iç duvarlar, ana kapı ve en sonunda merkezdeki iç kule. Her katman farklı bir amaca hizmet eder ve farklı saldırganları durdururdu. Bir katmanın aşılması savaşın bittiği anlamına gelmezdi; saldırgan bir sonraki katmana yaklaşmış olurdu. İç kule en savunulabilir noktaydı, ancak dış duvarları terk edilmiş bir kale, iç kulesi ne kadar güçlü olursa olsun iyi savunulmuş sayılmazdı.

 

Birinci Katman: Firmware Bütünlüğü ve Secure Boot

Secure element, özel anahtarı saklar ve korur. Ancak bu element, o anahtarla ne yapılacağına kendi başına karar vermez. Talimat alır. Bu talimatlar ise cihazın firmware'inden, yani donanım cüzdanın ana işlemcisinde çalışan ve davranışını yöneten yazılımdan gelir.

Bu da önemli bir soruyu gündeme getirir: Secure element'e komut gönderen firmware'in üreticinin orijinal yazılımı olduğunu ve değiştirilmediğini nasıl bilebilirsiniz?
 

Firmware bütünlüğü ne anlama gelir?

Firmware bütünlüğü, cihazınızda çalışan kodun üreticinin gönderdiğiyle birebir aynı, değiştirilmemiş, tehlikeye atılmamış ve orijinal olduğu güvencesidir. Donanım cüzdanında firmware, cihazın nasıl tepki verdiğinden işlemlerin nasıl oluşturulup imzaya sunulduğuna kadar tüm görünür süreçleri yönetir.

Bir saldırgan firmware'i değiştirebiliyor veya yerine kendi yazılımını koyabiliyorsa büyük avantaj elde eder. Kötü amaçlı firmware, ekranda imzalanan adresten farklı bir adres gösterebilir. İşlem tutarlarını sessizce değiştirebilir. Kullanıcı arayüzünü manipüle ederek PIN'i öğrenebilir. Bazı mimarilerde, secure element'in korumasını aşmayı kolaylaştıran koşullar oluşturabilir. Bu saldırıların hiçbiri doğrudan secure element'i kırmayı gerektirmez; gönderilen ve ekranda gösterilen veriyi kontrol ederek çalışırlar.

Secure boot

Firmware manipülasyonuna karşı başlıca teknik savunma secure boot'tur: Firmware'in kriptografik imzası doğrulanmadan çalışmasına izin verilmez. Üretici, özel bir imzalama anahtarına sahiptir. Tüm orijinal firmware sürümleri bu anahtarla imzalanır. Cihaz açılırken firmware'i üreticinin açık anahtarıyla karşılaştırır. İmza uyuşmazsa—yani firmware değiştirilmiş, yer değiştirmiş veya bozulmuşsa—cihaz başlatılmaz.

Bu önemli bir savunmadır, ancak sınırları vardır. Secure boot, sadece üretici tarafından imzalanmış firmware'in çalışmasını garanti eder. Üreticinin imzalama altyapısının asla ele geçirilmediğini, firmware'in kendisinde hiç açık olmadığını veya gelecek bir güncellemenin yeni bir zafiyet getirmeyeceğini garanti etmez. Bunlar artık risklerdir; ciddi üreticilerde genellikle çok düşük olsa da tamamen sıfırlanamaz.

Bu katmanın kapsamadığı alanlar

Secure boot, orijinal ve düzgün imzalanmış firmware'deki açıkları önlemez. Gerçek firmware'de, hatta istemeden eklenmiş bir hata bile istismar edilebilir bir durum yaratabilir. Bu nedenle firmware güncelleme hijyeni önemlidir: Firmware'in güncel tutulması, bilinen açıkların kapatılmasını sağlar; ancak her güncellemeye de güvenmek gerekir.

Saygın donanım cüzdan üreticileri firmware değişim günlüklerini yayımlar, firmware'i değiştirilemez (immutable) yapar, bağımsız incelemeyi zorunlu kılar ve bazı durumlarda kullanıcıların firmware hash'lerini yüklemeden önce bağımsız olarak doğrulamasına izin verir.
 

İkinci Katman: PIN ve Erişim Kontrolü

Firmware'in orijinal ve secure element'in sağlam olduğunu varsayarsak, sıradaki koruma katmanı erişim kontrolüdür: Bu cihazı kim kullanabilir?

Donanım cüzdanları genellikle cihazda girilen sayısal bir PIN ister; PIN girilmeden hiçbir komuta yanıt vermez. PIN, cihazınızı fiziksel olarak ele geçiren birinin onu doğrudan kullanmasını engelleyen mekanizmadır. Doğru PIN girilmeden cihaz işlem imzalamaz, adres göstermez veya başka hiçbir işlevine erişim sağlamaz.

PIN koruması secure element ile nasıl çalışır?

PIN, doğrudan secure element tarafından doğrulanır; cihazın genel işlemcisi tarafından değil. Bu mimari açıdan çok kritiktir. Eğer PIN kontrolü ana işlemcinin yazılımında olsaydı, o işlemcide rastgele kod çalıştırabilen bir saldırgan PIN kontrolünü atlayabilirdi. Kontrol secure element içinde gerçekleştiğinde, anahtar saklama kadar aynı müdahaleye dayanıklı korumalar devrededir.

Sertifikalı donanım cüzdanlarının çoğunda, secure element içinde bir PIN deneme sayacı da bulunur. Belirli sayıda (genellikle üç ile on arasında) yanlış denemeden sonra cihaz kendini siler, kalıcı olarak kilitler veya Tangem’de olduğu gibi güvenlik gecikmesini artırır. Bu, brute-force PIN tahminini boşa çıkarır: Dört haneli bir PIN’de 10 deneme hakkı olsa bile rastgele kırmak istatistiksel olarak imkansıza yakındır.

PIN koruması ne zaman güçlüdür?

Fırsatçı hırsızlık girişimlerine karşı, cihazınızı bulan veya çalan ve PIN'inizi bilmeyen biri için cihaz üzerindeki PIN doğrulama ve deneme sınırı birleşimi son derece etkilidir. Saldırgan, kodu tahmin etmeden önce kendini yok edecek kilitli bir cihazla karşılaşır. Yani ana kapı görevini başarıyla yapar.

PIN koruması ne zaman zayıftır?

PIN, cihazı yetkisiz kullanıma karşı korur. Ancak seed phrase'i korumaz. Bunlar kalenin iki ayrı katmanıdır ve farklı şeyleri korurlar.

Birisi hem cihazınızı hem de yazılı seed phrase'inizi aynı hırsızlıkta çalarsa, PIN'iniz önemsizdir. Cihaza hiç ihtiyaçları yoktur; seed phrase ile uyumlu herhangi bir yazılım cüzdanında cüzdanınızı yeniden oluşturabilirler. Yani ana kapı tamamen dolanılmış olur.

PIN güvenliği ayrıca PIN'in gözlemlenmemesine bağlıdır. Halka açık bir yerde girilen, kameraya kaydedilen veya yakındaki biri tarafından görülen bir PIN, secure element ne kadar güçlü olursa olsun, tehlikeye girmiş demektir.

Ayrıca, PIN yetkisiz kullanıma karşı korur; ancak zorla, tehdit altında PIN'inizi vermeye zorlanırsanız, çip sizi koruyamaz. Bu bir tasarım hatası değildir; teknik güvenliğin kapsamı dışında kalan bir durumdur.
 

Üçüncü Katman: Seed Phrase Saklama

Seed phrase, donanım cüzdanı kurarken üretilen 12 veya 24 kelimelik ifadedir; özel anahtarınızın insan tarafından okunabilen halidir. Bir kurtarma mekanizması olarak tasarlanmıştır: Cihazınızı kaybederseniz veya kırarsanız, bu kelimelerle yeni bir cihazda cüzdanınızı geri yükleyebilirsiniz. Her kelime bir kontrol noktasıdır; hepsi birleştiğinde secure element'in koruduğu anahtarı yeniden oluştururlar.

Bu tasarım, hem vazgeçilmezdir hem de çoğu donanım cüzdan kurulumunda en büyük yapısal zafiyettir.

Seed phrase neden kale benzetmesini bozar?

Şimdiye kadar anlatılan her şey—secure boot, PIN koruması ve secure element'in müdahaleye dayanıklılığı—tek bir varsayım üzerine kuruludur: Özel anahtar çipin içinde yaşar ve ona ulaşmanın tek yolu çiptir.
 

Seed phrase bu varsayımı geçersiz kılar. Anahtarın bir kopyasıdır; düz metin halinde, kelimeler olarak kodlanmış, çip dışında, kâğıtta, metalde, evinizde, belki birden fazla yerde bulunur. Onu ele geçiren herkes, donanım cüzdanınıza hiç dokunmadan özel anahtarınızı yeniden oluşturabilir. Seed phrase başkasının eline geçtiği anda, çipin sunduğu tüm savunmalar geçersiz olur.
 

Bu, donanım cüzdan tasarımında bir hata değildir. Bilinçli bir tercihtir: Cihazınızı kaybetmek, fonlarınızı sonsuza dek kaybetmek anlamına gelmemelidir. Kurtarma mekanizması, ister istemez bir kurtarma açığı doğurur. Önemli olan, bu açığın nasıl yönetildiğidir.

Seed phrase için tehdit ortamı

Seed phrase'ler, donanım çiplerinin çözmek için tasarlanmadığı tehditlerle karşı karşıyadır:

  • Fiziksel hırsızlık: Kâğıda yazılmış seed phrase, hırsızlık sırasında bulunan bir evde herkesin erişimine açıktır. Kullanmak için teknik bilgi gerekmez; sadece uyumlu bir cüzdan uygulaması yeterlidir.
     

  • Ateş ve su hasarı: Donanım cüzdanı zarar görse bile seed phrase güvendeyse yenisiyle kurtarılabilir. Ancak seed phrase zarar görür veya yok olursa, geri dönüşsüz kayıp yaşanır.
     

  • İstemeden ifşa: Seed phrase'in fotoğrafını çekmek, bulut not uygulamasında saklamak veya herhangi bir dijital arayüze yazmak, uzaktan hırsızlığa açık hale getirir.
     

  • Miras ve vefat: Seed phrase'in güvenilir kişilere erişilebilir bir kurtarma planı yoksa, fonlar sahip vefat ettiğinde veya iş göremez olduğunda kalıcı olarak erişilemez hale gelir.

Seed phrase saklama nasıl güçlendirilir?

Standart yaklaşım, dayanıklı bir malzeme üzerinde fiziksel yedekleme yapmaktır; en azından kâğıt, daha ciddi varlıklar için özel metal plakalar ve bunların güvenli (ör. kasa, banka kasası) ve sahibinin kimliğiyle kolayca ilişkilendirilemeyecek bir yerde saklanması önerilir.

Bunun ötesinde, seed phrase riskini azaltmak için çeşitli mimari yaklaşımlar vardır:

  • Passphrase koruması (25. kelime): Çoğu seed phrase standardı, seed phrase ile birlikte kullanılan isteğe bağlı bir passphrase'e izin verir. Seed phrase'e sahip olup passphrase'i bilmeyen bir saldırgan fonlara erişemez. Passphrase ezberlenmeli veya ayrı bir yerde saklanmalıdır; ek bir sır olarak ayrıca korunması gerekir.
     

  • Shamir's Secret Sharing: Seed phrase, kriptografik yöntemlerle birden fazla parçaya bölünebilir; tek başına her parça işe yaramaz. Anahtarı kurtarmak için (örneğin beş parçadan herhangi üçü) bir eşik kadar parça birleştirilmelidir. Böylece risk coğrafi olarak ve saklayıcılar arasında dağıtılır.
     

  • Çoklu imzalı cüzdanlar: Tek bir seed phrase yerine, çoklu imza düzeninde bir işlemi onaylamak için birden fazla bağımsız anahtar gerekir. Tek bir anahtar veya seed phrase'in ele geçirilmesi yeterli değildir. Bu, tek bir seed phrase'i daha iyi korumaktan mimari olarak farklıdır; tehdit modelini tamamen değiştirir.

Hiçbir teknik çözümün tam olarak çözemediği şey

Seed phrase güvenliği nihayetinde insan davranışına bağlıdır: Saklama yeri seçimi, kimlerin bileceği, zaman içinde korunması ve koşullar değiştikçe güncellenmesi. Hiçbir çip, bir kâğıdın nerede saklanacağına dair sağduyuyu kodlayamaz. Bu, kalenin donanımdan çok kullanıcıya bağlı olan katmanıdır.

Sistemin bütünü

Kale benzetmesini bu üç katmana yaymak, donanım cüzdanı güvenliğinin nasıl çalıştığını ve nerede zayıfladığını gösterir.

Secure element iç kaledir: En savunulabilir nokta, anahtarın gerçekten yaşadığı yer; çoğu saldırgana karşı mühendislikle korunan katmandır. Genellikle aşılması en zor katmandır.

Firmware bütünlüğü ve secure boot dış duvarlardır: İç kaleye hangi kodun yaklaşabileceğini kontrol eder, çipin aldığı talimatların orijinal olmasını sağlar. Dış duvarları olmayan bir kale, iç kulesi ne kadar güçlü olursa olsun iyi savunulmuş değildir.

PIN ve erişim kontrolleri ana kapıdır: Yetkisiz kullanıcıların kaleyle etkileşimini tamamen engelleyen, insan tarafından işletilen kontrol noktasıdır. Fırsatçı saldırganlara karşı etkilidir; daha hedefli tehditlere karşı daha az etkilidir.

Seed phrase gizli geçittir: Yasal olarak kullanılabilen ancak yanlış ellere geçtiğinde tüm savunmaları atlayan kurtarma yoludur. Geçidin güvenliği neredeyse tamamen nereye çıktığına ve kimlerin bildiğine bağlıdır.
 

Bu mimarinin pratik sonucu, sistemin etkin güvenliğinin en güçlü katmanına değil, kullanıcının karşı karşıya olduğu gerçek tehdide göre en zayıf katmanına bağlı olmasıdır. Secure element'i EAL6+ sertifikalı olan ancak seed phrase'i telefonundaki notlar uygulamasında açık metin olarak saklayan biri, çipten bağımsız olarak en zayıf korumaya sahiptir.

Cüzdan güvenliği bir sistemdir. Secure element bu sistemin en önemli bileşenidir. Ancak "secure element güçlü" demek, "cüzdan güvenli" demek değildir. Bunlar farklı şeylerdir.

Secure element, merkezdeki rolünü hak eder. En zor kısmı çözer: Özel anahtarı uzaktan ve fiziksel teknik saldırılara karşı korur. Ancak bunu, firmware, erişim kontrolleri ve anahtar yedeği gibi daha geniş bir mimari içinde yapar ve bu katmanlar da en az onun kadar ciddiye alınmalıdır.

Sistemi anlamak, donanım cüzdanlarına veya secure element'e karşı bir argüman değildir. Tam tersine, tüm sistemi ciddiye almanın gerekliliğine işaret eder; bu da her katmanın neyi kapsadığını ve neyi kapsamadığını anlamakla başlar.

Author logo
Yazar Patrick Dike-Ndulue

Senior editor covering crypto, onchain equities, and technology.

Author logo
İnceleyen: Rukkayah Jigam

Writer & editor covering digital assets and product updates.