ไมโครซอฟท์ออกผลการสืบสวนจอฟ้า CrowdStrike เกิดจากการขอเข้าถึงหน่วยความจำ

by mk
29 July 2024 - 11:27

ไมโครซอฟท์ออกมาอธิบายรายละเอียดของปัญหาจอฟ้า BSOD จากกรณี CrowdStrike โดยอาศัยข้อมูล kernel crash dump ที่ผู้ใช้ส่งผ่าน Windows Error Reporting (WER) เข้ามาจำนวนมาก (4 ล้านครั้งในวันเกิดเหตุ) และวิเคราะห์ด้วยเครื่องมือมาตรฐานอย่าง WinDBG Kernel Debugger

ผลการวิเคราะห์ของไมโครซอฟท์ออกมาสอดคล้องกับรายงานเบื้องต้นของ CrowdStrike เอง ว่าตัวไดรเวอร์ CSagent.sys เข้าถึงข้อมูลหน่วยความจำในพื้นที่หวงห้าม (a read out-of-bounds access violation)

ไมโครซอฟท์อธิบายการทำงานว่า CrowdStrike เลือกใช้วิธีสร้างไดรเวอร์ file system filter ขึ้นมา เพื่อดักการเปลี่ยนแปลงของไฟล์ในเครื่อง (ซึ่งอาจโดนไวรัสหรือมัลแวร์) วิธีการนี้ใช้กันทั่วไปในหมู่ซอฟต์แวร์แอนตี้ไวรัส รวมถึงไมโครซอฟท์เองด้วย

CrowdStrike สร้างโมดูลไดรเวอร์ขึ้นมาทั้งหมด 4 ตัวทำงานแตกต่างกันไป โดยไดรเวอร์ตัวหนึ่งทำหน้าที่คอยรับอัพเดตจาก CrowdStrike ตามที่บริษัทเคยแถลงไว้ และเป็นไฟล์อัพเดต channel file ที่สร้างปัญหาจนทำเครื่องแครชในที่สุด

ไมโครซอฟท์ยังอธิบายว่าบริษัทความปลอดภัยเลือกใช้วิธีสร้างไดรเวอร์เคอร์เนล เพื่อคอยมอนิเตอร์การเปลี่ยนแปลงของไฟล์ในระบบ ด้วยเหตุผลทั้งหมด 3 ข้อคือ

  • มองเห็นข้อมูลได้กว้าง (visibility) การโหลดโมดูลเคอร์เนลตั้งแต่ตอนบูต ช่วยให้ดักจับมัลแวร์ตระกูล boot kit/root kit ที่โหลดก่อนแอพพลิเคชันที่รันใน user mode ได้ด้วย
  • ประสิทธิภาพดีกว่าในหลายกรณี เช่น การวิเคราะห์ข้อมูลจำนวนมากๆ ที่วิ่งผ่านเครือข่าย ดูดข้อมูลที่ระดับไดรเวอร์เครือข่ายเลยเร็วกว่า
  • แข็งแกร่งทนทาน (tamper resistance) ต่อให้แฮ็กเกอร์หรือมัลแวร์เจาะเข้ามาในระบบคอมพิวเตอร์ได้ ก็ปิดการทำงานของซอฟต์แวร์ความปลอดภัยไม่ได้ เพราะเข้ามาในระดับสิทธิที่ต่ำกว่า

ไมโครซอฟท์นั้นอนุญาตให้ซอฟต์แวร์ความปลอดภัยสามารถโหลดตัวเองเข้ามาตั้งแต่ช่วงบูตเครื่องแรกๆ มาตั้งแต่ยุค Windows 8 แล้ว ไดรเวอร์แบบนี้มีชื่อเรียกว่า Early Launch AntiMalware (ELAM) ซึ่ง CrowdStrike ทำตามกระบวนการถูกต้องทุกอย่าง

อย่างไรก็ตาม การรันงานที่ระดับเคอร์เนลไดรเวอร์ก็มีข้อเสียคือ มีสิทธิเข้าถึงเยอะมาก ผู้พัฒนาซอฟต์แวร์ความปลอดภัยจึงต้องระมัดระวังให้ดีๆ เพราะถ้าเกิดปัญหาขึ้น ไม่สามารถรีสตาร์ตใหม่เฉพาะแอพได้เหมือนกับแอพระดับ user ทั่วไป ต้องบูตระบบปฏิบัติการใหม่หมด ไมโครซอฟท์เองก็พยายามย้ายงานหลายอย่างจากระดับเคอร์เนลไปรันระบบ user mode แทน และออกระบบความปลอดภัยหลายอย่างที่รันใน user mode ด้วยเช่นกัน

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

ที่มา - Microsoft

Blognone Jobs Premium