Pesquisa rápida 
 

 


 

 

 

BOLETINS DE SEGURANÇA

 

Microsoft Security Bulletin MS03-010

Flaw in RPC Endpoint Mapper Could Allow Denial of Service Attacks (331593)


 

Resumo:

Quem deve ler este boletim: Clientes que utilizam o Windows NT 4.0, Windows 2000 ou Windows XP

Impacto da vulnerabilidade: Negação de serviços

Classificação máxima de gravidade: Importante

Recomendação:
Instalar o patch o mais rápido possível.

Software afetado:

  • Microsoft Windows NT 4.0
  • Microsoft Windows 2000
  • Microsoft Windows XP


Descrição Técnica:


O RPC (Remote Procedure Call) (site em inglês) é um protocolo usado pelo sistema operacional Windows. O RPC fornece um mecanismo de comunicação entre processos que permite que um programa de um computador execute sem diferenças códigos em um sistema remoto. O próprio protocolo é derivado do protocolo RPC da OSF (Open Software Foundation), porém com a inclusão de algumas extensões específicas da Microsoft.

Há uma vulnerabilidade na parte do RPC que lida com a transferência de mensagens por TCP/IP. A falha resulta da manipulação incorreta de mensagens malformadas. Esse ataque em particular tem como destino o processo mapeador de pontos de extremidade do RPC, que escuta na porta 135. O mapeador de pontos de extremidade do RPC permite que clientes RPC determinem o número da porta atribuída no momento a um determinado serviço RPC.

Para explorar essa vulnerabilidade, o invasor precisa estabelecer uma conexão TCP/IP com o processo de destino em uma máquina remota. Depois de estabelecida a conexão, o invasor inicia a negociação da conexão RPC antes de transmitir uma mensagem malformada. Nesse ponto, o processo na máquina remota falha. Esse processo é responsável por manter as informações de conexão de todos os processos naquela máquina usando RPC. Como o mapeador de pontos de extremidade é executado dentro do próprio serviço RPC, explorar essa vulnerabilidade fará o próprio serviço RPC falhar, com a conseqüente perda de qualquer serviço baseado em RPC que o servidor ofereça, assim como uma perda em potencial de algumas funções COM. .

Fatores atenuantes:

  • Para fazer esse tipo de ataque, o invasor precisa poder se conectar ao mapeador de pontos de extremidade em execução na máquina de destino. Para ambientes intranet, esse geralmente é o caso, mas para máquinas conectadas à Internet, a porta usada pelo mapeador de pontos de extremidade é normalmente bloqueada por firewalls. No caso dela não ser bloqueada, ou no caso da intranet, o invasor não precisa de nenhum privilégio adicional.
  • A prática recomendada é sempre bloquear todas as portas TCP/IP que não estejam sendo usadas no momento. Sendo assim, a maioria das máquinas conectadas à Internet deveria estar com a porta 135 bloqueada. O RPC por TCP não é projetado para uso em ambientes hostis como a Internet. O RPC fornece protocolos mais robustos para esses tipos de ambientes, como RPC por HTTP. Para saber mais sobre como proteger RPC para o cliente e o servidor, consulte este artigo (site em inglês). Para saber mais sobre portas, consulte (site em inglês)
  • Essa vulnerabilidade somente permite um ataque do tipo negação de serviço e não permite ao invasor a capacidade de modificar ou recuperar dados na máquina remota.
  • Um servidor RPC interno por trás de um ISA está protegido desse ataque.

Classificação de gravidade:

Microsoft Windows NT 4.0

Importante

Microsoft Windows 2000 Server

Importante

Microsoft Windows 2000 Professional

Importante

Microsoft Windows XP

Importante

A avaliação (site em inglês) acima baseia-se nos tipos de sistemas afetados pela vulnerabilidade, seus padrões comuns de implantação e o efeito da exploração da vulnerabilidade sobre eles.

Identificador de Vunerabilidade CAN-2002-1561 (site em inglês)

Versões testadas:


A Microsoft testou o Windows NT, Windows 2000 e o Windows XP para avaliar se eles são afetados por essa vulnerabilidade.  Não há mais suporte para as versões anteriores e elas podem ou não ser afetadas por essa vulnerabilidade.

Perguntas freqüentes

1. Qual é o escopo da vulnerabilidade?

Essa é uma vulnerabilidade de negação de serviço (site em inglês).  Um invasor que explore essa vulnerabilidade com sucesso poderá causar falhas em um computador remoto.  Porém, o invasor não poderá modificar nem recuperar dados na máquina remota.

Para executar essa negação de serviço, um invasor deve ser capaz de estabelecer uma conexão TCP/IP com o mapeador de pontos de extremidade em execução na máquina de destino.  O invasor pode criar um site que reúna endereços IP das máquinas de destino e então fazer um ataque contra essas máquinas.  Assim que a conexão TCP for estabelecida, o invasor poderá enviar uma mensagem malformada para o serviço RPC e assim causar uma falha na máquina de destino.

A melhor defesa contra ataques de RPC remotos pela Internet é configurar o firewall para bloquear a porta 135. Não é aconselhável usar RPC por TCP em ambientes hostis como a Internet.  Além disso, um invasor não é capaz de recuperar nenhum dado nem executar códigos na máquina de destino. 

2. O que provoca a vulnerabilidade?

A vulnerabilidade ocorre porque o mapeador de pontos de extremidade do RPC da Microsoft não verifica corretamente entradas de mensagens após o RPC estabelecer uma conexão que cause falhas no processo na máquina remota. Esse processo é responsável por manter as informações de conexão de todos os processos naquela máquina usando RPC. Como o mapeador de pontos de extremidade é executado dentro do próprio serviço RPC, explorar essa vulnerabilidade fará o próprio serviço RPC falhar, com a conseqüente perda de qualquer serviço baseado em RPC que o servidor ofereça, assim como uma perda em potencial de algumas funções COM.

3. O que é RPC (Remote Procedure Call)?

O RPC (Remote Procedure Call) (site em inglês) é um protocolo que pode ser utilizado por um programa para solicitar um serviço de um programa localizado em outro computador de uma rede.  O RPC auxilia na interoperabilidade, pois o programa que usa RPC não precisa compreender os detalhes da rede.  O programa que faz a solicitação é o cliente e o programa fornecedor de serviços é o servidor.

4. O que é um mapeador de pontos de extremidades do RPC?

O mapeador de pontos de extremidade do RPC permite que clientes RPC determinem o número da porta atribuída no momento a um determinado serviço RPC.  Um ponto de extremidade é uma porta de hardware ou pipe nomeado em que o aplicativo do servidor escuta chamadas de procedimento remoto do cliente. Aplicativos cliente/servidor podem usar aplicativos conhecidos ou dinâmicos.

5. O que há de errado com a implementação da Microsoft do RPC?

Há uma falha na parte do RPC que lida com a transferência de mensagens por TCP/IP. A falha resulta da manipulação incorreta de mensagens malformadas. Esse ataque em particular tem como destino o processo mapeador de pontos de extremidade do RPC, que escuta na porta 135. O mapeador de pontos de extremidade do RPC permite que clientes RPC determinem o número da porta atribuída no momento a um determinado serviço RPC.  Ao enviar uma mensagem RPC malformada, um invasor pode causar uma falha numa máquina.

6. O que o invasor pode fazer em decorrência da vulnerabilidade?
Essa vulnerabilidade pode permitir que um invasor faça um ataque de negação de serviço pela Internet ou dentro de um ambiente intranet.  Mesmo sendo capaz de causar falhas em máquinas, um invasor não é capaz de recuperar dados nem executar códigos.

7. De que forma o invasor pode explorar a vulnerabilidade?

Um invasor pode explorar essa vulnerabilidade remotamente, configurando uma página da Web e coletando endereços IP das máquinas, tentando então executar um ataque nessas máquinas.  Para fazer esses ataque pela Internet, a porta 135 precisa estar aberta e o serviço RPC ativo nas máquinas de destino.

8. O que o patch faz?

O patch elimina a vulnerabilidade verificando as mensagens afetadas que são recebidas por conexões TCP/IP. Basicamente, isso permite ao RPC rejeitar mensagens malformadas.

Disponibilidade do patch

Locais de download deste patch


Os patches de todos os sistemas Windows estão disponíveis através do Windows Update ou podem ser aplicados manualmente através dos seguintes patches:

Informações adicionais sobre este patch
Plataformas de instalação:

Este patch pode ser instalado nos seguintes sistemas:

  • O patch para o Windows 2000 pode ser instalado em sistemas que executam Windows 2000 Service Pack 2 (site em inglês) ou Service Pack 3 (site em inglês)
  • O patch para o Windows XP pode ser instalado em sistemas que executam o Windows XP Gold ou Service Pack 1 (site em inglês)

Inclusão em service packs futuros:
A correção deste problema será incluída no Windows 2000 Service Pack 4 e Windows XP Service Pack 2.

Necessário reinicializar: Sim
O patch pode ser desinstalado:
Sim.
Patches substituídos:
Nenhum.

Verificando a instalação do patch:

Windows 2000:

  • Para verificar se o patch foi instalado na máquina, verifique se a seguinte chave do Registro foi criada na máquina: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP4\Q331593

  • 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 2000\SP4\Q331593\Filelist

    Windows XP:

    Se instalado no Windows XP Gold:
  • Para verificar se o patch foi instalado, verifique se a seguinte chave do Registro foi criada no computador: HKLM\Software\Microsoft\Updates\Windows XP\SP1\ Q331593

  • Para verificar os arquivos individuais, use as informações de data/hora e versão fornecidas na seguinte chave do Registro. HKLM\Software\Microsoft\Updates\Windows XP\SP1\ Q331593\Filelist

    Se instalado no Windows XP Service Pack 1:

  • Para verificar se o patch foi instalado, verifique se a seguinte chave do Registro foi criada no computador: HKLM\Software\Microsoft\Updates\Windows XP\SP2\ Q331953

  • Para verificar os arquivos individuais, use as informações de data/hora e versão fornecidas na seguinte chave do Registro. HKLM\Software\Microsoft\Updates\Windows XP\SP2\ Q331953\Filelist

Advertências:
A Microsoft testou o Windows NT 4.0 e o Windows NT 4.0 Terminal Server Edition.  Essas plataformas são vulneráveis a um ataque de negação de serviço, porém, devido a limitações no compilador, os clientes são encorajados a usar as seguintes diretrizes:

  • Bloqueie a porta 135 no firewall.
  • Examine aplicativos que usem RPC e implemente RPC seguro (site em inglês).
  • Para aplicativos que usam RPC pela Internet, implemente RPC por HTTP.
  • Clientes que usem o Microsoft ISA Server devem posicionar seus servidores RPC atrás de um firewall ISA.

Os clientes podem obter mais informações em http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rpc/rpc/best_rpc_programming_practices.asp (site em inglês)

Localização:
Versões localizadas deste patch estão disponíveis nos locais indicados em “Disponibilidade do patch”.

Obtendo outros patches de segurança:
Os patches de outros problemas de segurança estão disponíveis nos seguintes locais:

  • Os patches de segurança estão disponíveis no Microsoft Download Center e podem ser encontrados com facilidade através de uma pesquisa de palavras-chave usando-se "patch_de_segurança".
  • Patches de plataformas do cliente estão disponíveis no site do Windows Update
    Outras informações:

Outras informações:

Agradecimentos:

A Microsoft agradece a
jussi jaakonaho por relatar esse problema e trabalhar conosco para proteger os clientes.

Suporte:

  • O artigo 814078 do Microsoft Knowledge Base analisa esse problema e estará disponível em aproximadamente 24 horas após a publicação deste boletim. Os artigos do Knowledge Base são encontrados no site de Suporte online da Microsoft.
  • O suporte técnico está disponível no site de Serviços de suporte ao produto da Microsoft 
  • As ligações associadas a patches de segurança são gratuitas.

Recursos de segurança:

O site Microsoft TechNet Security 
of
erece informações adicionais sobre segurança em produtos da Microsoft.

Aviso de isenção de responsabilidade:

As informações fornecidas no Microsoft Knowledge Base são fornecidas "como estão", 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 um propósito específico. Em hipótese alguma a Microsoft Corporation ou seus fornecedores serão responsáveis por quaisquer danos, inclusive danos diretos, indiretos, incidentais, conseqüenciais, danos por lucros cessantes ou danos especiais, mesmo que a Microsoft Corporation ou seus fornecedores tenham sido alertados da possibilidade dos referidos danos. Como alguns estados não permitem a exclusão ou limitação de responsabilidade por danos conseqüenciais ou indiretos, a limitação acima pode não ser aplicável a você.

Revisões:
  • V1.0 (26 Março, 2003): Boletim publicado.

 

Fale Conosco | Imprima esta página | Adicione aos Favoritos
©2004 Microsoft Corporation. Todos os direitos reservados. Nota Legal | Política de Privacidade