SSDP (Simple Service Discovery Protocol) é um protocolo utilizado para descobrir outras máquinas na mesma rede em que o protocolo está operando. Ele faz parte do UPnP (Universal Plug and Play) que permite que diversos dispositivos distintos (computadores, roteadores, televisões, impressoras, etc) se comuniquem automaticamente. O protocolo não precisa de configurações adicionais para funcionar, como o DNS, e pode vir habilitado por padrão em alguns dispositivos e/ou sistemas.
Embora seja um recurso extremamente útil, foi descoberto que o SSDP pode ser utilizado para amplificar ataques do tipo DDoS. Existem utros protocolos que podem ser utilizados para realizar esse tipo de ataque e que possuem um poder de amplificação maior que o presente no SSDP, porém a quantidade de dispositivos que executam esse protocolo é muito grande e isso pode ajudar o usuário malicioso a difundir melhor o ataque.
Uma condição que agrava esse problema é que algumas máquinas que executam o SSDP estão disponíveis para acesso externo a rede, ou seja, na internet. Em muitas vezes a má configuração ou a não configuração da máquina que hospeda o serviço é o principal problema para difundir ataques.
Verificando o status do serviço.
Antes de tomar qualquer tipo de ação, é preciso verificar se o SSDP é um serviço que está realmente ativo na rede ou em algum servidor.
Para testar se o serviço está ativo em algum ativo de rede, é possível executar o nmap juntamente com um script complementar:
nmap -sU -p [PORTA] –script=upnp-info.nse [HOST]
Download do script: http://nmap.org/nsedoc/scripts/upnp-info.html
Para testar se este serviço está ativo no servidor, é possével executar os comandos abaixo:
Windows
netstat -an | findstr [PORTA]
Linux
netstat -an | grep [PORTA]
Observação: O campo [PORTA] deverá ser substituído pela porta que o SSDP utiliza para enviar suas mensagens. A porta padrão utilizada pelo SSDP é a 1900/UDP
Precauções sugeridas.
Mesmo com esse tipo de problema, infelizmente, em muitos dispositivos não é possível desabilitar o SSDP, visto que o isso poderia prejudicar o desempenho de algumas aplicações. Porém, algumas precauções podem ser tomadas como:
Desabilitar o protocolo em máquinas onde ele não é utilizado
Para desabilitar o SSDP em máquinas Windows, siga os passos:
- Clique Iniciar > digite ‘services.msc’
- Na janela em questão, procure pela entrada ‘SSDP Discovery’, clique com o botão direito e selecione ‘Propriedades’
- Na nova janela procure a aba ‘General’ e em ‘Startup type’ selecione ‘Disabled’
Não permitir que máquinas externas enviem requisições ao SSDP
Caso a máquina que executa o SSDP necessite ter um IP público, ou seja, estar conectada diretamente à internet, adicione algumas regras de acesso a mesma.
Windows
A solução é utilizar um firewall contendo as seguintes regras:
-
Tráfego vindo dos clientes autorizados, com destino às portas 1900/UDP do servidor deve ser liberado;
-
Tráfego originado do servidor com destino às portas 1900/UDP de qualquer máquina, permitindo também o retorno das respostas.
-
Bloquear quaisquer outras conexões externas ao serviço SSDP.
Linux
No IPTables, adicione as regras:
-A INPUT -p udp -s 192.168.0.0/24 –dport 1900 -j ACCEPT
-A INPUT -p udp -s! 192.168.0.0/24 –dport 1900 -j DROP
Dessa forma, o tráfego externo estará bloqueado e o tráfego interno estará habilitado.
Observação: A rede exemplificada foi a 192.168.0.0, porém, caso a rede de acesso a máquina não seja essa (por exemplo, 10.10.0.0), altere o endereço do exemplo.
Bloquear o tráfego de máquinas que executam o SSDP
Windows
A solução é utilizar um firewall para bloquear os pacotes vindos de de qualquer máquina, com origem na porta 1900/UDP, que é a porta utilizada pelo SSDP para enviar pacotes.
Linux
No IPTables, adicione a regra:
-A INPUT -p udp -s! localhost –dport 1900 -j DROP
Outros dispositivos
Após a ser anunciada a vulnerabilidade, diversos fabricantes de dispositivos (roteadores, impressoras, etc) liberaram atualizações para os mesmos ou publicaram alguma nota de auxílio sobre o problema.
Por Beatriz de Andrade
Share this content:
Comments are closed