|
CERT Advisory CA-2007-09 (Technical Cyber Security
Alert TA07-050A)
Sourcefire Snort DCE/RPC Preprocessor Buffer Overflow
ต้นฉบับ: http://www.us-cert.gov/cas/techalerts/TA07-050A.html
เรียบเรียงโดย: พุธ
นาฑีสุวรรณ
ระบบที่ได้รับผลกระทบ
- Snort 2.6.1, 2.6.1.1, and 2.6.1.2
- Snort 2.7.0 beta 1
- Sourcefire Intrusion Sensors version 4.1.x, 4.5.x,
and 4.6x with SEUs prior to SEU 64
- Sourcefire Intrusion Sensors for Crossbeam version
4.1.x, 4.5.x, and 4.6x with SEUs prior to SEU 64t
ซอฟต์แวร์อื่นๆ ที่มีการใช้งาน Snort หรือมีส่วนประกอบของ
Snort ภายในโปรแกรมอาจได้รับผลกระทบด้วย
กล่าวโดยทั่วไป
ช่องโหว่หน่วยความจำสแต็กล้น (Stack Buffer Overflow)
ภายในพรีโพรเซสเซอร์ Sourcefire Snort DCE/RPC อนุญาตให้ผู้บุกรุกที่ไม่จำเป็นต้องพิสูจน์ตัวตน
สามารถสั่งรันโค้ดจากระยะไกลได้ด้วยสิทธิ์ของโปรแกรม Snort
I. คำอธิบาย
Sourcefire Snort เป็นโปรแกรม open-source สำหรับตรวจจับการบุกรุกระบบ
(Intrusion detection system) ที่ได้รับความนิยมอย่างกว้างขวาง โปรแกรม
Snort และส่วนประกอบของ Snort ได้ถูกนำไปใช้ในผลิตภัณฑ์ระบบตรวจจับการบุกรุกอื่นๆ
และ Snort ยังได้ถูกรวบรวมไว้ในหลายระบบปฏิบัติการด้วย ซึ่งพรีโพรเซสเซอร์
DCE/RPC
จะมีหน้าที่ประกอบส่วนประกอบของทราฟฟิกประเภท SMB และ DCE/RPC ก่อนที่จะส่งต่อไปตรวจสอบตามกฎของ
Snort (Snort rules)
โค้ดที่เป็นช่องโหว่ไม่สามารถประกอบกลับเป็นแพ็กเก็ตประเภท
SMB และ DCE/RPC ได้อย่างเหมาะสม ผู้บุกรุกสามารถอาศัยช่องโหว่นี้ในการบุกรุกระบบ
โดยส่งแพ็คเก็ต TCP ที่สร้างขึ้นเป็นพิเศษ ไปยังเครื่องคอมพิวเตอร์
หรือระบบเครือข่ายที่ถูกตรวจสอบด้วย Snort ซึ่งโดยทั่วไปแล้วพรีโพรเซสเซอร์
DCE/RPC จะถูกเปิดใช้งานไว้ แต่ไม่มีความจำเป็นสำหรับผู้บุกรุกในการตรวจสอบ
TCP
US-CERT ประกาศการติดตามช่องโหว่ดังกล่าวที่หมายเลข
VU#196240 ซึ่งช่องโหว่ดังกล่าวถูกประกาศไว้ที่
CVE-2006-5276
สำหรับข้อมูลเพิ่มเติม สามารถค้นหาได้จาก Sourcefire
และ ISS
II. ผลกระทบ
ผู้บุกรุกจากระยะไกลสามารถสั่งรันโค้ดมายังระบบด้วยสิทธิ์ของพรีโพรเซสเซอร์
Snort
III. วิธีแก้ไข
ปรับปรุงเวอร์ชัน
Snort เวอร์ชัน 2.6.1.3
สามารถดาวน์โหลดได้ที่เว็บไซต์
Snort สำหรับลูกค้าของ Sourcefire ควรเข้าที่ไซด์ Sourcefire
Support Login
ยกเลิกการใช้งานพรีโพรเซสเซอร์ DCE/RPC
ในการยกเลิกการใช้งานพรีโพรเซสเซอร์ DCE/RPC นั้น
ให้ทำการยกเลิกคำสั่งที่ใช้ในการโหลดพรีโพรเซสเซอร์ในไฟล์คอนฟิกกูเรชันของ
Snort (ปกติคือ /etc/snort.conf บนระบบปฎิบัติการยูนิกซ์และลีนุกซ์)
[/etc/snort.conf]
...
#preprocessor dcerpc...
...
จากนั้นให้ทำการรีสตาร์ท Snort เพื่อให้ Snort ทำการอ่านไฟล์คอนฟิกกูเรชันที่แก้ไข
การยกเลิกพรีโพรเซสเซอร์ดังกล่าวจะช่วยป้องกัน Snort
ในขั้นตอนการประกอบส่วนประกอบของแพ็กเก็ตประเภท SMB และ DCE/RPE ซึ่งอาจอนุญาตให้ผู้บุกรุกสามารถหลบเลียง
IDS
IV. References
|