1 Poder Judicial del Neuquén,
San Martín 375, Neuquén, CP 8300, Argentina [email protected]
Abstract. La Ley 26.388 ha permitido una actualización oportuna del Código
Penal Argentino para receptar el avance de las nuevas tecnologías, pero no puede dejar de apreciarse que más allá de los llamados Delitos Informáticos actualmente la evidencia digital puede estar involucrada como elemento probatorio en cualquier clase de ilícitos. La prueba científica como especie de la prueba jurídica ocupa un papel cada vez más destacado en las investigaciones penales. En materia pericial, la informática forense plantea constantes desafíos, en especial cuando se trata de acceder a evidencia digital protegida mediante mecanismos criptográficos. Este trabajo presenta una solución tecnológica para el descifrado distribuido de contraseñas que es aplicable en la investigación de delitos complejos. Una de las principales virtudes de la infraestructura forense propuesta es el aprovechamiento de los recursos informáticos existentes sin desafectar a los operadores de sus tareas habituales. Los resultados obtenidos permiten corroborar las ventajas que otorgan las tecnologías de virtualización para tareas de investigación científica del delito.
Palabras Clave: ilícitos informáticos, informática forense, ethical hacking.
1 Introducción
La implementación de soluciones informáticas para el descifrado de contraseñas mediante técnicas de fuerza bruta o ataques por diccionario depende sensiblemente del poder de procesamiento con el que se cuente. En los últimos tiempos han surgido técnicas que aceleran el proceso, reduciendo notoriamente los tiempos de cómputo mediante utilización de tablas precomputadas llamadas tablas Rainbow [1]. Este método, a costa de sacrificar espacio de almacenamiento y tiempo para generar las tablas, permite abordar eficientemente el problema, principalmente para contraseñas de sistemas operativos MS-Windows. En cuanto a la eficiencia, debe tenerse en cuenta que una tabla rainbow es generada con varios parámetros predeterminados, como el alfabeto (letras, números y/o símbolos) y un límite en la longitud de las posibles contraseñas, por lo que la probabilidad de éxito del descifrado dependerá de esta selección. Por otra parte, la complejidad computacional se desplaza a la
generación de estas tablas y han comenzado a surgir proyectos de computación distribuida para abordar esta temática. Sitios como Freerainbowtables.com 1 ofrecen
servicios de descifrado online a fin de evitar la descarga de Internet de tablas rainbow que son de gran tamaño, pero sólo trabajan sobre algunos métodos de cifrado como MD5, LM y NTLM.
Existe una carencia de software forense de libre distribución que asista a las labores periciales implementando técnicas de computación distribuida para tareas de descifrado de contraseñas. El aprovechamiento del poder de cómputo de las unidades de procesamiento gráfico (GPU) ha permitido la creación de novedosos productos de software. A nivel comercial se han desarrollado las primeras aplicaciones específicas para uso en informática forense (ej. DNA 2, EDPR 3), siendo accesibles sólo por un
número limitado de profesionales y organismos del Estado debido a su elevado costo financiero. En las últimas versiones de Backtrack 4, la distribución más conocida en
materia de seguridad informática, se ha incorporado PXE -la capa de abstracción necesaria para la utilización en cluster de aplicaciones de descifrado offline- aunque todavía en modo experimental.
La utilización de recursos de computación de alta performance en esta temática se inició en 1997 con TableCrack, un proyecto del San Diego Super Computer Center que precomputó los hashes de 51 millones de contraseñas débiles con el objeto de prevenir su uso. Posteriormente este centro de investigación continuó con un proyecto llamado Teracrack para demostrar que la función crypt() era obsoleta para generar hashes de contraseñas, alcanzando un total de 50 millones de hashes contraseñas débiles en 81 minutos y utilizando un espacio de almacenamiento de 2 Terabytes.
Algunos sistemas web de acceso público permiten ingresar contraseñas para ser descifradas. Las desventajas de estos sitios es que no siempre están online, sólo ofrecen servicios sobre un número reducido de algoritmos criptográficos y los las solicitudes de descifrado suelen tener tiempos de espera elevados antes de poder hacer uso de los recursos informáticos 5,6. Un caso de ejemplo es Plaintext.info 7, que cuenta
con servicio de recuperación de contraseñas cifradas con los algoritmos lm, md5, ntlm y doublemd5. Otros proyectos de investigación muestran grandes avances en materia de computación distribuida pero sólo permiten integración de recursos informáticos para el logro de objetivos ya preestablecidos como localización de vida en el espacio, en el caso de Seti@home 8 y Distributed.net 9 para el descifrado de una contraseña
RC5 de 72 bits.
1 http://www.freerainbowtables.com
2 http://www.accessdata.com/Products/Dna.aspx
3 http://www.crackpassword.com/products/prs/integpack/edpr/ 4 http://www.remote-exploit.org/backtrack.html
2 Planteo de la investigación
Para comprender el alcance de la aplicación de estas técnicas de descifrado de contraseñas en el ámbito de la informática forense es preciso definir una situación concreta de trabajo pericial. Si se plantea la investigación de un delito económico en perjuicio de una entidad financiera, cometido con participación de personal interno, es probable que sea necesario determinar las redes laborales y sociales entre los investigados para intentar esclarecer los hechos y atribuir responsabilidades. Para esta casuística, el análisis de e-mails es uno de los procedimientos más efectivos.
Mediante una orden de allanamiento puede procederse al secuestro de los servidores de e-mails corporativos, pero no siempre se autoriza este tipo de medidas ya que causan graves perjuicios en la operatoria diaria. Frecuentemente se recurre a preservar la evidencia digital obtenida de los archivos de correo electrónico, o bien se realiza una duplicación bit-a-bit (imagen forense) del servidor de e-mail si es técnicamente factible por razones de tiempo y recursos. A posteriori, el peritaje de e-mails se efectúa con software forense que permite estructurar la información contenida en los repositorios de datos de cada una de las cuentas de correo electrónico.
La inspección de evidencia digital desde la perspectiva del usuario proporciona una visión complementaria al análisis forense. Esta técnica es muy valorada en la comunidad forense por su practicidad para facilitar la exposición de los resultados de una investigación a la audiencia no técnica, en este caso jueces, fiscales y defensores. Si no se cuenta con las herramientas forenses adecuadas para visualizar o extraer los datos almacenados en ciertos repositorios de e-mail, o bien se desea realizar una inspección desde la perspectiva del usuario para aprovechar otras funcionalidades del software de gestión de correo electrónico, será necesario recurrir a la aplicación de e-mail nativa. Asimismo, muchos servidores de correo electrónico corporativo permiten acceder a sus datos utilizando el navegador de Internet como interfaz de usuario.
Varios esquemas de seguridad limitan el acceso a la información almacenada en estos archivos de correo electrónico, principalmente mediante el ingreso de una contraseña. Existen diferentes algoritmos criptográficos, muchos de ellos son públicos y otros de carácter propietario. Lógicamente, es probable que las personas investigadas no suministren información sobre la contraseña de acceso a su correo electrónico y en este caso el perito puede estar obligado a utilizar técnicas de ethical hacking. Si el personal informático de la institución está sospechado o imputado en la comisión del delito deberá prescindirse de su colaboración.
Contando con la debida autorización judicial, se puede intentar extraer del servidor de e-mail corporativo las contraseñas encriptadas y luego proceder al descifrado en laboratorio. Al descifrar una contraseña es posible acceder a un elemento de información de la misma forma que lo haría su dueño. Durante un peritaje informático los resultados obtenidos mediante ethical hacking son de suma utilidad para poder ingresar en forma directa a un sistema operativo, a la información contenida en un archivo encriptado, o bien a otro software específico instalado sobre el recurso informático secuestrado, como correo electrónico o bases de datos. Debe trabajarse siempre sobre una imagen forense de la evidencia original o bien generar una máquina virtual desde la imagen forense para evitar la contaminación de prueba.
Mediante la integración de arquitecturas de clustering o computación distribuida, con algoritmos específicos de descifrado por fuerza bruta o ataques con diccionario, es posible aumentar la capacidad de cómputo y así disminuir los tiempos de descifrado de contraseñas. Existen supercomputadoras y clusters cuya potencia de cómputo es sorprendente 10, sin embargo, con mínimos recursos financieros para la adquisición de
tecnología informática, los organismos estatales que poseen unidades periciales y los profesionales del ámbito privado dedicados a la informática forense no tienen posibilidad alguna de acceder a las ventajas de contar con procesadores dedicados para este tipo de tareas. Es por ello que mediante técnicas de virtualización es posible aprovechar el poder de cómputo de los procesadores de una red informática local mientras son utilizados para otros trabajos de ofimática con bajo nivel de procesamiento de datos.
3 Implementación del cluster virtual
Para la implementación del cluster virtual, y luego de estudiar diferentes alternativas, se utilizó la distribución CHAOS 11 para los nodos “workers” virtuales y un nodo
virtual ClusterKnoppix 12 con MPICH2 13, que contiene el archivo de contraseñas
cifradas, para el inicio y monitoreo del proceso de descifrado. Se utilizó a John The Ripper MPI Patch (JtR-MPI) 14 como aplicación para descifrado en paralelo de
contraseñas, y fue instalado en el nodo virtual ClusterKnoppix. Se seleccionó a Vmware como infraestructura tecnológica para la distribución y ejecución de los nodos virtuales.
ClusterKnoppix es una versión modificada de Knoppix 15 que utiliza openMosix, una
extensión del kernel de Linux para implementar un sistema único que permita manejar un cluster con computadoras sencillas conectadas en red. El algoritmo interno de balanceo de carga migra -transparentemente para el usuario- los procesos
10 http://www.top500.org/
11 http://www.purehacking.com/chaos/ 12 http://clusterknoppix.sw.be/
entre los nodos del cluster. El cluster escoge por sı mismo la utilización optima de los recursos que son necesarios en cada momento y de forma automática. Esta característica de migración transparente hace que el cluster funcione a todos los efectos como un gran sistema de multiprocesamiento simétrico con varios procesadores disponibles. openMosixview es una interfaz grafica libre para la administración y mantenimiento de un cluster openMosix. MPICH2 es un estándar para el intercambio de mensajes entre aplicaciones que utilizan memoria distribuida. CHAOS es una distribución para cluster basada en Linux y openMosix. Su tamaño reducido permite que se ejecute en forma completa en memoria.
4 Definición del banco de pruebas y experimentación
Para comprobar los resultados de la solución propuesta se generó un corpus consistente en 500 pares (usuario, contraseña) con longitud menor o igual a ocho letras y/o números. Siguiendo con el caso planteado, el algoritmo de cifrado seleccionado fue HTTP password -sin salt- de Lotus Notes/Domino (en John The Ripper se lo conoce como Lotus5).
Contraseñas descifradas
1 CPU hh:mm:ss
8 CPUs hh:mm:ss
Porcentaje de avance
4 00:00:01 00:00:02 8%
... ... ... ...
377 00:00:11 00:00:13 75%
380 00:00:13 00:00:13 76%
385 00:00:14 00:00:13 77%
... ... ... ...
400 00:00:20 00:00:15 80%
... ... ...
450 00:03:16 00:00:46 90%
... ... ... ...
500 00:59:30 00:09:47 100%
Tabla 1. Comparativa de descifrado de contraseñas entre 1 CPU vs. 8 CPUs
Aunque es sabido que una contraseña “fuerte” debe incluir combinaciones de números, letras y símbolos, y ser de longitud suficientemente larga como para desalentar el uso de estas técnicas de descifrado, en la práctica los usuarios utilizan frecuentemente contraseñas sencillas para poder recordarlas. De los resultados obtenidos en el caso de estudio puede apreciarse que un porcentaje mínimo de las contraseñas del corpus presentaron mayor dificultad para ser descubiertas mediante el método de descifrado por fuerza bruta.
MPI en forma individual y con los métodos básicos que ofrece el software (reglas predefinidas, ataque con diccionario o fuerza bruta) antes de proceder a la utilización del cluster virtual, considerando que esta arquitectura tiene mayor rendimiento sobre contraseñas de mayor fortaleza.
0:00:00 0:07:12 0:14:24 0:21:36 0:28:48 0:36:00 0:43:12 0:50:24 0:57:36 1:04:48
4
366 377 388 402 407 413 417 427 435 439 443 447 451 455 459 463 468 472 476 480 484 488 492 496 500
Contraseñas rotas
Ti
empo
1 CPU 8 CPUs
Figura 1. Rendimiento del cluster virtual en el descifrado de contraseñas
5 Trabajos relacionados
El crecimiento exponencial del volumen de los dispositivos de almacenamiento hace que operaciones típicas de búsqueda de evidencia digital mediante palabras clave puedan demorar días. Como paliativo, la construcción de índices en algunos casos facilita la tarea de análisis forense, sin embargo, el tiempo de pre-procesamiento puede ser prohibitivo si no se cuenta con el poder de cómputo adecuado. Es por ello que investigadores de renombre en informática forense [2] han comenzado a plantear una arquitectura de cómputo distribuido con el objeto de poder dar respuesta a la problemática, permitiendo la posibilidad realizar operaciones de búsqueda, hashing, o la ejecución de otros comandos específicos utilizados para las actividades periciales.
Un gran avance en esta temática, fue la modificación del código de John The Ripper para permitir el cómputo en paralelo utilizando la Interfaz de Paso de Mensajes (MPI) [4], [5]. En otros trabajos de investigación [6] se comparó la eficiencia entre dos clusters dedicados para descifrado de contraseñas utilizando John The Ripper MPI y Cisilia 16.
Otras variantes [7] que se han presentado utilizan un prototipo de experimentación que integra a Condor 17 y John The Ripper (JtR). La solución propuesta sólo procura
la ejecución de un proceso JtR sobre el recurso informático con mayor disponibilidad de tiempo de cómputo, sin realizar una división del espacio de búsqueda (posibles contraseñas) para permitir el descifrado en paralelo. En trabajos más recientes [8] continúa la experimentación con clusters sobre Linux para ser aplicados en informática forense.
6 Aspectos jurídicos y estado del arte en el procedimiento forense
El esfuerzo invertido en investigación tecnológica aplicada a la informática forense se ha visto fortalecido con la sanción de la Ley 26.388 (Ley de Delitos Informáticos), que permite receptar el advenimiento de las nuevas tecnologías.
Se ha zanjado la discusión sobre si constituyen o no delito determinadas conductas en las que interviene la tecnología informática, pero será necesaria la modificación de los códigos procesales para tratar en profundidad aquellos aspectos concernientes a la prueba. Entretanto, la adopción de buenas prácticas forenses por parte de los peritos informáticos, junto a otros aspectos metodológicos de la especialidad, irán consolidando los resguardos necesarios para evitar la contaminación de la prueba, garantizar la cadena de custodia y la admisibilidad de la evidencia digital.
Por otra parte, se requiere que los operadores judiciales y profesionales del Derecho procuren una actualización de conocimientos en la temática. Sigue siendo frecuente para el Perito encontrarse con puntos de pericia ambiguos, o bien tener que realizar un esfuerzo elevado para lograr adecuar los requerimientos de un operador judicial inexperto a los servicios ofrecidos en función de la experticia y las posibilidades técnicas y humanas. Las fallas en la comprensión del trabajo pericial se producen principalmente por el desconocimiento de esta nueva especialidad y la falta de formalización e institucionalización de los servicios ofrecidos.
En el Poder Judicial del Neuquén se cuenta con amplia experiencia en la realización de peritajes informáticos. Allá por el año 1999 comenzaban a distribuirse a los magistrados y funcionarios los primeros reportes técnicos orientados a poder facilitar las actuaciones judiciales en incidentes con tecnología informática, y la utilización de algoritmos de reducción criptográficos como MD5 para certificación de evidencia digital. Esta línea de trabajo ha continuado dando resultados de aplicación concreta en
la Justicia. En el año 2002 se publicó un marco normativo para el desarrollo de pericias informáticas que proporciona un lenguaje común entre informáticos y operadores judiciales para el desarrollo de pericias informáticas y expone los criterios básicos a considerar durante la selección de recursos humanos para el desempeño de la función de Perito Informático. En el año 2004 se formalizaron las etapas de la metodología de informática forense habitualmente aplicada para análisis de datos. Durante el 2006 se presentó a la comunidad académica una publicación con reglas de procedimiento forense que permiten mejorar, sistematizar y estimar las tareas de investigación de actividades delictivas sobre material informático. La guía operativa para procedimientos judiciales con secuestro de tecnología informática -que fuera publicada y divulgada en ese año- simplificó en gran medida el trabajo de las fuerzas de seguridad, permitiendo que pudiesen intervenir en forma autónoma en gran parte de los procedimientos judiciales sin necesidad de ser acompañados por un especialista en informática forense. Recientemente en el año 2008 se presentó el Catálogo de Servicios para Peritajes Informáticos y Protocolo de Actuación, que permite una correcta definición del alcance de los servicios profesionales de informática forense, contribuye a profundizar los resguardos en la cadena de custodia de la prueba, y explicita la modalidad de trabajo interno para una mejor adecuación de los requerimientos judiciales.
7 Conclusiones
Se ha presentado la implementación de un cluster de máquinas virtuales sobre recursos informáticos compartidos que permite poder hacer uso de servicios de descifrado de contraseñas para tareas de informática forense. Esta solución utiliza componentes de libre distribución y es de especial utilidad para organismos periciales de la Justicia o de Policía que cuenten con presupuestos limitados para la adquisición de tecnología. Asimismo, la infraestructura tecnológica propuesta puede ser utilizada por parte de los responsables de seguridad informática de una organización para un chequeo de contraseñas débiles. Uno de los aspectos más interesantes de la solución propuesta es la utilización de nodos virtuales implementados con la distribución CHAOS, cuyo tamaño es sensiblemente menor al de cualquier otra alternativa de libre distribución.
El futuro de la computación de alto rendimiento ya no se logra únicamente conectando muchas computadoras entre sí para compartir recursos. En materia de informática forense, el incremento en la disponibilidad de computadoras con procesadores de múltiple núcleo, sumado a la potencia de las GPUs, deja sin efecto la utilización de clusters dedicados permitiendo definir una nueva dirección de trabajo orientada hacia la aplicación de tecnologías de virtualización.
de una red local para actividades forenses –en este caso, el descifrado distribuido de contraseñas- sin utilizar equipamiento informático dedicado. La memoria y espacio de almacenamiento requerido para la operatividad de un nodo virtual es despreciable respecto de la disponibilidad de recursos en los puestos de trabajo actuales. Se comprobó que la integración de los nodos virtuales al cluster fue imperceptible a los operadores de las computadoras en el desarrollo cotidiano de sus labores sobre las aplicaciones ofimáticas y de gestión.
Referencias
1. Oechslin, P., (2003), “Making a Faster Cryptanalytic Time-Memory Trade-Off”, Advances in Cryptology - CRYPTO 2003, 23rd Annual International Cryptology Conference, Proceedings of the Lecture Notes in Computer Science, vol. 2729, Springer-Verlag, ISBN 3-540-40674-3.
2. Vassil, R. and Golden, R., (2004), “Breaking the Performance Wall: The Case for Distributed Digital Forensics”, Proceedings of the 2004 Digital Forensics Research Workshop.
3. Perriero, R. and Lui, S, (2004), “Clustering & Computing: A Look into the Usage of a Cluster as a Password Cracking Device”, CMTP-495.
4. Lim, R., (2004), “Parallelization of John the Ripper Using MPI”, Technical Report, University of Nebraska – Lincoln, Computer Science and Engineering Department. 5. Pippin, A., Hall, B. and Chen, W., (2004), “Parallel Password Cracker”, Final Report, Applied Parallel Computing, CS240A, University of California, Santa Bárbara, Department of Computer Science.
6. Frichot, C., (2004), “An Analysis and Comparison of Clustered Password Crackers”, Proceedings of 2nd Australian Computer, Network and Information Conference.
7. Imamagić, E., Dmitrović, A., Buljat, S., (2005) “Distributed Password Cracking with Condor and John the Ripper”, Presentation, CUC 2005, 23/11/2005.