ไมโครซอฟท์พบระบบปฎิบัติการ IoT จำนวนมากมีช่องโหว่ร้ายแรงเพราะฟังก์ชั่น malloc ไม่ตรวจสอบอินพุต

by lew
1 May 2021 - 03:08

ทีมความปลอดภัยไซเบอร์ Section 52 ของไมโครซอฟท์ที่มีหน้าที่วิจัยความปลอดภัยในอุปกรณ์กลุ่ม IoT รายงานถึงช่องโหว่ BadAlloc กลุ่มช่องโหว่ของซอฟต์แวร์ IoT สำคัญๆ จำนวนมากที่ไม่ตรวจสอบอินพุตก่อนจองหน่วยความจำจนกลายเป็นช่องโหว่ heap overflow นำไปสู่การโจมตีแบบรันโค้ดระยะไกลหรือไม่ก็ทำให้อุปกรณ์แครชไปได้

ตัวอย่างของช่องโหว่ BadAlloc เช่น ฟังก์ชั่น malloc สำหรับจองหน่วยความจำเมื่อรับค่าขนาดหน่วยความจำที่ต้องการมาแล้วก็นำค่าเป็นบวกกับค่าคงที่ เช่น ขนาด struct สำหรับเก็บข้อมูล heap โดยไม่ได้ตรวจสอบว่าขนาดหน่วยความจำใหญ่เกินไปหรือไม่ ทำให้เมื่อนำค่าไปบวกกับค่าคงที่ต่างๆ แล้วเกิด integer overflow ทำให้ค่าที่ได้วนกลับไปเริ่มจากศูนย์หรือติดลบ

ทาง Section 52 แนะนำว่าผู้ใช้อุปกรณ์ IoT ควรติดตั้งแพตช์จากผู้ผลิตเสมอ, มอนิเตอร์การทำงานผ่านระบบเก็บ log, จำกัดการเข้าถึงอุปกรณ์ เช่น บังคับต้อง VPN ก่อน, แบ่งวงเน็ตเวิร์คออกจากวงอื่นๆ

ซอฟต์แวร์ที่ยืนยันว่ามีช่องโหว่ BadAlloc มีซอฟต์แวร์ดังๆ หลายตัว เช่น Amazon FreeRTOS, ARM Mbed OS, Google Cloud IoT Device SDK, Linux Zephyr RTOS, Samsung Tizen RTOS, TencentOS-tiny

ที่มา - Microsoft Security Response Center

Blognone Jobs Premium