Hola,
Lo primero disculparme por la falta de cadencia en la publicación, pero la verdad, entre la carga de trabajo y que el tiempo libre lo acaba uno dedicando a mil cosas que no implican el uso de un teclado, lo cierto es que hace bastante que no dedico al blog -a vosotros- el tiempo y atención necesarias. Espero me disculpéis.
Hoy quiero hablar un poco sobre cifrado y análisis forense. No será un artículo técnico, es sólo un poco de opinión y alguna que otra idea operativa que quiero compartir con vosotros.
El cifrado de medios de almacenamiento, especialmente en medios portátiles, se está popularizando de una manera gradual, y las razones son obvias: se trata de impedir el acceso ilegítimo a los datos en un evento de pérdida, robo o descuido. Queda mucho por hacer, y son muchas las corporaciones que ni contemplan soluciones de cifrado para ninguno de sus medios, ya sean discos duros en portátiles, almacenamiento en tabletas o discos removibles. En cuanto al segmento del usuario doméstico, la situación no es más halagüeña, aunque los sistemas más modernos le ponen en bandeja a los usuarios la utilización total o parcial de medios cifrados ya sea de una manera nativa, mediante Bitlocker en Windows, FileVault en Mac OS, volúmenes cifrados en Linux, o mediante el empleo de soluciones comerciales y libres no nativas que están disponibles en el mercado.
Desde el punto de vista de la seguridad y la privacidad, los beneficios son obvios, y el sacrificio de recursos es cada vez menor. Atrás quedaron los problemas en el descenso del rendimiento de las máquinas, especialmente en el I/O del almacenamiento, con lo que es saludable recomendar el cifrado hoy más que nunca. Sin embargo, desde el proceso de la investigación forense, la popularización de medios cifrados está provocando un cambio en el paradigma del análisis que requiere una mínima reflexión.
Conviene distinguir dos tipos de escenario, aquel en el que el medio está cifrado de una manera independiente sin relación con un esquema de gestión, y aquel en el que el medio pertenece a un sistema de gestión de cifrado. El motivo para hacer esta distinción no es otro que, en el caso de modelos de cifrado centralizados, existen opciones que no existen en el cifrado independiente, y que pueden suponer una ventaja en el proceso de análisis como veremos a continuación.
Medios de almacenamiento cifrados de manera independiente
En el cifrado independiente poco se puede hacer. La única manera de poder acceder a los datos y realizar el análisis forense no es otra que proceder al descifrado, y esto, salvo la presencia de un cifrado débil que pueda ser comprometido, sólo es posible si se conocen las claves. No hay más alternativa y así de simple es la aproximación: sin claves no hay nada que hacer. Siempre es factible la fuerza bruta, porque algunos usuarios recurrirán a claves débiles, y siempre es posible operar en el medio si el cifrado afecta sólo a una porción del mismo o a ficheros independientes.
En caso que el cifrado sea del medio completo, sin claves no hay nada que hacer, aunque conviene dedicar un poco de tiempo a ver si el usuario, en un descuido, ha dejado las claves de recuperación de emergencia en alguna ubicación que no esté cifrada. Caso de que sólo sean ficheros independientes o porciones las que están cifradas, como por ejemplo carpetas, siempre se puede realizar un examen tradicional de espacio asignado y no asignado y sacrificar los datos que puedan estar presentes en dichas porciones con la esperanza de encontrar evidencias suficientes sin cifrar.
Medios de almacenamiento integrados en soluciones de gestión de cifrado
En soluciones corporativas de cifrado jugamos con una pequeña ventaja, y es que es normal poner a disposición del usuario mecanismos de recuperación de emergencia así como métodos centralizados de asignación de claves. El caso más usual es el método de challenge-response, mediante el cual se puede facilitar al usuario el acceso al medio en caso de que haya perdido su clave. Las soluciones corporativas ofrecen más mecanismos interesantes, como la transferencia de claves, la vinculación de la clave de cifrado a la clave del directorio de identidad que se emplee para autenticar al usuario en la red o la posibilidad de crear políticas de descifrado específicas para ciertos usuarios y máquinas. Todas estas funcionalidades pueden y deben ser aprovechadas para intentar culminar el análisis.
En un evento de investigación prototipo, en el que el usuario no coopera revelando la clave, existen diversas aproximaciones posibles, cada cual con sus ventajas e inconvenientes. Antes de proceder, dado que el descifrado puede provocar pérdida irreparable, es conveniente realizar un clonado del medio para poder trabajar con una copia. Prestad atención a este proceso, ya que las soluciones de cifrado agregan al sistema de ficheros cambios dramáticos en la composición, y en caso de que omitamos el código de arranque, la copia servirá de bastante poco. Clonado bit a bit.
Una vez obtenida la copia de trabajo, y salvaguardado el original, estos son los mecanismos posibles
- Arrancar el disco cifrado en una máquina virtual o en un equipo físico, e invocar el proceso de challenge-response para poder acceder al sistema operativo. Una vez dentro, realizamos el análisis en ejecución y si se desea, se invoca la desinstalación del software de cifrado, que en la gran mayoría de los casos, provocará el descifrado del medio. Una vez descifrado, el medio será un medio convencional que puede ser procesado de una manera tradicional
- Otra posibilidad es conectar el disco en modo esclavo a una estación que contenga el software de cifrado, transferir las claves del medio al investigador y usarlas para acceder al medio. Una vez accedido, se puede lanzar una imagen lógica (la del disco completo volvería a ser una imagen cifrada) o se pueden extraer mediante copia selectiva los elementos que interesen
- Por último, es posible conectar el disco en modo esclavo a una estación que contenga el software de cifrado, transferir las claves del medio al investigador y forzar el descifrado en frío, sin ejecución del sistema
Ninguno de los métodos es perfecto, y resulta obvio el porqué. Arrancar el sistema implica provocar cambios en el sistema a analizar que, en determinadas circunstancias, podrían invalidar la cadena de custodia si las modificaciones no son trazables. Conectar el disco nos impide ver el sistema en ejecución, con las ventajas que esto acarrea, ya no sólo por la observación de las evidencias volátiles, sino por la posibilidad de poder descifrar en ejecución, aunque también es cierto que la amplia mayoría de soluciones centralizadas permite el descifrado en frío.
Donde existe menos claridad y donde no siempre está claro el impacto sobre el análisis es en el proceso de descifrado del medio, ya que salvo raras excepciones, el cifrado afecta a cada sector del disco, y una vez se haya finalizado el proceso de reversión, no existen garantías de que el espacio slack y espacio sin asignar permanezcan inalterados, lo que impide realizar, por ejemplo, un carving para localizar elementos huérfanos o eliminados en el sistema. De entrada hay que suponer que la sobreescritura de cada sector provocada por el cifrado-descifrado provoca la pérdida de la información en las porciones sin asignar, lo que debe hacernos plantear otros mecanismos para recuperar elementos eliminados del sistema.
A modo de propuesta, estos son los pasos que deben considerarse:
- Obtención de clones para trabajar y custodia de originales
- Conexión esclava y extracción de ficheros y carpetas mediante copia profunda (incluyendo los ficheros del sistema)
- Inicialización del sistema operativo para realizar una inspección con el mismo en ejecución
- Descifrado del medio
- Obtención de una imagen del medio descifrado
- Obtención de una línea temporal del medio descifrado
- Aplicación de técnicas convencionales en el medio descifrado
Espero que estas ideas os ayuden un poco en vuestros procesos de investigación :)
Un saludo,