Principios de la Informatica Forense

En esta sección comentaremos algunos de los principios o fundamentos utilizados por la informática forense a la hora de investigar un delito.

Principio de transferencia Locard

Con su famosa frase “cada contacto deja un rastro”, Edmond Locard creo un principio fundamental utilizado en la técnica forense el Principio de Intercambio Locard.

Este principio se suele expresar de la siguiente manera: “Siempre que dos objetos entran en contacto transfieren parte de material que incorporan al otro objeto.”

Este principio se basa en la idea de cualquier objeto o persona que entre en contacto en la escena de un crimen deja un rastro en la misma y al mismo tiempo queda contaminado llevando tras de sí un rastro de la escena del crimen.

Parece bastante obvio ver este tipo de interacción para los casos criminológicos de la vida real, si por ejemplo, se produce un crimen en una zona de la tierra será bastante fácil darse cuenta que nuestras huellas de pisadas quedaran impregnadas en el suelo y de la misma forma nos llevaremos con nosotros parte de la tierra que haya en la escena. Pero en el caso de la informática forense al tratarse de una interacción lógica en vez de física parece más complicado ver esa implicación mutua, de hecho, existe, y en muchos casos son evidencias finales que demostrarán su interacción única con el sistema informático.

A modo ilustrativo vamos a citar como ejemplo de intercambio de evidencias informáticas el protocolo SSH con el intercambio de claves que se realiza. El protocolo SSH funciona de manera que al principio de la sesión se produce un intercambio de claves públicas, con el objetivo de acelerar el intercambio y asegurar que las claves no cambiaron, muchos clientes ssh almacenan las claves públicas de los servidores conocidos. En el uso de criptografía la clave pública, se establece el uso de un par claves pública/privada relacionadas entre sí y asociadas entre ellas, de forma que se puede asegurar de manera bastante fiable que no existirá una clave pública que no corresponda a la privada que tiene asociada.

Para el caso de Microsoft Windows existe un cliente SSH gratuito llamado Putty. Para el caso de este cliente dentro del registro de Windows si buscamos por la ubicación SshHostKeys podemos encontrar almacenadas claves públicas de la siguiente manera:

SSH Clave Publica

Aquí quedara ahora claramente reflejado que ha habido un contacto entre el servidor www.sistemasinformaticos.securitypc.es y la máquina en la que se encuentra la entrada en el registro. Esto quiere decir que hay una evidencia indiscutible de que al menos ha habido contacto entre el ordenador del sospechoso y el servidor remoto.

Borrado parcial de información en los dispositivos de almacenamiento electrónico

En la mayoría de los sistemas operativos, o cuando menos en los más utilizados como Windows, la información que se encuentra en el disco duro se encuentra dividida entre otras divisiones en las siguientes partes: 

  • Pista: Se define pista como una circunferencia dentro de una cara. La pista cero se encuentra en el borde exterior.
  • Sector: Es el nombre que recibe cada una de las divisiones de una pista. El tamaño del sector no es fijo, siendo el estándar actual 512 bytes. Antiguamente el número de sectores por pista era fijo, lo cual desaprovechaba el espacio significativamente, ya que las pistas exteriores pueden almacenarse más sectores que en las inferiores. Así, apareció la tecnología ZBR (grabación de bits por zonas) que aumenta el número de sectores en las pistas exteriores, y usa más eficientemente el disco duro.
  • Clúster: Es el nombre que recibe una agrupación de sectores situados contiguamente.

Lo habitual es que un archivo no quepa en un único clúster, de forma que el sistema operativo es el encargado de hacer particiones de la información y almacenar cada una de las mismas en un clústers que se encuentren libres, pudiendo quedar la información de un mismo fichero en zonas físicamente lejanas del disco duro.

Como parece lógico, el sistema operativo tiene que ser capaz de recuperar el archivo completo cuando se solicita a partir de estos fragmentos, para ello a cada una de las partes se le coloca una cabecera con el formato que se puede ver en la figura.

Cluster Disk

Una vez visto esto la siguiente pregunta que surge es la de cómo el sistema operativo identifica la primera de las particiones en el disco duro para localizar el archivo. Para ello en los primeros sectores del disco duro se encuentra una tabla llamada FAT, (File Location Table). Esta tabla, como su nombre indica, funciona a modo de índice, almacenando para cada uno de los archivos la relación entre los nombres de los mismos y el sector en el que se encuentran, así como información relativa al estado del sector, si está dañado, si está disponible, etc.

Cuando un usuario borra un archivo del disco duro, lo que realmente hace el sistema operativo es marcar esta tabla FAT el sector en el que se encuentra el archivo como un sector libre disponible para ser utilizado de nuevo, pero no borra la información real física del archivo guardada en el sector, sino que espera a que otro fichero se ubique en el mismo para sobrescribir con nuevos datos. Esto quiere decir que a pesar de que un usuario pueda pensar que ha borrado su información del disco duro, mientras el sistema operativo no reutilice ese sector, la información permanecerá ahí.

De este método de trabajo toman ventaja algunas herramientas utilizadas para el análisis forense que analizando el disco son capaces de extraer información de los sectores marcados como libres.

De igual forma también hay programas que son capaces de realizar un borrado total de la información almacenada, asegurando la completa eliminación del disco. 

Memoria virtual y archivos temporales

La memoria virtual es una técnica que emplean los sistemas operativos para poder hacer uso de más memoria principal de la que realmente posee el ordenador. Un ordenador consta de cuatro tipos de memoria:

  1. Registros en la CPU.
  2. Memoria cache.
  3. Memoria física o memoria RAM (Random Access Memory); que es donde el ordenador guarda los datos que está utilizando en el momento presente y done la CPU puede escribir y leer directamente de forma más rápida.
  4. Disco duro que es más lento, pero también más grande y barato.

Existen aplicaciones que necesitan para su ejecución acceso a más información de la que el ordenador puede cargar en memoria física. Esto es especialmente crítico cuando el sistema operativo permite múltiples procesos y aplicaciones ejecutándose simultáneamente. Una solución al problema de necesitar mayor cantidad de memoria de la que posee, es el uso de memoria virtual que consiste en que las aplicaciones mantengan mayor parte de su información en el disco, moviéndola a la memoria principal cuando sea necesario.

La forma de trabajo de la memoria virtual se basa en la creación de un fichero de intercambio en el disco duro cuando la memoria física comienza a escasear que sirve como aplicación auxiliar de memoria.

El uso de esta gestión de la memoria suele ser algo desconocido por la mayor parte de los usuarios, de forma que esto puede convertirse en una fuente para encontrar pistas sobre las acciones realizadas en una máquina.

 

Related Articles