Boletim de Segurança

Microsoft Security Bulletin MS01-059 - Crítica

Buffer não verificado no Universal Plug and Play pode levar ao comprometimento do sistema

Publicado: terça-feira, 20 de dezembro de 2001 | Atualizado: May 09, 2003

Versão: 1.3

Postado originalmente: 20 de dezembro de 2001
Atualizado: May 09, 2003

Resumo

Quem deve ler este boletim:
Clientes que usam o Microsoft® Windows® ME ou XP, ou que instalaram o cliente de compartilhamento de conexão com a Internet do Windows XP no Windows 98 ou 98SE.

Impacto da vulnerabilidade:
Execute o código escolhido pelo atacante.

Classificação de gravidade máxima:
Crítico

Recomendação:
A Microsoft recomenda vivamente a todos os clientes do Windows XP que apliquem o patch imediatamente. Os clientes que usam o Windows 98, 98SE ou ME devem aplicar o patch se o suporte Universal Plug and Play estiver instalado e em execução.

Software afetado:

  • Microsoft Windows 98
  • Microsoft Windows 98SE
  • Microsoft Windows ME
  • Microsoft Windows XP

Informações Gerais

Detalhes técnicos

Descrição técnica:

O Universal Plug and Play (UPnP) permite que os computadores descubram e utilizem dispositivos baseados em rede. Windows ME e XP incluem suporte UPnP nativo; Windows 98 e 98SE não incluem suporte nativo UPnP, mas ele pode ser instalado através do cliente de compartilhamento de conexão com a Internet que acompanha o Windows XP. Este boletim discute duas vulnerabilidades que afetam essas implementações UPnP. Embora as vulnerabilidades não estejam relacionadas, ambas envolvem a forma como os computadores com capacidade UPnP lidam com a descoberta de novos dispositivos na rede.

A primeira vulnerabilidade é uma vulnerabilidade de saturação de buffer. Há um buffer não verificado em um dos componentes que manipulam diretivas NOTIFY - mensagens que anunciam a disponibilidade de dispositivos compatíveis com UPnP na rede. Ao enviar uma diretiva NOTIFY especialmente malformada, seria possível que um invasor fizesse com que o código fosse executado no contexto do subsistema UPnP, que é executado com privilégios de sistema no Windows XP. (No Windows 98 e Windows ME, todo o código é executado como parte do sistema operacional). Isso permitiria que o invasor obtivesse controle total sobre o sistema.

A segunda vulnerabilidade resulta porque as implementações UPnP não limitam suficientemente as etapas para as quais eles irão para obter informações sobre o uso de um dispositivo recém-descoberto. Dentro da diretiva NOTIFY que um novo dispositivo UPnP envia é informação dizendo aos computadores interessados onde obter a descrição do dispositivo, que lista os serviços que o dispositivo oferece e instruções para usá-los. Por design, a descrição do dispositivo pode residir em um servidor de terceiros em vez de no próprio dispositivo. No entanto, as implementações do UPnP não regulam adequadamente como ele executa essa operação, e isso dá origem a dois cenários diferentes de negação de serviço:

  • Um invasor pode enviar uma diretiva NOTIFY para um computador compatível com UPnP, especificando que a descrição do dispositivo deve ser baixada de uma porta específica em um servidor específico. Se o servidor foi configurado para simplesmente ecoar as solicitações de download de volta para o serviço UPnP (por exemplo, por ter o serviço de eco em execução na porta para a qual o computador foi direcionado), o computador poderia ser feito para entrar em um ciclo de download interminável que poderia consumir parte ou toda a disponibilidade do sistema. Um invasor pode criar e enviar essa diretiva diretamente para a máquina de uma vítima, usando o endereço IP da máquina. Ou ele poderia enviar essa mesma diretiva para um domínio de transmissão e multicast e atacar todas as máquinas afetadas dentro do earshot, consumindo parte ou toda a disponibilidade desses sistemas.
  • Um invasor pode especificar um servidor de terceiros como host para a descrição do dispositivo na diretiva NOTIFICAR. Se máquinas suficientes respondessem à diretiva, isso poderia ter o efeito de inundar o servidor de terceiros com solicitações falsas, em um ataque distribuído de negação de serviço. Como no primeiro cenário, um invasor pode enviar as diretivas diretamente para a vítima ou para um domínio de difusão ou multicast.

Os administradores de sistema devem estar cientes de que o patch introduz novas funcionalidades que lhes permitem personalizar a forma como os sistemas corrigidos realizam a descoberta de dispositivos. Conforme discutido no artigo Q315056 da Base de Dados de Conhecimento Microsoft, o patch introduz a capacidade de configurar o serviço UPnP para baixar descrições de dispositivos somente da sub-rede local, da sub-rede ou rede privada, somente da rede privada ou de qualquer endereço IP. Por padrão, os sistemas corrigidos verificarão apenas a sub-rede ou a rede privada em busca de descrições de dispositivos.

Os clientes que não podem instalar o patch podem proteger seus sistemas desativando o suporte UPnP, conforme discutido nas Perguntas frequentes.

Fatores atenuantes:

Geral:

  • As redes corporativas poderiam ser protegidas contra ataques baseados na Internet seguindo práticas padrão de firewall (especificamente, bloqueando as portas 1900 e 5000).
  • As redes domésticas que usam o Compartilhamento de Conexão com a Internet estariam protegidas contra ataques baseados na Internet, porque o Gateway da Internet não encaminharia os pacotes. Apenas a máquina de gateway estaria em risco.

Windows 98 e 98SE:

  • Não há suporte UPnP nativo para esses sistemas. Os sistemas Windows 98 e 98SE só seriam afetados se o Cliente de Partilha de Ligação à Internet do Windows XP tivesse sido instalado no sistema.
  • As máquinas Windows 98 e 98SE que instalaram o cliente de Partilha de Ligação à Internet a partir de um sistema Windows XP que já aplicou este patch não são vulneráveis.

Windows ME:

  • O Windows ME fornece suporte nativo a UPnP, mas não está instalado nem em execução por padrão. (No entanto, alguns OEMs configuram sistemas pré-construídos com o serviço instalado e em execução).

Windows XP:

  • O Firewall de Conexão com a Internet, que é ativado por padrão sempre que uma conexão de rede com a Internet é configurada por meio de um dos assistentes do sistema, protegeria contra ataques usando mensagens unicast. Isso tornaria os ataques possíveis apenas via difusão ou multicast, o que normalmente exigiria que o invasor estivesse localizado no mesmo segmento de rede que o sistema vulnerável.

Classificação de gravidade:

Sobrecarga da memória intermédia:

Servidores de Internet Servidores de Intranet Sistemas Clientes
Janelas 98, 98SE Nenhuma Nenhuma Moderado
Janelas ME Nenhuma Nenhuma Moderado
Windows XP Nenhuma Nenhuma Crítico

Vulnerabilidade de negação de serviço:

Servidores de Internet Servidores de Intranet Sistemas Clientes
Janelas 98, 98SE Nenhuma Nenhuma Moderado
Janelas ME Nenhuma Nenhuma Moderado
Windows XP Nenhuma Nenhuma Moderado

Gravidade agregada de todas as vulnerabilidades eliminadas pelo patch:

Servidores de Internet Servidores de Intranet Sistemas Clientes
Janelas 98, 98SE Nenhuma Nenhuma Moderado
Janelas ME Nenhuma Nenhuma Moderado
Windows XP Nenhuma Nenhuma Crítico

A avaliação acima referida baseia-se nos tipos de sistemas afetados pela vulnerabilidade, nos seus padrões típicos de implantação e no efeito que a exploração da vulnerabilidade teria sobre eles. A criticidade para o Windows XP é classificada como mais alta do que para o Windows 98, 98SE e ME, porque apenas o Windows XP é vulnerável em sua condição padrão.

Identificador de vulnerabilidade:

Versões testadas:

A Microsoft testou o Windows ME, Windows NT 4.0, Windows 2000 e Windows XP e o serviço UPnP que pode ser instalado no Windows 98 e 98SE, para avaliar se eles são afetados por essas vulnerabilidades. As versões anteriores já não são suportadas e podem ou não ser afetadas por esta vulnerabilidade

Perguntas mais frequentes

Que vulnerabilidades são discutidas neste boletim?
Este boletim discute duas vulnerabilidades, ambas afetando o subsistema Universal Plug and Play no Windows 98, Windows 98SE, Windows ME e Windows XP.

O que é Universal Plug and Play?
Universal Plug and Play (UPnP) é um recurso que permite que dispositivos em uma rede para descobrir outros dispositivos e determinar como trabalhar com eles. UPnP é mais facilmente compreendido em comparação com a capacidade plug-and-play (PnP) que a maioria dos usuários do Windows já estão familiarizados. O PnP permite que o sistema operacional detete novo hardware quando você o instala em um sistema. Por exemplo, se você instalar um novo mouse em seu computador, o PnP permitirá que o Windows o detete, carregue os drivers necessários e comece a usá-lo. UPnP estende este conceito para dispositivos em uma rede, em vez de no próprio sistema local. O UPnP permite que os computadores aprendam sobre outros dispositivos na rede e determinem como usá-los. Por exemplo, um computador pode usar UPnP para detetar se há impressoras na rede que ele pode usar e aprender a usá-las.

Que sistemas operativos suportam UPnP?

  • Nem o Windows 98 nem o Windows 98SE incluem um recurso UPnP nativo. Ele só pode ser adicionado instalando o software cliente para compartilhamento de conexão com a Internet (ICS) fornecido no Windows XP.
  • O Windows ME inclui um recurso UPnP nativo, mas não é instalado nem executado por padrão.
  • Nem o Windows NT 4.0 nem o Windows 2000 suportam UPnP.
  • O Windows XP inclui uma capacidade UPnP nativa. Ele é instalado e executado por padrão.

As vulnerabilidades têm algo em comum para além do facto de envolverem UPnP?
Sim. Ambos envolvem problemas na forma como o subsistema UPnP executa a descoberta de dispositivos.

O que é a descoberta de dispositivos UPnP e como funciona?
A descoberta de dispositivos é o processo através do qual os computadores compatíveis com UPnP tomam conhecimento da disponibilidade dos dispositivos que podem usar e aprendem a solicitar serviços deles. Quando um computador compatível com UPnP é inicializado, pode já haver dispositivos na rede que ele pode usar. Para determinar se este é o caso, o computador envia uma solicitação de transmissão (chamada de diretiva M-SEARCH), solicitando que qualquer dispositivo compatível com UPnP dentro do earshot responda diretamente a ele e forneça informações sobre como usá-lo. Da mesma forma, quando um dispositivo que suporta UPnP (por exemplo, uma impressora compatível com UPnP) é inicializado, pode já haver computadores compatíveis com UPnP na rede que gostariam de usá-lo. O dispositivo transmite uma mensagem (chamada de diretiva NOTIFICAR) para todos os computadores dentro do earshot, anunciando sua presença na rede e convidando os computadores a fazer uso de seus serviços.

Suponha que um computador compatível com UPnP aprenda que um determinado dispositivo está disponível. Como aprende a usá-lo?
O computador verifica se algum aplicativo registrou interesse no tipo de dispositivo do qual teve conhecimento. Se tiver, o computador consulta as informações enviadas pelo dispositivo, que conterá um URL a partir do qual a descrição do dispositivo - a lista de serviços oferecidos pelo dispositivo e instruções sobre como solicitá-los - pode ser baixada. Em seguida, o computador transfere a descrição do dispositivo e pode começar a utilizá-lo.

Quais são as vulnerabilidades que afetam o serviço UPnP?
Existem duas vulnerabilidades:

  • A primeira vulnerabilidade pode permitir que um invasor obtenha controle total sobre um sistema afetado.
  • A segunda vulnerabilidade pode permitir que um invasor impeça um sistema afetado de fornecer um serviço útil ou utilize os sistemas de vários usuários em um ataque distribuído de negação de serviço contra um único alvo.

Qual é o âmbito da primeira vulnerabilidade?
Esta é uma vulnerabilidade de saturação de buffer. Um intruso que conseguisse explorar esta vulnerabilidade poderia obter controlo total sobre um sistema afetado. Claramente, esta é uma vulnerabilidade séria, e encorajamos fortemente os clientes a aplicar imediatamente o patch.

O que causa a vulnerabilidade?
A vulnerabilidade resulta porque um dos componentes das implementações UPnP do Windows XP, Windows ME, Windows 98 e Windows 98SE contém uma memória intermédia não verificada que pode ser ultrapassada através de uma diretiva UPnP NOTIFY especialmente malformada.

O que há de errado com a forma como o subsistema UPnP lida com diretivas NOTIFIQUE?
Um dos componentes dessas implementações envolvidas no processamento de diretivas NOTIFY contém um buffer não verificado. Se o subsistema UPnP recebeu uma diretiva NOTIFY que está malformada de uma maneira específica, o efeito seria invadir o buffer com dados da diretiva NOTIFY . Se esses dados fossem cuidadosamente escolhidos, teriam o efeito de alterar o funcionamento do subsistema UPnP enquanto ele estava em execução.

O que isso permitiria que um invasor fizesse?
Um intruso que conseguisse explorar esta vulnerabilidade com êxito poderia alterar o subsistema UPnP para executar qualquer tarefa pretendida. Como o subsistema UPnP é executado como parte do sistema operacional, isso daria ao invasor controle total sobre o sistema.

Como pode um intruso explorar a vulnerabilidade?
Um invasor pode explorar a vulnerabilidade criando uma diretiva NOTIFY com a malformação necessária e enviando-a para outros computadores na rede.

Como o invasor enviaria a diretiva NOTIFY para os outros computadores?
Uma diretiva NOTIFY pode ser enviada como uma mensagem unicast (ou seja, uma mensagem que é enviada diretamente para um computador específico) ou como uma mensagem multicast ou broadcast (ou seja, uma mensagem que é transmitida para um grupo de computadores). O tipo específico escolhido pelo atacante seria importante. O formulário unicast permitiria ao atacante maior alcance, mas ao custo de precisar saber mais informações sobre o alvo. Em contraste, o formulário de multicast permitiria que o invasor comprometesse várias máquinas sem saber muito sobre elas, mas ao custo de limitar o escopo do ataque a computadores no mesmo segmento de rede que o invasor.

Como funcionaria um ataque através de uma mensagem NOTIFY unicast?
No cenário de unicast, o invasor enviaria uma mensagem NOTIFY diretamente para outro computador, como se respondesse a uma diretiva M-SEARCH do computador. A vantagem de usar uma mensagem unicast é que o invasor seria capaz de atacar qualquer máquina para a qual pudesse entregar a mensagem NOTIFICAR. Um invasor pode comprometer máquinas a grandes distâncias usando mensagens unicast. A desvantagem é que o invasor precisaria saber o endereço IP do alvo. A maioria das redes usa o protocolo DHCP (Dynamic Host Configuration Protocol) para gerenciar seu pool de endereços IP e, como resultado, o endereço IP de uma determinada máquina pode mudar com bastante frequência. Embora seja certamente possível aprender o endereço IP de uma máquina, isso pode exigir um trabalho substancial, dependendo das circunstâncias.

Como funcionaria um ataque através de uma mensagem NOTIFY de difusão ou multicast?
Nos cenários de multicast ou difusão, o invasor enviaria uma mensagem NOTIFY para um endereço de difusão ou multicast, como se fosse de um novo dispositivo compatível com UPnP. A vantagem de usar essas mensagens é que o invasor não precisaria saber o endereço IP de nenhuma outra máquina e poderia comprometer um grande número de máquinas com um único ataque. A desvantagem para o invasor é que a maioria dos roteadores e firewalls não encaminham mensagens multicast e broadcast. (Para entender o porquê, considere o que aconteceria se eles os encaminhassem - cada multicast ou transmissão de qualquer computador do mundo seria entregue a todos os outros computadores do mundo, e a Internet rapidamente ficaria inundada de dados). Como resultado, os ataques via multicast ou broadcast geralmente só seriam eficazes dentro do segmento de rede ou sub-rede do invasor.

Isso significa que a vulnerabilidade não é grave?
Pelo contrário, é muito grave. Pode haver centenas de computadores em uma sub-rede, e essa vulnerabilidade permitiria que um invasor obtivesse controle total sobre todos eles com uma única diretiva NOTIFICAR. Pedimos vivamente aos clientes que apliquem imediatamente o sistema.

Um firewall corporativo protegeria contra ataques da Internet?
Sim. A maioria dos firewalls corporativos bloqueia mensagens multicast e mensagens unicast não solicitadas. Além disso, bloquear as portas 1900 e 5000 ajuda a proteger contra ataques baseados na Internet.

O Firewall de Conexão com a Internet protegeria as máquinas Windows XP contra essa vulnerabilidade?
O Firewall de Conexão com a Internet (ICF) bloqueia mensagens unicast não solicitadas, portanto, protegeria um sistema Windows XP contra um ataque montado usando unicast. Isso não forneceria proteção total - ICF não bloqueia multicast ou broadcast - mas reduziria significativamente o risco para os usuários do Windows XP. Como discutimos acima, as mensagens unicast podem ser enviadas a grandes distâncias, onde multicast e broadcast normalmente não podem. Isso significa que, para usuários do Windows XP, o invasor provavelmente precisaria estar localizado no mesmo segmento de rede para explorar a vulnerabilidade.

O ICF está habilitado por padrão no Windows XP?
Em geral, o ICF é ativado automaticamente sempre que um assistente é usado para criar uma conexão de rede com a Internet. Por exemplo, o ICF está ativado em todos os seguintes cenários:

  • Quando um sistema Windows XP é usado, um host de compartilhamento de conexão com a Internet.
  • Quando é criada uma ligação à Internet através do Assistente para Nova Ligação.
  • Quando uma conexão com a Internet é identificada no Assistente de configuração de rede.
  • Quando uma conexão com a Internet é criada ou identificada no assistente Bem-vindo ao Windows.

O ICF não está habilitado por padrão em casos como os seguintes:

  • Se o usuário optar por criar manualmente uma conexão de rede. Nesse caso, todas as opções de rede - incluindo ICF - devem ser ativadas ou desativadas manualmente.
  • Se a conexão não se conectar diretamente à Internet - por exemplo, se for uma conexão com uma LAN. Nesses casos, geralmente já existe um firewall protegendo toda a rede.
  • Se o sistema foi atualizado de uma versão anterior do Windows e já tinha uma conexão existente com a Internet. Neste caso, o ICF pode ser ativado manualmente.

Para obter mais informações sobre o funcionamento do ICF e as condições sob as quais ele é ativado por padrão, consulte "Visão geral do recurso de firewall de conexão com a Internet".

Tenho uma rede doméstica que utiliza a Partilha de Ligação à Internet para ligar à Internet. Alguém na Internet poderia atacar as máquinas no interior da minha rede?
N.º O gateway de Compartilhamento de Conexão com a Internet não encaminharia as mensagens NOTIFIQUE, independentemente de serem enviadas por unicast, multicast ou broadcast. Isso significa que um invasor baseado na Internet não pode explorar a vulnerabilidade contra sistemas no interior da rede. Ele poderia, no entanto, explorar a vulnerabilidade contra o sistema de gateway.

Como posso saber se preciso do adesivo?
Para o Windows XP, 98 e 98SE, é bastante fácil saber se você precisa do patch:

  • Se você estiver executando o Windows XP, precisará do patch. Todos os sistemas Windows XP são vulneráveis em suas configurações padrão.
  • Se estiver a utilizar o Windows 98 ou Windows 98SE, só precisa do patch se tiver instalado o software cliente para a Partilha de Ligação à Internet.

Para o Windows ME, é um pouco mais difícil. O Windows ME contém um subsistema UPnP, mas por padrão ele não está em execução. No entanto, alguns fabricantes de hardware ativam-no nos seus sistemas pré-configurados. Para determinar se o subsistema UPnP está em execução, siga estes passos:

  1. Clique em Iniciar, Configurações e selecione Painel de Controle.
  2. Selecione Adicionar ou remover programas.
  3. Selecione a guia intitulada Configuração do Windows.
  4. No campo Componentes, selecione Comunicações e, em seguida, Detalhes.
  5. Role para baixo e veja se a caixa à esquerda do Universal Plug and Play está marcada. Se for, precisa do sistema transdérmico; se não for, não tem.

O que faz o sistema transdérmico?
O patch elimina a vulnerabilidade instituindo o tratamento adequado de buffer nas implementações UPnP do Windows XP, Windows ME, Windows 98 e Windows 98SE.

Se eu não conseguir instalar o patch, existe alguma outra maneira de proteger o meu sistema?
Sim. Pode proteger o seu sistema desativando a capacidade UPnP. No entanto, antes de fazer isso, você deve entender que isso afetará como certas funções do sistema operam. Mais notavelmente, desativar o UPnP no Windows XP afetará a operação do recurso de compartilhamento de conexão com a Internet (ICS), que permite que várias máquinas Windows compartilhem uma única conexão através de um sistema Windows XP com a Internet. Se a funcionalidade UPnP estiver desativada, os clientes ICS não conseguirão detetar automaticamente o gateway da Internet e terá de configurar as informações do gateway manualmente em cada sistema cliente. Veja como desativar o recurso UPnP: Windows XP:

  1. Faça logon usando uma conta que tenha privilégios administrativos.
  2. Clique em Iniciar, clique com o botão direito do mouse em Meu computador e selecione Gerenciar.
  3. No painel esquerdo, clique no "+" junto a Serviços e Aplicações e, em seguida, clique em Serviços.
  4. No painel direito, clique com o botão direito do mouse em SSDP Discovery Service e selecione Propriedades.
  5. Na lista suspensa intitulada Tipo de inicialização, selecione Desativado.
  6. Na seção Status do Serviço da caixa de diálogo, clique em Parar.
  7. Clique em OK para sair da caixa de diálogo e feche a janela Gerenciamento do computador.

Windows ME:

  1. Clique em Iniciar, Configurações e selecione Painel de Controle.
  2. Selecione Adicionar ou remover programas.
  3. Selecione a guia intitulada Configuração do Windows.
  4. No campo Componentes, selecione Comunicações e, em seguida, Detalhes.
  5. Desmarque a caixa Universal Plug and Play.
  6. Clique em OK para sair da caixa de diálogo e, em seguida, feche a caixa de diálogo Configuração do Windows.
  7. Reinicie o computador.

Windows 98 ou 98SE:

  1. Clique em Iniciar, Configurações e selecione Painel de Controle.
  2. Selecione Adicionar ou remover programas.
  3. Selecione a guia intitulada Configuração do Windows.
  4. No campo Componentes, selecione Comunicações e, em seguida, Detalhes.
  5. Desmarque a caixa Universal Plug and Play.
  6. Clique em OK para sair da caixa de diálogo e, em seguida, feche a caixa de diálogo Configuração do Windows.
  7. Reinicie o computador.

Nas instruções do Windows XP acima, você disse para desativar o serviço SSDP Discovery, mas eu vejo um serviço chamado "UPnP Device Host". Devo desativar este serviço também?
N.º Apesar do nome, o serviço UPnP Device Host não está relacionado de forma alguma com esta vulnerabilidade, e não há necessidade de desativá-lo. O serviço UPnP Device Host permite que outros serviços no Windows XP se anunciem como se fossem dispositivos UPnP e não está envolvido de forma alguma com a forma como um sistema lida com dispositivos UPnP reais.

Se eu instalar o patch em um sistema Windows XP e, posteriormente, usar esse sistema para instalar o software cliente para compartilhamento de conexão com a Internet em um sistema Windows 98, 98SE ou ME, preciso aplicar o patch a ele?
Há duas maneiras de instalar o cliente de compartilhamento de conexão com a Internet (ICS), e a resposta depende do método escolhido. Uma maneira é criar um disquete do Assistente de Configuração de Rede em um sistema Windows XP e, em seguida, usar o disquete para instalar o cliente ICS em um chamado sistema de nível inferior (ou seja, um executando o Windows 98, 98SE ou ME). Se você usar esse método, e o sistema Windows XP no qual você cria o disquete já tiver o patch, não será necessário corrigir o sistema de nível inferior -- o Assistente de Configuração de Rede instalará uma versão do ICS que já tenha a correção. Por outro lado, se você criar o disquete em um sistema Windows XP não tem o patch, você precisará corrigir o sistema de nível inferior depois de instalar o ICS. (Claro, você também deve corrigir o sistema Windows XP). A outra maneira de instalar o cliente ICS em um sistema de nível inferior é instalá-lo diretamente do CD do Windows XP. Se você usar esse método, precisará instalar o patch no sistema de nível inferior.

Eu tentei instalar o patch no meu sistema Windows 98, mas o patch exibiu uma mensagem dizendo que não foi destinado à minha versão do Windows. O que aconteceu? Eu verifiquei duas vezes que eu instalei a versão do Windows 98 do patch. O patch para Windows 98 e 98SE só será instalado se o cliente ICS estiver presente no sistema, uma vez que esse é o único meio pelo qual um recurso UPnP pode ser adicionado no sistema. A mensagem que você viu significa que o cliente ICS não está presente no sistema e, portanto, o patch não é necessário.

Qual é o âmbito da segunda vulnerabilidade?
A segunda vulnerabilidade é uma vulnerabilidade de ataques de negação de serviço. Ele poderia ser usado de duas maneiras - poderia ser usado em um ataque que envolveria apenas uma única máquina e diminuiria ou interromperia seu desempenho, ou poderia ser usado em um ataque distribuído de negação de serviço, no qual o invasor direcionaria várias máquinas para unir forças contra um computador diferente e o inundaria com dados. Esta vulnerabilidade não poderia ser usada para obter qualquer controle administrativo sobre o sistema - seu único uso seria interferir com os esforços do usuário legítimo para usá-lo.

O que causa a vulnerabilidade?
A vulnerabilidade resulta porque as implementações UPnP no Windows 98, Windows 98SE, Windows ME e Windows XP não aplicam restrições suficientes ao processo que seguem ao transferir uma descrição de dispositivo para um dispositivo compatível com UPnP.

Qual é o processo pelo qual os computadores localizam e baixam descrições de dispositivos?
Quando um computador compatível com UPnP recebe uma diretiva NOTIFIQUE, ele verifica se um aplicativo registrou interesse no tipo de dispositivo que enviou o NOTIFIQUE. Se tiver, o computador consulta a diretiva NOTIFICAR, que contém o endereço da máquina e o número da porta a partir da qual a descrição do dispositivo pode ser baixada. Em seguida, o computador entra em contato com a máquina especificada e solicita a descrição do dispositivo a partir dela.

O que há de errado com a maneira como o subsistema UPnP lida com as descrições dos dispositivos?
Há dois problemas. Primeiro, o subsistema não limita o tamanho das descrições do dispositivo que baixa, nem verifica se os dados que supostamente são uma descrição do dispositivo são realmente válidos. Em segundo lugar, o subsistema não toma as medidas adequadas para garantir que a máquina para a qual foi direcionado é, na verdade, um site de download para descrições de dispositivos.

Qual seria o primeiro problema que um atacante poderia fazer?
O primeiro problema pode permitir que um invasor envie o sistema de um usuário para um site de download falso apenas com o objetivo de diminuir ou parar o sistema do usuário.

Como um atacante realizaria tal ataque?
Há muitas variações que poderiam ser usadas, mas aqui está um cenário bastante simples que ilustra um possível ataque. Suponha que o invasor sabia de um servidor que tinha o serviço Chargen em execução. Chargen é um serviço TCP/IP padrão que simplesmente gera um fluxo de dados sempre que um sistema se conecta a ele, e não é incomum encontrar servidores com Chargen em execução. Claro, se não houvesse um servidor à mão, o invasor poderia configurar um. O invasor pode enviar uma diretiva NOTIFY para o sistema de um usuário, anunciando um novo dispositivo compatível com UPnP e direcionando o sistema para se conectar ao servidor Chargen. O sistema do usuário enviaria uma solicitação de download para o servidor, o que geraria dados aleatórios em resposta à solicitação. O serviço UPnP interpretaria isso como sendo parte da descrição do dispositivo e permitiria que o download continuasse infinitamente, consumindo recursos de processamento e espaço em disco no sistema do usuário.

O ataque faria com que o sistema do usuário parasse completamente?
O efeito do ataque seria altamente dependente das particularidades do cenário, incluindo o poder de processamento relativo e a disponibilidade dos dois sistemas, a largura de banda da rede entre eles e outros fatores. Na melhor das hipóteses, o ataque pode apenas diminuir o desempenho do sistema; Na pior das hipóteses, pode consumir praticamente todos os recursos do sistema, impedindo que qualquer trabalho útil seja feito.

Como o usuário poderia retomar o serviço normal?
O usuário pode restaurar o serviço normal parando e reiniciando o serviço que controla a manipulação de descrições de dispositivos, o SSDP Discovery Service

Qual seria o segundo problema que o atacante poderia fazer?
O segundo problema permitiria um ataque que é essencialmente o inverso do ataque descrito acima. Em vez de visar o sistema de um usuário com o objetivo de retardá-lo, o segundo problema poderia permitir que o invasor fizesse com que vários sistemas compatíveis com UPnP unissem forças em um ataque distribuído de negação de serviço que consumiria todos os recursos em um único sistema de terceiros.

Como funcionaria esse ataque?
Como no caso acima, há muitas maneiras de efetuar um ataque, mas um ataque direto envolveria o envio de comandos NOTIFY para muitos computadores compatíveis com UPnP, direcionando todos eles para entrar em contato com um servidor de terceiros para a descrição do dispositivo. Se máquinas suficientes estivessem envolvidas, o grande volume de solicitações de download poderia potencialmente diminuir o desempenho do servidor de terceiros ou potencialmente infundá-lo completamente.

Qualquer ataque permitiria que o invasor fizesse algo mais do que negar serviço a alguém?
N.º Nenhum desses ataques permitiria que o invasor obtivesse qualquer forma de controle administrativo sobre as máquinas ou comprometesse os dados sobre elas. Ambos poderiam ser usados apenas para ataques de negação de serviço.

Esses ataques, como os da primeira vulnerabilidade, poderiam ser iniciados via unicast, multicast e broadcast?
Sim. Como na vulnerabilidade discutida acima, os ataques aqui podem ser iniciados por meio de diretivas NOTIFY unicast, multicast ou broadcast. Todos os mesmos prós e contras se aplicariam neste caso: um invasor poderia usar mensagens unicast para obter maior alcance, mas ao custo de precisar saber o endereço IP da máquina de destino; ou poderia usar mensagens multicast ou broadcast para atacar várias máquinas sem precisar saber seus endereços IP, ao custo de limitar o ataque a máquinas no mesmo segmento de rede que o invasor.

Como é que o adesivo previne o primeiro problema?
O patch evita o primeiro problema, limitando os dados que serão aceitos como uma descrição do dispositivo. O patch estabelece um tamanho máximo de descrições de dispositivos; se a descrição de um dispositivo exceder esse tamanho, o subsistema UPnP interromperá o download. Isso também faz com que o subsistema verifique os dados à medida que eles estão chegando e interrompa o download se os dados não forem válidos para uma descrição do dispositivo.

Como é que o adesivo previne o segundo problema?
O patch elimina o segundo problema, limitando onde o subsistema UPnP procurará descrições de dispositivos. O patch faz com que ele verifique o local fornecido em uma mensagem NOTIFY para uma descrição do dispositivo e só prossiga com o download se esse local passar em vários testes. O subsistema UPnP verifica o local de download antes de tentar baixar uma descrição do dispositivo. Por padrão, um sistema corrigido só baixará uma descrição de dispositivo localizada em um computador na mesma sub-rede ou intervalo de endereços privados. O subsistema também verifica quantos saltos de roteador são necessários para chegar ao local e só prossegue se esse número for suficientemente pequeno. Por padrão, um sistema corrigido só baixará uma descrição do dispositivo se a máquina que o hospeda estiver localizada a quatro ou menos saltos de distância. Ambas as configurações são configuráveis, conforme discutido no artigo Q315056 da Base de Dados de Conhecimento Microsoft. Além disso, o patch introduz um mecanismo de atraso para facilitar o uso da rede. Os sistemas corrigidos baixarão as descrições dos dispositivos em taxas diferentes, dependendo da distância do local do download. Os locais de download que estão em rede pública, como a Internet, são baixados mais lentamente, a fim de limitar as demandas colocadas sobre eles. Da mesma forma, cada vez que um sistema encontra erros ao baixar uma descrição do dispositivo, ele aumenta o tempo de espera antes de tentar novamente.

Se não conseguir instalar o patch, posso proteger-me contra esta vulnerabilidade desativando o suporte UPnP?
Sim. As instruções para desativar o suporte UPnP são fornecidas acima.

Disponibilidade do patch

Locais de download para este patch

Informações adicionais sobre este patch

Plataformas de instalação:

  • O patch para Windows 98 e 98SE pode ser instalado em qualquer sistema Windows 98 ou 98SE no qual o cliente Windows XP Internet Connection Sharing foi instalado.
  • O patch para Windows ME pode ser instalado em sistemas que executam o Windows ME Gold.
  • O patch para o Windows XP pode ser instalado em sistemas que executam o Windows XP Gold.

Inclusão em service packs futuros:

  • Nenhum service pack futuro está planejado para Windows 98, 98SE ou ME.
  • A correção para esse problema será incluída no Windows XP Service Pack 1.

Reinicialização necessária: Sim

Patches substituídos:MS01-054

Verificando a instalação do patch:

Windows 98 e 98SE:

  • Para verificar se o patch foi instalado na máquina, selecione Iniciar, Executar e execute o utilitário QFECheck. Se o patch estiver instalado, "Windows 98 Q314941 Update" será listado entre os patches instalados.
  • Para verificar os arquivos individuais, use o manifesto de arquivo fornecido no artigo Q314941 da Base de Dados de Conhecimento.

Windows ME:

  • Para verificar se o patch foi instalado na máquina, selecione Iniciar, Executar e execute o utilitário QFECheck. Se o patch estiver instalado, "Windows Millennium Edition Q314757 Update" será listado entre os patches instalados.
  • Para verificar os arquivos individuais, use o manifesto de arquivo fornecido no artigo Q314757 da Base de Dados de Conhecimento.

Windows XP:

  • Para verificar se o patch foi instalado na máquina, confirme se a seguinte chave do Registro foi criada na máquina:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP1\Q315000.
  • Para verificar os arquivos individuais, use as informações de data/hora e versão fornecidas na seguinte chave do Registro:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP1\Q315000\Filelist.

Advertências:

Nenhuma

Localização:

Versões localizadas deste patch estão em desenvolvimento. Quando concluídos, estarão disponíveis nos locais discutidos em "Obtendo outros patches de segurança".

Obtenção de outros patches de segurança:

Patches para outros problemas de segurança estão disponíveis nos seguintes locais:

  • Os patches de segurança estão disponíveis no Centro de Download da Microsoft e podem ser encontrados mais facilmente fazendo uma pesquisa de palavra-chave para "security_patch".
  • Os patches para plataformas de consumo estão disponíveis no site WindowsUpdate .

Informações suplementares:

Agradecimentos

A Microsoft agradece à eEye Digital Security (https://www.eeye.com) por nos comunicar este problema e trabalhar connosco para proteger os clientes.

Suporte:

  • Os artigos Q314757, Q314941, Q315000 e Q315056 da Base de Dados de Conhecimento Microsoft discutem esse problema e estarão disponíveis aproximadamente 24 horas após o lançamento deste boletim. Os artigos da Base de Dados de Conhecimento podem ser encontrados no site de Suporte Online da Microsoft.
  • O suporte técnico está disponível no Atendimento Microsoft. Não há cobrança para chamadas de suporte associadas a patches de segurança.

Recursos de segurança: O site Microsoft TechNet Security fornece informações adicionais sobre segurança em produtos Microsoft.

Exclusão de responsabilidade:

As informações fornecidas na Base de Dados de Conhecimento Microsoft são fornecidas "no estado em que se encontram", sem garantia de qualquer tipo. A Microsoft se isenta de todas as garantias, expressas ou implícitas, incluindo as garantias de comercialização e adequação a uma finalidade específica. Em nenhuma circunstância a Microsoft Corporation ou seus fornecedores serão responsáveis por quaisquer danos, incluindo danos diretos, indiretos, incidentais, consequenciais, perda de lucros comerciais ou danos especiais, mesmo que a Microsoft Corporation ou seus fornecedores tenham sido avisados da possibilidade de tais danos. Alguns estados não permitem a exclusão ou limitação de responsabilidade por danos consequenciais ou incidentais, portanto, a limitação acima pode não se aplicar.

Revisões:

  • V1.0 (20 de dezembro de 2001): Boletim criado.
  • V1.1 (26 de dezembro de 2001): Detalhes adicionais adicionados sobre como o patch elimina os cenários de negação de serviço.
  • V1.2 (31 de dezembro de 2001): Boletim atualizado para fornecer fatores atenuantes adicionais (o ICF é eficaz contra ataques unicast e o ICS protege máquinas no interior de redes domésticas) e para fornecer informações sobre a desativação do suporte a UPnP.
  • V1.3 (09 de maio de 2003): Links de download atualizados para o Windows Update.

Construído em 2014-04-18T13:49:36Z-07:00