Segurança para IoT Alem do Chão de Fábrica

Sempre abordamos com clientes a importancia de monitoração em ambientes fabris. Para isso faço sempre demonstrações do Microsoft Defender for IoT e mostramos a quantidade de dispositivos desconhecidos em um ambiente e como se comunicam muitas vezes diretamente com internet.

Mas não é apenas o chão de fábrica e sistemas de automação que podem ser um problema de vazamento em nossos ambientes. Então nos perguntamos:

Será que estou realmente seguro mesmo não sendo manufatura e automação industrial?

A resposta é NÃO!!!

Por exemplo, recentemente uma vulnerabilidade no Mikrotik e no passado com Cisco e outros produtos mostram que podemos ter equipamentos inteligentes ligados a rede invadidos e usados para vazamento de dados ou ataques cibernéticos.

Alexa e Google Home são comuns até em ambiente doméstico, mas nas empresas temos centrais telefonicas, equipamentos sofisticados de video conferencia, abertura de portas, luzes inteligentes, ar condicionado com wifi e sensores de energia. Isso citando apenas os que muitos tem em suas casas!

Alem disso, muitos destes equipamentos são de empresas que não temos certeza da segurança, por exemplo Sonoff utiliza o eWelink, Geonav o HI, LG o ThinQ e cada fabricante tem uma plataforma diferente que se integram com o Home e Alexa sem qualquer tipo de segurança sofisticada. Bastaria que eu invadisse um destes para fazer um reconhecimento e inventário remoto.

Como me Proteger?

Adote soluções que fazem o rastreio destes equipamentos. Estas soluções fazem a leitura de protocolos comuns a equipamentos inteligentes já que estes usam broadcast para serem configurados como é o caso da Alexa e do Google Home e dispositivos wifi.

No caso do Microsoft Defender for Endpoint ele detecta alterações em BIOS, tendo um catalogo da maioria dos fabricantes de automação industrial (ABB, Siemmens e outros) permitindo estar atualizado sempre que surgirem alterações importantes.

O print abaixo é um dashboard de um scan em minha casa, onde tenho ar condicionado, Google Home, lampadas inteligentes e sensores de energia:

image

image

image

image

O Microsoft Defender for IoT permite que você simule situações entre diferentes dispositivos para analisar se entre eles ocorrem comunicações diretas ou indiretas, que são demonstrados no print anterior como pontos vermelhos. Abaixo um exemplo desta analise:

image

Outra analise que tambem é realizada por estas soluções é a descoberta e alerta para novos dispositivos colocados na rede. Por exemplo se um funcionário aparecer com um wifi e conectar na rede ele irá detectar instantaneamente!

Alem disso, tambem é importante saber os protocolos e portas que os dispositivos utilizam e o consumo de banda de internet deles:

image

Por fim, podemos gerar reports executivos para analise com detalhamento e um score de segurança para o que foi inventariado:

image

Integração com Sentinel

O Microsoft Sentinel já possui um conector para o Defender for IoT, mas você tambem pode integrar sistemas autonomos como SCADA diretamente, alem de permitir que exporte os logs para um SIEM externo.

Stream Microsoft Defender for IoT alerts to a 3rd party SIEM

CONCLUSÃO

Mesmo ambientes domésticos já possuem muitas automações e em geral são softwares e fornecedores que não temos total confiança.

O comportamento destes equipamentos podem ser prejudiciais e passarem desapercebido de toda a equipe de segurança, então não deixe de lado por não ter um ambiente fabril!

Utilizando o Azure Application Insigths na Analise de Vulnerabilidades

Uma das ferramentas que são criadas costumeiramente nas aplicações Web hospedadas, o Azure Application Insigths, é subutilizado pelos time de desenvolvimento, operações e segurança.

O que é possivel com o App Insights?

O App Inisgths captura log e executa tarefas para avaliar performance, estabilidade e estatísticas de uso de um web app.

Quando comparado a outras ferramentas comuns com o Google Analytics é importante lembrar que o App Insigths tambem funciona como um APM (App Performance Monitoring) detalhando funções e linhas de código como chamadas a banco de dados, que estão gerando lentidão.

Particularmente gostou muito de algumas funções Smart detection settings que são regras comuns para detecção de tendências ou problema, além de métricas e as Live Metrics como abaixo. Alias, veja que a página de contato já demonstra um ataque simulado na chamada da página de contato:

Performance

Metricas-1

Outra função interessante que utilizo com frequencia em projetos é Avaliabiliy onde podemos criar regras de teste com páginas especificas em diversas localidades do Azure para funcionar como o antigo Global Monitoring Service.

image

O foco neste post não é detalhar as funções de APM, mas sim o uso pelo time de segurança.

Como o App Insights é útil para Segurança?

Primeiro temos o Application Map de onde iniciamos as analises. Basicamente ele é um modelo simples de dependencias e comunicação de dentro e de fora, incluindo as analises de disponibilidade que mostramos anterioremente.

Application Map

Mas ao retirar o WAF para gerar os logs e demonstrar nesse post, o resultado foi muito rápido como pode ser visto no diagrama abaixo.

Veja que os dois endereços na parte inferior são fontes desconhecidas e poderiam ser ataques, enquanto também se vê claramente os rastreadores e robôs do Google e outro site, mas estes não seriam o problema.

Ataque-1

Ao pedir acima os detalhes de pacotes e comunicação trocada com o meu blog com este endereço é possivel ver o que eles tentaram e quantas vezes.

Ataque-2

O passo seguinte é clicarmos em Samples ou na lista do lado direito para analisar as queries que foram recebidas.

Como pode ser visto abaixo, é possivel identificar de onde e como o acesso foi realizado por esse dominio que estava analisando os detalhes.

Ataque-3

Mas vamos deixar rodando por mais tempo com o WAF desativado e veremos com um histórico detalhadas.

Validando ataques reais

Agora com mas tempo exposto (como gostamos de correr risco Smile) o meu blog pôde ter mais dados para serem demonstrados.

Vamos abrindo em detalhes os itens no mapa onde demonstraram as estatisticas de falhas ocoridas.

Na primeira tela de detalhes vemos que só de falhas nas ultimas 24 horas eu recebi mais de 11 mil chamadas!!!

Failures-1

Mas a alegria se transforma em tristeza, ou melhor preocupação, essas 11290 chamadas na verdade fazem parte de um ataque orquestrado por força bruta…

Failures-2

Agora vamos começar a entender melhor o que estão tentando fazer no meu blog. Para isso vamos fazer uma “caminhada” pelos dados do App Insigths.

Do lado esquerdo já podemos ver que os ataques se deram por tentar enviar parametros e listas diretamente nas páginas do blog.

Failures-3

Abrindo mais detalhes consigo descobrir que a fonte do ataque são PCs na China usando um SDK especifico. Em alguns casos é possivel ver tambem o IP e com isso criar uma lista de bloqueio ou potenciais atacantes.

Failures-4

Segue um outro exemplo mais recente que teve quase a mesma origem (outra cidade chinesa), mas com detalhes de sofisticação onde foi utilizado um script e não apenas um SQL Injection:

Failures-4a

Continuando a caminhada posso ver a sequencia que o “usuário” utilizou no meu site, vejam que a lista de tentativas foi grande, e muitas vezes na mesma página:

Failures-5

O ataque na tela acima é um SQL Injection muito comum de ser utilizado em sites web por atacantes. Veja detalhes em CAPEC - CAPEC-66: SQL Injection (Version 3.5) (mitre.org)

O que fazer ao detectar um ataque ao site site ou aplicação?

Em geral os Web Application Firewall seguram boa parte dos ataques que vimos acontecer no meu blog em 24 horas, tanto que eu não fazia ideia antes que poderiam chegar a quase 12 mil em apenas 24 horas.

Mas mesmo que tenha um WAF é importante que monitore constantemente o numero de falhas em páginas para identificar se é um problema de aplicação ou um ataque que está tentando encontrar as vulnerabilidades, como os exemplos acima do meu site.

Outra importante ação é ajudar os desenvolvedores e não aceitar comandos diretamente do POST e muito menos concatenar cadeias de caracteres  dentro de parâmetros e comandos internos.

Utilize tambem uma biblioteca de desenvolvimento robusta, por exemplo no meu teste de exposição não tive o blog invadido pois o próprio .NET já possui filtros para evitar comandos enviados diretamente no POST ou URL.

Como um recurso mais sofisticado para ataques direcionados, veja a opção Create Work Items onde poderá criar automações, por exemplo barrar um determinado serviço ou até derrubar um servidor quando detectar uma anomalia muito grande!

Relembrando que o App Insights se integra ao Log Analytics para consultas e ao Sentinel para segurança inteligente de Threats!!!!

Conclusão

Se não conhece, não tem habilitado ou não utiliza o App Insights comece agora!

Não o limite a analises de performance e sessões, aprenda a ler também os indícios de falhas de segurança antes que uma invasão ocorra.