นักวิจัยด้านความมั่นคงปลอดภัยจาก CyberArk ค้นพบเทคนิคการบายพาสระบบป้องกัน Windows PatchGuard โดยอาศัยฟีเจอร์ของ Intel CPU และลอบส่งโค้ดแปลกปลอมเข้ามารันใน Windows Kernel เพื่อฝัง Rootkis บนระบบปฏิบัติการได้ โดยเรียกการโจมตีนี้ว่า GhostHook

PatchGuard หรือชื่อเต็มว่า Kernel Patch Protection (KPP) เป็นฟีเจอร์ด้านความมั่นคงปลอดภัยสำหรับระบบปฏิบัติการ Windows 64 bits ที่ช่วยป้องกันไม่ให้ Kernel ถูกแพทช์โดยโค้ดของ 3rd Party ซึ่ง Microsoft เปิดตัว PatchGuard ครั้งแรกในปี 2005 บนระบบปฏิบัติการ Windows XP ฟีเจอร์ดังกล่าวช่วยป้องกัน Rootkits ได้เป็นอย่างดีและถูกใช้งานมาจนถึงทุกวันนี้
CyberArk ระบุว่า GhostHook สามารถใช้บายพาส PatchGuard ได้เป็นอย่างดีบนระบบที่รัน Intel Processor Trace (PT) ฟีเจอร์สำคัญบน Intel CPU ที่ใช้ฮาร์ดแวร์แยกต่างหากในการตรวจจับข้อมูลเกี่ยวกับการรันซอฟต์แวร์ต่างๆ เพื่อช่วยในการแก้ไขบั๊กและตรวจจับมัลแวร์ ซึ่งโดยปกติแล้ว แฮ็คเกอร์จะเข้ามายุ่งเกี่ยวกับการปฏิบัติงานของ Inteol PT ได้ จำเป็นต้องแพทช์โค้ดแปลกปลอมลงบน Windows Kernel แต่การกระทำนี้จะถูกตรวจจับและบล็อกโดย PatchGuard
อย่างไรก็ตาม CyberArk พบว่า การจองบัฟเฟอร์ขนาดเล็กมากๆ เพื่อประมวลผล Packet ของ Intel PT ทำให้ CPU ใช้งานบัฟเฟอร์จนเกินพื้นที่ ส่งผลให้ PMI Handler เริ่มทำงานเพื่อจัดการกับโค้ดที่ล้นเกินออกมา (Overflowing Code) ปัญหาที่ตามมาคือ PatchGuard ไม่ได้ติดตามการทำงานของ PMI Handler ทำให้แฮ็คเกอร์สามารถโจมตีแบบ Buffer Overflow เพื่อลอบส่งโค้ดแปลกปลอมเข้ามาแพทช์ Kernel ผ่านทาง PMI Handler ได้
เทคนิคนี้ช่วยให้แฮ็คเกอร์สามารถลอบแพทช์ Windows Kernel และฝัง Rootkits บนระบบปฏิบัติการ Windows 64 bits ได้โดยที่ผู้ใช้ไม่รู้ตัว ที่สำคัญคือ Windows 10 ก็ได้รับผลกระทบต่อการโจมตีดังกล่าวเช่นกัน
CyberArk ได้แจ้งวิธีการโจมตีแบบ GhostHook ไปยังทีมของ Microsoft เรียบร้อย แต่ทางบริษัทปฏิเสธที่จะออกแพทช์อัปเดตด้านความมั่นคงปลอดภัย เนื่องจากไม่คิดว่า GhostHook เป็นช่องโหว่ เพราะถ้าแฮ็คเกอร์สามารถเข้าถึงระบบปฏิบัติการในระดับ Kernel ได้แล้ว ย่อมสามารถทำอันตรายแบบอื่นได้มากกว่าการโจมตีแบบ GhostHook อย่างไรก็ตาม Microsoft อาจจะออกแพทช์เพื่อแก้ไขปัญหาดังกล่าวในรอบการแพทช์ถัดไปแทน
อ่านรายละเอียดเชิงเทคนิคได้ที่ https://www.cyberark.com/threat-research-blog/ghosthook-bypassing-patchguard-processor-trace-based-hooking/