Carregar apresentação
A apresentação está carregando. Por favor, espere
1
CAPTCHA Analysis OWASP Tools and Techniques
Ulisses Castro Security Researcher @usscastro CAPTCHA Analysis
2
Ulisses Castro
3
C ompletely A utomated P ublic T uring test to tell C omputers and
Acrônimo C ompletely A utomated P ublic T uring test to tell C omputers and H umans A part
5
that a computer could be said to "think" if a human interrogator
Turing Test Alan Mathison Turing ~Outubro 1950 The idea was that a computer could be said to "think" if a human interrogator could not tell it apart.
6
Turing Test Reverse Turing Test CAPTCHA
7
Proteções Automação de ações "limitador"
Spam de mensagens, blogs, forums, ... Registros de contas, consultas, downloads, ... Sistemas de votação, enquetes, ... Ataques de força bruta e dicionário Robôs de pesquisa e "scrapers" ...
8
Quando o “Reverse Turing Test” falha?
Implementações inseguras e mal planejadas Falta de testes (OWASP-AT-008) Imagens criadas sem randomicidade de cores, distorção, sujeira, sobreposição, rotação, fontes, ... Número limitado de imagens “Range” de caracteres baixo Ex: 4 dígitos numéricos (10^4)
9
Como testar? "... if a human interrogator could not tell it apart."
OWASP Testing Guide Testing for Captcha (OWASP-AT-008) "... if a human interrogator could not tell it apart." Como testar?
10
Inteligência Artificial !
11
Ferramentas PWNtcha - captcha decoder Captcha Breaker ???? Poucas ferramentas automatizam os testes de forma “abrangente”. Muitas automatizam específicamente! (todas pagas!)
12
<incluir um nome aqui depois>.py
Apresento... <incluir um nome aqui depois>.py Versão alpha 0.1 OWASP, GPL, Link, Download, etc... etc...
13
Como funciona?
14
Como funciona?
15
Técnicas Fuzzing de limiar/threshold Ranking por repetição de palavras reconhecidas Ranking por posição de caracteres reconhecidos Fuzzing de OCR(s)
16
Transformando CAPTCHA em TEXTO
DEMO
17
OCR(s) Integrados Tesseract Orcad Gocr Cuneiform
19
Processamento Digital de Imagem (PDI)
Binarização Caso específico da Segmentação Conversão para dois tons dado ponto de corte limiar/threshold Objetivo separar determinado objeto de interesse de seu fundo Escolha do Limiar/Thresehold Inspeção do histograma Threshold automático (algorítmos) Tentativa e erro :-)
20
Binarização
21
Binarização Manual DEMO
22
Coincidência? Quebrar o CAPTCHA apenas uma vez não significa que o sistema que estamos testando é falho. Testes de significância estatísticas são necessários para apurar porcentagem de acerto.
23
Teste de Significância Estatística
DEMO
24
Melhores práticas Ser gerado sempre do lado do servidor Ser validado do lado do servidor Randomicidade das variáveis Imagem não pode ser gerada baseada em token guardado do lado do cliente (hidden) Tem quer ser relacionada a uma sessão Sessão deve ser destruída após o uso (replay attacks) Ser gerada novamente a cada tentativa, com ou sem sucesso Não utilizar palavras de dicionário para criação do captcha
25
Para quebrar normalmente o custo é maior que o benefício...
ReCaptcha (Google) Para quebrar normalmente o custo é maior que o benefício...
26
...ou não.
27
MotionCAPTCHA
28
MotionCAPTCHA DEMO
29
nucaptcha
30
nucaptcha DEMO
31
Ulisses Castro uss.thebug [a] gmail.com @usscastro
OBRIGADO! Ulisses Castro uss.thebug [a] Agradecimento especial para Conviso Application Security
32
Referências captcha-challenge aptcha-jquery-plugin/ how-to-break-captchas/ ocr/wiki/TrainingTesseract3 sec.com/blog/index.php/breaking-weak-captcha- in-26-lines-of-code/ _estat%C3%ADstica A sec.com/blog/index.php/capture-the-captcha- and-the-winner-is/
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.