CAPÍTULO 1 Conceptos de Seguridad Computcional Definición de Seguridad Computacional The NIST Computer Security Handbook define _seguridad computacional_ como sigue: SEGURIDAD COMPUTACIONAL: La protección conferida a un sistema de información automatizado con el fin de alcanzar los objetivos aplicables de la preservación de la integridad, disponibilidad y confidencialidad de la información de los recursos del sistema (incluye hardware, software, firmware, información/datos y telecomunicaciones). Esta definición introduce tres objetivos clave que son el «corazón» de la seguridad computacional: - CONFIDENCIALIDAD: Este término cubre dos conceptos relacionados: - CONFIDENCIALIDAD DE DATOS: Asegura que la información privada o confidencial no esté disponible ni sea divulgada a personas no autorizadas. - PRIVACIDAD: Asegura que los individuos que tengan control o influencia sobre la información pudean recibir y almacenar por quién y para quién debe ser revelada. - INTEGRIDAD: Este término cubre dos conceptos relacionados: - INTEGRIDAD DE DATOS: Asegura que la información y programas sean cambiados solo de una manera específica y autorizada. - INTEGRIDAD DEL SISTEMA: Asegura que un sistema realice su función prevista de una manera irreprochable, libre de manipulación no autorizada intencionada o no intencionada del sistema. - DISPONIBILIDAD: Asegura que los sistemas funcionan con prontitud y el servicio no se le niega a los usuarios autorizados. Estos tres conceptos forman parte de lo que es referenciado como la triada CIA. Los tres conceptos involucran los objetivos fundamentales de seguridad para datos, información y servicios computacionales. Por ejemplo el estándar NIST FIPS 199 los lista y los menciona. FIPS 199 provee una caracterización útil de estos tres objetivos en términos de requisitos y la definición de una pérdida de seguridad en cada categoría: - CONFIDENCIALIDAD: La preservación de las restricciones autorizadas al acceso de información y divulgación, que incluye medios para la protección de la privacidad personal e información del propietario. Una pérdida de confidencialidad es la divulgación no autorizada de información. - INTEGRIDAD: Protección contra la modificación de información inadecuada o destrucción, incluida la garantía de no repudio de la información y la autenticidad. Una pérdida de la integridad es la modificación o destrucción de información no autorizada. - DISPONIBILIDAD: Garantizar el acceso oportuno y confiable y uso de la información. Una pérdida de disponibilidad es la interrupción del acceso o uso de información o un sistema de información. Aunque el uso de la tríada de la CIA para definir los objetivos de seguridad está bien establecido, algunos en el campo de la seguridad creen que se necesitan conceptos adicionales para presentar una imagen completa. Dos de los más comúnmente mencionados son los siguientes: - AUTENTICIDAD: La propiedad de ser genuina y ser capaz de ser verificada y de confianza; confianza en la validez de una transmisión, un mensaje, o remitente del mensaje. Esto significa verificar que los usuarios son quienes dicen ser y que cada entrada de llegar al sistema provenía de una fuente de confianza. - RESPONSABILIDAD _ACCOUNTABILITY_:El objetivo de seguridad que genera la necesidad de acciones de una entidad que se debe rastrear de forma única a esa entidad. Esto apoya el no repudio, la disuasión, el aislamiento de fallos, la detección y prevención de intrusiones, y después de la acción de recuperación y la acción legal. Dado que los sistemas verdaderamente seguras no tienen todavía una meta alcanzable, hay que ser capaz de trazar una violación de seguridad a una parte responsable. Los sistemas deben llevar registros de sus actividades para permitir el análisis forenses posteriores de rastrear las brechas de seguridad o para ayudar en las disputas de transacción. Los Retos de la Seguridad Computacional La Seguridad Computacional es facinante y compleja. Algunas razones son las siguientes: 1. La seguridad computacional no es tan sencillo como podría parecer al principio. Los requisitos parecen ser sencillos; de hecho, la mayoría de los principales requisitos para los servicios de seguridad se puede dar explican por sí mismos en etiquetas de una sola palabra: confidencialidad, autenticación, no rechazo, integridad. Sin embargo, los mecanismos utilizados para cumplir con esos requisitos pueden ser bastante complejos, y la comprensión de ellos pueden implicar un razonamiento bastante sutil. 2. En particular, el desarrollo de un mecanismo de seguridad o algoritmo, hay que tener siempre en cuenta los posibles ataques a los elementos de seguridad. 3. Debido al punto 2, los procedimientos utilizados para proporcionar servicios particulares suelen ser contrario a la intuición. Por lo general, un mecanismo de seguridad es complejo, y no es obvio a partir de la declaración de un requisito particular que tales medidas son necesarias elaboradas. Es sólo cuando se consideran los diversos aspectos de la amenaza de que los mecanismos de seguridad elaborados tienen sentido. 4. Teniendo varios mecanismos de seguridad diseñados, es necesario decidir dónde utilizarlos. Esto es cierto tanto en términos de la colocación física (por ejemplo, en qué puntos de una red son ciertos mecanismos de seguridad necesarios), y en un sentido lógico [por ejemplo, en qué capa o capas de una arquitectura como TCP / IP (Transmission Control Protocol / Internet Protocol) deben ser colocados los mecanismos]. 5. Los mecanismos de seguridad suelen incluir más de un algoritmo o protocolo particular. También requieren que los participantes estén en posesión de alguna información secreta (por ejemplo, una clave de cifrado), lo que plantea cuestiones acerca de la creación, distribución y protección de la información secreta. También puede haber una dependencia de los protocolos de comunicación cuyo comportamiento puede complicar la tarea de desarrollar el mecanismo de seguridad. Por ejemplo, si el buen funcionamiento del mecanismo de seguridad requiere establecer límites de tiempo en el tiempo de tránsito de un mensaje del emisor al receptor, entonces cualquier protocolo o red que introduce variables, los retrasos imprevisibles pueden dejar a dichos plazos sin sentido. 6. La seguridad computacional es esencialmente una batalla de ingenio entre un autor que trata de encontrar agujeros y el diseñador o administrador que intenta cerrarlas. La gran ventaja de que el atacante tiene es que él o ella sólo tiene que encontrar una sola debilidad mientras que el diseñador debe encontrar y eliminar todas las debilidades para lograr una seguridad perfecta. 7. Hay una tendencia natural por parte de los usuarios y los administradores de los sistemas de percibir pocos beneficios de la inversión en seguridad hasta que se produzca un fallo en la seguridad. 8. La seguridad requiere un regular, aunque constante, monitoreo, y esto es difícil a corto plazo hoy en día, sobrecarga el entorno. 9. La seguridad es todavía demasiado a menudo una idea de último momento a ser incorporados en un sistema después de que el diseño está completo en lugar de ser una parte integral del proceso de diseño. 10. Muchos usuarios e incluso administradores de seguridad ven a la seguridad como un gran impedimento para el funcionamiento eficiente y de fácil uso de un sistema informático. Un Modelo para la Seguridad Computacional Ahora introducimos alguna terminología que será útil en todo el libro, apoyándose en el RFC 4949, _Internet Security Glossary_. - ADVERSARIO (AGENTE DE AMENAZA) _Adversary (threat agent)_: Una entidad que ataca, o es una amenaza, a un sistema. - ATAQUE _Attack_: Un asalto a la seguridad del sistema que se deriva de una amenaza inteligente; es decir, un acto inteligente que es un intento deliberado (especialmente en el sentido de un método o técnica) para evadir los servicios de seguridad y violar la política de seguridad de un sistema. - CONTRAMEDIDA _Countermeasure:_ Una acción, dispositivo, procedimiento o técnica que reduce una amenaza, una vulnerabilidad, o un ataque al eliminar o prevenirla, reduciendo al mínimo el daño que puede causar, o mediante el descubrimiento y la presentación de informes para que las medidas correctivas se pueden tomar. - RIESGO _Risk:_ Una expectativa de pérdida expresa como la probabilidad de que una amenaza en particular será aprovechar una vulnerabilidad particular, con un resultado perjudicial en particular. - POLÍTICAS DE SEGURIDAD _Security Policy:_ Un conjunto de normas y prácticas que especifican o regulan cómo un sistema u organización proporciona servicios de seguridad para proteger los recursos del sistema sensibles y críticos. - RECURSOS DEL SISTEMA (BIENES) _System Resource (Asset):_ Los datos contenidos en un sistema de información; o un servicio proporcionado por un sistema; o una capacidad de sistema, tales como la potencia de procesamiento o del ancho de banda de comunicación; o un elemento del equipo del sistema (es decir, un componente del sistema - hardware, firmware, software o documentación); o una instalación que alberga las operaciones y equipos del sistema. - AMENAZA _Threat:_ Un potencial de violación de la seguridad, que existe cuando hay una circunstancia, la capacidad, la acción o evento, que podría violar la seguridad y causar daño. Es decir, una amenaza es un posible peligro que podría aprovechar una vulnerabilidad. - VULNERABILIDAD _Vulnerability:_ Un defecto o debilidad en un diseño de sistemas, ejecución o funcionamiento y gestión que podría ser aprovechada para violar la política de seguridad del sistema.