¿Es delito el hacking ético?

hacking-etico

Por Lorenzo Martínez Rodríguez

Últimamente, y con cierta periodicidad, leemos en El Mundo artículos relacionados con Seguridad Informática y Hacking, de la mano de Mercè Molist, reconocida periodista focalizada en el sector desde hace muchos años, con iniciativas tan interesantes como la recopilación de la Historia del Hacking y sus protagonistas en el proyecto Hackstory.

La última de las entregas que he podido leer, y que ha generado gran controversia en listas de correo como RooteCon y NoConName, tiene que ver con una entrevista realizada a tres profesionales del derecho en “¿Es Delito el Hacking Ético? (II)

El artículo, que habla por sí mismo, presenta tres visiones diferentes ante cómo enfocar el mismo problema, con más dureza en el caso de Ángel Vallejo, que considera que: “Quien quiera que le hagan un «pentest» (de «penetration testing», auditoría de seguridad) ya lo pedirá” e instando a que nadie meta la nariz donde no le llama, aunque se descubra la vulnerabilidad por “accidente», o aunque sea un servicio que utilizas y gestiona tus datos personales, y no te tiene que importar qué medidas de seguridad se han tenido en cuenta para su protección.

Me gustaría aportar mi opinión a lo que se indica en este artículo, de forma independiente a las valoraciones que he leído en ambas listas de correo.

El artículo al que se hace referencia es el 197.3 del código penal, también llamado “ley del hacking”, está ‘tan bien redactado’ como sigue: 

«El que por cualquier medio o procedimiento y vulnerando las medidas de seguridad establecidas para impedirlo, acceda sin autorización a datos o programas informáticos contenidos en un sistema informático o en parte del mismo o se mantenga dentro del mismo en contra de la voluntad de quien tenga el legítimo derecho a excluirlo, será castigado con pena de prisión de seis meses a dos años.»

Hago hincapié en lo de “bien redactado” (de forma irónica) porque dice que quien vulnere las medidas de seguridad, acceda a datos de un sistema…  Ehm… un momento, si puedo acceder a datos no deseados es que NO HAY medidas de seguridad que protejan ese acceso. Es el clásico ejemplo de que haya medidas de seguridad para no exponer a Internet el servicio MySQL, pero hay un frontal web que tiene un SQL Injection que me permite extraer la base de datos completa. 

En algún juicio me ha tocado, en el papel de perito, demostrar que un cliente no ha vulnerado “las medidas control de acceso a un sistema” para copiar información a otra localización, puesto que su usuario tenía permiso para ello. Es decir, que no ha tenido que explotar una vulnerabilidad en un servicio para acceder a datos a los que con su usuario no podría.   

En el caso del formulario que hace una consulta a una base de datos, en el que si le dices “Dame la base de datos entera”, éste te la da, no lo considero un delito, puesto que el sistema incorpora una funcionalidad por la que introduciendo un valor válido en un parámetro, me devuelve una respuesta. Si ésta no ha sido tenido en cuenta por el programador que diseñó la aplicación web, no es mi problema, pero según la redacción de la ley, en mi opinión (que no es la que vale, sino la del juez), no es delito. Evidentemente, en este caso, lo que hay que hacer es reportarlo convenientemente e indicar cómo se explota. Tampoco es necesario llevarse la base de datos completa para demostrar esto. Basta con hacer un “desc” a una tabla para que sirva de prueba. El problema es aguantarse el morbo de traerse las filas de cada tabla, pero eso depende de la ética de cada uno.

Por parte de la empresa u organización reportada, sólo le queda confiar en que quien le ha notificado el problema, tiene la suficiente honradez para no traficar con los datos contenidos en esa base de datos. Desde mi punto de vista, si lo notifica, es que tiene esa honradez, puesto que si no, no diría nada y utilizaría la información extraída a su conveniencia. 

Igualmente, en el caso de reportar un XSS, en mi opinión se repite el patrón: Si tu aplicación web no escapa determinados caracteres en todos los parámetros, teniendo en cuenta evasiones mediante encodings y otras técnicas, no se están evadiendo las “medidas de seguridad establecidas” puesto que NO LAS HAY!!   Aquí además me gustaría diferenciarlo entre si el XSS es persistente o reflejado, puesto que en el caso de un persistente, sí que estoy dejando un código en el servidor, por ejemplo como comentario en un post (que por cierto, lo almacena el propio servidor web en un servidor de base de datos, normalmente) de un reflejado, en el que no se modifica en ningún momento valor alguno en el servidor, sino que se referencia un fichero/imagen/recurso de otro sitio, como por ejemplo el sonado caso de la web de la Presidencia Española del Consejo Europeo. En este caso, ¿dónde está el delito? ¿Por qué acojonarse entonces al reportar esta vulnerabilidad? Pues porque cuando se trata de juicios, y que haya una interpretación personal de por medio ante la redacción de una ley, y que por hacer un favor, de forma responsable, a la organización que tiene la vulnerabilidad, puedas salir perjudicado es cuanto menos, poco justo.

Es decir, que por una parte, y vuelvo a hacer hincapié en “según mi forma de verlo”, el artículo 3 de la ley 197 está mal redactada desde el principio, para este caso, que es el ejemplo que se ilustra típicamente sobre publicar en pastebin los datos extraídos, aunque esto sí que está contemplado en el artículo 197.4 (a mí entender cubriendo el gap del punto 3 correctamente), por lo que, mientras el investigador no publique los datos extraídos del sitio, no debería estar cometiendo un delito.

«4. Se impondrá la pena de prisión de dos a cinco años si se difunden, revelan o ceden a terceros los datos o hechos descubiertos o las imágenes captadas a que se refieren los números anteriores.

Será castigado con las penas de prisión de uno a tres años y multa de doce a veinticuatro meses, el que, con conocimiento de su origen ilícito y sin haber tomado parte en su descubrimiento, realizare la conducta descrita en el párrafo anterior.»

Por supuesto la conclusión del abogado Ángel Vallejo, sobre “Quien quiera una auditoría de seguridad, ya la pedirá” es confiar demasiado en que las normativas existentes y el miedo a las multas por incumplimiento se encargarán de que todo “esté seguro”. 

Si el derecho y la justicia fuesen por delante del fraude y el cibercrimen, éstos últimos no existirían,… y estamos hartos de ver incidentes de seguridad de forma diaria que involucran millones de euros de propiedad industrial e intelectual extraídas, así como información “imponderable” relativa a información tan sensible como los datos de salud de personas humanas

Que conste que este post no es, en ningún momento, una incitación a meter comillas, %27 o >, en cuanto formulario web nos encontremos, con la única finalidad de «ayudar», porque yo no seré el juez que tenga que interpretar vuestros hechos contra las leyes y determinar si fue de buena fe o no.

Artículo publicado originariamente por el autor en Security by Default.