6. Principios para un Diseño Seguro. Algunas vulnerabilidades pueden incorporarse a la aplicación a partir de decisiones de diseño incorrectas. Aplicar principios de diseño seguro ayuda a prevenir este tipo de fallos. 6.1 Minimizar la Superficie de Ataque. Cada línea de código es un bug en potencia. Cada bug puede implicar en una vulnerabilidad y ser explotada. Se debe reducir la cantidad de componentes y librerías de las que se dependerá. Esta práctica afecta la cantidad final de errores en el código. 6.2 Diseñar para ser Mantenido Indefectiblemente, habrá que corregir errores o fallos. Sin embargo, la arquitectura de la aplicación puede perjudicar o ayudar en su mantenimiento. Será más viable corregir vulnerabilidades de seguridad en un sistema con arquitectura simple y mantenimiento sencillo. Factores como la complejidad de módulos y arquitectura afectan a la seguridad de la aplicación por el efecto que tienen sobre su mantenibilidad. La rapidez con la que se corrigen los errores afecta la “ventana de vulnerabilidad”, siendo ésta el plazo durante el cual se desconoce la existencia de una falla de seguridad en el sistema. 6.3 El eslabón más débil. Generalmente, los atacantes utilizarán inicialmente las vulnerabilidades más fáciles de explotar. La arquitectura de seguridad de su aplicación será tan resistente como lo sea el componente con la mínima seguridad. Es una buena práctica identificar los puntos débiles de la seguridad de la aplicación mediante revisiones de diseño y una vez detectados, fortalecerlos ajustando el diseño o implementando controles de seguridad. 6.4 Seguridad por Defecto. Los usuarios usualmente tienden a no configurar los parámetros de seguridad por lo que este tipo de controles deben ser configurados de la forma más segura posible. Eventualmente se puede ofrecer la posibilidad de deshabilitar algunos de ellos. Como principio general, se recomienda desalentar configuraciones inseguras. 6.5 Mantener la Usabilidad. El buen software es transparente para el usuario. Es esencial negociar un equilibrio entre controles de seguridad y la usabilidad del sistema. Este principio también se conoce como “Aceptabilidad psicológica”. Deberá evitarse generar experiencias de usuario que puedan confundir a los usuarios y llevarlos a tomar malas decisiones de seguridad. 6.6 Autorización para Todo por Defecto. Por defecto, debe requerirse autorización para acceder a los recursos de la aplicación. En caso de que se decidiera publicar ciertos recursos, debe fundamentarse tal decisión en base a reglas de la organización. IF-2021-76718462-APN-DNCIB#JGM Adicionalmente, debería hacerse un análisis de los riesgos asociados a la decisión que se adopte. Página 13 de 35

Select target paragraph3

Connect to a paragraph
Connect to an entity
Disable highlights
Add to table of contents