Publicidad

Tema 3. Arquitectura y diseño de seguridad

Profesor en FCA, UNAM
27 de Oct de 2020
Publicidad

Más contenido relacionado

Publicidad
Publicidad

Tema 3. Arquitectura y diseño de seguridad

  1. Seguridad Inform´atica Tema 3. Arquitectura y dise˜no de seguridad Francisco Medina L´opez – paco.medina@comunidad.unam.mx Facultad de Contadur´ıa y Administraci´on Universidad Nacional Aut´onoma de M´exico 2021-1
  2. Temario 1 Arquitectura de Computadoras 2 Mecanismos de protecci´on 3 Modos de seguridad 4 Modelos de seguridad 5 Gu´ıas de Evaluaci´on 6 Certificaci´on y Acreditaci´on
  3. Temario 1 Arquitectura de Computadoras 2 Mecanismos de protecci´on 3 Modos de seguridad 4 Modelos de seguridad 5 Gu´ıas de Evaluaci´on 6 Certificaci´on y Acreditaci´on
  4. Arquitectura y Sistema de C´omputo Arquitectura de Computadoras Disciplina de la Ingenier´ıa, relacionada con el dise˜no y la construcci´on de sistemas de c´omputo a nivel l´ogico. Arquitectura de C´omputo Comprende la estructura de un sistema de c´omputo. Sistema de C´omputo Conjunto formado por hardware, firmware, software, medios de almacenamiento, datos o informaci´on y personas involucradas.
  5. Arquitectura de Computadoras La Arquitectura de Computadoras comprende todas y cada una de las partes necesarias para que un sistema de computo funcione, esto incluye: • Sistema Operativo • Chips de Memoria • Circuitos • Discos Duros • Componentes de Seguridad • Conexiones Bus • Componentes de Red • Etc.
  6. Hardware, Firmware y Software
  7. Hardware Definici´on Conjunto de componentes tangibles (o f´ısicos) de una computadora. 1 Componentes principales de la plataforma de hardware en la Arquitectura de Computadoras: • CPU (Unidad Central de Procesamiento) • Memoria • Bus de conexiones • Dispositivos de Entrada/ Salida (I/O) • Dispositivos de Almacenamiento 1 http://www.carlospes.com/minidiccionario/hardware.php
  8. CPU Unidad Central de Proceso (CPU) Tambi´en conocido como procesador, es el componente en una computadora digital que interpreta las instrucciones y procesa los datos contenidos en los programas de la computadora. 2 Contiene: 1 Almacenamiento primario (Registros) 2 Unidad de Control (UC) 3 Unidad de Aritm´etico L´ogica (ALU) 4 Unidad de Administraci´on de Memoria (MMU) 2 http://es.wikipedia.org/wiki/Unidad_central_de_procesamiento
  9. Componentes principales del CPU 1 Almacenamiento primario • Registros3 que almacenan instrucciones y datos que van a ser procesados 2 Unidad de Control • Coordina la actividad durante la ejecuci´on de instrucciones de un programa • No procesa datos, solo controla los procesos que se est´an ejecutando 3 Unidad de Aritm´etico L´ogica • Realiza operaciones matem´aticas y l´ogicas 4 Unidad de Administraci´on de Memoria • Manipula direcciones y cat´alogos de datos almacenados en memoria adem´as de convertir las direcciones l´ogicas en f´ısicas 3 Memoria intermedia
  10. Estructura interna de un Procesador UC (Unidad de Control): La Unidad de Control es la encargada de gestionar y controlar el correcto funcionamiento de la Unidad de Proceso, indicando cuando una instrucci´on debe ser enviada al procesador. La UC no procesa datos, tan solo act´ua como agente de tr´ansito. UP (Unidad de Proceso): Formada por componentes tales como: la ALU, Registros, y buses. ALU (Unidad Aritm´etico-L´ogica): Encargada de llevar a cabo funciones matem´aticas y operaciones l´ogicas. Registros: Almacenan datos durante cierto tiempo, dentro la CPU. Bus: Conjunto de circuitos y conectores ”Podr´ıamos decir que la ALU es el cerebro del procesador, y el procesador el cerebro de la computadora.”
  11. Ciclo de Ejecuci´on de una Instrucci´on La operaci´on de un procesador consiste b´asicamente en dos fases: obtener (fetch) y ejecutar (execute). • Durante la fase de obtenci´on, la CPU localiza y recupera las instrucciones de memoria. • Durante la fase de ejecuci´on, la CPU decodifica y ejecuta las instrucciones. Estas dos fases componen lo que se llama ciclo de reloj (clock singals). • A los programas ejecutados por el procesador se llaman procesos.
  12. Estados del procesador La CPU, se encuentra siempre en alguno de los siguientes estados principales: • User State En este estado, solo pueden ser ejecutadas instrucciones no- privilegiadas. • Supervisor State / Privileged Mode En este estado, pueden ser ejecutadas tanto instrucciones no-privilegiadas como privilegiadas.
  13. Procesos Definic´on Un proceso b´asicamente un programa en ejecuci´on, el cual se encuentra compuesto de c´odigo ejecutable, datos e informaci´on relativa su ejecuci´on. • Un proceso trabaja en su propio espacio de direcciones y puede comunicarse con otros procesos, solo a trav´es de pasos autorizados por el sistema operativo. • Los “estados de un proceso” no es lo mismo que los “estados de la CPU”. Mientras que los “estados de la CPU” define el modo operativo de la CPU, los “estados de un proceso” se refiere al modo en que los procesos se encuentran corriendo dentro de esta. • El estado de los procesos o “Process State”, es particular de cada sistema operativo. Ready, Waiting, Running y Stopped son solo algunos de los estados mas com´unmente encontrados.
  14. Estados de un proceso • Listo • El proceso esta disponible para ser utilizado y a la espera de una instrucci´on. • En espera • El proceso esta listo para continuar con su ejecuci´on, pero se encuentra a la espera de un dispositivo u otro tipo de requerimiento. • En ejecuci´on • Las instrucciones del proceso est´an siendo ejecutadas por la CPU • Detenido • El proceso se encuentra detenido.
  15. Estados de un proceso
  16. M´etodos de Mejora de Procesamiento I • Complex-Instruction-Set-Computing (CISC): Utiliza un conjunto de instrucciones que permiten realizar m´ultiples operaciones por intrucci´on (Intel y AMD). • Reduced-Instruction-Set-Computing (RISC): Utiliza instrucciones mas simples que requieren menos ciclo de procesamiento para ser ejecutadas (Power PC, Motorola y SPARC). Cuando se ejecuta un programa dif´ıcil, o extenso, los CISC son m´as r´apidos y eficaces que los RISC. En cambio cuando se tiene en ejecuci´on un conjunto de instrucciones sencillas, cortas y simples, los RISC son m´as r´apidos. • Scalar Processor: Procesador que ejecuta una instrucci´on por vez.
  17. M´etodos de Mejora de Procesamiento II • Superscalar Processor: Procesador que permite la ejecuci´on de varias instrucciones en la misma etapa del pipeline, como as´ı tambi´en en diferentes etapas de pipeline. (IBM RS/6000) • Multitasking: Ejecuci´on de dos o mas tareas al mismo tiempo utilizando un solo CPU. Coordinado por el SO (Sistemas operativos tipo Windows, GNU/Linux) • Multiprogramming: Ejecuci´on simult´anea de dos o m´as programas utilizando un solo CPU. • A diferencia de lo que ocurre con Multitasking, cuya implementaci´on suele encontrarse en sistemas operativos de PC tales como Linux y Windows, Multiprogramming suele encontrarse generalmente en mainframes o sistemas legacy.4 • Multitasking es normalmente coordinado por el sistema operativo, mientras que Multiprogramming requiere que el software se encuentre especialmente escrito para coordinar sus propias acciones a trav´es del sistema operativo.
  18. M´etodos de Mejora de Procesamiento III • Multiprocessing: Ejecuci´on simult´anea de dos o m´as programas en m´ultiples CPUs. • SMP (Symmetric Multiprocessing) Una computadora, con mas de un procesador, controlado por un solo sistema operativo (Bus de Datos y Memoria Compartidos). • MPP (Massively Parallel Processing) Cientos o miles de procesadores, cada uno de los cuales utiliza su propio juego de recursos (sistema operativo, bus de datos y memoria). • Multithreading: Ejecuci´on de m´ultiples tareas al mismo tiempo utilizando un solo CPU. A diferencia de lo que ocurre con Multitasking donde las diferentes tareas ocupan diferentes “procesos”, Multithreading permite ejecutar varias tareas en un solo “proceso”. • Un ejemplo de Multithreading, sea cuando abrimos varios documentos de Word, lo cual no genera m´ultiples instancias de Word, precisamente porque todas ellas corren en un solo proceso utilizando diferentes hilos. 4 Un sistema heredado (o sistema legacy) es un sistema inform´atico (equipos inform´aticos y/o aplicaciones) que ha quedado anticuado pero contin´ua siendo utilizado por el usuario (t´ıpicamente una organizaci´on o empresa) y no se quiere o no se puede reemplazar o actualizar de forma sencilla.
  19. Procesos vs Hilos Un proceso es un programa en ejecuci´on que posee su propio espacio de trabajo, y solo puede comunicarse con otro proceso de modo controlado. Un Thread en cambio, representa una pieza de c´odigo que esta siendo ejecutada dentro de un proceso. • Un proceso puede incluir uno o mas Threads.
  20. Memorias • Cache • Flash Memory • RAM (Random Access Memory) • Dynamic Random Access Memory (DRAM) • Extended Data Output RAM (EDO RAM) • Synchronous DRAM (SDRAM) • Double Data Rate SDRAM (DDR SDRAM) • Burst Extended Data Output DRAM (BEDO DRAM) • ROM (Read Only Memory) • Programmable Read Only Memory (PROM) • Erasable Programmable Read-Only Memory (EPROM) • Electrically Erasable Programmable Read-Only Memory • (EEPROM)
  21. Memorias (2) • Memoria Primaria (Real Memory – Primary Storage) Directamente accesible por la CPU y frecuentemente utilizada al momento de almacenar datos e instrucciones asociados con el programa que se encuentra en ejecuci´on. Generalmente RAM. • Memoria Secundaria (Secondary Storage) Almacenamiento no vol´atil, mas lento que la memoria primaria. Ejemplo: Discos Duros, CDs, DVDs, Floppys. • Memoria Virtual (Virtual Memory – Virtual Storage) Combinaci´on de memoria primaria y secundaria. Define un ´unico espacio de direccionamiento. Habilidad para extender el tama˜no aparente de la memoria RAM usando parte del disco r´ıgido. (Swapping / Paging)
  22. Jerarqu´ıa de acceso a memoria
  23. Direccionamiento de Memoria • Cuando se utilizan recursos de memoria, el procesador debe tener alguna forma de referirse a los diferentes lugares existentes dentro de ella. La soluci´on a este problema, se conoce como “Direccionamiento” por su termino en ingles “Addressing”. • Tipos: • Por Registro (Register Addressing) • Directo (Direct Addressing) • Absoluto (Absolute Addressing) • Indexado (Indexed Addressing) • Impl´ıcito (Implied Addressing) • Indirecto (Indirect Addressing)
  24. Protecci´on de Memoria • Previene el acceso de un programa al espacio de memoria reservado para otro programa • Se implanta a nivel de sistema operativo o hardware
  25. Estructura de E/S • Input/Output (I/O) interface adapters: Permiten la comunicaci´on entre el procesador y los dispositivos externos • Memory-Mapped I/O: Se otorga una direcci´on de memoria “central” al dispositivo • Isolated I/O: Una se˜nal especial en el bus de comunicaci´on indica la ejecuci´on de una operaci´on de I/O. No utiliza memoria “central” • Direct Memory Access (DMA): Data es transferida en forma directa desde y hacia la memoria, no requiere del CPU • Interrupt Processing: Una se˜nal externa interrumpe el flujo normal del programa para requerir servicio
  26. Bus • Bus: Circuitos impresos (o bien cables) que transmiten los datos del procesador. • de transmisi´on de datos: l´ıneas f´ısicas por d´onde circulan los datos que se han le´ıdo o que se van a escribir (entrada/salida). • de direcciones: l´ıneas f´ısicas por d´onde circulan las direcciones de memoria desde d´onde se leer´an (entrada), o se escribir´an (salida), los datos. • de control: l´ıneas f´ısicas por d´onde circulan las ´ordenes de control (entrada/salida).
  27. Firmware Definci´on Instrucciones grabadas en una memoria de tipo no vol´atil (ROM, EEPROM, flash,...), que establece la l´ogica de m´as bajo nivel que controla los circuitos electr´onicos de un dispositivo de cualquier tipo. Al estar integrado en la electr´onica del dispositivo es en parte hardware, pero tambi´en es software, ya que proporciona l´ogica y se dispone en alg´un tipo de lenguaje de programaci´on. 5 5 http://www.carlospes.com/minidiccionario/software.php
  28. Software Definici´on Conjunto de programas y datos con los que trabaja una computadora el cual es inmaterial (o l´ogico).6 Clasificaci´on del Software 1 Programas de sistema (software de sistema):controlan la operaci´on de la computadora. • Compiladores • Sistema Operativo 2 Programas de aplicaci´on (software de aplicaci´on): resuelven problemas para los usuarios. • RDBMS • Sistemas • Juegos 6 http://www.carlospes.com/minidiccionario/software.php
  29. Sistema Operativo Sirve de intermediario (interfaz) entre los programas y la computadora. Se puede definir de dos formas ligadas a sus objetivos.
  30. Sistema Operativo (II) Todo sistema operativo persigue dos objetivos principales: • Controlar el uso de los sistemas y recursos. • Proveer de una interfaz entre usuario y computador (m´aquina extendida) Como administrador de recursos Es el encargado de proporcionar una asignaci´on ordenada y controlada de los recursos (CPU, memoria y disco) para los varios programas que compiten por ellos. Como m´aquina extendida Es el encargado de presentar al usuario el equivalente de un m´aquina virtual o extendida que sea m´as f´acil de programar que el hardware subyacente.
  31. Sistemas Abiertos y Cerrados (II) Sistema Abierto Aquel sistema independiente del fabricante que cumple con ciertos est´andares p´ublicos y generalmente aceptados. • Promueven la interoperabilidad y compatibilidad entre sistemas y componentes fabricados por distintos fabricantes. • Pueden ser evaluados de manera independiente. Sistema Cerrado Aquel que usa hardware/software propietario que puede o no ser compatible con otros sistemas o componentes. • El c´odigo fuente de los programas generalmente no esta a disposici´on del p´ublico.
  32. Temario 1 Arquitectura de Computadoras 2 Mecanismos de protecci´on 3 Modos de seguridad 4 Modelos de seguridad 5 Gu´ıas de Evaluaci´on 6 Certificaci´on y Acreditaci´on
  33. Mecanismos de protecci´on 1 Trusted Computing Base (TCB) 2 Monitor de Referencia 3 Kernel de Seguridad 4 Anillos de protecci´on 5 Capas (Layerig) 6 Data Hiding
  34. Trusted Computing Base (TCB) Definici´on Base segura o fiable de c´omputo (TCB)7 es la combinaci´on de todos los mecanismos de protecci´on en un sistema de c´omputo, incluyendo hardware, firmware y software, responsables de aplicar una pol´ıtica de seguridad8. 7 Termino acu˜nado en el libro naranja formalmente conocido como (Trusted Computer System Evaluation Criteria (TCSEC)) 8 http://www.rediris.es/cert/doc/unixsec/node36.html
  35. Monitor de Referencia Definici´on • Es un modelo abstracto que define las reglas de acceso de un sujeto a un objeto. • Controla el acceso de sujetos (Subject, Sujeto, Asunto, Personas) a recursos (Object, Objeto, Informaci´on). • Concepto abstracto, implementado en la kernel de seguridad (Security Kernel).
  36. Kernel de Seguridad Definici´on Parte del TCB que implementa y asegura el concepto del Monitor de Referencia. Se compone de hardware, firmware y software. • Analiza todos los intentos de acceso de los sujetos a los objetos • Es responsable por mediar entre los accesos de sujetos a objetos. Pequerimientos para el Kernel Seguro • Aislamiento del proceso. • Intermediario. Imposible de esquivar. • De funcionamiento verificable. • Peque˜no para ser verificado en su totalidad en forma confiable. Enlace
  37. Kernel Seguro
  38. Anillos de protecci´on Protection Domain Conjunto de objetos que un sujeto es capaz de acceder. Los dominios deben ser identificados, separados y asegurados. Security Perimeter L´ınea que separa el TCB del resto del sistema (Todos los elementos que se encuentra m´as all´a del control de TCB se los denomina externos al per´ımetro de seguridad). Resource Isolation Principio que dicta que sujetos, objetos y controles deben encontrarse correctamente aislados unos de otros. Requerimiento b´asico de toda arquitectura y modelo de seguridad.
  39. Anillos de protecci´on • Se organizan con el dominio mas privilegiado localizado en el anillo del centro y el de menor privilegio en el anillo mas alejado del mismo. • En el anillo 0 usualmente se encuentra el “Kernel” del sistema operativo. • Un sujeto en el anillo 3, no puede acceder directamente un objeto situado en el anillo 1, pero un sujeto en el anillo 1 si puede acceder directamente un objeto situado en el anillo 3. • Las entidades, solo pueden acceder objetos dentro de su propio anillo o a uno superior.
  40. Anillos de protecci´on (2) • Anillo 0: Kernel/Memoria (Componentes Residentes) • Anillo 1: Otros componentes del sistema operativo • Anillo 2: Controladores, Protocoles, etc • Anillo 3: Programas y Aplicaciones de Nivel Usuario • Anillo 0-2: Modo supervisor o protegido • Anillo 3 Se ejecuta en modo usuario
  41. Layering
  42. Data Hiding • Importante caracter´ıstica de la seguridad multinivel. • Este principio asegura que los datos existentes en un nivel de seguridad, no son visibles a procesos que se ejecutan en un nivel diferente. • El concepto clave detr´as de Data Hiding, es el de asegurar que quienes no tengan Need-to-Know respecto del detalle involucrado en el acceso y procesamiento de datos en un determinado nivel, no tenga forma de deducir, observar u aprender el mismo.
  43. Temario 1 Arquitectura de Computadoras 2 Mecanismos de protecci´on 3 Modos de seguridad 4 Modelos de seguridad 5 Gu´ıas de Evaluaci´on 6 Certificaci´on y Acreditaci´on
  44. Modos de seguridad • El gobierno de los EEUU ha designado cuatro modos de seguridad a partir de los cuales puede ser posible procesar informaci´on clasificada. 1 Modo de Seguridad Dedicado 2 System High Security Mode 3 Multi-Level Security Mode (MLS) 4 Comportmentalized Security Mode (Partitioned) • El modo de operaci´on, describe las condiciones de seguridad bajo las cuales el sistema realmente debe funcionar. • Un sistema puede operar en diferentes modos, dependiendo de la sensibilidad de los datos que ser´an procesados. • El nivel o modo de seguridad de computo requerido en un sistema, depende de la evaluaci´on del riesgo y la naturaleza del entorno.
  45. Necesidad de saber Definici´on Need to Know Access (Otorgar acceso solo a lo necesario) es un esquema de autorizaci´on de acceso, en el cual los derechos de acceso a un objeto por parte de un sujeto, son otorgados tomando en consideraci´on, no solo el nivel de privilegio que el mismo posee, sino tambi´en la relevancia del dato involucrado en la tarea que el sujeto debe realizar. • Necesidad de saber indica que el sujeto requiere acceso al objeto a fin de poder realizar su trabajo. • Aun teniendo el nivel de privilegio adecuado, quienes no tengan Necesidad de saber, no deben ser capaces de acceder el objeto en cuesti´on.
  46. Necesidad de Saber
  47. Modo de Seguridad Dedicado Definici´on Todos los usuarios est´an autorizados y tienen “necesidad de saber’. • Muchos sistemas militares han sido dise˜nados para manejar un nivel de seguridad en modo dedicado. • En este modelo, cada uno de los usuarios que acceden al sistema debe poseer un alto nivel de autorizaci´on(clearance). • Si un sistema maneja informaci´on clasificada como TOP SECRET, solo usuarios con este nivel de autorizaci´on podr´an acceder el mismo.
  48. System High Security Mode Definici´on Todos los usuarios del sistema tienen permitido y aprobado la posibilidad de ver la informaci´on dentro del sistema, pero no necesariamente necesitan conocer la misma (t´ıpicamente militar). • Todos los usuarios tienen “necesidad de saber” sobre ALGUNOS de los datos. • Al igual que en el modelo anterior, en este cada uno de los usuarios que acceden al sistema debe poseer un alto nivel de autorizaci´on, sin embargo un usuario puede tener acceso restringido a informaci´on para la cual no tiene “necesidad de saber”.
  49. Multi-Level Security Mode (MLS) Definici´on Este modo de operaci´on, permite que dos o mas niveles de clasificaci´on, sean utilizados en forma simultanea. • No todo el personal que tiene acceso al sistema tiene la aprobaci´on ni la necesidad de conocer para toda la informaci´on dentro del sistema.
  50. Compartmentalized Security Mode (Partitioned) Definici´on Todos los usuarios tienen autorizaci´on respecto a la totalidad de la informaci´on procesada por el sistema, pero no todos tienen la necesidad de saber. • En este modo, se establecen restricciones de acceso a los usuarios, sobre la porci´on de informaci´on para la que no existe necesidad de saber. De esta forma, los usuarios terminan accediendo ´unicamente a un segmento, partici´on o compartimiento de datos. • Algunos necesitan conocer la informaci´on, otros no. • Los usuarios del sistema deben cumplir con los requerimientos para el ´area o partici´on a la que desean acceder.
  51. Temario 1 Arquitectura de Computadoras 2 Mecanismos de protecci´on 3 Modos de seguridad 4 Modelos de seguridad 5 Gu´ıas de Evaluaci´on 6 Certificaci´on y Acreditaci´on
  52. Modelos de Seguridad “Los modelos de seguridad son un concepto importante en el an´alisis y dise˜no de sistemas de c´omputo seguro” . • Provee un marco de refrencia dentro del cual puede ser implementada una pol´ıtica de seguridad. • Define los lineamientos necesarios para implementar y soportar la pol´ıtica de seguridad. • Provee los lineamientos y directivas que deben cumplir los desarrollos de hardware y software, motivo por el cual solemos referirnos a estos como la representaci´on simb´olica de una pol´ıtica de seguridad en un conjunto de reglas que pueden ser seguidas por una computadora.
  53. Pol´ıtica vs Modelo de Seguridad Mientras que una pol´ıtica de seguridad es generalmente un conjunto de directivas o intenciones abstractas, un modelo de seguridad representa exactamente el modo en el cual la pol´ıtica deber´ıa ser implementada. Las pol´ıticas de seguridad proveen los objetivos abstractos y el modelo de seguridad provee las reglas necesarias para cumplir con dichos objetivos.
  54. Implementaci´on En la actualidad, los modelos formales de seguridad han quedado algo relegados respecto de la cambiante din´amica de negocios con la cual convivimos a diario. Siendo rigoristas, si bien los mismos a´un permiten establecer par´ametros generales, a nivel pr´actico solo pueden ser implementados parcialmente. Conceptos tales como: Firewall, Troyanos o Worms, no se encuentran contemplados en los denominados modelos formales
  55. Bell-Lapadula Definici´on • Orientado a mantener la confidencialidad. • Reglas de Operaci´on: • simple-rule (no read up) = espionaje • *-rule (no write down) = divulgaci´on • strong-*-rule : si se posee la capacidad de read y write s´olo se pueden realizar estas funciones en el mismo nivel.
  56. Modo de Operaci´on
  57. Caracter´ısticas • El modelo define un estado seguro (secure state) • El acceso entre sujetos y objetos respeta una pol´ıtica de seguridad espec´ıfica. • TCSEC es una implantaci´on de Bell-LaPadula • Solo aplica a la sensibilizad (nivel de confidencialidad/secreto) de la informaci´on. • Es el modelo mas representativo en ambientes militares.
  58. Biba • El modelo Biba cubre niveles de integridad, los cuales son an´alogos a los niveles de sensitividad del modelo Bell-LaPadula. • Los niveles de integridad cubren la modificaci´on impropia de datos. • Tal vez el modelo mas representativo respecto de ambientes comerciales. • Previene que usuarios no autorizados realicen modificaciones (1er objetivo de integridad) • Modelo Read Up, Write Down • Los sujetos no pueden leer objetos de integridad inferior, y no pueden escribir objetos de integridad superior.
  59. Modo de Operaci´on
  60. Resumen Biba • Orientado a asegurar la Integridad • Reglas de Operaci´on: • simple-rule: no read down = evitar las fuentes dudosas. • *-rule: no write up = no contaminar otros documentos.
  61. Clark & Wilson • Al igual que Biba, este modelo se encuentra orientado a proteger la integridad de la informaci´on. • Cumple con los principales objetivos de un modelo de integridad: • Previene las modificaciones por parte de usuarios no autorizados. (T – Tamper). • Previene que usuarios autorizados realicen modificaciones impropias. • Mantiene la consistencia interna y externa. (C – Consistencia) • Refuerza el concepto de auditoria. • Todas las las modificaciones deben ser registradas (L - Logged)
  62. Well Formed Transactions • Propone “Well Formed Transactions” • Una WFT no es mas que una serie de operaciones que permiten la transferencia de datos de un estado seguro a otro estado seguro. • Algunos de los principios relacionados con WFT son: • Ejecuci´on de tareas en forma ordenada. • Ejecuci´on exacta de las tareas definidas. • Autenticaci´on de los individuos que ejecutan las tareas. • El modelo Clark & Wilson, incorpora la separaci´on de tareas (separation of duties) dentro de la arquitectura de una aplicaci´on. Es decir, provee las reglas que los desarrolladores deben seguir a efectos de reforzar este principio a trav´es de procedimientos de software.
  63. Modo de Operaci´on
  64. Resumen Biba • Orientado a asegurar la Integridad • Conceptos Clave: • Access Triple = Subject -> Application (SW)-> Object • Auditing = Aplicaci´on logueando accesos • Separation of Duties = Separaci´on de tareas.
  65. Modelo de m´aquina de estados Definici´on Modelo matem´atico abstracto que se compone de variables de estado y funciones de transici´on entre estados. • La mayor´ıa de los modelos formales de seguridad, incluyendo Bell-LaPadula y Biba, se consideran derivados de este modelo.
  66. Modelo de flujo de informaci´on Definici´on Simplifica el an´alisis de covert channels. Cuando Information Flow Model es utilizado, un sistema es seguro si todo flujo de informaci´on ilegal no es permitido. • Bell-LaPadula es un modelo de IF que asegura que la informaci´on no pueda fluir de un compartimiento a otro en forma que afecte la confidencialidad. Biba define compartimientos de datos basado en niveles de integridad, implementando de este modo, un modelo de IF que proteja la integridad de la informaci´on mas confiable.
  67. Modelo de no-interferencia Definici´on Cubre aquellos casos en los que se necesita prevenir que sujetos que operan en un determinado dominio puedan afectarse entre s´ı violando la pol´ıtica de seguridad (Actividades realizadas sobre un nivel de seguridad no deber´ıan afectar o ser vistas, por sujetos u objetos en un nivel de seguridad diferente). • De utilizaci´on t´ıpica en sistemas multi-nivel. • Su principal prop´osito no es otro que el de combatir ataques de inferencia y de covert channels.
  68. Modelo de Matriz de Accesos(Access Matrix Model) Definici´on Es un modelo de m´aquina de estados aplicado a un ambiente DAC (Discretionary Access Control). Decisiones de acceso, son basadas en ACLs de objetos y tablas de capacidades del sujeto.
  69. Temario 1 Arquitectura de Computadoras 2 Mecanismos de protecci´on 3 Modos de seguridad 4 Modelos de seguridad 5 Gu´ıas de Evaluaci´on 6 Certificaci´on y Acreditaci´on
  70. Gu´ıas de Evaluaci´on I • El proceso de determinar cuan seguro es un sistema puede ser una tarea dif´ıcil. • Las organizaciones necesitan m´etodos para evaluar el grado de seguridad otorgado por tal o cual sistema, y de este modo determinar si el mismo resuelve los requisitos impuestos por la pol´ıtica de seguridad implementada. • Una gu´ıa de evaluaci´on, deber´ıa ser lo suficientemente general en sus principios, de modo tal que la misma sirva a los efectos de comparar diferentes tipos de sistemas y otorgar a los mismos una clasificaci´on de acuerdo al nivel de seguridad que presentan.
  71. Gu´ıas de Evaluaci´on II • Inicialmente, el concepto detr´as de la confecci´on de una Gu´ıa de Evaluaci´on, se encuentra ´ıntimamente relacionado con la necesidad por parte de las agencias de seguridad, el gobierno, y las organizaciones privadas, de conocer el nivel o grado de seguridad, existente en los diferentes sistemas, aplicaciones o productos al momento de efectuar una compra o contrataci´on.
  72. Trusted Computer Systems Evaluation Criteria I • En 1985 el “National Computer Security Center” (NCSC), desarrolla para el “Departamento de Defensa de los EEUU” (DoD), un conjunto de est´andares, los cuales resultan en la creaci´on de TCSEC (Trusted Computer System Evaluation Criteria). • El principal objetivo detr´as de la creaci´on de TCSEC es el de proveer al gobierno y entidades relacionadas, con un gu´ıa que les permitiera evaluar los productos ofrecidos por los diferentes proveedores, para cada uno de los criterios de seguridad especificados. • TCSEC == “Orange Book” • TCSEC provee: • Una base para establecer requisitos de seguridad en las especificaciones de adquisici´on.
  73. Trusted Computer Systems Evaluation Criteria II • Un est´andar de los servicios de seguridad que deben ser proporcionados por los vendedores para los diferentes criterios de seguridad existentes. • Una forma de medir la seguridad de un sistema de informaci´on. • TCSEC direcciona confidencialidad. No integridad. La funcionalidad de los mecanismos de seguridad y el Assurance de los mismos, NO son evaluados en forma separada.
  74. Niveles TCSEC • D - Minimal protection • C - Discretionary Protection • C1 – Usuarios cooperativos que pueden proteger su propia informaci´on • C2 – DAC m´as granular, se puede auditar al usuario/ proceso individualmente (individual accountability) • B - Mandatory Protection (Bell-LaPadula, RM, Security Labels Requeridas) • B1 Labeled Security Protection (Process Isolation!) • B2 Structured Protection (Covert Channels!) • B3 Security Domains • A - Verified Protection (Direcciona seguridad a nivel Top Secret) • A1 Verified Design
  75. Information Technology Security Evaluation Criteria • Desarrollado en Europa como est´andar ´unico de evaluaci´on de la seguridad en sistemas. • Eval´ua Funcionalidad y Seguridad (Assurance) en forma separada. • Effectiveness = Hacen lo que se espera que haga. • Correctiveness = Que tan correcto es el proceso por el cual lo hacen. • Clasificaciones por: • F1-F10 Niveles de Funcionalidad. • E0-E6 Niveles de Assurance. • ITSEC direcciona Integridad, Disponibilidad y Confidencialidad. • ITSEC se ocupa de evaluar sistemas en red mietras que TCSEC solo hace lo propio con sistemas stand-alone.
  76. Common Criteria (CC) • Creado por el ISO en 1993. • Creado a partir de TCSEC, ITSEC, Canadian Trusted. Computer Product Evaluation Criteria (CTCPEC) y el Federal Criteria. • Provee mas flexibilidad que TCSEC e ITSEC.
  77. Componentes del Common Criteria (CC) • Protection Profile (PP) • Descripci´on de las necesidades de seguridad de un producto. • Target of Evaluation (TOE) • Producto que se propone evaluar. • Security Target (ST) • Descripci´on escrita por el proveedor explicando las funcionalidades de seguridad (que hace?) y mecanismos de assurance que cumplen los requerimientos de seguridad (como lo hace?). • Packages – Evaluation Assurance Levels (EAL) • Los requerimientos Funcionales (definen el comportamiento del producto relacionado con la seguridad) y de Assurance (establece el nivel de confianza en el producto) son reunidos en paquetes para ser reutilizados. • Describen los requisitos a cumplir para alcanzar cada nivel EAL espec´ıfico.
  78. Package Ratings – Evaluations Ratings 1 Basic Assurance • EAL 1 Functionally tested • EAL 2 Structurally tested • EAL 3 Methodically tested and checked • EAL 4 Methodically designed, tested and reviewed 2 Medium Assurance • EAL 5 Semiformally designed and tested 3 High Assurance • EAL 6 Semiformally verified design and tested • EAL 7 Formally verified design and tested
  79. Temario 1 Arquitectura de Computadoras 2 Mecanismos de protecci´on 3 Modos de seguridad 4 Modelos de seguridad 5 Gu´ıas de Evaluaci´on 6 Certificaci´on y Acreditaci´on
  80. Certificac´on y Acreditaci´on Certificaci´on Evaluaci´on t´ecnica mediante la cual se revisan los mecanismos y controles de seguridad, con el objeto de evaluar su efectividad. • La certificaci´on considera al sistema dentro del ambiente operativo. Acreditaci´on Aceptaci´on oficial de los resultados de una certificaci´on. • La acreditaci´on refiere a la decisi´on oficial de la gerencia relacionada con la operaci´on del sistema en el ambiente especificado.
  81. Referencias bibliogr´aficas Comptia Security+ All-In-One Exam Guide, Fifth Edition (Exam Sy0-501) CHICANO Tejada, Ester., Auditor´ıa de seguridad inform´atica., 2014.
Publicidad