2.2.1 SWS/Principios fundamentales
Esta unidad de conocimiento presenta los principios que subyacen tanto al diseño como a la implementación. Los primeros cinco son principios de restricción, los tres siguientes son principios de simplicidad y el resto son principios de metodología.
Temas:
Core Tier1
- Mínimo privilegio
- Esta unidad de conocimiento presenta los principios que subyacen tanto al diseño como a la implementación. Los primeros cinco son principios de restricción, los tres siguientes son principios de simplicidad y el resto son principios de metodología.
- Valores predeterminados a prueba de fallos
- El estado inicial debería ser denegar el acceso a menos que se requiera explícitamente. Entonces, a menos que al software se le dé acceso explícito a un objeto, se le debe negar el acceso a ese objeto y el estado de protección del sistema debe permanecer sin cambios.
- Mediación Completa
- El software debe validar cada acceso a los objetos para garantizar que el acceso esté permitido.
- Separación
- El software no debe otorgar acceso a un recurso ni realizar una acción relevante para la seguridad basándose en una única condición.
- Minimizar la confianza
- El software debe verificar todas las entradas y los resultados de todas las acciones relevantes para la seguridad.
- Economía del mecanismo
- Las funciones de seguridad del software deben ser lo más simples posible
- Minimizar el mecanismo común
- Reducir los recursos compartidos al máximo
- El menor asombro
- Las características de seguridad del software y los mecanismos de seguridad que implementa deben diseñarse de manera que su funcionamiento sea lo más lógico y simple posible.
- Diseño abierto
- La seguridad del software, y de lo que ese software proporciona, no debería depender del secreto de su diseño o implementación.
- Capas
- Organice el software en capas de modo que los módulos de una capa determinada interactúen solo con los módulos de las capas inmediatamente superiores y inferiores. Esto le permite probar el software una capa a la vez, utilizando técnicas de arriba hacia abajo o de abajo hacia arriba, y reduce los puntos de acceso, aplicando el principio de separación.
- Abstracción
- Ocultar las partes internas de cada capa, haciendo que solo las interfaces estén disponibles; esto le permite cambiar la forma en que una capa lleva a cabo sus tareas sin afectar los componentes de otras capas
- Modularidad
- Diseñar e implementar el software como una colección de componentes cooperativos (módulos); de hecho, la interfaz de cada módulo es una abstracción.
- Vinculación completa
- Vincule el diseño y la implementación de la seguridad del software con las especificaciones de seguridad de ese software.
- Diseño para iteración
- Planifique el diseño de tal manera que pueda modificarse, si es necesario. Esto minimiza los efectos con respecto a la seguridad de cambiar el diseño si las especificaciones no coinciden con el entorno en el que se utiliza el software.
Objetivos de Aprendizaje:
Core-Tier1:
- Analice las implicaciones de confiar en el diseño abierto o el secreto del diseño para la seguridad [Usar]
- Enumere los tres principios de seguridad [Usar]
- Describa por qué cada principio es importante para la seguridad. [Usar]
- Identificar el principio de diseño necesario [Usar]
Generado por Ernesto Cuadros-Vargas , Sociedad Peruana de Computación-Peru, basado en el modelo de la Computing Curricula de IEEE-CS/ACM