RTOS Zephyr-da 25 ta zaifliklar, shu jumladan ICMP paketi orqali foydalaniladigan zaifliklar

NCC Group tadqiqotchilari e'lon qilindi bepul loyiha auditi natijalari Zephyr, rivojlanmoqda Internet of Things (IoT, Internet of Things) kontseptsiyasiga mos keladigan qurilmalarni jihozlashga qaratilgan real vaqtda operatsion tizim (RTOS). Tekshiruv davomida ma'lum bo'ldi 25 ta zaifliklar Zephyr-da va MCUboot-da 1 zaiflik. Zephyr Intel kompaniyalari ishtirokida ishlab chiqilmoqda.

Hammasi bo'lib, tarmoq stekida 6 ta, yadroda 4 ta, buyruqlar qobig'ida 2 ta, tizim qo'ng'iroqlari bilan ishlashda 5 ta, USB quyi tizimida 5 ta va mikrodasturlarni yangilash mexanizmida 3 ta zaiflik aniqlangan. Ikki masala tanqidiy, ikkitasi yuqori, 9 tasi o‘rtacha, 9 tasi past va 4 tasi ko‘rib chiqilishi kerak. Muhim muammolar IPv4 stekiga va MQTT tahlilchisiga ta'sir qiladi, xavfli muammolar USB ommaviy xotirasi va USB DFU drayverlariga ta'sir qiladi. Ma'lumotni oshkor qilish vaqtida faqat 15 ta eng xavfli zaifliklar uchun tuzatishlar tayyorlangan; xizmat ko'rsatishni rad etishga olib keladigan yoki yadroni himoya qilishning qo'shimcha mexanizmlaridagi kamchiliklar bilan bog'liq muammolar tuzatilmagan.

Platformaning IPv4 stekida masofadan turib foydalaniladigan zaiflik aniqlandi, bu ma'lum bir tarzda o'zgartirilgan ICMP paketlarini qayta ishlashda xotira buzilishiga olib keladi. MQTT protokoli tahlilchisida yana bir jiddiy muammo topildi, bu sarlavha maydoni uzunligini to'g'ri tekshirmaslikdan kelib chiqadi va kodning masofadan bajarilishiga olib kelishi mumkin. Xizmatni rad etish bilan bog'liq muammolar IPv6 to'plamida va CoAP protokolini amalga oshirishda uchraydi.

Boshqa muammolar mahalliy darajada xizmat ko'rsatishni rad etish yoki yadro darajasida kodni bajarish uchun ishlatilishi mumkin. Ushbu zaifliklarning aksariyati tizim chaqiruvi argumentlarining to'g'ri tekshirilmaganligi bilan bog'liq va yadro xotirasining o'zboshimchalik bilan yozilishi va o'qilishiga olib kelishi mumkin. Muammolar tizim qo'ng'iroqlarini qayta ishlash kodining o'ziga ham taalluqlidir - salbiy tizim qo'ng'iroq raqamiga qo'ng'iroq qilish butun sonning to'lib ketishiga olib keladi. Yadro shuningdek, ASLR himoyasini (manzil maydonini tasodifiylashtirish) va stekga kanareyka belgilarini o'rnatish mexanizmini amalga oshirishdagi muammolarni aniqladi va bu mexanizmlarni samarasiz qildi.

Ko'pgina muammolar USB to'plamiga va individual drayverlarga ta'sir qiladi. Misol uchun, USB ommaviy xotirasidagi muammolar bufer to'lib ketishiga va qurilma tajovuzkor tomonidan boshqariladigan USB xostga ulanganda yadro darajasida kodning bajarilishiga olib kelishi mumkin. USB DFU-dagi zaiflik, yangi proshivkani USB orqali yuklash drayveri, o'zgartirilgan proshivka tasvirini mikrokontrollerning ichki Flash-ga shifrlashdan foydalanmasdan va raqamli imzo yordamida komponentlarni tekshirish bilan xavfsiz yuklash rejimini chetlab o'tmasdan yuklash imkonini beradi. Bundan tashqari, ochiq bootloader kodi o'rganildi MCUboot, unda bitta yaxshi zaiflik topilgan,
UART orqali SMP (Simple Management Protocol) protokolidan foydalanganda bufer to'lib ketishiga olib kelishi mumkin.

Eslatib o'tamiz, Zephyr-da barcha jarayonlar uchun faqat bitta global umumiy virtual manzil maydoni (SASOS, yagona manzil maydoni operatsion tizimi) taqdim etiladi. Ilovaga xos kod maxsus apparatda yuklanishi va ishlashi mumkin bo'lgan monolit bajariladigan faylni hosil qilish uchun dasturga xos yadro bilan birlashtiriladi. Barcha tizim resurslari kompilyatsiya vaqtida aniqlanadi, kod hajmini kamaytiradi va unumdorligini oshiradi. Tizim tasviri faqat dasturni ishga tushirish uchun zarur bo'lgan yadro xususiyatlarini o'z ichiga olishi mumkin.

Shunisi e'tiborga loyiqki, Zephyrning asosiy afzalliklari orasida zikr qilingan xavfsizlikni hisobga olgan holda rivojlanish. TasdiqlanganRivojlanishning barcha bosqichlari kod xavfsizligini tasdiqlashning majburiy bosqichlaridan o'tadi: fuzzing testi, statik tahlil, penetratsion test, kodni ko'rib chiqish, backdoor amalga oshirish tahlili va tahdidlarni modellashtirish.

Manba: opennet.ru

a Izoh qo'shish