|
VSantivirus No. 934 - Año 7 - Lunes 27 de enero de 2003
Las preguntas que usted se hace sobre el W32/SQLSlammer
http://www.vsantivirus.com/sqlslammer-faq.htm
Por Jose Luis Lopez
videosoft@videosoft.net.uy
1. ¿Realmente un simple gusano pudo causar tanto lío?
Suponemos que llamamos "lío" al hecho de que miles y miles de
sitios en Internet eran inaccesibles en cuestión de minutos. Y
sí, la respuesta en ese caso es afirmativa.
Valga un solo ejemplo: los primeros reportes de servidores no accesibles se producen a las 5.30 GMT del sábado, en Corea del Sur. Nuestro servidor (VSAntivirus.com), ubicado en una de las zonas mejor protegidas, en el corazón de la Internet norteamericana, en Nueva York, dejó de responder a las 5.43 GMT.
En un primer momento (y las fuentes mencionadas en nuestro primer artículo sobre el tema así lo aseveran), se pensó en un ataque terrorista. Poco se divulgó, pero la Casa Blanca norteamericana puso de inmediato a sus fuerzas de seguridad en estado de alerta previendo lo peor.
2. Entonces, ¿es tan frágil Internet?
Si lo vemos desde el punto de vista que un simple código de apenas casi 400 bytes pudo "colapsar" media Internet, causando por lo menos, graves perjuicios en la navegación, podríamos decir que si (la respuesta anterior a la pregunta número "1", ella sola, es mas larga que todo el código del gusano). Y no olvidemos que el ataque ocurrió en un día y horarios de poco tráfico comercial o bursátil. En horas pico de un día laborable hubiera causado más daño.
A pesar de ello, los trastornos en algunos sitios de comercio electrónico, por ejemplo, llegaron a provocar perdidas importantes. Fabricantes de antivirus hablan de cientos de miles de dólares.
Pero si lo vemos en cambio desde el punto de vista de las comunicaciones, y para lo cuál fue creada Internet (mantener las comunicaciones aún a pesar de una guerra nuclear), entonces la respuesta es negativa.
La misma red nos dio la oportunidad de diagnosticar lo que estaba ocurriendo. Yo mismo, sentado frente a mi computadora personal, a miles de kilómetros de distancia, podía ver en un mapa las zonas de Internet que dejaban de responder. Claro que no hubiera podido comprar ningún libro con una tarjeta de crédito en ese momento... :)
3. ¿Cómo se produce la infección?
Si una computadora con servidor SQL es vulnerable y responde por el puerto 1434, el paquete enviado por el gusano es cargado en su memoria y por un desbordamiento de búfer se ejecuta (el paquete, de 376 bytes, incluye el código del propio gusano).
A partir de allí, esa máquina reiterará el proceso. Generará cientos de direcciones IP e intentará conectarse a cada una de ellas, buscando nuevos puertos 1434 para instalarse en las computadoras que le respondan por ese puerto.
Si se apaga la computadora, también se elimina al gusano, ya que solo se instala en la memoria.
4. ¿Los ataques están dirigidos a algún sitio en
especial?
No. Una de las características del gusano es que cada máquina infectada genera números IP (direcciones de computadoras) totalmente al azar, pero en tal cantidad y velocidad, que ello causa un tráfico tan grande que agota el ancho de banda disponible en cuestión de minutos.
5. ¿Se puede infectar mi computadora personal?
El gusano no ataca computadoras personales, solo servidores SQL bajo Windows 2000. Sin embargo, un componente clave de los servidores SQL, llamado "Microsoft SQL Server 2000 Desktop
Engine" (MSDE), también es vulnerable.
MSDE puede ser instalado por Visual Studio .NET y Office XP Developer Edition, herramientas empleadas por desarrolladores de software. Por lo tanto si usted tiene una computadora personal y usa esas herramientas, podría ser vulnerable, pero solo si además utiliza Windows NT, Windows 2000 o Windows XP.
6. ¿Qué es un servidor SQL?
Se trata de un gestor de bases de datos relacionales. Un programa que gestiona todo lo relacionado con el ingreso, clasificación y búsqueda de información. Es muy empleado tanto para el armado de un sitio Web como para administrar los datos de una empresa.
7. ¿El gusano posee algún tipo de rutina dañina?
No. Lo único que hace el gusano es ejecutarse en memoria (ni siquiera se copia en el disco, ni mucho menos modifica archivo alguno, ni tiene ninguna clase de caballo de Troya incorporado). Tampoco se propaga enviando mensajes infectados. Su única acción es generar continuamente, direcciones IP a las que se envía en forma constante y sin interrupciones, hasta que es quitado de memoria (apagando la computadora infectada por ejemplo).
8. ¿Se envía solo a servidores SQL?
Se envía a todas las computadoras cuyas IP correspondan a las generadas al azar por él mismo, pero solo infecta aquellas que tengan el puerto UDP 1434 activo (usado por los servidores SQL) y que no posean la actualización correspondiente instalada.
9. Si no posee rutina dañina, ¿porqué es tan peligroso este gusano?
Por su capacidad de enviarse cientos, o miles de veces (hasta que es detenido de alguna forma), agotando el ancho de banda disponible por cada proveedor en forma casi inmediata.
Lo entenderemos haciendo una simple progresión aritmética. Cada computadora infectada genera miles de paquetes, algunos de los cuáles infectan otros servidores SQL que a su vez generan otros miles de paquetes en cada uno de los equipos infectados.
En algunos casos, el tráfico generado en el primer "ataque" del gusano, superó los 50 MBit por segundo luego de la infección. Este es un volumen capaz de bloquear a la mayoría de los servidores.
El hecho de que utilice un puerto UDP en lugar de TCP, también facilita la rápida propagación, ya que el protocolo UDP no es afectado por tiempos de espera.
10. ¿Usa algún archivo de la máquina infectada?
El gusano utiliza los archivos del sistema operativo "Kernel32.dll" y "WS2_32.dll" para generar sus números IPs y para enviarse a dichas direcciones. Ambos archivos son de uso normal en Windows, y los utilizan
otros programas además del propio sistema.
11. ¿Porqué existiendo desde julio del 2002 un parche para la vulnerabilidad explotada por el gusano, se infectaron tantas computadoras?.
La falta de información, y la irresponsabilidad de muchos administradores tiene gran parte de la culpa. Los parches requieren una instalación manual, lo que en muchos casos por pereza, es dejado de lado.
Además, en países como Corea del Sur, donde se dieron los mayores reportes en su comienzo, existen otras causas que no deberían olvidarse. Corea del sur es uno de los países con mayor nivel de programas piratas instalados. Muchos administradores no actualizan el software por temor a ser descubiertos.
12. ¿Cómo evitar que algo así vuelva a ocurrir?
En el caso puntual de este gusano, los que pueden y deben hacer algo, son los administradores de servidores SQL. En ese caso, la instalación de los parches mencionados es la primera acción a tomar (Microsoft debería incluirlo en Windows Update para hacer más fáciles las cosas).
Importante: el parche MS02-039 es aplicable solo al Service Pack 2 del SQL Server 2000 y MSDE 2000. Si no tiene SP2, deberá actualizarse antes al SP3 (no requiere tener instalado el SP2). En todo caso, también puede instalar sencillamente el SP3 de entrada.
Si usted es un proveedor de Internet o utiliza cualquier aplicación basada en un servidor SQL a través de Internet, además de los parches mencionados, debería pensar en bloquear el puerto UDP 1434 y en algunos casos el UDP 1433. El servidor SQL utiliza los siguientes puertos:
- 1434/udp (Monitor)
- 1434/tcp (Monitor)
- 1433/udp (Server)
- 1433/tcp (Server)
Según algunos expertos, la mayoría de las veces al menos el primero de dichos puertos (UDP 1434) no es necesario para brindar los servicios que se requieren de un servidor SQL. Puede probar si es su caso, bloqueándolo con el cortafuegos o router (tanto la entrada como la salida) y examinando por un tiempo si se presentan problemas. Si utiliza MSDE, intente lo mismo, siempre que se conecte vía Internet. En este último caso, también debería cargar el Server Network Utility y deshabilitar todas las entradas "netlibs".
Finalmente, es importante que active en su cortafuegos, si es factible, la protección llamada "icmp flood" o "udp flood".
13. Resumiendo, ¿qué sistemas son vulnerables?
Microsoft SQL Server 2000 y Microsoft Desktop Engine 2000 (MSDE 2000) bajo Windows NT, 2000 o XP. El MSDE puede instalarse como parte de los siguientes productos:
- SQL Server 2000 (Developer, Standard, y Enterprise Editions)
- Visual Studio .NET (Architect, Developer, y Professional Editions)
- ASP.NET Web Matrix Tool
- Office XP (Developer Edition)
- MSDN (según la suscripción)
- Access 2002
- Visual FoxPro 7.0/8.0
Otros programas que podrían instalar al menos partes del servidor SQL (lo que no significa necesariamente que sean vulnerables, pero que es bueno tener en cuenta), son: Visio, Mail Max 5, ISS RealSecure, Site Protector e IceCap.
No son vulnerables aquellos servidores en que se haya instalado el SQL Server Service Pack 3.
14. ¿Me protege un antivirus?
Depende del antivirus y de la instalación. Pocos antivirus examinan la memoria para detectar a este gusano. Cómo contrapartida, solo deberá preocuparse de esto si es un proveedor de Internet o si tiene a su cargo una empresa con servidor SQL, o posee algunos de los programas mencionados antes.
15. ¿Hay alguna forma de saber si tengo el parche en mi servidor SQL?
Si, se puede saber examinando que la versión del archivo "ssnetlib.dll" sea la 2000.80.636.0 o superior. También puede descargarse para ello una herramienta desde el sitio de Microsoft:
http://www.microsoft.com/technet/security/tools/tools/hfnetchk.asp
16. ¿Cómo limpio un sistema infectado?
Bastaría con quitarlo de la memoria apagando el equipo, o matando el proceso llamado "sqlserver.exe". En los enlaces damos un par de herramientas que también podrían ayudar. Una para matar al gusano en la memoria, y otra para escanear en busca de equipos infectados. El procedimiento correcto en todo caso, pasa por poner el servidor SQL en modo manual y reiniciar el equipo, previa desconexión de la red. Luego de ello, y antes de volver a conectar el equipo a la red, habría que instalar los parches (descargados antes o desde otro equipo) y/o proceder a bloquear el puerto 1434, antes de finalmente reiniciar el servidor.
Enlaces relacionados:
Microsoft Advisory
http://www.microsoft.com/security/slammer.asp
CERT Advisory:
http://www.cert.org/advisories/CA-2003-04.html
MS-SQL Service Pack 3:
http://www.microsoft.com/sql/downloads/2000/sp3.asp
MS-SQL Patch:
http://www.microsoft.com/technet/security/bulletin/MS02-039.asp
CISCO recomendations:
http://www.cisco.com/warp/public/707/cisco-sn-20030125-worm.shtml
W32/SQLSlammer. El culpable del mayor ataque a Internet
http://www.vsantivirus.com/sqlslammer.htm
W32.SQLExp.Worm Removal Tool
http://securityresponse.symantec.com/avcenter/venc/data/w32.sqlexp.worm.removal.tool.html
Retina Sapphire SQL Worm Scanner from eEye Digital Security
http://www.eeye.com/html/Research/Tools/SapphireSQL.html
Cumulative Patch for SQL Server (Q316333) (jul/2002)
http://www.microsoft.com/technet/security/bulletin/MS02-034.asp
Buffer Overruns in SQL Server 2000 Resolution Service
Could Enable Code Execution (Q323875) (jul/2002)
http://www.microsoft.com/technet/security/bulletin/MS02-039.asp
Elevation of Privilege in SQL Server Web Tasks (Q316333) (oct/2002)
http://www.microsoft.com/technet/security/bulletin/MS02-061.asp
Estados Unidos Bajo Ataque D.D.o.S Masivo
http://www.vsantivirus.com/ataque-puerto1434.htm
Se permite la reproducción de este artículo siempre que se indique su origen y su autor.
(c) Video Soft - http://www.videosoft.net.uy
(c) VSAntivirus - http://www.vsantivirus.com
|
|