Investigadors del Grup NCC
En total, es van identificar 6 vulnerabilitats a la pila de xarxa, 4 al nucli, 2 a l'intèrpret d'ordres, 5 als controladors de trucades del sistema, 5 al subsistema USB i 3 al mecanisme d'actualització del microprogramari. Dos problemes es consideren crítics, dos són alts, 9 són moderats, 9 són baixos i 4 són per considerar. Els problemes crítics afecten la pila IPv4 i l'analitzador MQTT, els perillosos afecten l'emmagatzematge massiu USB i els controladors USB DFU. En el moment de la divulgació de la informació, només s'havien preparat solucions per a 15 de les vulnerabilitats més perilloses; els problemes que condueixen a la denegació de servei o associats a defectes en els mecanismes de protecció addicionals del nucli segueixen sense corregir-se.
S'ha identificat una vulnerabilitat explotable de forma remota a la pila IPv4 de la plataforma, que provoca corrupció de la memòria quan es processen paquets ICMP modificats d'una determinada manera. Es va trobar un altre problema greu a l'analitzador de protocols MQTT, que és causat per la manca de comprovació adequada de la longitud del camp de la capçalera i pot provocar l'execució de codi remota. Els problemes de denegació de servei menys greus es troben a la pila IPv6 i la implementació del protocol CoAP.
Altres problemes es poden explotar localment per provocar una denegació de servei o l'execució de codi a nivell del nucli. La majoria d'aquestes vulnerabilitats estan relacionades amb la manca de comprovacions adequades dels arguments de la trucada del sistema i poden provocar que s'escriguin i es llegeixin àrees arbitràries de la memòria del nucli. Els problemes també s'estenen al codi de processament de trucades del sistema en si: trucar a un número de trucada del sistema negatiu provoca un desbordament d'enters. El nucli també va identificar problemes en la implementació de la protecció ASLR (aleatorització de l'espai d'adreces) i el mecanisme per establir marques canàries a la pila, fent que aquests mecanismes siguin ineficaços.
Molts problemes afecten la pila USB i els controladors individuals. Per exemple, els problemes en l'emmagatzematge massiu USB poden provocar un desbordament de memòria intermèdia i executar codi a nivell del nucli quan el dispositiu està connectat a un host USB controlat per l'atacant. Una vulnerabilitat a USB DFU, un controlador per carregar un nou microprogramari a través d'USB, us permet carregar una imatge de microprogramari modificada al flaix intern del microcontrolador sense utilitzar xifratge i obviant el mode d'arrencada segur amb la verificació dels components mitjançant una signatura digital. A més, es va estudiar el codi del carregador d'arrencada obert
que pot provocar un desbordament de memòria intermèdia quan s'utilitza el protocol SMP (Simple Management Protocol) a través de l'UART.
Recordeu que a Zephyr, només es proporciona un espai d'adreces virtuals globals compartides (SASOS, sistema operatiu d'espai d'adreces únics) per a tots els processos. El codi específic de l'aplicació es combina amb un nucli específic de l'aplicació per formar un executable monolític que es pot carregar i executar en un maquinari específic. Tots els recursos del sistema es determinen en temps de compilació, reduint la mida del codi i augmentant el rendiment. La imatge del sistema només pot incloure les característiques del nucli que són necessàries per executar l'aplicació.
Cal destacar que entre els avantatges clau de Zephyr
Font: opennet.ru