Sono state scoperte circa 25 vulnerabilità in Zephyr, il sistema RTOS

zeffiro

I ricercatori della società NCC Group hanno pubblicato recentemente i risultati degli audit del progetto Zephyr, che è un sistema operativo in tempo reale (RTOS), progettato per equipaggiare i dispositivi secondo il concetto di "Internet of things" (IoT). Zephyr è stato sviluppato con la partecipazione di Intel.

Zephyr fornisce un unico spazio di indirizzi virtuali per tutti i processi condiviso globale (SASOS, Single Address Space Operating System). Il codice specifico dell'applicazione è combinato con un kernel su misura per un'applicazione specifica e forma un file eseguibile monolitico da scaricare ed eseguire su determinati computer.

Tutte le risorse di sistema vengono determinate in fase di compilazione, che riduce le dimensioni del codice e aumenta la produttività. Nell'immagine di sistema possono essere incluse solo le funzionalità del kernel necessarie per eseguire l'applicazione.

E 'degno di nota tra i principali vantaggi Zephyr menzionato sviluppo con un occhio di riguardo alla sicurezza. Si sostiene che Tutte le fasi di sviluppo passano attraverso le fasi obbligatorie di confermare la sicurezza del codice: test fuzzy, analisi statica, test di penetrazione, revisione del codice, analisi della distribuzione backdoor e modellazione delle minacce.

Informazioni sulle vulnerabilità

L'audit ha rivelato 25 vulnerabilità in Zephyr e 1 vulnerabilità in MCUboot. In totale, sono stati identificati 6 vulnerabilità nello stack di rete, 4 nel kernel, 2 nella shell dei comandi, 5 nei gestori delle chiamate di sistema, 5 nel sottosistema USB e 3 nel meccanismo di aggiornamento del firmware.

A due problemi è stato assegnato un livello di pericolo critico, due: alto, 9 moderato, 9 - basso e 4 - da tenere in considerazione. I problemi critico influisce sullo stack IPv4 e sul parser MQTT, mentre cosaQuelli pericolosi includono archiviazione di massa USB e driver USB DFU.

Al momento del rilascio delle informazioni, sono state preparate correzioni per solo 15 vulnerabilità più pericoloso, ci sono ancora problemi che sono stati risolti, portando a un Denial of Service o al relativo fallimento dei meccanismi per una protezione aggiuntiva del kernel.

È stata identificata una vulnerabilità sfruttata in remoto nello stack IPv4 della piattaforma, che porta al danneggiamento della memoria quando vengono elaborati pacchetti ICMP modificati in un certo modo.

Un altro grave problema è stato riscontrato nel parser del protocollo MQTT, qÈ causato dalla mancanza di una corretta verifica della lunghezza dei campi nell'intestazione e può portare all'esecuzione di codice da remoto. Problemi di negazione del servizio meno pericolosi si trovano nello stack IPv6 e nell'implementazione del protocollo CoAP.

Altri problemi possono essere sfruttati localmente per causare la negazione del servizio o l'esecuzione del codice a livello di kernel. La maggior parte di queste vulnerabilità sono legate alla mancanza di controlli adeguati degli argomenti delle chiamate di sistema e possono portare alla scrittura e alla lettura di aree arbitrarie della memoria del kernel.

I problemi riguardano anche il codice di elaborazione della chiamata di sistema stesso: l'accesso a un numero di chiamata di sistema negativo porta a un overflow di numeri interi. EIl kernel ha anche identificato problemi nell'implementazione della protezione ASLR (address space randomization) e il meccanismo per installare le etichette canary sullo stack, rendendo questi meccanismi inefficaci.

Molti problemi riguardano lo stack USB e i singoli driver. Ad esempio, un problema di archiviazione di massa USB consente di causare un overflow del buffer ed eseguire codice a livello di kernel quando si collega il dispositivo a un host di attacco controllato tramite USB.

La vulnerabilità in USB DFU, un driver per il download di nuovo firmware tramite USB, consente di caricare un'immagine del firmware modificata nella Flash interna di un microcontrollore senza utilizzare la crittografia e bypassando la modalità di avvio sicuro con la verifica della firma digitale dei componenti. Inoltre, è stato studiato il codice del bootloader aperto MCUboot, in cui è stata rilevata una vulnerabilità non pericolosa che potrebbe portare a un overflow del buffer quando si utilizza SMP (Simple Management Protocol) tramite UART.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.