Ejemplo de actuaci�n

Veamos con m�s detenimiento algunos de estos pasos, teniendo en cuanta que se deber�a documentar cada una de las actuaciones que se van realizando en el equipo de forma que se pueda averiguar que comandos se han ejecutado para localizar los ficheros, donde se encontraban, etc.[1]

Copia de los datos

Aunque existan copias de seguridad del equipo, es conveniente hacer una copia con la informaci�n que hay en el sistema cuando se detecta el ataque. Dependiendo de la situaci�n puede ser conveniente incluso hacer una "copia" de los procesos que se est�n ejecutando en ese momento en el equipo, espacio de intercambio (swap) conexiones activas, etc, sin embargo normalmente basta con realizar una copia, [2] a ser posible a bajo nivel, de los datos del sistema.

En equipos Unix se puede realizar una copia de las particiones del sistema de ficheros, empleando el comando dd, y volvar los contenidos a otra partici�n o fichero, sin embargo es preferible volver los contenidos a otro equipo empleando por ejemplo el programa Netcat

Lo m�s conveniente es arrancar el equipo desde un disquete de rescate, CDROM o cinta de instalaci�n y realizar la copia en modo monousuario, de forma que no se empleen los programas que est�n instalados en el equipo. Un ejemplo de esta cop�a ser�a:

victima# dd if=/dev/particion of = - | gzip -9 | nc equipo remoto -p 100

y en el equipo remoto hacer:

analisis$ nc -s -p 1000 > particion.dd.gz

Esta acci�n habr�a que repetirla con cada una de las particiones del equipo atacado, incluyendo la partici�n de SWAP.

Otra posibilidad es conectar los discos a un equipo y realizar la copia a bajo nivel, empleando discos duros de iguales caracter�sticas (mismo modelo ) y haciendo de nuevo una copia a bajo nivel con dd, aunque as� tenemos que apagar el equipo.

analisis# dd if=/dev/sda of=/dev/sdb 

En cualquier caso es conveniente realizar estas copias a bajo nivel para poder restaurar los datos en caso de que ocurra alg�n problema al analizar los ficheros, adem�s esto permitir� el an�lisis de los ficheros, buscando las fechas de modificaci�n de �stos.

An�lisis de la intrusi�n

La primera acci�n que hay que realizar es comprobar todos los programas y ficheros de configuraci�n instalados en el equipo.

En nuchos ataques lo primero que hace el atacante es modificar los programas y herramientas del sistema para ocultar su acceso, adem�s suelen modificar los ficheros de configuraci�n para crear nuevos usuarios, permitir accesos desde determinadas m�quinas, etc, de forma que puedan acceder de una forma m�s c�moda con posterioridad al equipo.

En caso de que el an�lisis se realize en el mismo disco hay que tener en cuenta que el atacante ha podido modificar algunos de los binarios y librer�as del sistema, por lo que conviene emplear, si es posible, comandos compilados estaticamente en otro equipo, o montar / copiar los comandos desde una m�quina de confianza, para evitar que los programas modificados por el atacante nos oculten la informaci�n del equipo.

En un caso ideal, el administrador del sistema deber�a disponer de una base de datos de integridad en un dispositivo de almacenamiento externo al equipo, para poder comprobar los ficheros empleando productos como Tripwire, AIDE, VipperDB, etc. que realizan una firma digital de los ficheros instalados en los equipos.

Aunque no se disponga de alguna de estas herramientas se pueden emplear otras t�cnicas para verificar la integridad de los ficheros, como:

El empleo de scripts de comprobaci�n de integridad autom�ticos, que cada cierto tiempo comprueben que los ficheros no han sido modificados, ya sea empleando el sistema de gesti�n de paquetes o alg�n programa de los comentados antes, permite muchas veces detectar cuando se ha producido un ataque, Esto sucedi� hace poco en un servidor de desarrollo del proyecto Apache [4] Es conveniente examinar los ficheros de configuraci�n y ficheros en cuantas de usuarios:

Hay que examinar tambi�n los ficheros de logs, ya que aunque los atacantes suelen borrarlos otras veces el borrado no es completo, por lo quedan rastros de la intrusi�n, es conveniente tener los logs de todos los equipos centralizados, empleando el syslog.

La informaci�n de los ficheros de logs depender� de como este configurado el syslog de cada equipo y de los rastros que haya borrado el atacante, se debe buscar informaci�n en:

Muchas veces aunque los atacantes suelen borrar los ficheros de logs, es posible emplear el Coroner's Toolkit, mencionado en la bibiliograf�a para recuperar la informaci�n contenida en el espacio ocupado por los ficheros borrados y despu�s an�lizar los resultados.

An�lisis de los datos

Cuando se produce un incidente de seguridad en un equipo es siempre conveniente realizar un an�lisis del equipo o equipos atacados, siguiendo los pasos que se han comentado anteriormente, para as� intentar averiguar desde donde se produjo el ataque, que vulnerabilidad empleo para acceder al equipo, que acciones realiz� en el equipo, nivel de destreza del atacante, etc.

De esta forma se debe intentar determinar los motivos por los que el ataque tuvo exito, de forma que se puedan tomar las medidas oportunas para que no se vulva a producir

Reinstalaci�n del equipo

Una vez que se ha determinado las causas del ataque se debe proceder a eliminar los rastros del ataque y configurar el equipo para que no se vuelvan a producir estos ataques. Si la versi�n del sistema operativo es algo antigua es un buen momento para instalar una versi�n mas actualizada del equipo. Igualmente si se disponen de copias de seguridad anteriores al ataque se puede restaurar las copias (aunque convendr�a comprobar si los ficheros de la copia de seguridad no han sido modificados). o proceder a reinstalar solamente los ficheros o paquetes modificados.

Una vez que se tiene el sistema operativo "limpio" proceder a instalar los parches de seguridad que hayan salido para esta versi�n del equipo, eliminar los servicios de red que no sean precisos, etc. Existen diversas guias de configuraci�n en este sentido.

Notificaci�n del ataque

Muchas veces los equipos atacados son empleados para lanzar ataques a otros sistemas, por lo que no necesariamente el equipo origen de un ataque es "culpable", muchas veces este equipo ha sido a su vez atacado y si se avisa al administrador se puede conseguir que este tambi�n corrija los problemas de seguridad que hay en este equipo.

Los atacantes muchas veces han realizado inicialmente un barrido buscando equipos vulnerables, por lo que una notificaci�n a los administradores de la red en la organizaci�n del ataque puede ayudar a descubrir problemas de seguridad a nivel global.

Este es uno de los motivos por los cuales desde los grupos de seguridad de diversos organismos, se solicita que se envi� notificaci�n de todos los incidentes de seguridad "sufridos" por los equipos, de forma que se pueda tener una visi�n global de los ataques que se est�n produciendo.

El procedimiento de actuaci�n, en general, de los grupos de seguridad es intentar contactar con los responsables de las organizaciones origen del ataque, para avisarles de que hay un equipo que ha podido ser atacado, de esta forma se intenta evitar que existan equipos "trampolin" empleados para atacar impunemente otros equipos.

Notas

[1]

Se puede emplear el comando script para ir generando un fichero con todos los programas que se ven ejecutando.

[2]

Esto es especialmente importante en el caso de que se este realizando un an�lisis con vista a un proceso judicial, en, ya que si se ha operado directamente sobre los datos originales, los datos obtenidos ser�n invalidados

[3]

Este es uno de los motivos por los cuales siempre que sea posible se debe realizar la instalaci�n de los programas mediante el sistema de paquetes del sistema operativo, de forma que se tenga informaci�n fiable sobre los programas instalados en el equipo.

[4]

Consultar la lnota de prensa del 19 de Mayo del 2001

[5]

Por ejemplo, el comando vi con setuid de root, podr�a permitir la edici�n de ficheros, pero adem�s al salir a un shell con ":!" este se ejecutar�a como root.