de Arquitectura de Software
de Arquitectura de Software
de Arquitectura de Software
Arquitectura de Software
Atributos de Calidad
Seguridad
ISIS-3702
DEPARTAMENTO DE SISTEMAS
Agenda
• Introducción
• Touchpoints
• Perspectiva de Seguridad
DEPARTAMENTO DE SISTEMAS
Atributos de calidad
Lista de chequeo listas para revisar que se han abordado todos los aspectos
relevantes de la perspectiva
• Introducción
• Touchpoints
• Perspectiva de Seguridad
DEPARTAMENTO DE SISTEMAS
Touchpoints
• Manejo de Conocimiento
• Touchpoints
o Buenas prácticas en desarrollo de software
seguro
o Relativamente fáciles de integrar en el proceso
de desarrollo de software
Conocer y entender riesgos de seguridad
Diseñar pensando en seguridad
Análisis y pruebas de los artefactos principales desde
el punto de vista de seguridad
Touchpoints
DEPARTAMENTO DE SISTEMAS
• 5. Casos de Abuso
o Se enfocan en los artefactos de requerimientos y
casos de uso
o Es una forma de entrar en la mente de los
atacantes
o Similares a los casos de uso
o Describen el comportamiento del sistema bajo
ataque
o Se debe conocer lo que se quiere proteger, de
quién y por cuanto tiempo
Touchpoints
DEPARTAMENTO DE SISTEMAS
• 6. Requerimientos de Seguridad
o Se detallan requerimientos de seguridad
o Se especifican claramente
Entradas
Salidas
Cursos básicos de acción
Caminos de extensión y excepción
o Es importante identificar y mantener los
requerimientos de seguridad
Touchpoints - Casos de Abuso
DEPARTAMENTO DE SISTEMAS
• Casos de Abuso
o Propuestos inicialmente en 1999 (McDermont)
o Extensión de los casos de uso con casos de mal
uso (Opdahl 2000)
o Uno de los objetivos de los casos de abuso es
decidir y documentar cómo debe reaccionar el
software ante su uso ilegítimo
Touchpoints - Casos de Abuso
DEPARTAMENTO DE SISTEMAS
• Anti-requerimientos
o Creados por los analistas de seguridad
o Se analizan los casos de uso contra la lista de
potenciales atacantes
o Se documentan los ataques que causarian que el
requerimiento fallara
o Anti-requerimientos ayudan a entender como una
amaneza puede abusar del sistema
o Usualmente ligados a la ausencia o falla de una
función de seguridad
Touchpoints - Casos de Abuso
DEPARTAMENTO DE SISTEMAS
• STRIDE
o Spoofing
Pretender ser otra persona
o Tampering
Modificar datos o código
o Repudiation
Negar una acción
o Information Disclosure
Exponer información a alguien no autorizado
o Denial of Service
Denegar o degradar el servicio a los usuarios
o Elevation of Privilege
Ganar privilegios sin autorización
Touchpoints - Patrones de Ataque
DEPARTAMENTO DE SISTEMAS
o Integridad
o Disponibilidad
DEPARTAMENTO DE SISTEMAS
ISO/IEC 15408-2:2005
“The TSF shall generate cryptographic keys in accordance with a specified cryptographic key
generation algorithm [assignment: cryptographic key generation algorithm] and specified cryptographic
key sizes [assignment: cryptographic key sizes] that meet the following: [assignment: list of
standards].” [5]
DEPARTAMENTO DE SISTEMAS
ISO/IEC 15408-2:2005
“The TSF shall enforce the [assignment: access control SFP, information flow control SFP] to restrict
the ability to [selection: change_default, query, modify, delete,[assignment: other operations]] the
security attributes [assignment: list of security attributes] to [assignment: the authorised identified
roles].” [5]
DEPARTAMENTO DE SISTEMAS
ISO/IEC 15408-2:2005
“The TSF shall ensure the operation of [assignment: list of TOE capabilities]
when the following failures occur: [assignment: list of type of failures].” [5]
DEPARTAMENTO DE SISTEMAS
ISO/IEC 15408-2:2005
“The TSF shall require the following events to occur prior to unlocking the
session: [assignment: events to occur].” [5]
DEPARTAMENTO DE SISTEMAS
ISO/IEC 15408-2:2005
“The TSF shall provide a communication channel between itself and a remote
trusted IT product that is logically distinct from other communication channels
and provides assured identification of its end points and protection of the
channel data from modification or disclosure.” [5]
DEPARTAMENTO DE SISTEMAS
SQUARE
• SQUARE
o Paso 1. Unificar conceptos
o Paso 2. Identificar objetivos de seguridad
o Paso 3. Desarrollar artefactos para soportar las
técnicas de descubrimiento
o Paso 4. Realizar evaluación de riesgos
o Paso 5. Seleccionar técnicas de descubrimiento
o Paso 6. Descubrir requerimientos de seguridad
o Paso 7. Categorizar requerimientos
o Paso 8. Priorizar requerimientos
o Paso 9. Inspeccionar Requerimientos
DEPARTAMENTO DE SISTEMAS
SQUARE
Director de tecnología
Director Financiero
DEPARTAMENTO DE SISTEMAS
SQUARE
• Paso 3. Desarrollar artefactos para soportar la
definición de requerimientos de seguridad
o Entradas
Casos de Abuso
o Técnicas
Sesiones de Trabajo
o Participantes
Ingenieros de Requerimientos
o Salidas
Artefactos requeridos, casos de abuso
DEPARTAMENTO DE SISTEMAS
SQUARE
• Paso 3. Desarrollar artefactos para soportar la
definición de requerimientos de seguridad
Casos de abuso
Requerimientos
Tablas de evaluación
DEPARTAMENTO DE SISTEMAS
SQUARE
o Técnicas
Inspección de métodos: Revisión de Pares
o Participantes
Equipo de Inspección
o Salidas
Requerimientos Inspeccionados
DEPARTAMENTO DE SISTEMAS
SQUARE
• Análisis de Riesgos
o Identificar y Priorizar riesgos en un punto
particular del proceso de desarrollo de software
o Modelos
DEPARTAMENTO DE SISTEMAS
Análisis de Riesgos
• La propuesta
o Análisis de resistencia al ataque
o Análisis de ambigüedad
o Análisis de debilidad
DEPARTAMENTO DE SISTEMAS
Análisis de Riesgos
• 2. Análisis de Ambiguedad
o Se busca descubrir nuevos riesgos
o Descubrir ambiguedades e inconsistencias
o 2.1 Cada participante hace un análisis por
separado
o 2.2 Se hace una puesta en común de los
resultados individuales
o Todos estamos de acuerdo en como funciona el
sistema??
DEPARTAMENTO DE SISTEMAS
Análisis de Riesgos
• 3. Análisis de Debilidades
o Se busca entender las dependencia externas de
software
o 3.1 Debilidades o fallas en los frameworks de
desarrollo / Contenedores de aplicaciones
empresariales
.NET
JEE
o RMI
Análisis de Riesgos
DEPARTAMENTO DE SISTEMAS
• Ejemplo – Jboss
o Las versiones 3.2.2 a 3.2.7 y 4.0.2 le
permiten a un atacante obtener información
via GET (utilizando “%.”)
Path de instalación
Reply:
HTTP/1.0 400 C:\Programme\jboss-4.0.2\server\default\conf (Zugriff verweigert)
Content-Type: text/html
Reply:
HTTP/1.0 200 OK
Content-Length: 550
Content-Type: text/html
• Introducción
• Touchpoints
• Perspectiva de Seguridad
DEPARTAMENTO DE SISTEMAS
Atributos de calidad - Seguridad
86
Perspectiva de Seguridad
DEPARTAMENTO DE SISTEMAS
88
DEPARTAMENTO DE SISTEMAS
Perspectiva de Seguridad
• Ejemplo
89
Tomado de [1] pag 371
DEPARTAMENTO DE SISTEMAS
Perspectiva de Seguridad
90
Perspectiva de Seguridad
DEPARTAMENTO DE SISTEMAS
• Ejemplo
Single-sign-on
Firewalls
SSL
Tecnologías criptográficas
Perspectiva de Seguridad
DEPARTAMENTO DE SISTEMAS
• Actividades a desarrollar
o Diseñar un mecanismo de mitigación de amenazas
Modificar decisiones arquitecturales !!!
o Evaluar la tecnología
Usar tecnologías de seguridad especializadas
o Integrar la tecnología
Decidir cómo debe ser integrada la tecnología de
seguridad seleccionada en el paso anterior
• Ejemplo
• Tácticas Arquitecturales
o 1. Aplicar principios reconocidos de seguridad
Otorgar la menor cantidad de privilegios posibles
Defender en profundidad
Anillos de seguridad
Perspectiva de Seguridad
DEPARTAMENTO DE SISTEMAS
Separar y compartimentalizar
Separar responsabilidades
o Uso de criptografía
• 6. Proteger la disponibilidad
o Proteger el sistema de ataques para reducir la
disponibilidad (DoS)
104
DEPARTAMENTO DE SISTEMAS
Referencias
105