SECCION 2: EL DESARROLLO DE UN MÉTODO
2.2 DEFINICION DE LA CAPACIDAD DE SUPERVIVENCIA
Reproduciendo los conceptos expresados en 1.1.1 “El nuevo paradigma de red” y en 1.1.2 “Definición de Supervivencia”, destaca que la investigación en el campo de los sistemas con capacidad de supervivencia a lo largo de los últimos años ha dado por resultado el desarrollo de los conceptos y definiciones de supervivencia que se describen en esta sección, los cuales han sido el resultado del trabajo del equipo Survivable Network Technology del Software Enginee- ring Institute y del CERT Coordination Center (CERT/CC).
Asimismo, indica que el principal objetivo del trabajo es el de proporcionar a los administra- dores métodos que ayuden a los sistemas a sobrevivir frente a actos de adversarios inteligentes. En tanto tienen puestos su foco en las intrusiones, los métodos analizados aplican en su totali- dad tanto a fallas como a accidentes.
2.2.1 Características de los sistemas con capacidad de supervivencia
sistemas con capacidad de supervivencia” en lo referente a que la característica clave de los sistemas con supervivencia es su capacidad de entregar servicios esenciales en oportunidad de sufrir ataques, fallas o accidentes, se plantea que, entonces, resulta fundamental para el concepto de supervivencia la identificación de los servicios esenciales (y de las propiedades esenciales que los respaldan) dentro de un sistema operacional.
Los servicios esenciales se definen como las funciones del sistema que se deben ser mantenidas cuando el ambiente es hostil o se han detectado fallas o accidentes que amenazan al sistema. Para mantener sus capacidades de entregar los servicios esenciales, los sistemas con supervi- vencia deben exhibir las cuatro propiedades claves: resistencia, reconocimiento, recuperación (las tres Rs), y adaptación; las mismas se describen en la Tabla 3, cabiendo destacar la actuali- zación respecto del contenido de la Tabla 1.
Propiedad Clave Descripción Ejemplos de Estrategia Resistencia a ataques Estrategias para repeler ataques • Autenticación
• Controles de acceso • Encriptación • Filtrado de mensajes • Wrappers de supervivencia • Diversificación del sistema • Aislamiento funcional
Reconocimiento de ataques y
daños Estrategias para detección de ataques y evaluación de la extensión del daño
• Detección de intrusión • Chequeo de integridad
Recuperación de los servicios esenciales y completa luego del ataque
Estrategias para limitar el daño, restaurar información o funcio- nalidad comprometida, mante- ner o restaurar servicios esen- ciales dentro de las restriccio- nes de tiempo de la misión, restaurar los servicios comple- tos
• Redundancia de componentes • Replicación de datos
• Respaldo y restauración del
sistema
• Plan de contingencia
Adaptación y evolución para reducir la efectividad de ata- ques futuros
Estrategias para mejorar la supervivencia del sistema en base al conocimiento adquirido acerca de intrusiones
• Nuevos patrones de recono-
cimiento de intrusión
Tabla 3. Propiedades de los sistemas con supervivencia considerados en el Método SNA.
La Tabla 3 identifica un conjunto de estrategias de supervivencia que se pueden aplicar para contrarrestar las amenazas de un ataque sobre un sistema. Algunas de estas técnicas para mejo- rar la supervivencia están tomadas de otras áreas, principalmente de las comunidades de la segu- ridad, la protección y la tolerancia a fallo.
• Los mecanismos de autenticación de usuario limitan el acceso a un sistema a un grupo aprobado de usuarios; desde simples contraseñas hasta una combinación de contraseñas, tokens de autenticación manejados por el usuario (protegidos ellos mismos mediante contraseñas), y biométricas.
• Los controles de acceso se pueden aplicar al acceso al sistema, o a programas y datos particulares. Cuando se los impone a través de un sistema operativo confiable, aplican automáticamente una política predefinida para el otorgamiento o denegación de acceso a un usuario autenticado. Estos controles pueden servir como un sustituto de los meca- nismos basados en contraseñas a nivel de datos o de programas.
• La encriptación puede proteger datos, ya sea dentro de un sistema o en tránsito entre siste- mas, de la intercepción o captura física. Las tecnologías disponibles de encriptación son lo suficientemente fuertes como para resistir todos los actuales ataques de fuerza bruta posibles hoy en día. La encriptación transforma el problema de proteger grandes cantidades de datos en un problema de administrar cantidades relativamente pequeñas de material en clave. La encriptación también se puede utilizar para proveer autenticación, no-repudiación, chequeo de integridad, y una variedad de otras propiedades de aseguramiento.
• El filtrado de mensajes generalmente se utiliza en la frontera de un sistema, o parte del mismo, para restringir el tráfico que ingresa al sistema; por ejemplo, no existe razón por la que permitir el ingreso a una instalación de mensajes relacionados con servicios no soportados o indeseados, o mensajes que parecieran se originados desde dentro de la or- ganización probablemente no son legítimos en caso que provengan desde el exterior por lo que no deberían ser permitidos. Asimismo, los filtros pueden estar diseñados para bloquear mensajes asociados con ataques conocidos.
• Los wrappers de supervivencia son esencialmente filtros de mensajes aplicados a nivel de la interfase del sistema operativo. Pueden ser utilizados para proporcionar el opera- dor operand cheking o para redirigir calls a rutinas de librerías no seguras hacia versio- nes más robustas, y también para imponer una política de control de acceso restrictiva sobre una aplicación en particular.
• La diversificación del sistema combinada con implementaciones redundantes hacen más difícil el trabajo del atacante. En una implementación heterogénea, es probable que un escenario utilizado para atacar una implementación ha de fallar en otras. Defensive co- ding6 se utiliza para proteger a los programa contra valores de entrada no-válidos. El aislamiento funcional reduce o elimina las dependencias entre los servicios de más po-
6 Dependiendo del contexto, puede significar diferentes cosas: 1) el acto de insertar en un programa error-checks
redundantes, para asegurar, en lo posible, que los errores sean capturados en forma temprana y lo más próximo posi- ble de donde realmente ocurrieran; 2) evitar el empleo de constructores que se conoce presentan problemas.
sible. Esto evita que el ataque a un servicio comprometa a otros.
• El aislamiento a veces no es fácil de lograr, dado que las dependencias entre los servi- cios a veces no son obvias si se las mira desde un nivel de abstracción equivocado. Los servicios que comparten un procesador, por ejemplo. Son mutuamente dependientes uno del otro en lo que hace a recursos como CPU y memoria. Ellos también comparten es- pacio en disco y probablemente un adaptador de red. Es posible que un proceso dispare un ataque de denegación de servicio hacia otro al monopolizar cualquier de esos recur- sos. El aislamiento de recurso puede requerir de un mecanismo de compartición basado en quota o alguna técnica similar. El aislamiento funcional puede extenderse hasta la separación física de las funciones del sistema, a menudo vía servidores separados sin conexiones lógicas –por ejemplo, separando el procesamiento de emails de archivos de datos sensibles. Ningún método electrónico puede saltar una distancia física o penetrar un equipo que está apagado.
En el área del reconocimiento de ataques y daños, existe un número limitado de opciones.
• Generalmente los sistemas de detección de intrusión intentan identificar los ataques ya sea mediante la búsqueda de patrones conocidos de ataques o el uso de un modelo de re- ferencia del comportamiento normal del sistema tratando las desviaciones como poten- ciales ataques. Ambas técnicas se pueden aplicar tanto al tráfico de red como a datos específicos de una aplicación o de una plataforma. Los logs de auditoría del sistema o de una aplicación son la fuente de información para la detección de intrusiones a nivel de la plataforma o la aplicación. Existen sistemas de detección de intrusión en tiempo real y de post-procesamiento. En la actualidad, los IDSs pueden perder muchas intru- siones, especialmente en ataques nuevos, y padecen de altas tasas de falsas alarmas. • Los verificadores de integridad (integrity checkers) pueden detectar intrusiones que
modifican archivos o datos del sistema que deberían mantenerse sin cambios; el proceso de verificación implica la creación de un modelo de línea de base de los archivos a ser protegidos utilizando códigos de verificación o firmas criptográficas, y periódicamente comparar el modelo actual con el de la línea de base.
En términos de recuperación, cuando se ha reconocido un ataque dañino (u otra falla), resulta
necesario seguir las etapas para la inmediata recuperación de los servicios esenciales y, even- tualmente, los servicios completos. Existen una cantidad de técnicas que pueden ser utilizadas, cuyos efectos varían desde el mantenimiento de los servicios completo de manera transparente sin una interrupción apreciable hasta posiciones de último recurso que sólo mantienen un núcleo de los servicios esenciales.
• La redundancia es la clave para el mantenimiento de los servicios completos de cara a fallas. La comunidad dedicada a las soluciones de tolerancia a fallo posee una conside- rable experiencia en el empleo de la redundancia para mantener un servicio durante la fase de falla de componentes, pero sus técnicas analíticas se basan en el conocimiento de distribuciones estadísticas asociadas con varios mecanismos de falla, algo que puede no resultar posible con las fallas inducidas por ataques.
• En muchos casos, la replicación de datos críticos es un medio de primer orden para lo- grar la recuperación; cuando los servicios esenciales están siendo provistos por bases de datos de uso difundido, puede resultar posible restaurar los servicios críticos de datos en una ubicación más o menos arbitraria.
• El respaldo sistemático de todos los recursos de datos, combinado con los mecanismos apropiados para su restauración en la plataforma de origen u otra equivalente, es una parte clave para cualquier estrategia de recuperación. La granularidad de los respaldos deberá depender de la frecuencia con que cambian los datos y el costo de repetir el tra- bajo realizado entre dos respaldos consecutivos. En casos extremos, puede resultar ne- cesario respaldar los archivos cada vez que se los cierra luego de una operación de es- critura, y registrar las transacciones o pulsaciones de tecla de tal manera que se puede recuperar el trabajo intermedio. En otros casos, pueden resultar suficientes los respaldos diarios o semanales. Cuando un sistema se encuentra bajo ataque o ha experimentado una falla, puede resultar posible reconfigurar dinámicamente el sistema para transferir los servicios esenciales desde el componente atacado a uno operativo, eliminando los servicios menos esenciales durante dicho proceso; debido a que esta estrategia no posee capacidad redundante, la reconfiguración puede persistir sólo por períodos limitados, dado que la criticidad de los servicios menos esenciales se incrementa con el intervalo de tiempo que los mismos no están disponibles.
• Finalmente, puede resultar posible poner el sistema en un modo de operación alternati- vo, quizá en uno en el cual el rol del sistema computacional esté temporalmente reduci- do o incluso eliminado. Por ejemplo, las transacciones computadora-a-computadora po- drían ser reemplazadas con faxes enviados manualmente. Un sistema computarizado de inventario y órdenes podría revertirse durante un corto período de tiempo en el sistema manual anterior.
Tal vez la parte más laboriosa de la supervivencia es la adaptar un sistema para hacerlo más robusto en la esperanza de que el mismo resistirá ataques o intrusiones antes nunca vistos. Así como los atacantes están constantemente buscando nuevos puntos de vulnerabilidad, los defen-
sores deben crear defensas que están basadas en generalizaciones de ataques previamente vistos, en un esfuerzo de anticipar las direcciones en los que podrían ocurrir nuevos ataques.