Si en la Ilíada, el talón era la debilidad de Aquiles, el veneno de la flecha con punta de Paris fue el exploit. Literalmente, un exploit es – por lo general – el dispositivo o el método a través del cual un atacante se aprovecha de una vulnerabilidad existente en cualquier tipo de sistema de hardware o software.
Una vulnerabilidad es una debilidad. A veces pueden ser bugs que surgen de errores honestos de los programadores, durante el proceso de desarrollo del producto. A veces, estas vulnerabilidades son introducidas intencionalmente en los productos para permitir el acceso al producto, luego de haberse enviado a los usuarios, “por la puerta de atrás”. A menudo, tal vez con mayor frecuencia, son subproductos inevitables de la innovación.
Esencialmente, a medida que los hackers consiguen mejores herramientas y aprenden más, y las computadoras se vuelven más poderosas, los procesos y las prácticas que antes se consideraban seguras, se van volviendo obsoletas.
Piénsalo como seguridad tradicional: antes del invento de la pólvora, la defensa de los castillos era practicamente impenetrable. Construyes un foso y lo llenas de caimanes (aunque la mayoría de la gente no podía nadar en esa época, así que los caimanes podrían haber sido un poco excesivos) y, cuando un atacante se acerca, levantas el puente levadizo, y tu reino se encuentra completamente seguro. Luego vino la pólvora, y una cosa llevó a la otra, y ahora un invasor puede fácilmente lanzar un misil crucero dentro de los muros del castillo y hay muy poco que un puente levadizo, paredes de piedra, o un foso con caimanes puedan hacer al respecto.
Es importante notar que a pesar de todas las vulnerabilidades, sólo un pequeño porcentaje son peligrosa o maliciosamente útiles. Muchas vulnerabilidades son causadas para molestar, como bloquear o reiniciar las computadoras y alguna que otra cosa más. En el otro lado del espectro, hay un sinnúmero de vulnerabilidades peligrosas que existen, pero que son casi imposibles o demasiado costosas para explotar. Las únicas vulnerabilidades que son de algún valor real para la mayoría de los agresores, son aquellas que permiten la ejecución de código remoto, lo que podría permitir a un atacante ejecutar un código malicioso, o tomar posesión de privilegios, que esencialmente le da a un atacante los mismos derechos que tiene el usuario o administrador del equipo.
Las vulnerabilidades están siempre presentes. Puedo instalar parches tan pronto como pueda para todo lo que utilice. Y a pesar de ello, estoy escribiendo esta historia, en estos momentos, en un Microsoft Word vulnerable, en una máquina con Windows vulnerable, con un sinnúmero de pestañas abiertas en un navegador vulnerable. Las vulnerabilidades siempre están ahí, es sólo cuestión de que alguien las haya descubierto y haya desarrollado exploits para aprovecharse de ellas.
Cuando piensas en ello, en el contexto de las computadoras, tanto “vulnerabilidad” como “explotar” significan exactamente lo mismo en contextos más amplios. La parte complicada es explicar cómo una vulnerabilidad específica llegó a existir y qué es exactamente lo que un atacante puede hacer para explotarla.
En ataques de phishing, la vulnerabilidad y el exploit son simples. La vulnerabilidad es la simpleza del ser humano o nuestra tendencia a ser inocentes, y el exploit es un email redactado de una forma muy convincente.
La realidad es que estas vulnerabilidades están siempre ahí afuera – conocidas y desconocidas – y siempre lo estarán. Tu mejor recurso es simple: trata de no ser la gacela más débil de la Sabana. Instala actualizaciones, corre un antivirus fuerte y completo, evita redes de Wi-Fi públicas, no abras elementos adjuntos que lleguen en emails de destinatarios desconocidos o con mensajes raros y, en general, navega por Internet con inteligencia.