Güvenli Elemanlarda Yan Kanal Analizi
Elektromanyetik yan kanal saldırıları ve kamuya açık araştırmaların sertifikalı donanımın sınırları hakkında ortaya koydukları.
Donanım güvenliğindeki çoğu zafiyet, çip seviyesinde; firmware, tedarik zinciri, yardımcı yazılımlar veya kullanıcı davranışında ortaya çıkar. Belgelenmiş vakaların çoğunda, Secure Element kırılmak yerine atlanır. Bu serideki önceki makalelerde bu konu ayrıntılı şekilde ele alındı.
Ancak, çipin kendisi de ele geçirilebildi. Güvenli elemanlara yönelik doğrudan fiziksel saldırıların belgelenmiş kayıtlarını bulduk. Bu saldırılar, çipin kendi kriptografik işlemlerini hedef alır, gizli anahtarları çıkarır ve çipin özellikle sağladığı donanım savunmalarına rağmen başarılı olur.
Bu makale, elektromanyetik yan kanal araştırmalarıyla ilgili en önemli belgelenmiş vakaları ele alır.
Elektromanyetik yan kanal saldırısı nedir?
Elektromanyetik yan kanal saldırısı, bir çipin kriptografik işlemleri sırasında radyo dalgalarını izleyerek kullandığı gizli anahtarları tespit etmeye yarayan bir tekniktir.
Bu saldırı, kriptografik işlemler yapan fiziksel bir çipin, işlenen gizli değerlerle ilişkili gözlemlenebilir fiziksel fenomenler (güç tüketimi, zamanlama değişimi, elektromanyetik yayılım) yoluyla bilgi sızdırması gerçeğinden yararlanır.
Mükemmel bir sabit zamanlı kriptografik algoritmada, tüm işlemler, giriş verisinden bağımsız olarak aynı sürede gerçekleşir ve aynı miktarda güç çeker. Bu, zamanlama ve güç yan kanallarına karşı standart savunmadır. Üreticinin, sinyali tekdüze hale getirmesi gerekir ki gözlemlenebilir bir fark oluşmasın.
Asıl zorluk, tam bir kriptografik uygulama boyunca gerçek anlamda sabit zamanlı davranış elde etmenin zor olmasıdır; küçük sapmalar kolayca oluşabilir ve tespit edilmesi zordur.
SE'lerde yan kanal analizi vakaları
Vaka 1: NXP A700X / Google Titan Security Key
ELEKTROMANYETİK YAN KANAL · NinjaLab · USENIX Security 2021 · CVE-2021-3011
NXP A700X, NXP Semiconductors'ın P5x ailesinden bir secure element'tir; bankacılık akıllı kartlarında, kimlik belgelerinde ve donanım tabanlı kimlik doğrulama anahtarlarında kullanılan güvenli mikrodenetleyici serisidir. A700X, Google Titan Security Key donanımının içinde yer alır; Google hesaplarını korumak ve FIDO U2F kimlik doğrulamasında kullanılır. Ayrıca Yubico'nun YubiKey NEO ve Feitian'ın kimlik doğrulama anahtarlarında da bulunmuştur.
Çipin görevi, cihaz kaydı sırasında özel bir ECDSA anahtarı üretmek ve saklamak, ardından bu anahtarı kimlik doğrulama taleplerini imzalamak için kullanmaktır. FIDO U2F protokolü, özel anahtarın cihazdan asla çıkmamasını açıkça garanti eder. Onu dışarı aktarmak için meşru bir arayüz yoktur.
Saldırı nasıl gerçekleştirildi?
NXP ECDSA uygulamasını kaynak kodu olmadan anlamak için araştırmacılar önce, A700X ile aynı kriptografik kütüphaneyi kullanan açık kaynaklı JavaCard platformu NXP J3D081'i kullandılar.
J3D081 üzerinde algoritmanın yapısını tersine mühendislik ile analiz ederek, hedef A700X çipindeki zafiyetli hesaplamayı tespit etmek için gereken referans verileri elde ettiler.
Fiziksel hazırlık: Titan'ın plastik kasası, sıcak hava tabancası ve neşterle çıkarıldı ve NXP A700X ortaya çıkarıldı. EM probu çipin yüzeyine yakın konumlandırıldı. Kalıcı bir değişiklik gerekmediği için cihaz tamamen işlevsel kaldı.
Veri toplama: Titan'a kimlik doğrulama talepleri gönderilerek yaklaşık 6.000 ECDSA imzalama işlemi tetiklendi. Her işlem bir EM iz oluşturdu. Tüm veri toplama yaklaşık altı saat sürdü.
Anahtar kurtarma: EM izleri çevrimdışı olarak kafes tabanlı anahtar kurtarma algoritmaları ile işlendi. ECDSA özel anahtarı başarıyla çıkarıldı. Araştırmacılar, kurtarılan anahtarı kullanarak fiziksel Titan'ın yerine geçebilecek bir yazılım klonu oluşturdu.
Kullanılan ekipman: Langer yakın alan EM probu, Thorlabs üç eksenli mikro-mekanik manipülatör, Pico Technology PicoScope osiloskop. Toplam ekipman maliyeti yaklaşık 13.000 $.
Gerekli fiziksel erişim: Cihaza birkaç saat erişim gereklidir. Titan'ın plastik kasası açılmalı ve bu da gözle görülür müdahale izleri bırakır. Cihaz sonrasında çalışmaya devam eder ve mağdura geri verilebilir.
Bu saldırı neyi gösteriyor?
NXP A700X saldırısı, böyle bir çıkarımı önlemek için tasarlanmış bir çipten özel anahtarın doğrudan ve başarılı şekilde çıkarılmasıdır. FIDO U2F protokolünün anahtarın cihazdan asla çıkmayacağına dair güvenlik garantisi, algoritmanın fiziksel uygulamasından sızan bilgiler okunarak bozulmuştur.
NXP'nin P5x ailesi CC sertifikası almıştı ve son değerlendirme 2015'te yapılmıştı. Saldırının güncel donanım üzerindeki etkisi sınırlı olsa da, CC sertifikasının neleri gözden kaçırabileceğini anlamak açısından önemlidir.
Vaka 2: Infineon SLE78 / EUCLEAK (YubiKey 5 Serisi)
ELEKTROMANYETİK YAN KANAL · NinjaLab · CHES 2024 · CVE-2024-45678
Infineon SLE78, dünya çapında en yaygın kullanılan secure element ailelerinden biridir. YubiKey 5 Serisi donanım güvenlik anahtarının içindeki çiptir ve dünyanın en popüler donanım güvenlik anahtarıdır. Ayrıca çok çeşitli güvenlik kritik uygulamalarda da yer alır:
- Elektronik pasaportlar,
- Banka akıllı kartları,
- Otomotiv anahtar sistemleri,
- IoT kimlik doğrulama altyapısı,
- Kripto para donanım cüzdanları.
SLE78, CC EAL6+ sertifikasına sahiptir; bu, mevcut en yüksek ikinci güvence seviyesidir ve en yüksek güvenlik gerektiren ticari uygulamalar için standarttır. Farklı ürün konfigürasyonlarında yaklaşık 80 ayrı CC değerlendirmesinden geçmiştir.
Infineon'un kriptografik kütüphanesi tescillidir. Çipin firmware'ine gömülüdür ve kamuya açık değildir.
Zafiyetin bulunması: açık platform yaklaşımı
NinjaLab'den Thomas Roche, 2021 Google Titan araştırmasında kullanılan aynı yöntemi temel alarak, YubiKey 5 ile aynı kriptografik kütüphaneyi kullanan benzer bir Infineon SLE78 çipine sahip açık, programlanabilir Feitian platformunu inceledi.
Açık Feitian platformunda zafiyet karakterize edildikten sonra Roche, gerçek YubiKey 5Ci'ye geçti.
Fiziksel hazırlık: YubiKey'in dış kasası açıldı ve EM probu SLE78'in yüzeyine yakın konumlandırıldı. Cihaz işlevsel kaldı.
Veri toplama: ECDSA imzalama işlemleri sırasında EM izleri toplandı; bu, YubiKey her kullanıldığında gerçekleşen işlemdir.
Anahtar kurtarma: Her iz, modüler tersleme adımındaki EM yayılımını yakaladı. ECDSA özel anahtarı, kafes tabanlı algoritmalarla başarıyla kurtarıldı.
Ekipman maliyeti: Çevrimdışı işleme için kullanılan dizüstü bilgisayar dahil yaklaşık 10.000 €.
Fiziksel erişim penceresi: Cihaza birkaç dakikalık erişim, gerekli EM verisini toplamak için yeterlidir. Çevrimdışı işlem için ek süre gerekir ancak ek fiziksel erişim gerekmez.
Bu araştırmanın ortaya koydukları
Bu, YubiKey'in klonlanabileceği anlamına gelir. Cihaza geçici fiziksel erişimi olan, uygun prob kurulumuna ve gerekli çevrimdışı hesaplama süresine sahip sofistike bir saldırgan, YubiKey'in kayıtlı olduğu herhangi bir hesap için geçerli kimlik doğrulama yanıtları üretebilen bir yazılım kopyası oluşturabilir.
Değerlendirme metodolojisi, yeterince hassas EM ölçüm ekipmanını içermemiş olabilir. CC EAL değerlendiricileri, imzalama rutini içindeki farklı matematiksel işlemlere odaklanmış olabilir.
EUCLEAK, CC EAL6+ sertifikasının, çipin bilinen tekniklere ve tanımlı tehdit modellerine karşı test edildiğinin en açık kamuya açık kanıtıdır.
Her iki yan kanal vakasının gösterdikleri
Birlikte ele alındığında, NXP A700X saldırısı ve EUCLEAK, güvenli ve güvenlik odaklı çiplere yönelik doğrudan fiziksel saldırıların belgelenmiş bir kaydını oluşturur. Her biri farklı bir üreticiyi aynı teknikle hedef almış ve başarılı olmuştur.
Çip | Teknik | Yıl | Temel bulgu |
|---|---|---|---|
NXP P5x ailesi (CC EAL4+) | EM yan kanal (SCA) | 2021 | ECDSA özel anahtarı çıkarıldı; FIDO token'ı tespit edilmeden klonlandı. NXP ECC kriptolib'de sabit zamanlı olmayan skaler çarpma hatası. |
Infineon SLE78 (CC EAL6+) | EM yan kanal (EEA ile zamanlama) | 2024 | EAL6+ sertifikalı bir çipten ECDSA özel anahtarı çıkarıldı. Zafiyet, 14 yıl ve yaklaşık 80 CC değerlendirmesi boyunca tespit edilmedi. |
Bu, güvenli eleman tasarımının temel zorluğudur: doğru kriptografi gereklidir ancak tek başına yeterli değildir. Uygulamanın ayrıca sabit zamanlı, uygun şekilde korumalı ve yan kanal analizine dirençli olması gerekir.
Sonuçlar
Bu makalede anlatılan her iki saldırı da, araştırmacının hedef cihaza dakikalar veya saatler boyunca sahip olmasını, özel ve pahalı laboratuvar ekipmanları kullanmasını (minimum 10.000–13.000 €) ve elektromanyetik yan kanal analizi ile kafes tabanlı kriptoanaliz konusunda uzman düzeyde bilgi sahibi olmasını gerektirir. Hiçbiri uzaktan gerçekleştirilemez ve cihazda gözle görülür bir hasar bırakmaz.
Sizin gibi ortalama bir donanım cüzdanı kullanıcısı için gerçekçi tehdit, Langer probu ve sinyal işleme yazılımı olan bir devlet laboratuvarı değil; oltalama, sosyal mühendislik, zararlı yazılım ve tehlikeye atılmış seed phrase depolamasıdır.
Birincil kaynaklar
Vaka 1 — NXP A700X / Google Titan:
- Tam makale: ninjalab.io/a-side-journey-to-titan/ ve eprint.iacr.org/2021/028
- USENIX Security 2021 sunumu: usenix.org/conference/usenixsecurity21/presentation/roche
- CVE-2021-3011
Vaka 2 — Infineon SLE78 / EUCLEAK:
- Tam makale ve resmi araştırma sayfası: ninjalab.io/eucleak/
- Cryptology ePrint Archive: eprint.iacr.org/2024/1380
- Yubico güvenlik bildirimi: YSA-2024-03
- CVE-2024-45678 — NVD/NIST
- CHES 2024 sunumu: hardwear.io/netherlands-2024/presentation/eucleak.pdf