lunes, julio 07, 2008

¿Cómo avisar de un bug en una web?

Esta es una pregunta que sistemáticamente me repiten: "He encontrado un fallo de seguridad en una web y quería saber cómo debo reportarla". Buena pregunta.

Yo, tiempo ha, tomé una decisión sobre esto y la escribí en Date por avisado, pero sin embargo, si la web es de amigos les aviso. También si la web es de un organismo oficial lo hago a través de los cuerpos de seguridad. Si son otras me suelo apoyar en el texto de mi post.

En España hay una legislación que marca esas actitudades como delictivas, con lo cual no es fácil explicar cómo diste con el fallo de seguridad. A mí normalmente no me preocupa mucho esto pues me suele dar la información del fallo "un informante anónimo", o son "errores o descuidos" que me pasan sin querer (que yo tengo unos dedos muy porrudos).

Pero, ... ¿cómo avisar? o...¿se debe avisar?. Yo particularmente soy de la opinión de que si no existiera esta legislación se debería avisar a todos, y eso ayudaría a que las cosas estuvieran mejor.

Las repuestas que puedes obtener son varias. La experiencia dice que algunos de los "avisados" se lo toman por el mal camino y suelen enfadarse. No se enfadan con el fallo, se enfadan con el informante, y eso, con la legislación existente no es divertido. No son tantos así, pero la conversación suele ser así:

- "Hola, he encontrado un fallo en su web que permite extraer datos personales de sus clientes".
- "Hijo*** vete a mirar el c*** de tu p*** madre".


La opción dos es el pasotismo que puede demostrarse de dos maneras. La manera 1 es la llamada "Linea Plana", es decir, que no recibes ninguna contestación. Pasan los días, pasan las semanas, pasan los meses, pasan de ti. La manera 2 es la de la que yo llamo "Contesa". Es decir, muy buen aspecto, pero no deja de ser un corte. "Gracias. Lo tendremos en cuenta". Estas dos opciones son las que más se dan o pasan de ti o te regalan una "Contesa".

La tercera opción, es la que muchos desean cuando encuentran un fallo, es decir, que se lo agradezcan con un mail. Simplemente eso, no más. Sin embargo, esta no es la respuesta más habitual, pero mola cuando pasa.

La última opción es ...la otra..., pero puede terminar....bastante mal. Tú decides.

Al final, cuando decides reportar un fallo te juegas una de estas respuestas, por lo que decide que hacer:

1.- La hago para aprender y paso de esta panda de cabrones -> No reportes.

2.- Quiero que se arregle la página y me la suda el reconocimiento -> Mail anónimo a webmaster.

3.- Quiero hacerme un nombre en este mundo como profesional-> Se cuidadoso y educado.

Ten encuenta que cuando hay un fallo de seguridad pueden caer hostias como panes al administrador o desarrollador. Si avisas al cliente/jefe le va a joder que se haga público y le va a dar dos hostias al programador, con lo cual se puede enfadar alguien. Si lo haces al contrario, avisando al desarrollador/webmaster, entonces puede que te lo agradezca bien, pero a lo mejor te quedas sin el reconocimiento. Menos riesgo, menos probabilidades de reconocimiento.

4.- Quiero hacerme un nombre en este mundo "a cualquier costa"-> Entonces toma el mal camino, pero no te asustes si te comes un marrón, porque es un mal camino.

Al final, molaría que hubiera un servicio de reportes nacional. Yo recomiento usar gente como INTECO, la Guardia Civil o la Policía para que sean ellos los que reporten la vulnerabilidad. Otra posibilidad es hacerlo vía alguna empresa de seguridad informática que seguro que ellos saben con quién hablar. Yo te doy una recomendación: Piensa en las consecuencias.

Seguro que muchos de vosotros tenéis alguna experiencia. ¿Quieres compartirla aquí?

Saludos Malignos!

23 comentarios:

henry dijo...

No soy ningun experto en esto, pero yo lo probé un par de veces y no salió bien, asi que no lo pienso repetir. Mi experiencia me dice que es mejor dejarlo pasar y ya está. En pocas palabras, que les den, que se lo tienen merecido

El riesgo no merece la pena, ni siquiera avisando al desarrollador en vez del jefe, porque se suele sentir tocado en su orgullo en vez de darte las gracias por enseñarle nociones básicas de seguridad. Ya vendrá algun listillo y le hará alguna trastada para que aprenda, aunque a veces ni eso, porque la mayoria son tan inutiles que solo saben restaurar copias de seguridad. Tranquilos que el burro que no camina por palabras, al golpe camina...

Yo si veo un coche abierto por la calle paso de buscar al propietario ni de intentar cerrarlo ni tocar nada ni avisar a la policia. Pues lo mismo hago en una web y si es una tienda online o algo por el estilo, que pierdan clientes aunque no lo sepan. Yo no meto ahi mis datos personales ni de coña. si la pagina es de un amigo ya es otra historia

salu2

Iñaki dijo...

Pues yo bordes bordes no he tenido, caso omiso, unos cuantos. Pero el que más recuerdo fue cuando reporté un fallito de sql injection a eventid (gran pagina) y me regalaron una suscripción durante un año ;P

Saludos

Anonimillo dijo...

Estoy con henry, a mí también me dio hace tiempo por enviar mails avisando y no sólo he sido ignorado, la mayoría se ofendía bastante, he probado a enviarlo a webmasters o desarrolladores directos, también a clientes a jefes y a directores de relaciones públicas, incluso al departamento de atención al cliente que para eso era yo el cliente...

El último que me pasó fue curioso yo trabajaba en mi empresa y ésta "vendio" los datos de todo el personal a una emprsa externa para que se ocupase de hacer promociones entre los empleados, del tipo, descuento en gimnasio para empleados de XXXXX... el caso es que me dió por hacer la primera comprobación de todas... y bingo... luego miré un poco más y otro bingo, claro entendía que ese era un problema muy grave, tanto para mi empresa como para la empresa externa de la que yo ya era cliente (involuntario).

Escribí un email a atención al cliente de la empresa externa, con copia la persona responsable de seguridad de mi empresa. Recibí respuesta de un tal jefe de la empresa en España, evidentemente no tenía ni idea de lo que hablaba y me decía que había que tener muy altos conocimientos de informática para lograr penetrar en el sistema (' or ''=') luego añadía que en cualquiera caso eso no entrañaba ningún riesgo para la seguridad... y varias perlas por el estilo.

El responsable de seguridad de mi empresa no dijo ni esta boca es mía, detectaría el mail como spam...

Así pues, ¿qué debo hacer doctor? mis datos están colgados en una web accesible por todo el mundo (no es intranet) y vulnerable a vete a saber cuantas cosas más, ya que yo solo probé media tarde.

Debería haber aprovechado el bug que encontré a la hora de actualizar los datos y borrarles la base de datos entera? así no pisotearían mis derechos, la LOPD y el maldito sentido común.

shakaran dijo...

Ahí va ese aviso(educadamente):

"Señor Maligno, está utilizando un sistema operativo propietario de dudosa reputación y con unas políticas de privacidad de sus datos muy debatibles, por otro lado, navega con un navegador poco respetuoso con los estándares y de momento con más días y fallos de seguridad sin corregir al año."

Espero que no me des una "contesa" XD.

FilEMASTER dijo...

yo te contesto shandokan, digo shakaran

"Señor shakaran, está utilizando un cerebro obsoleto de dudosa reputación y con unas políticas de privacidad de sus datos muy debatibles, por otro lado, navega con un ego poco respetuoso con el trabajo de los demás y sin tener puta idea de nada."

A VER SI TE CALLAS!!!

shakaran dijo...

Que divertido(cito textualmente):

"No se enfadan con el fallo, se enfadan con el informante"

Grandes palabras, si señor.

PD: Filemaster, gracias por los cumplidos, pero no esperes ninguno mío.

g30rg3_x dijo...

Uffff,

Que si no me ha pasado ¬¬... la ultima que me dejo que un recuerdo agridulce fue en wegame.com, sitio en el que reporte multiples fallos.
Cuando me respondieron lo hicieron amablemente e inclusive me ofrecieron un trabajo en wegame.

Sin embargo despues de algunos meses comprobe que no me hicieron ni caso; bueno realmente me hicieron parcialmente caso y repararon los mas criticos sin embargo dejaron algunas sobras...
http://www.wegame.com/browse/?q=test&x=0&y=0&time=a/%22/%3E%3Ch1%3ENo+Soy+Un+XSS%3C/h1%3E%3Ca

Que un buen juanker podra buscarse.
Así que bueno como dice Gareth Heyes:

"Suddenly realised that everything is insecure and when I got no reply from my emails, I also realised that nobody cared..."

Saludos

Anónimo dijo...

Las prisas, que ese día saliste de noche y estabas medio sobado mientras programabas, que estabas hasta el culo y cansado o simplemente que todos somos humanos y la cagamos.

El caso es que venga un listillo y diga "tío no tienes puta idea de hacer tu trabajo, mira lo que hago con una ' " jode un huevo. Esto le pasa a todo el mundo con sus trabajos, a nadie le gusta que le pisen, por lo tanto lo de agradecer...realmente es muy duro. Y lo de las hostias que caen también escuece, o no le ha pasado a nadie en su trabajo, aunque no sea informático, en lo que sea. Claro que habría que tomarselo a bien, pero en estas cosas te va la pasta y jode mucho.

Pero lo de "ni siquiera me agradeció que le enseñara nociones básicas de seguridad" es un poco cínico. Si quieres enseñar hazte profesor.

Troxer dijo...

@Anónimo

Hay que tener un poco más de perspectiva y no dejarse llevar por el ego más patético.

Si alguien te reporta una vulnerabilidad, lo está haciendo porque no querrá aprovecharla. Date con un canto en los dientes.

Te podría haber tocado algún cabrón que aprovechara tu cagada para borrar, no sé, las tablas de tu BD. Y entonces lo que resultaría dañado no sería sólo tu ego, sino también tu cuenta corriente cuando te vieras de patitas en la calle por incompetente.

Así que sí, hay motivos para ser agradecido con aquellos que te descubren un error y no lo aprovechan para joderte.

Anónimo dijo...

@ Troxer
Que sí, que tienes razón. Lo único que digo es que tampoco puede resultar extraño que alguien se cabree, tenga o no tenga razón. Dicho de otra forma: perder le jode a cualquiera, y pocos son lo que pierden y se les pone una sonrisa en los labios (Federer, que es la ostia es una excepción :) )

Dani K. dijo...

Yo estoy bastante de acuerdo con el primer comentario de Henry. De hecho también he tenido alguna experiencia no muy agradable que digamos... Que pasen de tí o que no te den las gracias es de lo mejor que te puede pasar, os lo aseguro.

En cuanto a los comentarios del anónimo, no creo que nadie reporte una vulnerabilidad diciéndole al desarrollador "mira que inútil eres y mira lo bueno que soy porque me he colado en tu web". En el fondo es cierto que a la mayoría le estarás regalando tus conocimientos (sin esperar nada a cambio), más que nada porque seguramente nunca antes habrían oido hablar del SQL injection (por citar alguna), más que por haber cometido un descuido tras una noche loca, jeje. Y mejor que sea así que hacerlo como me pasó a mí hace unos años, que aprendí "al golpe" como dice éste. ;-)

El problema es que aquí hay mucha gente que vende desarrollos de todo tipo y el que contrata o subcontrata a una empresa (o al hijo del vecino), la inmensa mayoría de veces no sabe valorar muchos detalles por desconocimiento y porque no es su sector. Comparan dos presupuestos diciendo "este me vende una web y el otro también" y se quedan con el más barato. Y bien es sabido que lo barato al final sale caro... Como en cualquier sector, los buenos profesionales cuestan pasta.

¿Creéis que una empresa como Jazztel volverá a cagarla de esa manera después de haberle pasado lo que le pasó? Sin ánimo de justificar ningún tipo de acto (delictivo o no), yo creo que ya habrán aprendido la lección. Tampoco es cuestión de que todas las webs tengan la seguridad de un banco, pero es que muchas son auténticos coladores.

Por cierto, ¿alguien sabe qué dice la ley en España al respecto? Yo creo que un SQL injection que permita extraer la BD en webs con datos personales está incumpliendo la LOPD. Por otro lado, desde el otro punto de vista, ¿se podría considerar que ese mismo fallo sea visto como una especie de "RSS" de la base de datos, haciendo "legal" el acceso al mismo? Me gustaría saber qué leyes y qué artículos concretos se aplicarían en estos casos...

Saludos!

mikelats dijo...

ejem, hay cierta confusión...

Digamos que la LOPD es la Ley que tenemos que cumplir los "buenos" para asegurar los derechos de los demás.

El intento de obtener información protegida está más relacionado con las últimas modificaciones del código penal (las del 2007 promovidas por el Gobierno ZP).

Para que veas la poca idea que tenían del tema echa un vistazo a esto del preámbulo:

«Esa preocupante laguna, que pueden aprovechar los llamados hackers ha aconsejado, cumpliendo con obligaciones específicas sobre la materia plasmadas en la Decisión Marco 2005/222/JAI de 24 de febrero de 2005 relativa a los ataques contra los sistemas de información, incorporar al artículo 197 del Código Penal un nuevo apartado que castiga a quien por cualquier medio o procedimiento y vulnerando las medidas de seguridad establecidas para impedirlo, accediera sin autorización a datos o programas informáticos contenidos en un sistema informático. La realidad de que los actos de invasión en la privacidad en todas sus manifestaciones no son siempre llevadas a cabo por individuos aislados ha determinado la incorporación de una cualificación punitiva para todas las acciones descritas en el artículo 197 en el caso de que se cometan en el marco de organizaciones criminales.»

Digo lo de no entender nada por el sentido que le dan a "hacker".

Entre los que se supone que entendemos de esto nos deberíamos remitir a una de las primeras definiciones del término que es la que aparece en el archivo de la jerga (jargon-1) iniciado por Raphael Finkell en la Universidad de Stanford en 1975 (yo tenía 1 año).

HACKER [originally, someone who makes furniture with an axe] n. 1. A person who enjoys learning the details of programming systems and how to stretch their capabilities, as opposed to most users who prefer to learn only the minimum necessary. 2. One who programs enthusiastically, or who enjoys programming rather than just theorizing about programming. 3. A person capable of appreciating hack value (q.v.). 4. A person who is good at programming quickly. Not everything a hacker produces is a hack. 5. An expert at a particular program, or one who frequently does work using it or on it; example: "A SAIL hacker". (Definitions 1 to 5 are correlated, and people who fit them congregate.) 6. A malicious or inquisitive meddler who tries to discover information by poking around. Hence "password hacker", "network hacker".

Respecto a lo que está penado, es lo siguiente:

«El que por cualquier medio o procedimiento y vulnerando las medidas de seguridad establecidas para impedirlo, accediera sin autorización a datos o programas informáticos contenidos en un sistema informático o en parte del mismo, será castigado con pena de prisión de seis meses a dos años.»

O sea, no importa la intención. El acceso no autorizado está penado. Da igual que lo hagas para ayudar o para demostrar que tus propios datos no están seguros.

Así es la vida.

Zipp0 dijo...

Buenas,

yo sé poco de seguridad web, pero alguna vez ya he encontrado un XSS o RFI y bueno, la mayoría de veces suelo reportarlos.

Lo bueno es que en dos o tres ocasiones me han mandado un email agradeciéndolo, algunos más majos que otros, pero al menos con ese detalle.

Lo malo es que en otros 4 más o menos, no han respondido y tampoco lo han arreglado... Yo paso, y si algún día lo defacean, en parte su culpa..

salu2

mikelats dijo...

Si ocurriera en mi trabajo yo preferiría que me avisaran aunque no me gustaría que se hiciera público el fallo (precisamente por eso agradecería el aviso).

En cuanto al ego es muy curioso lo que nos afecta que nos corrijan la programación. Si te corrigen la ortografía de los entregables no pasa nada, pero cuando le dices a alguien que su procedimiento pl-sql no es optimo (por decirlo suavemente) es como si le llamaras gilipoyas o mentaras a su madre.

Vamos, corregir si, pero con tacto. En lo posible evitar el "estilo filemaster". jeje, esto ultimo es broma :-)

Dani K. dijo...

Gracias por la respuesta, mikelats.

Está claro que alguna ley debe existir para proteger los derechos legítimos a nivel general, convirtiendo en delito lo que todo el mundo reprobaría por pura lógica, ética o el argumento que sea. Creo que todos estamos de acuerdo en que robar, modificar o eliminar información de cualquier sistema informático son acciones que van en contra de la legalidad y que por tanto habría que impedir o penalizar de alguna manera y para eso está la ley. El problema es cuando meten a todos en el mismo saco...

Al igual que hacen con las multas de la LOPD, lo que tendría que estar castigado es la falta de protección y de medidas de seguridad, es decir, tener una web con más agujeros que un colador. Tal vez así las empresas serían algo más conscientes de la importancia de ello y se lo pensarían dos veces antes de contratar al chapuzas de turno. En fin...

Por cierto, ¿en algún sitio se define qué se entiende por "vulnerar las medidas de seguridad establecidas para impedirlo"? En mi opinión a veces creo que dichas medidas ni existen (ej: un "/admin" sin autenticación) y realmente creo que tampoco se pueden vulnerar medidas que ni siquiera se han llegado a adoptar para impedir nada, aunque bueno, es una simple opinión.

De todas formas, no sé hasta qué punto un jurado entendería este tipo de argumentos (y la verdad es que tampoco me gustaría comprobarlo). Así que ante la duda está claro que lo mejor es no jugársela y no informar a nadie de nada, ya que aunque exista la posibilidad de que una denuncia acabe sin mayores consecuencias, todos sabemos que siempre acaban cayendo algunas "sentencias ejemplares" que se publican en todos los medios para que tengan más repercusión y más poder disuasorio.

Saludos!

Lord Destiny dijo...

Pues yo he tenido tres planos y dos contesas.

Tendre en cuenta los consejos.

Net dijo...

Yo contaré solo la mejor de todas.

Hace poco una asociación de consumidores renovó su página web con algún SQL Injection y alguna que otra cosilla más.

Yo les comenté que eso era un fallo de seguridad y que por ahí podrían entrar a sus sistemas (mejor que decirles que les pueden coger todos los datos y tal, queda más light).

Pues empezaron a preguntarme cosas sobre como solucionarlo, si había otros posibles errores, etc, etc. Vamos que se interesaron por la seguridad de su web que es lo que les corresponde. De hecho hace poco me hicieron otra pregunta relacionada a un phpinfo() dentro de su base de datos y de que si habían sido atacados y tal.

Ojala fueran así todos.

mikelats dijo...

@dani.k,

[estilo maligno = on]

Has dado en el clavo, vamos en el meollo o en la punta la poll...

[!estilo maligno = off]

Parece que es un tema de discusión entre la gente gris con maletín.

En este sitio de abogados en la sección ACCESO INCONSENTIDO hablan de cierto debate sobre el tema...

No te pierdas la parte final en la que el autor da su opinión personal...

"Fue muy interesante el debate que se generó acerca de qué debemos entender por "acceso ilegal transgrediendo o vulnerando medidas de seguridad". En el primer borrador de Decisión Marco, en el año 2002, se consideraba deplorable que un usuario no tuviera establecidas medidas de seguridad en su sistema de información. Esa mencion se suprimió en la Decisión Marco 222 de 2005, que deja a criterio de los Estados miembros regular como tipo agravado, el acceso a un sistema de información vulnerando medidas de seguridad. Yo particularmente opino que cualquier acceso inconsentido a un sistema de información, o a datos almacenados en un sistema, debe ser considerado infracción penal, y si además, ese acceso se realiza vulnerando medidas de seguridad, la sanción debe ser más grave."

Saludos.

CentOS pa dormirrr dijo...

si solo fuerais a las webs a "navegar" no encontrarias /admins sin autenticar y cosas así, yo creo que en si mismo olisquear a ver que le falla a alguien ya debería ser considerado falta (por que sabeis a donde vais a buscar las cosas perros xD) pero desde luego con la normativa estúpida que nos toca vivir pues no..acabaremos viendo currar en esto a gente con carnet de manipulador de "datos de caracter personal"..300 horas de SGSI y LOPD que me comí y creo que salí sabiendo menos de todo

Así que recomendación...yo no aviso ni a mi santa madre..pero tampoco le busco las vueltas a nadie..

Y por cierto el término bug se usaba mas cuando el fallo no permitía perdidas de datos de caracter confidencial (errores de programación mas básicos que la seguridad), pa eso los gringos usan mas las palabras brecha o falla..todo degenera, hasta el lenguaje...

Saludos!

des dijo...

Yo creo que hay avances, lentos, sí, pero hay, para que las empresas se tomen en serio su seguridad. Por ejemplo, pillar un agujero en la web que revele datos personales (y no arreglarlo cagando leches) seguro que hace que se pierdan certificaciones tipo ISO 27001, y eso afectará al bolsillo, que es donde duele... como ha dicho @henry: tranquilos que el burro que no camina por palabras, al golpe camina...(me ha encantado).

zprian dijo...

Hola Chema, o bueno.. maligno!
na.. que con el tema de reportar bugs.. que comentar que peta al acceder al reto 8 :D, y te lo digo por poder seguir haciendo y no por tener reconocimiento ni na de eso :D

Anónimo dijo...

Pues yo encontré un fallo en una web americana de contactos (con muchísimos usuarios) en la que se podía alterar la cookie y ver los datos de cualquier usuario.

Les mandé un mail avisándoles y la respuesta que tuve fue, en pocas palabras, que no tengo ni p*** idea y que su web es muy segura y funciona de p*** madre. Y ahí quedó la cosa, con el fallo sin arreglar.

También he avisado a otros y no he obtenido nunca respuesta (eso sí, a veces los fallos se han resulto misteriosamente a los días de mandar el mail) ...

En fin, que yo creo que lo que piensa uno cuando recibe estos mails, en lugar de agradecer y corregir, es '¿por qué mierdas no dejas mi web en paz? si no tocas nada todo va, así que no le busques 3 pies al gato, ¡que tengo mucho trabajo!

David dijo...

El tema es viejo, pero tengo una pregunta desde un punto de vista distinto, creo que puede ser interesante.

He visto una oferta de trabajo. Me pareción interesante y aunque no es para seguridad sino para programador/analista... les he hecho un pequeño repaso a su Web.

No quiero tocar muchos los huevos, así que me encontré con unos XSS y un revelado de información (una traza de error no controlado). Tampoco quiero ir mucho más allá.

¿Le pondrias algo en la carta de presentación sobre esto? ¿Sería demasiado atrevido?

Eleven Paths Blog

Seguridad Apple

Entradas populares