En alguna ocasión tuve la oportunidad de responder a un incidente de seguridad en una importante organización que fue víctima de un atacante, quien logró realizar transacciones millonarias no autorizadas en la base de datos de esta empresa. Desafortunadamente la organización no estaba preparada  para un evento de esta naturaleza y no fue posible identificar el origen del ataque. En este artículo explicaré las actividades de preparación que, de haberse realizado, hubieran proporcionado una mayor probabilidad de éxito en la investigación del incidente.

..

1.- Sincronizar los dispositivos de red y de host mediante el protocolo NTP.

El protocolo NTP (network time protocol) sincroniza los dispositivos de red como switches, ruteadores, firewalls, equipos de cómputo, etcétera. La sincronización se refiere a ajustar los tiempos de reloj de los dispositivos al mismo reloj de referencia. De no realizarse esta actividad de fácil implementación se puede entorpecer enormemente la investigación forense digital.

.

2.- Habilitar y preservar bitácoras de auditoría.

En muchas ocasiones, los administradores de los servicios se conforman con que sus sistemas se encuentren operacionales, pero es importante ir más allá y asegurarse de garantizar la rastreabilidad de las operaciones ejecutadas, por lo menos en los equipos que son críticos para el negocio o bien en los que manejan información sensible del negocio. Las bitácoras pueden contener información confidencial, así que deben protegerse con controles tanto físicos como lógicos. A continuación enlisto las bitácoras de auditoría que, en términos generales, es más importante habilitar y preservar[i]:

  • Base de datos: bitácora transaccional y de conexiones directas a la base. Es necesario realizar un análisis de línea base para dimensionar qué tan rápido crecerán las bitácoras y definir los procedimientos para enviarlas a cintas o respaldos fuera de línea. Así mismo debe balancearse el costo, impacto y beneficios de las medidas de seguridad[ii], ajustar de forma granular la auditoría, considerando las operaciones críticas, por ejemplo la tabla de usuarios y contraseñas, o la tabla de saldos, en el caso de los sistemas financieros.

Ejemplos: bitácoras general y binaria en MySQL, bitácoras redo y listener en Oracle.

  •  Servidor Web: habilitar las bitácoras del servidor Web, tanto de acceso como de error y asegurarse de registrar tanto el método POST como el método GET.

Ejemplos: access.log y error.log de Apache y log de conexiones de IIS.

  • Bitácoras de DHCP: En caso de utilizarse el protocolo DHCP, que asigna de manera dinámica configuración IP a un dispositivo final, las bitácoras permiten asociar el dispositivo físico, por medio de su dirección MAC, a la dirección IP asignada por el servidor DHCP.

Ejemplos: mensajes de asignación de configuración IP de DHCP (leases).

  • Bitácoras de firewall de red: almacenan información del tráfico entrante y saliente desde y hacia la red de datos, así como de las traducciones de direcciones IP (NAT) realizadas por el firewall y, en algunos casos, de las conexiones realizadas de forma remota mediante el protocolo VPN.

Ejemplos: bitácora de conexiones del firewall de la organización. La mayoría de los fabricantes de este tipo de dispositivos proveen la funcionalidad y es solo cuestión de habilitarla.

  • Bitácoras de firewall de host: almacenan información del tráfico entrante y saliente desde y hacia un equipo final.

Ejemplos: bitácora del firewall de Windows, bitácora de firewall iptables o packet filter en sistemas basados en plataforma UNIX.

  • Bitácora de IDS/IPS: brinda información sobre actividad sospechosa  del tipo de ataque que se haya presentado en la red. En caso de contar con la funcionalidad adicional de prevención de intrusiones, la bitácora debe indicar la acción realizada por el dispositivo.
  • Eventos de autenticación: en entornos empresariales que usan la tecnología de acceso mediante directorios, como directorio activo, es fundamental habilitar el registro de los eventos de autenticación exitosos así como de los fallidos. Estas bitácoras proporcionan indicios de que se realizó la autenticación desde una dirección IP y una cuenta de usuario en específico. Los intentos fallidos proveen indicios de ataques de adivinación de contraseña y fuerza bruta. Ejemplos: en el controlador de dominio de Windows el inicio y fin de sesión exitoso se registra en los eventos con ID 528 y 540 y los fallidos en los eventos con ID 529-537.  En sistemas basados en UNIX los eventos de autenticación se registran  en la bitácora auth o security logs, normalmente ubicados en el directorio /var/log.
  • Tecnologías de acceso remoto: en caso de utilizarse una tecnología de acceso remoto, como terminal services, VPN, escritorio remoto, alguna variante de VNC o TeamViewer, deben habilitarse las bitácoras que indiquen los eventos de acceso de usuarios con fecha y hora. Ejemplos: TeamViewerx_Logfile.log de la aplicación Team Viewer y bitácora de conexiones de terminal services.
  • Eventos de sistema operativo: proporcionan valiosa información sobre el uso de un equipo final. En sistemas operativos basados en Windows, esta información estará en las bitácoras de eventos, así como el registro de Windows[iii]. En sistemas basados en UNIX, estará en las bitácoras del sistema manejadas por syslog.

Ejemplo: bitácoras de sistema, seguridad y aplicación en Windows. Bitácora del directorio /var/log para sistemas basados en UNIX y log de historial de comandos ejecutados por los usuarios (.bash_history para sistemas con bash).

 .

3.- Implementar repositorios centralizados de bitácoras.

En caso de que un atacante logre acceder a un sistema crítico y obtener privilegios de súper usuario, probablemente eliminará sus huellas de ese sistema. Si contamos con un repositorio centralizado de eventos, ya sea un servidor syslog o un correlacionador, se preservarán los indicios de esa actividad no autorizada para su posterior investigación. Es recomendable usar un canal cifrado para enviar la información a los repositorios a fin de proteger la confidencialidad de la información mientras se encuentra en tránsito. A continuación enlisto los mecanismos más comunes que se usan para la centralización de bitácoras:

  • Syslog: se basa en el protocolo de red Syslog, el cual se configura en los equipos donde se originan los eventos para enviarlos al equipo configurado como repositorio de bitácoras de eventos. Tiene una especificación de múltiples orígenes (llamados facilidades) incluyendo eventos de seguridad y autenticación así como niveles de severidad. En conjunto estos dos parámetros permiten identificar fácilmente la información de interés en una investigación forense de red.
  • Correlacionador de eventos: además de almacenar los eventos, cuenta con capacidad de análisis de reglas, correlación y seguridad proactiva. Obtiene información de varios canales y normaliza las bitácoras en un formato estandarizado. Esta fuente de información es tan buena como las reglas desarrolladas por el analista que las configuró, así que es conveniente comparar los datos normalizados contra las bitácoras originales.

 .

4.- Capacitar al personal.

Es fundamental contar con personal operativo con los conocimientos necesarios para contener el incidente y preservar las fuentes de información necesarias para realizar la respuesta inicial oportuna ante un incidente de seguridad. De no ser así, los indicios podrían sobrescribirse en cuestión de minutos u horas, dependiendo de su nivel de volatilidad, lo cual podría ser fatal para la investigación. Es importante que el personal lleve un registro escrito de todas las acciones realizadas durante la contención del incidente, así como la fecha y hora en que fueron realizadas.

 .

5.- Implementar controles.

Desarrollar controles normativos, tecnológicos y operativos que incluyan políticas y procedimientos, preferentemente a través de regulaciones de aceptación internacional, como el estándar ISO-27001 y a través de regulaciones en función del negocio como lo es PCI para organizaciones que manejan información de tarjetas de crédito, CNBV para el sector financiero, HIPPA para el sector salud y la Ley Federal de Protección de Datos Personal en Posesión de Particulares. Estos controles proveen el mejor soporte para casos con alcance legal y reducen los riesgos asociados al manejo del incidente. Además, los controles deben incluir actividades de auditoría para asegurar que los procesos y procedimientos se ejecuten correctamente.

.

Realizar las actividades descritas en este artículo implica invertir tiempo, dinero y esfuerzo, pero no realizarlas puede implicar una mayor pérdida, incluso de la reputación, o hacerse acreedores a sanciones por incumplir regulaciones oficiales.  Aplicar estas medidas es una tarea compleja y se debe realizar como un proyecto planeado, administrado y controlado, con el  fin de impactar al mínimo las operaciones del negocio. En tales circunstancias la consultoría de una empresa externa especializada en seguridad informática  incrementa el éxito de un proyecto de esta naturaleza.

[email protected]


 

[i] http://csrc.nist.gov/publications/nistpubs/800-86/SP800-86.pdf

[ii] http://www.gartner.com/id=1950716

[iii] http://www.ultimatewindowssecurity.com/securitylog/encyclopedia/Default.aspx