La garantía de software ( SwA ) se define como "el nivel de confianza de que el software está libre de vulnerabilidades, ya sea diseñado intencionalmente en el software o insertado accidentalmente en cualquier momento durante su ciclo de vida, y que el software funciona de la manera prevista". [1]
El principal objetivo de la garantía de software es garantizar que los procesos, procedimientos y productos utilizados para producir y mantener el software cumplan con todos los requisitos y estándares especificados para gobernar esos procesos, procedimientos y productos. [2] Un objetivo secundario de la garantía de software es garantizar que los sistemas de uso intensivo de software que producimos sean más seguros. Para estos sistemas de uso intensivo de software, se requiere un análisis preventivo dinámico y estático de las vulnerabilidades potenciales, y se recomienda una comprensión holística a nivel del sistema. Como dijo Gary McGraw, "Los defectos de diseño representan el 50% de los problemas de seguridad. No se pueden encontrar defectos de diseño mirando el código. Se requiere una comprensión de alto nivel. Por eso el análisis de riesgos arquitectónicos juega un papel esencial en cualquier programa de seguridad de software sólido". [3]
Definiciones alternativas
Departamento de Seguridad Nacional de los Estados Unidos (DHS)
Según el DHS , la garantía de software aborda:
- Confiabilidad: no existen vulnerabilidades explotables, ya sea insertadas de forma maliciosa o involuntaria;
- Ejecución predecible: confianza justificada de que el software, cuando se ejecuta, funciona según lo previsto;
- Conformidad: conjunto planificado y sistemático de actividades multidisciplinarias que garantizan que los procesos y productos de software se ajustan a los requisitos, estándares y procedimientos.
Contribuir a las disciplinas SwA, articuladas en Cuerpos de Conocimiento y Competencias Principales: Ingeniería de Software, Ingeniería de Sistemas, Ingeniería de Seguridad de Sistemas de Información, Aseguramiento de la Información, Prueba y Evaluación, Seguridad, Gestión de Proyectos y Adquisición de Software. [4]
La garantía de software es una iniciativa estratégica del Departamento de Seguridad Nacional de EE. UU. (DHS) para promover la integridad, seguridad y confiabilidad del software. El Programa SwA se basa en la Estrategia Nacional para Asegurar el Ciberespacio - Acción / Recomendación 2-14:
“El DHS facilitará un esfuerzo público-privado nacional para promulgar las mejores prácticas y metodologías que promuevan la integridad, la seguridad y la confiabilidad en el desarrollo del código de software, incluidos los procesos y procedimientos que disminuyen las posibilidades de códigos erróneos, códigos maliciosos o trampillas que podrían ser introducido durante el desarrollo ". [5] Existen herramientas de software de código abierto para la garantía de software que ayudan a identificar posibles vulnerabilidades de seguridad. [6]
Departamento de Defensa de los Estados Unidos (DoD)
Para el DoD , SwA se define como "el nivel de confianza de que el software funciona solo según lo previsto y está libre de vulnerabilidades, ya sea intencional o involuntariamente diseñadas o insertadas como parte del software, durante todo el ciclo de vida. [7] DoD está desarrollando SwA como una práctica sólida de ingeniería de sistemas, como lo demuestran dos publicaciones recientes financiadas por JFAC con desarrollo dirigido por el Instituto de Ingeniería de Software (SEI) y profesionales expertos dentro de los Servicios Militares y la NSA. La Guía SwA del Gerente de Programas muestra cómo se debe planificar, dotar de recursos, y administrado mientras que el Developer's SwA Guidebook recomienda prácticas técnicas adaptadas a lo largo del ciclo de vida. [8] Ambos documentos son los primeros de su tipo, y fueron otorgados. [9] Las dos organizaciones a escala empresarial en el Departamento de Defensa de la construcción de capacidad SwA son el Joint Federated Assurance Center (JFAC) [10] y la comunidad de práctica DoD SwA, que ha funcionado como foro colegiado trimestral 32 reuniones consecutivas gs. Ambos están abiertos a otras partes del gobierno de los Estados Unidos. La Carta JFAC está disponible en su sitio web. Para desarrollar una conciencia situacional más amplia de las familias de herramientas SwA disponibles comercialmente, JFAC financió el Instituto de Análisis de Defensa (IDA) para producir el recurso de estado del arte (SOAR). [11] Una innovación reciente en SwA de "ingeniería" a lo largo del ciclo de vida consiste en acoplar controles NIST 800-53 seleccionados a tareas de ingeniería para que los resultados de ingeniería definan el Marco de gestión de riesgos (RMF) e impulsen la Autoridad para operar (ATO) . En el sitio web de JFAC se encuentra disponible un paquete que incluye descripciones de elementos de datos (DID), formatos de informes de vulnerabilidad legibles por máquina y una breve descripción general de las técnicas. Otras innovaciones disruptivas están en proceso.
Proyecto de evaluación de herramientas y métricas de aseguramiento de software (SAMATE)
Según el proyecto NIST SAMATE, [12] la garantía de software es "el conjunto planificado y sistemático de actividades que asegura que los procesos y productos de software se ajustan a los requisitos, estándares y procedimientos para ayudar a lograr:
- Confiabilidad: no existen vulnerabilidades explotables, ya sea de origen malicioso o involuntario, y
- Ejecución predecible: confianza justificada de que el software, cuando se ejecuta, funciona según lo previsto ".
Administración Nacional Aeronáutica y Espacial - NASA)
Según la NASA , la garantía de software es un "conjunto planificado y sistemático de actividades que garantiza que los procesos y productos de software se ajusten a los requisitos, estándares y procedimientos. Incluye las disciplinas de garantía de calidad, ingeniería de calidad, verificación y validación, informes de no conformidad y corrección Acción, garantía de seguridad y garantía de seguridad y su aplicación durante el ciclo de vida del software ". El Estándar de Garantía de Software de la NASA también establece: "La aplicación de estas disciplinas durante un ciclo de vida de desarrollo de software se denomina Garantía de Software". [13]
Grupo de gestión de objetos (OMG)
Según OMG , Software Assurance es "confiabilidad justificable en el cumplimiento de los objetivos comerciales y de seguridad establecidos". [14]
SwA Special Interest Group (SIG) de OMG, [15] trabaja con las Fuerzas de Tareas de Plataforma y Dominio y otras entidades y grupos de la industria del software externos a OMG, para coordinar el establecimiento de un marco común para el análisis y el intercambio de información relacionada con la confiabilidad del software por facilitar el desarrollo de una especificación para un marco de garantía de software [16] que:
- Establecer un marco común de propiedades de software que se pueda utilizar para representar cualquier / todas las clases de software para que los proveedores y adquirentes de software puedan representar sus afirmaciones y argumentos (respectivamente), junto con la evidencia correspondiente, empleando herramientas automatizadas (para abordar la escala)
- Verificar que los productos hayan satisfecho suficientemente estas características antes de la adquisición del producto, de modo que los ingenieros / integradores de sistemas puedan usar estos productos para construir (componer) sistemas asegurados más grandes con ellos.
- Permitir que la industria mejore la visibilidad del estado actual de la garantía de software durante el desarrollo de su software.
- Permita que la industria desarrolle herramientas automatizadas que respalden el marco común.
Foro de garantía de software para la excelencia en el código (SAFECode)
Según SAFECode , la garantía de software es "la confianza de que el software, el hardware y los servicios están libres de vulnerabilidades intencionales y no intencionales y que el software funciona según lo previsto". [17]
Webopedia
Según Webopedia , Software Quality Assurance, abreviado como SQA, y también llamado "software assurance", es un nivel de confianza de que el software está libre de vulnerabilidades, ya sea diseñado intencionalmente en el software o insertado en cualquier momento durante su ciclo de vida, y que el el software funciona de la manera prevista ". [18]
Como se indica en la definición de Webopedia, el término "garantía de software" se ha utilizado como una abreviatura de Garantía de calidad de software (SQA) cuando no se considera necesariamente la seguridad o la confiabilidad. SQA se define en el Handbook of Software Quality Assurance como: "el conjunto de actividades sistemáticas que proporcionan evidencia de la capacidad del proceso de software para producir un producto de software apto para su uso". [19]
Iniciativas
Una iniciativa financiada con fondos federales de los Estados Unidos se llamó Software Assurance , [20] que fue financiada conjuntamente por DHS, DOD y NIST, y dirigió el sitio web Build Security In (BSI) [21] .
¿Por qué es importante la garantía de software?
Muchas actividades comerciales y funciones críticas, desde la defensa nacional hasta la banca, la atención médica, las telecomunicaciones, la aviación y el control de materiales peligrosos, dependen del funcionamiento correcto y predecible del software. Estas actividades podrían verse seriamente interrumpidas si los sistemas de uso intensivo de software de los que dependen fallaran. [2]
Ver también
Referencias
- ^ "Glosario de garantía de la información nacional"; Instrucción CNSS No. 4009 Glosario de garantía de información nacional
- ^ a b Karen Mercedes, Theodore Winograd "Mejora del ciclo de vida del desarrollo para producir software seguro" Archivado el 30 de marzo de 2012 en Wayback Machine , Data & Analysis Center for Software , octubre de 2008
- ^ McGraw, Gary. Seguridad del software: seguridad en el edificio . Seguridad del software. Addison-Wesley . ISBN 0-321-35670-5. p.75
- ^ Build Security In Home (2 de diciembre de 2011). "DHS construye seguridad en el portal web" . Buildsecurityin.us-cert.gov . Consultado el 8 de mayo de 2013 .
- ^ Build Security In Home (2 de diciembre de 2011). "Construir seguridad en el hogar" . Buildsecurityin.us-cert.gov . Consultado el 8 de mayo de 2013 .
- ^ "Herramientas de aseguramiento de código abierto (software)" . Archivado desde el original el 11 de septiembre de 2014.
- ^ LEY PÚBLICA 112-239 — ENE. 2, 2013, LEY DE AUTORIZACIÓN DE DEFENSA NACIONAL PARA EL AÑO FISCAL 2013, sección 933.
- ^ https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=538756 y https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=538771
- ^ y https://www.isc2.org/News-and-Events/Press-Room/Posts/2019/06/17/ISC2-Announces-2019-Information-Security-Leadership-Awards-Government-Winners
- ^ LEY PÚBLICA 113–66 — DIC. 26, 2013, LEY DE AUTORIZACIÓN DE DEFENSA NACIONAL PARA EL AÑO FISCAL 2014, sección 937
- ^ https://www.ida.org/research-and-publications/publications/all/s/st/stateoftheart-resources-soar-for-software-vulnerability-detection-test-and-evaluation-2016-app-e
- ^ "Página principal - Proyecto SAMATE" . Samate.nist.gov . Consultado el 8 de mayo de 2013 .
- ^ NASA-STD-2201-93 Archivado el 2 de julio de 2006 en la Wayback Machine "Software Assurance Standard", 10 de noviembre de 1992
- ^ Grupo de interés especial (SIG) de OMG Software Assurance (SwA) http://adm.omg.org/SoftwareAssurance.pdf y http://swa.omg.org/docs/softwareassurance.v3.pdf
- ^ "Dios mío Swa Sig" . Swa.omg.org. 26 de febrero de 2010 . Consultado el 8 de mayo de 2013 .
- ^ http://www.omg.org/CISQ_compliant_IT_Systemsv.4-3.pdf
- ^ "Software Assurance: una descripción general de las mejores prácticas actuales de la industria" (PDF) . Archivado desde el original (PDF) el 13 de mayo de 2013 . Consultado el 8 de mayo de 2013 .
- ^ "Enciclopedia en línea de Webopedia" . Webopedia.com . Consultado el 8 de mayo de 2013 .
- ^ G. Gordon Schulmeyer y James I. McManus, Manual de aseguramiento de la calidad del software , tercera edición (Prentice Hall PRT, 1998)
- ^ "Centro de intercambio de información y recursos comunitarios de Software Assurance" . Buildsecurityin.us-cert.gov . Consultado el 8 de mayo de 2013 .
- ^ Build Security In Home (2 de diciembre de 2011). "Construir seguridad en el hogar" . Buildsecurityin.us-cert.gov . Consultado el 8 de mayo de 2013 .
enlaces externos
- Recurso de información "Build Security In" del DHS
- Portal de la comunidad de práctica de DHS SwA
- Proyecto NIST Software Assurance Metrics and Tool Evaluation (SAMATE)
- Grupo de gestión de objetos SwA SIG
- Foro de garantía de software para la excelencia en el código (SAFECode)
- Guía y estándar de garantía de software de la NASA (consulte garantía de calidad en IEEE 610.12 Glosario estándar de terminología de ingeniería de software de IEEE).
- Informe de estado del arte de garantía de seguridad del software (SOAR)