25 vulnerabilità in RTOS Zephyr, cumprese quelle sfruttate via un pacchettu ICMP

I ricercatori di u Gruppu NCC publicatu risultati di auditu di prughjettu gratuitu Zephyr, sviluppu un sistema operatore in tempu reale (RTOS), destinatu à equipà i dispositi chì cumplenu cù u cuncettu di l'Internet of Things (IoT, Internet of Things). Durante l'auditu hè statu revelatu 25 vulnerabilità in Zephyr è 1 vulnerabilità in MCUboot. Zephyr hè sviluppatu cù a participazione di cumpagnie Intel.

In totale, 6 vulnerabilità sò state identificate in a pila di a rete, 4 in u kernel, 2 in a cunchiglia di cumanda, 5 in i gestori di chjama di sistema, 5 in u subsistema USB è 3 in u mecanismu di l'aghjurnamentu di firmware. Dui prublemi sò qualificati critichi, dui sò alti, 9 sò moderati, 9 sò bassi, è 4 sò per cunsiderazione. I prublemi critichi affettanu a pila IPv4 è l'analizzatore MQTT, quelli periculosi affettanu l'almacenamiento di massa USB è i driver USB DFU. À u mumentu di a divulgazione di l'infurmazioni, e correzioni sò state preparate solu per 15 di i prublemi più periculosi chì portanu à a negazione di serviziu o assuciati cù difetti in i meccanismi supplementari di prutezzione di u kernel ùn sò micca corretti.

Una vulnerabilità sfruttabile remotamente hè stata identificata in a pila IPv4 di a piattaforma, chì porta à a corruzzione di memoria durante u processu di pacchetti ICMP modificati in un certu modu. Un altru prublema seriu hè statu trovu in l'analizzatore di protokollu MQTT, chì hè causatu da una mancanza di cuntrolla curretta di a lunghezza di u campu di l'intestazione è pò purtà à l'esekzione di codice remota. I prublemi di denegazione di serviziu menu severi si trovanu in a pila IPv6 è l'implementazione di u protocolu CoAP.

Altri prublemi ponu esse sfruttati in u locu per causà una denegazione di serviziu o eseguisce codice à u livellu di u kernel. A maiò parte di queste vulnerabilità sò ligati à a mancanza di cuntrolli adattati di l'argumenti di a chjama di u sistema, è ponu purtà à spazii arbitrarii di a memoria di u kernel chì sò scritti è leghje. I prublemi si estendenu ancu à u codice di trasfurmazioni di u sistema di u sistema stessu - chjamà un numeru di chjama di u sistema negativu risultati in un overflow integer. U kernel hà ancu identificatu i prublemi in l'implementazione di a prutezzione ASLR (aleatoriu di u spaziu di l'indirizzu) è u mecanismu per stabilisce marchi canari nantu à a pila, facendu questi miccanismi inefficaci.

Parechji prublemi afectanu a pila USB è i driver individuali. Per esempiu, i prublemi in u almacenamentu di massa USB pò causà un buffer overflow è eseguisce codice à u livellu di u kernel quandu u dispusitivu hè cunnessu à un host USB cuntrullatu da l'attaccante. Una vulnerabilità in USB DFU, un driver per carricà u novu firmware via USB, permette di carricà una maghjina di firmware mudificata in u Flash internu di u microcontroller senza usà a criptografia è sguassate u modu di boot sicuru cù verificazione di cumpunenti cù una firma digitale. Inoltre, u codice di bootloader apertu hè statu studiatu MCUboot, in quale hè stata trovata una vulnerabilità benigna,
chì pò purtà à un overflow di buffer quandu si usa u protocolu SMP (Simple Management Protocol) nantu à l'UART.

Ricurdativi chì in Zephyr, solu un spaziu d'indirizzu virtuale cumunu globale (SASOS, Sistema Operativu di Spaziu di Indirizzu Unicu) hè furnitu per tutti i prucessi. U codice specificu di l'applicazione hè cumminatu cù un kernel specificu di l'applicazione per furmà un eseguibile monoliticu chì pò esse caricatu è eseguitu nantu à hardware specificu. Tutte e risorse di u sistema sò determinate in tempu di compilazione, riducendu a dimensione di u codice è aumentendu u rendiment. L'imaghjini di u sistema pò include solu e funzioni di u kernel chì sò necessarii per eseguisce l'applicazione.

Hè nutate chì trà i vantaghji chjave di Zephyr mintuatu sviluppu cù a sicurità in mente. Appruvatuchì tutte e tappe di u sviluppu sottumettenu tappe obligatori di cunfirmà a sicurità di u codice: teste di fuzzing, analisi statica, prova di penetrazione, revisione di codice, analisi di implementazione backdoor è modellazione di minaccia.

Source: opennet.ru

Add a comment