ห้องนิรภัยที่ไม่มีประตู

Microsoft Edge เก็บรหัสผ่านทั้งหมดของผู้ใช้ไว้ใน RAM ในรูปแบบที่อ่านได้เปล่าๆ ตั้งแต่วินาทีแรกที่เปิดเบราว์เซอร์ และ Microsoft รับรู้เรื่องนี้มาตลอด — เพราะเป็นการออกแบบที่พวกเขาเลือกเอง

วันที่ 29 เมษายน 2026 ในงานประชุม BigBiteOfTech ที่ Palo Alto Networks Norway จัด มีชายคนหนึ่งขึ้นเวทีแล้วทำสิ่งที่ไม่น่าจะยากถึงขนาดนั้น เขาเปิด Microsoft Edge ขึ้นมา — ไม่ได้เข้าเว็บไซต์ใดเลย — แล้วใช้ Task Manager สร้าง Memory Dump ของ browser process จากนั้นค้นหาด้วย hex editor ผลลัพธ์: รหัสผ่านทดสอบที่ตั้งไว้ปรากฏขึ้นมาในรูปแบบ cleartext ทั้งที่ยังไม่ได้ใช้งานในเซสชันนั้นเลยแม้แต่ครั้งเดียว

ชายคนนั้นคือ Tom Jøran Sønstebyseter Rønning นักทดสอบด้าน offensive security และหัวหน้าทีม proactive security ของ Statnett SF บริษัทโครงข่ายไฟฟ้าแห่งชาตินอร์เวย์ เขาเผยแพร่งานนี้บน X พร้อม proof-of-concept tool บน GitHub ที่ให้ผู้ใช้ทั่วไปตรวจสอบได้ด้วยตัวเอง

สิ่งที่ทำให้กรณีนี้ต่างจาก bug disclosure ทั่วไปคือ: เมื่อ Rønning รายงานปัญหาต่อ Microsoft อย่างรับผิดชอบ คำตอบที่ได้รับกลับมาคือพฤติกรรมนี้เป็น “by design” — ออกแบบมาแบบนี้ตั้งใจ และเขาก็แจ้งล่วงหน้าว่าจะนำเรื่องนี้ออกสู่สาธารณะ เพื่อให้ผู้ใช้และองค์กรสามารถตัดสินใจได้อย่างมีข้อมูล

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

ที่ย้อนแย้งกันที่สุด: Edge ยังคงแสดง popup ขอยืนยันตัวตนผ่าน Windows Hello ก่อนแสดงรหัสผ่านใน Password Manager UI — ทำให้ข้อมูลดูเหมือนได้รับการปกป้องอย่างดี ทั้งที่ในความเป็นจริง รหัสผ่านทั้งหมดอยู่ใน RAM ในรูป plaintext มาตั้งนานแล้ว

Danwei Tran Luciani, Chief Product Technology Officer ของ Detectify บริษัทด้าน application security สรุปปัญหาได้ตรงจุด: “ความเสี่ยงหลักคือผลิตภัณฑ์นี้ส่งสัญญาณถึงระดับหนึ่งของการปกป้อง ในขณะที่ดำเนินการอยู่ในระดับที่ต่ำกว่านั้น” นี่ไม่ใช่แค่ช่องโหว่ทางเทคนิค มันคือการสร้างภาพลวงตาของความปลอดภัย

ในทางอนุกรมวิธานของช่องโหว่ พฤติกรรมนี้จัดอยู่ใน CWE-316: Cleartext Storage of Sensitive Information in Memory ซึ่ง Heise Online ผู้ตีพิมพ์งานนี้ระบุว่า “การจัดการรหัสผ่านใน process memory แบบนี้ไม่ใช่มาตรฐานที่ยอมรับได้มานานแล้ว”

แล้วทำไม Edge ถึงทำแบบนี้ ในขณะที่เบราว์เซอร์ตัวอื่นในตระกูลเดียวกันไม่ทำ?


สองทางเลือก สองปรัชญา

Chrome และ Edge ต่างกันอย่างพื้นฐานในแง่ว่า “เมื่อใดถึงควรถอดรหัสรหัสผ่าน” — และความแตกต่างนั้นสะท้อนปรัชญาความปลอดภัยที่คนละทิศ

ทั้ง Chrome และ Edge สร้างบน Chromium codebase เดียวกัน แต่การตัดสินใจเชิงวิศวกรรมที่ต่างกันทำให้ระดับความเสี่ยงแตกต่างกันอย่างมีนัยสำคัญ:

Microsoft EdgeGoogle Chrome
เวลา Decryptทันทีที่เปิดเบราว์เซอร์ — ทุกตัวเฉพาะเมื่อต้องการใช้งาน
การเก็บใน RAMตลอด sessionลบทิ้งหลังใช้งาน
App-Bound Encryptionไม่มีมี (ตั้งแต่ Chrome 127)
ความเสี่ยง Memory Scrapingสูงมาก — พร้อมโจมตีตลอดเวลาต่ำกว่า — exposure สั้นมาก

Google เริ่มใช้ App-Bound Encryption (ABE) ตั้งแต่ Chrome เวอร์ชัน 127 โดยใช้บริการที่รันด้วยสิทธิ์สูงเพื่อยืนยันว่า application ที่ขอถอดรหัสคือ Chrome จริง ไม่ใช่ malware กลไกนี้ผูก decryption key ไว้กับ Chrome process โดยเฉพาะ

ผลลัพธ์คือ Chrome, Brave และเบราว์เซอร์ Chromium อื่นๆ ที่ใช้ ABE จะแสดง plaintext password เพียงชั่วคราวในช่วง autofill หรือเมื่อผู้ใช้เปิดดูเท่านั้น ทำให้การ scrape แบบกว้างๆ ไม่ได้ผล

ส่วนของ Edge คำตอบจาก Microsoft ต่อ Dark Reading คือ: “การตัดสินใจด้านการออกแบบในพื้นที่นี้เกี่ยวข้องกับการสมดุลระหว่าง performance, usability และ security และเราจะยังคงทบทวนสิ่งเหล่านี้เทียบกับภัยคุกคามที่เปลี่ยนแปลงไป”

นี่ไม่ใช่ครั้งแรกที่ปัญหานี้ถูกรายงาน ในปี 2025 นักวิจัยอีกรายก็เคยรายงานพฤติกรรมเดียวกันนี้ และได้รับคำตอบเดิม — ไม่ถือว่าเป็นช่องโหว่ ในด้านของหน่วยงานกำกับดูแล สำนักงานความมั่นคงปลอดภัยด้านข้อมูลแห่งสหพันธ์เยอรมนี (BSI) ในการทดสอบ Password Manager เมื่อเดือนธันวาคมปีที่แล้ว ได้ตัดสินใจไม่รวม Microsoft Edge Password Manager ไว้ในการประเมินด้วยซ้ำ

แต่ถ้า Edge “เพียงแค่” เก็บรหัสผ่านใน RAM ความเสี่ยงในชีวิตจริงมันน่ากลัวขนาดไหน?


จาก Memory Dump สู่ Credential Avalanche

ช่องโหว่นี้เปลี่ยนการมี admin access บน shared server จากความเสี่ยงระดับปกติ เป็นกุญแจไขรหัสผ่านของทุกคนในระบบ

Rønning เลือกนำเสนองานนี้ที่ Palo Alto Networks Norway เพราะกรณีการโจมตีที่น่ากลัวที่สุดอยู่ในสภาพแวดล้อมองค์กร ไม่ใช่เครื่องส่วนตัว

ในสภาพแวดล้อม Windows ที่ใช้ Citrix, Virtual Desktop Infrastructure (VDI) หรือ Terminal Server ผู้โจมตีที่มี administrative access สามารถเข้าถึง process memory ของผู้ใช้ทุกคนที่ login อยู่ได้ ถ้าผู้ใช้คนใดบันทึกรหัสผ่านไว้ใน Edge ก็สามารถดึงข้อมูลเหล่านั้นออกมาได้

สถานการณ์ที่น่ากังวลในทางปฏิบัติมีดังนี้:

ผู้ใช้ที่ login อยู่ในระบบสามารถสร้าง Memory Dump ของ Edge ผ่าน Task Manager ได้เลย โดยไม่จำเป็นต้องมีสิทธิ์เพิ่มเติม ซึ่งหมายความว่า malware ที่รันด้วยสิทธิ์ของผู้ใช้ทั่วไปก็สามารถดึงรหัสผ่านเหล่านั้นออกมาได้ด้วย

และในสภาพแวดล้อม Terminal Server: ผู้โจมตีสามารถสั่งให้ Edge เปิดขึ้นบน session ของผู้ใช้คนอื่นในฐานะ admin แม้ว่าผู้ใช้คนนั้นจะ disconnect session ไปแล้วก็ตาม — รหัสผ่านก็ยังสามารถดึงออกมาได้

ผลลัพธ์ที่ Rønning อธิบายว่าเกิดขึ้นแบบ “snowball”: “เมื่อได้รหัสผ่านจากผู้ใช้คนหนึ่ง ก็สามารถขยายไปสู่ credential ของผู้ใช้คนอื่น และสิทธิ์ที่มากขึ้นเรื่อยๆ” ผู้โจมตีสามารถไล่เก็บ credential จากทั้ง organization ได้ผ่าน lateral movement แบบนี้

ในภาษาของ MITRE ATT&CK เทคนิคนี้ตรงกับ T1555.003: Credentials from Password Stores — Credentials from Web Browsers ซึ่งถือเป็นเวกเตอร์การโจมตีที่เป็นที่รู้จักดีในวงการ

Microsoft ตอบต่อข้อกังวลเรื่อง Terminal Server ว่า: “เมื่อพูดถึงขอบเขตความปลอดภัย เมื่อคุณมี administrator access แล้ว ทุกอย่างก็เปิดหมด” — ซึ่งนักวิจัยหลายคนมองว่านี่คือการยอมรับโดยปริยายว่าปัญหามีอยู่จริง แต่ผลักภาระไปให้ผู้ดูแลระบบแทน


“แก้” แล้ว แต่ยังไม่แก้

มาตรการที่ Microsoft วางแผนบังคับใช้ในเดือนมิถุนายนนี้ปิดประตูหน้าได้ แต่รหัสผ่านยังคงอยู่บน RAM ต่อไปเหมือนเดิม

วันที่ 4 มิถุนายน 2026 Microsoft มีแผนบังคับให้ผู้ใช้ Edge ยืนยันตัวตนผ่าน Windows Hello (biometrics หรือ PIN) แทน Custom Primary Password เมื่อต้องการดูรหัสผ่านผ่าน UI — แต่มาตรการนี้ปกป้องได้เพียงชั้นการแสดงผล ไม่ใช่ชั้น memory

คำแนะนำจาก Microsoft ในขณะนี้ให้ “ติดตั้ง security update และ antivirus software” ซึ่ง Rob VandenBrink จาก SANS Internet Storm Center ชี้ให้เห็นว่า malware ที่ออกแบบมาเพื่อ memory scraping โดยเฉพาะนั้นไม่ได้ถูกหยุดได้ง่ายๆ ด้วยวิธีเหล่านี้

Rønning ยังได้เผยแพร่ tool ขนาดเล็กบน GitHub ที่ให้ผู้ใช้ทั่วไปตรวจสอบได้ด้วยตัวเองว่า Edge กำลังเก็บ cleartext credential ไว้ใน process memory หรือไม่

สำหรับผู้ใช้ที่ต้องการปกป้องตัวเองทันทีโดยไม่รอ Microsoft:

  • ย้ายออกจาก Edge Password Manager — โดยเฉพาะถ้าใช้งานบนเครื่องที่ร่วมกับผู้อื่นหรือเป็น corporate terminal
  • ใช้ password manager แบบ standalone เช่น Bitwarden, 1Password ที่ออกแบบมาเพื่อความปลอดภัยโดยเฉพาะ ไม่ใช่เป็น feature เสริมของเบราว์เซอร์
  • ถ้าต้องการใช้ browser password manager ให้พิจารณาเปลี่ยนมาใช้ Google Chrome ซึ่งมีสถาปัตยกรรม memory จัดการรหัสผ่านที่ปลอดภัยกว่าอย่างมีนัยสำคัญ
  • ล็อกหน้าจอทันที เมื่อออกจากที่นั่ง โดยเฉพาะในสภาพแวดล้อมที่ใช้ร่วมกัน

สิ่งที่น่าสังเกตคือเรื่องนี้ไม่ได้เพิ่งเกิดขึ้น — มันถูกรายงานมาแล้วอย่างน้อยหนึ่งครั้งก่อนหน้า และ Microsoft ก็ตอบเหมือนเดิม คำถามที่แท้จริงจึงไม่ใช่ “ทำไม Edge ถึงทำแบบนี้” แต่คือ “ทำไมในปี 2026 มันยังไม่เปลี่ยน”


อ้างอิง: Cybernews, PCWorld, Dark Reading, SANS Internet Storm Center, Heise Online, PPC Land