Inteligência Artificial Aplicada ao Web Hacking Glaudson ... · Agenda • Quem sou eu • O que...

30
Inteligência Artificial Aplicada ao Web Hacking Glaudson Ocampos Aka Nash Leon

Transcript of Inteligência Artificial Aplicada ao Web Hacking Glaudson ... · Agenda • Quem sou eu • O que...

Inteligência Artificial Aplicada ao Web Hacking

Glaudson OcamposAka

Nash Leon

Agenda

• Quem sou eu

• O que é Inteligência Artificial

• Uso de IA em Segurança da Informação

• Web Hacking

• Inteligência Artificial aplicada ao Web Hacking

• Conclusão

• Referências

Quem sou eu

• Profissinal de Segurança da Informação com mais de 15 anos em práticas ofensivas e defensivas

• Desenvolvedor de Soluções de Segurança(IDS/WAF/etc)

• Descobridor de falhas e criador de exploits para as mais diversas aplicações

• Trabalhando atualmente como Analista de Segurança Sênior da Conviso Application Security

• Pesquisador Autônomo de Hacking/Security com ênfase no uso de IA e Criptanálise

O que é Inteligência Artificial

• Definir “Inteligência” não é fácil;

• Da Wikipedia temos:

“Inteligência artificial é a inteligência similar à humana exibida por mecanismos ou software... Os principais pesquisadores... definem o campo como "o estudo e projeto de agentes inteligentes", onde um agente inteligente é um sistema que percebe seu ambiente e toma atitudes que maximizam suas chances de sucesso... É uma área de pesquisa da computação dedicada a buscar métodos ou dispositivos computacionais que possuam ou multipliquem a capacidade racional do ser humano de resolver problemas, pensar ou, de forma ampla, ser inteligente. Também pode ser definida como o ramo da ciência da computação que se ocupa do comportamento inteligente... ou ainda, o estudo de como fazer os computadores realizarem coisas que, atualmente, os humanos fazem melhor.”

• IA é o termo usado para solução de problemas de modo dito inteligente;

O que é Inteligência Artificial

Em 1950, Alan Turing escreveu “COMPUTING MACHINERY AND INTELLIGENCE” para a revista Mind

O artigo apresentou a possibilidade de se pensar através

de um jogo (teste de turing)[8];

Euforia incial com modelos simples de AI;

Em 1956, Arthur Samuel cria um programa

capaz de vencer o seu criador no jogo de damas[8];

Ai winter (1974–80 and 1987–93)[9];

O que é Inteligência Artificial

Em fevereiro de 1996, Deep Blue venceu uma partida de xadrez contra Kasparov;

Em maio de 1997, Deep Blue venceu o match(3,5x2,5) contra Kasparov[6];

O que é Inteligência Artificial

Em março de 2016, AlphaGo venceu Lee Sedol em GO;

Especialistas afirmam que o AlphaGo executou jogadas super criativas (Movimento 37, Match 2)[3];

O que é Inteligência Artificial Em janeiro de 2017, Libratus venceu quatro profissionais do Poker;

Superioridade da Máquina no Poker se tornou incontestável[4];

O que é Inteligência Artificial

https://www.kaggle.com/c/the-allen-ai-science-challenge

O que é Inteligência Artificial

https://www.kaggle.com/c/second-annual-data-science-bowl

O que é Inteligência Artificial

Inteligência Artificial Moderna usa algoritmos modernos (Deep Learning, Xgboost, Ensemble, etc);

Poderosas frameworks disponíveis (Tensorflow, Theno, Keras, H20, etc);

Alto poder de processamento disponível (Multi-GPUs);

Data Mining e mercado em ascenção;

Singularidade Tecnológica vem sendo debatida;

Uso de IA em Segurança da Informação• Segurança defensiva:

Detectores de Anomalias em Protocolos de Rede; Detectores de Malwares em PDF usando ML; Recursos de IA em WAFs;

• Segurança ofensiva: Saraute et al – OS Fingerprint usando Neural Network[1]; Saraute et al – Penetration Testing == POMDP Solving?[2]; American Fuzzy Lop – Fuzzer com Algoritmos Genéticos[5];

Web Hacking

• Conjunto de técnicas usadas para descobrir e explorar vulnerabilidades em um ambiente WEB;

Várias técnicas conhecidas: Crawling/Spider; Client side Attacks; XSS/XSRF/DOM XSS/ App Specific vulnerabilies; Deserialization, Brute force login, etc; Injection (Command, SQL, XML, Xpath, EL, etc);

Inteligência Artificial Aplicada ao Web Hacking• Por que tentar aplicar IA ao Web Hacking?

Automatizar os testes de modo eficiente (escolha de URL Targets, Parâmetros, etc);

Diminuir Falso Positivo e Falso Negativo (XSS e Sqlmap Cases);

Verificar se a máquina pode ser melhor que humanos (CTF);

Inteligência Artificial Aplicada ao Web Hacking• Como aplicar IA ao Web Hacking?

Modelar o problema usando conceitos de IA; Decision Theory – O que testar e como testar; MAS - MultiAgent System; DEC-POMDP – Ambiente heterogêneo, complexo e

cheio de incertezas;

Inteligência Artificial Aplicada ao Web Hacking• Modelagem

Dividir o problema em sub-problemas (DP); Cada sub-problema usará um algoritmo de IA

específico e ideal para solução do problema. Exemplos:

Crawling usando DFS(Busca por profundidade); Server Fingerprint usando Naive Bayes; Brute force login usando Information Retrieval;

Inteligência Artificial Aplicada ao Web Hacking• Decision Theory

– Executar Fases de um Pentest;

– Descobrir WebServer, OS, Framework, etc;

– Detectar Segurança(IPS/WAF/Filtros/etc);

– Verificar vulnerabilidades(exploit-db BD);

– Executar ataques comuns(Sqli/RFI/etc);

– Executar ataques de Brute force;

– Fuzzer e Logger;

Inteligência Artificial Aplicada ao Web Hacking• MultiAgent System

Agentes se comunicam usando FIPA-ACL; Protocolo Stomp (Apache Apollo) para Rede; Agentes podem ser desenvolvidos em qualquer

linguagem; Inicialmente trabalhando em modo cooperativo;

Inteligência Artificial Aplicada ao Web Hacking• DEC-POMDP

Decentralized – Partially Observable MDP; Conceito Avançado e bem estabelecido;

Baseado em:

Markov Decision Process;

POMDP – Partially Observable;

Inteligência Artificial Aplicada ao Web Hacking

Fonte: Wikipedia

Inteligência Artificial Aplicada ao Web Hacking

Nenhum Agente Agente Único Múltiplos Agentes

Estado Conhecido Cadeias de Markov Markov Decision Process (MDP)

Markov Game(Stochastic Game)

Estado Indiretamente

Observável

Cadeias Ocultas de Markov (HMM)

MDP - Parcialmente Observável (POMDP) DEC-POMDP

ouParcialmente Observável

Stochastic Game (POSG)

Inteligência Artificial Aplicada ao Web Hacking

Fonte: Wikipedia

Inteligência Artificial Aplicada ao Web Hacking

Fonte: http://rbr.cs.umass.edu/camato/decpomdp/

Inteligência Artificial Aplicada ao Web Hacking

Fonte: http://rbr.cs.umass.edu/camato/decpomdp/

Inteligência Artificial Aplicada ao Web Hacking

Fonte: http://rbr.cs.umass.edu/camato/decpomdp/

Inteligência Artificial Aplicada ao Web Hacking Kurgan-AI - https://github.com/glaudsonml/kurgan-ai

Inteligência Artificial Aplicada ao Web Hacking• Futuro

Implementar Reinforcement Learning; Recurso de Fuzzer; Recurso de Simulação; Compreensão de Linguagem Natural (NLP); Disputar CTFs; Orientar/Desenvolver soluções para os problemas

de segurança encontrados;

Inteligência Artificial Aplicada ao Web Hacking• Conclusão

- IA e Segurança da Informação vão andar cada vez mais lado a lado;

- Necessidade de profisisonais que dominem ambos os mundos(IA/Information Security);

- Novos paradigmas surgirão a medida que a máquina melhorar como atacante/defensor;

- Singularidade tecnológica deve ser levada em conta;

Referências

[1] – https://www.coresecurity.com/corelabs-research/projects/using-neural-networks-os-fingerprinting

[2] - https://arxiv.org/abs/1306.4714 [3] – https://www.wired.com/2016/03/two-moves-alphago-

lee-sedol-redefined-future/ [4] – https://www.maisev.com/noticias/surra-epica-humanos-

sao-humilhados-bot-em-desafio/#.WMrMMXUrLCI [5] – http://lcamtuf.coredump.cx/afl/ [6] - https://pt.wikipedia.org/wiki/Deep_Blue

Referências

[7] – hwttp://indi.frih.net/books/turing-computing-machinery-and-intelligence/

[8] – http://www.thehudsonvalley.com/articles/60-years-ago-today-local-technology-demonstrated-artificial-intelligence-for-the-first-time

[9] – https://en.wikipedia.org/wiki/AI_winter Livro – Decision Making Under Uncertainty – Theory and

Application – MIT Lincoln Laboratory Series; Livro – A Concise Introduction to Decentralized POMDPs –

Frans A. Oliehoek e Christopher Amato;