HTTP.sys vulnerability MS15-034

ปัจจุบันเครื่อง Windows Server จะมี HTTP listener หรือ web server อยู่ด้วย (ไม่ได้จัดการโดย IIS Web server เหมือนแต่ก่อน)  เพราะ Microsoft Windows มีงานหลายส่วนที่ทำผ่าน web เช่นการใช้ Remote admin ที่ทำผ่าน web ด้วย เป็นต้น ซึ่งปัจจุบัน Microsoft ได้สร้าง File HTTP.sys เพื่อด่านหน้าในการทำงานของ HTTP  โดยมี IIS เป็น application หนึ่งที่มาเกาะกับ HTTP.sys อีกที ในการออกแบบ OS มี Mode การทำงาน 2 แบบคือ Kernel และ User Mode โดย Kernel จะเป็นส่วน Low Level ที่ System ใช้งานเพื่อ Support การทำงานของทุกส่วนใน Windows ในขณะที่ User Mode จะเป็นขอบเขตของ User แต่ละคนเท่านั้น เราจะพบว่า software ที่วางอยู่ใน Kernel มักเป็น core system ของ Windows เช่น driver ต่าง หรือ virtualization เป็นต้น การติดตั้ง HTTP.sys ใน Kernel จึงมีประโยชน์มากกว่า หน้าที่ของ HTTP.sys ใน Kernel คือ การเป็น Cache สำหรับ HTTP request และการจัด Request Queue ถ้าอยากรู้ว่าใครกำลังใช้ HTTP.sys ในเครื่องบ้านให้ใช้คำสั่งนั้นใน Command Windows

netsh http show servicestate

ปัญหาของ HTTP.sys และการโจมตี

เมื่อ HTTP.sys อยู่ใน Kernel แล้วมันเกิด Vulnerability ผลกระทบก็ต้องมากกว่า  ปัญหาที่พบครั้งนี้คือการตรวจ HTTP Request ที่ใช้ Range ไม่เหมาะสม การทดสอบจะใช้ เครื่องมือชื่อ curl   มีรูปแบบการ เรียก

HTTP

Curl –v http://servername/ -H “Host: servername” –H “Range: byte 0-18446744073709551615” –k

HTTPS

Curl –v https://servername/ -H “Host: servername” –H “Range: byte 0-18446744073709551615” –k

ถ้าเครื่องมีปัญหาจะได้ Return นี้

image

คำสั่ง Range ใน Request ถูกใช้ Download File หรือ Content แล้ว ทำให้ HTTP.sys อ่าน File มาเก็บลง Cache แล้วเอาค่า Range นี้อ่านข้อมูลจาก Cache อีกที

ปัญหาที่พบแล้วตอนนี้ คือ Denied of Service แต่ที่กลัวกันคือถ้ามีการต่อยอดไปได้ ถ้าไปอ่าน Memory ตรงอื่นมาได้จะเกิดอะไรขึ้น?

Windows ที่ได้รับผลกระทบจาก Vulnerability

WIndows Client:  Windows 7,- Windows 8,- Windows 8.1

Windows Server:  Windows Server 2008 R2,- Windows Server 2012,- Windows Server 2012 R2

การแก้ปัญหา

ต้องลง Hotfix MS15-034

Workaround

– ทำด้วยการ Disable IIS kernel caching ในหน้า IIS Admin

clip_image002

clip_image004

Reference

  1. https://technet.microsoft.com/en-us/library/security/ms15-034.aspx
  2. https://blog.sucuri.net/2015/04/website-firewall-critical-microsoft-iis-vulnerability-ms15-034.html
  3. http://www.paehl.com/open_source/downloads/curl_X64_ssl.7z
Advertisements