Segurança - PCRT 5.7
- 1 Acesso Criptografado
- 2 Proteção Contra Inundação de Requisições (SIP Flood)
- 3 Proteção contra SIP Packet Replay Attack
- 4 Proteção Contra Ataques por Pacotes Mal Formados
- 5 Descarte Seletivo de Assinaturas Conhecidas
- 6 Proteção contra DNS e Registration Poisoning
- 7 Proteção Contra Múltiplas Falhas de Autenticação
A plataforma SIPPulse é um dos sistemas de telefonia mais seguros do mercado. Ele implementa uma grande quantidade de recursos de segurança de forma a evitar ataques gerados por terceiros e quebra de privacidade nas ligações. Os dispositivos de segurança implantados serão detalhados neste capítulo. Abaixo segue um sumário
Acesso com criptografia;
Proteção contra SIP Floods;
Proteção contra SIP replay Attacks;
Proteção contra pacotes mal-formados;
Descarte seletivo por assinatura;
Proteção contra DNS poisoning e Registration Poisoning;
Proteção contra múltiplas falhas de autenticação;
Autenticação por IP e Digest MD5;
Criptografia de sinalização com TLS;
Criptografia de mídia com SRTP;
Integração com LDAP;
Firewall para proteção no nível de sistema operacional.
Acesso Criptografado
Os acessos ao sistema são todos criptografados tanto via interface de linha de comando SSH. Sugerimos utilizar uma das portas Ethernet de cada equipamento para acesso pela VLAN de gerenciamento não permitindo o acesso pelas interfaces dos telefones e gateways. Tudo isto é configurado no nível do sistema operacional durante a instalação.
Proteção Contra Inundação de Requisições (SIP Flood)
O sistema utiliza um sistema de prevenção de inundação de requisições através de um módulo interno. Este módulo mantém uma lista de IPs internos com a quantidade de requisições por segundo corrente. Este sistema é parametrizável e os seguintes parâmetros estão disponíveis.
Tempo de Amostragem: (Padrão 10s);
Densidade de requisições por tempo de amostragem (Padrão 500 ou 50 cps);
Latência de remoção: Tempo em que o sistema irá permitir novas requisições (Padrão: 120).
O sistema de prevenção bloqueia por 120s as requisições de um IP suspeito após mais de 500 requisições em 10s. Opcionalmente o sistema pode gerar um evento de segurança a cada incidente. Gateways e sistemas autorizados por IP são excluídos das verificações.
Estes parâmetros são definidos no arquivo defines.m4 e podem ser alterados mediante solicitação ao suporte.
Proteção contra SIP Packet Replay Attack
Ataques com repetição (replay) de pacotes em SIP e HTTP são comuns. O sistema possui um parâmetro chamado nonce_expire que por padrão está configurado para 30s. Nonces são números gerados uma vez (Number Once – Nonce) que são usados como parte da criptografia de autenticação. Após a expiração do nonce o sistema vai requerer uma nova autenticação, evitando assim que a repetição de uma autenticação possa ser usada.
Além da expiração do nonce é mantido também um índice associado com cada nonce. Apenas a expiração não é suficiente por que ela permite que um ataque ocorra dentro de uma janela de 30s. O índice garante que o nonce poderá ser usado apenas uma vez para autenticar. O tempo de expiração não pode ser menor que o tempo de resposta para uma autenticação. O mecanismo não pode ser implantado em clusters com DNS.
Proteção Contra Ataques por Pacotes Mal Formados
O SipPulse possui um sistema exclusivo de detecção de pacotes SIP mal formados. O sistema detecta as seguintes malformações além de erros de leitura. Hoje o sistema verifica diversos itens das requisições e pode gerar até 27 diferentes mensagens de erro em pacotes malformados.
1 - Mensagem Validada
-1 – Sem mensagem SIP
-2 – Erro de leitura no cabeçalho
-3 – Sem cabeçalho Call-ID
-4 – Sem Content-Length para transportes que o requerem ( eg. TCP )
-5 - Content-Length inválido
-6 – Erro de leitura do corpo do SDP
-7 – Sem Cseq
-8 - Sem From
-9 – Sem To
-10 – Sem Via
-11 – Erro de leitura da Request URI
-12 – Nome errado de host na R-URI.
-13 – Sem Max-Forward
-14 – Sem Contact.
-15 – Uso de Path em pedido não Register
-16 – Sem allow header no 405 reply.
-17 – Sem Min-Expire header no 423 reply.
-18 – Sem Proxy-Authorize header no 407 reply.
-19 – Sem Unsupported header no 420 reply.
-20 – Sem WWW-Authorize header no 401 reply.
-21 – Sem Content-Type
-22 – Erro de leitura no To
-23 – Erro de leitura no From
-24 - hostname ruim no To header
-25 - hostname ruim no From header
-26 – Erro de leitura no Contact header
-27 – Erros indefinidos
Descarte Seletivo de Assinaturas Conhecidas
É muito comum o uso do download de ferramentas para ataques a plataformas de telefonia. O sistema detecta assinaturas conhecidas em ataques. Estas assinaturas são confidenciais, mas daremos alguns exemplos abaixo.
Campo From com as origens 123, 321, 100, 111…
Campo User-Agent com “sipvicious”,”friendly-scanner”…
Magic number no campo VIA inválido
O Sistema automaticamente descarta pacotes com estas assinaturas.
Proteção contra DNS e Registration Poisoning
Estes ataques têm como alvo os gateways para a rede pública. A maioria dos usuários mesmo após estar autenticada não tem autorização para fazer ligações sensíveis. Como por exemplo, chamadas internacionais que passam pelos gateways. No entanto, estes mesmos usuários podem fazer ligações para outras empresas através de VoIP (Usando DNS) e também para outros usuários através da tabela de localização e registro de usuários. Os mecanismos de segurança contra estes ataques possuem uma lista negra que é criada automaticamente quando da criação do gateway. Esta lista negra é aplicada para qualquer saída via DNS ou tabela de localização, bloqueando assim acessos não autorizados. Esta proteção é padrão nos sistemas do SipPulse e não precisa ser configurada.
Proteção Contra Múltiplas Falhas de Autenticação
Uma das formas de conseguir um acesso não autorizado ao sistema é um ataque que se chama SIP Brute Force. Nestes ataques, o sistema recebe centenas de milhares de requisições de registro testando diferentes senhas através de um dicionário previamente carregado ou simplesmente sequenciais. Possuímos um mecanismo interno de segurança que após a falha de autenticação ocorrida por 20 vezes o sistema bloqueia o IP do atacante por uma hora, impedindo que o ataque por força bruta possa ter qualquer resultado positivo. O Sistema é automático e não requer configuração do usuário. Como o usuário é desbloqueado após 60 minutos, não há necessidade de intervenção manual para o desbloqueio.
SIPPulse Routing and Billing Solutions for SIP