Exploits

Gracias Sofi por el dibu

La traducción al español de exploits es explotar o aprovechar. Y justamente de eso se trata un exploits, es un programa que busca aprovechar una vulnerabilidad (ausencia o debilidad de un control) en otro programa o sistema para llevar adelante, generalmente, un acto delictivo.

A estos fallos en la programación que han pasado desapercibidos para el desarrollador de un software también se los conoce bug.

A modo de ejemplo. Todo programa funciona recibiendo datos, los procesa y devuelve un resultado. Los datos son ingresados por el usuario y el programa almacena los mismos en variables. Las variables son almacenadas en la memoria. Si el programador no validó (o sea delimita que tipo de datos puede recibir una determinada variable) este espacio puede ser empleado por un atacante a través de un programa del tipo exploits.

Entonces, cuando el programa va leer ese espacio de memoria en busca del valor de la variable se encuentra con el código del exploits y lo ejecuta, permitiendo al atacante, como ser, tomar el control del dispositivo. Un exploits en sí mismo no es un malware, es más bien, la llave de ingreso para que el malware entre a nuestro dispositivo.

Una vez que el exploits logró ingresar al dispositivo (de la víctima) suele escudarse mediante un código malicioso al que se lo conoce como payload.

En el siguiente video de ESET se explica muy claramente cómo funciona un exploits.

Entre los tipos de exploits podemos diferenciar los conocidos y no conocidos (zero-day). Los primeros son aquellos que explotan vulnerabilidades que ya fueron detectadas o hechas públicas (reportadas). Es decir, generalmente se pueden tomar medidas para prevenir ser víctimas de este tipo de exploits. Una forma es mantener nuestras aplicaciones y sistemas actualizados.

Y los segundos, son aquellos exploits que aprovechan vulnerabilidades hasta el momento desconocidas, también conocidos como 0-days o zero-days. Estos son los más peligrosos dado que se carece de información para detectar y mitigar rápidamente su efecto. En muchas ocasiones son dirigidos a afectar grandes empresas o gobiernos.

Existen variadas técnicas de ataques de acuerdo a la forma en la que un exploits se contacta con un programa o sistema. Son muy comunes los ataques a aplicaciones web a través de lo que se conoce como SQL Injection y cross-site scripting (XSS).