21 agosto 2014

¿Es delito el hacking ético?




Ú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.

25 comments :

Otro punto de vista dijo...

Mi interpretación es la contraria. Yo creo que lo de "vulnerando las medidas de seguridad establecidas para impedirlo" hay que interpretarlo de manera general, no de forma específica. Es decir, que si se han establecido medidas de seguridad para que personal ajeno a la organización no pueda acceder a datos internos de la organización, pero alguien externo consigue acceder a esos datos, aunque sea por una vía que no está específicamente protegida, un juez va a interpretar que se han vulnerado las medidas de seguridad establecidas. De hecho, creo que un abogado podría decir que para conseguir el volcado de la base de datos alguien se ha "mantenido dentro del mismo en contra de la voluntad de quien tenga el legítimo derecho a excluirlo", aunque haya sido sólo mientras se ejecutaba el select.
Conociendo cómo piensa la gente de derecho... a mí me parece peligroso ir haciendo pentesting sin el visto bueno del afectado, sobre todo porque tarde o temprano (por pura estadística) vas a dar con alguien a quien no le guste, y que esté dispuesto a "ir a por ti" utilizando el 197.3.

Anonimo dijo...

Al señor Ángel Vallejo yo le plantearía el siguiente escenario: Una persona va caminando por la calle y ve la puerta de un coche abierta, esta persona avisa al dueño. El dueño del coche denuncia al que le ha avisado y este va a la cárcel. Según su opinión, si el dueño del coche quiere un test de intrusión ya lo pedirá, vaya risas :?

Alberto Carrasco dijo...

Sólo si éste intenta primero abrir el coche para comprobar que, efectivamente, está abierto ;)

Alberto Hornero Luque dijo...

Buenas Lorenzo,

Como te adelantaba por twitter el caso es el siguiente.

Estoy dado de alta con un proveedor de servicios de internet (no diré el nombre), y al acceder al área de clientes y descargar la factura de mi último mes veo que la URL es de la forma: http://nombre_del_proveedor/FacturaWeb?id=CÓDIGO (Oculto nombre_de_proveedor y CÓDIGO para que nadie ajeno lo explote)


Bien, tan sencillo como que CÓDIGO es una secuencia numérica (e incremental), si modifico el número me encuentro con facturas de otra gente, con lo que otra gente puede ver mis facturas. Evidentemente no voy a explicar, y menos en este post, la evidencia de lo fácil que resultaría construirse un script con un parser para descargar los datos de TODOS los clientes de esta compañía, junto con datos bancarios y NIF de cada cliente.


Me preocupa mucho la exposición de mis datos, pero sobre todo me preocupan las represalias. Como cualquiera, lo más fácil sería escribirles, pero no quiero pecar de inocente y comerme algo que ni siquiera es culpa mía. De hecho, entiendo que no he vulnerado ninguna política de seguridad.


Por cierto, la descarga de los PDFs se puede hacer usando la URL, no hace falta estar loguado y las peticiones son contra HTTP.


Un saludo,


Alberto.

Anónimo dijo...

Aunque sea un punto de vista personal, tiene varios errores por tratar de quedar bien con demasiada gente --> 1. Se empieza hablando de una mala redacción de la ley, y se termina comentando si ha sido con buena o mala fé (FAIL). 2. Se hace alusión a que la ley puede evitar el fraude y el cibercrimen (UTOPIA). 3. Ni una sola palabra referida a un proceso de aprendizaje en el que, no existe otra forma, que vulnerar los sistemas de seguridad implementados para evitar como corregirlos (BARRIENDO para CASA).

Se nota quién lo va a leer.

Lorenzo Martínez dijo...

Hola 'Anónimo',
Te contesto por puntos, según mi opinión:
1.-) Se comienza y se termina diciendo que la ley está mal redactada, porque a mi entender, lo está. Precisamente defiendo que no habiendo mala fe, no tiene por qué ser delito (cosa contraria a lo que aplican los jueces)
2.-) Pienso que ninguna ley que pongas terminará nunca con el fraude y el cibercrimen, al igual que ninguna termina con los asesinatos, violaciones, violencia de género, accidentes de tráfico, etc,... La libertad de los seres humanos es quien decide si se ha de hacer caso a una ley o no
3.-) Hay más formas de hacer esto por parte de las empresas que tienen cara en Internet, como por ejemplo, hacer auditorías por parte de personal especializado interno o externo, securizar su entorno, aprender de sus logs, instalar honeypots, etc,...


Este blog no está destinado a que se lo lean solamente algunos, sino todo aquel que quiera hacerlo, dejando su opinión, sea en la misma línea de lo que escribimos (con nombre y apellidos, no como anónimos), o en la contraria... y ojalá, que aportando algo a ello

Anónimo dijo...

Ahora SÍ que veo tu opinión! :). Perdona por el ramalazo radical. Estoy de acuerdo contigo.

txalin dijo...

gensanta, estoy pensando si se podía haber metido otra cagada mas gorda pero no se me ocurre, creo que las tienen todas. Ni que fuera a posta!!!

goreman dijo...

En el caso de querer solucionarlo con la total seguridad de que no habrán represalias, entonces envia un email de forma anónima desde TOR al ISP y ya te digo yo que siendo un fallo tan gordo se encargarán de arreglarlo y dudo que pierdan tiempo intentando rastrear un email de una notificación en cuanto a un fallo de seguridad (a no ser que sea timofonica).

PD: Si lo que quieres son condecoraciones por el fallo descubierto podrías denunciar directamente a la empresa diciendo que un tercero ha accedido a tu factura y relatando el modo.

otro anonimo dijo...

pues valoro el contenido del comentario no el nombre de quien lo envia necesariamente

Jordi dijo...

Hola amig@s, felicidades por el post.

Hay muchos vacíos legales que pueden derivar en abusos con respecto a las personas que no securizan sus sistemas, y los usuarios por otro lado deberían estar informados del peligro que corren por supuestas negligencias.

Por favor, echad un vistazo a este artículo:

http://programarivm.com/2014/08/es-vulnerable-la-blogosfera-espanola/

¿No os parece sorprendente?

Según tengo entendido, según la LOPD no es obligatorio poner SSL, aunque a veces comprometa la seguridad.

Esta semana he descubierto un montón de vulnerabilidades en la blogosfera española, escribí este post y estoy avisando a los autores.

Un saludo a todos,

anonimo dijo...

Si yo pruebo a abrir la puerta y está abierta no es mi problema ;) , si le meto la ganzua entonces si claro xD

Alberto Hornero Luque dijo...

Gracias por tu respuesta.

Realmente no busco ninguna condecoración, mi preocupación viene por la exposición de los datos de los usuarios, donde yo también soy un perjudicado. Me daría de baja de esa compañía, pero comenté por twitter https://twitter.com/ahornero/status/502362631286837249 su servicio, con esta salvedad (que no es poca), es impecable.

Ya me he puesto en contacto con el INTECO.



Alberto.

chispi dijo...

Entonces si yo me meto en shodan y busco empresas que mantienen sus contraseñas por defecto, para despues desinteresadamente avisarles de que estan vulnerando la seguridad de su empresa(a veces incluso, la seguridad de los ciudadanos)¿Es cometer un delito de hasta 2 años de carcel?

Alberto Carrasco dijo...

Si esa puerta te pertenece eres libre de hacerlo, si no... Es tan sencillo como el siguiente planteamiento:
- ¿Para qué quiero abrir una puerta? Para entrar dentro.
- ¿Cómo se si una puerta se puede abrir? Intentando abrirla.

- ¿Qué pasa si abro la puerta? Que he entrado dentro... ¿A dónde? A un sitio que no me pertenece. Y esto, aunque duela, se extrapola al mundo virtual.


Es decir, aunque una puerta esté abierta, si intentas abrirla, en el momento en que consigas hacerlo, forzadamente o no, estás entrando en un lugar que no te pertenece... y lo mismo para cualquier sitio web o servidor. Donde yo vivo, la mayoría de personas tienen su puerta abierta, pero nadie en su sano juicio se atrevería a tratar de abrirlas para comprobar si efectivamente están abiertas... Pues como esté justo el dueño detrás te puede llover una buena galleta. ¿Tu lo intentarias? ;)

Alberto Carrasco dijo...

No, tu solo estás consultando datos almacenados en una base de datos. Shodan no escanea en el momento, a través de la web solo haces consultas a una base de datos, en la cual se han almacenado resultados de escaneos previos, que realiza Shodan (o terceros, pero son almacenados y consultables en dicho sitio). En todo caso, el autor del "delito" sería Shodan en sí.

Alberto Carrasco dijo...

Tienes dos opciones:
- Denunciar ante la unidad de delitos telemáticos de la Guardia Civil mediante un email anónimo y que éstos se encarguen de hacer de intermediarios entre la vulnerabilidad y el proveedor, de manera que tú no tengas que verte involucrado en el proceso. Sin embargo, puede que tarde un tiempo en solventarse puesto que tendrán que llevar a cabo una serie de trámites para poder proceder a informar a la empresa de dicho fallo.
- Echarle un par e informar a la empresa. Eres un cliente, que supongo ha pagado por sus servicios, y valorarán positivamente que un cliente (y no alguien de fuera que, tal vez, solamente ha tratado de explotar algo y pretende sacar tajada haciéndose el bueno) trate de colaborar por un servicio mejor. Eres un cliente y puedes exigirles que TUS datos estén seguros. Si puedes demostrar que cualquier cliente puede acceder a TUS datos, puedes denunciarles por MALA PRAXIS, y tienen las de perder, así que si te tratan de colgar el marron, se la puedes devolver ;).


Saludos,


Un tocayo ;).

Angel Vallejo dijo...

Mi conclusión no se parece en nada a lo que Vd. comenta en su artículo, en primer lugar. Lo que digo es, ni más ni menos, lo que consideran los jueces en España al respecto del artículo 197. Otra cosa distinta es que a Vd. eso no le parezca justo, cuestión en la que yo no entré en la entrevista en la que se basa el artículo. En todo caso, me llama la atención que Vd. critique lo que sostiene es la base de mi argumento (erróneamente, porque no lo es) para luego acogerse a la "confianza en la honradez del que detecta un fallo" y lo reporta. Un sistema penal que se base en la confianza en la honradez de los sujetos lo tiene muy crudo. Saludos. Angel Vallejo

Angel Vallejo dijo...

Anónimo, el ejemplo no tiene nada que ver con lo que dice la ley de hacking. El correcto sería plantear que una persona entra ilegítimamente en casa de otra y en su garaje descubre que la puerta de su coche está abierta. Y ahí hay un allanamiento de morada de libro. De nada.

Lorenzo Martínez dijo...

Ángel, en el artículo sólo cito la última frase de lo que aparece en el artículo original de El Mundo como su declaración. Si Vd. no está de acuerdo con lo que ahí aparece, indíquelo a El Mundo o a la periodista. Si Vd. no quiere pronunciarse respecto a la justicia o no de la redacción de esa ley, está en su total derecho, pero creo que aportaría y mucho al debate, que se posicionara y pronunciara al respecto.
Cuando me refiero a la confianza en la honradez de los sujetos, me refiero a los que están reportando una vulnerabilidad, puesto que si no fueran honrados, no lo reportarían. Se callarían y la explotarían para su beneficio (lo que sí que me parecería algo punible)
Créame que suficientes injusticias se observan en las noticias todos los días en las que se ve que se absuelve a gente con cientos de antecedentes (aunque sean en hurtos por ejemplo) o en enormes fraudes (elija usted el partido político que desee y encontrará prueba de lo que me refiero) en los que no pasa ABSOLUTAMENTE nada. Sin embargo, por ser honrado y avisar de un problema de seguridad, que si lo descubro y lo notifico no pasa nada, antes que alguien sin escrúpulos lo haga, me busco la ruina por notificarlo poniendo mi nombre y apellidos.

Modesto dijo...

Imagino que el Sr. Vallejo compartiría aquí su opinión, pues el tipo de aviso que Ud. pone como ejemplo, simplemente, NO está tipificado como delito. Sí lo está, sin embargo, el entrar en un sistema SIN PERMISO (es decir, sin ser usuario/cliente, o sin estar expresamente autorizado por el propietario de dicho sistema para hacer el pertinente test), vulnerando sus medidas de seguridad (con independencia del grado de seguridad que éstas ofrezcan - digo esto último esto por un comentario posterior de otro lector -). Eso es, ni más no menos, lo que dice el artículo en cuestión y lo que interpreta la jurisprudencia hoy día. Saludos.

Angel Vallejo dijo...

Gracias por su respuesta, Lorenzo. Creo que mezcla Vd. temas distintos, y eso no ayuda a aclarar el asunto principal. Las injusticias que las noticias reportan cada día no tienen nada que ver con el hacking ético, y los partidos políticos tampoco. A lo que yo me refería en mi entrevista era única y exclusivamente al contenido de la ley actual y al modo en el que los jueces la vienen aplicando. Nada más. En breve publicaré un artículo con mi posición sobre la ley vigente, en el que se comprobará que hay ciertas ideas que comparto con el fiscal Bermúdez, pero eso no cambia la realidad de lo que hoy ocurre en los tribunales. Saludos.

Cricho dijo...

Una pregunta: Si yo ingreso a una casa por la puerta que está abierta sin el permiso de su propietario, estoy violando una propiedad Privada?? Y si rompo la ventana de un piedrazo?? En el primer caso no hay seguridad alguna y en el segundo estoy vulnerando la medida de mitigación de intrusión que supone una barrera física.
Creo que no importa que pase entre medio. Si accedo a datos que no son público o siendo privados no tengo acceso permitido a ellos es delito. A lo sumo se podrá decir que los limites no están correctamente informados. O acaso puedo ingresar a un campo que no tiene alambrado perimetral pero sé que no es mío, sin que por ello este invadiendo propiedad privada??
Saludos
Cricho

Maravento dijo...

Hola lorenzo. Muy buen análisis y el de todos los participantes. Te dejo un aporte de la ley colombiana que quizas pueda serte de interés. Muy similar a España (copy & paste en muchos aspectos)

ley 1273 de 2009 artículo 269B: (consultar la norma completa. 1 página)

http://www.alcaldiabogota.gov.co/sisjur/normas/Norma1.jsp?i=34492

Obstaculización ilegítima de sistema informático o red de telecomunicación. El que, sin estar facultado para ello, impida u obstaculice el funcionamiento o el acceso normal a un sistema informático, a los datos informáticos allí contenidos, o a una red de telecomunicaciones, incurrirá en pena de prisión de cuarenta y ocho (48) a noventa y seis (96) meses y en multa de 100 a 1000 salarios mínimos legales mensuales vigentes, siempre que la conducta no constituya delito sancionado con una pena mayor.

LDH dijo...

El siguiente artículo trata temas conocidos como full disclosure, responsive
disclosure, bug bounty program y el denominado “hacking ético” pero
desde otra perspectiva.

http://www.segulupa.com/la-seguridad-y-la-informatica-cuales-son-los-limites/