A pesar de que un enfoque clásico de la seguridad de un sistema informático
siempre define como principal defensa del mismo sus controles de acceso (desde
una política implantada en un cortafuegos hasta unas listas de control de
acceso en un router o en el propio sistema de ficheros de una máquina),
esta visión es extremadamente simplista si no tenemos en cuenta que en muchos
casos esos controles no pueden protegernos ante un ataque ([Lun90]).
Por poner un ejemplo sencillo, pensemos en un firewall donde hemos
implantado una política que deje acceder al puerto 80 de nuestros
servidores web desde cualquier máquina de Internet; ese cortafuegos
sólo comprobará si el puerto destino de una trama es el que hemos decidido
para el servicio HTTP, pero seguramente no tendrá en cuenta si ese
tráfico representa o no un ataque o una violación de nuestra política
de seguridad: por ejemplo, no detendrá a un pirata que trate de acceder al
archivo de contraseñas de una máquina aprovechando un bug del servidor
web. Desde un pirata informático externo a nuestra organización a un
usuario autorizado que intenta obtener privilegios que no le corresponden en un
sistema, nuestro entorno de trabajo no va a estar nunca a salvo de
intrusiones.
Llamaremos intrusión a un conjunto de acciones que intentan
comprometer la integridad, confidencialidad o disponibilidad de un recurso
([HLMS90]); analizando esta definición, podemos darnos cuenta de que
una intrusión no tiene por qué consistir en un acceso no autorizado a una
máquina: también puede ser una negación de servicio. A los sistemas
utilizados para detectar las intrusiones o los intentos de intrusión
se les denomina sistemas de detección de intrusiones (Intrusion
Detection Systems, IDS) o, más habitualmente - y aunque no sea la
traducción literal - sistemas de detección de intrusos; cualquier
mecanismo de seguridad con este propósito puede ser considerado un IDS, pero
generalmente sólo se aplica esta denominación a los sistemas automáticos
(software o hardware): es decir, aunque un guardia de seguridad
que vigila en la puerta de la sala de operaciones pueda considerarse en
principio como un sistema de detección de intrusos, como veremos a
continuación lo habitual (y lógico) es que a la hora de hablar de IDSes no
se contemplen estos casos.
Una de las primeras cosas que deberíamos plantearnos a la hora de hablar
de IDSes es si realmente necesitamos uno de ellos en nuestro entorno de trabajo;
a fin de cuentas, debemos tener ya un sistema de protección perimetral basado
en cortafuegos, y por si nuestro firewall fallara, cada sistema
habría de estar configurado de una manera correcta, de forma que incluso
sin cortafuegos cualquier máquina pudiera seguirse considerando relativamente
segura. La
respuesta es, sin duda, sí; debemos esperar que en cualquier momento
alguien consiga romper la seguridad de nuestro entorno informático, y por
tanto hemos de ser capaces de detectar ese problema tan pronto como sea posible
(incluso antes de que se produzca, cuando el potencial atacante se limite a
probar suerte contra nuestras máquinas). Ningún sistema informático puede
considerarse completamente seguro, pero incluso aunque nadie consiga
violar nuestras políticas de seguridad, los sistemas de detección de
intrusos se encargarán de mostrarnos todos los intentos de multitud
de piratas para penetrar en nuestro entorno, no dejándonos caer en ninguna
falsa sensación de seguridad: si somos conscientes de que a diario hay gente
que trata de romper nuestros sistemas, no caeremos en la tentación de pensar
que nuestras máquinas están seguras porque nadie sabe de su existencia o
porque no son interesantes para un pirata.
Los sistemas de detección de intrusos no son precisamente nuevos: el primer
trabajo sobre esta materia ([And80]) data de 1980; no obstante, este
es uno de los campos más en auge desde hace ya unos años dentro de la
seguridad informática. Y no es extraño: la capacidad para detectar y
responder ante los intentos de ataque contra nuestros sistemas es realmente
muy interesante. Durante estos veinte años, cientos de investigadores de
todo el mundo han desarrollado, con mayor o menor éxito, sistemas de
detección de todo tipo, desde simples procesadores de logs hasta
complejos sistemas distribuidos, especialmente vigentes con el auge de las
redes de computadores en los últimos años; una excelente perspectiva
histórica de algunos de ellos puede encontrarse en [Lis95] o
[Axe98].
© 2002 Antonio Villalón Huerta