Diseño
4. Diseño
Refiriéndonos a la Hoja de Referencia de Diseño de Productos Seguros, el propósito de la arquitectura y diseño seguros es garantizar que todos los productos cumplan o excedan los requisitos de seguridad establecidos por la organización, enfocándose en la seguridad vinculada a los componentes y tecnologías utilizadas durante el desarrollo de la aplicación.
El Diseño de Arquitectura Segura examina la selección y composición de componentes que forman la base de la solución. La Gestión de Tecnología examina la seguridad de las tecnologías de apoyo utilizadas durante el desarrollo, despliegue y operaciones, como entornos de desarrollo y herramientas, herramientas de despliegue, y sistemas operativos y herramientas.
Un diseño seguro ayudará a establecer configuraciones predeterminadas seguras, minimizar el área de superficie de ataque y fallar de manera segura con configuraciones predeterminadas bien definidas y comprendidas. También considerará y seguirá varios principios, tales como:
- Privilegio Mínimo y Separación de Funciones
- Defensa en Profundidad
- Confianza Cero
- Seguridad en Abierto
Un Ciclo de Vida de Desarrollo Seguro (SDLC) ayuda a garantizar que todas las decisiones de seguridad tomadas sobre el producto en desarrollo sean elecciones explícitas y resulten en el nivel correcto de seguridad para el diseño del producto. Se pueden utilizar varios ciclos de vida de desarrollo seguro y generalmente incluyen el modelado de amenazas en el proceso de diseño.
Las Listas de Verificación y Hojas de Referencia son una herramienta importante durante el proceso de diseño; proporcionan una referencia fácil de conocimiento y ayudan a evitar repetir errores y fallos de diseño.
El Diseño de aplicaciones de software es una de las principales funciones empresariales descritas en el Modelo de Madurez de Aseguramiento de Software (SAMM), e incluye prácticas de seguridad:
Secciones:
4.1 Modelado de amenazas
4.1.1 Modelado de amenazas en la práctica
4.1.2 pytm
4.1.3 Threat Dragon
4.1.4 Cornucopia
4.1.5 LINDDUN GO
4.1.6 Kit de herramientas de modelado de amenazas
4.2 Lista de verificación de aplicaciones web
4.2.1 Definir requisitos de seguridad
4.2.2 Aprovechar marcos de trabajo
y bibliotecas de seguridad
4.2.3 Acceso seguro a bases de datos
4.2.4 Codificar y escapar datos
4.2.5 Validar todas las entradas
4.2.6 Implementar identidad digital
4.2.7 Hacer cumplir controles de acceso
4.2.8 Proteger datos en todas partes
4.2.9 Implementar registro y monitoreo de seguridad
4.2.10 Manejar todos los errores
y excepciones
4.3 Lista de verificación MAS
Traducción de versión original en inglés.
La Guía del Desarrollador OWASP es un esfuerzo comunitario; si hay algo que necesita cambiarse, cree un issue o edítelo en GitHub.