Pass-ta-key การโจมตีรูปแบบใหม่ ที่อาจทำให้มัลแวร์เข้าควบคุม Passkey ที่ Synced กับ Google ได้

นักวิจัยด้านความปลอดภัยพบการโจมตี 3 รูปแบบที่เอื้อให้มัลแวร์บนอุปกรณ์ Windows (ที่ถูกเจาะระบบอยู่ก่อนแล้ว) สามารถนำ Passkey ที่ Synced อยู่ใน Google Password Manager ไปใช้ในการโจมตี เพื่อเข้าควบคุมบัญชี, Bypass ขั้นตอนการยืนยันตัวตนของผู้ใช้ และดึง Private keys ของ Passkey ออกมาได้

Passkey เป็นวิธีการยืนยันตัวตนแบบ Passwordless ที่ใช้ Keys เข้ารหัสซึ่งเก็บไว้บนอุปกรณ์ของผู้ใช้ในการเข้าสู่ระบบบัญชีออนไลน์

วิธีนี้ถือว่าปลอดภัยกว่ารหัสผ่านทั่วไปเนื่องจากไม่สามารถเดาสุ่ม, นำกลับมาใช้ซ้ำ หรือขโมยผ่านการ Phishing ได้ง่าย ๆ อีกทั้งยังรองรับให้ผู้ใช้ยืนยันตัวตนด้วย PIN หรือข้อมูล Biometrics เช่น ลายนิ้วมือหรือการสแกนใบหน้าได้ด้วย

เอกสารอ้างอิงเกี่ยวกับ Passkey ของ Google ระบุไว้ว่า "ต่างจากรหัสผ่านตรงที่ Passkey ไม่สามารถแชร์, คัดลอก, จดบันทึก หรือเผลอให้คนอื่นไปโดยไม่ได้ตั้งใจได้ สิ่งนี้ทำให้มันมีความปลอดภัยจากการถูก Phishing มากขึ้น"

อย่างไรก็ตาม รายงานฉบับใหม่จาก Unit 42 ของ Palo Alto Networks ได้สาธิตการโจมตีรูปแบบใหม่ 3 วิธี ซึ่งเรียกรวมกันว่า "Pass-ta-key" โดยมุ่งเป้าไปที่ Google Password Manager ในเบราว์เซอร์ Chrome บนอุปกรณ์ Windows ที่ติดตั้ง Trusted Platform Module (TPM)

การโจมตีทั้ง 3 รูปแบบนี้จำเป็นต้องมีมัลแวร์รันอยู่บนคอมพิวเตอร์ของเหยื่ออยู่ก่อนแล้ว และไม่ได้เป็นการเจาะระบบการเข้ารหัสที่ Passkey ใช้งานแต่อย่างใด แต่เป็นการอาศัยช่องโหว่ในวิธีการที่ Chrome และระบบการยืนยันตัวตนบน Cloud ของ Google ใช้จัดการกับความน่าเชื่อถือของอุปกรณ์ (Device trust), การเริ่มต้นใช้งาน (Onboarding), การกู้คืน (Recovery) และข้อมูล Credentials ที่ Synced เอาไว้

เทคนิคแรกที่ชื่อว่า Pass-ta-key จะอนุญาตให้มัลแวร์ที่ไม่มีสิทธิ์สามารถสวมรอยเป็นอุปกรณ์ที่เชื่อถือได้ และส่ง Request เพื่อรับ Response การยืนยันตัวตนที่ถูกต้องสำหรับหนึ่งใน Passkey ของเหยื่อได้

มัลแวร์ใช้โอกาสจาก Identity key อุปกรณ์ของ Chrome ที่ได้รับการปกป้องด้วย TPM เพื่อใช้ Sign ใน Request ที่ส่งไปยังระบบการยืนยันตัวตนบน Cloud ของ Google การกระทำนี้สามารถทำได้โดยไม่จำเป็นต้องใช้สิทธิ์ผู้ดูแลระบบ, ไม่ต้องอาศัยการโต้ตอบจากผู้ใช้, ไม่ต้องใช้ข้อมูล Biometrics และไม่ต้องปลดล็อกอุปกรณ์

จากนั้น ระบบการยืนยันตัวตนบน Cloud ของ Google จะตอบสนองต่อ Request ดังกล่าวเสมือนว่าส่งมาจากคอมพิวเตอร์ที่เชื่อถือได้ของเหยื่อ และส่งคืน Response การยืนยันตัวตนที่ Sign แล้ว (เรียกว่า Assertion) ซึ่งสามารถนำไปใช้ล็อกอินเข้าสู่บัญชีเป้าหมายได้

อย่างไรก็ตาม ใน Assertion จะมีเครื่องหมายบอกสถานะที่เรียกว่า "User Verified" รวมอยู่ด้วย เพื่อบ่งบอกว่ามีการยืนยันตัวตนด้วยข้อมูล Biometric หรือ PIN เกิดขึ้นหรือไม่ สิ่งนี้จะส่งผลให้การโจมตีไม่สำเร็จ หากบริการนั้น ๆ มีข้อบังคับ และสามารถตรวจสอบได้อย่างถูกต้องว่าการยืนยันตัวตนของผู้ใช้นั้นสำเร็จจริง

แม้ว่าการโจมตีนี้จะล้มเหลวกับ GitHub เนื่องจากมีการตรวจสอบ Flag "User Verified" อย่างถูกต้อง แต่ทีม Unit 42 ระบุว่าพวกเขาสามารถทดสอบการโจมตีนี้กับ eBay ได้สำเร็จ ถึงแม้ eBay จะมีข้อบังคับให้ยืนยันตัวตนผู้ใช้ แต่กลับไม่ได้ตรวจสอบ Flag ที่บ่งบอกว่าการยืนยันตัวตนดังกล่าวเกิดขึ้นจริงหรือไม่ อย่างรัดกุมพอ

ปัจจุบัน eBay ได้ดำเนินการแก้ไขช่องโหว่นี้แล้ว หลังจากที่นักวิจัยได้รายงานเรื่องนี้เข้าไป

เทคนิคที่สองซึ่งมีชื่อว่า Silver Pass-ta-key ยกระดับความอันตรายไปอีกขั้น โดยเปิดโอกาสให้ผู้โจมตีสามารถลงทะเบียน Key การยืนยันตัวตนผู้ใช้ของตนเองเข้ากับระบบการยืนยันตัวตนบน Cloud ของ Google ได้

ขั้นแรกผู้โจมตีจะใช้มัลแวร์บนอุปกรณ์ที่ถูกเจาะระบบ บังคับให้ Chrome ทำการลงทะเบียนอุปกรณ์ใหม่ โดยการยกเลิก Key การยืนยันตัวตนเดิมที่มีอยู่ หรือลบไฟล์ในเครื่องที่เก็บสถานะของ Passkey ทิ้งไป

ในระหว่างกระบวนการลงทะเบียนใหม่นี้ ผู้โจมตีสามารถลงทะเบียน Key การยืนยันตัวตนผู้ใช้ที่ตนเองควบคุมอยู่ได้ เนื่องจากระบบการยืนยันตัวตนบน Cloud ไม่ได้ตรวจสอบว่า Key ใหม่นั้นมาจากฮาร์ดแวร์ที่เชื่อถือได้หรือไม่

จากนั้น Google จะยอมรับ Requests ที่ Signed ด้วย Key ของผู้โจมตี โดยถือเป็นหลักฐานว่าเหยื่อได้ทำการปลดล็อกอุปกรณ์ด้วย PIN หรือข้อมูล Biometrics แล้ว สิ่งนี้ช่วยให้ผู้โจมตีสามารถเข้าถึงบัญชีที่มีข้อบังคับ และมีการตรวจสอบการยืนยันตัวตนของผู้ใช้อย่างถูกต้องได้

เมื่อลงทะเบียน Key ที่เป็นอันตรายสำเร็จ ผู้โจมตีจะสามารถยืนยันตัวตนจากระบบอื่นได้ โดยไม่จำเป็นต้องเข้าถึงคอมพิวเตอร์ของเหยื่ออีกต่อไป

เทคนิคที่สาม และถือเป็นเทคนิคที่ร้ายแรงที่สุด มีชื่อว่า Golden Pass-ta-key อาจทำให้มัลแวร์สามารถดึง Master key ที่ใช้สำหรับเข้ารหัส Passkey ทั้งหมดที่ Synced ผ่านบัญชี Google Password Manager ของเหยื่อออกมาได้

Master key นี้ หรือที่รู้จักกันในชื่อ Security Domain Secret (SDS) จะถูกส่งไปยัง Chrome ชั่วคราวเมื่ออุปกรณ์ทำการลงทะเบียน หรือเมื่อมีการกู้คืนสิทธิ์การเข้าถึงบัญชี

ในตอนแรก ทีม Unit 42 พบว่า Chrome ได้เปิดเผยข้อมูล Secret นี้ในรูปแบบ Plaintext ผ่าน Logs ภายในของระบบ FIDO ทาง Google ได้ดำเนินการลบข้อมูล Secret นี้ออกจาก Logs หลังจากที่นักวิจัยรายงานช่องโหว่ดังกล่าว แต่ Unit 42 ระบุว่า ข้อมูลนี้ยังคงถูกส่งไปยัง Chrome และสามารถถูกเข้าถึงได้ชั่วคราวในหน่วยความจำประมวลผลของเบราว์เซอร์

Unit 42 อธิบายว่า "แม้ว่า Google จะลบข้อมูล Secret นี้ออกจากข้อมูล Logs ของ Chrome แล้วหลังจากได้รับรายงานของเรา แต่ SDS ก็ยังคงถูกส่งไปยังฝั่ง Client และยังคงสามารถเข้าถึงได้ในหน่วยความจำประมวลผลของ Chrome"

"หากผู้โจมตีบังคับให้เหยื่อลงทะเบียนใหม่กับระบบการยืนยันตัวตนบน Cloud และรู้ Pattern ที่จะต้องค้นหา พวกเขาก็สามารถดึง SDS ออกมาจากหน่วยความจำได้โดยตรง"

จากนั้นผู้โจมตีสามารถใช้ Master key ที่ขโมยมา เพื่อถอดรหัสข้อมูล Passkey ของเหยื่อที่ Synced เอาไว้ และดึง Private keys ของพวกเขาออกมาได้ Private keys เหล่านั้นสามารถถูกถ่ายโอนไปยังระบบอื่น และนำไปใช้เพื่อสวมรอยเป็นเหยื่อในการล็อกอินเข้าสู่บัญชีต่าง ๆ

Unit 42 แจ้งเตือนว่า Master key ที่ถูกขโมยไปนั้น ยังสามารถนำไปใช้ถอดรหัส Passkey ใหม่ ๆ ที่จะ Synced เข้ามาในบัญชีดังกล่าวในอนาคตได้อีกด้วย มีรายงานว่าระบบของ Google ที่ใช้งานอยู่ในปัจจุบันยังไม่มีวิธีในการ Rotate หรือ Revoke Key นี้ ซึ่งหมายความว่าทั้ง Passkey ที่ Synced อยู่ในปัจจุบัน และในอนาคต จะยังคงถูกปกป้องด้วยข้อมูล Secret เดียวกันที่อาจหลุดไปแล้ว

แม้บรรดานักวิจัยจะระบุว่า Passkey ยังคงมีความปลอดภัยกว่ารหัสผ่านแบบเดิมอย่างมาก แต่การโจมตีเหล่านี้ก็แสดงให้เห็นว่า มันไม่ได้ช่วยขจัดความเสี่ยงที่เกิดจากมัลแวร์ซึ่งแฝงตัวทำงานอยู่บนอุปกรณ์ที่ถูกเจาะระบบแล้วแต่อย่างใด

Unit 42 แนะนำให้เว็บไซต์ต่าง ๆ บังคับใช้ และตรวจสอบการยืนยันตัวตนของผู้ใช้อย่างรัดกุม นอกจากนี้ โปรแกรมจัดการข้อมูล Credential ควรมีการตรวจสอบ Keys ของอุปกรณ์ที่เพิ่งลงทะเบียนเข้ามาใหม่ เสริมความแข็งแกร่งให้กับกระบวนการ Recovery และลงทะเบียนอุปกรณ์ใหม่ รวมถึงป้องกันไม่ให้ Master keys ถูกเข้าถึงได้ในหน่วยความจำของเบราว์เซอร์

ก่อนที่จะมีการรายงานผลการค้นพบนี้ นักวิจัยได้แจ้งข้อมูลการโจมตี Google Password Manager ให้ทาง Google ทราบ และรายงานช่องโหว่ที่เกี่ยวข้องกับการยืนยันตัวตนของผู้ใช้ไปยังบริการต่าง ๆ ที่ได้รับผลกระทบ ซึ่งรวมถึง eBay ด้วย

ที่มา : Bleepingcomputer