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:
Se desarrollarán más hitos con el equipo del proyecto. Las aportaciones de la comunidad son bienvenidas a través de GitHub Discussions.
Este repositorio complementa el sitio web de FIASSE.
El proyecto OWASP FIASSE es parte de la OWASP Foundation, una organización sin fines de lucro centrada en la misión de eliminar el software inseguro. La OWASP Foundation proporciona una gran cantidad de recursos y marcos que se alinean con los principios de FIASSE.
Este marco se centra en la Ingeniería de Software Asegurable y se complementa con otros proyectos de OWASP:
OWASP también alberga numerosos proyectos que documentan requisitos y características de seguridad, como OWASP Mobile Application Security. La Guía para Desarrolladores de OWASP, que es un recurso integral para varios otros recursos de OWASP.
Otro gran recurso para requisitos de referencia y prácticas de garantía es OpenCRE, que recopila y mapea varios marcos de seguridad.
El Marco de Desarrollo de Software Seguro (SSDF) de NIST define cuatro fases que representan diferentes facetas para implementar prácticas de desarrollo de software seguro. Se alinea con los principios de FIASSE al enfatizar la integración de la seguridad en el ciclo de vida del desarrollo de software.
El Código de Práctica de Seguridad de Software del NCSC define los resultados deseados y algunas estrategias clave. Mientras que el marco FIASSE se centra en principios y estrategias de seguimiento de primer nivel para lograr resultados asegurables, destinados a que los equipos de Desarrollo y Garantía se alineen con las estrategias comerciales. El SSEM especifica los atributos que se utilizan para producir los resultados deseados, y la metodología FIASSE proporciona orientación práctica para implementar estos atributos en las prácticas de ingeniería de software.
El CERT de la Universidad Carnegie Mellon es un conjunto de reglas a nivel de lenguaje que proporciona ejemplos tanto de "qué no hacer" que muestran patrones de código vulnerables como ejemplos de "qué hacer". FIASSE complementa estas reglas al proporcionar un enfoque basado en principios que ayuda a los programadores a comprender el "por qué" detrás del código asegurable.
El Marco de Seguridad de Fábrica de Software (SF2) "proporciona a los líderes de seguridad un enfoque estratégico para escalar las capacidades de seguridad mientras mejora los resultados comerciales". Es un marco a nivel organizacional que complementa el enfoque de FIASSE en las prácticas de ingeniería de software.
Las contribuciones para mejorar la documentación y los ejemplos son bienvenidas. Consulte nuestras pautas de contribución para más detalles.
Atribución-CompartirIgual 4.0 Internacional (CC BY-SA 4.0) - consulte el archivo LICENSE para más detalles.
Este proyecto es un esfuerzo colaborativo de la comunidad OWASP. Agradecemos a todos los contribuyentes por su valiosa aportación y dedicación a mejorar la seguridad del software.
Hay una lista de contribuyentes que han participado en este proyecto. Algunos contribuyentes iniciales ayudaron a dar forma a los conceptos iniciales y a poner a prueba las ideas.