Sin importar qué sistemas vigile o su forma de trabajar, cualquier
sistema de detección de intrusos ha de cumplir algunas propiedades para
poder desarrollar su trabajo correctamente. En primer lugar, y quizás como
característica más importante, el IDS ha de ejecutarse
contínuamente sin nadie que esté obligado a supervisarlo;
independientemente de que al detectar un problema se informe a un operador o se
lance una respuesta automática, el funcionamiento habitual no debe implicar
interacción con un humano. Podemos fijarnos en que esto parece algo evidente:
muy pocas empresas estarían dispuestas a contratar a una o varias personas
simplemente para analizar logs o controlar los patrones del tráfico de
una red. Sin entrar a juzgar la superioridad de los humanos frente a las
máquinas (>puede un algoritmo determinar perfectamente si un uso del sistema
está correctamente autorizado?) o viceversa (>sería capaz una persona de
analizar en tiempo real todo el tráfico que llega a un servidor web
mediano?), hemos de tener presente que los sistemas de detección son
mecanismos automatizados que se instalan y configuran de forma que su
trabajo habitual sea transparente a los operadores del entorno informático.
Otra propiedad, y también como una característica a tener siempre en
cuenta, es la aceptabilidad o grado de aceptación del IDS; al igual que
sucedía con cualquier modelo de autenticación, los mecanismos de
detección de intrusos han de ser aceptables para las personas que trabajan
habitualmente en el entorno. Por ejemplo, no ha de introducir una
sobrecarga
considerable en el sistema (si un IDS ralentiza demasiado una máquina,
simplemente no se utilizará) ni generar una cantidad elevada de falsos
positivos (detección de intrusiones que realmente no lo son) o de
logs, ya que entonces llegará un momento en que nadie se preocupe de
comprobar las alertas emitidas por el detector. Por supuesto (y esto puede
parecer una tontería, pero es algo que se hace más a menudo de lo que
podamos imaginar), si para evitar problemas con las intrusiones simplemente
apagamos el equipo o lo desconectamos de la red, tenemos un sistema bastante
seguro...pero inaceptable.
Una tercera característica a evaluar a la hora de hablar de sistemas de
detección de intrusos es la adaptabilidad del mismo a cambios en el
entorno de trabajo. Como todos sabemos, ningún sistema informático puede
considerarse estático: desde la aplicación más pequeña hasta el
propio kernel de Unix, pasando por supuesto por la forma de trabajar de
los usuarios (>quién nos asegura que ese engorroso procedimiento desde una
`desfasada' línea de órdenes mañana no se realizará desde una
aplicación gráfica, que realmente hace el mismo trabajo pero que genera
unos patrones completamente diferentes en nuestro sistema?), todo cambia
con una periodicidad más o menos elevada. Si nuestros mecanismos de
detección de intrusos no son capaces de adaptarse rápidamente a esos
cambios, están condenados al fracaso.
Todo IDS debe además presentar cierta tolerancia a fallos o capacidad de
respuesta ante situaciones inesperadas; insistiendo en lo que comentábamos
antes sobre el carácter altamente dinámico de un entorno informático,
algunos - o muchos - de los cambios que se pueden producir en dicho entorno
no son graduales sino bruscos, y un IDS ha de ser capaz de responder siempre
adecuadamente ante los mismos. Podemos contemplar, por ejemplo, un reinicio
inesperado de varias máquinas o un intento de
engaño hacia el IDS; esto último es especialmente crítico: sólo
hemos de pararnos a pensar que si un atacante consigue modificar el
comportamiento del sistema de detección y el propio sistema no se da cuenta
de ello, la intrusión nunca será notificada, con los dos graves problemas
que eso implica: aparte de la intrusión en sí, la falsa sensación de
seguridad que produce un IDS que no genera ninguna alarma es un grave
inconveniente de cara a lograr sistemas seguros.
© 2002 Antonio Villalón Huerta