Download Adquisición de datos de memorias flash
Document related concepts
no text concepts found
Transcript
Adquisición de datos de memorias flash 1. – Introducción: El uso creciente de dispositivos electrónicos portátiles (teléfonos móviles, libros electrónicos...) ha cambiado el uso de la memoria en sistemas digitales. Un tipo de memoria de uso creciente es la memoria NAND flash, el tipo de memoria usado habitualmente en almacenamiento portátil (memorias USB y tarjetas de memoria). La memoria NAND flash se emplea como memoria de lectura y escritura compacta y de fácil transporte. Aunque tiene ciertas limitaciones al número de escrituras, o, más concretamente, de borrados, que admite, con esquemas adecuados de reparto de desgaste (wear leveling) puede alcanzar una vida útil de millones de usos [1-2]. En muchas ocasiones, hay una traducción entre la memoria virtual que ve el usuario y los contenidos reales del chip de memoria flash. Un circuito específico sirve de traductor y añade funcionalidades como el reparto de desgaste y la detección y corrección de errores [3]. Normalmente, el acceso a la memoria física está muy limitado, incluso en los casos en los que hay puertos de acceso como, por ejemplo, JTAG. Esto representa un problema para la recuperación de datos y el análisis forense digital en los que se intenta recuperar datos tras un error o borrado accidental o buscar pruebas o ficheros incriminatorios en un dispositivo móvil. Dada la gran variedad de dispositivos disponibles en el mercado, algunos sin interfaz de acceso al chip de memoria, la extracción física se plantea como una alternativa factible para recuperar una mayor cantidad de información [4]. En la extracción física se desuelda el chip de memoria que posteriormente se introduce en un lector diseñado a medida (por ejemplo con una FPGA). En el proyecto de investigación propuesto se construirá con la plataforma de desarrollo Arduino un extractor a medida para ciertos chips de memoria flash. El diseño de este extractor va a ser parte del proyecto de fin de carrera del solicitante. 2. – Métodos y equipo: Para el desarrollo del programador/extractor de chips flash se dispone de una plataforma de desarrollo Arduino Mega Atmel Atmega2560 [5]. El microcontrolador se programará con el protocolo de lectura de los distintos chips de memoria bajo estudio (chip HY27UF082G2A-TPCB de 2GB de Hynix y chip de MT29F32G08CBACA de 4GB de Micron) siguiendo sus hojas de especificaciones [6-7]. Uno de los chips (Hynix) se estudiará por separado, sin integrar en ningún sistema. El otro (Micron) es parte de una memoria USB (el modelo DataTraveler G3 de Kingston). El proyecto tiene una parte de desarrollo hardware en la que se montará el chip sobre un adaptador de lectura que convertirá los niveles lógicos de los chips de memoria (a 3,3V) a los niveles de 5V del Arduino. El adaptador llevará los pines activos del chip a las entradas digitales del controlador. La parte central será la programación del protocolo de lectura. Se prestará una atención especial a la adquisición de los sectores marcados como defectuosos (de los que aún se puede extraer mucha información útil) y a la interconexión con un PC para facilitar el almacenamiento de los volcados de memoria. Finalmente, se iniciará una etapa de interpretación de los datos leídos en la que se intentará analizar los diversos campos de la memoria física para asociarlos con la memoria virtual (en nuestro estudio, lo que ve el usuario de la memoria USB). Referencias: [1] R. Bez, E. Camerlenghi, A. Modelli and A. Visconti, Introduction to flash memory, IEEE Proc. 91 489-502 , (2003). [2] Wear-Leveling Techniques in NAND Flash Devices, Micron Technical Note: TN-29-42 (2008). [3] NAND Flash ECC Algorithm, Samsung, hoja de aplicación, (2004). [4] Marcel Breeuwsma, Martien de Jongh, Coert Klaver, Ronald van der Knijff y Mark Roeloffs. Forensic Data Recovery from Flash Memory, Small Scale Digital Device Forensics Journal, Vol. 1, No. 1, (2007). [5] Ver http://arduino.cc/en/Main/ArduinoBoardMega2560 para los detalles técnicos. (Última consulta 18 de octubre de 2011) [6] Hoja de especificaciones: Hynix, HY27UF(08/16)2G2A Series 2Gbit (256Mx8bit/128Mx16bit) NAND Flash. [7] Hoja de especificaciones: Micron, NAND Flash Memory MT29F32G08CBACA, MT29F64G08CEACA, MT29F64G08CFACA, MT29F128G08CXACA, MT29F64G08CECCB, MT29F64G08CFACB. Conforme del tutor, en Valladolid a 18 de octubre de 2010. Fdo. Juan Carlos García Escartín.