Capitulo 14 : Ingenieria de seguridad
Lectura 1
Chapter 14 Security Engineering 1
Topicos a cubrir
§ Ingenieria de seguridad y administracion de seguridad§ Ingenieria de seguridad se preocupa de las aplicaciones;
administracion de seguridad con infraestructura.§ Evaluación de riesgos de seguridad
El diseño de un sistema basado en la evaluación de riesgos de seguridad. § Diseño para la seguridad
¿Cómo tienen que ser diseñadas las arquitecturas de sistema para la seguridad?
Chapter 14 Security Engineering 2
Ingenieria de seguridad
§ Herramientas, técnicas y métodos para apoyar el desarrollo y mantenimiento de sistemas que pueden resistir los ataques maliciosos que pretenden dañar un sistema basado en computadora o sus datos.
§ Un subcampo del campo más amplio de la seguridad informática.
§ Asume el conocimiento previo de los conceptos de confiabilidad y seguridad (Capítulo 10) y de la especificación de los requisitos de seguridad (Capítulo 12).
Chapter 14 Security Engineering 3
Seguridad de aplicaciones / infraestructura
§ La seguridad de las aplicaciones es un problema de ingeniería de software, en el que el sistema está diseñado para resistir ataques.
§ La seguridad de la infraestructura es un problema de gestión de sistemas en los que la infraestructura está configurado para resistir ataques.
§ El objetivo de este capítulo es la seguridad de aplicaciones
Chapter 14 Security Engineering 4
Capas del sistema donde la seguridad podría estar comprometida
Chapter 14 Security Engineering 5
Sistema de gestión de seguridad
§ Gestión de usuarios y permisos
Añadir y eliminar usuarios del sistema y la configuración de los permisos adecuados para los usuarios
§ Despliegue y mantenimiento de software
Instalación de software de aplicaciones y middleware, y la configuración de estos sistemas de manera que se eviten las vulnerabilidades. § Monitoreo de ataque, detección y recuperación
Control del sistema de acceso no autorizado, estrategias de diseño que resisten para los ataques y desarrollar estrategias de respaldo y recuperación.
Chapter 14 Security Engineering 6
Security risk management
§ La gestión del riesgo se refiere a la evaluación de las posibles pérdidas que pudieran derivarse de los ataques contra el sistema y el equilibrio de estas pérdidas contra los costos de los procedimientos de seguridad que pueden reducir estas pérdidas.
§ La gestión del riesgo debe ser impulsada por una política de seguridad de la organización.
§ La gestión del riesgo implica
Evaluación preliminar del riesgo
Evaluación de riesgos del ciclo de vida Evaluación del riesgo operacional
Chapter 14 Security Engineering 7
Evaluación preliminar del riesgo
Chapter 14 Security Engineering 8
Casos de mal uso
§ Casos de mal uso son los casos de amenazas a un sistema
§ Amenazas de interceptación
El atacante obtiene acceso a un activo
§ Amenazas de interrupción El atacante se hace parte de un sistema disponible
§ Amenazas de modificación Un sistema activo es manipulado indebidamente
§ Amenazas de Fabricación
La información falsa se añade a un sistemaChapter 14 Security Engineering 9
Análisis de activos
Chapter 14 Security Engineering 10
Activo Valor Exposición
Sistema de informacion Alta. Requerido para admitirtodas las consultas clínicas. Potencialmente seguridadcrítica.
Alta. La pérdida financiera comoclínicas puede tener que sercancelada. Los costos derestauración del sistema. Posibledaño al paciente si el tratamientono puede ser prescrito.
La base de datos del paciente Alta. Requerido para admitirtodas las consultas clínicas. Potencialmente seguridadcrítica.
Alta. La pérdida financiera comoclínicas puede tener que sercancelada. Los costos derestauración del sistema. Posibledaño al paciente si el tratamientono puede ser prescrito.
Un registro de cada paciente Normalmente baja, aunquepuede ser alta para lospacientes de alto perfilespecíficos.tica.
Bajas pérdidas directas sino unaposible pérdida de reputación.
Análisis de las amenazas y el control
Chapter 14 Security Engineering 11
Threat Probability Control Feasibility
Un usuario noautorizado tengaacceso comoadministrador delsistema y hace que elsistema no estádisponible
Bajo Sólo permitirá la gestión del sistema desde ubicaciones específicas que son físicamente seguro.
Bajo coste de aplicación pero se debe tener cuidado con la distribución de claves y para asegurar que las claves están disponibles en el caso de una emergencia.
Un usuario noautorizado tengaacceso como usuariodel sistema y tieneacceso a informaciónconfidencial
Alto Requerir que todos losusuarios se autentiquenmediante unmecanismo biométrico.
Registrar todos loscambios en lainformación delpaciente para realizarun seguimiento del usodel sistema.
Técnicamente posible, pero la solución de alto costo. Resistencia posible al usuario.
Simple y transparente para implementar y también es compatible con la recuperación.
Requerimientos de seguridad
§ La información del paciente se debe descargar en el inicio de una sesión clínica a una zona segura en el sistema del cliente que se utiliza por el personal clínico.
§ La información del paciente no debe mantenerse en los sistema del clientes después de que una sesión clínica ha terminado.
§ Un registro en un equipo independiente del servidor de base de datos debe ser mantenido de todos los cambios realizados en la base de datos del sistema.
Chapter 14 Security Engineering 12
Evaluación de riesgos del ciclo de vida.
§ EVALUACIÓN DEL RIESGO mientras el sistema está siendo desarrollado y después de que se ha desplegado
§ La información esta disponible en la plataforma del sistema, middleware y la arquitectura del sistema y organización de datos.
§ Por lo tanto, las vulnerabilidades que surgen de las opciones de diseño pueden ser identificados.
Chapter 14 Security Engineering 13
Analisis de riesgo del ciclo de vida
Chapter 14 Security Engineering 14
Las decisiones de diseño de uso de inicio de sesión
§ Los usuarios del sistema autenticados con una combinación de nombre / contraseña.
§ La arquitectura del sistema es cliente-servidor con los clientes que acceden al sistema a través de un navegador web estándar.
§ La información se presenta como un formulario web editable.
Chapter 14 Security Engineering 15
Las vulnerabilidades asociadas con las opciones tecnológicas
Chapter 14 Security Engineering 16
Requerimientos de seguridad
§ Un inspector de la contraseña se pondrá a disposición y se hará funcionar a diario. Las contraseñas débiles se comunicarán a los administradores de sistemas.
§ El acceso al sistema sólo será posible mediante equipos del cliente aprobado.
§ Todos los equipos cliente deben tener un solo navegador web, aprobado e instalado por los administradores de sistemas.
Chapter 14 Security Engineering 17
Evaluación del riesgo operacional
§ Continuación de la evaluación de riesgos del ciclo de vida, pero con información adicional sobre el entorno en el que se utiliza el sistema.
§ Características del entorno pueden dar lugar a nuevos riesgos del sistema
Riesgo de medios de interrupción que registran en los ordenadores se quedan sin atención.
Chapter 14 Security Engineering 18
Diseño para la seguridad
§ Diseño arquitectónico
cómo las decisiones de diseño arquitectónico afectan a la seguridad de un sistema?
§ Buenas prácticas
lo que es aceptado de buenas prácticas en el diseño de los sistemas de seguridad?
§ Diseño para el despliegue qué tipo de apoyo debe ser diseñado en un sistema para evitar la introducción de vulnerabilidades cuando un sistema se despliega para su uso?
Chapter 14 Security Engineering 19
El diseño arquitectónico.
§ Dos cuestiones fundamentales tienen que ser considerados en el diseño de una arquitectura para la seguridad.
protección ¿Cómo organizar el sistema para que los activos críticos pueden ser protegidos contra el ataque externo?
distribución ¿Cómo deben distribuirse de manera que se reduzcan al mínimo los efectos de un ataque con éxito los activos del sistema? § Estos son potencialmente conflictivos Si se distribuyen activos, a continuación, que son más caros para proteger. Si los activos están protegidos, entonces los requisitos de usabilidad y el rendimiento puede verse comprometido
Chapter 14 Security Engineering 20
Proteccion
§ La protección a nivel de plataforma
Controles de nivel superior en la plataforma en la que un sistema funciona.
§ La protección a nivel de aplicación
Mecanismos de protección específicos integrados en la propia aplicación, por ejemplo protección de contraseña adicional.
§ La protección a nivel de registro
Protección que se invoca cuando se solicite el acceso a la información específica
§ Estas situaciones conducen a una arquitectura de protección por capas
Chapter 14 Security Engineering 21
A layered protection architecture
Chapter 14 Security Engineering 22
Distribucion
§ La distribución de activos significa que los ataques contra un sistema no conducen necesariamente a la pérdida completa de servicio del sistema
§ Cada plataforma tiene características de protección distintas y puede ser diferente de otras plataformas para que no comparten una vulnerabilidad común
§ La distribución es particularmente importante si el riesgo de ataques de denegación de servicio es alto
Chapter 14 Security Engineering 23
Distributed assets in an equity trading system
Chapter 14 Security Engineering 24
Puntos clave
§ Ingeniería de seguridad tiene que ver con la forma de desarrollar los sistemas que pueden resistir los ataques maliciosos
§ Las amenazas de seguridad pueden ser amenazas para la confidencialidad, la integridad o la disponibilidad de un sistema o sus datos
§ La gestión de riesgos de seguridad se refiere a la evaluación de las posibles pérdidas derivadas de los ataques y la obtención de los requisitos de seguridad para minimizar las pérdidas
§ Diseño para la seguridad implica el diseño arquitectónico, siguiendo las buenas prácticas de diseño y minimizar la introducción de las vulnerabilidades del sistema
Chapter 14 Security Engineering 25
Capitulo 14 : Ingenieria de seguridad
Lectura 2
Chapter 14 Security Engineering 26
Los temas tratados
§ Directrices de diseño para la seguridad
Las directrices que le ayudan a diseñar un sistema seguro § Diseño para el despliegue
Diseño para que los problemas de implementación que pueden introducir vulnerabilidades se reducen al mínimo § Supervivencia del sistema
Deje que el sistema para prestar servicios esenciales en caso de ataque
Chapter 14 Security Engineering 27
Directrices de diseño para la ingeniería de la seguridad
§ Pautas para el diseño incluye buenas prácticas en el diseño de sistemas seguros
§ Directrices de diseño sirven para dos propósitos:
Plantean conciencia de las cuestiones de seguridad en un equipo de la ingeniería de software. Seguridad se considera cuando se toman las decisiones de diseño.
Se pueden utilizar como la base de una lista de control de revisión que se aplica durante el proceso de validación del sistema.
§ Pautas para el diseño aquí son aplicables durante la especificación y diseño de software
Chapter 14 Security Engineering 28
Directrices de diseño para la ingeniería de sistemas seguros
Security guidelines
Base security decisions on an explicit security policy
Avoid a single point of failure
Fail securely
Balance security and usability
Log user actions
Use redundancy and diversity to reduce risk
Validate all inputs
Compartmentalize your assets
Design for deployment
Design for recoverability
Chapter 14 Security Engineering 29
Pautas para el diseño 1-3
§ Basar las decisiones en una política de seguridad explícita
Definir una política de seguridad para la organización que establece los requisitos de seguridad fundamentales que deberían aplicarse a todos los sistemas de la organización.
§ Evite un único punto de fallo
Asegúrese de que un fallo de seguridad sólo puede resultar cuando hay más de un fallo en los procedimientos de seguridad. Por ejemplo, tener la contraseña y la autenticación con preguntas.
§ falla segura
Cuando los sistemas fallan, por cualquier motivo, asegúrese de que la información sensible no se puede acceder por los usuarios no autorizados, incluso aunque los procedimientos normales de seguridad no están disponibles
Chapter 14 Security Engineering 30
Pautas para el diseño 4-6
§ Seguridad Balance y usabilidad
Trate de evitar los procedimientos de seguridad que hacen que el sistema sea difícil de usar. A veces hay que aceptar de seguridad más débil para hacer el sistema más fácil de usar.
§ Entrar acciones del usuario
Mantener un registro de las acciones de los usuarios que se pueden analizar para descubrir quién hizo qué. Si los usuarios saben acerca de un registro de este tipo, que son menos propensos a comportarse de una manera irresponsable.
§ Utilice la redundancia y diversidad para reducir el riesgo
Mantener varias copias de los datos y el uso de infraestructura diversa para que una vulnerabilidad de la infraestructura no puede ser el punto único de fallo
Chapter 14 Security Engineering 31
Pautas para el diseño 7-10
§ Validar todas las entradas
Compruebe que todas las entradas están dentro del rango de forma que las entradas inesperadas no pueden causar problemas.
§ Compartimentar sus activos
Organizar el sistema de modo que los activos están en áreas separadas y los usuarios sólo tendrán acceso a la información que necesitan en lugar de toda la información del sistema.
§ Diseño para el despliegue
Diseñar el sistema para evitar problemas de implementación
§ Diseño para la recuperación
Diseñar el sistema para simplificar la recuperación después de un ataque con éxito
Chapter 14 Security Engineering 32
Diseño para el despliegue
§ Despliegue implica configurar el software para funcionar en su entorno de trabajo, la instalación del sistema y configurarlo para la plataforma operativa.
§ Las vulnerabilidades se pueden introducir en esta etapa, como resultado de errores de configuración.
§ El diseño de soporte de implementación en el sistema puede reducir la probabilidad de que se introducirán las vulnerabilidades.
Chapter 14 Security Engineering 33
Software deployment
Chapter 14 Security Engineering 34
Vulnerabilidades de configuración
§ Configuración predeterminada Vulnerables
Los atacantes pueden conocer los valores predeterminados de software. Si éstos son débiles (a menudo para aumentar la facilidad de uso), entonces pueden ser explotadas por usuarios al atacar un sistema. § Desarrollo en lugar de despliegue
Algunas opciones de configuración en los sistemas están diseñados para apoyar el desarrollo y la depuración. Si estos no están apagados, pueden ser una vulnerabilidad que puede ser explotada por atacantes.
Chapter 14 Security Engineering 35
Apoyo al Despliegue 1
§ Incluye soporte para la visualización y el análisis de las configuraciones
Asegúrese de que el administrador del sistema responsable de la implementación se puede ver fácilmente toda la configuración. Esto hace que sea más fácil de detectar omisiones y errores que se han hecho.
§ Minimizar privilegios predeterminados y así limitar los daños que puedan causarse
Diseñar el sistema de modo que se reduzcan al mínimo los privilegios por defecto para un administrador. Esto significa que si alguien obtiene acceso de administrador, que no tienen acceso inmediato a las características del sistema.
Chapter 14 Security Engineering 36
Apoyo al Despliegue 2
§ Localizar los valores de configuración
Cuando la creación de un sistema, toda la información que sea relevante para la misma pieza o componente de un sistema debe ser localizado para que esté todo listo a la vez. De lo contrario, es fácil olvidarse de configurar las funciones de seguridad relacionadas.
§ Proporcionar maneras fáciles de arreglar vulnerabilidades de seguridad
Cuando se detectan problemas, proporcionar formas sencillas, tales como la actualización automática, para reparar las vulnerabilidades de seguridad en los sistemas implementados.
Chapter 14 Security Engineering 37
Supervivencia del sistema
§ La supervivencia es una propiedad del sistema emergente que refleja la capacidad de los sistemas para prestar servicios esenciales, si bien es objeto de ataques o después parte del sistema se ha dañado
§ Análisis y diseño de supervivencia deben ser parte del proceso de ingeniería de la seguridad
Chapter 14 Security Engineering 38
Importancia de supervivencia
§ Nuestra vida económica y social dependen de los sistemas informáticos
Las infraestructuras críticas - electricidad, gas, telecomunicaciones, transporte
Salud
gobierno
§ La pérdida de los sistemas de negocio, incluso para un corto período de tiempo puede tener efectos económicos muy graves
Sistemas de reserva de las aerolíneas
Sistemas de comercio electrónico
Los sistemas de pago
Chapter 14 Security Engineering 39
La disponibilidad del servicio
§ ¿Qué servicios de sistema son los más críticos para un negocio?
§ ¿Cómo podrían ser comprometidas estos servicios? § ¿Cuál es la calidad mínima de servicio que se debe
mantener? § ¿Cómo se pueden proteger estos servicios? § Si un servicio no está disponible, la rapidez con que
puede ser recuperado?
Chapter 14 Security Engineering 40
Estrategias de supervivencia
§ Resistencia Evitar problemas mediante la construcción de capacidades en el sistema para resistir los ataques § reconocimiento La detección de problemas mediante la construcción de capacidades en el sistema para detectar ataques ya los fallos y evaluar el daño resultante § recuperación Tolerar problemas mediante la construcción de capacidades en el sistema para prestar servicios, mientras que bajo el ataque
Chapter 14 Security Engineering 41
Stages in survivability analysis
Chapter 14 Security Engineering 42
Las principales actividades
§ Comprensión del sistema Golas de revisión, los requisitos y la arquitectura § Identificación del servicio crítico Identificar los servicios que deben mantenerse § Simulación de ataque Elaborar escenarios de ataque e identificar los componentes afectados § El análisis de supervivencia Identificar las estrategias de supervivencia que se aplicará
Chapter 14 Security Engineering 43
Supervivencia del sistema de comercio
§ Las cuentas de usuario y los precios de las acciones replican en los servidores por lo que algunas disposiciones para la supervivencia hacen
§ Capacidad clave para mantenerse es la capacidad de hacer pedidos para la acción
§ Las órdenes deben ser precisos y reflejan las ventas reales / compras realizadas por un operador
Chapter 14 Security Engineering 44
Survivable ordering service
§ El servicio crítico que debe sobrevivir es la capacidad para que los usuarios autorizados a hacer pedidos para la acción
§ Esto requiere de 3 componentes del sistema que esté disponible y la fiabilidad de funcionamiento:
La autenticación de usuarios, lo que permite a los usuarios autorizados a conectarse al sistema
Precio de cotización, permitiendo que los precios de compra y venta que se citan
Colocación de la orden, lo que permite órdenes de compra y venta que se hizo
Chapter 14 Security Engineering 45
Posibles ataques
§ Usuario malicioso se hace pasar por un usuario legítimo y realiza pedidos maliciosos de la acción, con el objetivo de causar problemas para el usuario legítimo
§ Un usuario no autorizado corrompe la base de datos de transacciones que de este modo la conciliación de las ventas y compras imposibles
Chapter 14 Security Engineering 46
Survivability analysis in an equity trading system
Attack Resistance Recognition Recovery
Unauthorized user places malicious orders
Require a dealing password that is different from the login password to place orders.
Send copy of order by e-mail to authorized user with contact phone number (so that they can detect malicious orders).Maintain user’s order history and check for unusual trading patterns.
Provide mechanism to automatically ‘undo’ trades and restore user accounts.Refund users for losses that are due to malicious trading. Insure against consequential losses.
Corruption of transactions database
Require privileged users to be authorized using a stronger authentication mechanism, such as digital certificates.
Maintain read-only copies of transactions for an office on an international server. Periodically compare transactions to check for corruption.Maintain cryptographic checksum with all transaction records to detect corruption.
Recover database from backup copies.Provide a mechanism to replay trades from a specified time to re-create the transactions database.
47
Puntos clave
§ Guía de seguridad general sensibilizar a los diseñadores a los problemas de seguridad y sirven como listas de control de revisión
§ La visualización de configuración, la configuración de localización, y la minimización de los privilegios predeterminados ayudan a reducir los errores de implementación
§ Supervivencia del sistema refleja la capacidad de un sistema para prestar servicios, mientras que bajo el ataque o después parte del sistema ha sido dañada.
Chapter 14 Security Engineering 48