Prevención de exploits
La prevención de exploits (EP) es parte de la protección multicapa de última generación de Kaspersky y apunta específicamente a los malware que se aprovechan de las vulnerabilidades del software. Se diseñó a fin de agregar una capa adicional de protección para los programas y las tecnologías que se atacan con más frecuencia. La EP proporciona una forma eficiente y no invasiva de bloquear y detectar los exploits conocidos y desconocidos. La EP es una parte integral de las capacidades de detección basadas en el comportamiento de Kaspersky.
Las "cadenas de ataques" de exploits constan de varias etapas. Por ejemplo, los exploits basados en web a menudo utilizan ataques de descargas ocultas. La infección comienza cuando una víctima visita un sitio web infectado con código JavaScript malicioso. Después de varias comprobaciones, a la víctima se la redirige a una página de inicio con un exploit de Flash, Silverlight, Java o navegador web. Para las vulnerabilidades de Microsoft Office o de Adobe Reader, el vector de infección inicial puede ser un mensaje de correo electrónico de phishing o un archivo adjunto malicioso.
Tras la fase inicial de entrega, el atacante aprovecha una o más vulnerabilidades del software para tomar el control del flujo de ejecución de procesos y pasa a la fase de explotación. Debido a las mitigaciones de seguridad integradas del sistema operativo, por lo general, no es posible ejecutar el código arbitrario directamente, por lo que el atacante primero debe evadirlas. Una explotación correcta permite ejecutar el shellcode, donde el código arbitrario del atacante empieza a ejecutarse y produce finalmente la ejecución de la carga. Los paquetes se pueden descargar como un archivo o incluso cargarse y ejecutarse directamente desde la memoria del sistema.
Independientemente del método de realización de los pasos iniciales, el objetivo final de un atacante es iniciar la carga y la actividad maliciosa. Iniciar otra aplicación u otro subproceso de ejecución puede resultar muy sospechoso, especialmente si se sabe que la app en cuestión no tiene dicha funcionalidad.
La tecnología de prevención de exploits supervisa esas acciones y detiene el flujo de ejecución de una aplicación, aplicando análisis adicionales para verificar si la acción que se ha intentado realizar era legal o no. La actividad del programa que ha tenido lugar antes del inicio del código sospechoso (cambios de memoria, en concreto, de áreas de memoria, así como el origen del inicio de código que se ha intentado realizar) se utiliza para determinar si la acción la ha realizado un exploit.
Además, la prevención de exploits aplica una serie de mitigaciones de seguridad para abordar la mayoría de las técnicas utilizadas en el ataque del exploit, incluidos los secuestros de DLL, la inserción de DLL reflectiva, la asignación de Heap Spray, Stack Pivot, etc. Estos indicadores de comportamiento adicionales, proporcionados por un mecanismo de seguimiento de la ejecución, permiten que la tecnología bloquee la ejecución de carga con confianza.