Pentest IoT e seus objetivos
A segurança de IoT é um grande desafio, com o desenvolvimento de casas inteligentes, cidades inteligentes, sistemas de saúde conectados e a indústria 4.0.
A segurança de objetos conectados é um assunto complexo, devido à gama de tecnologias e ao número de possíveis pontos de ataque.
O objetivo de um pentest IOT é identificar as falhas presentes nas diferentes camadas, a fim de proteger todo o ambiente do objeto. Neste caso, a auditoria visa o hardware (eletrônica), o software (software embarcado, protocolo de comunicação), bem como APIs, interfaces Web e móveis (servidores, aplicações web, aplicações móveis). No entanto, também é possível concentrar a auditoria numa área técnica limitada dependendo das questões de segurança previamente identificadas.
Portanto, o escopo de uma auditoria de segurança IoT deve ser definido de acordo com as prioridades do cliente:
- Devemos testar todo o ecossistema IoT ou apenas algumas partes?
- Qual o nível de detalhamento desejado: uma análise rápida ou um trabalho de pesquisa aprofundado?
- Qual é o nível de exposição pública da solução e quais são as consequências se ocorrer hacking? (para escolher entre um pentest caixa preta ou um pentest de caixa cinza)
Etapas para realizar um pentest IoT
O primeiro passo é a definição do escopo da auditoria. As discussões com o cliente permitem decidir os objetivos, o alvo e as condições do pentest.
É importante destinar tempo para a fase de preparação da auditoria: recepção do objeto pelos pentesters, compra de equipamentos específicos se necessário, transmissão de informações adicionais pelo cliente, etc.
Em alguns casos, os pentesters realizam a auditoria a partir dos escritórios da Infosec Security ou Desec Security, tendo à sua disposição uma ou mais cópias do objeto conectado. Em outros casos, a auditoria deve ser conduzida nas instalações do cliente. Dependendo das condições predefinidas, o cliente poderá ser notificado das conclusões à medida que a auditoria avança ou apenas quando a auditoria for concluída.
Pentest em Hardware
O pentest em hardware foca nos componentes eletrônicos da solução (ataques não invasivos e invasivos).
As técnicas utilizadas incluem o seguinte:
- Engenharia reversa de elementos extraídos dos equipamentos de hardware estudados
- Dump de memória
- Análise criptográfica
Pentest em Firmware
O pentest em firmware concentra-se no software incorporado no objeto, incluindo um certo número de técnicas:
- Detecção de portas de comunicação abertas e mal protegidas
- Estouro de buffer
- Quebrando senhas
- Engenharia reversa
- Análise criptográfica
- Modificações de firmware
- Depuração
- Detecção de interfaces de configuração ou backdoors
Pentest em protocolos de comunicação
O pentest em protocolos de comunicação centram-se na tecnologia que permite a comunicação do objeto e o envio de dados para o exterior (RFID, NFC, ZigBee, Bluetooth, WiFi, SigFox, LoRa, etc.).
Os testes são baseados nas seguintes técnicas:
- Captura e análise de sinais de rádio multiprotocolo (sniffing)
- Análise criptográfica
- Monitoramento passivo de exchanges
- Interceptação e corrupção de exchanges
- Negações de serviço
Concentre-se no Bluetooth de baixa energia
Bluetooth Low Energy (BLE) é um protocolo de comunicação particularmente utilizado porque permite o envio de pequenas quantidades de dados entre equipamentos economizando bateria.
As questões de segurança relacionadas ao BLE estão muitas vezes associadas à implementação incorreta do protocolo. Existem formas de criptografar a troca de dados e fortalecer a segurança do protocolo, que devem ser estudadas desde a fase de projeto de um objeto conectado.