Segurança de sistemas embebidos

Testes de segurança para firmware
e dispositivos ligados

Investigue no Midair o comportamento sensível para a segurança no firmware, no estado do dispositivo, nas interfaces de comunicação e nas condições de execução.

Ligue as ocorrências do Visao no código a cenários repetíveis nos dispositivos, no TS Factory, e às evidências de execução recolhidas pelo Delta.

Porque é mais difícil investigar a segurança em sistemas embebidos

Em sistemas embebidos, os problemas de segurança raramente dependem só do código. A versão do firmware, o estado do dispositivo, as interfaces, as condições de rede e o comportamento do hardware podem mudar a forma como o mesmo problema aparece.

Por isso a reprodutibilidade conta tanto. O dispositivo e o ambiente por trás de um resultado sensível para a segurança têm de ficar associados à execução.

Áreas de segurança que podem depender do contexto do dispositivo

•

Comportamento do firmware

Problemas no código, versão do firmware e comportamento ligado às atualizações.

•

Interfaces de comunicação

Comportamento nas fronteiras de comunicação: entre dispositivos, entre dispositivo e servidor, e outras.

•

Entradas e estados anómalos

Cenários que só aparecem com certas entradas, estados ou configurações.

•

Comportamento dependente do hardware

Comportamento sensível para a segurança afetado pelos periféricos, pelos drivers ou pela interação com o dispositivo alvo.

•

Comportamento dependente da configuração

Casos em que o mesmo software se comporta de outra forma com outra configuração do dispositivo ou da rede.

Midair

Como o Midair investiga a segurança de sistemas embebidos

Num dispositivo, o cenário que reproduz o comportamento conta tanto como a ocorrência que aponta para ele.

1

Analisar o código

Visao

Encontre problemas no código antes da execução. Entre os exemplos confirmados estão o uso inseguro da memória, o transbordo de inteiro e as violações de regras do projeto.

2

Reproduzir o cenário no dispositivo

TS Factory

Execute o cenário relevante no dispositivo, na versão do firmware e na configuração que produziram o comportamento sensível para a segurança.

3

Recolher evidências de execução

Delta

Recolha registos, eventos do sistema e dados de recursos enquanto o cenário corre.

4

Manter o contexto

Midair

Ligue a ocorrência no código, a versão do firmware, a configuração do dispositivo, as condições de teste e as evidências de execução. Depois de uma alteração, volte a executar no mesmo ambiente.

Reproduzir o mesmo comportamento sensível para a segurança

Dispositivo A + Firmware 2.4.1 + Interface / estado da rede X + Configuração Y + Entrada Z → resultado sensível para a segurança

Depois de uma alteração

Mesmo ambiente → Nova execução → Comparar evidências

Onde este fluxo de trabalho se aplica

•

Dispositivos ligados e produtos IoT

Firmware e software expostos através de interfaces de rede ou do próprio dispositivo.

•

Routers, gateways e hardware de rede

Dispositivos cujo comportamento depende do tráfego, do firmware e do estado da comunicação.

•

Sistemas embebidos com muito firmware

Onde um resultado sensível para a segurança pode depender do build exato do firmware e do hardware alvo.

•

Ambientes com vários dispositivos

Onde o comportamento muda consoante os outros dispositivos, os nós ou a configuração.

•

Software embebido sensível para a segurança

Onde uma ocorrência no código tem de ser confirmada com o comportamento no dispositivo real.

Iniciar o seu piloto

Comece com um dispositivo, uma versão de firmware e um cenário sensível para a segurança. Mantenha ligadas no Midair as ocorrências no código, as condições de teste e as evidências de execução.