[SECURITY-L] CERT Advisory CA-2002-27 Apache/mod_ssl Worm
Daniela Regina Barbetti Silva
daniela em ccuec.unicamp.br
Seg Set 16 09:55:36 -03 2002
----- Forwarded message from NIC BR Security Office <nbso em nic.br> -----
From: NIC BR Security Office <nbso em nic.br>
Subject: [S] CERT Advisory CA-2002-27 Apache/mod_ssl Worm
To: seguranca em pangeia.com.br
Date: Sat, 14 Sep 2002 22:22:54 -0300 (BRT)
-----BEGIN PGP SIGNED MESSAGE-----
_________________________________________________________________________
NBSO - NIC BR Security Office
CG-I.br - Comitê Gestor da Internet no Brasil
Chave PGP: http://www.nbso.nic.br/pgp/nbso@nic.br.asc
Tradução dos Advisories do CERT/CC, com permissão especial do Software
Engineering Institute (SEI).
_________________________________________________________________________
CERT Advisory CA-2002-27 Apache/mod_ssl Worm
Data original de lançamento: 14 de setembro de 2002
Última Revisão: --
Origem: CERT/CC
Um histórico completo das revisões pode ser encontrado ao final deste
documento.
Sistemas Afetados
* Sistemas Linux que possuam Apache com mod_ssl, utilizando OpenSSL
0.9.6d ou anterior com SSLv2 habilitado, em arquiteturas Intel
x86.
Resumo
O CERT/CC recebeu notificações de um código malicioso que se
auto-propaga e que explora a vulnerabilidade (VU#102795) no OpenSSL.
Este código malicioso tem sido referenciado como "Apache/mod_ssl
worm", "linux.slapper.worm" e "bugtraq.c worm".
I. Descrição
O "Apache/mod_ssl worm" é um código malicioso que se auto-propaga e
que explora a vulnerabilidade no OpenSSL descrita no documento
VU#102795.
http://www.kb.cert.org/vuls/id/102795
Esta vulnerabilidade estava entre os tópicos discutidos no Advisory
CA-2002-23 "Múltiplas Vulnerabilidades no OpenSSL".
http://www.cert.org/advisories/CA-2002-23.html
Nota do Tradutor: a versão traduzida do Advisory CA-2002-23 está
disponível em:
http://www.nbso.nic.br/certcc/advisories/CA-2002-23-br.html
Embora esta vulnerabilidade do servidor OpenSSL exista em uma grande
variedade de plataformas, o "Apache/mod_ssl worm" aparentemente
funciona somente em sistemas Linux que possuem Apache com o módulo
OpenSSL (mod_ssl) em arquiteturas Intel.
O "Apache/mod_ssl worm" faz uma varredura, na porta 80/tcp, por
sistemas potencialmente vulneráveis, utilizando uma requisição HTTP
GET inválida:
GET /mod_ssl:error:HTTP-request HTTP/1.0
Quando um sistema Apache é detectado, o worm tenta enviar o exploit
para o serviço SSL através da porta 443/tcp. Se a tentativa tiver
sucesso, uma cópia do código fonte malicioso é então colocada no
servidor vítima, onde o sistema atacante tenta compilá-lo e
executá-lo. Uma vez infectado, o servidor vítima inicia uma varredura
por outras máquinas com a intenção de continuar a propagação do worm.
Adicionalmente, o "Apache/mod_ssl worm" pode agir como uma plataforma
para ataques de negação de serviço distribuídos (DDoS) contra outros
sites, através da construção de uma rede de máquinas infectadas.
Durante o processo de infecção a máquina atacante instrui a vítima
recém infectada a iniciar um tráfego para a porta 2002/udp da máquina
atacante. Uma vez que este canal de comunicação tenha sido
estabelecido, o sistema infectado se torna parte da rede de DDoS do
"Apache/mod_ssl worm". Máquinas infectadas podem então compartilhar
informações sobre outros sistemas infectados e instruções de ataque.
Desse modo, o tráfego na porta 2002/udp pode ser usado por um atacante
remoto como um canal de comunicação entre sistemas infectados para
coordenar ataques contra outros sites.
Identificando máquinas infectadas
Notificações indicam que o código fonte do "Apache/mod_ssl worm" é
colocado em /tmp/.bugtraq.c nos sistemas infectados. Ele é compilado
com gcc, resultando em um binário executável que é armazenado em
/tmp/.bugtraq; desse modo, a presença de qualquer um dos seguintes
arquivos em sistemas Linux, que possuam Apache com OpenSSL, é um
indicativo de comprometimento:
/tmp/.bugtraq.c
/tmp/.bugtraq
A fase de varredura do ataque pode aparecer nos logs do servidor web
como:
GET /mod_ssl:error:HTTP-request HTTP/1.0
Note que o aparecimento desta entrada nos logs de um servidor web não
é um indicativo de comprometimento, mas uma evidência de uma varredura
feita a partir de um sistema infectado.
Notificações recebidas pelo CERT/CC indicam que os sistemas Apache
podem registrar, em seguida, mensagens similares a:
[error] SSL handshake failed: HTTP spoken on HTTPS port; trying
to send HTML error page (OpenSSL library error follows)
[error] OpenSSL: error:1407609C:SSL
routines:SSL23_GET_CLIENT_HELLO:http request [Hint: speaking
HTTP to HTTPS port!?]
As entradas nos arquivos de log podem variar de sistema para sistema,
mas normalmente incluirão um "SSL handshake failed", seguido por um
erro da biblioteca OpenSSL.
Máquinas escutando tráfego na porta 2002/udp, ou transmitindo dados
nesta porta, são também um indicativo de comprometimento pelo
"Apache/mod_ssl worm".
Detectando atividade do "Apache/mod_ssl worm" na rede
Sistemas infectados são prontamente identificados na rede através das
seguintes características de tráfego:
* Varredura -- Buscas na porta 80/tcp
* Propagação -- Conexões para a porta 443/tcp
* DDoS -- Transmissão ou recepção de datagramas com portas origem e
destino 2002/udp. Este tráfego é usado como um canal de comunicação
entre os sistemas infectados para coordenar ataques contra outros
sites.
Adicionalmente, máquinas infectadas que estão participando ativamente
em ataques DDoS contra outros sistemas podem gerar um volume de
tráfego muito alto, usando vários protocolos (e.g., TCP, UDP, ICMP).
II. Impacto
O comprometimento pelo "Apache/mod_ssl worm" indica que um atacante
remoto pode executar código arbitrário, com os privilégios do usuário
apache, no sistema vítima. Pode ser possível para um atacante, em
seguida, utilizar um exploit local para aumentar seus privilégios e
obter acesso como root no sistema vítima. Além disso, a capacidade de
realizar ataques DDoS, incluída no "Apache/mod_ssl worm", permite que
os sistemas vítima sejam usados como plataformas para atacar outros
sistemas.
III. Solução
Aplicar uma correção
Os administradores de todos os sistemas que executam OpenSSL são
encorajados a rever os documentos CA-2002-23 e VU#102795 para obter as
recomendações dos fornecedores sobre as correções a serem aplicadas:
http://www.cert.org/advisories/CA-2002-23.html
http://www.kb.cert.org/vuls/id/102795
Note que a vulnerabilidade explorada pelo "Apache/mod_ssl worm" foi
corrigida a partir do OpenSSL versão 0.9.6e, porém a última versão do
OpenSSL no momento é a 0.9.6g. Os administradores podem desejar fazer
a atualização para esta última versão.
http://www.openssl.org/source/
Atualizar o OpenSSL para a versão 0.9.6e
Atualizar o OpenSSL para a versao 0.9.6e resolve os problemas tratados
neste documento. Como descrito no "Advisory" do OpenSSL, correções
separadas estão disponíveis:
Correções conjuntas para o OpenSSL 0.9.6d:
http://www.openssl.org/news/patch_20020730_0_9_6d.txt
Depois de aplicar as correções acima ou atualizar o OpenSSL para a
versão 0.9.6e, deve-se recompilar todas as aplicações que utilizam o
OpenSSL para suportar os serviços SSL ou TLS e reiniciar estes
serviços ou sistemas. Isto eliminará todo o código conhecidamente
vulnerável.
Sites executando OpenSSL pre-release versão 0.9.7-beta2 podem querer
fazer uma atualização para a versão 0.9.7-beta3, que corrige estas
vulnerabilidades. Correções separadas também estão disponíveis:
Correções conjuntas para o OpenSSL 0.9.7 beta 2:
http://www.openssl.org/news/patch_20020730_0_9_7.txt
Desabilitar o SSLv2
Desabilitar o "handshake" do SSLv2 previne a exploração da
vulnerabilidade descrita em VU#102795. O CERT/CC recomenda que a
documentação do mod_ssl seja consultada para uma descrição completa
das opções, mas um método para desabilitar o SSLv2 é removê-lo da
lista de cifradores suportados, na diretiva SSLCipherSuite, no arquivo
de configuração. Por exemplo:
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+SSLv2
que permite o SSLv2, pode ser alterada para:
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:!SSLv2
que desabilitará o SSLv2. Note a modificação de +SSLv2 para !SSLv2.
Recuperando-se de um comprometimento
Se você acredita que um sistema sob sua administração foi
comprometido, por favor siga os passos descritos em:
http://www.cert.org/tech_tips/win-UNIX-system_compromise.html
Notificações
O CERT/CC está interessado em receber notificações sobre esta
atividade. Se máquinas sob seu controle foram comprometidas, por
favor envie um email para cert em cert.org, com o seguinte texto incluído
na linha de subject: "[CERT#23820]".
_________________________________________________________________
Comentários podem ser enviados diretamente para o autor: Allen
Householder
____________________________________________________________________
Tradução: Cristine Hoepers
____________________________________________________________________
Revisão Técnica: Klaus Steding-Jessen
____________________________________________________________________
Esta versão traduzida do documento pode ser obtida em:
http://www.nbso.nic.br/certcc/advisories/CA-2002-27-br.html
____________________________________________________________________
A versão original, em Inglês, deste documento pode ser obtida em:
http://www.cert.org/advisories/CA-2002-27.html
____________________________________________________________________
Informações de Contato do CERT/CC
Email: cert em cert.org
Telefone: +1 412-268-7090 (Hotline 24 horas)
Fax: +1 412-268-6989
Endereço para correspondência:
CERT Coordination Center
Software Engineering Institute
Carnegie Mellon University
Pittsburgh PA 15213-3890
U.S.A.
O pessoal do CERT/CC atende ao hotline no período das 8:00 às 17:00h
EST(GMT-5), de segunda a sexta-feira; nos demais períodos eles atendem
em esquema emergencial, incluindo finais de semana e feriados dos
Estados Unidos.
Utilização de criptografia
Nós recomendamos fortemente que informações sensíveis sejam
criptogradas ao serem enviadas por email.
Nossa chave pública PGP está disponível em:
http://www.cert.org/CERT_PGP.key
Se voce preferir utilizar DES, por favor telefone para o hotline do
CERT para obter maiores informações.
Obtendo informações sobre segurança
As publicações do CERT e outras informações sobre segurança estão
disponíveis em nosso site:
http://www.cert.org/
Para inscrever-se na lista de advisories e boletins do CERT, envie um
email para majordomo em cert.org, incluindo o seguinte no corpo da sua
mensagem:
subscribe cert-advisory
* "CERT" and "CERT Coordination Center" are registered in the U.S.
Patent and Trademark Office.
______________________________________________________________________
Translations of CERT/CC Advisories, (c) 2002 by Carnegie Mellon
University, with special permission from the Software Engineering
Institute.
Accuracy and interpretation of this translation are the responsibility
of NBSO. The SEI has not participated in this translation.
NBSO shall ensure that all translated materials incorporate the
CERT/CC logos, service marks, and/or trademarks, as well as a link to
the original English version on the CERT web site (www.cert.org).
NBSO shall ensure that all translated materials are translated in
their entirety and that the SEI will be notified of which CERT/CC
Advisories are being translated. Notifications go to cert em cert.org.
NO WARRANTY. THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING
INSTITUTE MATERIAL IS FURNISHED ON AN "AS IS" BASIS. CARNEGIE MELLON
UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR
IMPLIED AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF
FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY OR RESULTS
OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES
NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT,
TRADEMARK, OR COPYRIGHT INFRINGEMENT.
CMU Indemnification. NBSO hereby agrees to defend, indemnify, and hold
harmless CMU, its trustees, officers, employees, and agents from all
claims or demands made against them (and any related losses, expenses,
or attorney's fees) arising out of, or relating to NBSO's and/or its
sublicensees' negligent use or willful misuse of or negligent conduct
or willful misconduct regarding CMU in tellectual Property,
facilities, or other rights or assistance granted by CMU under this
Agreement, including, but not limited to, any claims of product
liability, personal injury, death, damage to property, or violation of
any laws or regulations. This indemnification will not apply to claims
by third parties which allege that CMU Intellectual Property infringes
on the intellectual property rights of such third parties, unless such
infringement results from NBSO modifying CMU Intellectual Property or
combining it with other intellectual property.
Disputes. This Agreement shall be governed by the laws of the
Commonwealth of Pennsylvania. Any dispute or claim arising out of or
relating to this Agreement will be settled by arbitration in
Pittsburgh, Pennsylvania in accordance with the rules of the American
Arbitration Association and judgment upon award rendered by the
arbitrator(s) may be entered in any court having jurisdiction.
No Endorsement. The SEI and CMU do not directly or indirectly endorse
NBSO work.
Translations of CMU/SEI copyrighted material are not official
SEI-authorized translations. NBSO agrees to assign and transfer to
CMU/SEI all copyrights in the translation of any CMU/SEI document.
This permission is granted on a non-exclusive basis for non-commercial
purposes.
_________________________________________________________________
Conditions for use, disclaimers, and sponsorship information
Copyright 2002 Carnegie Mellon University.
Histórico de Revisões
14 de setembro de 2002: Lançamento da versão inicial
-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 5.0i for non-commercial use
Charset: noconv
iQCVAwUBPYPe/JxE2EupRshlAQEJjQP/Y9qmfJlMqkrO8i+9wxIGmhFrjfCx52I8
oD31fY4eV6ZCtT46roc6nCvEWPcUKQQvMejP2pZds51oSWdqOCpAmksyI2eTM7ue
m79Jg1iz9ojbaMV3U9QjfuqVQvgf5sCK+S2+r00GMhVmT6NRu5PwpY/aEDiSK0jP
JleI5oj3fkY=
=ATPm
-----END PGP SIGNATURE-----
----- End forwarded message -----
Mais detalhes sobre a lista de discussão SECURITY-L