SEGURIDAD - sophia.javeriana.edu.co · inapropiados (ataques e incidentes) y riesgos de seguridad...
Transcript of SEGURIDAD - sophia.javeriana.edu.co · inapropiados (ataques e incidentes) y riesgos de seguridad...
SEGURIDAD<Perspectiva Arquitectural>
William Enrique Parra Alba
Maestría en Ingeniería de Sistemas y Computación
Diseño y Evaluación de Arquitecturas de Software
Pontificia Universidad Javeriana
Security & Safety Visto desde las características de calidad
Fuente: [1]
Definiciones
• Security
• Safety
Security Engineering: La disciplina de ingenieríadentro de la ingeniería de sistemas relacionadacon reducir el riesgo de daño intencional noautorizado a activos valiosos a un nivelaceptable para las partes interesadas delsistema mediante la prevención, detección yreacción ante daños maliciosos, usosinapropiados (ataques e incidentes) y riesgos deseguridad [1].
Safety Engineering: La disciplina de ingenieríadentro de la ingeniería de sistemas relacionadacon la reducción del riesgo de daño nointencional no autorizado a activos valiosos aun nivel aceptable para las partes interesadasdel sistema mediante la prevención, detección yreacción ante daños accidentales, accidentes eincidentes, y riesgos de seguridad [1].
Diferencias de Conceptos
• Security
• Safety
Security:• Daño intencional• Mal uso• Amenazas
Safety:• Daño involuntario• Percances• Peligros
Taxonomía de la seguridad
Fuente: [2]
Concerns
• Confidencialidad
• Integridad
• Disponibilidad
Seguridad
• Confidencialidad
• Integridad
• Disponibilidad
Propiedad de que los datos o los serviciosestán protegidos contra el acceso noautorizado. La solidez de la confidencialidadde un sistema suele medirse en la cantidadde recursos necesarios para revelar suinformación.
Concerns
• Una métrica en un sistema de comunicación sería el tiempoque le tome a un atacante, develar el contenido de unacomunicación cifrada.
• Unas métricas de AS propuestas, para confidencialidad de datos son:• Presencia de componentes de cifrado (SI o NO)• Presencia de componentes para el control de acceso (SI
o NO)• Presencia de componentes para la autenticación (SI o
NO)
Seguridad
• Confidencialidad
• Integridad
• Disponibilidad
La integridad es la propiedad de quelos datos estén protegidos demodificaciones no autorizadas (controlde acceso). Puede generar pérdida deintegridad en cascada.
Concerns
• Se puede medir en el tiempo y recursos que le tomarían aun atacante, para modificar los datos o procesos – Adivinarchecksum de integridad
• Unas métricas de AS propuestas, para Integridad de datos son:• Presencia de componentes de cifrado y checksum para
las comunicaciones (SI o NO)• Presencia de servidores redundantes o de contingencia
(SI o NO)• Canales cifrados (SI o NO)
Seguridad
• Confidencialidad
• Integridad
• Disponibilidad
La disponibilidad es la propiedad deque los recursos que deberían estardisponibles para un usuario autorizado;estén disponibles.
Concerns
• Se puede medir en el tiempo que le tomaría a un atacante causar una denegación de servicio.
• Se mide como el tiempo entre fallas o la rapidez en que el sistema puede reiniciar la operación cuando ocurre una falla
• Unas métricas de AS propuestas, para Disponibilidad de datos son:• Capacidad para desplegar en alta disponibilidad (SI o NO)• Presencia de contingencia (SI o NO)• Presencia de equipos y/o software para la detección de
intrusos (SI o NO)• Presencia de firewalls y zonas seguras dentro las cuales
se despliega la aplicación (SI o NO)
Seguridad
• Confidencialidad
• Integridad
• Disponibilidad
Concerns
Seguridad
Factors
• Interface• Autenticación
• Cifrado
• Auditoria y Análisis
• Internal
AutenticaciónSeguridad
Peter Steiner
Verificar que es quien dice ser..
Factors
Autenticación• De un factor
• Algo que sé
• De dos factores• Algo que sé y algo que tengo
• De tres factores• Algo que sé, algo que tengo, y algo que soy (iris,
huella, reconocimiento facial, reconocimiento de voz)
• Interface• Autenticación
• Cifrado
• Auditoria y Análisis
• Internal
Seguridad
Factors
Autenticación• De un factor
• Algo que sé
• De dos factores• Algo que sé y algo que tengo
• De tres factores• Algo que sé, algo que tengo, y algo que soy (iris,
huella, reconocimiento facial, reconocimiento de voz)
• Interface• Autenticación
• Cifrado
• Auditoria y Análisis
• Internal
Seguridad
Factors
Autenticación• De un factor
• Algo que sé
• De dos factores• Algo que sé y algo que tengo
• De tres factores• Algo que sé, algo que tengo, y algo que soy (iris,
huella, reconocimiento facial, reconocimiento de voz)
• Interface• Autenticación
• Cifrado
• Auditoria y Análisis
• Internal
Seguridad
Factors
Cifrado [Encryption]• En almacenamiento de datos interno
• Bases de datos
• Archivos
• Interface• Autenticación
• Cifrado
• Auditoria y Análisis
• Internal
Seguridad
Métrica: Presencia de cifrado a nivel de Bases de datos y/o Archivos (Si o No)
Factors
Cifrado [Encryption]• En integración de servicios entre sistemas
• Simétrico – Llave compartida (DES, Triple DES, AES)
• Asimétrico - Infraestructura de llave pública
• Interface• Autenticación
• Cifrado
• Auditoria y Análisis
• Internal
Seguridad
Métrica: Presencia de comunicación cifrada (Si o No)
Factors
Cifrado [Encryption]• En integración de servicios entre sistemas
• Simétrico – Llave compartida (DES, Triple DES, AES)
• Asimétrico - Infraestructura de llave pública RSA
• Interface• Autenticación
• Cifrado
• Auditoria y Análisis
• Internal
Seguridad
Métrica: Presencia de comunicación cifrada (Si o No)
Factors
Cifrado [Encryption]• Para hacer suma de comprobación (Checksum)
• Comprobación para ejecución de archivos para ejecución (java web start - JNLP)
• Interface• Autenticación
• Cifrado
• Auditoria y Análisis
• Internal
Seguridad
Factors
Cifrado [Encryption]• No repudio
• Comprobación de emisor
1. David redacta un mensaje
2. David firma digitalmente el mensaje con su clave privada
3. David envía el mensaje firmado digitalmente a Ana
4. Ana recibe el mensaje firmado digitalmente y comprueba su
autenticidad usando la clave pública de David
5. Ana ya puede leer el mensaje con total seguridad de que ha sido
David el remitente
• Interface• Autenticación
• Cifrado
• Auditoria y Análisis
• Internal
Seguridad
Factors
Auditoría y Análisis
• Busca detectar actividades, accesos ytransacciones no autorizadas.
• Alarmas para alertar una violación a la políticade un componente interno.• Interface
• Autenticación
• Cifrado
• Auditoria y Análisis
• Internal
Seguridad
Factors
Control de Acceso
• Verificar si una entidad u objeto que solicita accesoa un recurso, tiene los derechos necesarios parahacerlo.
• Se aplica para controlar acceso a datos y procesosinternos, tanto de los propios objetos internos,como de usuarios externos.
• Interface
• Interno• Control de Acceso
• Auditoría y Registro
• Kernelización
Seguridad
Factors
Auditoría y Registro
• Cualquier acción tomada internamente puede serregistrada y auditada de modo que en el caso deuna violación de seguridad las acciones puedanatribuirse a la causa base.
• Un log es un registro oficial de eventos durante unrango de tiempo en particular. Se utiliza pararegistrar datos o información sobre quién, qué,cuándo, dónde y por qué un evento ocurre en undispositivo en particular o aplicación.
• Interface
• Internal• Control de Acceso
• Auditoría y Registro
• Kernelización
Seguridad
Factors
Kernelización
• Abstracción de toda la funcionalidadrelacionada con la seguridad, en un pequeñosubconjunto del sistema en general y con unainterface estrictamente definida.• Interface
• Internal• Control de Acceso
• Auditoría y Registro
• Kernelización
Seguridad
Métodos
Modelos de Proceso
• Diseñar un sistema informático seguro,mediante un modelo de proceso que incluyediseño formal, integración y pruebas.
• Síntesis• Modelos de Proceso
• Modelos de Seguridad
• Protocolos seguros
• Análisis
Seguridad
Métodos
Modelos de Seguridad
• Otro método de síntesis es modificar unmodelo de seguridad existente para adaptarloa otra aplicación o sistema.
• Permite sintetizar un modelo complejo a partirde componentes básicos.
• Síntesis• Modelos de Proceso
• Modelos de Seguridad
• Protocolos seguros
• Análisis
Seguridad
Métodos
Protocolos seguros
• Uso de mecanismos de seguridad estándar deterceros como el protocolo de seguridadKerberos (algoritmo simétrico), para resolverproblemas de seguridad dentro de sistemas yaplicaciones.
• Síntesis• Modelos de Proceso
• Modelos de Seguridad
• Protocolos seguros
• Análisis
Seguridad
Métodos
Métodos formales
• Consiste en realizar un análisis formal deldiseño y especificación del sistema paraverificar que el diseño cumple con losrequisitos y especificaciones de seguridad.• Síntesis
• Análisis• Métodos formales
• Análisis de penetración
• Análisis de canales secretos
Seguridad
Métodos
Análisis de penetración(Ethical Hacking)
• Se realiza durante las fases de prueba delsistema. Emplea escenarios de ataque estándarpara determinar si el sistema es resistente.
• La desventaja es que no aborda ataquesdesconocidos en el momento de la prueba.
• Síntesis
• Análisis• Métodos formales
• Análisis de penetración
• Análisis de canales secretos
Seguridad
Métodos
Análisis de canales secretos
• Este análisis se realiza en sistemas segurosmultinivel, para identificar el ancho de bandade cualquier canal de datos secundario que seidentifique en el sistema.• Síntesis
• Análisis• Métodos formales
• Análisis de penetración
• Análisis de canales secretos
Seguridad
Seguridad
Herramientas
Identity Management
Herramientas
Identity Manager
• Identity Manager
• Role Manager
• Access Manager
• Virtual Directory
• Single sign on
Seguridad
Herramientas
Role Manager
• Identity Manager
• Role Manager
• Access Manager
• Virtual Directory
• Single sign on
Seguridad
Herramientas
Access Manager
• Identity Manager
• Role Manager
• Access Manager
• Virtual Directory
• Single sign on
Seguridad
Herramientas
Virtual Directory
• Identity Manager
• Role Manager
• Access Manager
• Virtual Directory
• Single sign on
Seguridad
Herramientas
Single sign on
• Identity Manager
• Role Manager
• Access Manager
• Virtual Directory
• Single sign on
Seguridad
Seguridad
Problemas
SafetySafety es una subclase de defensibilidad quecaptura el grado de los siguientes problemas:• Daño accidental a bienes valiosos• Abusos de seguridad (accidentes e
incidentes)• Vulnerabilidades de seguridad• Peligros de seguridad - existencia de
condiciones para abusadores nomaliciosos que explotaninadvertidamente vulnerabilidades delsistema para dañar accidentalmenteactivos valiosos.
• Riesgos de seguridad
Taxonomía de Safety
Fuente: [2]
Fuente: [2]
Safety
• Preocupaciones (Concerns)• Complejidad de la
interacción• Fuerza de
acoplamiento
Complejidad de la interacción: es la medidaen que el comportamiento de un componentepuede afectar el comportamiento de otroscomponentes.
• Interacción compleja: son aquellas desecuencias desconocidas, o no planificadas einesperadas, no visibles o no comprensibles.
• Interacción lineal: son aquellas esperadas yfamiliares en la secuencia de producción omantenimiento, y que son visibles aunqueno planificadas.
Fuente: [7]
Safety
• Preocupaciones (Concerns)• Complejidad de la
interacción• Fuerza de
acoplamiento
Métrica
1. Para cada conector, calcular la complejidad de la interface de comunicación, y dar peso a cada una S = Simple (0.2); M=Media (0.4); C= Compleja (0.8)
2. Generar matriz de adyacencia, sumando los pesos de las interacciones entre componentes.
Tipos Retorno/Argumentos No Primitivo Estructurado Complejo
No S S M M
Primitivo S S M M
Estructurado S M C C
Complejo M M C C
SSimple<Primitivos> 0.2
MMedio<String> 0.4
CComplejo<Def. por Usuario> 0.6
Matriz de Adyacencia C1 C2 C3 C4
C1 0 0,2 0 0,4
C2 0 0 0 0
C3 0 0 0 0
C4 0 0,6 0,4 0
Safety
• Preocupaciones (Concerns)• Complejidad de la
interacción• Fuerza de
acoplamiento
Fuerza de acoplamiento: es la medida en quehay flexibilidad en el sistema para permitireventos no planificados.
• Bajo acoplamiento: pueden retrasarse o ponerseen espera; Las secuencias pueden sermodificadas. El sistema puede ser reestructuradopara hacer trabajos diferentes o un mismotrabajo de maneras diferentes; Tienen“Equifinalidad" -muchas formas de alcanzar lameta.
• Fuerte acoplamiento: tienen procesosdependientes del tiempo. No pueden esperar aque se les preste atención; Secuencias másinvariantes y alternativas limitadas del diseñoglobal para la forma de hacer el trabajo; Tienen“Uniformidad” – forma única de alcanzar la meta.
Safety
• Factores• Peligro• Accidente
Factores:
• Peligro: son condiciones (estado del sistemacontrolado) que pueden conducir a un accidente.
• Accidente: eventos no planificados queresultan en muerte, lesión, enfermedad,daño o pérdida de propiedad, o daño almedio ambiente.
** En la ingeniería de seguridad, la atenciónse centra en la prevención de peligros másque en la prevención de accidentes.
Safety
• Métodos• Identificación de
peligros• Tormenta de ideas• Creación de
consensos• Análisis de
peligros y Operabilidad(HAZOP)
Identificación de peligros:
• Tormenta de ideas: Los expertos generanuna lista de posibles peligros del sistemahasta que se alcanza algún umbral.
• Creación de consensos: Facilitar la iteraciónentre expertos con responsabilidadesespecíficas y metas bien definidas.
• Análisis de peligros y operabilidad: Evalúa larepresentación del sistema y susprocedimientos operacionales, determinapeligros para los seres humanos o el medioambiente y las medidas que podríanemplearse para prevenir los accidentes.
Safety
• Métodos• Análisis de Peligros
• Árbol de Análisis de fallas (FTA)
• Árbol de Análisis de eventos (ETA)
• Análisis de Modos y efectos de falla (FMEA)
Árbol de análisis de fallas (FTA):
De lo general a lo particular. El objetivo del FTA es demostrarque la lógica contenida en el diseño del software no causarácontratiempos, y determinar las condiciones que podrían llevaral software a contribuir a un percance.
Fuente: [3]
Safety
• Métodos• Análisis de Peligros
• Árbol de Análisis de fallas (FTA)
• Árbol de Análisis de eventos (ETA)
• Análisis de Modos y efectos de falla (FMEA)
Árbol de análisis de eventos (ETA):
De lo particular a lo general. Comenzando con algún eventoiniciador (deseable o indeseable), se desarrolla un árbol quemuestra todas las posibles consecuencias (deseables eindeseables).
Safety
• Métodos• Análisis de Peligros
• Árbol de Análisis de fallas (FTA)
• Árbol de Análisis de eventos (ETA)
• Análisis de Modos y efectos de falla (FMEA)
Análisis de Modos y Efectos de Falla (FMEA):
Intenta anticipar fallas potenciales para quelas fuentes de estos fallos puedan sereliminadas.
Busca Identificar:
• La frecuencia de ocurrencia (rara o común)• La gravedad del efecto (de menor a muy
grave)• Las posibilidades de detección antes del
despliegue
Safety
• Métodos• Análisis de peligros
• Árbol de Análisis de fallas (FTA)
• Árbol de Análisis de eventos (ETA)
• Análisis de Modos y efectos de falla (FMEA)
Análisis de Modos y Efectos de Falla (FMEA):
Ejemplo
Safety
• Métodos• Metodologías de
Implementación
Metodologías de Implementación
El objetivo es evitar la introducción de erroresdurante el proceso de desarrollo y, si es inevitable,detectarlos y corregirlos durante elfuncionamiento.
• Requerimientos libres de ambigüedad,especificación validada con usuario. Predecircomportamiento - Ejecuciones simbólicas
• Diseño con métodos formales y verificar quesatisface a especificación.
• Implementación – Estricto control de versionesdel software. Más representaciones, máscomplejidad para trazar requerimientos.
Safety
• Métodos• Metodologías de
Implementación• Métodos formales• Transformaciones• Gestión de
versiones
Métodos formales
Usar una notación de diseño formalpara Demostrar que el diseñosatisface la especificación.
Safety
• Métodos• Metodologías de
Implementación• Métodos formales• Transformaciones• Gestión de
versiones
Transformaciones
Las transformaciones sucesivas de laespecificación reducen la introducción deerrores, pero aumenta las representacionesdel sistema, haciendo más difícil elseguimiento de requisitos.
Safety
• Métodos• Metodologías de
Implementación• Métodos formales• Transformaciones• Gestión de
versiones
Gestión de versiones
Gestión de versiones estricta para garantizarque el código fuente que se analiza, es elcódigo fuente utilizado para construir elsistema.
Safety
• Métodos• Mecanismos de
Implementación• Lockins (Bloqueos
internos)• Lockouts
(Bloqueo)• Interlocks
(Interbloqueos)
Lockins (Bloqueos internos):
Bloquear el sistema en estados seguros. Elusuario no puede salir hasta que se cumplacierta condición
Ejemplo: Diálogo de confirmación mostradopor el software cuando el usuario intenta salirpuede verse como un bloqueo para evitar elfin inadvertido de la aplicación.
Safety
• Métodos• Mecanismos de
Implementación• Lockins (Bloqueos
internos)• Lockouts
(Bloqueo)• Interlocks
(Interbloqueos)
Lockout (Bloqueos):
Bloquear el sistema en estados peligrosos.
Ejemplo: Una aplicación de copia de seguridadde archivos impide que un usuario modifiquelas propiedades de una tarea de copia deseguridad programada mientras se estáejecutando, asegurándose de que se sigue lasecuencia correcta.
Safety
• Métodos• Mecanismos de
Implementación• Lockins (Bloqueos
internos)• Lockouts
(Bloqueo)• Interlocks
(Interbloqueos)
Interlocks (Interbloqueos):
Prescribir o rechazar secuencias específicas deeventos.
Ejemplo: El bloqueo en un horno microondasasegura que la puerta esté cerrada antes deque el horno empiece.
Safety
Ejemplos
SafetyRequisitos para las funciones o subsistemasañadidos estrictamente para la seguridad:
• Subsistemas de seguridad para aeronaves• Sistema de detección y alerta de
cizalladura aerotransportada.• Asiento de eyección y paracaídas.• Detección y supresión de incendios del
motor.• Sistema de aviso de proximidad del
suelo (GPWS).• Alerta mínima de seguridad (MSAW).• Sistema de alerta de tránsito y evitación
de colisiones (TCAS).
Requerimientos del subsistema
Ejemplos
SafetyRequisitos para las funciones o subsistemasañadidos estrictamente para la seguridad:
• Automóviles:• Control de velocidad adaptable.• Luces delanteras ajustables y asistente
de alta potencia.• Airbags.• Sistema de frenos antibloqueo (ABS).• Cámara de respaldo.• Sensores de respaldo.• Control electrónico de la estabilidad
(ESC).• Cinturón de seguridad.• Sistema de control de tracción (TCS)
Requerimientos del subsistema
Ejemplos
Safety• El sistema utilizará dispositivos de bloqueo
de hardware para evitar que los usuariosentren en contacto con partes móviles.
• El sistema no deberá tener un solo puntode falla que pueda causar un accidente amenos que el riesgo asociado sea aceptablepara las partes interesadas autorizadas.
• El sistema utilizará un subconjunto segurode C ++.
Restricciones
Referencias
[1] D. G. Firesmith, «One-Day Tutorial 32nd International Conference on Software Engineering 4 May 2010», 2010.[2] M. Barbacci, M. H. Klein, T. A. Longstaff, y C. B. Weinstock, «QualityAttributes.», DTIC Document, 1995.[3] «Análisis de Fallas con Diagramas de Arbol». [En línea]. Disponible en: http://www.tdi.texas.gov/pubs/videoresourcessp/spstpfaulttree.pdf. [Accedido: 16-feb-2017].[4] «Modelado y Diseño de Arquitectura de Software ». [En línea]. Disponible en: http://cic.puj.edu.co/wiki/lib/exe/fetch.php?media=materias:s3_atributoscalidad.pdf. [Accedido: 13-feb-2017].[5] H. Cervantes, R. Kazman, J. Ryoo, D. Choi, y D. Jang, «Architectural Approaches to Security: Four Case Studies», Computer, vol. 49, n.o 11, pp. 60–67, 2016.[6] M. Böhner, A. Mattausch, y A. Much, «Extending Software Architectures from Safety to Security.», en Automotive-Safety & Security, 2014, pp. 41–54.[7] R. S. Chillar, P. Ahlawat, y U. Kumari, «Measuring complexity of componentbased system using weighted assignment technique», en Proc. 2nd International Conference on Information Communication and Management (ICICM 2012) IPCSIT, 2012, vol. 55.
Referencias
• La cizalladura o cortante del viento es la diferencia en la velocidad del viento o su dirección entre dos puntos en la atmósfera terrestre