Home >> Advisories & Alerts <<  Security Bulletins || เอกสารเผยแพร่ || เครื่องมือ || บริการ || FAQ. || เกี่ยวกับ ThaiCERT

Advisories & Alerts
CERT Advisory
Alert
 

CERT Advisory CA-2007-17 (Technical Cyber Security Alert TA07-103A)
Microsoft Windows DNS RPC Buffer Overflow

ต้นฉบับ: http://www.us-cert.gov/cas/techalerts/TA07-103A.html
เรียบเรียงโดย: ณัฐพงษ์ แสงเลิศศิลปชัย

ระบบที่ได้รับผลกระทบ

  • Microsoft Windows 2003 Server
  • Microsoft Windows 2000 Server

กล่าวโดยทั่วไป

ช่องโหว่ประเภทหน่วยความจำล้นในส่วนจัดการการเรียกโพรซีเจอร์จากระยะไกล (Remote Procedure Call: RPC) ซึ่งถูกใช้โดย Microsoft Windows Domain Name Service (DNS) สามารถใช้ในการบุกรุกระบบได้ ช่องโหว่นี้อนุญาตให้ผู้บุกรุกจากระยะไกลสั่งรันโค้ดด้วยสิทธิของ SYSTEM ได้

I. คำอธิบาย

มีช่องโหว่หน่วยความจำสแต็กล้นในส่วนจัดการ RPC ของ Microsoft Windows DNS ช่องโหว่นี้สามารถถูกบุกรุกได้โดยการส่งแพ็กเก็ต RPC ที่ถูกสร้างขึ้นเพื่อบุกรุกไปยังส่วนจัดการ RPC โดยส่วนจัดการนี้ทำงานผ่านพอร์ตที่ระบุโดยสุ่มระหว่าง 1024/tcp ถึง 5000/tcp

หมายเหตุ ช่องโหว่นี้ไม่ถูกบุกรุกผ่านบริการ DNS name resolution (พอร์ต 53/udp)

อ่านรายละเอียดเพิ่มเติมของช่องโหว่เหล่านี้ได้จากบันทึกช่องโหว่หมายเลข VU#555920 และ Microsoft Security Advisory (935964)

ปัจจุบันช่องโหว่สามารถใช้ในการบุกรุกระบบได้

II. ผลกระทบ

ผู้บุกรุกจากระยะไกลสามารถสั่งรันโค้ดด้วยสิทธิของ SYSTEM หรือทำให้ระบบไม่สามารถทำงานได้

III วิธีแก้ไข

ขณะนี้ยังไม่มีการแก้ไขที่สมบูรณ์สำหรับช่องโหว่นี้ แต่มีการแก้ไขชั่วคราวซึ่งช่วยลดโอกาสในการบุกรุกจนกว่าจะมีโปรแกรมแก้ไขช่องโหว่ สิ่งสำคัญในการจัดการกับช่องโหว่นี้คือต้องเข้าใจการปรับแต่งค่า (configuration) ระบบเครือข่ายขององค์กรและความจำเป็นในการใช้บริการของระบบ ก่อนตัดสินใจเปลี่ยนแปลงส่วนใดๆ ยกตัวอย่างเช่น การยกเลิกส่วน RPC อาจทำให้ผู้ดูแลระบบไม่สามารถเข้าจัดการ Microsoft Windows DNS server จากระยะไกลได้ ดังนั้นควรพิจารณาก่อนปฏิบัติตามการแก้ไขชั่วคราวตามวิธีการด้านล่างนี้:

ยกเลิกส่วน RPC ซึ่งถูกใช้โดย Microsoft Windows DNS server

การแก้ไขชั่วคราวนี้เป็นการปรับค่าบริการจัดการ DNS ให้ทำงานเฉพาะส่วนการเรียกโพรซีเจอร์จากภายใน (Local Procedure Call: LPC) วิธีนี้ช่วยป้องกันการบุกรุกด้วยช่องโหว่ แต่ก็ปิดการจัดการระบบจากระยะไกลผ่าน RPC ซึ่งถูกใช้โดย Microsoft Management Console (MMC) DNS snap-in ด้วย

อ้างอิงตาม Microsoft Security Advisory (935964) การปิดการจัดการ RPC สามารถทำได้ตามขั้นตอนดังนี้:

  1. คลิ้ก Run ใน start menu และพิมพ์ Regedit จากนั้นกด Enter เพื่อเรียกโปรแกรม Registry Editor
  2. เปิดตำแหน่งรีจิสทรีไปที่: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters
  3. เลือกเมนู Edit > New > DWORD Value
  4. พิมพ์ RpcProtocol แทนที่ New Value #1 ในส่วนชื่อของค่ารีจิสทรี จากนั้นกด Enter
  5. ดับเบิลคลิ้กค่ารีจิสทรีที่ถูกสร้างขึ้นใหม่ แล้วเปลี่ยนข้อมูลของค่ารีจิสทรีเป็น 4

นอกจากการแก้ไขรีจิสทรีโดยตรงแล้ว สามารถคัดลอกข้อความด้านล่างไปบันทึกเป็นไฟล์ .REG และทำการส่งค่าเข้ารีจิสทรีได้ (คลิ้กขวาที่ไฟล์ .REG แล้วเลือก Merge):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters]

"RpcProtocol"=dword:00000004

ทำการรีสตาร์ทบริการ DNS เพื่อให้ค่าที่เปลี่ยนแปลงถูกใช้งาน

ข้อมูลเพิ่มเติมสำหรับ regedit.exe สามารถอ่านได้ที่ Microsoft Knowledge Base Article 82821

ป้องกันหรือจำกัดการเข้าถึงบริการ RPC

การแก้ไขชั่วคราวนี้จะจำกัดการเข้าถึงผ่านโพรโตคอล TCP/IP ไปยังส่วน RPC ทุกส่วน รวมถึงส่วนจัดการ DNS ซึ่งมีช่องโหว่ด้วย การแก้ไขนี้ไม่สามารถป้องกันการบุกรุกผ่านช่องโหว่ แต่จะจำกัดต้นเหตุการบุกรุกที่อาจเป็นไปได้ อีกทั้งอนุญาตให้มีการจัดการระยะไกลด้วย MMC DNS Snap-in จากระบบเครือข่ายที่เลือกไว้ได้

วิธีการคือห้ามการเข้าถึง RPC Endpoint Mapper service (135/tcp) ที่ส่วนต่อเชื่อมระบบเครือข่าย (network perimeters) โดยการห้าม RPC ที่ส่วนต่อเชื่อมระบบเครือข่ายนี้จะยังปล่อยให้ผู้บุกรุกภายในส่วนต่อเชื่อมทำการบุกรุกช่องโหว่นี้ได้

โดยทั่วไป RPC Endpoint Mapper service ถูกระบุพอร์ตโดยสุ่มระหว่าง 1024/tcp ถึง 5000/tcp ดังนั้นการเชื่อมต่อที่น่าสงสัยทุกประเภทที่ใช้พอร์ตเหล่านี้ควรถูกบล็อกด้วย

Appendix A. References

 

 


หากท่านพบเห็นข้อผิดพลาดหรือมีคำแนะนำ โปรดส่งข้อความของท่านมาที่ thaicert@nectec.or.th ท่านสามารถดาวน์โหลด PGP Public Key ของ ThaiCERT ได้ ในกรณีที่ต้องการเข้ารหัสอี-เมล์



Home >> Advisories & Alerts <<  Security Bulletins || เอกสารเผยแพร่ || เครื่องมือ || บริการ || FAQ. || เกี่ยวกับ ThaiCERT

ThaiCERT Disclaimer | Copyright © 2001 ThaiCERT(NECTEC). All rights reserved.