นักวิจัยจากกลุ่ม ป.ป.ช
โดยรวมแล้ว มีการระบุช่องโหว่ 6 รายการในสแต็กเครือข่าย, 4 รายการในเคอร์เนล, 2 รายการในเชลล์คำสั่ง, 5 รายการในตัวจัดการการเรียกระบบ, 5 รายการในระบบย่อย USB และ 3 รายการในกลไกการอัพเดตเฟิร์มแวร์ มี 9 ประเด็นที่ได้รับการจัดอันดับว่าเป็นประเด็นวิกฤต 9 ประเด็นอยู่ในระดับสูง 4 ประเด็นอยู่ในระดับปานกลาง 4 ประเด็นอยู่ในระดับต่ำ และ 15 ประเด็นอยู่ระหว่างการพิจารณา ปัญหาร้ายแรงส่งผลกระทบต่อสแต็ก IPvXNUMX และตัวแยกวิเคราะห์ MQTT ปัญหาที่เป็นอันตรายส่งผลกระทบต่ออุปกรณ์จัดเก็บข้อมูล USB และไดรเวอร์ USB DFU ในขณะที่เปิดเผยข้อมูล มีการเตรียมการแก้ไขสำหรับช่องโหว่ที่อันตรายที่สุด XNUMX รายการเท่านั้น ปัญหาที่นำไปสู่การปฏิเสธการให้บริการหรือเกี่ยวข้องกับข้อบกพร่องในกลไกการป้องกันเคอร์เนลเพิ่มเติมยังคงไม่ได้รับการแก้ไข
มีการระบุช่องโหว่ที่สามารถหาประโยชน์ได้จากระยะไกลในสแต็ก IPv4 ของแพลตฟอร์ม ซึ่งนำไปสู่ความเสียหายของหน่วยความจำเมื่อประมวลผลแพ็กเก็ต ICMP ที่แก้ไขด้วยวิธีใดวิธีหนึ่ง พบปัญหาร้ายแรงอีกประการหนึ่งในตัวแยกวิเคราะห์โปรโตคอล MQTT ซึ่งเกิดจากการขาดการตรวจสอบความยาวฟิลด์ส่วนหัวที่เหมาะสม และอาจนำไปสู่การเรียกใช้โค้ดจากระยะไกล พบปัญหาการปฏิเสธบริการที่รุนแรงน้อยกว่าในสแต็ก IPv6 และการใช้งานโปรโตคอล CoAP
ปัญหาอื่นๆ สามารถถูกนำไปใช้ประโยชน์ในเครื่องเพื่อทำให้เกิดการปฏิเสธการบริการหรือรันโค้ดในระดับเคอร์เนล ช่องโหว่เหล่านี้ส่วนใหญ่เกี่ยวข้องกับการขาดการตรวจสอบอาร์กิวเมนต์การเรียกของระบบอย่างเหมาะสม และอาจนำไปสู่การเขียนและอ่านหน่วยความจำเคอร์เนลในพื้นที่ที่กำหนดเองได้ ปัญหายังขยายไปถึงโค้ดประมวลผลการเรียกของระบบด้วย การเรียกหมายเลขการเรียกของระบบที่เป็นค่าลบส่งผลให้เกิดจำนวนเต็มล้น เคอร์เนลยังระบุปัญหาในการใช้งานการป้องกัน ASLR (การสุ่มพื้นที่ที่อยู่) และกลไกในการตั้งค่าเครื่องหมายคานารีบนสแต็ก ซึ่งทำให้กลไกเหล่านี้ไม่ได้ผล
ปัญหามากมายส่งผลต่อสแต็ก USB และไดรเวอร์แต่ละตัว ตัวอย่างเช่น ปัญหาในที่จัดเก็บข้อมูล USB ขนาดใหญ่อาจทำให้เกิดบัฟเฟอร์ล้นและรันโค้ดที่ระดับเคอร์เนลเมื่ออุปกรณ์เชื่อมต่อกับโฮสต์ USB ที่ควบคุมโดยผู้โจมตี ช่องโหว่ใน USB DFU ซึ่งเป็นไดรเวอร์สำหรับโหลดเฟิร์มแวร์ใหม่ผ่าน USB ช่วยให้คุณสามารถโหลดอิมเมจเฟิร์มแวร์ที่แก้ไขลงในแฟลชภายในของไมโครคอนโทรลเลอร์โดยไม่ต้องใช้การเข้ารหัสและข้ามโหมดการบูตที่ปลอดภัยด้วยการตรวจสอบส่วนประกอบโดยใช้ลายเซ็นดิจิทัล นอกจากนี้ ยังได้ศึกษาโค้ด Open Bootloader อีกด้วย
ซึ่งอาจนำไปสู่การบัฟเฟอร์ล้นเมื่อใช้โปรโตคอล SMP (Simple Management Protocol) บน UART
โปรดจำไว้ว่าใน Zephyr มีเพียงพื้นที่ที่อยู่เสมือนที่ใช้ร่วมกันทั่วโลกเพียงแห่งเดียวเท่านั้น (SASOS, ระบบปฏิบัติการพื้นที่ที่อยู่เดี่ยว) สำหรับกระบวนการทั้งหมด รหัสเฉพาะแอปพลิเคชันจะรวมกับเคอร์เนลเฉพาะแอปพลิเคชันเพื่อสร้างไฟล์ปฏิบัติการแบบเสาหินที่สามารถโหลดและรันบนฮาร์ดแวร์เฉพาะได้ ทรัพยากรระบบทั้งหมดถูกกำหนด ณ เวลาคอมไพล์ ช่วยลดขนาดโค้ดและเพิ่มประสิทธิภาพ อิมเมจระบบสามารถรวมเฉพาะคุณลักษณะเคอร์เนลที่จำเป็นในการรันแอปพลิเคชันเท่านั้น
เป็นที่น่าสังเกตว่าในบรรดาข้อดีที่สำคัญของ Zephyr
ที่มา: opennet.ru