O UPNP é interpretado da seguinte forma: Para um computador privado, a função UPnP do BitComet pode fazer com que o módulo NAT do gateway ou roteador faça mapeamento automático de portas, e mapear a porta que o BitComet escuta do gateway ou roteador para o computador intranet. O módulo firewall de rede do gateway ou roteador começa a abrir essa porta para outros computadores na Internet. A tecnologia de travessia NAT permite que aplicações web detectem se estão atrás de um dispositivo NAT compatível com UPnP. Esses programas então recebem um endereço IP global roteável compartilhado e configuram o mapeamento de portas para encaminhar pacotes das portas externas NAT para as portas internas usadas pela aplicação – tudo automaticamente, sem a necessidade de os usuários mapear manualmente portas ou fazer qualquer outra coisa. A tecnologia de travessia NAT permite que dispositivos de rede ou aplicações peer-to-peer se comuniquem com o mundo exterior por meio de gateways NAT, abrindo e fechando dinamicamente portas de comunicação com serviços externos. Em outras palavras, pode ser resumido da seguinte forma: a eficiência de conversão de NAT simples não é alta, e se a tecnologia UPNP for lançada, a eficiência da conversão de dados NAT pode ser melhorada. Parece algo bom. Mas o que ???
A UPNP tem sérias limitações: Aqui está um trecho:
A primeira falha é que o uso de buffers não é controlado nem restringido. Atacantes externos podem obter privilégios de controle de todo o sistema por meio disso! Como a função UPnp deve usar as portas do computador para funcionar, um atacante que assume o controle também pode usar essas portas para alcançar o objetivo do atacante. As consequências desse defeito são muito sérias, não importa qual versão do sistema Windows, enquanto o UPnP estiver rodando, existe esse perigo! Mas, estritamente falando, isso não é inteiramente um problema da tecnologia UPnP em si, mas sim uma falha de programação. A segunda falha está relacionada ao mecanismo de funcionamento do UPnP. O defeito ocorre na fase de "descoberta do dispositivo", quando o UPnP está funcionando. Descobrir um dispositivo pode ser dividido em duas situações: se um computador compatível com UPnP iniciar com sucesso e se conectar à rede, ele enviará imediatamente uma "broadcast" para a rede, notificando o dispositivo UPnP na rede de que está pronto, e no nível de programação, o conteúdo transmitido é uma instrução M-SEARCH (mensagem). A transmissão será "ouvida" por todos os dispositivos dentro do "alcance sonoro". E envie suas informações relevantes ao computador para fins de controle subsequentes. Da mesma forma, se um dispositivo estiver apenas conectado à rede, ele também enviará uma "notificação" à rede de que está pronto para aceitar o controle da rede, que é uma indicação NOTIFY no nível de programação. Também será aceita por todos os computadores dentro da faixa de "alcance sonoro". O computador vai "sentir" que o dispositivo "se reportou a si mesmo". Na verdade, instruções NOTIFY não são apenas enviadas para computadores, mas também podem ser ouvidas por outros dispositivos de rede. É na transmissão e escuta mencionadas acima que há um problema! Se um hacker enviar uma instrução NOTIFY para o sistema do usuário, o sistema do usuário receberá essa instrução NOTIFY e se conectará a um servidor específico sob suas instruções, solicitando então um serviço de download para o servidor correspondente – baixe o conteúdo do serviço a ser executado. O servidor, é claro, responderá a esse pedido. O sistema de serviço UPnP explicará a descrição do dispositivo, solicitando o envio de mais arquivos, e o servidor precisará responder a essas solicitações. Dessa forma, forma-se um ciclo de "solicitação-resposta", que ocupa uma grande quantidade de recursos do sistema e faz com que a velocidade do serviço UPnP do sistema desacelere ou até pare. Então, essa falha vai tornar possível um ataque de "negação de serviço"!
Na verdade, em outras palavras, a função UPNP está constantemente consumindo seus próprios recursos de rede durante a fase de uso, e quando os recursos de rede do dispositivo se esgotam, haverá um fenômeno de animação suspensa. Basta olhar as informações acima. |