Desarrollado conjuntamente por SANS Institute y el FBI, acaba de publicarse un
documento que tiene por objetivo explicar cuáles son las principales
vulnerabilidades de seguridad. Según recoge el documento, se trata de las
vulnerabilidades más comúnmente utilizadas en los incidentes de seguridad.
Las organizaciones norteamericanas tienen una gran predilección en la confección
de estadísticas y estudios donde se cuantifica virtualmente cualquier cosa.
Fruto de esta predisposición, hace poco más de un año SANS Institute reunió en
un documento las diez vulnerabilidades de seguridad más críticas. En este
contexto, el sentido de «crítico» viene dado no tanto por su peligrosidad sino
por lo habitual en que son utilizadas en los ataques contra sistemas
informáticos conectados en Internet.

La base subyacente al documento era la siguiente: la mayor parte de los ataques
de Internet se aprovechan únicamente de unas vulnerabilidades muy concretas.
Muchas de estas vulnerabilidades son conocidas desde hace tiempo y se dispone de
soluciones que permiten eliminar el problema. No obstante, existen
organizaciones que desconocen su existencia, por lo que sus sistemas son
vulnerables. Si se reúne esta relación en un documento, estas organizaciones
podrán trabajar en eliminar este conjunto de problemas, reduciendo por tanto su
nivel de riesgo.

El documento original, donde se reunían las diez vulnerabilidades más críticas,
ha quedado un poco desfasado desde el momento de su publicación, por lo que era
necesaria una revisión en profundidad del mismo.

Para ver la importancia que tiene trabajar en la verificación de que nuestros
sistemas están protegidos ante estos problemas, basta con recordar que algunos
de los principales gusanos que han tenido un fuerte impacto durante los últimos
meses (como «Red Code» o «Nimda», por citar únicamente dos de los más conocidos)
utilizan vulnerabilidades descritas varios meses antes del impacto del gusano.

Es importante señalar que solucionar estas veinte vulnerabilidades (o las que
afecten a nuestro sistema) no es sinónimo de garantía de seguridad. Solucionar
estos veinte problemas sólo nos garantiza que estaremos a salvo de cualquier
atacante o gusano que intente aprovecharse de uno de estos problemas. Si que es
cierto que solucionar estos problemas nos ayudará a protegernos ante muchos
incidentes masivos y atacantes con bajo nivel de preparación («script
kiddies»). Por tanto, solucionar estos problemas no significa que debemos
abandonar la guardia ante cualquier otra vulnerabilidad que vaya apareciendo y
que pueda afectar a cualquiera de nuestros sistemas.

El documento publicado por SANS es un documento vivo. Incluye instrucciones paso
a paso y enlaces para obtener más información que puede ser de utilidad en la
corrección de la vulnerabilidad. Esta información puede ir actualizándose
periódicamente, por lo que no está de más una visita de vez en cuando para ver
las posibles novedades.

Por otra parte, el Computer Security Institute pone a disposición de los
interesados un programa que analiza automáticamente los sistemas para detectar
la presencia de cualquiera de estas vulnerabilidades. Se trata de una versión
especial de SARA, un conocido scanner gratuito de vulnerabilidades. Para obtener
este programa es preciso enviar un mensaje a info@cisecurity.org indicando en el
tema del mensaje «Top Twenty Scanner».

Las 20 vulnerabilidades

Para facilitar la identificación de las vulnerabilidades, se encuentran reunidas
en diversos grupos: vulnerabilidades que pueden afectar a todos los sistemas
(G), vulnerabilidades específicas de los sistemas operativos de la familia
Windows (W) y vulnerabilidades específicas de Unix y derivados (U).

G1. Instalación por defecto de sistemas operativos y aplicaciones Muchos
programas, incluyendo los sistemas operativos y aplicaciones, pueden realizar
una instalación en la que la seguridad no es un factor determinante. Es
importante revisar todas las configuraciones antes de poner la máquina accesible
en la red.

G2. Cuentas de usuario sin contraseña o con contraseña fácilmente identificable
Muchas sistemas disponen de una única línea de defensa: la contraseña del
usuario. Es importante que todas las cuentas existentes dispongan de una
contraseña y que esta sea robusta y no fácilmente identificable, por personas o
programas. Igualmente algunos sistemas y aplicaciones crean cuentas de usuario
en los que se asignan contraseñas por omisión que son conocidas.

G3. Copias de seguridad no existentes o incompletas Hay una certeza evidente:
tarde o temprano ocurrirá un incidente que nos obligue a utilizar la copia de
seguridad. Es importante que éstas se realicen, sean verificadas y que existan
métodos documentados y probados para restaurar los datos. No hay nada más inútil
que una copia de seguridad que no pueda ser restaurada.

G4. Gran número de puertos abiertos Tanto los usuarios legítimos como los
atacantes acceden a nuestro sistemas a través de los puertos abiertos. Cuanto
más puertos existan, más posibilidades de que alguien pueda conectar con nuestro
sistema. Por tanto, es importante que sólo estén abiertos aquellos puertos que
realmente son necesarios para el normal funcionamiento del equipo.

G5. No realizar correctamente el filtrado de las direcciones entrantes y
salientes La suplantación de direcciones IP es un método frecuente utilizado por
los atacantes como medida de ocultación. Por tanto, deben aplicarse las medidas
necesarias para impedir la entrada y/o salida en nuestra red de direcciones IP
incorrectas, inesperadas o no válidas.

G6. Registro de actividad no existente o incompleto La prevención de los
incidentes de seguridad es importante, pero mucho más es poder detectarlos lo
antes posible. Para ello es importante registrar cuanta más información posible
sobre la actividad de nuestros sistemas, aplicando las medidas necesarias para
el análisis de estos registros de actividad.

G7. Programas CGI vulnerables La mayoría de servidores web permiten utilizar
programas CGI para acceder a información, recoger información, identificar a los
usuarios, etc. Muchos de estos programas son habitualmente utilizados en los
ataques contra los sistemas, por lo que debe prestarse una especial atención a
los mismos.

W1. Vulnerabilidad Unicode («Web Server Folder Traversal») Las versiones de IIS
(Internet Information Server), si no se ha aplicado el correspondiente parche,
son vulnerables a un ataque consistente en ocultar URL ilegales (como el acceso
a directorios del sistema) mediante la representación de diversos caracteres en
formato Unicode.

W2. Desbordamiento de memoria intermedia en ISAPI Cuando se instala IIS, se
instalan automáticamente diversas extensiones ISAPI. Existen diversos problemas
de desbordamiento de memoria intermedia en estas extensiones que pueden ser
utilizadas por un atacante para obtener el control completo del sistema.

W3. Remote Data Services de IIS Existen diversas vulnerabilidades en el
componente RDS (Remote Data Services) de IIS que pueden ser utilizadas por un
atacante remoto para la ejecución de mandatos del sistema con privilegios de
administrador.

W4. NETBIOS – Recursos de red compartidos no protegidos Algunos protocolos de
red incluidos en el sistema operativo Windows no ofrecen mecanismos de
protección adecuados, por lo que un atacante remoto puede obtener acceso a la
información almacenada en los ordenadores.

W5.Obtención de información mediante sesiones de usuario anónimas Si el
ordenador Windows NT o Windows 2000 permite la conexión de usuarios anónimos
(sin usuario ni contraseña), un atacante remoto puede obtener información los
recursos de red y las cuentas de usuario definidas en el sistema.

W6. Contraseñas débiles en la SAM Con el objetivo de ofrecer compatibilidad
descendente, tanto Windows NT como Windows 2000 almacenan por omisión las
contraseñas utilizando un método de cifrado de escasa calidad. Esta contraseña
cifrada puede ser desvelada mediante ataques de fuerza brutas con relativamente
poco esfuerzo.

U1. Desbordamiento de memoria intermedia en servicios RPC Los servicios RPC
permiten que un ordenador ejecute un programa en otro ordenador. Existen
múltiples vulnerabilidades por desbordamiento de memoria intermedia en estos
servicios que permiten a un atacante remoto la realización de ataques de
denegación de servicio o la obtención de privilegios de administrador.

U2. Vulnerabilidades en sendmail Sendmail es el programa más utilizado para en
envío, redirección y encaminamiento de mensajes de correo. Las versiones
antiguas de este programa tienen un gran número de problemas y vulnerabilidades
que pueden permiten a un atacante obtener acceso al sistema.

U3. Vulnerabilidades en BIND El programa BIND es habitualmente utilizado para
actuar como servidor de nombres de dominio (DNS). Algunas versiones del mismo
pueden ser utilizadas para obtener acceso al sistema con privilegios de
administrador.

U4. Mandatos «R» La familia de mandatos «R» permiten a un usuario autenticado de
forma local ejecutar mandatos o acceder a sistemas remotos sin necesidad de
volver a autenticarse. Esto puede permitir a un atacante con acceso a un sistema
acceder libremente al resto de sistemas donde exista una relación de confianza.

U5. «Daemon» del protocolo de impresión remota (LPD) Existe una vulnerabilidad
de desbordamiento de memoria intermedia en diversas versiones del «daemon» lpd
que pueden ser utilizadas por un atacante para ejecutar código arbitrario en el
sistema vulnerable con privilegios de administrador.

U6. sadmind y mountd Sadmind es un programa para la administración de los
sistemas Solaris desde un entorno gráfico de usuario. Mountd facilita el acceso
a los directorios exportados mediante NFS. Ambos programas tienen diversos
problemas de desbordamiento de memoria intermedia que permiten a un atacante
remoto obtener privilegios de administrador en los sistemas vulnerables.

U7. Valores de SNMP por omisión El protocolo SNMP es ampliamente utilizado en la
monitorización y administración de virtualmente cualquier dispositivo existente
en una red. El sistema de seguridad utilizado, basado en los nombres de
comunidad, es muy débil. Además, los valores por omisión de muchos de estos
periféricos permiten que cualquiera pueda modificar su configuración.

Xavier Caballé
xavi@hispasec.com

Más información:

The Twenty Most Critical Internet Security Vulnerabilities. The
Experts’ Consensus
http://www.sans.org/top20.htm

How To Eliminate The Ten Most Critical Internet Security Threats. The
Experts’ Consensus
http://www.sans.org/topten.htm

Cómo eliminar las diez vulnerabilidades de seguridad en Internet más
críticas
http://www.selseg.com/sans_top10/

Hispasec 11-06-00:
Cómo eliminar las diez amenazas de seguridad más críticas en Internet
http://www.hispasec.com/unaaldia.asp?id=593

Compártelo: