Este sitio presenta una taxonomía de errores de seguridad de software desarrollada por Fortify Software Security Research Group en colaboración con el Dr. Gary McGraw. Cada categoría de vulnerabilidad va acompañada de una detallada descripción del problema, con referencias a las fuentes originales, y fragmentos de código, cuando corresponda, para ilustrar mejor el problema.

La organización del esquema de clasificación se describe con la ayuda de terminología prestada de la biología: las categorías de vulnerabilidad se denominan phyla, mientras que las colecciones de categorías de vulnerabilidad que comparten el mismo tema reciben el nombre de reinos. Los phyla de vulnerabilidades se clasifican en "siete más uno" reinos perniciosos presentados en orden de importancia para la seguridad de software:

  1. Input Validation and Representation
  2. API Abuse
  3. Security Features
  4. Time and State
  5. Errors
  6. Code Quality
  7. Encapsulation
  8. * Environment

Los siete primeros reinos se asocian a defectos de seguridad en el código fuente, mientras que el último reino describe problemas de seguridad ajenos al propio código. Para examinar las descripciones de reino y de phylum, solo tiene que navegar por el árbol de taxonomía situado a la izquierda.

El objetivo principal de definir esta taxonomía es organizar conjuntos de reglas de seguridad que puedan utilizarse para ayudar a los desarrolladores de software a comprender los tipos de errores que afectan a la seguridad. Si los desarrolladores comprenden mejor por qué fallan los sistemas, podrán analizar mejor los sistemas que creen, identificar y solucionar rápidamente los problemas de seguridad que vean y, en general, evitar repetir los mismos errores en el futuro.

Cuando se aplica a una herramienta de análisis, un conjunto de reglas de seguridad organizadas según esta taxonomía se convierte en un potente mecanismo de enseñanza. Dado que, por lo general, los desarrolladores actuales no conocen las mil maneras en que pueden introducir problemas de seguridad en su trabajo, poner a su disposición una taxonomía como esta puede proporcionar beneficios tangibles a la comunidad de seguridad de software.

La definición de un mejor esquema de clasificación también puede conducir a unas mejores herramientas: una mayor comprensión de los problemas ayudará a los investigadores y practicantes a crear mejores métodos para detectarlos.

Para obtener más información sobre la taxonomía, consulte el informe Siete reinos malintencionados: una taxonomía de los errores de seguridad de software original, así como la versión de "The Evolution of a Taxonomy: Ten Years of Software Security" recién publicada.