Skip to content

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)
  1. 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.
  2. 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.
  3. Çok sayıda signature tetikle. k^-1 mod n hesaplaması çevresinde EM trace'leri yakalanırken cihazdan ECDSA signature'ları üretmesi (örn. FIDO/U2F akışı yoluyla) istenir.
  4. Nonce leakage'ını çıkar. EEA execution'ının side-channel analizi, her geçici (ephemeral) nonce k hakkında kısmi bilgiyi geri elde eder.
  5. 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.

References