· 5 min de lectura.
Para qué sirve un patrón de ataque
CAPEC proporciona un vocabulario común para describir como un ataque funciona, independientemente del producto objetivo. Cada entrada proporciona los requisitos previos del atacante, los pasos de ejecución, las habilidades necesarias, las debilidades explotadas y las contramedidas conocidas.
Para un equipo defensivo, es una herramienta de modelado de amenazas: cada debilidad identificada en su código se asigna a patrones de ataque documentados y, por lo tanto, a defensas que puede identificar sin tener que inventarlas.
Un patrón paso a paso: CAPEC-66, inyección SQL
Una entrada CAPEC se lee como un libro de jugadas. Aquí está CAPEC-66 resumido en cuatro pasos:
- Explorar. El atacante envía una comilla simple en cada campo del formulario y observa los mensajes de error. Un error de sintaxis SQL que se muestra en pantalla ya es una respuesta.
- Sonda. Inyectan una condición siempre verdadera para ver si la consulta se comporta de manera diferente y luego miden los tiempos de respuesta cuando no aparece ningún mensaje.
- Explotar. Encadenan una segunda consulta para extraer la estructura de la base de datos y luego su contenido.
- Persistir. Dependiendo de los privilegios de la cuenta de la base de datos, escriben un archivo en el servidor o crean una cuenta de aplicación.
La debilidad explotada es CWE-89. Las contramedidas enumeradas en la entrada son estándar y efectivas: declaraciones preparadas, validación de entrada estricta, una cuenta de base de datos con privilegios mínimos, mensajes de error que no revelan nada al cliente. Esa continuidad (desde el movimiento del atacante hasta la línea de código que necesitas escribir) es lo que hace que el catálogo sea valioso.
Algunos patrones comunes
| CAPEC | Patrón de ataque | Debilidad explotada |
|---|---|---|
CAPEC-66 | inyección SQL | CWE-89 |
CAPEC-63 | secuencias de comandos entre sitios | CWE-79 |
CAPEC-1 | Omisión de control de acceso | CWE-284 |
CAPEC-100 | Desbordamiento del búfer | CWE-120 |
CAPEC-242 | inyección de código | CWE-94, CWE-917 |
El catálogo completo cuenta con más de 600 patrones. Es publicado por MITRE en capec.mitre.org.
Tres niveles de abstracción
Existen patrones en varias escalas, y mezclar los niveles es la principal fuente de malentendidos:
- meta: una estrategia general, por ejemplo "inyectar". Útil para enmarcar un taller de modelado de amenazas.
- Estándar: una técnica identificable, por ejemplo inyección SQL. Este es el nivel con el que puedes trabajar día a día.
- Detallado: una implementación precisa, vinculada a CWE específicos. Este es el nivel de prueba de penetración.
Comience con lo general y vaya hasta lo específico: un taller que comienza en el Detallado El nivel se pierde en los casos extremos antes de cubrir las familias principales.
¿CAPEC o MITRE ATT&CK?
Ambos catálogos proceden de la misma editorial y suelen confundirse. Describen diferentes momentos:
| CAPEC | MITRE ATT&CK | |
|---|---|---|
| Describe | Cómo se explota una debilidad | Cómo opera un adversario una vez dentro |
| Nivel | Aplicación, vulnerabilidad | Operacional, campaña |
| Utilizado para | Diseñar y codificar de forma más segura | Detectar y responder |
Un equipo de desarrollo trabaja con CAPEC; un centro de operaciones de seguridad funciona con ATT&CK. Los dos se encuentran en el acceso inicial, que es el último capítulo del primero y el primer capítulo del segundo.
Lo que significa para ti, en la práctica
CAPEC no es un catálogo para monitorear día a día; no cambia mucho. Es útil en dos momentos: cuando diseñas una característica sensible (autenticación, carga de archivos, una llamada a un servicio de terceros), al enumerar los patrones conocidos que apuntan a ella; y cuando escribe el alcance de una prueba de penetración, nombrando los patrones a cubrir en lugar de pedir "un pentest".
Preguntas frecuentes
¿Cuántos patrones CAPEC hay?
Más de 600, que cubren la mayoría de las técnicas de explotación de aplicaciones, redes, hardware y ingeniería social. El catálogo está publicado y versionado por MITRE.
¿CAPEC es útil para un equipo defensivo?
Sí, y ese es en realidad su uso principal. Cada entrada enumera las contramedidas asociadas con un patrón: es una biblioteca de defensas indexadas por la forma en que eres atacado.
¿Debería monitorear CAPEC de la misma manera que monitorea CVEs?
No. CVEs llega todos los días y necesita monitoreo; CAPEC es un catálogo estable que consulta al diseñar o probar. Tratarlo como una fuente de alerta es una pérdida de tiempo y no agrega nada.