"Typosquatting": una vieja técnica hacker que aún hace estragos
Cuando decimos que es importante fijarse en lo que uno descarga y ejecuta en su ordenador no lo decimos a la ligera; se trata de un consejo valiosísimo que hasta los desarrolladores con más conocimientos y experiencia pueden pasar por alto, tal y como demostró recientemente un estudiante alemán de la Universidad de Hamburgo.
Nikolai Philipp Tschacher, de 25 años, realizó un estudio como parte de su tesis, en la que pretende demostrar el riesgo que puede suponer la publicación de scripts con nombres engañosos en repositorios de código usados por desarrolladores de todo el mundo. Los resultados hablan por sí solos: más de 17.000 programadores cayeron en la "trampa" del estudiante y ejecutaron su código - algunos de ellos, en servidores de organizaciones gubernamentales de Estados Unidos.
La técnica usada por Tschacher para engañar a sus "víctimas" era muy sencilla, y está basada en un tipo de ciberataque denominado typosquatting. Esta maniobra consiste en registrar dominios con nombres muy parecidos a los reales (por ejemplo, gooogle.com) y esperar a que algún incauto cometa el error de teclear dicho nombre en su navegador en lugar del real. En ese momento, el dominio muestra una web también muy parecida en diseño a la real, desde la que se intenta introducir algún tipo de malware en el ordenador de la víctima o pedirle información personal, como contraseñas o datos bancarios.
Lo que hizo Tschacher fue usar esa misma técnica, pero aplicada a algunas páginas muy populares que los desarrolladores de JavaScript, Python y Ruby utilizan para compartir paquetes en estos lenguajes de programación. Tras un breve estudio, el estudiante identificó los 214 paquetes que se solían descargar más a menudo, y subió sus propios scripts con nombres muy parecidos a los de los más descargados.
El script de Tschacher, eso sí, era totalmente inocuo. No contenía ningún código malicioso y lo único que hacía era mostrar un aviso en pantalla que avisaba al desarrollador en cuestión que podía haber descargado un paquete incorrecto. Pero antes de eso, enviaba una petición a un ordenador donde el estudiante iba haciendo seguimiento de las ejecuciones de su código, y de si se le daban permisos de administrador.
Por increíble que parezca, el "engaño" funcionó, y los datos finales del estudio arrojaron unas cifras sorprendentes: el código de Tschacher se ejecutó más de 45.000 veces en 17.000 dominios diferentes, y en más de la mitad de las ocasiones se le dieron permisos de administrador.
Lo más grave del asunto, no obstante, es que entre esos dominios había algunos de órganos militares de Estados Unidos (acabados en .mil) y más de 20 dominios .gov, pertenecientes a instituciones del gobierno norteamericano. "Este número es alarmante", escribe Tschacher en su tesis "porque hacerse con el control de servidores en órganos de gobierno y laboratorios de investigación de Estados Unidos puede tener consecuencias potencialmente desastrosas".
Si bien el método empleado por Nikolai Philipp Tschacher puede rozar lo moralmente reprobable (ya que juega a engañar a la gente, haciéndoles creer que están instalando otra cosa), es también toda una llamada de atención en cuanto a la importancia de estar muy seguros de todo lo que se descarga y se ejecuta - especialmente si trabajas con información delicada, como la que puede haber en esos servidores estadounidenses.
De hecho, no es la primera vez que los programadores se convierten en objeto de ataque por parte de los ciberdelincuentes, ya que suelen tener acceso a información privilegiada, así como control sobre el código que se usa y se ejecuta en la compañía. Ya en 2013, varios trabajadores de Facebook fueron víctimas de un ataque informático.