Este trabalho propõe o desenvolvimento de uma arquitetura autonômica para mitigar ciberataques em redes de computadores com mínima interação humana. A arquitetura monitora a rede, analisa os alertas de segurança gerados para produzir regras de segurança, e executa ações para mitigar ataques com base nessas regras. O trabalho também explora a geração de alertas a partir de mensagens em redes sociais sobre ameaças cibernéticas.
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de computadores
1. Uma abordagem autonômica para mitigar
ciberataques em redes de computadores
Este trabalho de Luiz Arthur Feitosa Santos e Daniel Macêdo Batista foi licenciado com uma Licença Creative Commons - Atribuição –
Não Comercial 3.0 Não Adaptada.
Doutorando:
Luiz Arthur F. Santos
luizsan@ime.usp.br
Orientador:
Daniel Macêdo Batista
batista@ime.usp.br
26/Setembro/2016
2. Introdução:
Problemas de pesquisa:
Crescimento do número de ataques contra redes locais;
Surgimento de novos desafios, tais como, BYOD;
Aumento na complexidade dos ataques à segurança;
Ineficácia das ferramentas/administradores em deter ataques.
Possíveis soluções para nossa proposta:
Computação Autonômica – CA, interagindo/combinada com:
Novas tecnologias, tal como Redes Definidas por Software (SDN);
Tecnologias legadas (ex. iptables, PF, IDS, etc);
Uso de fontes de informações distribuídas e heterogêneas.
2 / 79
3. Objetivo:
Propor e desenvolver uma arquitetura autonômica que mantenha a
segurança de rede de computadores, exigindo o mínimo possível
de interação humana.
Objetivos específicos:
Uso de técnicas que permitam criar sensores para extrair
informações:
Locais (Sistemas de Detecção de Intrusão – IDS e OpenFlow);
Externas (Mensagens postadas na Internet).
Criar e gerenciar regras de segurança autonômicas
fundamentadas no histórico de redes;
Implementação de métodos que possibilitem criar atuadores para
mitigar ciberataques.
3 / 79
4. Contribuições do Presente Trabalho:
Desenvolvimento de método que emprega algoritmos de análise
de associação para processar históricos de uso da rede e alertas
de segurança, para gerar regras de segurança que são aplicadas
na rede via SDN;
Criação de método inspirado na estrutura da memória humana,
que permite gerar regras de segurança que:
Mitigam problemas de segurança em redes;
Previnem contra ameaças futuras;
Evitam que hosts e/ou serviços de redes sejam prejudicados
por ataques e pela defesa autonômica.
Geração de alertas de segurança a partir de mensagens que
relatam ciberameaças e que são postadas na Internet através de
redes sociais.
4 / 79
9. Módulo Análise e Planejamento:
Analisar histórico da rede e gerar regras de segurança:
9
Algoritmo gerarRegrasDeSegurançaAutonômicas()
Entrada: listaAlertasSegurança
Saída: Lista com regras de segurança
01. listaConjuntoRegras ← ∅
02. listaRegrasSegurança ← ∅
03. listaConjuntoRegras ← processaAlertasComFPGrowth(listaAlertasSegurança)
04. listaConjuntoRegras ← removerRegrasInvalidas(listaConjuntoRegras)
05. para cada regra em listaConjuntoRegras faça
06. suporte ← regra.obterSuporte()
07. numeroItens ← regra.obterNumeroItensDaRegra()
08. percentualSuporte ← 110 20 * numeroItens
09. se suporte ⩾ percentualSuporte então
10. listaRegrasSegurança.adiciona(regra)
11. retorna listaRegrasSegurança
/ 79
10. Módulo Análise e Planejamento:
Analisar histórico da rede e gerar regras de segurança:
10
Algoritmo gerarRegrasDeSegurançaAutonômicas()
Entrada: listaAlertasSegurança
Saída: Lista com regras de segurança
01. listaConjuntoRegras ← ∅
02. listaRegrasSegurança ← ∅
03. listaConjuntoRegras ← processaAlertasComFPGrowth(listaAlertasSegurança)
04. listaConjuntoRegras ← removerRegrasInvalidas(listaConjuntoRegras)
05. para cada regra em listaConjuntoRegras faça
06. suporte ← regra.obterSuporte()
07. numeroItens ← regra.obterNumeroItensDaRegra()
08. percentualSuporte ← 110 20 * numeroItens
09. se suporte ⩾ percentualSuporte então
10. listaRegrasSegurança.adiciona(regra)
11. retorna listaRegrasSegurança
Itens Suporte exigido
1 90%
2 70%
3 50%
4 30%
5 10%
/ 79
11. Módulo Análise e Planejamento:
Exemplos fictícios de alertas de segurança:
11
Endereço IP
Protocolo
Portas de Rede Alertas de segurança
Origem Destino Origem Destino Identificação Prioridade
1 20.0.0.1 30.0.0.10 TCP 50000 22 SSH01 média
2 20.0.0.1 30.0.0.20 TCP 50001 22 SSH02 média
3 20.0.0.1 30.0.0.30 TCP 50002 22 SSH03 média
4 20.0.0.1 30.0.0.40 TCP 50003 22 SSH01 média
5 20.0.0.1 30.0.0.50 TCP 50004 22 SSH01 média
6 20.0.0.1 30.0.0.60 TCP 50005 22 SSH01 média
7 20.0.0.2 30.0.0.70 UDP 50006 53 DNS01 Alta
8 20.0.0.2 30.0.0.80 UDP 50007 53 DNS01 Alta
9 20.0.0.2 30.0.0.90 UDP 50008 53 DNS01 Alta
10 20.0.0.1 30.0.0.10 ICMP 0 1 ICMP01 Baixa
N°
/ 79
12. Módulo Análise e Planejamento:
Exemplos fictícios de alertas de segurança:
Regras de segurança geradas:
12
Endereço IP
Protocolo
Portas de Rede Alertas de segurança
Origem Destino Origem Destino Identificação Prioridade
1 20.0.0.1 30.0.0.10 TCP 50000 22 SSH01 média
2 20.0.0.1 30.0.0.20 TCP 50001 22 SSH02 média
3 20.0.0.1 30.0.0.30 TCP 50002 22 SSH03 média
4 20.0.0.1 30.0.0.40 TCP 50003 22 SSH01 média
5 20.0.0.1 30.0.0.50 TCP 50004 22 SSH01 média
6 20.0.0.1 30.0.0.60 TCP 50005 22 SSH01 média
7 20.0.0.2 30.0.0.70 UDP 50006 53 DNS01 Alta
8 20.0.0.2 30.0.0.80 UDP 50007 53 DNS01 Alta
9 20.0.0.2 30.0.0.90 UDP 50008 53 DNS01 Alta
10 20.0.0.1 30.0.0.10 ICMP 0 1 ICMP01 Baixa
N°
Endereço IP
Protocolo
Portas de Rede Alertas de segurança Suporte
Origem Destino Origem Destino Identificação Prioridade Exigido Atingido
1 20.0.0.1 * TCP * 22 * média 5 6
2 20.0.0.1 * TCP * * * média 7 6
3 20.0.0.1 * * * * * média 9 7
4 * * TCP * 22 * média 7 6
5 * * TCP * * * média 9 6
N°
/ 79
13. Módulo Análise e Planejamento:
Então, o algoritmo apresentado permite:
Analisar o histórico da rede;
Identificar padrões (problemas e uso da rede);
Criar regras de segurança para mitigar ataques à rede.
Mas ainda há um problema!!!
(Quantidade de Alertas x Tempo)
13 / 79
14. Módulo Análise e Planejamento:
Então, o algoritmo apresentado permite:
Analisar o histórico da rede;
Identificar padrões (problemas e uso da rede);
Criar regras de segurança para mitigar ataques à rede.
Mas ainda há um problema!!!
(Quantidade de Alertas x Tempo)
14 / 79
15. Módulo Análise e Planejamento:
Considere as cores/letras como problemas de segurança que
ocorreram na rede! Qual é o problema mais comum?
15
x
1
y
2
z
3
z
4
z
5
y
6
y
7
y
8
y
9
y
10
y
11
y
12
y
13
y
14
y
15
y
16
w
17
y
18
x
19
y
20
Linha de Tempo
Agora Recente Passado
Alertas de
segurança
/ 79
16. Módulo Análise e Planejamento:
Considere as cores/letras como problemas de segurança que
ocorreram na rede! Qual é o problema mais comum?
16
x
1
y
2
z
3
z
4
z
5
y
6
y
7
y
8
y
9
y
10
y
11
y
12
y
13
y
14
y
15
y
16
w
17
y
18
x
19
y
20
Linha de Tempo
Agora Recente Passado
Alertas de
segurança
O vermelho é o que
mais ocorre!
O vermelho é o que
mais ocorre!
/ 79
17. Módulo Análise e Planejamento:
Considere as cores/letras como problemas de segurança que
ocorreram na rede! Qual é o problema mais comum?
17
x
1
y
2
z
3
z
4
z
5
y
6
y
7
y
8
y
9
y
10
y
11
y
12
y
13
y
14
y
15
y
16
w
17
y
18
x
19
y
20
Linha de Tempo
Agora Recente Passado
Alertas de
segurança
O vermelho é o que
mais ocorre!
O vermelho é o que
mais ocorre!
Mas e considerando
o momento Recente e
o Agora?
Mas e considerando
o momento Recente e
o Agora?
/ 79
18. Módulo Análise e Planejamento:
Solução possível, processar tal como a memória humana:
18
x
1
y
2
z
3
z
4
z
5
y
6
y
7
y
8
y
9
y
10
y
11
y
12
y
13
y
14
y
15
y
16
w
17
y
18
x
19
y
20
Linha de Tempo
Agora Recente Passado
Alertas de
segurança
Sensorial Curta Longa
/ 79
24. Ciberalertas extraídos de redes sociais:
24
Tweets/alertas
de Segurança
Relevantes
1. Obter
Tweets de
Segurança
InternetInternet
2. Filtrar
Mensagens
3. Agrupar
por
Similaridade
4. Gerar
Lista de
Mensagens
Relevantes
Passo 1:
1.Problema #vírus X cuidado
2.#vírus X problema
3.Novo #Malware Y
4.Atualize seu antivírus W
5.Atualize seu antivírus W
6.#malware Y ataca
7.Atualize seu antivírus W
8.Possível #falha Z
9.Solução #vírus X
10. Atualize seu antivírus W
11. Como resolver #vírus X
12. Guerra País B.
13. A é o melhor antivírus.
14. ola!
Buscas por termos como:
security AND (virus OR worm
OR attack OR intrusion
OR invasion OR ddos
OR hacker OR cracker
OR exploit OR malware)
/ 79
25. Ciberalertas extraídos de redes sociais:
25
Tweets/alertas
de Segurança
Relevantes
1. Obter
Tweets de
Segurança
InternetInternet
2. Filtrar
Mensagens
3. Agrupar
por
Similaridade
4. Gerar
Lista de
Mensagens
Relevantes
Passo 1:
1.Problema #vírus X cuidado
2.#vírus X problema
3.Novo #Malware Y
4.Atualize seu antivírus W
5.Atualize seu antivírus W
6.#malware Y ataca
7.Atualize seu antivírus W
8.Possível #falha Z
9.Solução #vírus X
10. Atualize seu antivírus W
11. Como resolver #vírus X
12. Guerra País B.
13. A é o melhor antivírus.
14. ola!
Passo 2:
1.Problema #vírus X cuidado
2.#vírus X problema
3.Novo #Malware Y
4.Atualize seu antivírus W
5.Atualize seu antivírus W
6.#malware Y ataca
7.Atualize seu antivírus W
8.Possível #falha Z
9.Solução #vírus X
10. Atualize seu antivírus W
11. Como resolver #vírus X
12. Guerra País B.
13. A é o melhor antivírus.
14. ola!
Remover mensagens:
- Pequenas;
- Com URL de domínios que
não abordam cibersegurança;
- Blacklist (kill, free, soldiers).
/ 79
26. Ciberalertas extraídos de redes sociais:
26
Tweets/alertas
de Segurança
Relevantes
1. Obter
Tweets de
Segurança
InternetInternet
2. Filtrar
Mensagens
3. Agrupar
por
Similaridade
4. Gerar
Lista de
Mensagens
Relevantes
Passo 1:
1.Problema #vírus X cuidado
2.#vírus X problema
3.Novo #Malware Y
4.Atualize seu antivírus W
5.Atualize seu antivírus W
6.#malware Y ataca
7.Atualize seu antivírus W
8.Possível #falha Z
9.Solução #vírus X
10. Atualize seu antivírus W
11. Como resolver #vírus X
12. Guerra País B.
13. A é o melhor antivírus.
14. ola!
Passo 2:
1.Problema #vírus X cuidado
2.#vírus X problema
3.Novo #Malware Y
4.Atualize seu antivírus W
5.Atualize seu antivírus W
6.#malware Y ataca
7.Atualize seu antivírus W
8.Possível #falha Z
9.Solução #vírus X
10. Atualize seu antivírus W
11. Como resolver #vírus X
12. Guerra País B.
13. A é o melhor antivírus.
14. ola!
Passo 3:
a1.Problema #vírus X cuidado
a2.#vírus X problema
b3.Novo #Malware Y
b6.#malware Y ataca
c4.Atualize seu antivírus W
c5.Atualize seu antivírus W
c7.Atualize seu antivírus W
c10. Atualize seu antivírus W
d8.Possível #falha Z
e9.Solução #vírus X
e11. Como resolver #vírus X
/ 79
27. Ciberalertas extraídos de redes sociais:
27
Tweets/alertas
de Segurança
Relevantes
1. Obter
Tweets de
Segurança
InternetInternet
2. Filtrar
Mensagens
3. Agrupar
por
Similaridade
4. Gerar
Lista de
Mensagens
Relevantes
Passo 1:
1.Problema #vírus X cuidado
2.#vírus X problema
3.Novo #Malware Y
4.Atualize seu antivírus W
5.Atualize seu antivírus W
6.#malware Y ataca
7.Atualize seu antivírus W
8.Possível #falha Z
9.Solução #vírus X
10. Atualize seu antivírus W
11. Como resolver #vírus X
12. Guerra País B.
13. A é o melhor antivírus.
14. ola!
Passo 2:
1.Problema #vírus X cuidado
2.#vírus X problema
3.Novo #Malware Y
4.Atualize seu antivírus W
5.Atualize seu antivírus W
6.#malware Y ataca
7.Atualize seu antivírus W
8.Possível #falha Z
9.Solução #vírus X
10. Atualize seu antivírus W
11. Como resolver #vírus X
12. Guerra País B.
13. A é o melhor antivírus.
14. ola!
Passo 3:
a1.Problema #vírus X cuidado
a2.#vírus X problema
b3.Novo #Malware Y
b6.#malware Y ataca
c4.Atualize seu antivírus W
c5.Atualize seu antivírus W
c7.Atualize seu antivírus W
c10. Atualize seu antivírus W
d8.Possível #falha Z
e9.Solução #vírus X
e11. Como resolver #vírus X
Passo 4:
c4.Atualize seu antivírus W
c5.Atualize seu antivírus W
c7.Atualize seu antivírus W
c10. Atualize seu antivírus W
a1.Problema #vírus X cuidado
a2.#vírus X problema
b3.Novo #Malware Y
b6.#malware Y ataca
d8.Possível #falha Z
e9.Solução #vírus X
e11. Como resolver #vírus X
/ 79
28. 28
Experimentos e Resultados:
Publicações:
Luiz A. F. Santos, Rodrigo Campiolo, Marco A. Gerosa e Daniel
M. Batista. Análise de mensagens de segurança postadas no
Twitter. SBSC, 2012;
Rodrigo Campiolo, Luiz A. F. Santos, Marco A. Gerosa e Daniel
M. Batista. Evaluating the utilization of Twitter messages as a
source of security alerts. ACM-SAC, 2013;
Luiz A. F. Santos, Rodrigo Campiolo, Marco A. Gerosa e Daniel
M. Batista. Detecção de alertas de segurança em redes de
computadores usando redes sociais. SBRC, 2013;
Luiz A. F. Santos, Rodrigo Campiolo e Daniel M. Batista. Uma
arquitetura autonômica para detecção e reação a ameaças de
segurança em redes de computadores. WOSIDA - SBRC, 2014;
/ 79
29. 29
Experimentos e Resultados:
Luiz A. F. Santos, Rodrigo Campiolo, Wagner A. Monteverde e
Daniel M. Batista. Abordagem autonômica para mitigar
ciberataques em LANs. SBRC, 2016;
Daniel M. Batista, Luiz A. F. Santos, Rodrigo Campiolo, Wagner
A. Monteverde, Marlon F. Antonio, Thiago L. Vieira, Eder Ferreira,
Rafael Silvério e Fausto Vetter. GT-EWS: Building a
cybersecurity EWS based on social networks. TNC, 2016.
Projetos de pesquisa:
Fase 1 - GT-EWS: Mecanismos para um Sistema de Alerta
Antecipado. Novembro/2014-Outubro/2015. Financiado pela RNP;
Fase 2 - GT-EWS: Mecanismos para um Sistema de Alerta
Antecipado. Novembro/2015-Dezembro/2016. Financiado pela
RNP.
/ 79
31. 31
Experimentos e Resultados:
Efetividade e resposta do Of-IDPS a alertas de segurança:
Servidor Iperf:
Porta TCP/80
Porta TCP/90
Cliente Iperf:
Porta TCP/80
Fluxo Normal
Cliente Iperf:
Porta TCP/90
Fluxo Malicioso
/ 79
33. 33
Experimentos e Resultados:
Efetividade e resposta do Of-IDPS a alertas de segurança:
Alertas:
30s – Risco baixo;
60s – Risco médio;
90s – Risco alto.
Of-IDPS
reage aos alertas.
- Fluxo malicioso é mitigado;
- Fluxo normal é favorecido;
/ 79
65. 65
Experimentos e Resultados:
O Of-IDPS ficou em execução nessa rede durante 6 meses;
Foram identificados 44 tipos de ciberameaças, representados
por 15.098 alertas de segurança. Tais ameaças/ataques
basicamente são contra:
Vulnerabilidades DNS;
Pacotes ICMP suspeitos;
Vulnerabilidades de pacotes de rede ou dispositivos;
Ataques Directory Transversal;
Vulnerabilidades SNMP;
Ataques contra servidores ou aplicações Web.
Foram instalados mais de 10 milhões de fluxos de rede
considerados idôneos (não relacionados com ataques).
/ 79
68. 68
Experimentos e Resultados:
Experimentos com ciberalertas extraídos de redes sociais:
Postagens entre: 28/04/2012 – 05/12/2012 (222 dias);
Total de postagens: 155.631 tweets;
Total de usuários: 74.809;
84,9% com URL;
37% com hashtags (#);
43% com menções a usuários do Twitter (@).
/ 79
70. 70
Experimentos e Resultados:
Experimentos com ciberalertas extraídos de redes sociais:
InfoSec -
Informações a
Respeito de
cibersegurança
InfoSec -
Informações a
Respeito de
cibersegurança
/ 79
72. 72
Experimentos e Resultados:
Experimentos com ciberalertas extraídos de redes sociais:
Análise manual dos alertas gerados pela metodologia dos
meses de junho e setembro (selecionados aleatoriamente).
junho setembro
0
10
20
30
40
50
60
70
não alertas
alertas
%
65,7%65,7%
56,9%56,9%
/ 79
75. 75
Conclusões:
A arquitetura proposta consegue identificar desequilíbrios
causados por problemas de segurança e reagir evitando a
degradação massiva nos recursos da rede. Isso com o mínimo
possível de interação humana, pois:
A metodologia das memórias sensorial e curta conseguiu
mitigar até 97,5% dos pacotes maliciosos destinados à vítima
nos ataques DDoS;
Memória longa ruim mitigou até 99,95% dos pacotes
relacionados com ataques DoS;
Memória longa boa conseguiu proteger os fluxos legítimos,
aumentando em 752,42% a quantidade de pacotes
enviados/recebidos durante os ataques DoS;
Durante 6 meses a arquitetura protegeu uma rede real de 44
tipos de ciberameaças, sem causar distúrbios nos serviços
da rede;
/ 79
76. 76
Conclusões:
A criação de um sistema de segurança autonômico que
integra sistemas legados com novas tecnologias (IDS e
SDN) mostra-se uma solução efetiva e prática para detectar e
reagir contra ciberameaças em redes locais, pois:
Em média demorou-se 7 segundos entre a identificação
do problema e o inicio da reação contra o mesmo.
Há alertas de segurança postados em redes sociais e tais
mensagens podem ser exploradas para auxiliar na identificação
de problemas de segurança em redes:
Constatou-se que mais de 50% das mensagens extraídas
pela metodologia proposta, são realmente alertas de
cibersegurança.
/ 79
77. 77
Trabalhos Futuros:
Implementação e integração de novos sensores:
NIDS baseados em comportamento;
HIDS;
Outros métodos de análise de ameaças com dados
OpenFlow.
Adição de novos sensores:
Firewalls;
Proxys;
Roteadores;
Softwares agentes.
/ 79
78. 78
Trabalhos Futuros:
Novos métodos para o módulo Análise e Planejamento;
Expandir a arquitetura de centralizada/local para distribuída,
permitindo integrar informações de várias redes;
Explorar melhor os alertas extraídos de fontes abertas e não
estruturadas:
Reduzir a quantidade de falsos positivos e spams;
Agregar outras fontes, que não só o Twitter;
Correlacionar alertas de baixo nível com alertas de alto nível.
/ 79