25 vulnerabilitete në RTOS Zephyr, përfshirë ato që shfrytëzohen përmes paketave ICMP

Kërkuesit nga kompania NCC Group publikuan rezultatet e auditimit të projektit të lirë Zephyr, në zhvillim sistemi operativ në kohë reale (RTOS), i dedikuar për pajisjet që përputhen me konceptin e "Internetit të Gjërave" (IoT, Internet of Things). Gjatë auditimit u zbulua 25 vulnerabilitete në Zephyr dhe 1 vulnerabilitet në MCUboot. Zhvillimi i Zephyr bëhet me pjesëmarrjen e kompanive Intel.

Në total, u identifikuan 6 vulnerabilitete në grumbullin e rrjetit, 4 në bërthamë, 2 në shell-in komandues, 5 në trajtuesit e thirrjeve sistemore, 5 në nën-sistemin USB dhe 3 në mekanizmin e azhurnimit të firmuerit. Dy problemeve iu është dhënë niveli kritik i rrezikut, dy të larta, 9 të moderuara, 9 të ulëta dhe 4 për t'u marrë parasysh. Problemet kritike prekin grumbullin IPv4 dhe parserin MQTT, ndërsa problemet e rrezikshme lidhen me drejtorët e ruajtjes USB dhe USB DFU. Në momentin e zbardhjes, riparimet ishin përgatitur vetëm për 15 vulnerabilitetet më të rrezikshme, ndërsa problemet që shkaktojnë refuzim shërbimi ose janë të lidhura me mangësitë në mekanizmat e mbrojtjes të bërthamor mbeten të pazgjidhura.

Në grumbullin IPv4 të platformës është identifikuar një vulnerabilitet që mund të shfrytëzohet nga distanca, duke shkaktuar dëmtim të memories kur përpunohen paketa ICMP të modifikuara në mënyrë të caktuar. Një problem tjetër serioz është gjetur në parserin e protokollit MQTT, i shkaktuar nga mungesa e verifikimit të duhur të gjatësi të fushave në krye dhe mund të çojë në ekzekutimin e kodit nga distanca. Probleme më të ulta, që shkaktojnë refuzim shërbimi, janë gjetur në grumbullin IPv6 dhe zbatimin e protokollit CoAP.

Problemet e tjera mund tĂ« shfrytĂ«zohen lokal pĂ«r tĂ« shkaktuar refuzim shĂ«rbimi ose pĂ«r tĂ« ekzekutuar kodin nĂ« nivelin e bĂ«rthamĂ«s. Shumica e kĂ«tyre vulnerabiliteteve lidhen me mungesĂ«n e kontrollave tĂ« duhur tĂ« argumenteve tĂ« thirrjeve sistemore dhe mund tĂ« çojnĂ« nĂ« shkrim dhe lexim tĂ« zonave tĂ« memories sĂ« bĂ«rthamĂ«s. Problemet pĂ«rfshijnĂ« gjithashtu kodin e trajtimit tĂ« thirrjeve sistemore — thirrja nĂ« numrin e thirrjes sistemore negativ çon nĂ« mbushjen e numrave. NĂ« bĂ«rthamĂ« janĂ« gjetur gjithashtu probleme nĂ« zbatimin e mbrojtjes ASLR (randomizimi i hapĂ«sirĂ«s adresore) dhe mekanizmit tĂ« vendosjes sĂ« etiketave kanarinĂ« nĂ« stok, duke e bĂ«rĂ« kĂ«to mekanizma joefektive.

Shumë probleme prekin strukturën USB dhe drejtues të veçantë. Për shembull, një problem në ruajtjen masive USB mund të shkaktojë mbushje të tamponit dhe të ndihmojë në ekzekutimin e kodit në nivelin e bërthamës kur lidh një pajisje me një host USB të kontrolluar nga një sulmues. Një dobësi në USB DFU, drejtuesi për ngarkimin e një firmueri të ri përmes USB, lejon ngarkimin e një imazhi të modifikuar të firmuerit në Flash-in e brendshëm të mikroqarkut pa përdorur enkriptim dhe duke e anashkaluar modalitetin e fillimit të mbrojtur me verifikimin e komponentëve nga nënshkrimi digjital. Gjithashtu, është studiuar kodi i ngarkuesit të hapur. MCUboot, në të cilin është gjetur një dobësi e padëmshme,
e cila mund të çojë në mbushje të tamponit gjatë përdorimit të protokollit SMP (Simple Management Protocol) përmes UART.

Kujtojmë se në Zephyr, të gjitha proceset disponojnë vetëm një hapësirë të përbashkët virtuale globale të adresave (SASOS, Single Address Space Operating System). Kodi specifik për aplikacione kombinohet me bërthamën e adaptuar për përdorim të veçantë dhe formon një skedar ekzekutiv monolitik për ngarkim dhe ekzekutim në një pajisje të caktuar. Të gjitha burimet sistemore përcaktohen në fazën e kompilimit, duke reduktuar madhësinë e kodit dhe rritur performancën. Vetëm ato mundësi të bërthamës që kërkohen për ekzekutimin e aplikacionit mund të përfshihen në imazhin sistemor.

ËshtĂ« e rĂ«ndĂ«sishme tĂ« theksohet se njĂ« ngaavantazhet kryesore tĂ« Zephyr pĂ«rmendet Ă«shtĂ« zhvillimi me njĂ« vĂ«shtrim nĂ« siguri. Pretendohet, se tĂ« gjitha fazat e zhvillimit kalojnĂ« faza obligative tĂ« konfirmimit tĂ« sigurisĂ« sĂ« kodit: testimi me fuzzing, analiza statike, prova pĂ«r tĂ« parĂ« depĂ«rtimin, rishikimi i kodit, analiza pĂ«rnjĂ«herĂ« tĂ« backdoor-ve dhe modelimi i kĂ«rcĂ«nimeve.

Burimi: opennet.ru

Bleni hostin e besueshĂ«m pĂ«r faqet me mbrojtje nga DDoS, VPS VDS servera đŸ”„ Bli hostin e besueshĂ«m pĂ«r faqet me mbrojtje nga DDoS, VPS VDS servera | ProHoster