10.4. Investigación de un incidente

Investigar una violación de sistemas es como investigar la escena de un crimen. Los detectives reúnen la evidencia, anotan cualquier pista extraña y hacen un inventario de las pérdidas y daños. Un análisis de un sistema en peligro se puede llevar a cabo mientras el ataque está ocurriendo o post-mortem (después del ataque).

Aún cuando es imprudente confiar en cualquier archivo de registro de un sistema atacado, existen otras utilidades forenses para asistirlo en su análisis. El propósito y características de estas utilidades varían, pero normalmente crean copias imágenes de la media, correlacionan eventos y procesos, muestran información del sistema de bajo nivel y recuperan datos borrados siempre que sea posible.

Es también una buena idea registrar todas las acciones de investigación ejecutadas en un sistema comprometido, usando el comando script, como se muestra en el ejemplo siguiente:

script -q <file-name>

Reemplace <file-name> con el nombre del archivo para el registro script. Siempre guarde el archivo de registro en un lugar diferente al disco duro del sistema atacado — un disquete funciona bien para estos casos.

Mediante el registro de sus acciones, se crea una pista de auditoría que puede ser de utilidad si el atacante es atrapado.

10.4.1. Recopilación de una imagen de la evidencia

La creación de una imagen de bits de la media es un primer paso factible. Es un requerimiento si se esta llevando a cabo un trabajo forense de datos. Se recomienda hacer dos copias: una para análisis e investigación y otra para ser almacenada con la evidencia original para cualquier procedimiento legal.

Puede utilizar el comando dd que es parte del paquete coreutils en Red Hat Enterprise Linux para crear una imagen monolítica de un sistema explotado como evidencia en una investigación o para comparar con copias confiables. Suponga que hay un sólo disco duro en un sistema del cual usted desea hacer una imagen. Conecte esa unidad como un esclavo a su sistema y luego utilice el comando dd para crear el archivo imagen, como se muestra a continuación:

dd if=/dev/hdd bs=1k conv=noerror,sync of=/home/evidence/image1

Este comando crea un archivo único llamado image1 usando un tamaño de bloque de 1k para velocidad. Las opciones conv=noerror,sync obligan a dd a continuar leyendo y descargando datos aún si se encuentran sectores dañados en la unidad sospechosa. Ahora si es posible estudiar el archivo de imagen resultante o hasta intentar recuperar archivos borrados.

10.4.2. Recopilación de información luego de la violación

El tema de análisis forense digital es bastante amplio en sí, sin embargo, las herramientas son la mayoría de las veces específicas a la arquitectura y no se pueden aplicar de forma general. Sin embargo, son importantes los temas de respuestas a incidentes, análisis y recuperación. Con el conocimiento y la experiencia adecuada, Red Hat Enterprise Linux puede ser una plataforma excelente para realizar este tipo de análisis, pues incluye muchas utilidades para restauración y respuesta luego de una violación.

La Tabla 10-1 detalla algunos de los comandos para auditoría y administración de archivos. También lista algunos ejemplos que pueden ser usados para identificar archivos y sus atributos (tales como permisos y fechas de acceso) para que así pueda reunir evidencia adicional de items de análisis. Estas herramientas, cuando se combinan con sistemas de detección de intrusos, cortafuegos, servicios reforzados y otras medidas de seguridad, lo pueden ayudar a reducir los daños potenciales cuando ocurre un ataque.

NotaNota
 

Para más información sobre cada herrramienta, refiérase a sus respectivas páginas del manual.

ComandoFunciónEjemplo
ddCrea una copia de imagen de bits (o descarga del disco) de los archivos y particiones. Combinado con una verificación md5sums de cada imagen, los administradores pueden comparar una imagen de la partición antes de la violación con una imagen del sistema ya violentado para verificar si las sumas coinciden. dd if=/bin/ls of=ls.dd |md5sum ls.dd >ls-sum.txt
grepEncuentra información de texto útil dentro de archivos y directorios así como también revela permisos, cambios de script, atributos de archivos y más. Se usa comúnmente como un comando entubado con otro comando tal como ls, ps, o ifconfigps auxw |grep /bin
stringsImprime las cadenas de caracteres imprimibles en un archivo. Es muy utilizado para auditoría de archivos ejecutables tales como comandos mail a direcciones desconocidas o el registro a archivos de registro que no son estándar.strings /bin/ps |grep 'mail'
fileDetermina las características de archivos basados en formato, codificación, bibliotecas que enlaza (si hay alguna) y el tipo de archivo (binario, de texto, etc). Es muy útil para determinar si un archivo ejecutable tal como /bin/ls ha sido modificado usando bibliotecas estáticas, las cuales son una señal segura de que un ejecutable ha sido reemplazado con otro instalado por un usuario malicioso.file /bin/ls
findBusca en directorios por archivos particulares. Es una herramienta útil para revisar la estructura de directorios por palabras clave, fecha y hora de acceso, permisos, etc. Esto puede ser de gran ayuda a los administradores que realizan auditorías generales de sistemas de directorios o archivos particulares. find -atime +12 -name *log* -perm u+rw
statDespliega información varia sobre un archivo, incluyendo la última vez que este fue accesado, permisos, configuraciones del bit de UID y GID, etc. Es muy útil para verificar cuando fue la última vez que un ejecutable de un sistema violado fue modificado o usado.stat /bin/netstat
md5sumCalcula la suma de verificación de 128 bit usando el algoritmo tipo hash md5. Puede usar el comando para crear un archivo de texto que liste todos los archivos ejecutables cruciales que son a menudo modificados o reemplazados durante un ataque de seguridad. Redirige las sumas a un archivo para crear una base de datos simple de sumas de verificación y luego copia el archivo a una media de sólo lectura tal como un CD-ROM.md5sum /usr/bin/gdm >>md5sum.txt

Tabla 10-1. Herrramientas de auditoría de archivos