Kërkuesit nga kompania NCC Group rezultatet e auditi të projektit të lirë , sistemin operativ në kohë reale (RTOS), i cili është fokusuar në pajisjet që përkojnë me konceptin e "Internetit të Things" (IoT, Internet of Things). Gjatë auditi, u identifikuan në Zephyr dhe 1 vulnerabilitet në MCUboot. Zhvillimi i Zephyr po bëhet me përfshirjen e kompanive Intel.
NĂ« total u identifikuan 6 vulnerabilitete nĂ« stack-un rrjetor, 4 nĂ« kernel, 2 nĂ« shell-in komandues, 5 nĂ« menaxherĂ«t e thirrjeve sistemore, 5 nĂ« nĂ«n-sistemin USB dhe 3 nĂ« mekanizmin e pĂ«rditĂ«simit tĂ« firmware-it. Dy problemeve iu caktua niveli kritik i rrezikshmĂ«risĂ«, dy â i lartĂ«, 9 tĂ« moderuar, 9 â tĂ« ulĂ«t dhe 4 â pĂ«r t'u marrĂ« parasysh. Problemet kritike prekin stack-un IPv4 dhe parserin MQTT, ndĂ«rsa ato tĂ« rrezikshme â drejtuesit e ruajtjes USB dhe USB DFU. NĂ« momentin e zbulimit, rregullimet ishin pĂ«rgatitur vetĂ«m pĂ«r 15 vulnerabilitetet mĂ« tĂ« rrezikshme; problemet qĂ« sjellin ndalimin e shĂ«rbimit ose lidhen me papĂ«rsosmĂ«ritĂ« nĂ« mekanizmat shtesĂ« tĂ« mbrojtjes sĂ« kernelit ende mbesin tĂ« pa rregulluara.
Në stack-un IPv4 të platformës u identifikua një vulnerabilitet që mund të shfrytëzohet nga distanca, duke çuar në dëmtim të memories gjatë përpunimit të ICMP-paketave të modifikuara në një mënyrë specifike. Një tjetër problem i rëndësishëm u gjet në parserin e protokollit MQTT, i cili shkaktohet nga mungesa e verifikimit të duhur të gjatësi të fushave në tituj dhe mund të çojë në ekzekutimin e kodit nga distanca. Problemet më pak të rrezikshme që çojnë në ndalim të shërbimit u gjetën në stack-un IPv6 dhe realizimin e protokollit CoAP.
Problemet e tjera mund tĂ« shfrytĂ«zohen lokal pĂ«r tĂ« shkaktuar ndalim tĂ« shĂ«rbimit ose ekzekutimin e kodit nĂ« nivelin e kernelit. Shumica e kĂ«tyre vulnerabiliteteve lidhen me mungesĂ«n e kontrollit tĂ« duhur tĂ« argumenteve tĂ« thirrjeve sistemore dhe mund tĂ« çojnĂ« nĂ« shkrim dhe lexim tĂ« hapĂ«sirave tĂ« memories sĂ« kernelit. Problemet pĂ«rfshijnĂ« gjithashtu kodin e pĂ«rpunimit tĂ« thirrjeve sistemore â njĂ« thirrje me njĂ« numĂ«r negativ tĂ« thirrjes sĂ« sistemit rezulton nĂ« mbivlerĂ«sim tĂ« numrave. NĂ« kernel janĂ« identifikuar probleme nĂ« realizimin e mbrojtjes ASLR (randomizimi i hapĂ«sirĂ«s adresore) dhe mekanizmit pĂ«r vendosjen e etiketave canary nĂ« stek, duke i bĂ«rĂ« kĂ«to mekanizma joefektive.
Shumë probleme prekin stack-un USB dhe drejtues të veçantë. Për shembull, një problem në ruajtjen USB lejon të shkaktojë mbivlerësim të buffer dhe të ekzekutojë kod në nivelin e kernelit kur një pajisje lidhet me një host USB të kontrolluar nga një sulmues. Një vulnerabilitet në USB DFU, drejtuesin për shkarkimin e firmware-it të ri përmes USB, lejon ngarkimin e një imazhi të modifikuar të firmware-it në Flash mikrokontrollerit, pa përdorur enkriptimin dhe duke u anashkaluar modalitetin e ngarkimit të sigurt me verifikimin e komponenteve përmes nënshkrimit digjital. Për më tepër, u shqyrtua Kodi i ngarkuesit të hapur , në të cilin u gjend një vulnerabilitet i pa rrezikshëm,
i cili mund të çojë në mbivlerësim të buffer gjatë përdorimit të protokollit SMP (Simple Management Protocol) përmes UART.
Kujtojmë se në Zephyr për të gjitha proceset ofrohet vetëm një hapësirë globale e përbashkët virtuale (SASOS, Single Address Space Operating System). Kodi specifik për aplikacionet kombinohet me kernelin e përshtatur për aplikimin specifik dhe krijon një skedë ekzekutimi monolitike për ngarkimin dhe ekzekutimin në pajisjet e caktuara. Të gjitha burimet sistemore përcaktohen në fazën e kompilimit, çka zvogëlon madhësinë e kodit dhe rrit performancën. Në imazhin sistemor mund të inkluzohen vetëm ato mundësi të kernelit që kërkohen për ekzekutimin e aplikacionit.
ĂshtĂ« e rĂ«ndĂ«sishme tĂ« theksohet se njĂ« nga pĂ«rfitimet kryesore tĂ« Zephyr Ă«shtĂ« zhvillimi me fokus nĂ« sigurinĂ«. , se tĂ« gjitha fazat e zhvillimit kalojnĂ« detyrimisht nĂ« pĂ«rmbushjen e hapave tĂ« verifikimit tĂ« sigurisĂ« sĂ« kodit: testimi fuzzing, analiza statike, provat e depĂ«rtimit, rishikimi i kodit, analiza e implantimit tĂ« backdoor-ve dhe modelimi i kĂ«rcĂ«nimeve.
Burimi: opennet.ru
