o uso de captchas de Áudio no combate ao spam em telefonia ip
Post on 27-Jun-2015
1.160 Views
Preview:
DESCRIPTION
TRANSCRIPT
O Uso de Captchas de Áudio no Combate ao spam em
Telefonia IP
Frederico Tiago Tavares Madeira fttm@cin.ufpe.br
Orientador: Prof. Dr. Ruy J. Guerra B. de Queiroz
Agosto/2011
2 / 39
Roteiro
• Introdução
• Spam X Spit
• Contextualização e Apresentação do Problema
• Motivação
• Objetivos
• Contexto da Observação
• Técnicas de combate ao SPIT
• Ferramenta Proposta
• Análise da Sinalização
• Resultados
• Considerações Finais
3 / 39
Introdução
• Spam é o termo usado para referir-se aos e-mails não solicitados, que geralmente são enviados para um grande número de pessoas
• SPIT (SPAM over Internet Telephony) e é definida como geração automatizada de chamadas não solicitadas utilizando como transporte o IP através do VoIP ao invés das tradicionais linhas telefônicas
4 / 39
Introdução
• O potencial do SPIT em reduzir a produtividade é muito maior do que a do SPAM, porque no SPIT a utilização de tempo de uma pessoa já é ocupada no momento em que o telefone começa a tocar
• Características do SPIT são diferentes do SPAM, não podemos aplicar as mesmas técnicas usadas no SPAM em ataques do tipo SPIT.
• É proposto neste trabalho uma ferramenta para identificar e proteger uma rede VoIP contra ataques de SPIT.
5 / 39
Spam X Spit
6 / 39
SPAM SPIT
Usuário pode ordenar ou filtrar a
mensagem baseando-se no conteúdo
ou cabeçalhos da mensagem
VoIP é um protocolo de tempo real, e
não permite ao recebedor da
chamada ter acesso ao conteúdo da
chamada antes que ela seja aceita
O e-mail é entregue de forma
assíncrona, ou seja, o usuário decide
quando quer receber/acessar suas
mensagens.
A vítima é interrompida
instantaneamente com o toque do
telefone.
Spammer não sabe com certeza se sua
mensagem será recebida ou não pela
vítima.
Uma chamada com sucesso, garante
que o usuário existe, que está
atualmente online, e é bem provável
que ele receba a chamada.
Contextualização e Apresentação do Problema
VoIP é uma tecnologia extremamente emergente
VoIP oferece chamadas telefônicas a baixo custo
VoIP permite customização de mensagens (protocolo)
VoIP permite a realização de chamadas a partir de qualquer local do globo
SPIT (Spam over Internet Telephony) é uma ameaça em potencial
7 / 39
Motivação
• Ocorrência de alguns casos de SPIT realizados por grandes empresas
Segundo reportagem intitulada , “Four reasons why Vonage IPO's email and phone pitch is the wrong strategy” do portal ZDNET publicada em 18 de dezembro de 2006, a Vonage enviou mensagens de voz para seus assinantes apresentando sua oferta inicial de ações na bolsa
8 / 39
Motivação
• Aumento do volume de SPAM detectado pelo Cert.BR. É esperado uma ameaça semelhante nas redes VoIP.
9 / 39
Objetivos Geral
– Análise de técnicas para mitigação de ataques do tipo SPIT.
Específicos – Implementação de um CAPTCHA de Áudio, baseado nos Testes
Reversos de Turing, em um PABX IP
– Identificar e integrar as principais técnicas de mitigação/detecção a ferramenta proposta
– Analisar o desempenho do PABX IP, rodando a ferramenta proposta e estando sujeito a um ataque
– Análise e construção de Testes de Turing
10 / 39
Contexto da Observação
• Esta pesquisa considerou quatro critérios a serem observados na implementação da ferramenta proposta
– Trazer incômodo ao usuário até forçá-lo a desativar seu recurso de comunicação;
– Realização de ataques de DoS a uma rede VoIP até que a mesma fique indisponível;
– Exaustão de recursos da rede: CPU, Memória, Aplicações e Disponibilidade de Banda;
– Degradação da qualidade dos serviços de uma rede VoIP
11 / 39
Técnicas • FINGERPRINT
Observação do conjunto de Headers das mensagens SIP
Classificada em:
• Passiva: Observação da mensagem INVITE
• Ativa: Envio de mensagens para o User Agent que inicio a sessão, por exemplo mensagem SIP OPTIONS
Banco de dados de devices
Comparação do fingerprint da mensagem recebida com as existentes no banco de dados
Desvantagens
• Atacante pode forjar um fingerprint válido
• Enorme variedade de VoIP user agents disponível
• Geração de fingerprints de acordo com versões de firmware de um mesmo user agent,
12 / 39
Técnicas
• LISTAS DE ACESSO
Proxy server mantém listas de números de telefones ou URI que possuem tratamento diferenciado
Podem ser locais ou distribuídas
Necessita de métodos adicionais para classificação da originador
Classificadas como:
• White List
listas de números/URI permitidos/confiáveis
• Black List
listas de números/URI não confiáveis
• Grey List
listas de números/URI em observação
Desvantagem
Sujeita a ataque de SIP Identity Spoofing
13 / 39
Técnicas • REPUTATION SYSTEM
Basicamente é um sistema de pontuação;
O usuário irá pontuar uma chamada recebida, construindo a reputação do originador
Dependendo da pontuação obtida, o originador será classificado como SPIT e será cadastrado na black list.
CallRank é um sistema de reputação baseado na duração de uma chamada
• usuários normais:
• comumente fazem e recebem chamadas
• chamadas possuem duração significativa
• Spitter
• Apenas realizam chamadas, sendo estas em volume considerado
• chamadas de curta duração (obedecendo um padrão)
Desvantagem
• Atacante pode usar dicersas contas VoIP sendo necessário nova qualificação
14 / 39
Técnicas
• CAPTCHA de Áudio
Ao receber uma chamada, o originador é direcionado a uma mensagem de Áudio
Teste audível, como exemplo, “Digite os números a seguir: 10 20 23 7 12”
Se o teste for respondido OK, o originador será inserido na white list
Atributos
• Vocabulário
• Ruído de fundo
• Tempo
Desvantagem:
• Existência de ferramentas capazes de quebrar estes CAPTCHAS
• HTK speech recognition toolkit / Vorm
• Audio CAPTCHAS do Google e Microsoft já quebrados
15 / 39
Técnicas
• TESTE DE TURING
Teste para validar a capacidade de um computador em executar um diálogo como se fosse um humano
Um humano atua como juiz,
O Juiz entra em uma conversa com outras duas partes, um outro humano e o outro sendo uma máquina. Se o juiz não conseguir com certeza dizer quem é quem durante o diálogo, a máquina passou no teste.
16 / 39
Técnicas • TESTE REVERSO DE TURING
O juiz é um computador ao invés de um humano
Seu papel é o de distinguir se o originador de uma chamada é uma máquina ou se é um humano
Automatização do Teste de Turing
Testes de Turing são formatados em Captchas de Aúdio e apresentados ao originador de uma chamada
Os testes são facilmente resolvidos por humanos e dificilmente resolvidos por máquinas
Desvantagem:
Sujeito CAPTCHA Relay Attack
17 / 39
Ferramenta Proposta
Implementa o conjunto das técnicas mais eficazes encontradas em revisão biblográfica:
• CAPTCHA de Áudio
• Teste Reverso de Turing
• Listas de Acesso
A dificuldade para um software automatizado em responder aos testes não está no processo de reconhecimento de palavras do teste e sim no entendimento do que está sendo questionado
Os testes são de fácil compreensão e entendimento para humanos, mas dificeis computacionalmente para uma máquina
18 / 39
Ferramenta Proposta
Exemplo dos Testes criados:
• Peter possui 5 anos, Mary possui 7. Quem é mais velho ?
• No café da manhã eu tomo leite, no jantar suco. Qual foi a bebida que tomei hoje de manhã ?
• Mike possui cabelos castanhos, Peter possui os olhos da mesma cor. Qual a cor dos olhos de Peter ?
• Peter ficou em casa hoje de manhã, Mary foi para a escola. Quem perdeu aula hoje ?
• Lee possui 6 canetas, deu 3 para Rose, quantas restaram ?
19 / 39
20 / 39
Ferramenta Proposta
Modelo de Funcionamento
Sinalização de uma chamada
21 / 39
Importante etapa do processo de inicialização de uma chamada telefônica
Nesta fase são negociados recursos a serem alocados durante a chamada
Define o inicio da tarifação de uma chamada
• Após recebimento da mensagem SIP 200 OK
Em VoIP, a sinalização é feita via protocolo SIP, definido pela RFC 3261
Análise da Sinalização
22 / 39
Call Flow SIP Padrão
Análise da Sinalização
23 / 39
Em [Soupionis, Tountas & Gritzalis, 2009] foi encontrada a sugestão de implementação do CAPTHCA de áudio abaixo:
Análise da Sinalização
24 / 39
Em [Wang, 2007] foi encontrada a sugestão de implementação do CAPTCHA de áudio ao lado:
Tarifação é iniciada antes do envio do CAPTCHA de Áudio
É gerado um custo para a geração do SPIT
Análise da Sinalização
25 / 39
Neste trabalho foi implementado uma variação dos dois modelos encontrados
• O CAPTCHA é apresentado pelo servidor;
• A mensagem INVITE só é enviada ao cliente após resposta correta ao CAPTCHA pelo UA1
Tarifação é iniciada antes do envio do CAPTHCA de Áudio
É gerado um custo para a geração do SPIT
Sinalização Implementada
26 / 39
Proxy Server UA1 UA2
-Inicialização da sessão pelo UA1
-Envio do CAPTCHA pelo proxy para o UA1
- Resposta ao CAPTCHA OK
- A chamada é encaminhada para o UA2
- A chamada e encerrada
Call Flow SIP Padrão Para respostas certas ao
CAPTCHA
Sinalização Implementada
27 / 39
Call Flow SIP Padrão Para respostas erradas ao
CAPTCHA
-Inicialização da sessão pelo UA1
-Envio do CAPTCHA pelo proxy para o UA1
-Com a resposta errada ao CAPTCHA, o servidor envia um BYE para desconectar a chamada
Proxy Server UA1
Sinalização Implementada
28 / 39
Call Flow SIP Padrão Para originador presente na
blacklist
-Inicialização da sessão pelo UA1
-Como o UA1 está na blacklist, a chamada é desconectada imediatamente
- A desconexão ocorrer em menos de 1s.
Proxy Server UA1
Implementação Proteção implementada server Side
Sistema rodando em um servidor Linux Centos 5.5
Implementado sobre um servidor proxy Asterisk
Interface de programação AGI + scripts PHP
As listas de acesso foram implementadas e armazenadas em um banco de dados Mysql.
29 / 39
Resultados
30 / 39
• Metodologia dos Testes realizados
– Utilização de um software de testes de performance do protocolo SIP, chamado SIPp
– Este software permite a manipulação das requisições SIP e configuração da frequência do envio destas requisições
– Formatadas mensagens de inicialização de uma sessão VoIP via mensagem SIP INVITE
– O proxy ao receber estas mensagens, analizava a URI e decide se apresenta o CAPTCHA de áudio desenvolvido ou se aceita/rejeita direto a chamada
– Para realização da análise do servidor proxy, foram usadas ferramentas unix como top, iftop e cacti.
Resultados
31 / 39
Resultados
32 / 39
• Dados Coletados: 50 cps e 300 cps
50 cps 300 cps
Delta Delta
4,40% 71,30% 15,20 47,80% 71,60% 0,50
9,90% 16,90% 0,71 117,90% 12,90% -0,89
7,10% 3,40% -0,52 19,90% 4,10% -0,79
2,05 0,974 -0,52 8,24 1,04 -0,87
0,9 1,27 0,41 7,73 8,14 0,05
Load Average 2,85 11,27 2,95 3,02 15,83 4,24
Variável ObservadaSem
proteçãoCom
ProteçãoSem
proteçãoCom
Proteção
CPU do servidor
Utilização de CPU pelo processo Asterisk
Utilização de Memória pelo processo Asterisk *
Incomodou o usuário Sim Não Sim
Banda de Upload utilizada (Mb)**
Banda de Dow nload utilizada **
* A memória do servidor é de 2Gb
** A banda de Upload e Download tem como referência o servidor
Não
Resultados
33 / 39
• Dados Coletados: 500 cps e 750 cps
500 cps 750 cps
Delta Delta
49,30% 67,30% 0,37 46,00% 72,30% 0,57
122,10% 18,90% -0,85 120,20% 15,90% -0,87
25,10% 4,10% -0,84 26,30% 4,20% -0,84
Sim Sim
8,78 1,04 -0,88 9,03 1,11 -0,88
14,1 13,50 -0,04 21 20,50 -0,02
Load Average 3,92 25,87 5,60 3,05 16,30 4,34
Variável Observada
Sem
proteção
Com
Proteção
Sem
proteção
Com
Proteção
CPU do servidor
Utilização de CPU pelo
processo Asterisk
Utilização de Memória
pelo processo Asterisk *
Incomodou o usuário
Banda de Upload
utilizada (Mb)**
Banda de Download
utilizada **
* A memória do servidor é de 2Gb
** A banda de Upload e Download tem como referência o servidor
Não Não
Considerações Finais
34 / 39
Considerações Finais • Contribuições
– Consolidação das técnicas mais relevantes no combate ao SPIT levantadas e estudadas em outros trabalhos da comunidade acadêmica
– Combinação de práticas de defesa contra ataques de SPIT
– Criação de Áudio Captchas beseados nos Testes de Turing
– Avaliação da aplicação destas técnicas em um servidor real utilizado pelo mercado
– Identificação de pontos positivos e negativos da implementação
• Limitações
– Não foi localizada ferramenta dotada de capacidade para resolver os testes de turing formatados nos CAPTCHAS de áudio desenvolvidos
– Outras soluções de PABX IP não possuem API abertas, sendo necessárias alterações diretamente no código fonte para implementar a ferramenta proposta
35 / 39
Considerações Finais • Trabalhos Futuros
• Implementação da ferramenta proposta outras linguagens como C, perl ou phyton, visto que a linguagem PHP apresenta algumas limitações de performance no tratamento de multi-thread
• Utilização desta metodologia em outros servidores proxy open source como o OpenSIPS, SER, SipX entre outros.
• Implementação da blacklist baseada em arquivo texto
• Implementação da blacklist carregada em cache/memória
• Execução de pesquisas comportamentais a fim de identificar e entender como seria o comportamento das pessoas, quando ao realizar uma chamada telefônica sejam submetidas a um CAPTCHA de áudio baseado nos Testes de Turing
36 / 39
O Uso de Captchas de Áudio no Combate ao spam em Telefonia IP
Frederico Tiago Tavares Madeira fttm@cin.ufpe.br
Orientador: Prof. Dr. Ruy J. Guerra B. de Queiroz
37 / 39
OBRIGADO!
top related