26
Detectando problemas em redes industriais através de monitoramento contínuo Rio de Janeiro, Novembro de 2014 Marcelo Branquinho & Jan Seidl

[CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

Embed Size (px)

DESCRIPTION

Título da Palestra: Detectando problemas em redes industriais através de monitoramento contínuo.

Citation preview

Page 1: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

Detectando problemas em redes industriais

através de monitoramento contínuo

Rio de Janeiro, Novembro de 2014Marcelo Branquinho & Jan Seidl

Page 2: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

Marcelo [email protected]

• CEO da TI Safe.

• Membro sênior da ISA e integrante

do comitê da norma ANSI/ISA-99.

• Pesquisador de técnologias de

segurança para proteção de

infraestruturas críticas.

Jan [email protected]

• CTO da TI Safe.

• Especialista em análise de riscos

em sistemas de automação.

• Pesquisador na área de engenharia

de malware.

Apresentação

Page 3: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

• O que deve ser monitorado em uma rede de

automação?

• Preparação do ambiente de monitoramento.

• Os ataques realizados.

• Resultados do monitoramento dos ataques.

• Conclusão

#class2014

Agenda

Page 4: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

O que deve ser monitorado em O que deve ser monitorado em uma rede de automauma rede de automaçção?ão?

Page 5: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

• A “Saúde” de servidores críticos

• Erros de execução nos sistemas operacionais

• Processos

• Alta Disponibilidade

• Tráfego de dados em protocolos industriais

• Controladoras (CLPs)

• Traps SNMP

• Pacotes ICMP (Ping)

O que monitorar em uma rede

de automação?

Page 6: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

• Servidores críticos precisam ter sua estabilidade e continuidade de operações

assegurados.

• Monitorar a saúde permite prevenir determinadas falhas, assim como algum

comprometimento malicioso, de acordo com determinados sintomas.

• As principais características monitoradas em um servidor crítico são:

• Espaço livre em disco.

• CPU e Memória.

• Tentativas de login sem sucesso.

• Taxa de entrada e saída de pacotes.

A “Saúde” de Servidores críticos

Page 7: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

• Útil na antecipação de falhas de hardware.

• A antecipação das falhas, por sua vez, evita que tenhamos que fazer uma parada

não programada para reposição de componentes

• Os principais erros de execução em sistemas operacionais a serem monitorados

são:

• Comprometimento/alocação de memória.

• Leitura/escrita em disco.

• Temperatura de CPU.

• Velocidade da ventoinha.

Erros de Execução em S.O.

Page 8: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

• O monitoramento da estabilidade dos processos pode contribuir em duas

situações:

• Avisar a equipe responsável o mais rápido possível em caso de falhas na

execução de processos críticos.

• Reiniciar o processo automaticamente, caso seja possível.

• Recomenda-se também o monitoramento de nomes e portas de processos

conhecidamente explorados como por exemplo:

• RDP

• HTTP/HTTPS

• TeamViewer

• Cmd.exe

• Windows PowerShell

Processos

Page 9: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

• Visa minimizar o downtime do recurso monitorado, antecipando possíveis falhas.

• O estado dos links de comunicação pode ser verificado a fim de ver se a rede da

planta de automação entrou em estado de contingência.

• O agente de monitoramento pode executar tarefas automatizadas, se necessário.

Alta Disponibilidade

Page 10: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

• Para monitorar tráfego de dados em protocolos industriais é aconselhável um

espelhamento de porta.

• No caso do Modbus, por exemplo, é possível criar um sniffer de rede, através do

qual se possa monitorar diversos parâmetros.

• Os principais parâmetros a serem monitorados são:

• Códigos de função não permitidos.

• Valores de tags.

• Origem dos comandos.

• Comandos enviados e recebidos.

Tráfego de dados em

protocolos industriais

Page 11: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

• Monitoramento SNMP

• Monitora E/S de rede, pacotes descartados, erros de rede, etc.

• Possui maior confiabilidade e, de acordo com os erros, diagnostica algo errado

que possa estar acontecendo.

• Monitoramento ICMP (Ping)

• Alternativa caso SNMP não seja suportado pela controladora.

• Usado para verificar conectividade e tempo de resposta.

• Poucas informações, portanto menor precisão e menor confiabilidade.

Controladoras (CLPs)

Page 12: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

PreparaPreparaçção do ambiente de ão do ambiente de monitoramento.monitoramento.

Page 13: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

O Ambiente de testes montado no Laboratório TI Safe inclui:

• Um CLP modelo Wago 741-800

• Um Simulador de uma planta de gás natural (Tofino Scada Security Simulator)

• Uma Estação Windows 7 (físico) para o sistema de supervisão

• Uma Máquina virtual atuando como o servidor de monitoramento (Debian Linux 6 com Zabbix)

• Uma Máquina virtual atuando como servidor de sniffer de tráfego Modbus (Debian Linux 6 com

script em python + scapy)

O Ambiente de Testes

Page 14: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

• O servidor de monitoramento é uma máquina virtual

executando sistema operacional Debian Linux.

• Neste servidor foi baixada e instalada rodando a solução open

source de monitoramento Zabbix 2.0.6 utilizando o MySQL 5.1

como backend de dados.

Figura: O Sniffer de rede e sua estrutura

O Ambiente de Monitoramento

Page 15: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

• Dependendo da carga que a máquina executa, os itens podem ser

configurados para serem verificados num intervalo definido.

• Os servidores com carga mais leve pode ter checagens mais curtas (a cada

15 ou 30 segundos).

• Servidores com carga maior podem ter um controle com intervalo maior

(1 minuto ou superior).

• A idéia é preservar o poder computacional da máquina e a largura de

banda.

Freqüência de Verificação

Page 16: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

• Destinados a alertar a equipe de resposta.

• Melhor usado quando disparado a partir de um conjunto de detecções,

diminuindo a possibilidade de falso positivo.

• Podem gerar avisos sonoros e exibir sinais visuais em um painel, como um

servidor piscando por exemplo.

• Os alertas recomendados são via:

• SMS

• Jabber

• E-mail

Alertas

Page 17: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

Os ataques realizados.Os ataques realizados.

Page 18: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

Software /

Ferramenta

Descrição Ataque Autor

Hping3 Ferramenta de ICMP

flood

Negação de serviço

em camada 3

http://www.hping.org/

T50 Ferramenta de Flood Negação de serviço

em camada 3

https://github.com/merces/t50

Meterpreter Shell de acesso remoto Comprometimento

remoto, infecção por

malware

http://www.metasploit.com/

Arpspoof Ferramenta de ARP

poison/spoofing

ARP poison http://arpspoof.sourceforge.net

/

Pymodbus Biblioteca python para

Modbus

Tráfego Modbus não

autorizado

https://github.com/bashwork/p

ymodbus

• Laptop marca HP, que será conectado diretamente ao switch da rede de automação

• Executando Kali Linux 1.0 a partir de um Live-CD.

Abaixo está a lista dos softwares utilizados nos ataques:

A Máquina do Atacante

Page 19: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

Ataque Vetor de ataque Ativos afetados

Intercepção de comunicações ARP poison PLC, Estação Supervisória

Negação de Serviço em PLC 0-day, flood em camada 3 PLC

Infecção por malware na

Estação Supervisória

Modbus malware, Meterpreter

shell backdoor

Estação Supervisória, Rede

Comprometimento de Estação

Supervisória

Meterpreter shell backdoor Estação Supervisória

Logon remoto não autorizado Habilitando o remote desktop

na máquina, acessando uma

máquina a partir de outra

máquina na rede

Estação Supervisória

Tráfego Modbus não

autorizado

O envio de comandos a partir da

máquina atacante

PLC

Ataques realizados

Page 20: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

Resultado do monitoramento Resultado do monitoramento dos ataques.dos ataques.

Page 21: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

• $ nmap –sV 192.168.1.1

• Interceptação de comunicação

Resultado dos Ataques

Page 22: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

• Negação de serviço

• Infecção por malware

Resultado dos Ataques

Page 23: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

• Tráfego Modbus não autorizado

Resultado dos Ataques

Page 24: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

Conclusão.Conclusão.

Page 25: [CLASS 2014] Palestra Técnica - Marcelo Branquinho e Jan Seidl

• A homogeneidade do comportamento cíclico de redes e servidores industriais permite-

nos estabelecer os parâmetros 'saudáveis' da rede.

• Aplicações de análise e monitoramento de rede e servidores são fundamentais para a

detecção de tráfegos de rede incomuns.

• Ao realizar monitoramento por comportamento consegue-se obter resultados mais

tangíveis do que o monitoramento por keywords conhecidas, as 'assinaturas'.

• O estabelecimento de linhas de base de tráfego por meio de análise de pacotes na

rede de sistemas de controle é necessário para a detecção de tráfego anômalo através

da análise das diferenças.

• Gatilhos (triggers) podem ser configurados para indicar parâmetros fora destas faixas

que podem significar um comprometimento dos ativos em questão.

• Baseados em triggers, alarmes (inclusive sonoros) podem ser configurados.

• Para ambientes de automação industrial e controle, com seus protocolos não-usuais,

há poucas ferramentas comerciais disponíveis para a compra, e o ideal é customizar

uma ferramenta de código aberto para sua própria necessidade de monitoramento.

Conclusão