EUCLEAK Side-Channel Attack on the YubiKey 5 Series (CVE-2024-45678)¶
Infineon cryptographic library'deki non-constant-time bir Extended Euclidean modular inversion'a karşı bir electromagnetic side channel; fiziksel erişim verildiğinde ECDSA private-key çıkarımına (ve FIDO cihaz cloning'ine) imkân verir.
Mechanism¶
Bug sınıfı: modular inversion'da data-dependent timing/EM leakage
ECDSA signing, signature başına gizli bir nonce k'nin modular inverse'ı
k^-1 mod n'i hesaplar. SLE78 secure element üzerinde çalışan Infineon
cryptographic library, bu inversion'ı non-constant-time bir Extended
Euclidean Algorithm (EEA) ile gerçekler. Bir secure element'in koruması
beklenen invariant şudur: secret'a bağlı ara değerler gözlemlenebilir fiziksel
davranışı (zaman, power, EM) etkilememelidir. EEA bunu ihlal eder:
quotient/subtraction adımlarının dizisi operand değerlerine bağlıdır, dolayısıyla
inversion sırasındaki electromagnetic emanation'lar gizli nonce k'nin bit'leriyle
korele olur. ECDSA'nın signature denklemi s = k^-1 (h + r·d) mod n, k'yi
uzun-vadeli private key d'ye bağladığı için, birkaç nonce k hakkında yeterli
bilgi geri elde etmek bir attacker'ın d için bir lattice/HNP problemi çözmesine
izin verir. Aşılan sınır, secure element'in private key'in chip'ten asla çıkmayacağı
sözüdür — doğrudan çıkmaz, ama ara inversion'ın fiziksel leakage'ından yeniden inşa
edilir. NinjaLab, kusurun yaklaşık 80 Common Criteria değerlendirmesi boyunca
~14 yıl tespit edilemediğini bildiriyor.
Walkthrough¶
Public NinjaLab whitepaper'ı (Roche, 2024), kavramsal, fiziksel-erişimli bir attack chain'i anlatır.
Yüksek seviyeli reproduction (public whitepaper'dan)
- Hedef library'yi anla. Araştırmacılar, Infineon ECDSA / modular-inversion implementasyonunu reverse-engineer etmek için karşılaştırılabilir bir Infineon SLE78 üzerine kurulu bir JavaCard open platform (Feitian A22) edindi.
- Cihazı aç ve bir EM probe yerleştir. YubiKey'e fiziksel erişim gerekir; case açılır ve secure element'in üzerine bir near-field EM probe konumlandırılır.
- Çok sayıda signature tetikle.
k^-1 mod nhesaplaması çevresinde EM trace'leri yakalanırken cihazdan ECDSA signature'ları üretmesi (örn. FIDO/U2F akışı yoluyla) istenir. - Nonce leakage'ını çıkar. EEA execution'ının side-channel analizi, her geçici
(ephemeral) nonce
khakkında kısmi bilgiyi geri elde eder. - Key'i çöz. Çok sayıda signature boyunca elde edilen partial-nonce verisi,
uzun-vadeli ECDSA private key
d'yi yeniden inşa eden bir lattice attack'ı (Hidden Number Problem) besler ve FIDO credential'ının bir clone'una imkân verir.
Bildirilen maliyet, dakikalar mertebesinde ölçüm artı özel (oscilloscope/EM) ekipman ve uzmanlık düzeyindedir — uzak veya ölçeklenebilir bir saldırı değildir.
Detection¶
Host üzerinde büyük ölçüde tespit edilemez
EUCLEAK, token'ın fiziksel olarak ele geçirilmesini ve sökülmesini gerektirir, dolayısıyla doğrulanan host'ta software, EDR veya telemetri sinyali yoktur. Savunma sinyalleri fiziksel/operasyoneldir:
- Chain-of-custody / kurcalanma (tamper) kanıtı — açılmış, yeniden case'lenmiş ya da sahibinin kontrolü dışında uzunca bir süre kalmış bir token.
- FIDO attestation & registration anomalileri — beklenmedik yeni authenticator kayıtları ya da zaman olarak yakın iki yerden (orijinal ve bir clone) kullanılan bir credential.
- Firmware-version envanteri — dağıtılmış YubiKey'leri firmware
< 5.7.0(ve YubiHSM 2< 2.4.0) için saymak vulnerable hardware'i işaretler.
Mitigation¶
Vulnerable firmware'i değiştirin; phishing-resistant defense in depth'e güvenin
- YubiKey firmware 5.7+ / YubiHSM 2 2.4.0+, Infineon cryptographic library'yi Yubico'nun kendi constant-time implementasyonuyla değiştirir. YubiKey'lerdeki firmware sahada upgrade edilemez, dolayısıyla mitigation, etkilenen hardware'i değiştirmek demektir.
- Cryptographic library'ye yönelik bir Infineon patch'i geliştirildi (yeniden sertifikasyona tabi); diğer SLE78 tabanlı ürünler (TPM'ler, smartcard'lar, e-passport'lar, crypto wallet'lar) vendor'larının düzeltilmiş library'yi yayınlamasına bağlıdır.
- Operasyonel kontroller: fiziksel sahipliği zorunlu kılın; ikinci bir backup authenticator kaydedin; yeni credential kayıtlarını izleyin; tek bir cloned key yetmesin diye account seviyesinde phishing-resistant MFA kullanın. Saldırı, fiziksel olarak ele geçirilmemiş key'ler için FIDO'nun phishing direncini zayıflatmaz.