Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
i
Capítulo 3
ii
Capítulo 3
iii
Capítulo 3
Para ver un ejemplo de la frustración que sienten los que publican blogs con respecto a las
vulnerabilidades del sistema operativo, consulte “¿Es Windows inherentemente más vulnerable a los
ataques de malware que los SO X?” (Is Windows inherently more vulnerable to malware attacks than
SO X?) en http://weblog.infoworld.com/enterprisemac/archives/2006/08/is_windows_inhe.html.
Tipos de vulnerabilidades
Las vulnerabilidades provienen de los errores en las aplicaciones de software o de los activos
configurados incorrectamente; son defectos inherentes del software o configuraciones incorrectas
del sistema que permiten que los códigos maliciosos comprometan a un activo. Si se explotan,
las vulnerabilidades pueden generar, de múltiples maneras, un impacto en las organizaciones:
desde perjudicar la continuidad de los negocios hasta afectar la confianza de los clientes.
Vulnerabilidades de software
Existen varios tipos de vulnerabilidades de software. Algunos son el resultado de errores no
intencionales en el código. Por ejemplo, las prácticas de programación deficientes, tales como la
falta de verificación de la longitud de las cadenas, que antes de almacenarlas en arreglos de caracteres
de longitud fija, crean avenidas para ejecutar códigos maliciosos dentro del contexto de los
programas legítimos (cuando se almacena en el arreglo una cadena más larga que la longitud
designada se produce un desbordamiento del búfer y el código del programa legítimo puede ser
reemplazado por el código malicioso). Otra fuente de vulnerabilidades de software es el uso
intencional de una rutina de puerta trasera o una conexión de mantenimiento, el cual es un
código que el desarrollador agrega a su programa para permitir un acceso tardío al omitir los
mecanismos de control de acceso. Otras vulnerabilidades son inherentes al diseño de una
aplicación.
55
Capítulo 3
La facilidad con la cual los spammer (programas de correo electrónico masivo) y los phisher
(programas de correo electrónico fraudulento) pueden falsificar direcciones de envío de correo
electrónico se debe al diseño del protocolo simple de transferencia de correo electrónico
(SMTP). Este tipo de vulnerabilidad no se debe a un error, sino a una elección en el diseño. En
algunos casos, estas elecciones de diseño son equivocaciones; en otros casos, la vulnerabilidad es
el resultado de un uso imprevisto del sistema. Además, los diseñadores de sistemas se ven
forzados a realizar elecciones para equilibrar la funcionalidad, el costo, los recursos limitados de
redes e informática y otras limitaciones. Las vulnerabilidades pueden surgir de estas limitaciones
externas en el diseño del sistema.
Las prácticas sólidas de ingeniería de software, como por ejemplo las revisiones de códigos,
mitigan las vulnerabilidades provocadas por los errores no intencionales y el código de puerta
trasera. Las limitaciones relacionadas con el diseño son más difíciles de mitigar, pero pueden
administrarse con una combinación de tecnología (como un software de filtrado de
contenido) y procesos (por ejemplo, políticas bien definidas y procedimientos para administrar
correos electrónicos).
Vulnerabilidades de configuración
Los errores de configuración también pueden crear vulnerabilidades en los activos de
información. Por ejemplo, muchos clientes de correo electrónico admiten mensajes de correo
electrónico con formato HTML, incluyendo cadenas. Los creadores de virus han aprovechado
estas características para ofrecer su carga útil. Un cambio en los parámetros de configuración de
cliente de correo electrónico puede prevenir este tipo de artificio. Otros aspectos de
configuración son más complejos.
En una organización, se pueden utilizar simultáneamente servidores de seguridad, redes privadas
virtuales (VPN), filtros de contenido, sistemas de prevención de intrusos y software de antivirus.
Los requisitos de negocio establecen que estos sistemas de seguridad deben configurarse para
que los usuarios puedan utilizar de manera efectiva sus aplicaciones. Este requisito puede
ocasionar la introducción de prácticas menos seguras en nombre de la productividad del usuario:
Apertura de puertos en el servidor de seguridad que de otra manera no se abrirían
Uso de una versión vieja de un cliente de red privada virtual (VPN) que es menos segura
pero, compatible con otros activos
Configuración de parámetros de filtrado de contenido con menos control de lo que es
aconsejable
Incluso, si un sistema no está configurado correctamente, un hacker puede revelar estas
configuraciones incorrectas y penetrar el primer nivel de protección. Después de ingresar, el
hacker puede ejecutar diferentes tipos de secuencias para determinar cuáles son los sistemas
vulnerables y obtener ventajas de acceso a las aplicaciones esenciales de la empresa.
Las dependencias entre los activos pueden limitar las opciones de configuración e introducir
vulnerabilidades de manera no intencional. Estas vulnerabilidades pueden corregirse
perfectamente con otras configuraciones sin restringir la funcionalidad empresarial de las
aplicaciones.
56
Capítulo 3
Respuestas ad hoc
Uno de los enfoques para administrar las vulnerabilidades es simplemente lidiar con cada una de
ellas a medida que se conocen. Este tipo de enfoque ad hoc no tiene un método formal pero sigue
un patrón general que incluye:
1. Informarse sobre las vulnerabilidades
2. Buscar un parche
3. Descargar un parche
4. Aplicar el parche
5. Contactar en lo posible a otros administradores para consultar sobre las vulnerabilidades y
el parche
6. Asumir que se ha mitigado la vulnerabilidad
Además del hecho de que el parche no es una administración de vulnerabilidades, existen varios
problemas con este enfoque:
Aumento de las probabilidades de activos faltantes
Aumento de las probabilidades de pasar por alto vulnerabilidades de configuración
57
Capítulo 3
Activos faltantes
El enfoque ad hoc no garantiza la aplicación de parches en todos los activos vulnerables. Sin un
inventario de software y hardware, inclusive información de versión, los administradores de
sistemas no pueden garantizar la mitigación de vulnerabilidades en toda la organización. Por
ejemplo, un administrador de bases de datos (DBA) puede conocer todos los servidores
“oficiales” de bases de datos y aplicarles parches. Lo que el DBA no sabe es que varios equipos
de desarrollo están ejecutando servidores de desarrollo “no oficiales” en sus estaciones de
trabajo. El enfoque ad hoc dejaría a estos sistemas vulnerables y expondría a la organización a
los riesgos de que un atacante manipule estos servidores. La realidad es que sin conocer sus
activos, usted no podrá determinar sus riesgos.
59
Capítulo 3
ftp puede cambiar un módulo que ha sido utilizado también por un paquete de emulación de
terminal de un tercero.
Antes de instalar un parche en un código compartido, es prácticamente imposible saber de qué
manera se verán afectadas todas las demás aplicaciones. Incluso en las organizaciones con
administración de cambios y procesos de verificación de dependencia desarrollados, existen
dependencias desconocidas. Los proveedores no tienen expectativas de revelar los detalles de sus
propios software, incluso la información sobre los servicios de sistemas operativos utilizados. Aun cuando es
posible verificar dependencias de bajo nivel (por ejemplo, con aplicaciones de fuentes abiertas),
las limitaciones reales de tiempo y recursos hacen que sea poco probable realizar dicha
verificación. Realizar pruebas de parches en un entorno controlado que refleje la infraestructura
de producción, equilibra la necesidad de entender el impacto de un parche sin incurrir en costos
extraordinarios de verificación de información detallada sobre dependencias.
60
Capítulo 3
Respuestas administradas
El supuesto básico que subyace en las respuestas administradas es que las vulnerabilidades
existen y continúan existiendo y las organizaciones reconocerán este hecho y controlarán mejor
las consecuencias de las amenazas con una respuesta que se fundamenta en las personas, los
procesos y las tecnologías. Las respuestas administradas son sistemáticas. Los administradores
de sistemas no necesitan reinventar un proceso de administración de vulnerabilidades cada vez
que se da a conocer una nueva amenaza. Las respuestas administradas se centran en el proceso y
no en la tecnología. No cabe duda de que la tecnología es un elemento esencial de las respuestas
61
Capítulo 3
La base de datos de vulnerabilidades del Asesor de seguridad de CA (CA Security Advisor) contiene
una amplia lista de vulnerabilidades. Ingrese a http://www.ca.com/securityadvisor para conocer las
últimas vulnerabilidades.
68
Capítulo 3
63
Capítulo 3
raíz, cualquier sistema que ejecute ese servidor web y cualquier sistema que confíe en el sistema
comprometido están en riesgo. Los privilegios de administrador o raíz le permitirán a un atacante
obtener acceso total para copiar, eliminar y cambiar cualquier información en sistemas
vulnerables. Este riesgo es obviamente crítico y es fácil de comprender y cuantificar.
Los riesgos empresariales son más difíciles de evaluar. Si una aplicación de bases de datos
es vulnerable a un ataque de inyección SQL y se roba la información contable del cliente, ¿cómo
afectará esto a la empresa? Los clientes, ¿se transformarán en víctimas del robo de identidad?
¿Cuánto tiempo les tomará a los clientes resolver cualquier reclamo por fraude relacionado con
el robo? ¿Cómo afecta esto a la marca de la empresa en la mente de los clientes? ¿Cuánto le
costará a la empresa investigar y entablar una acción judicial por el delito?
Ciertamente, no existen reglas precisas para evaluar los riesgos de vulnerabilidad. De todos
modos, se deben categorizar los riesgos. Una categorización básica de riesgos basada en un
esquema bajo, medio y alto es una herramienta administrativa efectiva (consulte el Gráfico 3.1).
Después de comprender el riesgo relativo, la próxima pregunta que se hacen las organizaciones
se relaciona con el costo.
Gráfico 3.1: Al combinar el inventario y la información de utilización de activos, una organización puede
generar listas priorizadas en base a los riesgos.
65
Capítulo 3
Planificación
Prueba
Corrección
Informe
Como se muestra en el Gráfico 3.2, la mayoría de las etapas conducen a la etapa subsiguiente. En
dos momentos del ciclo de vida, durante el análisis y la prueba, es posible que el ciclo se vea
afectado. El análisis de una vulnerabilidad puede determinar que una vulnerabilidad no
representa una amenaza suficiente para justificar el tiempo y el esfuerzo de corrección. Los
parches o los cambios de configuración pueden fallar durante la prueba. En ese momento, el
proceso vuelve a la fase de planificación para revisar el parche o el proceso de reconfiguración.
Las siguientes secciones exploran cada etapa en detalle.
Gráfico 3.2: El ciclo de vida de la administración de vulnerabilidades incluye ocho etapas primarias y dos
etapas auxiliarias.
Monitoreo
La etapa de monitoreo del ciclo de vida de la administración de vulnerabilidades se centra en la
identificación de activos, tecnologías y niveles de versiones nuevas o existentes, parches
existentes y cambios de configuración. Además, esta etapa apunta a nuevas vulnerabilidades o
actualizaciones sobre las vulnerabilidades, tales como información nueva sobre el riesgo de
vulnerabilidades, los métodos de corrección o las tecnologías recientemente impactadas.
67
Capítulo 3
La base de datos de vulnerabilidades del Asesor de seguridad de CA (CA Security Advisor) contiene
una amplia lista de vulnerabilidades. Ingrese a http://www.ca.com/securityadvisor para conocer las
últimas vulnerabilidades.
68
Capítulo 3
69
Capítulo 3
En algún momento durante la fase de análisis, es posible que una organización determine que la
vulnerabilidad es lo suficientemente amenazante como para continuar con el proceso. De lo
contrario, es posible que los administradores de sistemas determinen que la vulnerabilidad fue
corregida en un parche anterior, que no se aplica a la versión de un programa en uso o que el
problema informado no era una vulnerabilidad real después de todo.
Notificación
La tercera etapa en una respuesta ante vulnerabilidad es la notificación de las partes afectadas.
Éstas pueden incluir:
Los administradores de sistemas
Los administradores de seguridad
Los administradores de redes
Los administradores de aplicaciones
Los administradores de riesgos
Los administradores de empresas que dependen de sistemas vulnerables
En caso de que haya amenazas que se propaguen rápidamente o que sean especialmente graves,
es posible que se incrementen las notificaciones para incluir al director de informática (CIO), los
gerentes de una línea de negocios (LOB), los socios, los clientes y otros directivos cuyas
funciones podrían verse afectadas.
Prioridad
Priorizar es un paso esencial en la administración de vulnerabilidades. Los profesionales de TI
pueden estar saturados con información de seguridad no procesada. A veces, todos los activos
parecen ser vulnerables. ¿Cómo puede uno clasificar estas amenazas y centrarse en los temas
más importantes? La clave está en centrarse en el riesgo asociado con cada vulnerabilidad
relativa a cada activo.
Los investigadores de seguridad han desarrollado métricas para evaluar el riesgo de explotación
de una vulnerabilidad en base a tres factores: popularidad, simplicidad e impacto.
70
Capítulo 3
La popularidad es una medida del grado de extensión de una vulnerabilidad y las amenazas
correspondientes, y describe la frecuencia existente o potencial de explotación de la
vulnerabilidad. Cuanta más popularidad tenga, más se verá afectada su organización.
La simplicidad es una medida del grado de facilidad en que se explota una vulnerabilidad o el
esfuerzo necesario para explotarla. Algunos ataques contra sistemas requieren un mayor esfuerzo
de explotación que otros. Algunos artificios sólo requieren la introducción de una serie de
comandos, mientras que otros implican compilar código y ejecutar el programa resultante según
un conjunto explícito de condiciones. Las vulnerabilidades de JavaScript en los exploradores
web podrían ser explotadas por un script-kiddie con poco conocimiento de programación;
mientras que una vulnerabilidad en servicios de redes, tales como un nivel de sockets seguro
(SSL), puede ser tan arcana y compleja que sólo podría ser explotada exitosamente por
desarrolladores de redes experimentados.
El impacto mide la medida en que un atacante puede obtener un acceso a un sistema y la
gravedad que esta amenaza supone para la organización. Esta consideración es el factor principal
que tiene en cuenta el estado interno de una organización.
¿Qué servicios están amenazados?
Los servidores de producción, ¿son importantes para las operaciones diarias amenazadas?
De ser así, ¿cuáles son las consecuencias del fallo de seguridad? ¿Podrían ser ingresos
perdidos, falta de cumplimiento o molestias para los empleados, socios comerciales y
clientes?
Claramente, priorizar las vulnerabilidades requiere una visión amplia de las prioridades de la
organización. Los factores determinantes incluyen consideraciones empresariales y técnicas.
71
Capítulo 3
Planificación
Durante la etapa de planificación, los administradores de sistemas y los analistas de seguridad
determinan cuál es el mejor método de corrección. Es posible que se utilicen diferentes enfoques
dentro de la misma organización para responder a la misma amenaza. Los activos de mayor
prioridad pueden garantizar respuesta inmediata con protección, parches instalados manualmente
o reconfiguraciones realizadas por el equipo de sistemas y los administradores de aplicaciones.
Es posible que a los activos de menor prioridad se les aplique un parche a través de un sistema de
distribución de software y se implementen durante períodos menos importantes.
En general, un plan de corrección incluirá:
Una lista priorizada de los activos a los que se les aplicará un parche o se los
reconfigurará por algún riesgo o situación crítica
Un programa para implementar el plan
Una serie de instrucciones para preparar e instalar el parche o los cambios de
configuración
Una serie de instrucciones para verificar que el parche o cambio de configuración haya
dado resultado
Planes para manejar una situación cuando falle el parche o la configuración
Una vez que se determina un plan de corrección, se puede comenzar con la prueba.
Prueba
Durante la etapa de prueba, se ejecuta el plan de corrección en los sistemas iniciales. Los parches
y cambios de configuración se prueban por tipo de activo. Según la importancia del tipo de
activo, las pruebas pueden variar desde relativamente simples hasta complejas, incluyendo:
Reiniciar un servidor o una máquina de un cliente para verificar el nivel del paquete de
servicios que se muestra en el reinicio
Verificar los parámetros del archivo de configuración y registro
Ejecutar los informes de activos para hacer un inventario de los componentes de un
servidor o cliente
Ejecutar escaneos de red o pruebas de penetración
Ejecutar los paquetes de prueba en aplicaciones importantes para garantizar que el cambio
no ha afectado a otros activos de software
Si se producen fallas en esta etapa, el proceso retrocede hasta la etapa de planificación. Si no se
pueden encontrar configuraciones o parches alternativos, es posible que la organización se vea
forzada a correr el riesgo relacionado con la vulnerabilidad, limitar el uso de componentes
vulnerables o reemplazar los activos vulnerables.
No todas las versiones del plan de corrección necesitan ser evaluadas de inmediato. A pesar de que
el diagrama del ciclo de vida muestra una sola transición de la prueba a la implementación, es
posible que haya múltiples ciclos de corrección y prueba. Los planes diseñados para los activos de
mayor prioridad posiblemente se prueben e implementen en primer lugar, para luego continuar con
los planes destinados a los activos de menor prioridad.
72
Capítulo 3
Corrección
Los parches y cambios de configuración verificados son implementados durante la etapa de
corrección. Los parches y cambios de configuración son distribuidos e instalados de acuerdo con
el plan priorizado. El Gráfico 3.3 muestra una lista típica de tarea de implementación.
Gráfico 3.3: Los sistemas de implementación automatizada pueden quedar en espera y distribuir los parches
de acuerdo con los planes de corrección.
Cuando no existen parches o éstos no funcionan con algunos activos, se implementa otra
protección. A diferencia de los pasos de corrección en las respuestas ad hoc, un paso de
corrección administrado se ejecuta de acuerdo con un plan y generalmente se encuentra
respaldado por métodos de distribución automatizados. Las pruebas previas reducen la
posibilidad de que haya problemas y la necesidad de deshacer los parches. Después de la
corrección, los administradores de sistemas continúan con la etapa final del ciclo de vida de la
administración de vulnerabilidades: informe.
73
Capítulo 3
Informe
La etapa de informe consta de tres pasos:
Verificar que los parches y los cambios de configuración sean efectivos
Μedir el progreso
Determinar los niveles de cumplimiento
Los pasos de verificación en esta etapa son similares a los utilizados en la fase de prueba. No
todos los procedimientos que se ejecutaron en la etapa anterior necesitan ser ejecutados en este
momento. Por ejemplo, las pruebas de penetración que se realizaron en un entorno de prueba
podrían ser demasiado molestas en un entorno de producción. Ocurre lo mismo cuando los
activos de mayor valor se han desconectado y deben ser reestablecidos para su funcionamiento lo
antes posible.
El objetivo de la corrección es reducir el perfil general de riesgo de una organización. Durante la
etapa de informe, los administradores de seguridad evalúan el impacto general de la corrección:
¿En qué medida se ha mitigado el riesgo? ¿Podría medirse según la popularidad, la
simplicidad y el impacto de las vulnerabilidades?
¿Qué vulnerabilidades existen todavía?
¿Hay otras vulnerabilidades que necesitan una atención inmediata?
La administración de vulnerabilidades es una parte esencial del cumplimiento de mantenimiento.
Algunas regulaciones [tales como la ley Gramm-Leach Bliley, la Ley de Portabilidad y
Responsabilidad del Seguro Médico (HIPAA) y la Organización Internacional para la
Estandarización (ISO) 17799] definen las normas de cumplimiento que pueden compararse con
los informes de corrección y otros datos recolectados por los agentes que informan sobre activos.
El Gráfico 3.4 muestra un ejemplo de un informe de cumplimiento.
74
Capítulo 3
Gráfico 3.4: El cumplimiento puede ser medido según los grupos de activos y el nivel de cumplimiento
requerido.
75
Capítulo 3
Análisis y notificación
El administrador de sistemas responsable de los servidores de Microsoft en la organización
revisó la información detallada brindada por el servicio de administración de seguridad y la
información que estaba disponible en el sitio web de Microsoft. Después de validar la amenaza,
el administrador de sistemas ejecutó un informe de activos para correlacionar la vulnerabilidad
con los servidores de la empresa. Descubrió que aproximadamente 200 servidores estaban
afectados, de los cuales 15 eran servidores de producción esenciales. Dada la gravedad de la
amenaza, el administrador del sistema incrementó la respuesta y notificó al CIO y al
departamento de cumplimiento. También se notificó a los contactos técnicos en los sitios para
clientes que había un proceso de administración de vulnerabilidades en curso y que se
desarrollaría un plan de corrección en el corto plazo.
Resumen
Las vulnerabilidades y las amenazas forman parte del panorama de administración de
información; prepararse para responder ante ellas no es una cuestión opcional. Los objetivos de
negocio clave detrás de la administración de vulnerabilidades incluyen el cumplimiento de
regulaciones, la continuidad empresarial y la protección de activos. Los profesionales de TI
y de seguridad ya no son los únicos que impulsan la administración de vulnerabilidades; los
directores y ejecutivos de las organizaciones son más concientes de la necesidad de implementar
una administración de seguridad.
Al igual que otros aspectos de la tecnología de la información, las vulnerabilidades y amenazas
deben ser administradas con un proceso bien definido que equilibre los costos y los beneficios.
El proceso de administración de vulnerabilidades descrito en este capítulo se ha desarrollado a
partir de las mejores prácticas para tratar las vulnerabilidades. El proceso no es una solución
definitiva, las vulnerabilidades y amenazas nos acompañarán en el futuro inmediato; sin
embargo, obtiene los beneficios combinados de las personas, los procesos y las tecnologías. El
resultado es un proceso permanente que puede medirse y mejorarse con el tiempo.
77