- ตั้งแต่วันที่ 11 มีนาคม 2025 เป็นต้นมา ผู้ใช้พีซีจำนวนมากทั่วโลกเริ่มได้รับคำเตือนมัลแวร์จาก Windows Defender (แอปแอนติไวรัสที่ติดมากับ Windows)
- ต้นตอของการตรวจพบมัลแวร์ส่วนใหญ่มาจากซอฟต์แวร์สำหรับควบคุมพีซี เช่น Razer Synapse, SteelSeries Engine และ MSI Afterburner
- ภายหลังพบว่าซอฟต์แวร์เหล่านี้มีจุดร่วมคือใช้ไลบรารีชื่อ WinRing0 เหมือนกัน
โมเดลความปลอดภัยของ OS สมัยใหม่
- ระบบปฏิบัติการใช้โครงสร้าง "protection ring" เพื่อปกป้องระบบ โดยมี Ring 0 ถึง 3 แต่ใน OS สมัยใหม่จะใช้จริงเพียง 0 และ 3
- Ring 0 คือพื้นที่เคอร์เนล จึงเข้าถึงฮาร์ดแวร์ หน่วยความจำ รีจิสเตอร์ของ CPU และส่วนต่าง ๆ ของคอมพิวเตอร์ได้โดยตรงแบบไม่จำกัด
- Ring 3 คือพื้นที่แอปพลิเคชัน โปรแกรมทั่วไปทั้งหมดที่ไม่ใช่ซอฟต์แวร์ระบบจะทำงานอยู่ที่นี่
- ring ชั้นนอกถูกออกแบบให้มองไม่เห็น ring ชั้นใน และหากต้องการเข้าถึงพื้นที่เคอร์เนลจากพื้นที่แอปพลิเคชันก็จำเป็นต้องใช้อุปกรณ์ไดรเวอร์
สภาพปัจจุบันของตลาดอุปกรณ์ต่อพ่วงพีซี
- เมื่อการแข่งขันในตลาดอุปกรณ์ต่อพ่วงพีซีรุนแรงขึ้น ผู้ผลิตจึงมักแถมซอฟต์แวร์เฉพาะทางมาด้วยเพื่อสร้างความแตกต่างด้านฟังก์ชัน
- ตัวอย่างเช่น ชุดระบายความร้อน CPU สามารถควบคุมความเร็วพัดลมตามอุณหภูมิของ CPU ได้โดยตรง และตั้งค่าผ่านซอฟต์แวร์ได้
- ฮาร์ดแวร์จำนวนมากถูกออกแบบให้สื่อสารกับระบบปฏิบัติการผ่านโปรโตคอล SMBus (System Management Bus)
- แต่การเข้าถึง SMBus จากระดับแอปพลิเคชันโดยตรงนั้นทำไม่ได้ และทำได้ผ่านอุปกรณ์ไดรเวอร์เท่านั้น
Windows Driver Model (WDM) และ WinRing0
- การควบคุมฮาร์ดแวร์ผ่าน SMBus จำเป็นต้องใช้ไดรเวอร์แบบ kernel mode ที่ทำงานบน ring 0
- เนื่องจากไดรเวอร์แบบ kernel mode ต้องการความปลอดภัยระดับสูง จึงต้องมีลายเซ็นอิเล็กทรอนิกส์แบบ EV (Extended Validation) และต้องผ่านกระบวนการที่ Microsoft ตรวจสอบและลงนามไดรเวอร์โดยตรง
- เพราะขั้นตอนนี้ยุ่งยากและมีค่าใช้จ่ายสูง ผู้ผลิตอุปกรณ์ต่อพ่วงจึงเริ่มใช้ WinRing0 เพื่ออ้อมข้อกำหนดดังกล่าว
- WinRing0 เป็นไดรเวอร์และไลบรารีที่ Miyazaki Noriyuki ผู้สร้าง CrystalDiskMark พัฒนาขึ้นในปี 2007 โดยมีหน้าที่เปิดเผยส่วนต่าง ๆ ใน ring 0 ให้ชั้นแอปพลิเคชันเข้าถึงได้จากระดับแอปพลิเคชัน
- ผู้ผลิตอุปกรณ์ต่อพ่วงจึงสร้างซอฟต์แวร์ในลักษณะที่ให้ชั้นแอปพลิเคชันเข้าถึง ring 0 ได้โดยตรงผ่าน WinRing0 เพื่อควบคุมฮาร์ดแวร์
- ดูเหมือนว่า WinRing0 จะถูกลงนามอิเล็กทรอนิกส์ผ่าน cross-signing ก่อนที่ขั้นตอนการรับรองไดรเวอร์ของ Windows จะเข้มงวดขึ้น
- ผู้พัฒนาระบุว่า WinRing0 ถูกสร้างขึ้นในลักษณะโครงการทดลองเพื่อสำรวจการเขียนโปรแกรมระดับล่าง แต่เมื่อเริ่มมีการนำไปใช้กับผลิตภัณฑ์จริงอย่างต่อเนื่อง เขาจึงประกาศในปี 2010 ว่าไม่ควรใช้อีกต่อไปและยุติการพัฒนา
- อย่างไรก็ดี ด้วยความที่เป็นโอเพนซอร์ส หลังจากผู้พัฒนาหยุดดูแลแล้วก็ยังถูกเผยแพร่ต่อและถูกใช้งานในหลายแห่ง
ภัยคุกคามด้านความปลอดภัยของ WinRing0
- เนื่องจากจุดประสงค์ของ WinRing0 คือการเปิดเผยพื้นที่ที่ควรให้เคอร์เนลจัดการออกมายังชั้นแอปพลิเคชันโดยตรง นั่นจึงหมายถึงการทำลายกลไกความปลอดภัยพื้นฐานของ OS และมีการแสดงความกังวลเรื่องนี้มาโดยตลอด
- มีการลงทะเบียน CVE ที่เกี่ยวข้องหลายรายการ (CVE-2019-6333, CVE-2020-14979, CVE-2021-44901)
- ยังพบกรณีการโจมตีจริง เช่น มัลแวร์ "SteelFox" ซึ่งเป็นที่รู้กันว่าสามารถขโมยหมายเลขบัตรเครดิต ประวัติการท่องเว็บ และคุกกี้ของเบราว์เซอร์ โดยอาศัยช่องทางนี้
- ไม่ใช่เฉพาะซอฟต์แวร์ที่ใช้ WinRing0 โดยตรงเท่านั้น แต่ยังมีซอฟต์แวร์จำนวนมากที่พึ่งพา WinRing0 ทางอ้อมผ่าน OpenHardwareMonitor (https://github.com/openhardwaremonitor/openhardwaremonitor) และ LibreHardwareMonitor (https://github.com/LibreHardwareMonitor/LibreHardwareMonitor) ที่ได้รับผลกระทบด้วย
- ซอฟต์แวร์ Touchpoint Analytics ของ HP ใช้ OpenHardwareMonitor ทำให้ในปี 2019 โน้ตบุ๊ก HP ที่วางขายในตลาดทั้งหมดได้รับผลกระทบ
- เมื่อวันที่ 11 มีนาคม 2025 Microsoft ได้ดำเนินมาตรการบล็อกไดรเวอร์ WinRing0 ทั้งหมด
การตอบสนองของผู้ผลิต
- ความกังวลต่อช่องโหว่ด้านความปลอดภัยของ WinRing0 มีมานานแล้ว และมีการทำแพตช์ที่เกี่ยวข้องออกมาก่อนหน้านี้แล้ว
- แต่การแจกจ่ายไดรเวอร์ที่อัปเดตต้องผ่านขั้นตอนการลงนามอิเล็กทรอนิกส์ จึงไม่สามารถปล่อยแพตช์ได้
- นอกจากนี้ยังมีข้อชี้ว่าเนื้อหาของแพตช์เป็นเพียงการปรับให้เข้าถึงไดรเวอร์ได้เฉพาะด้วยสิทธิ์ผู้ดูแลระบบ จึงไม่ได้แก้ช่องโหว่ด้านความปลอดภัยที่ต้นเหตุ
- Razer และ SignalRGB ได้ปล่อยอัปเดตเพื่อตัดการพึ่งพา WinRing0
- ซอฟต์แวร์บางตัว เช่น CapFrameX แนะนำให้เพิ่มโปรแกรมดังกล่าวไว้ในข้อยกเว้นของ Windows Defender
- iBuyPower ผู้ผลิต Hyte Nexus ระบุว่าตั้งใจจะดำเนินขั้นตอนลงนามอิเล็กทรอนิกส์กับ WinRing0 เวอร์ชันที่แพตช์แล้วและแจกจ่ายเอง แต่บอกว่ายังไม่ได้รับการตอบกลับใด ๆ จาก Microsoft
- Steelseries ได้ลบฟังก์ชันมอนิเตอร์ระบบออกจากซอฟต์แวร์
ประเด็นอื่น ๆ
- แม้ WinRing0 จะเป็นซอฟต์แวร์ที่มีความเสี่ยงโดยกำเนิด แต่ก็มีความเห็นกังวล โดยเฉพาะในหมู่นักพัฒนาแอป third-party เพราะยังไม่มีทางเลือกทดแทน
- ตัวอย่างเช่น แอป third-party อย่าง Fan Control และ OpenRGB จะไม่มีวิธีสื่อสารกับฮาร์ดแวร์หากไม่มี WinRing0
- สาเหตุหนึ่งมาจากการที่ WinRing0 เป็นกรณีหายากของซอฟต์แวร์โอเพนซอร์สที่มีการลงนามไว้แล้วด้วย
- ยังมีความเห็นเกี่ยวกับภาระของขั้นตอนการรับรองไดรเวอร์ของ Windows
- ลายเซ็น EV มีค่าใช้จ่ายสูงและต้องต่ออายุเป็นระยะ จึงเป็นภาระในด้านนี้ด้วย
5 ความคิดเห็น
เมื่อก่อนผมเคยเข้าทำงานที่บริษัทซึ่งทำโปรแกรมรักษาความปลอดภัยเอกสารโดยใช้เคอร์เนลไดรเวอร์ แล้วก็ยังจำได้เลยว่าตอนนั้นทั้งบริษัทต้องช่วยกันเต็มที่เพื่อให้ได้ใบรับรองนั้นมา
เคยลองทำแบบนั้นมาก่อนนะ เหมือนเขาให้แค่ซื้อใบรับรอง EV มาเซ็นโมดูลแล้วส่งให้ MS . ตอนซื้อใบรับรอง EV ก็มีการตรวจสอบบริษัทด้วย เลยค่อนข้างเป็นภาระถ้าคนทั่วไปจะเผยแพร่ไดรเวอร์ ฮ่าๆ
แม้จะไม่ใช่ไดรเวอร์โดยตรงก็ตาม แต่ค่าใช้จ่ายของใบรับรอง EV ก็ยังเป็นภาระหนักสำหรับบุคคลทั่วไปอยู่ดี
MS Defender SmartScreen กำลังทำร้ายนักพัฒนาอินดี้
ไม่ใช่เรื่องใหม่เลยที่ผู้ผลิต HID บางรายทำซอฟต์แวร์ออกมาได้เละเทะ
ดูเหมือนว่าในวงการอุปกรณ์เสียงก็จะคล้ายกันครับ มีโปรแกรมเอฟเฟกต์เสียง (Waves MaxxAudio) ที่แถมมากับโน้ตบุ๊ก Dell ซึ่งปิดเอฟเฟกต์ก็ไม่ได้ และถ้าลบโปรแกรมออกเสียงก็จะไม่ออก ต้องติดตั้งไดรเวอร์ Realtek แบบดั้งเดิมถึงจะเลี่ยงปัญหานี้ได้