25 zraniteľností v RTOS Zephyr, vrátane tých, ktoré možno využiť prostredníctvom ICMP paketu.

Výskumníci z firmy NCC Group publikovali výsledky auditu voľného projektu Zephyr, rozvíjajúceho operačný systém reálneho času (RTOS), zameraný na vybavenie zariadení, ktoré spĺňajú koncept "Internet vecí" (IoT, Internet of Things). Počas auditu sa zistilo 25 zraniteľností v Zephyr a 1 zraniteľnosť v MCUboot. Vývoj Zephyr prebieha za účasti spoločností Intel.

Spolu bolo identifikovaných 6 zraniteľností v sieťovom stacku, 4 v jadre, 2 v príkazovom riadku, 5 v spracovateľoch systémových volaní, 5 v subsystéme USB a 3 v mechanizme aktualizácie firmvéru. Dve zraniteľnosti boli klasifikované ako kritické, dve ako vysoké, 9 ako stredné, 9 ako nízke a 4 na zváženie. Kritické problémy sa týkajú IPv4 stacku a MQTT parsera, zatiaľ čo nebezpečné sú ovládače USB mass storage a USB DFU. K dátumu správy bol opravený iba 15 najnebezpečnejších zraniteľností, problémom spôsobujúcim DoS alebo súvisiacim s nedostatkami v mechanizmoch dodatočnej ochrany jadra zatiaľ neboli poskytnuté žiadne opravy.

V IPv4 stacku platformy bola objavená diaľkovo zneužiteľná zraniteľnosť, ktorá spôsobuje poškodenie pamäte pri spracovaní špeciálne upravených ICMP paketov. Ďalší vážny problém bol nájdený v parseri protokolu MQTT, ktorý je spôsobený nedostatočnou kontrolou dĺžky polí v hlavičke a môže viesť k diaľkovému vykonávaniu kódu. Menej závažné problémy vyvolávajúce DoS boli zistené v IPv6 stacku a implementácii protokolu CoAP.

Ostatné problémy môžu byť zneužité lokálne na vyvolanie DoS alebo vykonanie kódu na úrovni jadra. Väčšina týchto zraniteľností súvisí s nedostatočnými kontrolami argumentov systémových volaní, čo môže viesť k zápisu a čítaniu ľubovoľných oblastí pamäte jadra. Problémy pokrývajú aj samotný kód spracovania systémových volaní — prístup k zápornému číslu systémového volania spôsobuje celočíselné pretečenie. V jadre boli tiež zistené problémy v implementácii ochrany ASLR (náhodizácia adresného priestoru) a mechanizmu inštalácie kanárikových značiek v zásobníku, čo robí tieto mechanizmy neefektívnymi.

Mnoho problémov sa týka USB stohu a jednotlivých ovládačov. Napríklad problém v USB mass storage umožňuje spôsobiť pretečenie vyrovnávacej pamäte a vykonať kód na úrovni jadra pri pripojení zariadenia k USB hostu pod kontrolou útočníka. Zraniteľnosť v USB DFU, ovládači na nahrávanie novej firmvéru cez USB, umožňuje nahrávanie modifikovaného obrazu firmvéru do vnútornej Flash pamäte mikrokontroléra bez použitia šifrovania a obídením režimu zabezpečeného spúšťania s kontrolou komponentov pomocou digitálneho podpisu. Dodatočne bol študovaný kód otvoreného bootloadera MCUboot, v ktorom bola nájdená jedna nezávažná zraniteľnosť,
ktorá môže viesť k pretečeniu vyrovnávacej pamäte pri používaní protokolu SMP (Simple Management Protocol) cez UART.

Pripomeňme, že v Zephyre majú všetky procesy k dispozícii iba jeden globálny zdieľaný virtuálny adresný priestor (SASOS, Single Address Space Operating System). Špecifický kód aplikácií sa kombinuje s jadrom prispôsobeným na konkrétne použitie a vytvára monolitický spustiteľný súbor na načítanie a spustenie na konkrétnom hardvéri. Všetky systémové zdroje sú definované v štádiu kompilácie, čo znižuje veľkosť kódu a zvyšuje výkon. Do systémového obrazu môžu byť zahrnuté iba tie funkcie jadra, ktoré sú potrebné na vykonanie aplikácie.

Pozoruhodné je, že medzi kľúčovými výhodami Zephyru sa spomína vývoj so zreteľom na bezpečnosť. Tvrdí sa, že všetky fázy vývoja prechádzajú povinnými etapami potvrdenia bezpečnosti kódu: fuzzing-testovanie, statická analýza, testovanie na prienik, preskúmanie kódu, analýza vkladania backdoorov a modelovanie hrozieb.

Zdroj: opennet.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster