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
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
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
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.
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.
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
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
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
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.”
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.
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.
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.
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.
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.
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.
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.
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.
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)
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)
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)
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
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
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).
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
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
Sistema Operativo
Sirve de intermediario (interfaz) entre los programas y la
computadora. Se puede definir de dos formas ligadas a sus
objetivos.
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.
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.
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
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
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
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).
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
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.
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.
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
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.
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
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.
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.
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.
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”.
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.
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.
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
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.
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.
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
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.
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.
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.
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.
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)
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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
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.
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.
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.
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
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
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.