Testes de cibersegurança

Testes de cibersegurança para
sistemas complexos e embebidos

Ligue no Midair as ocorrências de segurança no código a testes dirigidos e a evidências de execução.

Analise o software antes da execução com o Visao. Teste cenários de risco com o TS Factory e veja com o Delta o que aconteceu em tempo de execução.

Porque a cibersegurança tem de entrar desde cedo

Em sistemas embebidos e complexos, um problema de segurança pode nascer no código, na configuração, na comunicação ou no comportamento em execução. Uma ocorrência estática, sozinha, não mostra o que acontece quando o sistema corre. Um teste que falha em execução pode não explicar onde o problema começou.

O Midair mantém ligadas as evidências destas fases. Assim, o mesmo problema pode ser investigado desde o código-fonte até à execução.

O que são testes de cibersegurança?

Os testes de cibersegurança verificam como o software se comporta em condições maliciosas, anómalas ou sensíveis para a segurança. Procuram fraquezas que possam ser exploradas ou levar a um comportamento inseguro.

Áreas de segurança que podem precisar de investigação

•

Problemas de memória e de aritmética de inteiros

•

Entradas inesperadas ou anómalas

•

Comunicação entre componentes

•

Estados do sistema sensíveis para a segurança

•

Firmware e comportamento dependente do hardware

Midair

Testes de segurança no Midair

Uma ocorrência no código, um teste dirigido e as evidências de execução, numa só investigação.

1

Encontrar problemas no código antes da execução

Visao

Analise o código-fonte, os caminhos de execução e as regras do projeto antes de o software correr.

  • uso inseguro da memória
  • transbordo de inteiro
  • violações de regras do projeto
2

Testar o cenário de risco

TS Factory

Execute cenários dirigidos em dispositivos, nós e ambientes controlados. Inclua entradas anómalas ou condições de falha definidas para o projeto.

3

Registar o que aconteceu

Delta

Recolha registos, eventos do sistema e dados de recursos enquanto o cenário corre. Assim, o resultado chega com evidências de execução.

4

Manter a investigação num só sítio

Midair

Ligue a ocorrência no código, a configuração do teste e as evidências de execução. Depois de uma correção, volte a executar nas mesmas condições.

Problemas de segurança que podem exigir evidências de mais de uma camada

Falhas de segurança da memória

Um buffer ou um ponteiro usado de uma forma que o código não prevê.

Problemas de temporização e concorrência

Um resultado que depende da ordem em que os eventos acontecem.

Interações inesperadas entre componentes

Duas partes que funcionam bem sozinhas e de forma insegura em conjunto.

Comportamento dependente da configuração

Um sistema seguro numa configuração e exposto noutra.

Caminhos de comunicação sensíveis

Dados ou comandos que atravessam a fronteira entre componentes ou dispositivos.

Onde este fluxo de trabalho se aplica

•

Produtos embebidos e em rede

Software cujo comportamento depende do firmware, do hardware ou das interfaces de comunicação.

•

Sistemas que tratam dados sensíveis

Onde um comportamento inesperado pode expor dados ou acessos.

•

Sistemas distribuídos complexos

Onde as falhas dependem de vários componentes, nós ou configurações.

•

Software sensível para a segurança

Onde uma ocorrência no código tem de ser confirmada com o comportamento real em execução.

Quando a segurança depende do hardware

O firmware, o estado do dispositivo e as interfaces de comunicação podem mudar a forma como um problema de segurança aparece na prática. Para testes de segurança próprios de dispositivos, veja os testes de segurança de sistemas embebidos.

Iniciar o seu piloto

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