|
CERT Advisory CA-2008-23 (Technical Cyber
Security Alert TA08-190B)
Multiple DNS implementations vulnerable to cache poisoning
ต้นฉบับ: http://www.us-cert.gov/cas/techalerts/TA08-190B.html
เรียบเรียงโดย: ศิวพงษ์
นิยมพานิช
ระบบที่ได้รับผลกระทบ
ระบบที่มีใช้งาน
- Caching DNS resolvers
- DNS stub resolvers
ซึ่งได้รับผลกระทบทั้งเซิร์ฟเวอร์และไคลเอนต์ รวมไปถึงระบบเครือข่ายอื่นที่มีการใช้งานดังกล่าว
กล่าวโดยทั่วไป
ข้อผิดพลาดและความไม่สมบูรณ์ของโพรโตคอล รวมไปถึงการใช้งานระบบ
DNS (Domain Name System) ทำให้เกิดช่องโหว่ ซึ่งเป็นสาเหตุให้ถูกโจมตีได้
I. คำอธิบาย
DNS cache poisoning หรือที่เรียกว่า cache pollution
คือเทคนิคการโจมตีที่อนุญาตให้ผู้บุกรุกปลอมแปลงและเพิ่มเติมข้อมูลบางอย่างเข้าไปในแคชของเซิร์ฟเวอร์ที่ทำหน้าที่เป็น
caching nameserver โดยเทคนิคนี้เกิดขึ้นจากความไม่สมบูรณ์ของโพรโตคอล
DNS และข้อผิดพลาดของการใช้งานระบบ ซึ่งปัจจุบันมีการใช้เทคนิคดังกล่าวเพื่อโจมตีระบบเพิ่มมากขึ้น
ตัวอย่างของช่องโหว่สามารถอ่านเพิ่มเติมได้จากบันทึกช่องโหว่หมายเลข
VU#800113
จากการทดลองวิจัยที่ผ่านมาพบว่าช่องโหว่ต่างๆ ที่เกี่ยวข้องนั้นถูกใช้เป็นเครื่องมือในการหาผลประโยชน์อย่างไม่ถูกต้องจากการปลอมแปลงข้อมูลในโดเมนต้องการ
โดยมีการสร้างเครื่องมือและเทคนิค เพื่อทำการโจมตีช่องโหว่ด้วยเทคนิคดังกล่าวมากขึ้น
มีผลให้ผู้พัฒนาระบบ DNS ส่วนใหญ่ได้พัฒนาระบบ source port randomization
ในส่วน resolvers ของ DNS เข้าไปในระบบของตน
อ่านรายละเอียดเพิ่มเติมของช่องโหว่เหล่านี้ได้จากบันทึกช่องโหว่หมายเลข
VU#800113 และ
CVE-2008-1447
II. ผลกระทบ
ผู้บุกรุกที่สามารถทำการโจมตีระบบสำเร็จสามารถให้ข้อมูลหลอกลวงแก่ไคลเอนต์ที่ร้องขอข้อมูลจากเซิร์ฟเวอร์ที่ถูกบุกรุก
ดังนั้นเนื้อหาเว็บ อีเมล์ หรือข้อมูลสำคัญอื่นๆ อาจถูกส่งไปยังระบบที่ผู้บุกรุกเตรียมไว้ได้
III. วิธีแก้ไข
ใช้โปรแกรมแก้ไขช่องโหว่จากผู้พัฒนา
ทำการอัพเดตโปรแกรมเป็นเวอร์ชันที่ได้รับการแก้ไขแล้วจากผู้พัฒนาระบบ
DNS ที่มีระบบ source port randomization ซึ่งสามารถดูรายละเอียดเพิ่มเติมเกี่ยวกับผู้ผลิตดังกล่าวได้จาก
VU#800113
จากข้อมูลที่กล่าวมาทั้งหมด เป็นช่องโหว่ที่พบในการทำงานของ
resolvers ซึ่งการทำงานในส่วนนี้จะทำการส่งแพ็กเก็ตไปถามข้อมูลจากผู้บุกรุก
มีผลทำให้ได้รับข้อมูลหลอกลวงจากผู้บุกรุก ดังนั้นผู้ดูแลระบบจึงต้องแจ้งเตือนให้ไคลเอนต์ในระบบเครือข่ายทำการอัพเดตการทำงานสำหรับระบบที่ใช้งานระบบ
source port randomization ในส่วนของ resolvers
การแก้ไขแบบชั่วคราว
จำกัดการเข้าถึง
เป็นวิธีการการจำกัดการเข้าถึงของส่วนที่ต้องการ ซึ่งสามารถช่วยหยุดการแพร่กระจายของผู้บุกรุกไม่ให้สามารถเข้าถึงเพื่อโจมตีระบบได้
กรองข้อมูลเครือข่ายจากภายนอก
ผู้บุกรุกสามารถทำการปลอมแปลงไอพีที่เข้ามาใช้งานระบบได้ ผู้ดูแลระบบควรกรองไอพีที่อาจถูกปลอมแปลงเข้ามา
ซึ่งสามารถอ่านข้อมูลการใช้งานสำหรับการกรองข้อมูลดังกล่าวได้จาก RFC
2827, RFC 3704,
RFC 3013 โดยผู้ดูแลระบบต้องตระหนักถึงค่าการปรับแต่ง
และการให้บริการที่มีอยู่ในระบบ ก่อนการทำการแก้ไขเปลี่ยนแปลงใดๆ
ใช้งาน DNS cache ภายใน
เพื่อเป็นการป้องกันระบบภายใน ผู้ดูแลระบบอาจติดตั้งระบบ DNS cache
สำหรับระบบภายใน ซึ่งสามารถทำควบคู่ไปในระบบของเซิร์ฟเวอร์และระบบของไคลเอนต์
หรืออาจทำแยกในส่วนของระบบเครือข่ายต่างๆ ได้
ปิดการใช้งาน recursion
ปิดการทำงานที่เรียกว่า recursion เพื่อไม่ให้รับข้อมูลจากแคชของ DNS
ที่ไม่ใช่เจ้าของโดเมน
พัฒนาการทำงานระบบ source port randomization
สามารถอ่านกฏการทำงานดังกล่าวได้จาก IETF "Measures
for making DNS more resilient against forged answers" เพื่อเป็นข้อมูลเพิ่มเติมในการพัฒนาการทำงานดังกล่าว
ซึ่งหากสามารถพัฒนาหรือแก้ไขได้เหมาะสมถูกต้องกว่าระบบเดิม สามารถส่งไปนำเสนอยัง
RFC เพื่อพิจารณาได้
IV. เอกสารอ้างอิง
|