Un marco para integrar la seguridad de aplicaciones en la ingeniería de software (FIASSE) mediante el modelo de ingeniería de software asegurable (SSEM).
Nota: Este repositorio es un trabajo en curso. ¡Las contribuciones son bienvenidas!
TL;DR: por favor, lea el DOC. Explore el sitio web de FIASSE. Visite GitHub Discussions para contribuir.
Este repositorio contiene recursos y materiales para el Marco OWASP para Integrar la Seguridad de Aplicaciones en la Ingeniería de Software (FIASSE). FIASSE (pronunciado /feiz/ como 'fase') promueve un enfoque centrado en el desarrollador y basado en principios para construir software asegurable — reconociendo que la seguridad es un proceso dinámico y continuo, como el desarrollo. Introduce el Modelo de Ingeniería de Software Asegurable (SSEM) como un lenguaje de diseño común que utiliza términos establecidos de ingeniería de software para integrar la seguridad en la arquitectura, el diseño y la ingeniería del software. Integrando la seguridad en los principios que moldean el propio código. El marco tiene como objetivo construir aplicaciones resilientes que resistan las amenazas a lo largo del tiempo.
Proporcionar pautas prácticas que empoderen a los desarrolladores para crear software asegurable sin requerir conocimientos profundos de seguridad, y guiar a los profesionales de la seguridad para integrar eficazmente su experiencia en la ingeniería de software. FIASSE logra esto a través de una perspectiva de ingeniería de software, reduciendo la carga cognitiva y fomentando la colaboración entre los equipos de desarrollo y seguridad.
Mientras que los proyectos centrados en la garantía, como el OWASP Top 10, destacan qué evitar (una lista de bloqueo), OWASP FIASSE proporciona un conjunto de atributos y prácticas positivas a seguir (una lista de permitidos). Este enfoque aprovecha las habilidades existentes de ingeniería de software para construir software asegurable, en lugar de requerir que los desarrolladores aprendan técnicas de explotación o adopten una mentalidad centrada en vulnerabilidades. El énfasis está en permitir una codificación segura y práctica a través de principios de ingeniería familiares.
Al definir claramente el papel práctico de la seguridad dentro del proceso de desarrollo, este marco asegura que el valor empresarial se capture de manera efectiva. Al establecer expectativas de esta manera, se reduce significativamente la probabilidad de que se descubran fallas de seguridad y se necesiten correcciones más adelante.
/docsEste repositorio define el software asegurable como sistemas confiables, resilientes y adaptables. Enfatiza que la seguridad verdadera es un proceso continuo, no un logro estático. Introduce el Modelo de Ingeniería de Software Asegurable (SSEM), que enmarca la seguridad como un conjunto inherente de cualidades del software bien diseñado. Para ello, presenta las categorías de atributos de Mantenibilidad, Confiabilidad y Fiabilidad (que incluye Resiliencia). FIASSE aboga por integrar las prácticas de seguridad en el flujo de trabajo de desarrollo donde tienen mayor impacto. Esto pasa de un enfoque de "seguridad como una ocurrencia tardía" o de "desplazamiento a la izquierda" a un modelo proactivo y colaborativo. La idea es que los propietarios de productos, desarrolladores y profesionales de la seguridad trabajen juntos desde las primeras etapas del diseño, particularmente a través de actividades como la definición de requisitos de seguridad, el modelado colaborativo de amenazas y los criterios de aceptación. Esto establece expectativas claras para las actividades de código y las pruebas. A los ingenieros de software se les brinda orientación sobre cómo equilibrar flexibilidad y control. También se les proporciona un modelo definitivo para tomar decisiones de seguridad. En última instancia, esto empodera a todas las partes interesadas para contribuir a la construcción de sistemas más robustos, confiables e inherentemente asegurables.
FIASSE se diferencia de los enfoques existentes al no requerir que los desarrolladores se conviertan en expertos en seguridad o adopten una mentalidad adversarial. Este enfoque tiene como objetivo reducir la carga cognitiva de los desarrolladores mientras se asegura que la seguridad pueda confiar en que sus preocupaciones se abordan a través de atributos específicos del código y los procesos de ingeniería de software.
FIASSE pretende ser abierto, accesible y colaborativo.
Hitos iniciales para el proyecto FIASSE: