Pesquisa rápida 
 

 


 

 

 


BOLETINS DE SEGURANÇA

 

Microsoft Security Bulletin MS03-026

Saturação de buffer na interface RPC pode levar à execução de códigos (823980)

Resumo:

Quem deve ler este boletim:Usuários que executam o Microsoft ® Windows ®

Impacto da vulnerabilidade:Execução de códigos escolhidos pelo invasor

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

Recomendação:Os administradores de sistemas devem aplicar o patch imediatamente

Software afetado:

Microsoft Windows NT 4.0
Microsoft Windows NT 4.0 Terminal Services Edition
Microsoft Windows 2000
Microsoft Windows XP
Microsoft Windows Server 2003

Software não afetado:

Microsoft Windows Millennium Edition


Detalhes técnicos Descrição técnica:

O RPC (Chamada de procedimento remoto) é um protocolo utilizado pelo sistema operacional Windows. O RPC fornece um mecanismo de comunicação entre processos que permite que um programa de um computador execute, de forma transparente, 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 utilizando TCP/IP. A falha resulta da manipulação incorreta de mensagens malformadas. Esta vulnerabilidade em particular afeta uma interface DCOM (Distributed Component Object Model) com RPC, que escuta na porta 135 TCP/IP. Essa interface controla as solicitações de ativação do objeto DCOM enviadas pelas máquinas clientes (como caminhos UNC (Convenção de nomenclatura universal)) para o servidor. Um invasor que explora com sucesso esta vulnerabilidade pode executar código com os privilégios da conta de sistema local no sistema afetado. O invasor poderá executar qualquer ação no sistema, incluindo instalar programas, visualizar, alterar e apagar dados ou criar novas contas com total privilégio.

Para explorar essa vulnerabilidade, um invasor precisa enviar uma solicitação criada especialmente para o computador remoto na porta 135.

Fatores atenuantes:

Para explorar essa vulnerabilidade, o invasor requer a capacidade de enviar uma solicitação criada especialmente para a porta 135 na máquina remota. Para ambientes intranet, essa porta normalmente está acessível, mas para máquinas conectadas à Internet, a porta 135 normalmente está bloqueada por um firewall. No caso de essa porta não estar bloqueada ou em uma configuração de intranet, o invasor não requer nenhum privilégio adicional.

As práticas recomendadas sugerem bloquear todas as portas TCP/IP que não estejam sendo usadas no momento. Por esse motivo, a maioria das máquinas conectadas à Internet deve estar com a porta 135 bloqueada. O RPC sobre TCP não é projetado para uso em ambientes hostis como a Internet. Protocolos mais robustos como RPC sobre HTTP são fornecidos para ambientes hostis.

Para saber mais sobre como proteger o RPC para o cliente e o servidor, consulte http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rpc/rpc/writing_a_secure_rpc_client_or_server.asp (site em inglês).

Para saber mais sobre as portas usadas pelo RPC, consulte: http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/tcpip/part4/tcpappc.asp (site em inglês)

Classificação de gravidade:

Windows NT 4.0
Crítica
Windows NT 4.0 Terminal Server Edition
Crítica
Windows 2000
Crítica
Windows XP
Crítica
Windows Server 2003
Crítica

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.

Identificadores da vulnerabilidade: CAN-2003-0352

Versões testadas:

A Microsoft testou o Windows 98, Windows 98 Second Edition, Windows Me, Windows NT 4.0, Windows NT 4.0 Terminal Services Edition, Windows 2000, Windows XP e Windows Server 2003, para avaliar se eles são afetados por essa vulnerabilidade. Não há mais suporte (site em inglês) para as versões anteriores e elas podem ou não ser afetadas por essas vulnerabilidades.

Perguntas freqüentes

Qual é o escopo da vulnerabilidade?


Essa vulnerabilidade é do tipo saturação de buffer (site em inglês). Um invasor que explora com sucesso essa vulnerabilidade pode obter controle completo sobre um computador remoto. Isso daria ao invasor a capacidade de executar qualquer ação no servidor, inclusive alterar páginas da Web, reformatar o disco rígido ou adicionar novos usuários ao grupo Administradores local.

Para executar tal ataque, um invasor precisa da capacidade para enviar uma mensagem malformada para o serviço RPC e, por esse serviço, fazer com que a máquina de destino falhe de forma que o código arbitrário possa ser executado.

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.

O que provoca a vulnerabilidade?

A vulnerabilidade existe porque o serviço Windows RPC não verifica adequadamente as entradas de mensagens sob determinadas circunstâncias. Se um invasor enviar um determinado tipo de mensagem RPC malformada depois que o RPC tiver estabelecido uma conexão, isso poderá fazer com que uma interface (DCOM (Distributed Component Object Model) subjacente com o RPC na máquina remota falhe de forma que esse código arbitrário possa ser executado.

O que é DCOM?

DCOM (Distributed Component Object Model) é um protocolo que permite que os componentes do software se comuniquem diretamente em uma rede. Anteriormente chamado de "OLE de rede", o DCOM foi projetado para ser usado por diversos transportes de rede, incluindo protocolos de Internet como HTTP.

Mais informações sobre o DCOM podem ser encontradas no seguinte site: http://www.microsoft.com/com/tech/dcom.asp (site em inglês)

O que é RPC (Chamada de procedimento remoto)?

O RPC (Chamada de procedimento remoto) é um protocolo que um programa pode usar para solicitar um serviço de um programa localizado em outro computador em uma rede. O RPC auxilia na interoperabilidade, pois o programa que usa RPC não precisa compreender os protocolos de rede que estão oferecendo suporte à comunicação. No RPC, o programa que faz a solicitação é o cliente e o programa fornecedor de serviços é o servidor.

O que há de errado com a implementação da Microsoft do RPC (Chamada de procedimento remoto)?

Há uma falha em uma parte do RPC que lida com a transferência de mensagens por TCP/IP. Uma falha resulta da manipulação incorreta de mensagens malformadas. Essa falha em particular afeta a interface DCOM subjacente, que escuta na porta 135 TCP/IP. Enviando uma mensagem RPC malformada, um invasor faz com que o serviço RPC em uma máquina falhe de forma que esse código arbitrário possa ser executado.

Isso é uma falha no RPC Endpoint Mapper?

Não - Embora o RPC endpoint mapper escute na porta 135 TCP, a falha na verdade ocorre em uma interface DCOM de nível inferior dentro do processo RPC. O RPC endpoint mapper permite que clientes RPC determinem o número da porta atribuída atualmente a um determinado serviço RPC. Um ponto de extremidade é uma porta de protocolo ou pipe nomeado em que o aplicativo do servidor escuta chamadas de procedimento remoto do cliente. Aplicativos cliente/servidor podem usar portas conhecidas ou dinâmicas.


O boletim de segurança MS03-010também envolveu o RPC mas não solucionou a vulnerabilidade no Windows NT 4.0. Como vocês conseguiram corrigir a vulnerabilidade no Windows NT 4.0 neste caso ?

A falha neste caso ocorreu em uma interface de nível inferior dentro do processo RPC e não em toda a implementação do RPC ou do Endpoint Mapper em si. Por este motivo, foi possível corrigir a vulnerabilidade no Windows NT 4.0 sem a necessidade de redesenhar partes significantes do sistema operacional, como seria necessário no patch do boletim MS03-010.

Uma área de trabalho é um objeto de recipiente contido em uma estação Windows. Pode haver muitas áreas de trabalho contidas em uma estação Windows.
Uma área de trabalho tem uma superfície de exibição lógica e contém janelas, menus e ganchos. Apenas as áreas de trabalho da estação Windows interativa podem estar visíveis e receber entrada do usuário. Na estação Windows interativa, apenas uma área de trabalho por vez é ativa. Esta área de trabalho ativa, também conhecida como área de trabalho interativa ou área de trabalho de entrada, é aquela que está visível no momento para o usuário e que recebe a entrada do usuário.

O que o invasor pode fazer em decorrência da vulnerabilidade?

Um invasor que explora com sucesso essa vulnerabilidade pode executar o código com privilégios da conta de sistema local (LocalSystem) em um sistema afetado. O invasor pode executar qualquer ação no sistema, incluindo a instalação de programas, a visualização de dados alterados ou excluídos ou a criação de novas contas com privilégios totais.

De que forma o invasor pode explorar a vulnerabilidade?

Um invasor pode tentar explorar essa vulnerabilidade programando uma máquina que pode se comunicar com um servidor vulnerável pela porta 135 TCP para enviar um tipo específico de mensagem RPC malformada. O recebimento de tal mensagem pode fazer com que o serviço RPC na máquina vulnerável falhe de tal forma que possa executar o código arbitrário.

Quem poderia explorar essa vulnerabilidade?

Qualquer usuário que puder enviar uma solicitação TCP para a porta 135 a um computador afetado poderá tentar explorar a vulnerabilidade. Como as solicitações RPC estão, por padrão, em todas as versões do Windows, isso na verdade significa que qualquer usuário que puder estabelecer uma conexão com um computador afetado poderá tentar explorar a vulnerabilidade.

Também é possível acessar o componente afetado por outro vetor, como um que implique efetuar logon no sistema de maneira interativa ou usando outro aplicativo semelhante que transmita parâmetros para o componente vulnerável tanto local quanto remotamente.


O que o patch faz?

O patch corrige a vulnerabilidade alterando a interface DCOM para verificar adequadamente as informações transmitidas a ela.


Soluções Temporárias

Há soluções temporárias que possam ser usadas para bloquear a exploração dessa vulnerabilidade enquanto estou testando ou avaliando o patch?

Sim. Apesar da Microsoft insistir para que todos os clientes apliquem o patch o mais rápido possível, há algumas soluções temporárias que podem ser aplicadas para ajudar a evitar que o vetor seja usado para explorar essa vulnerabilidade.

Devemos observar que essas soluções devem ser consideradas medidas temporárias, pois simplesmente ajudam a bloquear os caminhos do ataque, em vez de corrigir a vulnerabilidade subjacente.

As seções a seguir destinam-se a fornecer informações sobre como ajudar a proteger seu computador contra ataque. Cada seção descreve as soluções temporárias que você poderá usar, dependendo da configuração do computador.

Cada seção descreve as soluções temporárias disponíveis dependendo do nível exigido de funcionalidade.


Bloquear a porta 135 no firewall.

A porta 135 é usada para iniciar uma conexão RPC com um computador remoto. O bloqueio da porta 135 no firewall ajudará a impedir que sistemas atrás do firewall sejam atacados por tentativas de explorar essa vulnerabilidade.

Firewall de conexão com a Internet.

Se estiver usando o Firewall de conexão com a Internet no Windows XP ou no Windows Server 2003 para proteger sua conexão com a Internet, ele bloqueará, por padrão, o tráfego RPC de entrada da Internet.

Desabilitar DCOM em todas as máquinas afetadas

Quando um computador faz parte de uma rede, o protocolo físico DCOM habilita os objetos COM naquele computador para se comunicarem com os objetos COM em outros computadores. Você pode desabilitar o DCOM para um determinado computador para ajudar a proteger contra essa vulnerabilidade, mas isso também desabilitará toda a comunicação entre os objetos naquele computador e objetos em outros computadores.

Se você desabilitar o DCOM em um computador remoto, não poderá acessar remotamente esse computador após a reabilitação do DCOM. Para reabilitá-lo, será necessário ter acesso físico àquele computador.

Para habilitar manualmente (ou desabilitar) o DCOM de um computador:

1. Execute Dcomcnfg.exe.

Clique no nó Serviços de Componente em Raiz do Console.

Abra a subpasta Computadores.

Para o computador local, clique com o botão direito do mouse em Meu Computador e escolha Propriedades.

Para o computador remoto, clique com o botão direito do mouse na pasta Computadores e escolha Novo, em seguida, Computador. Digite o nome do computador. Clique com o botão direito do mouse no nome do computador e escolha Propriedades.

2. Escolha a guia Propriedades Padrão.

3. Marque (ou desmarque) a caixa de seleção Habilitar COM Distribuída neste Computador.

4. Se você estiver definindo mais propriedades para a máquina, clique no botão Aplicar para habilitar (ou desabilitar) DCOM. Caso contrário, clique em OK para aplicar as alterações e saia do Dcomcnfg.exe.

Disponibilidade do patch

Locais de download deste patch

Windows NT 4.0 Server

Windows NT 4.0 Terminal Server Edition

Windows 2000

Windows XP Edição de 32 bits

Windows XP Edição de 64 bits

Windows Server 2003 Edição de 32 bits

Windows Server 2003 Edição de 64 bits

Informações adicionais sobre esse patch

Plataformas de instalação:

O patch do Windows NT 4.0 pode ser instalado em sistemas que executem o Service Pack 6a.

O patch do Windows NT 4.0, Terminal Server Edition pode ser instalado em sistemas que executem o Windows NT 4.0, Terminal Server Edition Service Pack 6.

O patch do Windows 2000 pode ser instalado em sistemas que executem o Windows 2000 Service Pack 3 ou Service Pack 4.

O patch do Windows XP pode ser instalado em sistemas que executem o Windows XP Gold ou Service Pack 1.

O patch do Windows Server 2003 pode ser instalado em sistemas que executem o Windows Server 2003 Gold.

Inclusão em service packs futuros:

A correção deste problema será incluída no Windows 2000 Service Pack 5, Windows XP Service Pack 2 e Windows Server 2003 Service Pack 1.

Necessário reinicializar: Sim

O patch pode ser desinstalado: Sim.

Patches substituídos: Nenhum.

Verificando a instalação do patch:

Windows NT 4.0:

Para verificar se o patch foi instalado na máquina, confirme se todos os arquivos listados no artigo 823980 do Knowledge Base estão presentes no sistema.

Windows NT 4.0 Terminal Server Edition:

Para verificar se o patch foi instalado na máquina, confirme se todos os arquivos listados no artigo 823980 do Knowledge Base estão presentes no sistema.

Windows 2000:

Para verificar se o patch foi instalado na máquina, verifique se a seguinte chave de Registro foi criada na máquina:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB823980. Para verificar os arquivos individuais, use as informações de data/hora e versão fornecidas no artigo 823980 do Knowledge Base.

Windows XP:

Para verificar se o patch foi instalado na máquina, verifique se a seguinte chave de Registro foi criada na máquina:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Windows XP\SP2\KB823980.

Para verificar os arquivos individuais, use as informações de data/hora e versão fornecidas no artigo 823980 do Knowledge Base.

Windows Server 2003:

Para verificar se o patch foi instalado na máquina, verifique se a seguinte chave de Registro foi criada na máquina:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\Window Server 2003\SP1\KB823980.

Para verificar os arquivos individuais, use as informações de data/hora e versão fornecidas no artigo 823980 do Knowledge Base.

Advertências:

Nenhuma

Localização:

Versões localizadas desse patch estão disponíveis nos locais indicados na seção “Disponibilidade do patch” deste boletim.

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 "security_patch".

Patches de plataformas do cliente estão disponíveis no site do Windows Update.

Outras informações:

Suporte:

O artigo 823980 do Microsoft Knowledge Base que analisa esse problema 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 (site em inglês). As ligações para obter suporte, associadas a patches de segurança, são gratuitas.

Recursos de segurança:

O site Microsoft TechNet Security(em inglês) fornece 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 (16 de julho de 2003): Data de criação do boletim.

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