1 คะแนน โดย GN⁺ 2024-09-04 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

เอกสารดาวน์โหลด

สรุป

  • Secure element คือไมโครคอนโทรลเลอร์ขนาดเล็กที่ใช้สร้าง/เก็บความลับและดำเนินการเข้ารหัส
  • โทเค็นฮาร์ดแวร์ FIDO เป็นปัจจัยยืนยันตัวตนที่แข็งแกร่งสำหรับการล็อกอินเข้าแอปพลิเคชัน โดยมักมี secure element อยู่ภายใน และใช้ ECDSA เป็นหลักการเข้ารหัสหลัก
  • YubiKey 5 Series เป็นหนึ่งในโทเค็นฮาร์ดแวร์ FIDO ที่ถูกใช้อย่างแพร่หลายที่สุด โดยใช้ secure element ของ Infineon SLE78

เนื้อหางานวิจัย

  • ทำความเข้าใจการทำงานของการติดตั้งใช้งาน ECDSA บน Infineon SLE78 โดยอาศัยแพลตฟอร์มเปิด JavaCard (Feitian A22) และค้นพบช่องโหว่แบบ side-channel จนสามารถออกแบบการโจมตีจริงได้
  • การโจมตีนี้ถูกสาธิตบน YubiKey 5Ci
  • ช่องโหว่นี้ยังขยายผลไปถึงไมโครคอนโทรลเลอร์ความปลอดภัยรุ่นใหม่ของ Infineon อย่าง Optiga Trust M และ Optiga TPM

สิ่งที่ค้นพบสำคัญ

  • พบช่องโหว่แบบ side-channel ในไลบรารีเข้ารหัสของ Infineon Technologies
  • ช่องโหว่นี้ถูกมองข้ามมาเป็นเวลา 14 ปี ในการประเมินรับรอง Common Criteria ระดับสูงสุดราว 80 ครั้ง
  • การโจมตีต้องอาศัยการเข้าถึง secure element ทางกายภาพ และสามารถดึงกุญแจลับ ECDSA ออกมาได้ด้วยการเก็บข้อมูล side-channel ทางแม่เหล็กไฟฟ้าเพียงไม่กี่นาที
  • ในกรณีของโปรโตคอล FIDO สามารถสร้างโคลนของอุปกรณ์ FIDO ได้
  • YubiKey 5 Series ทั้งหมด (เฟิร์มแวร์เวอร์ชัน 5.7 หรือต่ำกว่า) ได้รับผลกระทบจากการโจมตีนี้ และไมโครคอนโทรลเลอร์ความปลอดภัยทั้งหมดที่รันไลบรารีเข้ารหัสของ Infineon ก็มีช่องโหว่เช่นกัน

ข้อควรทราบ

  • เป้าหมายหลักของโทเค็นยืนยันตัวตน (เช่น อุปกรณ์ฮาร์ดแวร์ FIDO) คือการป้องกันการโจมตีแบบฟิชชิง
  • การโจมตี EUCLEAK ต้องใช้การเข้าถึงอุปกรณ์ทางกายภาพ อุปกรณ์ราคาสูง ซอฟต์แวร์ที่ปรับแต่งเฉพาะ และทักษะทางเทคนิค
  • ดังนั้น การใช้ YubiKey หรือผลิตภัณฑ์อื่นที่ได้รับผลกระทบเป็นโทเค็นยืนยันตัวตนฮาร์ดแวร์ FIDO ก็ยังปลอดภัยกว่าการไม่ใช้

ผู้ค้นพบ

  • Thomas Roche (NinjaLab)

รายการผลิตภัณฑ์ที่ได้รับผลกระทบ

  • ไมโครคอนโทรลเลอร์ความปลอดภัยของ Infineon ทั้งหมดที่มีไลบรารีเข้ารหัสของ Infineon รวมอยู่ด้วย (ทุกเวอร์ชันที่มีอยู่ในปัจจุบัน)
  • YubiKey 5 Series ทั้งหมด (เฟิร์มแวร์เวอร์ชัน 5.7 หรือต่ำกว่า)

ข้อมูลเพิ่มเติม

  1. Feitian A22 Javacard ที่ใช้ในการวิจัยเป็นผลิตภัณฑ์รุ่นเก่าที่เลิกจำหน่ายแล้ว ปัจจุบันผลิตภัณฑ์ Feitian ทั้งหมดที่ขายในเว็บสโตร์ใช้ไลบรารีเข้ารหัสของ Feitian เอง และไม่ได้รับผลกระทบจากงานวิจัยนี้
  2. การอัปเดตเฟิร์มแวร์ YubiKey 5.7 ใหม่ (6 พฤษภาคม 2024) ได้เปลี่ยน YubiKey จากไลบรารีเข้ารหัสของ Infineon ไปใช้ไลบรารีเข้ารหัสใหม่ของ Yubico ซึ่งไม่ได้รับผลกระทบจากงานวิจัยนี้
  3. Infineon มีแพตช์สำหรับไลบรารีเข้ารหัสนี้แล้ว แต่ยังไม่ผ่านการประเมินรับรอง Common Criteria

CVE

  • กำลังรอ CVE ID

สรุปโดย GN⁺

  • บทความนี้กล่าวถึงช่องโหว่แบบ side-channel ที่ค้นพบในไลบรารีเข้ารหัสของ Infineon Technologies
  • ช่องโหว่นี้ส่งผลต่อระบบความปลอดภัย เช่น โทเค็นฮาร์ดแวร์ FIDO และสามารถดึงกุญแจลับออกมาได้ผ่านการเข้าถึงทางกายภาพ
  • แม้การใช้งานผลิตภัณฑ์อย่าง YubiKey จะยังคงปลอดภัย แต่แนะนำให้อัปเดตเป็นเฟิร์มแวร์ล่าสุด
  • ผลิตภัณฑ์ที่มีความสามารถใกล้เคียงกัน ได้แก่ Google Titan Security Key และ SoloKeys

1 ความคิดเห็น

 
GN⁺ 2024-09-04
ความเห็นจาก Hacker News
  • ผู้โจมตีต้องมีการเข้าถึงทางกายภาพ ไม่ใช่แค่ชื่อผู้ใช้และรหัสผ่าน

    • ต้องแกะอุปกรณ์ออกและประกอบกลับเข้าไปใหม่
    • การทาน้ำยาทาเล็บบนรอยต่อพลาสติกอาจมีประโยชน์
    • จุดอ่อนอย่างหนึ่งของ FIDO token คือจำเป็นต้องดูแลรายการที่ลงทะเบียนไว้ด้วยตนเอง
    • หากโทเค็นหายหรือถูกขโมย ต้องยกเลิกการลงทะเบียนทั้งหมดด้วยตนเอง
  • เรื่องที่น่าหงุดหงิดที่สุดคือไม่สามารถแค่เปลี่ยน YubiKey ได้ง่าย ๆ

    • ต้องอัปเดตบัญชีทีละบัญชีด้วยตนเอง
    • จำไม่ได้แล้วว่าเคยใช้ YubiKey ไว้ที่ไหนบ้างในอดีต
    • YubiKey มีฟีเจอร์ป้องกันการยืนยันตัวตนของผู้ใช้ (เช่น PIN, ลายนิ้วมือ, การจดจำใบหน้า)
  • YubiKey ซีรีส์ 5 (เฟิร์มแวร์เวอร์ชัน 5.7 หรือต่ำกว่า) มีความเสี่ยงต่อการถูกโจมตีนี้

    • ไม่สามารถอัปเดตเฟิร์มแวร์ได้
    • Yubico ควรเสนอการเปลี่ยนเครื่องให้ฟรี
  • สาเหตุมาจากปัญหา modular inversion แบบ non-constant-time

    • ทุกการทำงานควรใช้จำนวน clock cycle เท่ากัน
    • น่าสงสัยว่าทำไมผู้ตรวจสอบถึงมองข้ามเรื่องนี้
  • งานวิจัยของ NinjaLab ยอดเยี่ยมมาก

    • การยืนยันตัวตนของโปรโตคอล Webauthn ก็ถูกทำให้ใช้การไม่ได้ด้วยการโจมตีนี้เช่นกัน
    • ผู้โจมตีสามารถใช้คีย์ยืนยันตัวตนเพื่อสร้าง YubiKey ปลอมได้
  • การโจมตี EUCLEAK ต้องอาศัยการเข้าถึงทางกายภาพ

    • ผู้โจมตีอาจสลับเปลี่ยนด้วย YubiKey ที่หน้าตาคล้ายกันได้
    • การโจมตีนี้ใช้ได้ผลเฉพาะกับเป้าหมายที่มีมูลค่าสูงมากเท่านั้น
  • ตามข้อมูลบนเว็บไซต์ของ Yubico เวอร์ชัน 5.7 ขึ้นไปไม่ได้รับผลกระทบ

    • Yubico ใช้ไลบรารีเข้ารหัสของตนเอง
    • หวังว่าคงมีคนจำนวนมากได้ตรวจสอบไลบรารีนี้แล้ว
  • ช่องโหว่ของ Infineon กลับมาอีกครั้ง

    • มีอยู่ใน Trusted Platform Module และไมโครคอนโทรลเลอร์ของ Infineon ทั้งหมดที่ใช้ไลบรารีเข้ารหัสภายในตัวเดียวกัน