Palestra - Departamento de Computação da UFC

Transcrição

Palestra - Departamento de Computação da UFC
Mineração de Dados e Segurança
Pedro Carvalho
[email protected]
1. Mineração de Dados
2. Aplicações
a. Privacidade
b. Detecção de Ataques
i. Malwares
ii. Intrusões
Mineração de Dados
Definição
Segundo Lei Xu et al.[1] o termo
Mineração de Dados é confundido com o
processo de extração de conhecimento
(KDD), quando na verdade é uma etapa
dele.
Esse processo consiste, em alto nível,
da análise de grandes coleções de dados
(datasets) para extração de informações
que possuam valor.
Fonte:
http://www.invensis.net/blog/wp-content/uploads/2015/11/12-Data-Mining-Tools-and-Techniques-Inv
ensis.png
Fonte: https://danielteofilo.files.wordpress.com/2015/02/image.png
Processo de Extração de Conhecimento
Exemplo
Extração de conhecimento em
base de dados de Cinema.
●
Seleção: Buscar fontes de
conhecimento para montar base
de dados inicial (IMDb, Rotten
Tomatoes, Wikipedia etc).
●
Exemplo
Extração de conhecimento em
base de dados de Cinema.
Pré-processamento: Escolha e
extração dos dados desejados de
cada provedor:
○
IMDb: Extrair elenco, equipe e
bilheteria.
○
Rotten Tomatoes: Extrair nota da
crítica.
●
Exemplo
Extração de conhecimento em
base de dados de Cinema.
Formatação: Padronização das
bases de dados distintas para
um modelo comum:
○
○
○
○
○
Nome: Cidadão Kane
Diretor: Orson Welles
Elenco: Orson Welles etc.
Nota da Crítica: 100%
Bilheteria: $686,033
●
Exemplo
Extração de conhecimento em
base de dados de Cinema.
Mineração de Dados: Aplicação
de algoritmos e técnicas para
encontrar informações úteis
para responder uma pergunta.
○
Se gostei de Cidadão Kane, que
filmes vou gostar também? E se
não gostei?
Exemplo
Extração de conhecimento em
base de dados de Cinema.
●
Interpretação: Leitura dos
dados obtidos na mineração
para tomada de decisão.
E como extrair
conhecimento dos
dados?
Aprendizado de
Máquina
Aprendizado de Máquina é uma área de
estudo da Inteligência Artificial que
foca na construção de algoritmos que
“aprendam” como desempenhar tarefas
a partir da generalização sobre um
conjunto de dados de exemplo[3].
Fonte: https://assets.toptal.io/uploads/blog/image/443/toptal-blog-image-1407508081138.png
Classificação
Dado um conjunto de dados
previamente classificados,
descobrir um modelo que divida
as suas classes.
Fonte: Acervo pessoal.
Agrupamento
Agrupar subconjuntos de dados
de propriedades similares.
Fonte: https://biomunky.files.wordpress.com/2011/05/rclustering.jpg.
Associação
Descobrir correlações entre
conjuntos grandes de dados.
Fonte:https://www.mathworks.com/matlabcentral/mlc-downloads/downloads/sub
missions/42541/versions/3/screenshot.jpg
Aplicações
Privacidade
Mineração de Dados para Preservação da Privacidade (PPDM)
O Objetivo da PPDM é proteger informações
sensíveis de vazamento sem perder a utilidade do
conjunto de dados.
1.
2.
[1]
Essa abordagem tem dois pontos principais :
Dados sigilosos (como telefone, CPF,
número do cartão de crédito etc) não devem
ser levados em conta na mineração.
Resultados da mineração cuja divulgação
pode causar violação de privacidade devem
ser descartados.
Fonte: http://www.forbes.com/sites/kashmirhill/2012/02/16/how-target-figured-out-a-teen-girl-was-pregnant-before-her-father-did/#612e8c9e34c6
Abordagem orientada a papeis
Fonte: [1]
Provedor de
Dados
Existem três principais ações
para um provedor de dados
manter sua privacidade:
1. Caso possua informações
sensíveis, a melhor maneira de
manter a privacidade é a não
divulgação.
2. Caso exista um acordo entre
provedor e coletor, um usuário
pode disponibilizar dados
privativos em troca de serviços
ou remuneração.
3. Caso seja impossível prevenir o
acesso a informações e não haja
acordo lucrativo, o provedor
pode distorcer seus dados.
Coletor de
Dados
Esse problema é amplamente
estudado e é conhecido como
publicação de dados preservando
privacidade (PPDP).
O principal papel do coletor de
dados é manter a privacidade sem
perder a utilidade dos dados.
Consiste no estudo de técnicas de
anonimização dos dados.
Exemplo de
Anonimização
Tome uma rede social G = (V, E), não
é suficiente que mudemos apenas o
nome dos vertices para manter a
privacidade.
Fonte: [1]
Exemplo de
Anonimização
A técnica mais conhecida de
anonimização é a de K-NMF
(Non-negative Matrix Factorization),
que, em alto nível, consiste de fazer
alterações no grafo de modo que para
cada aresta e do grafo, existam k-1
arestas com extremidades que possuam
o mesmo número de amigos que as
extremidades de e.
Fonte: [1]
Minerador de
Dados
O principal papel de quem
executa os algoritmos de
mineração é garantir que o
resultado preservará a
privacidade dos provedores.
Existem abordagens diferentes
baseados no tipo de problema que foi
modelado (associação, classificação,
agrupamento). Muitas delas são
enumeradas em [1].
Detecção de
Ataques
Principais técnicas para detecção de ataques
Detecção baseada em Assinatura:
●
●
●
●
●
Analiza a assinatura do processo que está
sendo executado.
Depende de uma base muito grande de
dados de assinatura.
Detecta o ataque sem levantar muitos
alarmes falsos.
Muito efetivo para ataques clássicos.
Fraco para ataques novos.
Detecção baseada em Comportamento:
●
●
●
Verifica o comportamento do processo que
está sendo executado e procura desvios do
comportamento padrão.
Excelente para novos ataques.
Alta taxa de alarmes falsos.
Abordagem
Híbrida
A abordagem mais usada:
●
●
Toma características de ambas as
abordagens anteriores.
Aumenta a taxa de acerto para
ataques clássicos e novos.
Menor taxa de falsos alarmes
que na abordagem baseada em
comportamento.
Detecção de
Malwares
Malwares
Malwares (Malicious Softwares) são softwares
construídos a fim de causar danos a um sistema
de informação.
São ameaças que evoluem constantemente e
podem gerar prejuízos inimagináveis.
Fonte:http://3.bp.blogspot.com/-Fe3auN9vi50/VW8V2rwTs3I/AAAAAAAAEQ4/4ODqqD6pHbo/s1600/2015-06-03_10-52-53.png
Abordagens
Clássicas
Análise baseada em assinatura
pura, configurando os antivírus
comuns.
Empresas de antivírus (McAfee,
Kaspersky etc) investem em
atualizar definições de vírus em suas
bases de dados para fazer
reconhecimento por assinatura.
Essa abordagem requer muito
esforço humano para classificar
Atualização de
base de dados
Técnica para automatizar a
atualização do conjunto de treino
para refinar o aprendizado.
A abordagem baseada em assinatura
depende de dados já conhecidos e
classificados.
Para facilitar esse processo, foram
criadas técnicas de atualização e
classificação automática de conjunto
de treino.
Atualização de
base de dados
Técnica para automatizar a
atualização do conjunto de treino
para refinar o aprendizado.
Para isso, são criados bots que
acessam um site (i.e, StackOverflow)
e buscam conhecimento novo sobre
malwares, para atualizar a base de
dados. Essa estratégia é descrita em
[4].
Detecção de
Intrusões
Sistema de Detecção e Prevenção de Intrusões (IDS/IPS)
Sistemas desse tipo ajudam a identificar uso não
autorizado, duplicação, alteração e destruição de
sistemas de informação[2].
As intrusões podem ser internas ou externas.
Ex: Snort, Tripware, AIDE etc.
Fonte:http://www.revista.espiritolivre.org/wp-content/uploads/2013/07/snort
_logo.gif
Técnica de
Redes Neurais
Definida por Lippmann e
Cunningham[5]. Usa um
reconhecedor de palavras chave
com duas redes neurais.
Inicialmente, o programa feito para
reconhecer palavras-chave para
fazer uma estatística de quantas
vezes cada comando telnet foi
chamado.
Esses dados são alimentados a uma
primeira rede neural, que se
encarrega de classificar o tráfego
telnet entre comum e incomum.
Técnica de
Redes Neurais
Os comandos que foram classificados
como incomuns no passo anterior são
alimentados a outra rede neural, que
se encarrega de classificar se aquilo é
ou não uma intrusão.
A eficácia chega a 80%.
Definida por Lippmann e
Cunningham[5]. Usa um
reconhecedor de palavras chave
com duas redes neurais.
Outras abordagens mais complexas
tem eficácias chegando a 98%, em
alguns casos.
Técnica de
Árvores de
Decisão
Kruegel e Toth propuseram uma
alteração ao Snort[6].
O Snort usa tradicionalmente uma
abordagem baseada em assinaturas.
Foi proposto um modelo que usa
árvores de decisão para decidir caso
uma linha de comandos de terminal é
efetuada ou não por um intruso.
Técnica de
Árvores de
Decisão
Kruegel e Toth propuseram uma
alteração ao Snort[6].
Resultados da alteração:
●
A velocidade de execução do
programa aumentou em média
40,3%, chegando em alguns
casos a aumentar 105%.
Considerações
finais
Considerações
Finais
O uso de técnicas de mineração de
dados e aprendizado de máquina em
problemas de segurança tem se
mostrado muito promissor.
Profissionais de Data Science são,
hoje, muito procurados e tem na
segurança da informação uma série
de problemas para resolver.
Referências
[1] Lei Xu, Chunxiao Jiang, Jian Wang, Jian Yuan, Yong Ren, Xu, L., … Ren, Y.
(2014). Information Security in Big Data: Privacy and Data Mining. IEEE Access,
2, 1149–1176. http://doi.org/10.1109/ACCESS.2014.2362522
[2] Buczak, A., & Guven, E. (2015). A Survey of Data Mining and Machine
Learning Methods for Cyber Security Intrusion Detection. IEEE Communications
Surveys & Tutorials, 18(1), 1–1. http://doi.org/10.1109/COMST.2015.2494502
[3] Domingos, P. (2012). A few useful things to know about machine learning.
Communications of the ACM, 55(10), 78.
http://doi.org/10.1145/2347736.2347755
Referências
[4] Saxe, J., Mentis, D., & Greamo, C. (2013). Mining web technical discussions to
identify malware capabilities. Proceedings - International Conference on Distributed
Computing Systems, 1–5. http://doi.org/10.1109/ICDCSW.2013.56.
[5] R. P. Lippmann and R. K. Cunningham, “Improving intrusion detection
performance using keyword selection and neural networks,” Comput. Netw., vol. 34,
pp. 597–603, 2000.
[6] C. Kruegel and T. Toth, “Using decision trees to improve signature- based
intrusion detection,” in Proc. 6th Int. Workshop Recent Adv. Intrusion
Detect.,West Lafayette, IN, USA, 2003, pp. 173–191.
Muito Obrigado!

Documentos relacionados