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

Advisories & Alerts
CERT Advisory
Alert
 

ชื่อ : Multiple Remote Vulnerabilities in BIND4 and BIND8
ค้นพบเมื่อ : 12 พฤศจิกายน 2545
ชนิด : ช่องโหว่ของโปรแกรม

กล่าวนำ
DNS ถือได้ว่าเป็นองค์ประกอบหลักอย่างหนึ่งของการติดต่อสื่อสารของอินเทอร์เน็ตในปัจจุบัน หน้าที่หลักของ DNS คือการแปลงหมายเลขไอพีให้เป็นชื่อโดเมน หรือแปลงชื่อโดเมนให้เป็นหมายเลขไอพี โปรแกรม Bind เป็นโปรแกรมที่นิยมใช้สำหรับการติดตั้ง DNS กันมากที่สุด เนื่องจาก DNS เป็นระบบที่ให้บริการแบบเปิดกว้าง (Public Service) ดังนั้นย่อมมีความเสี่ยงสูงต่อบุคคลภายนอกที่ต้องการบุกรุกผ่าน DNS ช่องโหว่เดิมของ Bind ที่อันตราย เช่น CERT advisory CA-2002-15 เป็นต้น ช่องโหว่ใหม่ของโปรแกรมในครั้งมีอยู่สามจุดคือ BIND SIG Cached RR Overflow Vulnerability, BIND OPT DoS และ BIND SIG Expiry Time DoS โดยช่องโหว่แต่ละแบบจะมีผลต่อโปรแกรม Bind ในเวอร์ชั่นที่ต่างกัน

คำอธิบายเพิ่มเติม
จากที่กล่าวมาแล้วว่าช่องโหว่ของ Bind ครั้งนี้มี 3 จุด รายละเอียดมีดังนี้

  • BIND SIG Cached RR Overflow Vulnerability

เป็นช่องโหว่ประเภทบัฟเฟอร์โอเวอร์โฟรว์ของโปรแกรม BIND เวอร์ขั่น 4 และ 8 มีผลทำให้ผู้บุกรุกสามารถเข้าถึง DNS จากภายนอก หลังจากผู้บุกรุกเข้าถึง DNS ผ่านช่องโหว่นี้ ผู้บุกรุกมีสิทธิที่จะปรับเปลี่ยน หรือเปลี่ยนแปลงฐานข้อมูลต่างๆ ของ DNS ช่องโหว่นี้เกิดขึ้นเมื่อ Bind มีการตั้งค่า recursion ให้ทำงาน โดยทั่วไประบบของ Bind จะตั้งค่า recursion ให้ทำงานตั้งแต่เริ่มต้น การบุกรุกเกิดขึ้นได้เมื่อผู้บุกรุกสร้าง DNS เป็นของตน หรือเป็น DNS ที่ถูกบุกรุกและเป็นเจ้าของโดยผู้บุกรุก หลังจากนั้นผู้บุกรุกจะส่งข้อมูลการร้องขอที่มีรูปแบบเป็น SIG resource records (RR) และตามมาด้วยข้อมูลจำนวนมากที่มีจุดมุ่งหมายในการสร้างบัฟเฟอร์โอเวอร์โฟรว์

หมายเหตุ: การตั้งค่า recursion ใน Bind นั้นมีผลดังนี้คือ เมื่อมีการร้องขอการชื่อโดเมน หรือไอพีจากเครื่องลูกข่าย DNS จะทำการค้นหาข้อมูลจากฐานข้อมูลของตนเอง หากโดเมนนั้นเป็นความรับผิดชอบของตน แต่หากเป็นของ DNS อื่น โปรแกรม Bind ก็จะร้องขอการค้นหาไปยัง DNS นั้นๆ ตามปรกติ แต่หากตั้งค่าไม่ให้มีการใช้ recursion ระบบจะทำการค้นหาชื่อโดเมน หรือไอพีจากแคช(Cache) ก่อน หากไม่พบ ระบบจะทำการค้นหาในแบบเดียวกันกับแบบแรก

  • BIND OPT DoS

การตั้งค่า recursion ใน BIND เวอร์ชั่น 8 จะมีความเสี่ยงต่อการถูกโจมตีแบบ Denial of Service ได้ โดยเครื่องลูกข่ายร้องขอโดเมนย่อยที่ไม่มีอยู่จริงให้กับ DNS ที่มีช่องโหว่นี้ ผลของการค้นหาโดเมนย่อยที่ไม่มีอยู่จริงคือ ระบบ Bind จะส่งข้อมูลแบบ OPT resource record ผ่านเพ็กเก็ต UDP ที่มีขนาดใหญ่ ซึ่งข้อมูลขนาดใหญ่นี้เป็นสาเหตุให้เกิดการบุกรุกแบบ DoS ขึ้น

  • BIND SIG Expiry Time DoS

การโจมตีแบบ DoS สามารถเกิดขึ้นได้อีกรูปแบบหนึ่งกับการตั้งค่า recursion ของ BIND เวอร์ชั่น 8 การโจมตีแบบนี้เกิดขึ้นจากการหยุดการร้องขอที่กระทำต่อแคช ของ SIG RR อย่างทันทีทันใด ซึ่งมีผลทำให้เกิดการโจมตีแบบ DoS ได้เช่นกัน

ผลกระทบที่ได้รับ
ถ้าเป็นการโจมตีแบบ DoS ระบบจะหยุดทำงานไปชั่วคราว แต่หากเป็นการบุกรุกผ่านช่องโหว่บัฟเฟอร์โอเวอร์โฟรว์ ผู้บุกรุกสามารถแก้ไข หรือปรับปรุงฐานข้อมูลของ DNS ได้

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

สำหรับการบุกรุกแบบ BIND SIG Cached RR Overflow Vulnerability

  • BIND 8, versions up to and including 8.3.3-REL
  • BIND 4, versions up to and including 4.9.10-REL

สำหรับการบุกรุกแบบ BIND OPT DoS

  • BIND 8, versions 8.3.0 up to and including 8.3.3-REL

สำหรับการบุกรุกแบบ BIND SIG Expiry Time DoS

  • BIND 8, versions up to and including 8.3.3-REL


วิธีแก้ปัญหา

  • ติดตั้ง Bind เวอร์ชั่นใหม่เป็นเวอร์ชั่น 9.2.1 และ PGP Signature

วิธีการป้องกัน

ยกเลิกการใช้ recursion

โดยสำหรับ BIND เวอร์ชั่น 8 นั้น ให้แก้ไขไฟล์ named.conf เป็น

  • options {
    recursion no;
    };

และสำหรับ BIND เวอร์ชั่น 4 นั้น ให้แก้ไขไฟล์ named.boot ให้เป็น

options no-recursion

เอกสารอ้างอิง
http://bvlive01.iss.net/issEn/delivery/xforce/alertdetail.jsp?oid=21469
http://www.isc.org/products/BIND/bind-security.html

เผยแพร่โดย ThaiCERT เมื่อ 13 พฤศจิกายน 2545 14.00
ปรับปรุงล่าสุดโดย ThaiCERT เมื่อ 13 พฤศจิกายน 2545 14.00


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



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

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