"Security & Pure Forensics"

.

jueves, 4 de octubre de 2012

CLOUD FORENSICS (La nube, Amazon y el análisis forense)

Hola lectores,

Ni que decir tiene las ventajas de vivir en la nube, prácticamente todo se desarrolla bajo esta nueva forma de acceder a los datos y aplicaciones, La irrupción de estos servicios han cambiado la forma tradicional de trabajar y ahora los datos se encuentran distribuidos en cientos o miles de servidores. El acceso universal, los datos al momento y el auge del ancho de banda nos permiten otras reglas del juego inimaginable hace unos años. 

La nube no es algo nuevo es una reinvención (como muchas cosas del mundo de la informática) recuerdo mis diez años en  banca y ya apreciábamos el concepto de nube. ¿Qué es si no el dinero digital? Cuando haces un ingreso en tu oficina tus euros se reconvierten en ceros y unos y son distribuidos en discos por el ciberespacio.

Recuerdo que a finales de los años 90, los técnicos de Amazon se dieron cuenta que tenían una gran infraestructura pero que apenas utilizaban un pequeño porcentaje de su capacidad. Más tarde presentaron los Servicios que hoy ya conocemos e inundando de conceptos como IaaS, SaaS, LaaS.

Pero las ventajas son evidentes y están ahí, ahorro de costes de infraestructura, copias de seguridad, delegación en la continuidad de negocio, etc.

PROBLEMÁTICA DEL CLOUD

Al hacer uso del cloud computing una parte importante de la seguridad del sistema recae sobre la empresa que provee los servicios en la nube y como no le aplica la LOPD y su reglamento., LSSI y el código penal en el caso de que estuviera en España. Pero ante un caso de fraude de los muchos que conocemos la cosa se puede complicar hasta extremos inimaginables.

En el caso tradicional en el que el perímetro estaba más o menos controlado tenía cabida el análisis forense de una forma exhaustiva, pero ahora que el perímetro se ha extendido hacia la nube nos deja un problema mayor.




En el caso de que los datos se encuentren en la nube y tengamos que analizar un caso de fraude nos vamos a encontrar con la siguiente problemática:

  • No disponemos de control de datos
  • No hay acceso a la infraestructura física
  • Debemos de contemplar aspectos legales de la jurisdicción entre países y multipropiedad (Proveedor del servicio - Cliente)
  • Falta de herramientas para ampliar la escala (Copia de discos, integridad ,análisis)
  • Sistemas distribuidos y virtuales (y lo que es peor, compartidos con otras empresas ajenas al fraude)
  • No hay interfaces estándar( ya que cada proveedor de la nube utiliza los propios o APIs públicas)
  • Normalmente no suelen cooperar (Normalmente requieren actuación judicial)
  • Dificultades en la obtención de pruebas forense (Obtención de logs, explotación, evidencias dispersas)
  • Dificultad de constatar esas pruebas en los tribunales (Normalmente el proveedor del servicio utiliza sistema de almacenamiento distribuido y que cambia según necesidades)
Por lo tanto podríamos decir que la visión tradicional de un caso forense está muy complicada en un entorno 'Cloud'. Para ello me vais a permitir poner un ejemplo que escenifique todo esto:

ADQUISICIÓN DE DISCOS EN LA NUBE DE AMAZON

Consideremos un ejemplo, donde un ordenador se ha utilizado para planear un asesinato. Si la policía retira el disco duro para la realización de las  imágenes, deben de confiar en su hardware clonador para leer el disco correctamente. Si se ejecutan herramientas forenses en el equipo en vivo, puede que tengan que confiar en la integridad del sistema operativo anfitrión, además del hardware. Es decir es una confianza limitada a sus aptitudes y equipamiento.

Si el equipo sospechoso es alojado en la nube (por ejemplo en Amazon), se tienen que pedir permisos judiciales para su acceso, por lo que el tiempo se maximiza. Por otro lado las herramientas forenses que dispone la policía no son adecuadas para la clonación y a buen seguro que no se fían del proveedor del servicio para la ejecución de programas forenses en un caso tan delicado como es un asesinato.

Entonces dado que el equipo está en Amazon, consideremos ahora cómo llevar a cabo una extracción del disco de IaaS de cloud computing, considerando las posibilidades que tenemos.

Previamente debemos entender la nomenclatura que utiliza Amazon y de la cual he creado una diapositiva para su mayor comprensión de las definiciones S3, EBS, EC2 y AMI


El paso principal una vez ya iniciada la sesión en Amazon Web Services, es analizar una copia del volumen, o una instantánea. En Amazon los discos duros virtuales son llamados Elastic Block Storage (EBS) y los volúmenes Simple Storage Service (S3), y aunque no están disponible para su descarga podemos hacer lo siguiente.

POSIBILIDAD 1

  • Crear una instantánea de una unidad  





  • Una vez creada la instantánea, crear un volumen sobre ella, adjuntar el nuevo volumen como solo lectura y luego crear una imagen de disco del volumen que en este caso podría ser descargado. Para ello podemos emplear la siguiente secuencia de comandos:

  • # ec2-bundle-vol-k <private_keyfile> -c <certificate_file> -u <user_id>
    NOTA:  El <private_keyfile> es el archivo que contiene la clave privada, <certificate_file> es el archivo que contiene el certificado y <user_id> es el ID asociado con su cuenta de AWS.


POSIBILIDAD 2
  • La segunda posibilidad es para separar el volumen del host que se investiga, adjuntarle a una instancia en EC2 Linux, y utilizar una copia de bajo nivel (por ejemplo la herramienta dd ) para crear una copia que puede ser almacenado en S3 y en última estancia descargarlo.
  • Una vez que disponemos del disco su examen es idéntico al que haríamos con nuestras herramientas de toda la vida. Por otro lado como nos podemos conectar por SSH o RDP en Windows podemos utilizar volcados de memoria a disco o procesos en concreto.
POSIBILIDAD 3
  • Amazon ofrece un servicio (AWS) para exportar datos de S3 en un dispositivo físico y enviarlo al solicitante. Extrae y transfiere los datos a dispositivos de almacenamiento utilizando la red interna de alta velocidad de Amazon, sin tener que pasar por Internet.
  • El cliente debe proporcionar el dispositivo de almacenamiento y se cobra entre 80$ y 140$ (depende el tamaño) por dispositivo de almacenamiento utilizado. Además 2,49$ de datos por hora.
  • La petición se realiza desde el panel de control y se genera lo siguiente durante la realización del proceso
  • AWS guarda un informe del registro de exportación en su compartimento de registro específico. El informe contiene información por archivo, que incluye la fecha y la hora de la transferencia, la situación de su dispositivo de almacenamiento, la suma de comprobación de HASH y el número de bytes.
  • El problema es que no manda un clonado de disco tan solo los datos copiados.

OTRAS POSIBILIDADES - UTILIZANDO FTK

En este caso lo mejor es utilizar una suite de herramientas que permitan el volcado del disco para su posterior análisis. Hemos utilizado la suite FTK de Accesdata y más en concreto RDMS (Remote Data Mounting Services) que permite  la capacidad de adquirir una imagen forense de una unidad remota física o lógicas. Como curiosidad la transmisión utiliza SSL para el envío de datos entre el agente y el equipo del analista.

Los pasos son sencillos:

Añadiendo el agente

Añadiendo la ip y el puerto del agente

Instalación

Objetos que se pueden recopilar

Adquisición de imágenes y generación de huella

Una vez seleccionadas las opciones empieza la transferencia a nuestro equipo desde la nube. El tiempo de transferencia es considerable dependiendo del ancho de banda. Cuando tengamos el disco es cuestión de aplicar nuestras técnicas de análisis.

FORENSICS CAPABILITY MODEL

No nos asustemos, no he inventado un estándar, solo que el titulo me ha parecido correcto dado que visto como evoluciona el servicio informático habrá que diseñar un conjunto de estrategias para que proveedores del servicio y clientes puedan disponer de un framework donde tenga cabida el análisis forense y poder determinar pistas en caso de fraude.

Desgraciadamente muchas de las herramientas que disponemos del estilo 'open source' dejarán de tener uso al no disponer de control de los routers, cortafuegos o simplemente los logs de acceso. Deberemos de tener una política clara en la parte legal y en la parte de la empresa habrá que pensar que la fuga de datos es más sencilla que nunca.

Por lo tanto, es conveniente:
  • Disponer de un sistema centralizado de logs de infraestructura y logs de aplicación.
  • Un sistema de análisis de eventos basado en la información proporcionada por los logs
  • Un sistema de patrones e inteligencia
  • Tecnología DLP para el puesto de trabajo y dispositivos móviles
  • Procedimientos para empleados y proveedores del servicio
  • Procedimientos legales y técnicos para la adquisición de datos o discos en la nube y/o su cadena de custodia
  • Procedimientos de cifrado de la información a subir a la nube y de borrado seguro de estos una vez que no se necesitan.
Mientras tanto deberemos de hacer una reflexión y pensar si los que nos suministran servicio en la nube cuentan  con medidas de seguridad fiables. De lo contrario, el servicio perderá a todos sus clientes. Está en su interés emplear las técnicas más avanzadas para proteger los datos de sus clientes ya que el próximo fraude que está por llegar esta en la nube.

5 comentarios:

Muchas gracias por esta guía de actuación Pedro. Como siempre muy bien explicado, de forma práctica y clara.


Santiago

Pedro como siempre geniales tus entradas, que buena explicación y visión sobre los procesos forenses en cloud, que son cada día más comunes y más complejos por todo lo que implican

Una gran solución para una tremenda nueva problemática.