lunes, 26 de septiembre de 2016

El uso de software abierto para el análisis de la evidencia digital


Publicado en diario EL DERECHO del 11 de abril de 2016.

Resultado de imagen 


1.     Introducción

Usualmente para una pericia informática se requiere de hardware y software especializado capaz de realizar las tareas de recolección, análisis y asistencia en la interpretación de los diversos artefactos forenses que requiere la experticia. Tanto el software como el hardware empleado puede ser un programa propietario, o de código abierto, apareciendo entonces los siguientes interrogantes:

¿Es mejor utilizar software comercial o software de código abierto? Esta elección ¿puede impactar en los resultados periciales?  ¿Existe algún impedimento legal en el uso de software comercial? Intentaremos responder a estos interrogantes en el presente artículo.



2.     La evidencia digital y la Pericia Informática

Los Códigos procesales modernos ofrecen diversos medios de prueba, uno de los cuales es la prueba pericial que puede versar sobre distintas áreas del conocimiento humano. Es cada vez más común que los casos tengan información digital almacenada en dispositivos informáticos que requiere ser peritada mediante la intervención de peritos informáticos.

La prueba informática tiene por objeto cualquier registro que pueda ser generado dentro de un sistema informático, entendiendo por éste, a todo dispositivo físico (computadoras, smartphone, tablets, CDs, DVD, pen drives, etc.) o lógico, empleado para crear, generar, enviar, recibir, procesar, remitir o guardar a dichos registros, que, producto de la intervención humana u otra semejante, ha sido extraída de un medio informático[1].

Se requiere de la experticia informática cuando los elementos de prueba requieren de la valoración de un experto en esa especialidad, para una constatación, evaluación, recolección y análisis de evidencia digital. Las últimas dos representan el núcleo de la especialidad conocida como Informática Forense.

La Informatica Forense puede dividirse en dos grandes actividades: La recolección y preservación de la evidencia, esto es la obtención del elemento de prueba, la materia prima necesaria para la segunda parte.

Esta segunda parte es el análisis de la evidencia y la interpretación de los datos de manera científica y técnicamente válida según lo expresan los códigos procesales. Más adelante analizaremos el impacto de la elección de Software comercial o de código abierto en estas dos actividades.



3.     Software Comercial vs. Software Libre en ámbito forense

Seguramente el lector ya se encontrará familiarizado con estas clasificaciones.

El Software comercial es aquel desarrollado y mantenido por una empresa, cuyo código se encuentra amparado bajo un derecho de propiedad intelectual y para su utilización se requiere una licencia de uso que suele ser de carácter oneroso. En muchos casos el mantenimiento del software requerido para su constante actualización, producto de la evolución de las aplicaciones, también suele ser oneroso.

El Software libre se caracteriza por permitir compartir y acceder al código fuente[2] y que permite el uso y alienta la modificación de dicho código en aras de su mejoramiento, aumentando el valor para la comunidad de usuarios. Este tipo de software también requiere de un licenciamiento que no es necesariamente gratuito.

Las ventajas del Software libre son claras, pero ¿son aplicables al software forense?

Es ampliamente aceptada la utilización de Software libre para las tareas de recolección de evidencia ya que se trata de un procedimiento claramente repetible que se autentica mediante al menos un valor de Hash[3], lo cual permite asegurar la integridad de la evidencia durante todo el proceso pericial, pero ¿ocurre lo mismo en la etapa de análisis ? .    El hecho de que el software libre en su esencia permite la modificación del código fuente ha hecho que en numerosas ocasiones se plantee la duda si dicho código no puede ser alterado para limitar una búsqueda o el análisis efectuado. Como ejemplo citamos una de las actividades recurrentemente solicitadas en un peritaje informático: la búsqueda de palabras clave.

Es claro que al tener acceso al código fuente, el software libre puede ser modificado para evitar mostrar el resultado de uno o más vocablos. Este planteo, puede ser fácilmente desestimado, confirmando que las herramientas de software libre utilizadas, han sido descargadas de un sitio seguro y confiable y verificando su integridad mediante el cálculo de hash de la misma. Este procedimiento debe realizarse permanentemente durante la experticia y podría ser considerado como una pericia sobre las herramientas forenses.

            ¿Cuál es entonces la debilidad de utilizar Software forense de código abierto? La evolución y actualización de una herramienta forense en el ámbito informático es absolutamente crucial para su uso efectivo y productivo.

Permanentemente aparecen nuevas aplicaciones o se actualizan las existentes, cualquiera sea la plataforma de sistema operativo empleado, por lo que las herramientas forenses deben acompañar estos cambios de software y hardware, permitiendo asistir al perito informático con los nuevos artefactos forenses. Es allí donde el software de código abierto es débil, pues la comunidad de desarrolladores de software libre para uso forense es tan pequeña, que las actualizaciones toman muchísimo tiempo o sencillamente nunca se hacen.       Esta falta de actualización no impide el uso de la herramienta pero limita al perito informático, al punto que determinadas actividades son muy difíciles de ejecutar o directamente imposibles, tornando el software forense de código abierto en una herramienta de muy baja productividad.

El software comercial o propietario, por otro lado, no permite el acceso al código fuente, pues dicho código fuente está amparado por el Derecho de Autor, lo cual le da facultad al titular de la obra de software de decidir si terceros pueden acceder al mismo[4].     Adicionalmente el código fuente de un programa podría estar amparado por el régimen del secreto industrial[5].  Tanto el Derecho de Autor como el Derecho de los secretos comerciales permiten al desarrollador no dar acceso al código fuente, vedar su reingeniería inversa por medio de la licencia de uso e incluso oponerse exitosamente a que se busque acceder al código fuente en el proceso de una pericia. Justamente por esta razón, algunos detractores del software propietario señalan que al no poder analizar el contenido de las líneas de programación, resulta imposible saber qué está realizando la herramienta informática y por ende sería inválida su utilización[6].

En este punto aparece con claridad el concepto de que el Software Forense es simplemente una herramienta y que el éxito de su accionar dependerá en gran medida, de la formación profesional de quien la utiliza. Un perito informático no debe relegar su tarea a un software, ya sea este comercial o de código abierto, sino que debe conocer con exactitud cuál es el principio de operación, algoritmo o fundamento científico- técnico que la herramienta forense explota, de lo contrario se transforma en un simple operario de la herramienta, sin conocimiento del proceso y sin la idoneidad que la ley procesal requiere, por lo que su dictamen es sumamente débil y fácilmente impugnable.

Por lo expuesto, no resulta necesario conocer o tener mero acceso al código fuente de una herramienta forense para saber qué hace la misma, de la misma forma que no es necesario ser experto en mecánica ni realizar el despiece de un vehículo para conducirlo. Entendemos que el perito informático debe estar capacitado y entrenado para las tareas que realiza y validar sus herramientas forenses, incluyendo el software forense, sea comercial o de código abierto, periódicamente para confirmar que el mismo cumple su función correctamente.

En cuanto a la evolución del software comercial, el mismo en líneas generales se mantiene actualizado, pues sus desarrolladores dedican gran parte de los recursos al desarrollo y actualización del mismo, naturalmente a partir del mantenimiento oneroso del mismo y con la finalidad de seguir respondiendo a las demandas del mercado.

Cuando los fundamentalistas del software forense libre impugnan el uso de software comercial, dejan fuera de la discusión el tema del hardware sobre el que corre el software ya que el mismo también puede ser clasificado en hardware comercial y hardware libre[7], siendo este último apenas incipiente , por lo que en la actualidad, prácticamente la totalidad del software forense libre , se ejecuta sobre hardware comercial, de modo que en su propia lógica esto no sería válido y debería ejecutarse sobre un hardware libre que de momento no existe, tornando el uso del mismo utópico.

Por ultimo señalamos que en la actualidad existen numerosas áreas de análisis forense informático como por ejemplo el amplio y creciente campo del análisis forense de celulares donde prácticamente no existe Software forense de código abierto y se requiere de las herramientas comerciales para realizar pericias que serían de imposible ejecución con software de código abierto.

4.     Aspectos Legales del software Forense

            Desde un punto de vista legal, a nivel procesal nacional no existe norma alguna que prohíba o haga obligatorio el uso del software libre como herramienta forense. Por lo tanto no es ilegal usar herramientas forenses propietarias para hacer una pericia, como tampoco lo es usar herramientas forenses basadas en software abierto.

Tampoco hay normas o casos judiciales que -bajo una especial visión del derecho de defensa en juicio-, obliguen al experto que hace la pericia a usar software abierto o autoricen a quien impugna una pericia a acceder al código fuente de la herramienta forense utilizada para la pericia informática.

En teoría, sería posible que la parte que interviene en un proceso civil o penal plantee que el uso de software comercial vulnera su derecho a la defensa en juicio previsto en el art. 18 de la Const. Nacional. Entendemos que tal planteo no debería prosperar por las razones que desarrollamos seguidamente. Ese hipotético planteo podría seguir este razonamiento: si bien no existe norma alguna que obligue a usar herramientas de software libre en vez de las herramientas de software propietario, el hecho que el perito informático nombrado por el tribunal use una herramienta forense de software propietario impide a la parte “afectada” controlar el funcionamiento de la herramienta o verificar si la misma tiene errores o fallas ocultas que incidan en el resultado de las conclusiones de la pericia. El argumento se basaría en que el derecho de defensa incluye el derecho de controlar la prueba de cargo, y llevando tal principio al extremo no alcanzaría con verificar el fundamento técnico de la pericia, sino que debería existir un derecho de acceso al código fuente (algo posible con el código abierto pero prohibido con el código propietario) para verificar el correcto funcionamiento de los principios y algoritmos propios de la herramienta forense.

Como ya indicamos antes, tal afirmación, desde un punto de vista técnico sería refutable pues es posible probar que el software no comete los alegados errores sin acceder al código fuente, por ej. Testeando otros supuestos parecidos y estudiando cómo funciona el programa en forma externa, sin acceder al código propietario.

Lamentablemente muchos de estas planteos parten del oscurantismo que algunos profesan para aprovecharse del poco conocimiento que existe en el sistema de justicia (incluidos jueces, fiscales y los propios abogados) sobre las reglas prácticas de la Informática Forense. Los jueces saben poco y nada de tecnología y de software, y es fácil pintar a la herramienta forense como una caja negra que arroja resultados que el juez debería seguir pero cuyo proceso interno es incomprensible.

Ahora bien, si no se permitiese el uso de software comercial, algunas pericias (incluso no informáticas) no se podrían realizar, por ejemplo pericias de laboratorio químico, comparación de huellas dactilares, balística avanzada o incluso pericias genéticas.

Justamente es importante este último ejemplo, pues en temas de pericias genéticas con software propietario han recibido esta clase de planteos en Estados Unidos[8]. En un proceso penal los abogados de la defensa plantearon que tenían derecho a acceder al código fuente usado para realizar la pericia genética, y a los detalles de la metodología utilizada, invocando la Sexta Enmienda de la Constitución de los Estados Unidos que tutela la defensa en juicio.

En los procesos penales donde hay pruebas genéticas es común usar un software que según sus creadores mejora la precisión de los test de ADN. El programa se llama TrueAllele[9], y lo que hace es proporcionar a policías o fiscales una respuesta positiva de ADN encontrado en la escena del crimen mediante la comparación de la información genética con una gran base de datos de material genético almacenado previamente. Esto permite encontrar un individuo que puede ser responsable penalmente de un delito, o por lo menos que se lo pueda relacionar con los hechos del delito investigado. El software es frecuentemente usado en casos de agresiones sexuales, homicidio y daños penales.

Dado que el programa de software TrueAllele suele arrojar mejores resultados, cada vez es más usado por policias y fiscales. En el caso que comentamos la defensa de Michael Robinson, acusado de un homicilio de dos personas, sostvo que al estar oculto, el código fuente detras del programa TrueAllele, se le impedía a su cliente la oportunidad confrontar toda la evidencia en su contra. Esto les impedia verificar y testear la exactitud y corrección (reliability and accuracy) del software en cuestión, algo que no hubiera ocurrido de usarse un software abierto.

El juez rechazó el pedido[10]. Se basó en que la empresa se negó a mostrar el código fuente por los efectos que tendría sobre la propiedad del mismo y el acceso del mismo a los competidores. El juez sostuvo que la defensa no demostró adecuadamente la necesidad de acceder al código fuente.  El fallo es similar a otros casos en Estados Unidos en el mismo sentido[11].

Casos similares se han planteado en los casos penales de manejo alcoholizado. Los conductores sometidos a procesos penales han cuestionado la validez y resultado del dispositivo usado para medir la cantidad de alcohol en la sangre.  Frente al resultado positivo que es la prueba de cargo usada por los fiscales, los imputados suelen pedir acceso al código fuente del programa usado dentro del dispositivo para verificar si la medición fue correcta y si el dispositivo fue usado correctamente. En Estados Unidos esta clase de planteos ha sido rechazada en todos los estados donde ha tenido lugar[12]. La mayoría de los tribunales entendieron que el pedido de discovery de la defensa está limitado a la información en poder del Estado o del Fiscal, pero no incluye al código fuente del dispositivo usado para medir el nivel de alcohol, que es propiedad del proveedor del software. Asimismo no hay normas legales que obliguen a usar código abierto en esos dispositivos.

En síntesis, entendemos la lógica del planteo de la falta de revisión del código fuente de la herramienta forense usada en la prueba de un proceso judicial pero no compartimos que automaticamente lleve a invalidar la prueba realizada y las conclusiones.

Es que llevado al extremo esta tesis, se podría también argumentar que el imputado necesitaría analizar el código fuente de procesador de texto con el cual se escribe la sentencia, o la base de datos que el juez usó para buscar fallos para fundamentar su sentencia, pues de esa forma se asegura su defensa. El imputado también podría argumentar que tiene derecho a controlar el hardware sobre el que se empleó el software citado, situación poco probable ya que el mismo está conformado por un conjunto de procesadores y chips de apoyo, que se encuentran amparados por el secreto industrial. También tendría derecho a controlar la conexión a Internet que use el software.

            Finalmente, si el demandado o imputado tienen dudas sobre la existencia de alguna clase de reparo sobre el código fuente, siempre pueden pedir que se analice todo o parte del código fuente para verificar concretamente su sospecha, la cual tiene que estar fundada. Pero esa fundamentación no puede ser planteada en abstracto o en términos muy abiertos. El planteo debería indicar con un resultado concreto porqué el programa propietario estaría fallando, cometiendo errores o estaría alterado con la finalidad de sustentar su planteo en argumentos serios, de lo contrario sería un planteo de nulidad por la nulidad misma. No parece que haya agravio por un mero cuestionamiento en abstracto de la falta de uso de software abierto o falta de acceso al código fuente. Por último, este tipo de planteos son una forma de dilatar el proceso haciendo una pericia dentro de otra pericia. Es decir, esto llevaría a una “pericia de la pericia”.

Las situaciones donde existen derechos amparados por secretos comerciales o derechos de autor que suelen impedir el acceso al código fuente o a un procedimiento van a ser cada vez más frecuentes. Se pueden dar en casos, como vimos, de pruebas genéticas, pero también podrían producirse en un juicio donde se debe analizar cómo muestra datos un buscador de Internet, o como funciona un software de medicina en un caso de mala praxis médica.





5.     Conclusiones

Cabe concluir que no existe tal dicotomía entre el Software comercial y el Libre en ámbito Forense. Ambos son perfectamente válidos con sus fortalezas y debilidades

En ambientes académicos o peritos que recién se inician, es perfectamente utilizable el software forense libre, sin embargo a medida que el volumen de trabajo se incrementa o en laboratorios forenses de fuerzas de la ley donde el cumulo de tareas es importante, la utilización de Software comercial se suele transformar en una necesidad.

Para algunos artefactos forenses, el software comercial es imprescindible ya que no existe software de código abierto equivalente y por lo tanto determinadas pruebas periciales no se podrían llevar a cabo si se adopta la postura que solo el software abierto garantiza la defensa en juicio.

Finalmente no hay normas a nivel nacional que estipulen la obligación de usar herramientas forenses de código abierto o que den derecho al imputado a acceder al código fuente para sustentar su defensa en juicio.



[1] VANINETTI, Hugo, Preservación y valoración de la prueba informática e identificación de IP, LL 2013-C-374.

[2] En esta nota nos referimos en forma general a “software libre” aunque en la práctica existen distintos tipos de licencias de código abierto tales como la GPL, la OSI, la MIT License, la  licencia Apache, etc.

[3] Un hash o digesto matemático es un algoritmo matemático que permite generar una cadena de caracteres hexadecimales (número de hash) que, a los fines forenses, permite la identificación unívoca de contenido binario.

[4] Art. 1 de la ley 11723.

[5] Art. 1 de la ley 24.766.

[6] Desde un punto de vista técnico esta afirmación siempre podrá ser discutible. El usuario de un software propietario, puede hacer pruebas de concepto , experiementos o “jugar” con la herramientos forenses de diversas maneras para testear su optput y comprobar que el mismo cumple con los principios de operación correctos y  no produce “falsos positivos” o que no existe “gato encerrado”. La ingeniería reversa de software es legítima en algunos casos.

[7] Ver https://es.wikipedia.org/wiki/Hardware_libre

[8] http://blog.expertpages.com/expertwitness/pennsylvania-judge-denies-access-to-source-code-behind-dna-expert-witness-software.htm

[9] http://www.cybgen.com/systems/casework.shtml

[10] http://www.cybgen.com/information/newsroom/2016/feb/Michael_Robinson_Opinion.pdf

[11] Ver http://www.cybgen.com/information/newsroom/2016/feb/Pennsylvania-court-ruling-denies-source-code-discovery-request.shtml

[12] Aurora WILSON, Discovery of breathalyzer source code in DUI prosecutions, WASHINGTON JOURNAL OF LAW, TECHNOLOGY & ARTS, Vol. 7, Issue 2, Fall 2011.


por Gustavo Presman y Pablo A. Palazzi