25 vulnerabilidades no RTOS Zephyr, incluindo aquelas exploráveis via pacotes ICMP

Pesquisadores da NCC Group publicaram os resultados da auditoria de um projeto de código aberto Zephyr, em desenvolvimento sistema operacional de tempo real (RTOS) destinado a equipar dispositivos conforme o conceito de 'Internet das Coisas' (IoT, Internet of Things). Durante a auditoria, foram identificadas 25 vulnerabilidades no Zephyr e 1 vulnerabilidade no MCUboot. O desenvolvimento do Zephyr conta com a participação de empresas como a Intel.

No total, foram encontradas 6 vulnerabilidades na pilha de rede, 4 no núcleo, 2 no shell, 5 nos manipuladores de chamadas de sistema, 5 na subsistema USB e 3 no mecanismo de atualização de firmware. Duas problemas foram classificadas como críticas, duas como altas, 9 como moderadas, 9 como baixas e 4 para consideração. As questões críticas afetam a pilha IPv4 e o analisador MQTT, enquanto as perigosas envolvem drivers de armazenamento USB em massa e USB DFU. No momento da divulgação, correções estavam disponíveis apenas para 15 das vulnerabilidades mais perigosas, permanecendo não corrigidos problemas que levariam a negação de serviço ou relacionados a falhas nos mecanismos de proteção adicional do núcleo.

Na pilha IPv4 da plataforma, foi descoberta uma vulnerabilidade explorável remotamente que causa corrupção de memória ao processar pacotes ICMP modificados de forma específica. Outro grave problema encontrado no analisador do protocolo MQTT é causado pela falta de verificação adequada do comprimento dos campos no cabeçalho, podendo levar à execução remota de código. Problemas menos perigosos que causam negação de serviço foram encontrados na pilha IPv6 e na implementação do protocolo CoAP.

Os outros problemas podem ser explorados localmente para causar negação de serviço ou execução de código em nível de núcleo. A maioria dessas vulnerabilidades está relacionada à falta de checagens adequadas dos argumentos das chamadas de sistema, podendo levar à gravação e leitura de áreas de memória do núcleo de forma arbitrária. Os problemas também englobam o código que manipula diretamente as chamadas de sistema — uma chamada com um número negativo de sistema leva a um overflow inteiro. O núcleo também revelou problemas na implementação da proteção ASLR (randomização do espaço de endereçamento) e do mecanismo de configuração de rótulos canários na pilha, tornando esses mecanismos ineficazes.

Muitos problemas envolvem a pilha USB e drivers individuais. Por exemplo, um problema no armazenamento USB em massa pode causar um estouro de buffer e executar código em nível de kernel ao conectar o dispositivo a um host USB controlado por um atacante. Uma vulnerabilidade no USB DFU, um driver para carregar novo firmware via USB, permite carregar uma imagem de firmware modificada na memória flash interna do microcontrolador sem a aplicação de criptografia e contornando o modo de inicialização segura com verificação de componentes por assinatura digital. Além disso, o código do carregador aberto foi estudado. MCUboot, no qual foi encontrada uma vulnerabilidade não crítica,
que pode levar a um estouro de buffer ao usar o protocolo SMP (Simple Management Protocol) através de UART.

Vale lembrar que no Zephyr todos os processos têm apenas um único espaço de endereçamento global compartilhado (SASOS, Sistema Operacional de Espaço de Endereçamento Único). O código específico de aplicações é combinado com um kernel adaptado para uma aplicação específica, formando um arquivo executável monolítico para carregar e executar em hardware específico. Todos os recursos do sistema são definidos na fase de compilação, o que reduz o tamanho do código e aumenta o desempenho. Apenas aqueles recursos do kernel que são necessários para a execução da aplicação podem ser incluídos na imagem do sistema.

Notavelmente, entre as principais vantagens do Zephyr é mencionada a desenvolvimento com foco em segurança. Alega-se, que todas as etapas do desenvolvimento passam por etapas obrigatórias de validação da segurança do código: teste de fuzzing, análise estática, testes de penetração, revisão de código, análise de backdoors e modelagem de ameaças.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster