El día de ayer, 10 de marzo de 2009, se produjo un ataque contra el sitio web de la emisora radial LV16, producto del cual estuvo caído durante varias horas.
Al volver a estar en línea apareció un artículo relatando lo acontecido, acompañado de varias adhesiones de políticos y distintas organizaciones, todas condenando lo que consideraban un ataque a la libertad de prensa y hasta hablando de censura.
Ahora bien, analizando algunas cuestiones técnicas (y sin tener mayores detalles sobre lo acontecido), la cosa se parece más al producto de la negligencia y la ignorancia de quienes llevan adelante dicho sitio web que a un ataque orquestado con el fin de acallar la voz de un medio de prensa.
En el comienzo de la nota de LV16 puede leerse lo siguiente (el énfasis ha sido agregado por mí):
La libertad de prensa es un bien muy preciado, que no se dimensiona su grandeza hasta que uno es callado, borrado, hasta que nuestra palabra no puede llegar al otro lado… Este martes LV16.com no pudo actualizar su página debido a la ignorancia de un personaje, que oculto tras las sombras y sus “pseudos conocimientos” hackeo nuestro sitio web.
Si bien el ataque a un sitio web es una actitud destructiva y reprochable, rasgarse las vestiduras hablando de un ataque a la libertad de prensa no me parece apropiado en este caso. Con respecto a la ignorancia y los “pseudos conocimientos” (si en castellano existe tal término) de quien produjo el daño, más bien parece que lo que impidió a la gente de LV16 operar con su sitio web fue la ignorancia del programador de mismo. El atacante (aunque con malas intenciones), parece haber usado bien sus conocimientos.
He aquí por qué: el sitio web en cuestión es susceptible (“es“, aún lo sigue siendo) de ser atacado mediante una técnica básica de extracción y/o adulteración de información en sistemas web, conocida como “inyección SQL” (“SQL Injection“, en inglés). Básicamente dicha técnica consiste en manipular los parámetros que envía el navegador para acceder a las distintas funciones de un sitio (notas, fotos, etc., en este caso), logrando alterar el funcionamiento normal del mismo.
Cómo construir una aplicación web evitando ataques por Injección SQL no requiere de un doctorado en informática: es una cuestión básica, que debiera conocer cualquier programador que se dedique a dicho rubro (aunque, lamentablemente, son muchísimos los casos de páginas con errores de este tipo).
¿Podemos echar toda la responsabilidad sobre, quizás, un adolescente dañino que, en sus experimentos aprendiendo sobre seguridad de aplicaciones web, saca de operación el sitio web de una empresa? ¿No recae gran parte de la culpa en el programador desaprensivo e ignorante que no toma los recaudos mínimos para que su aplicación sea segura? Pero claro, siempre es más fácil (y tiene mejor difusión) hablar de conspiraciones, censura y libertad de prensa; ya que nunca faltarán quienes se sumen en apoyo de la supuesta víctima.
En otro párrafo de la nota de LV16 puede leerse lo siguiente (nuevamente, el resaltado es mío):
Debido al accionar de esta persona LV16.com ha perdido todo su archivo informativo, fotográfico y documental, fruto de cinco años de mucho trabajo y esfuerzo.
Nuevamente, se responsabiliza exclusivamente al atacante por la pérdida de cinco años de trabajo, sin hacer un mea culpa y reflexionar sobre estupidez mayúscula de no tener una copia de respaldo de la información que se encuentra en el sitio web (¡en cinco años!). Cualquier administrador de sistemas (por pobre que sea su formación o escasa su experiencia) sabe que jamás puede prescindirse de copias de respaldo, realizadas periódicamente. De haberse roto el disco duro del servidor, seguramente LV16 estaría hablando a los cuatro vientos del malévolo disco que se llevó el fruto de su esfuerzo y acalló la voz de la prensa.
Pasando en limpio: Si el programador hubiera tenido las nociones básicas, el ataque no habría sido posible. Aún sin contar con esto, si hubieran tenido copia de respaldo de la información, el problema se hubiera solucionado en una hora (sin las repercusiones, las adhesiones y demás…)
Para finalizar (y por si aún es necesaria la aclaración): no estoy negando lo reprochable del acto de atacar un servidor y aprovecharse de la vulnerabilidad de un programa para causar daño. Tal accionar es condenable, y el culpable debería ser individualizado y castigado. Pero esto de ninguna manera justifica la falta de profesionalismo de quienes llevan adelante el sitio lv16.com, ni mucho menos los habilita a utilizar la bandera de la libertad de expresión para justificar su ignorancia.
PD: Antes de publicar este artículo intenté comunicarme con LV16 por email y a través de su sitio, para ponerlos sobre aviso del problema de seguridad, que aún persiste. No tuve ninguna respuesta de ellos.
Actualización (12 de marzo de 2009): En la mañana de hoy se comunicó conmigo el encargado del area técnica de LV16, mostrando una buena predisposición e interesado por conocer los detalles del problema. Aparentemente, la vulnerabilidad por inyección SQL ha sido solucionada.


Esto me hace acordar a Bobby Tables!
ref: http://xkcd.com/327/