Cerca de 25 vulnerabilidades foram descobertas no Zephyr, o sistema RTOS

zéfiro

Pesquisadores da empresa NCC Group publicaram faz pouco os resultados das auditorias do projeto Zephyr, que é um sistema operacional em tempo real (RTOS), projetado para equipar dispositivos de acordo com o conceito de "Internet das coisas" (IoT). O Zephyr está sendo desenvolvido com a participação da Intel.

Zephyr fornece um único espaço de endereço virtual para todos os processos global compartilhado (SASOS, Single Address Space Operating System). O código específico do aplicativo é combinado com um kernel feito sob medida para um aplicativo específico e forma um arquivo executável monolítico para download e execução em determinados computadores.

Todos os recursos do sistema são determinados na fase de compilação, o que reduz o tamanho do código e aumenta a produtividade. Apenas os recursos do kernel necessários para executar o aplicativo podem ser incluídos na imagem do sistema.

É digno de nota que entre as principais vantagens Zephyr mencionado desenvolvimento com foco na segurança. Argumenta-se que Todos os estágios de desenvolvimento passam pelos estágios obrigatórios de confirme a segurança do código: teste fuzzy, análise estática, teste de penetração, revisão de código, análise de implantação de backdoor e modelagem de ameaça.

Sobre vulnerabilidades

A auditoria revelou 25 vulnerabilidades no Zephyr e 1 vulnerabilidade no MCUboot. No total, eles foram identificados 6 vulnerabilidades na pilha de rede, 4 no kernel, 2 no shell de comando, 5 nos manipuladores de chamadas do sistema, 5 no subsistema USB e 3 no mecanismo de atualização de firmware.

Dois problemas foram atribuídos a um nível de perigo crítico, dois: alto, 9 moderado, 9 - baixo e 4 - para levar em conta. Os problemas afetam criticamente a pilha IPv4 e o analisador MQTT, enquanto o queOs perigosos incluem armazenamento em massa USB e drivers USB DFU.

No momento do lançamento das informações, as correções foram preparadas para apenas 15 vulnerabilidades mais perigoso, ainda há problemas que foram resolvidos, levando a uma negação de serviço ou falha relacionada de mecanismos para proteção adicional do kernel.

Uma vulnerabilidade explorada remotamente foi identificada na pilha IPv4 da plataforma, o que leva à corrupção da memória ao processar pacotes ICMP modificados de uma determinada maneira.

Outro problema sério foi encontrado no analisador de protocolo MQTT, qÉ causado pela falta de verificação adequada do comprimento dos campos no cabeçalho e pode levar à execução remota de código. Problemas de negação de serviço menos perigosos são encontrados na pilha IPv6 e na implementação do protocolo CoAP.

Outros problemas podem ser explorados localmente para causar negação de serviço ou execução de código no nível do kernel. Muitas dessas vulnerabilidades estão relacionadas à falta de verificações adequadas dos argumentos das chamadas do sistema e podem levar à escrita e leitura de áreas arbitrárias da memória do kernel.

Os problemas também cobrem o próprio código de processamento de chamada do sistema - acessar um número de chamada do sistema negativo leva a um estouro de número inteiro. EO kernel também identificou problemas na implementação da proteção ASLR (randomização do espaço de endereço) e o mecanismo de instalação de etiquetas canário na pilha, tornando esses mecanismos ineficazes.

Muitos problemas afetam a pilha USB e drivers individuais. Por exemplo, um problema no armazenamento em massa USB permite que você cause um estouro de buffer e execute o código no nível do kernel ao conectar o dispositivo a um host de ataque USB controlado.

A vulnerabilidade no USB DFU, um driver para download de novo firmware via USB, permite que você carregue uma imagem de firmware modificada no Flash interno de um microcontrolador sem usar criptografia e contornar o modo de inicialização segura com verificação de assinatura digital de componente. Além disso, o código de bootloader aberto MCUboot foi estudado, no qual uma vulnerabilidade não perigosa foi encontrada que poderia levar a um estouro de buffer ao usar o protocolo de gerenciamento simples (SMP) sobre UART.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.