ช่องโหว่ที่พบใน Dnsmasq อนุญาตให้ปลอมแปลงเนื้อหาในแคช DNS

เมื่อเร็ว ๆ นี้ข้อมูลเกี่ยวกับไฟล์ ระบุช่องโหว่ 7 ช่องในแพ็คเกจ Dnsmasq ซึ่งรวมตัวแก้ไข DNS ที่แคชและเซิร์ฟเวอร์ DHCP ซึ่งได้รับการกำหนดชื่อรหัส DNSpooq ปัญหาอนุญาตให้มีการโจมตีแคช DNS อันธพาลหรือบัฟเฟอร์ล้น ที่อาจนำไปสู่การเรียกใช้โค้ดของผู้โจมตีจากระยะไกล

แม้ว่าเมื่อไม่นานมานี้ Dnsmasq ไม่ได้ใช้เป็นตัวแก้ปัญหาในการกระจาย Linux ทั่วไปอีกต่อไป แต่ยังคงใช้ใน Android และการกระจายเฉพาะเช่น OpenWrt และ DD-WRT รวมถึงเฟิร์มแวร์สำหรับเราเตอร์ไร้สายจากผู้ผลิตหลายราย ในการแจกแจงแบบปกติการใช้ dnsmasq โดยปริยายเป็นไปได้เช่นเมื่อใช้ libvirt สามารถเริ่มให้บริการ DNS บนเครื่องเสมือนหรือสามารถเปิดใช้งานได้โดยเปลี่ยนการตั้งค่าในตัวกำหนดค่า NetworkManager

เนื่องจากวัฒนธรรมการอัพเกรดเราเตอร์ไร้สายทำให้เป็นที่ต้องการอย่างมาก นักวิจัยกลัวว่าปัญหาที่ระบุอาจยังไม่ได้รับการแก้ไข เป็นเวลานานและจะมีส่วนเกี่ยวข้องกับการโจมตีอัตโนมัติบนเราเตอร์เพื่อควบคุมพวกเขาหรือเปลี่ยนเส้นทางผู้ใช้ไปยังไซต์ที่เป็นอันตราย

มี บริษัท ประมาณ 40 แห่งตาม Dnsmasqซึ่งรวมถึง Cisco, Comcast, Netgear, Ubiquiti, Siemens, Arista, Technicolor, Aruba, Wind River, Asus, AT&T, D-Link, Huawei, Juniper, Motorola, Synology, Xiaomi, ZTE และ Zyxel ผู้ใช้อุปกรณ์ดังกล่าวสามารถได้รับคำเตือนว่าอย่าใช้บริการเปลี่ยนเส้นทางการสืบค้น DNS ปกติที่มีให้

ส่วนแรกของช่องโหว่ ค้นพบใน Dnsmasq หมายถึงการป้องกันการโจมตีพิษของแคช DNS ตามวิธีการที่เสนอในปี 2008 โดย Dan Kaminsky

ปัญหาที่ระบุทำให้การป้องกันที่มีอยู่ไม่ได้ผล และอนุญาตให้ปลอมแปลงที่อยู่ IP ของโดเมนที่กำหนดเองในแคช วิธีการของ Kaminsky จัดการขนาดเล็กน้อยของช่อง ID เคียวรี DNS ซึ่งมีเพียง 16 บิต

หากต้องการค้นหาตัวระบุที่ถูกต้องที่จำเป็นในการปลอมแปลงชื่อโฮสต์เพียงแค่ส่งคำขอประมาณ 7.000 รายการและจำลองการตอบกลับปลอมประมาณ 140.000 รายการ การโจมตีดังกล่าวทำให้เกิดการส่งแพ็กเก็ตที่ผูกกับ IP ปลอมจำนวนมากไปยังตัวแก้ไข DNS ด้วยตัวระบุธุรกรรม DNS ที่แตกต่างกัน

ช่องโหว่ที่ระบุลดระดับเอนโทรปี 32 บิต คาดว่าจะต้องเดา 19 บิตซึ่งทำให้การโจมตีด้วยแคชเป็นพิษค่อนข้างสมจริง นอกจากนี้การจัดการระเบียน CNAME ของ dnsmasq ยังช่วยให้สามารถปลอมแปลงห่วงโซ่ของระเบียน CNAME เพื่อปลอมแปลงระเบียน DNS ได้สูงสุดครั้งละ 9 รายการ

  • CVE-2020-25684: ขาดการตรวจสอบความถูกต้องของ ID คำขอร่วมกับที่อยู่ IP และหมายเลขพอร์ตเมื่อประมวลผลการตอบสนอง DNS จากเซิร์ฟเวอร์ภายนอก ลักษณะการทำงานนี้เข้ากันไม่ได้กับ RFC-5452 ซึ่งต้องใช้แอ็ตทริบิวต์คำร้องขอเพิ่มเติมเมื่อจับคู่การตอบกลับ
  • CVE-2020-25686: ขาดการตรวจสอบความถูกต้องของคำขอที่รอดำเนินการที่มีชื่อเดียวกันทำให้การใช้วิธีวันเกิดช่วยลดจำนวนครั้งในการพยายามปลอมคำตอบลงได้มาก เมื่อใช้ร่วมกับช่องโหว่ CVE-2020-25684 ฟีเจอร์นี้สามารถลดความซับซ้อนของการโจมตีลงได้มาก
  • CVE-2020-25685: การใช้อัลกอริทึมการแฮช CRC32 ที่ไม่น่าเชื่อถือเมื่อตรวจสอบการตอบสนองในกรณีของการคอมไพล์โดยไม่มี DNSSEC (ใช้ SHA-1 กับ DNSSEC) ช่องโหว่นี้สามารถใช้เพื่อลดจำนวนครั้งที่พยายามลงอย่างมากโดยอนุญาตให้คุณใช้ประโยชน์จากโดเมนที่มีแฮช CRC32 เดียวกันกับโดเมนเป้าหมาย
  • ปัญหาชุดที่สอง (CVE-2020-25681, CVE-2020-25682, CVE-2020-25683 และ CVE-2020-25687) เกิดจากข้อผิดพลาดที่ทำให้บัฟเฟอร์ล้นเมื่อประมวลผลข้อมูลภายนอกบางอย่าง
  • สำหรับช่องโหว่ CVE-2020-25681 และ CVE-2020-25682 มีความเป็นไปได้ที่จะสร้างช่องโหว่ที่อาจนำไปสู่การเรียกใช้โค้ดบนระบบ

ในที่สุดก็มีการกล่าวถึงว่า ช่องโหว่ได้รับการแก้ไขแล้วในการอัปเดต Dnsmasq 2.83 และเพื่อเป็นการแก้ปัญหาขอแนะนำให้ปิดการใช้งาน DNSSEC และการแคชแบบสอบถามโดยใช้ตัวเลือกบรรทัดคำสั่ง

Fuente: https://kb.cert.org


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา