940 likes | 1.38k Views
Análisis Forense. Prof. Reinaldo Mayol . Conceptos Iniciales. Parte 1. ¿Qué es el Análisis Forense?. Es un proceso, metodológicamente guiado , que involucra los siguientes elementos, referidos a los datos de un sistema computacional: Preservación Identificación Extracción Documentación
E N D
Análisis Forense Prof. Reinaldo Mayol
Conceptos Iniciales Parte 1
¿Qué es el Análisis Forense? • Es un proceso, metodológicamente guiado, que involucra los siguientes elementos, referidos a los datos de un sistema computacional: • Preservación • Identificación • Extracción • Documentación • Interpretación
Ciclo de Vida del Análisis Forense HB171:2003 Handbook Guidelines for the management of IT Evidence.]
Manipulación de la Evidencia • Si no se toman las medidas adecuadas para la manipulación de la evidencia esta puede perderse o resultar inaceptable como prueba.
Manipulación de la Evidencia • Uno de los elementos que se utilizan son las Cadenas de Custodia • Una adecuada Cadena de Confianza debe responder, para cada evidencia, las siguientes interrogantes: • ¿Quién colectó la evidencia? • ¿Cómo y donde fue colectada? • ¿Quiénes tuvieron posesión y acceso a la evidencia? • ¿Cómo fue almacenada y protegida? • ¿Quién la ha manipulado?
Autentificación de la Evidencia • El objetivo de este paso es proveer un mecanismo que garantice la evidencia colectada no pueda ser modificada o sustituida sin que el investigador pueda notarlo. • Por lo general, se recomienda utilizar algoritmos de HASH (SHA2!!!!!) capaces de crear un hash de la evidencia que garantice su integridad. • Se puede firmar digitalmente el hash de cada evidencia garantizando de esta forma que la misma no pueda ser sustituida.
Características de la evidencia forense digital • Si alguien intenta destruir las evidencias, podemos tener copias igual de válidas lejos del alcance del criminal. • El proceso de autenticación siempre siembra dudas sobre la veracidad de la prueba. • Adquirir una copia de la evidencia puede ser un proceso difícil y delicado. • Las pruebas pueden ser modificadas incluso durante su recolección.
Características de la evidencia forense digital • No solo hay que validar las copias sino incluso el momento en que se realizan. • La autentificación de la evidencia requiere mecanismos externos como: certificados digitales, autoridades de certificación y cadenas de certificación acordes a las leyes de un país o incluso de una organización.
Características de la evidencia forense digital • Pueden ser duplicadas de forma exacta y la copia puede examinarse como si fuera el original. • Con las herramientas adecuadas “es muy fácil” determinar si la evidencia ha sido modificada o falsificada comparándola con la original. • Es relativamente difícil de destruir, incluso borrándola, la evidencia digital puede ser recuperada de un disco.
Organización de los Datos Los SO agrupan varios sectores consecutivos • FAT, NTFS: Clusters • EXT? (*nix): Blocks 1 sector: Aprox. 512 bytes
Particiones DOS • Las particiones tipo DOS se utilizan en la mayoría de los sistemas operativos, incluyendo Linux. Imagen tomada de: CarrierB. F.S ForensicAnalysis, 2005. modificada por R.Mayol Sólo 4 entradas
Particiones Extendidas (E. P) MBR PartitionTable • Con 4 entradas solamente no es posible cubrir las necesidades de los sistemas modernos. • Una partición extendida contiene una segunda tabla de particiones y puede describir 2 particiones. ( una para el F. S y otra para otra E.P) ExtendedPartitionTable Imagen tomada de: CarrierB. F.S ForensicAnalysis, 2005. modificada por R.Mayol
Continuación Termina: Sector F8(248) cilindro FF La partición inicia 56 sectores desde el inicio de la tabla Partición activa Sector 1, Cilindro 0 Partición NTFS 80 01 01 00 07 FE F8 FF38 00 00 00 10 B3 FF 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 AA 83866384 Sectores * 512B= 40GB Fin de la Tabla de Particiones
SlackSpace • La unidad mínima de direccionamiento son los clusters. • El S.O no puede direccionar sino clusters. • Si un archivo es menor que el tamaño del cluster el espacio sobrante se pierde. • Este espacio es interesante, desde el punto de vista forense, ya que normalmente puede contener datos de otros archivos que utilizaron anteriormente el cluster.
NTFS New Technologies File System
Sistema de Archivos de NTFS • Durante la creación del volumen es creado el Master File Table (MFT), además de otros archivos de control. • Existe una entrada de 1KB en la MFT por cada archivo o directorio en el volumen. • El archivo $MFT contiene la MFT. Existe una copia llamada $MFTMirr • Una entrada MFT tiene una pequeña cabecera fija (42 bytes, 12 campos) y el resto son atributos no previamente definidos.
Sistema de Archivos NTFS cont.. • La localización del MFT está definido en el Boot Sector del F.S • Un MFT almacena los atributos de los archivos y subdirectorios incluyendo el nombre, MAC, permisos, flags de estado, entre otros. • Si un archivo no puede contener todos sus atributos en una sóla entrada utiliza entradas consecutivas. • Adicionalmente el MFT almacena parte ( o su totalidad) de la data (dependiendo del tamaño del archivo, menor a 1500Bytes)
Boot Sector Partición NTFS Boot Sector Cluster: Grupo de Sectores Consecutivos.
Estructura del $MFT • Cada entrada al MFT es direccionada usando un valor de 48 bits, comenzando por 0. • Cada entrada MFT tiene también un número de secuencia de 16 bits que es incrementado cuando la entrada es utilizada. Este número nunca es decrementado. • Combinando ambos valores se forma una dirección de 64 bits (llamada File Reference) • El uso del File Reference permite determinar en algunas ocasiones cuando el FS está corrupto.
Estructura $MFT • Formalmente las primeras 16 entradas ( en la práctica 24) son para localizar los archivos de metadata del F. S • Los archivos de metadata se encuentran en la raiz del F. S y comienzan por $
Entradas MFT • Cada entrada es secuencialmente numerada usando un valor de 48 bits. • Cada entrada tiene además un número de Secuencia de 16 bits que es incrementado cuando la entrada es localizada. • Ambos valores se combinan para formar un valor de 64 bits que se utiliza como reverenciador de los archivos.
Entradas MFT ( Ejemplo) Header MFT Atributos Entrada MFT • Atribute Header: • Tipo • Tamaño • Nombre Atribute Header Espacio no utilizado Header MFT $STANDARD_INFORMATION $FILE_NAME $DATA STANDARD_INFORMATION
Formato Simplificado de una ENTRADA a la MFT • Para un archivo: • Header • $FILE_NAME(48) • $ STANDART_INFORMATION(16) • $DATA(128) • Para un subdirectorio: • Header • $INDEX_ROOT • $INDEX_ALLOCATION
Ext • El F.S comienza con un área reservada y el resto está dividido en sectores llamados grupos de bloques. • Todos los grupos de bloques, excepto el último contienen la misma cantidad de bloques. • Un bloque es un conjunto de sectores consecutivos(1024,2048,4096 bytes) • La información de la estructura del F.S es almacenada en una estructura llamada SuperBlockla cual se encuentra localizada el inicio del F.S • Los metadatos de cada archivo o directorio son almacenados en estructuras llamadas inodos
Ext cont… • Los inodos tienen tamaño fijo, por omisión 128 bytes ( 1024 bits) • Existe un inodo por cada archivo o directorio existente • Existe una tabla de inodos para cada grupo de bloques. • Los primeros 10 inodos tienen funciones fijas y están siempre localizados. El inodo 11 se utiliza para el subdlost +found • Los nombres de archivos son almacenados en las entradas de los directorios que los contienen. • Esas entradas de directorio son estructuras simples que contienen el nombre de los archivos y un puntero al inodo correspondiente.
Inodos • Cada inodo tiene un número fijo de campos . • Un inodo contiene: • Tamaño de los archivos ( 64bits => tamaño máximo es 1,84467440737096 1019) • Dueños (utilizando el UID y GDI de /etc/passwdy /etc/groups) • Información temporal ( último acceso, modificación, borrado, cambio de la metadata) • Permisos • Tipo de archivos • Los tiempos son almacenados en la cantidad de segunsos desde 1ro Enero 1970. • Los tiempos son almacenados en la cantidad de segunsos desde 1ro Enero 1970.
Inodos • Cada inodo puede almacenar las direcciones de los primeros 12 bloques de un archivo. (bloques directos) • Si un archivo requiere mas de 12 bloques se localiza un bloque para almacenar los punteros a otros bloques( bloques indirectos)
Entradas de directorio, inodos y bloques de datos Metadata Metadata Metadata archivo1 Metadata Metadata Metadata Entradas de Directorio Inodos Bloques de Contenido
Ext cont… • Ext tiene un grupo de opciones organizadas en 3 categorías basadas en que debe hacer el sistema operativo si alguna de ellas no es soportada. • Las opciones compatibles son aquellas que pueden ser ignoradas por el S.O que monta un F. S incluso si no las soporta. EJ. Journals • Las opciones incompatibles si no son soportadas el F. S no será montado. Ej. Cifrado • Las compatibles de solo lectura implican que el F. S será montado pero solo en modo Read-Only. Ej. Estructuras en arbol en lugar de listas.
Superblock y Descriptor de Bloques • El Superblock es localizado al inicio del F. S ocupando los primeros 1024 bytes ( aunque utiliza sólo unos pocos) • Contiene la estructura del F. S ( similar al BootSector en NTFS) y de configuración. • Copias de respaldo pueden ser encontradas en el primer bloque de cada grupo de bloques. • Información contenida: • Tamaño de los bloques • Número total de bloques por grupo de bloques • Número de bloques reservados antes del primer grupo de bloques.
Superblock y Descriptor de Bloques • También puede incluir: • Nombre del volumen • Fechas de montaje y escritura • Sitio del último montaje • Consistencia del F. S • Número total de inodos y bloques disponibles • Opciones habilitadas.