cpu – based dos attacks against sip servers renan fischer e silva [email protected] universidade...
TRANSCRIPT
CPU – based DoS Attacks Against SIP Servers
Renan Fischer e Silva
Universidade Federal do Paraná
Roteiro
Introdução SIP Ataques Avaliação e Resultados Experimentais Trabalhos futuros Conclusão
Introdução
PSTN (Public Switched Telephone Network – Rede de Telefonia Pública Comutada): Antigamente, toda analógica Hoje, quase toda digital
Vantagens: Segurança
Introdução
Funcionamento básico da infra-estrutura PSTN:
Introdução
VoIP: Voz sobre IP
Aos poucos, substituindo a plataforma PSTN como plataforma de telefonia pública e privada
Vantagens: Custo efetivo Funcionalidade Controle e administração Trabalha de forma a satisfazer as
necessidades do usuário
Introdução
VoIP Usa sinalização SIP
Servidores VoIP Precisam prover segurança em um nível
muito alto
Por quê? Usuários da plataforma PSTN possuem
expectativas Usuários esperam e exigem tal nível de
segurança
SIP Protocolo de sinalização da camada de aplicação
para ser usado em serviços VoIP Criado pelo IETF
Cria, modifica e termina uma sessão de multimídia com um ou mais participantes (conferência)
Roda sobre UDP e IP – Vulnerável a vários tipos de ataques como:
Chamadas hijacking (ataque onde uma sessão ativa é interceptada e utilizada pelo atacante)
Personificação de entidades SIP
Servidor SIP Interpreta pacotes que entram na rede e cria
sessões entre “chamadores” e “chamados” (análogo ao modelo cliente-servidor)
SIP - Conceitos
User Agent: Inicia e recebe chamadas pelo usuário
Registrar: Servidor que mantém os registros do local dos usuários registrados.
Proxy: Servidor que recebe, processa e encaminha pedidos de conexões, de forma que o pedido de um User Agent chegue a uma conferência desejada.
SIP - Mensagens
A sinalização suporta mensagens de clientes para Registrars ou proxies:
SIP - Operações
Cada User Agent é associado com um domínio específico da forma sip:user@host:
Host especifica o domínio do usuário Com o domínio é possível achar a posição do
usuário desejado
SIP - Autenticação
De forma a evitar ataques hijacking, a autenticação é essencial
Processo de 3 passos: Começa com uma requisição de registro de
um usuário O servidor cria uma mensagem de
“desafio”, indicando que o usuário não está autorizado e prove uma string de identificação (nonce) e um identificador para o domínio da autenticação (realm)
Se a resposta for válida, o usuário é registrado com sucesso
SIP - Autenticação
SIP - Autenticação
Exemplo de requisição enviada no terceiro passo
SIP - Autenticação
Ataques
No mecanismo de autenticação padrão, servidores confiam e processam todas os pacotes de mensagem SIP por padrão
Tipos Ataques: Mal-formados: Exploram falhas do SW Inundação de pacotes básica: randômico Inundação de pacotes avançada baseado
em customização e personificação Tipos de servidores:
Orientados a estado (Memória e CPU) Não-orientados a estado (CPU)
Ataques
Metodologia do ataque:
Rtotal representa o total de recursos do host consumido em um ataque DoS
RPacket representa a média de recursos consumidos por cada pacote de ataque
N representa o número total de pacotes de ataque
Ataques
Basic Flood Static-Nonce-Based Flood Adaptive-Nonce-Based Flood Adaptive-Nonce-Based Flood with IP
Spoofing
Ataques - Basic Flood
Pacotes são enviados continuamente Força bruta
Pacotes não são especialmente projetados Dados do header são repetidos e gerados
de maneira randômica Essência: Quantidade e não Qualidade
Ataques – Static-Nonce-Based Flood
Cada requisição contém um header de autorização que inclui um nonce personificado. A interceptação pode ser feita via meio
compartilhado: ethernet ou wireless. O nonce também pode ser obtido sondando
o servidor constantemente. Múltiplas requisições SIP com headers
válidos são enviados ao servidor. Os pacotes apenas podem ser filtrados no
4º estágio do processo de autenticação SIP. Alia qualidade e quantidade.
Ataques – Adaptive-Nonce-Based Flood
Contornado o problema do nonce expirar. Aumenta a quantidade de recurso de tempo
de CPU que pode ser consumido por cada pacote.
Realiza todo o processo de autenticação.
Ataques – Adaptive-Nonce-Based Flood
Ataques – Adaptive-Nonce-Based Flood with IP Spoofing
Servidores podem armazenar o número de requisições SIP de cada endereço IP. Forma efetiva de se evitar DoS.
Atacantes personificam diferentes endereços IPs de origem afim de reduzir o número de requisições SIP para cada endereço IP (evitando o controle e superando o mecanismo de proteção).
Avaliação e Resultados Experimentais
Métricas Uso de CPU. Taxa de banda consumida. Banda requerida para causar um DoS. Atraso em um User Agent. Frequência com que um nonce válido é
obtido de um servidor.
Avaliação e Resultados Experimentais
Avaliação e Resultados Experimentais
Avaliação e Resultados Experimentais
Avaliação e Resultados Experimentais
Trabalhos Futuros Autenticação leve
Se o processo é pesado, existe vulnerabilidade mesmo que se possa diferenciar pacotes de ataque de pacotes legítimos.
Boa abordagem seria usar histórico. Configuração e Parâmetros
Tempo de expiração do nonce, limiar para número de requisições IP, etc...
Novas estratégias para geração do nonce Atrelar o nonce ao endereço IP. Diminui o
ataque de CPU mas prejudica usuários VoIP atrás de proxies.
Conclusões Ameaças contra infra-estrutura SIP. Implementado e testado 4 tipos de
ataques. Proposto algumas modificações na
implementação SIP para melhorar a robusteza contra ataques DoS.
Autenticação forte não ajuda defendendo contra ataques DoS.