DIFERENCIAS FORENSES ENTRE DISCOS DUROS DE ESTADO SÓLIDO Y DISCOS DUROS DE PLATOS.

Actualmente los Discos Duros de Estado Sólido (SSD por sus siglas en inglés) están siendo más comercializados día a día, debido a que son más rápidos y no hay problema que se rayen si la máquina se está moviendo, problemas que se tienen con Discos Duros de platos. Pero ¿Cómo puede diferir un análisis forense  de un Disco Duro de Platos a un Disco Duro de Estado Sólido? (le llamaremos HDD al de platos y SSD al de Estado Sólido para no escribir tanto).

Empecemos con una rápida explicación del HDD, que es el que la mayoría conocemos. Una cajita que está adentro de nuestra computadora. Esta cajita contiene platos que son leídos por unas agujas (como las tornamesas). Estos platos contienen sectores, que es donde el HDD guarda nuestra información. Hasta aquí todo genial,  ahora seguimos con el SSD, éste vamos a imaginarlo como una memoria USB grandota y esta, al igual que la USB, guarda la información en chips, este también contiene sectores, pero no como el HDD, esto lo explicaremos más adelante.

Después de saber a grosso modo cómo funcionan estos discos vamos a seguir con nuestro tema inicial que es: ¿Cómo puede diferir un análisis forense en un HDD a un SSD? Y la respuesta a esta pregunta es: de muchas maneras. Así que empecemos con la primera diferencia:

Los sectores en un SSD no siempre están en un mismo lugar. Esta diferencia es importante saberla, ya que con esta vamos a entender las siguientes. ¿A qué me refiero cuando digo que no están en un mismo lugar? Pues en un HDD los sectores están en lugares específicos de los platos. Como los tracks en un CD. Pero un SSD tiene sus sectores en los chips, y cada sector tiene una dirección. En  un HDD estos sectores son inamovibles, cosa que en un SSD no pasa, las direcciones de los sectores pueden ir cambiando, esto sucede cuando se borra un archivo y esto nos lleva a nuestra segunda diferencia.

La información en un SSD no prevalece después de ser borrada. Por si se lo preguntaban, sí, en un HDD la información se queda, y puede ser accedida una vez que esta es borrada, aunque no la podemos ver y esto nos puede ayudar en una investigación forense a recuperar los archivos borrados. En un SSD literal, se elimina. ¿Cómo sucede esto? Pues el Sistema Operativo le manda al SSD un comando llamado TRIM que lo que hace es quitar los sectores “desocupados” del nivel lógico (o sea no los podemos ver ni accesar a ellos). Esto es llamadoWearLevelling. Cuando la información está ahí, ya no puede ser recuperada de nuevo ni quedan rastros en ningún registro de la máquina de que documentos fueron borrados o que alguna vez existieron. Al hacer esto, la tabla de direcciones es modificada y por consiguiente tenemos nuestra última diferencia (hay más, pero son las más significativas que hay que tener en cuenta para una investigación forense).

Un HASH de un SSD nunca va a ser igual. Nota rápida, un HASH es como sacarle una huella digital a un Disco Duro. En el caso de un HDD si le sacamos un HASH ahorita y otro en 5 años (sin haberle modificado la información y si el HDD no ha sufrido daños) el HASH va a ser igual. Pero en un SSD no va a pasar esto, ya que el comando TRIM va a modificar la tabla de direcciones y esto va a hacer que se modifique su HASH. Así que en una corte no podríamos comprobar que una imágenes forense (copia bit a bit de un disco) es igual al disco original, pero si podríamos hacer esta comprobación de una copia forense (copia lógica de un disco duro).

En conclusión el estar analizando un SSD nos puede complicar un poco el caso al no poder acceder a los archivos borrados y siempre hay que tener en cuenta el hacer una copia lógica de este para poder comprobar su paridad con el original en un futuro. Fuera de ahí sigue siendo un Disco Duro y contiene información útil para concluir nuestro caso. Como siempre, el dato es buscarle.

Comando TRIM:
En informática, una orden TRIM permite a un sistema operativo comunicarle a una unidad de estado sólido (SSD) qué bloques de datos ya no están en uso, como los datos dejados al borrar ficheros. Una operación del SO como un borrado generalmente sólo marca los bloques implicados como no usados. TRIM permite que el SO pase esa información al controlador de la SSD, que de otra manera no sabría qué bloques puede eliminar.
El propósito de la instrucción es mantener la velocidad de la SSD durante toda su vida útil, evitando la ralentización que los primeros modelos sufrían al llegar a escribir en todas las celdas al menos una vez.
Aunque ya existían herramientas para reiniciar algunos modelos de SSD a su estado original, no se podían considerar herramientas de optimización ya que necesitaban borrar todos los datos de la unidad.
La causa inicial del problema es que las unidades SSD no saben qué bloques están realmente en uso y cuáles están libres. Las SSD no entienden la estructura del sistema de ficheros usada por el sistema operativo del ordenador y no puede acceder a su lista de clusters sin usar. Esto causa problemas en dos lugares:

-     Las SSD pueden escribir bloques de 4KiB, pero debido a limitaciones del hardware, deben borrar bloques mayores (p.e., de 128KiB-512KiB). Debido a que la unidad no puede saber cuál de los bloques de 4KiB está aún en uso si antes ha sido escrito, cada escritura requiere un ciclo mayor de lectura-borrado-modificación-escritura, asumiendo que ningún bloque libre adicional está disponible en la SSD (p.e., después de que todos los bloques han sido marcados como grabados al menos parcialmente). El término para este fenómeno es amplificación de escritura.
-      El wear levelling permite a una unidad recolocar sus datos para que las escrituras no estén confinadas a una esquina del chip flash. Las células flash toleran sólo un número limitado de escrituras antes de fallar, así que algunas SSD mueven los datos para repartir la carga de escrituras de manera más equitativa entre todos los bloques en la unidad. Debido a que la unidad no sabe qué bloques están realmente en uso por el sistema de ficheros, cada bloque de datos escrito por la unidad requiere una escritura adicional debido al bloque desplazado.

WearLevelling (Nivelación de uso):

Es un proceso que está diseñado para extender la vida de almacenamiento de dispositivos de estado sólido. Almacenamiento de estado sólido se compone de microchips que almacenan datos en bloques . Cada bloque puede tolerar un número finito de ciclos de programa / borrado antes de convertirse en poco fiables. Por ejemplo, SLC NAND flash se clasifican normalmente en alrededor de 100.000 / programa de ciclos de borrado . De nivelación de desgaste datos arregla para que escritura / borrado ciclos se distribuyen de manera uniforme entre todos los bloques en el dispositivo.




¿QUÉ OCURRE CON LOS MENSAJES CIFRADOS DE WHATSAPP?



WhatsApp cambió el sistema de cifrado de los mensajes, añadiendo cifrado punto a punto a través del protocolo Signal. Sin embargo, este cifrado sólo protege los datos en tránsito (para que no puedan ser interceptados por “espías” mientras navegan por la red), pero no tiene nada que ver con la información almacenada en el dispositivo.


BLOQUEAR PUERTOS USB CONTRA ESCRITURA EN WINDOWS.

Muy sencillo: existe la posibilidad de bloquear los puertos USB en Windows. Para poder bloquear estos puertos contra escritura será preciso entrar en el archivo de registro, con la utilidad “RegEdit”, antes de conectar los discos duros sobre los que hay que calcular el Hash. Una vez dentro habrá que modificar la clave “WriteProtect”, poniéndola a 1 (0 permite la escritura, 1 prohíbe la escritura, pero permite la lectura); esta clave se encuentra dentro de “HKLM\system\CurrentControlSet\Control\StorageDevicePolicies”. Una vez que hayas puesto la clave en modo “1”, podrás conectar lo que quieras, pues la escritura estará bloqueada. Este parámetro se utiliza normalmente en aquellos equipos en los que, debido a la información que contienen, se debe garantizar la imposibilidad de copia de los datos a dispositivos externos, como discos duros o dispositivos electrónicos de almacenamiento digital.


Para analistas forenses o peritos en informática esta aplicación puede sacarlos de apuros en caso que no cuenten con HARDWARE O SOFTWARE  que realicen la función de bloqueo de escritura. 


PINKYBYTE.

¿SABES LO QUE ES BIG DATA?


Big Data se define como el conjunto de herramientas informáticas destinadas a la manipulación, gestión y análisis de grandes volúmenes de datos de todo tipo los cuales no pueden ser gestionados por las herramientas informáticas tradicionales. Big data es un término de origen inglés cuya traducción equivale a "Datos masivos", la tecnología Big data tiene por objetivo analizar datos e información de manera inteligente que ayuden a una correcta toma de decisión.
El objetivo fundamental del Big data es dotar de una infraestructura tecnológica a las empresas y organizaciones con la finalidad de poder almacenar, tratar y analizar de manera económica, rápida y flexible la gran cantidad de datos que se generan diariamente, para ello es necesario el desarrollo y la implantación tanto de hardware como de software específicos que gestionen esta explosión de datos con el objetivo de extraer valor para obtener información útil para nuestros objetivos o negocios.
Es una realidad que la cantidad de información digital que se genera diariamente en nuestro planeta crece exponencialmente, gigantes y potentes bases de datos en donde se almacenan por ejemplo todos los movimientos de dinero que se producen en una entidad bancaria, la información que registran los puntos de ventas de los grandes centros comerciales o toda la información que se genera en las redes sociales, blogs y páginas webs que se actualizan diariamente, son ejemplos entre otros de fuentes generadoras de información y datos. En este aspecto hay estudios que afirman que cada día se genera tanta información digital como el equivalente a toda la información escrita a lo largo de toda la historia de la humanidad, sin duda vivimos en la era de la información digital.
Ante esta nueva realidad de la cantidad ingente de datos que se generan diariamente, muchas empresas y organización desean utilizar esta información con el objetivo de mejorar las prestaciones de sus servicios o negocios, para ello la tecnología Big data ha sido desarrollada con la finalidad de capturar, almacenar y analizar todos estos datos con la finalidad de obtener información útil para nuestro negocio.
Podemos definir la tecnología Big Data mediante sus 4 dimensiones conocidas como las 4v:
·         Volumen de datos - Como su propio nombre indica la tecnología Big data (datos masivos) ha de ser capaz de gestionar un gran volumen de datos que se generan diariamente por las empresas y organizaciones de todo el mundo, por ejemplo la cadena de supermercados americana Wallmart almacena más de 1 millón de transacciones comerciales cada hora identificando los productos que compran sus clientes, más de 100.000 GB de información almacena la red social Facebook diariamente así como 72 millones de descargas se realizan en la tienda online Appstore.
·         Variedad de datos - Big data ha de tener la capacidad de combinar una gran variedad de información digital en los diferentes formatos en las que se puedan presentar ya sean en formato video, audio o texto. Diferentes fuentes de información como las nuevas tecnologías wearables que monitorizaran nuestra actividad física,  que conectará los dispositivos y máquinas entre sí, millones de mensajes escritos en redes sociales como Facebook o Twitter, millones de videos subidos a Youtube por día... son ejemplos entre otros de fuentes generadoras de diferentes tipos de información.
·         Velocidad - La tecnología Big data ha de ser capaz de almacenar y trabajar en tiempo real con las fuentes generadoras de información como sensores, cámaras de videos, redes sociales, blogs, páginas webs... fuentes que generan millones y millones de datos al segundo, por otro lado la capacidad de análisis de dichos datos han de ser rápidos reduciendo los largos tiempos de procesamiento que presentaban las herramientas tradicionales de análisis.
·         Veracidad - Por último el Big Data ha de ser capaz de tratar y analizar inteligentemente este vasto volumen de datos con la finalidad de obtener una información verídica y útil que nos permita mejorar nuestra toma de decisiones.


Con todo ello podemos definir al Big data como el conjunto de herramientas informáticas que nos permite captar, almacenar y gestionar un gran volumen de información variada a una alta tasa de velocidad permitiendo obtener unos datos veraces y útiles para la toma de decisión.


APLICACIONES DE BIG DATA
Numerosas empresas y organizaciones de todo el mundo necesitan almacenar y gestionar correctamente este aluvión de datos e información que se genera diariamente, la tecnología Big data se aplica indistintamente en numerosos campos y sectores, dentro del ámbito de la empresa privada, en organizaciones y centros científicos incluso gobiernos que gestionan ciudades y países enteros han encontrado en esta tecnología su mejor baza que les permite optimizar sus tomas de decisiones y sus resultados.
En numerosas ocasiones la información captada por empresas privada es tratada y analizada con el objetivo de aumentar sus ventas y ganancias, por ejemplo empresas como Google, Amazon o Apple presentan anuncios personalizados a los gustos y necesidades del usuario tras un análisis de las búsquedas o compras realizadas, por otro lado dicha información les permite a las empresas predecir futuras demandas de un producto o mejorar las prestaciones que ofrecen a sus usuarios.
En el ámbito científico Big data se utiliza en numerosas aplicaciones como por ejemplo la predicción meteorológica, el estudio del genoma o el análisis de la composición de la materia. La organización Europea de investigación CERN es un organismo referente y pionero en el uso de Big Data, resulta curioso como el estudio de las interacciones y partículas fundamentales que componen la materia genera un gigantesco volumen de información, para ello el acelerador de partículas LHC provoca un choque de 2 protones a una velocidad cercana a la luz, mientas cerca de 150 millones de sensores captan información sobre la colisión ocurriendo 14 millones de choques por cada segundo, la cantidad de datos generada por segundo es realmente enorme.
Los gobiernos utilizan esta tecnología para mejorar los servicios que prestan a sus ciudadanos, unas de las aplicaciones en donde se ha aplicado la tecnología Big data ha sido en la ciudad francesa de Lyon, gracias a esta tecnología junto con la captura de datos mediante sensores repartidos por toda la ciudad se ha podido analizar las congestiones de tráfico con el objetivo de predecir en cualquier momento cuando se va a producir un atasco de tal manera que cambian automáticamente las señales de tráfico con el objetivo de mejorar el flujo circulatorio.
Incluso los partidos políticos utilizan estas nuevas tecnologías para alcanzar un mayor número de votos, conocido fue el caso de la campaña de Barack Obama en el año 2012 en el que utilizó Big data para acercarse y conocer los gustos y necesidades de sus ciudadanos permitiéndole realizar discursos y programas políticos adecuados a las necesidades de sus ciudadanos.
Google ha aplicado Big data en aplicaciones como su traductor de idiomas automático, mediante las herramientas Big data Google volcó toda la información rastreada en Internet comparando documentos oficiales traducidos de un idioma a otro así páginas webs personales, esta gigantesca base de datos ha permitido a Google desarrollar el mejor traductor de idiomas presente actualmente.
Big data puede aplicarse tanto en empresas multinacionales como Google, Facebook o Coca-cola así como en pequeñas empresas, por ejemplo el caso de una pequeña empresa que tras aplicar Big data a un perfil determinado de usuarios de una red social obtiene información útil para generar un nuevo servicio que satisfaga las necesidades de dichos usuarios consiguiendo nuevos clientes.
El sector industrial ha encontrado en el Big data la tecnología perfecta que mejora sus procesos, por ejemplo el uso de sensores que registran datos sobre el estado de los componentes de una máquina con su posterior tratamiento mediante Big data nos permitirá predecir el mantenimiento de una manera más efectiva ahorrando tiempo y costes innecesarios.

Aplicaciones para analizar la climatología, los valores de las acciones o  el estado del tráfico en tiempo real, otras aplicaciones que nos permiten predecir tendencias de comercio, crimen hasta incluso cuando se producirá un brote vírico o epidemia en una población, aunque parezca una visión futurista hoy en día es real gracias a la tecnología Big data.

¿Sabes que es un sistema RAID?

RAID (Redundant Array of Independent Disks), es decir, “conjunto redundante de discos independientes”, tras estas siglas lo que se esconde es un sistema que nos permite implementar un volumen de almacenamiento de datos que, a su vez, está formado por múltiples discos duros con el objetivo de conseguir más espacio o bien proteger la información y conseguir mayor tolerancia a fallos de disco (evitando pérdida de información si el disco duro sufre una avería).


Lo interesante del RAID es que la combinación de discos duros, a efectos prácticos del usuario, se traduce en un “único almacén” mucho más robusto que un disco duro por sí solo; por tanto, usar un RAID siempre puede ser interesante en aplicaciones de alta disponibilidad o para proteger información que consideremos crítica.

Por ejemplo, en servidores solemos usar RAID para montar un espejo entre discos duros y, de esta forma, replicar la información en dos discos duros idénticos y, si uno se estropea, no sufrir una caída del servicio. También es habitual usar RAID en un NAS y sacrificar un poco del espacio útil para ganar en redundancia y poder reconstruir el volumen de información si un disco sufre una avería e, incluso, se deja algún disco en modo hot spare para que comience a usarse si uno de los discos falla.

A nivel empresarial, el RAID es muy utilizado y conocido; sin embargo, para muchos usuarios es casi un misterio que, quizás, les suene por las especificaciones de su placa base. En mi opinión, es importante conocer qué es un RAID y para qué sirve porque, por ejemplo, puede ser útil tener en casa algún volumen de almacenamiento con RAID para almacenar información sensible (fotos, documentos personales…) que queramos que esté especialmente protegida.

¿Qué tipos de RAID existen?

Partiendo de la base que un RAID es un conjunto de discos duros que funcionan de “manera coordinada”, vamos a repasar los modos de RAID más habituales que podemos encontrar:
§  RAID 0 no es, precisamente, una configuración RAID orientada a la redundancia y la tolerancia a fallos; conocido como striping, en esta configuración lo que se hace es distribuir de manera equitativa los datos entre dos discos duros. Dicho de otra forma, el sistema irá repartiendo los datos entre dos discos duros para aumentar la velocidad de acceso a los datos. Obviamente, al no existir redundancia, si uno de los discos se avería tendremos que recurrir a una copia de seguridad externa.

§  RAID 1 es una de las mejores configuraciones en cuanto a redundancia y tolerancia a fallos. También conocida como “espejo” o “mirroring“, en esta configuración RAID lo que se hace es duplicar la información en dos discos; es decir, nuestro sistema verá un único volumen de almacenamiento que, en realidad, está formado por dos discos iguales en los que se escriben los mismos datos. De esta forma, si un disco se estropea, el sistema seguirá funcionando y trabajando con el disco que aún funciona. Además, el rendimiento en lectura también aumenta porque, por ejemplo, es posible leer 2 datos a la vez (uno de cada disco).


§  RAID 5 es una configuración bastante usual, por ejemplo, en un NAS; conocido como distribuido con paridad, en esta configuración se realiza una división por bloques de información y se distribuyen entre los discos que forman el conjunto. Además, se genera un bloque de paridad que, a modo de redundancia, nos permite reconstruir la información de volumen completo si, por ejemplo, uno de los discos se averiase. En este tipo de configuraciones, como mínimo debemos contar con 3 discos duros y, como nos podemos imaginar, solamente se tolera el fallo en uno de los discos.

§  RAID 6, conocida como distribuida con doble paridad es similar al RAID 5 en cuanto a distribución de los bloques de información pero, en lo que respecta a la redundancia, en esta configuración se generan 2 bloques de paridad que también se distribuyen entre los discos. En este tipo de escenarios, la configuración es capaz de soportar hasta 2 fallos de disco en el conjunto o, por ejemplo, un fallo de disco mientras se está reconstruyendo el volumen (tras un fallo anterior) aunque, eso sí, como mínimo necesitaremos 4 discos.


§  RAID 0+1 es una combinación de dos configuraciones simultáneas RAID 0 y RAID 1; concretamente, necesitaremos 4 discos duros que se tomarán por parejas para que cada una de éstas forme un RAID 0 (división de la información) y, con las dos parejas, se monte un RAID 1 (un espejo). Dicho de otra forma, con esta configuración tendremos un RAID 0 redundado en espejo.

§  RAID 1+0 (o también conocido como RAID 10) es la configuración “contraria” al RAID 0+1; en este caso en vez de realizar un espejo del RAID 0 (los discos en striping), lo que hacemos es aplicar el espejo a cada disco en striping. Reconozco que suena muy extraño lo que acabo de comentar pero es fácil de entender; si en un RAID 0 repartimos los bloques de información entre dos discos, en el RAID 1+0 lo que hacemos es similar pero cada uno de estos discos, a su vez, está en espejo con otro. Por tanto, es una configuración de 4 discos en la que montamos un par de espejos y, por encima, repartimos la información entre dichos espejos.

§  Otras configuraciones que podemos encontrar son las de RAID 50 y RAID 60, son combinaciones de RAID 5 con RAID 0 y de RAID 6 y RAID 0 respectivamente. Si tomamos como referencia el funcionamiento del RAID 10, el esquema de funcionamiento de RAID 50 y RAID 60 es fácil de entender. En el caso del RAID 50 lo que hacemos es montar un RAID 0 sobre 2 agrupaciones de discos que, a su vez, están en RAID 5; por tanto, necesitaremos como mínimo 3 discos (uno para cada agrupación RAID 5) y conseguiremos un volumen muy robusto aunque algo caro. En el RAID 60 el esquema es similar, un RAID 0 de dos agrupaciones de discos que, a su vez, están en RAID 6; por tanto un esquema extremadamente robusto que requiere de 8 discos duros.


Si alguna vez has echado un vistazo por las opciones de la BIOS de tu placa base o las especificaciones de la misma, es posible que hayas encontrado alguna opción o información relativa a RAID. Son muchas las placas base que permiten montar un array de discos duros siguiendo alguno de los tipos de RAID que existen y, desde la controladora de discos, presentar a nuestro disco duro un “único disco tolerante a fallos”.
Cuando el RAID es realizado desde hardware, nuestro sistema operativo solamente detectará un disco duro o, mejor dicho, un “único volumen” y será la controladora de disco la que se ocupe de redundar la información o trabajar con la paridad para aumentar la tolerancia a fallos en caso de avería de un disco.


Si tu placa base no soporta el RAID tampoco es problema ya que es posible delegar estas tareas en el propio sistema operativo (obviamente es una tarea más que tendrá que asumir). En Windows es algo que podemos hacer desde el “Administrador de discos” y, por ejemplo, podremos crear un “Espejo” (RAID 1) o “Reflejo de datos” para que Windows escriba la información siempre por duplicado y ésta esté redundada en caso de que uno de los discos duros fallen.
En Linux también existe esta utilidad y muchas distribuciones incluyen este tipo de soporte vía software. Quizás, una de las utilidades más conocidas sea Mdadm aunque también es algo que podemos encontrar, por ejemplo, en el proceso de instalación de muchas distribuciones.


JRTJ.