Vulnerabilidades de Aplicaciones

Race conditions · Memory injection · Buffer overflow · Malicious updates

🧩 1. CONCEPTO CLAVE

Las aplicaciones modernas están compuestas por múltiples funciones que interactúan entre sí en memoria. Cuando el diseño, la lógica, el control de acceso o el manejo de datos no se gestiona adecuadamente, los atacantes pueden aprovechar vulnerabilidades lógicas, de sincronización o de memoria para ejecutar código malicioso, elevar privilegios o comprometer el sistema.


🛠️ 2. CATEGORÍAS DE VULNERABILIDADES

1. Condiciones de Carrera (Race Conditions) y TOCTOU

Cuando dos procesos acceden a un mismo recurso sin sincronización adecuada, el sistema puede comportarse de forma inesperada.

  • TOCTOU (Time of Check to Time of Use): El atacante modifica el estado entre la verificación y el uso.

  • 🧠 Ejemplo: Un proceso verifica permisos de archivo, pero justo después el atacante sustituye el archivo por uno malicioso.

  • 🧨 CVEs reales:

    • Dirty COW (CVE-2016-5195) – Kernel Linux

    • SMBv3 (CVE-2020-0796) – Elevación en Windows


2. Inyección de Memoria

Implica insertar código malicioso en la memoria de una aplicación viva. El código se ejecuta con los mismos privilegios que la aplicación.

  • Técnicas comunes: desbordamiento, modificación del heap, trampas en punteros.

  • Propósito: Ejecutar shellcode, crear backdoors o exfiltrar información.


3. Desbordamiento de Búfer (Buffer Overflow)

Se sobrescribe un área de memoria más allá del límite esperado, especialmente en la pila de ejecución (stack).

  • Resultado: se sobrescribe la dirección de retorno, haciendo que el programa ejecute shellcode del atacante.

  • Se mitiga con:

    • ASLR (aleatorización de direcciones)

    • DEP (no ejecución de datos)

    • Validación de entradas y programación segura

 Un ataque de desbordamiento de búfer donde el atacante reemplaza la dirección de retorno con su propio código (shellcode).

En vez de regresar a main(), la función se redirige a ejecutar código arbitrario.


4. Actualización Maliciosa

Se disfraza una actualización legítima para introducir malware, troyanos o ransomware.

  • Casos reales:

    • CCleaner 2017: Update con backdoor (más de 2M de víctimas)

    • SolarWinds 2020: Supply Chain Attack que comprometió redes gubernamentales y corporativas


🧩 3. ALEGORÍA: LA TRAMPA EN EL TEATRO

Imagina que una función (sub()) es como una obra de teatro donde el actor termina y vuelve al backstage (main()).
Pero si alguien cambia la salida del escenario por una trampa oculta, el actor cae directamente a una habitación donde el atacante lo controla.
Eso es un desbordamiento de búfer: se redirige la ejecución a voluntad del atacante.
Las condiciones de carrera serían como dos tramoyistas que cambian el decorado al mismo tiempo sin coordinarse: el resultado es caos o colapso del escenario.


🔍 4. RESUMEN PRÁCTICO

  • Una condición de carrera ocurre cuando el orden de ejecución no está controlado, lo que puede llevar a resultados no deseados o explotables.

  • TOCTOU permite cambiar el estado del sistema entre la verificación y el uso, abriendo la puerta a ataques lógicos.

  • La inyección de memoria introduce código directamente en la RAM de una aplicación viva, muchas veces para ejecutar payloads.

  • El desbordamiento de búfer sobrescribe direcciones de memoria críticas, incluyendo la dirección de retorno, permitiendo ejecutar shellcode malicioso.

  • Las actualizaciones maliciosas se infiltran en entornos confiables como caballos de Troya disfrazados de mejoras de software.

  • Prácticas seguras como ASLR, DEP, validación de entradas, bloqueos y firma digital de actualizaciones son esenciales para mitigar estas amenazas.


Purple Mystara - Cristina Martínez Girol
Todos los derechos reservados 2025
Creado con Webnode Cookies
¡Crea tu página web gratis! Esta página web fue creada con Webnode. Crea tu propia web gratis hoy mismo! Comenzar
Utilizamos cookies para permitir un correcto funcionamiento y seguro en nuestra página web, y para ofrecer la mejor experiencia posible al usuario.

Configuración avanzada

Puedes personalizar tus preferencias de cookies aquí. Habilita o deshabilita las siguientes categorías y guarda tu selección.