นักวิจัยจาก ETH Zurich ได้ค้นพบช่องโหว่ร้ายแรง 25 รายการในโปรแกรมจัดการรหัสผ่านแบบคลาวด์ชั้นนำ 3 ราย ได้แก่ Bitwarden, LastPass และ Dashlane ซึ่งช่องโหว่เหล่านี้ทำให้เซิร์ฟเวอร์ที่ไม่ประสงค์ดีสามารถข้ามการเข้ารหัสแบบ Zero-Knowledge ได้ ส่งผลให้เข้าถึง แก้ไข และกู้คืนรหัสผ่านและข้อมูลใน Vault ของผู้ใช้ได้โดยไม่ได้รับอนุญาต ช่องโหว่เหล่านี้ครอบคลุมถึงกลไกการกู้คืนคีย์, ข้อบกพร่องในการเข้ารหัสระดับรายการ, ปัญหาคุณสมบัติการแบ่งปัน และปัญหาความเข้ากันได้ย้อนหลังกับโค้ดเก่า ซึ่งส่งผลกระทบต่อผู้ใช้งานกว่า 60 ล้านคน
Severity: วิกฤต
System Impact:
- Bitwarden (โปรแกรมจัดการรหัสผ่าน)
- LastPass (โปรแกรมจัดการรหัสผ่าน)
- Dashlane (โปรแกรมจัดการรหัสผ่าน)
- ระบบการเข้ารหัสแบบ Zero-knowledge (ความลับของข้อมูล)
- การเข้าถึงรหัสผ่านและข้อมูลใน Vault ของผู้ใช้
- กลไกการกู้คืนบัญชี (Account Recovery)
- กลไกการลงชื่อเข้าใช้ด้วย Single Sign-On (SSO)
- องค์กรและ Vault ที่มีการแบ่งปันข้อมูล
Technical Attack Steps:
- 1. **การโจมตีกลไก Key Escrow (Key Escrow Attacks)**: เซิร์ฟเวอร์ที่ไม่ประสงค์ดีสามารถใช้กลไกการกู้คืนบัญชีหรือ SSO ที่มีข้อบกพร่องในการสับเปลี่ยนคีย์ (Key Substitution) โดยไม่จำเป็นต้องมีการยืนยันตัวตน ทำให้สามารถเข้าถึง Vault ของผู้ใช้ได้เต็มรูปแบบ (ตัวอย่าง: BW01-BW03 ใน Bitwarden, LP01 ใน LastPass)
- 2. **ข้อบกพร่องในการเข้ารหัสระดับรายการ (Item-Level Encryption Flaws)**: การเข้ารหัสที่ไม่สมบูรณ์ในแต่ละรายการของ Vault ทำให้เกิดการละเมิดความสมบูรณ์ของข้อมูล (Integrity Violations), การรั่วไหลของข้อมูลเมตา (Metadata Leaks), การสับเปลี่ยนฟิลด์ (Field Swapping) และการลดระดับความซับซ้อนของฟังก์ชันการสร้างคีย์ (KDF Downgrades) เพื่อเร่งการโจมตีแบบ Brute-force (ตัวอย่าง: BW04-BW07 ใน Bitwarden, LP02-LP06 ใน LastPass, DL01 ใน Dashlane)
- 3. **การใช้ประโยชน์จากคุณสมบัติการแบ่งปัน (Sharing Feature Exploits)**: การใช้ Public Key ที่ไม่มีการยืนยันตัวตนทำให้เซิร์ฟเวอร์สามารถแทรกหรือเขียนทับข้อมูลในองค์กรหรือ Vault ที่แบ่งปันกัน ทำให้สามารถเข้าถึงข้อมูลของทั้งทีมได้ (ตัวอย่าง: BW08-BW09 ใน Bitwarden, LP07 ใน LastPass, DL02 ใน Dashlane)
- 4. **ปัญหาความเข้ากันได้ย้อนหลัง (Backwards Compatibility Issues)**: การสนับสนุนโค้ดเดิมๆ ทำให้ระบบลดระดับไปใช้โหมดที่ไม่ปลอดภัย เช่น AES-CBC ซึ่งเปิดช่องให้มีการแทรกข้อมูล, การลบคีย์ KDF และการโจมตีแบบ ‘Lucky 64’ หลังจากการซิงค์ข้อมูล (ตัวอย่าง: BW10-BW12 ใน Bitwarden, DL03-DL06 ใน Dashlane)
Recommendations:
Short Term:
- อัปเดตโปรแกรมจัดการรหัสผ่านของคุณเป็นเวอร์ชันล่าสุดทันทีที่ผู้จำหน่ายออกแพตช์
- เปิดใช้งานการเข้ารหัสแบบต่อรายการ (per-item keys) หากมีในโปรแกรมจัดการรหัสผ่านของคุณ
- ติดตามประกาศและคำแนะนำจากผู้จำหน่ายโปรแกรมจัดการรหัสผ่านเพื่อดำเนินการแก้ไขที่จำเป็น
Long Term:
- ใช้การเข้ารหัสแบบตรวจสอบสิทธิ์ (Authenticated Encryption – AE) เพื่อปกป้องทั้งความลับและความสมบูรณ์ของข้อมูล
- ใช้การแยกคีย์อย่างสมบูรณ์ (Full Key Separation – KS) เพื่อให้แต่ละส่วนของข้อมูลได้รับการปกป้องด้วยคีย์ที่แตกต่างกัน
- ใช้การตรวจสอบ Public Key (Public Key Authentication – PKA) เพื่อยืนยันความถูกต้องของคีย์สาธารณะที่ใช้ในการเข้ารหัส
- ใช้การเซ็นชื่อ Ciphertext (Ciphertext Signing – SC) เพื่อให้แน่ใจว่าข้อมูลที่เข้ารหัสไม่ถูกแก้ไขระหว่างการส่ง
- ผู้ใช้ที่ติดตั้งระบบเอง (Self-hosted deployments) ควรตระหนักถึงความเสี่ยงที่เซิร์ฟเวอร์อาจถูกบุกรุกและใช้มาตรการป้องกันเพิ่มเติม
- สนับสนุนการพัฒนาโมเดลความปลอดภัยที่เป็นทางการสำหรับโปรแกรมจัดการรหัสผ่าน เพื่อให้มีการตรวจสอบและรับรองมาตรฐานที่เข้มงวด
Source: https://cybersecuritynews.com/password-managers-vulnerability/
Share this content: