Download seguridad y protección

Document related concepts

BitLocker Drive Encryption wikipedia , lookup

Cifrado de disco wikipedia , lookup

GNU Privacy Guard wikipedia , lookup

Ataque de arranque en frío wikipedia , lookup

TrueCrypt wikipedia , lookup

Transcript
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
CENTRO REGIONAL DE CHIRIQUI
FACULTAD INGENIERÍA EN SISTEMA
COMPUTACIONALES
SISTEMA OPERATIVO II
“SEGURIDAD Y PROTECCIÓN”
PROFESORA ING. YARISOL CASTILLO
PRESENTADO POR
PARISA SALMANZADEH
NIMA SALMANZADEH
ZHOU DE OBALDIA
TATIANA CASTILLO
17 DE NOVIEMBRE DE 2005
CONCEPTOS DE SEGURIDAD Y
PROTECCIÓN
La
seguridad en los sistemas de una computadora es un
elemento muy importante en diseño de los sistemas operativos.
 La protección, consiste en evitar que se haga un uso indebido
de los recursos que están dentro del ámbito del sistema
operativo.
La seguridad de un sistema se basa principalmente en tres
aspectos de diseño:
- Evitar pérdida de datos
- Controlar la confidencialidad
- Controlar el acceso a los datos y recursos.
Problemas de seguridad

Problemas más frecuentes en un sistema de
información:
- Uso indebido o malicioso de programas
- Usuarios inexpertos o descuidados
- Usuarios no autorizados
Virus

Se denomina con este nombre a todos lo programas que se
autorreplican con fines destructivos o de violación de seguridad.

Existen múltiples formas de insertar un virus en un programa o
un disco:
- en medio
- añadir al principio,
-al final o en ambos extremos de un programa
Virus


Los virus se han convertido en una forma muy popular de
generar amenazas de seguridad, sobre todo en mecanismos de
protección son más débiles y los usuarios más confiados.
La solución para una infección por un virus puede adoptar dos
formas:


Comprobación manual de todos los dispositivos de almacenamiento para
limpiarlos del virus.
Creación de un antídoto que también se propague y limpie el virus.
Gusanos:



El 2 de noviembre de 1998, R. T. Morris, un estudiante de
CornelI, liberó un programa gusano en Internet.
El gusano estaba compuesto por dos programas:
 un pequeño programa de 99 líneas en C
 y el gusano principal.
El gusano leía las tablas de encaminamiento del sistema infectado
y enviaba el cargador a todos los sistemas remotos que podía,
usando para ello tres mecanismos de penetración:



Intérprete de mandatos remoto (rsh).
•Demonio del finger
Sendmail.
Rompedores de sistemas de protección:

Estos programas llevan a cabo distintas pruebas sobre sistemas,
generalmente remotos, para tratar de romper la seguridad de los
mismos y poder ejecutar accesos ilegales.

Satan (Security Administrador Tools for
Analyzing Networks) es un buen ejemplo de este
tipo de programas.
Bombadeo:


Un ataque de seguridad con mucho éxito en Internet es
el que consiste en llevar acabo bombardeos masivos
con peticiones de servicio o de establecimiento de
conexión a un servidor determinado.
La tabla de procesos, por ejemplo, es crítica, ya que si se
llena, la computadora no puede crear ni siquiera el
proceso de apagar el sistema.
POLITICAS DE SEGURIDAD

Existen algunas políticas de seguridad, las cuales describen
políticas generales de cualquier organización
 Política militar: Es una política popularmente
conocida y muy estricta
 Políticas Comerciales: Basándose en la política
militar, pero debilitando las restricciones de
seguridad se han diseñado estas políticas
comerciales.."
Modelos de Seguridad



Un modelo es un mecanismo que permite hacer explicita una
política de seguridad.
Los modelos de seguridad multinivel permiten representar rasgos
de sensibilidad y reflejarla necesidad de separar rigurosamente los
sujetos de los objetos a los que no tienen acceso.
Los modelos de seguridad limitada se centran en responder
formalmente las propiedades que un sistema seguro debe
satisfacer .
Diseño de sistemas operativos seguros:

Para dotar a un sistema operativo con mecanismos de seguridad
es necesario diseñarlo para que admitan estos mecanismos desde
el principio.

Los criterios de diseño para dotar a un sistema operativo con mecanismos de
seguridad son:
 Diseño abierto.
 Exigir permisos
 Privilegios mínimos
 Mecanismos económicos
 Intermediación completa.

Comparición mínima

Fáciles de usar y aceptables
Diseño de sistemas operativos seguros:

En general un sistema operativo multiprogramado lleva a cabo
las siguientes tareas relacionadas con la seguridad del sistema:
 Autenticación de usuarios.
 Asignación de recursos.
 Control de accesos a los recursos del sistema
 Control de la comparición y la comunicación entre
procesos.
 Protección de datos del sistema de protección en sí
mismo.
Técnicas de diseña de sistema
seguros
Separación de recursos.
1. Física
2. Temporal
3. Criptográfica
4. Lógica
Uso de entornos virtuales
Diseño por Capas
Controles de Seguridad externos al
Sistema Operativo
Equipos de penetración y limitación de acceso
Controles de Programación
1.
2.




3.
Diseño detallado y contrastado de las tareas a programar
Aplicar el principio de aislamiento a cada componente del
sistema
Pruebas por parte de probadores independientes no relacionados
con los miembros del equipo.
Gestión de Configuración
Uso de estándares para Seguridad.
CRIPTOGRAFÍA Y
CONCEPTOS BÁSICOS
La ciencia de cifrar y descifrar información utilizando
técnicas matemáticas que hagan posible el intercambio de
mensajes de manera que solo pueden ser leído por las
personas a quien van dirigido.
Es la técnica que permite codificar un objeto de manera
que su significado no sea obvio.
Algoritmos de cifrado:
E (X)
X
Cifrar
D (X)
Cifrado
Descifrar
X
Algoritmos de cifrado
Los algoritmos de cifrado son muchos y variados pero se
pueden clasificar en dos gran grupos:

Sustitución : consiste en cambiar el contenido del
objeto original por otro.

Transposición : consiste en modificar el orden del
contenido del objeto original.
Algoritmos de Sustitución

Monoalfabeticos
Algoritmo de Julio César (con desplazamiento de 3).
C = (M + 3) mod 26
Sustituir A B C D E F G H Y J K L M N Ñ O P Q R S T U V W X Y Z
Por
DE FG HYJK LM NÑ OPQ RSTUVWXYZ CBA
Ejemplo:
texto:
“El Hacker acecha de nuevo”
cifrado:
Hñ kdfnhu dfhfkd gh pxhyr
Algoritmos de Sustitución

Polialfabéticos
se emplean varias cadenas de palabras aleatorias y
diferentes entre si, aquí nacen las claves secretas basadas
en números.
Ejemplo: Con una clave 2-3-1
Sustituir A B C D E F G H Y J K L M N Ñ O P Q R S T U V W X Y Z. Por
:
1/ F Q R A L K Z S J Ñ M Y T Y V D B E W V N O C X H P G
2/ G A W H V M U Y F Q L B R C J N D S K T Ñ P Z O Y X E
3/ C Ñ O G D Q H A R P Y T X E W V B M V L Y F S N Z K J
texto:
cifrado:
“El Hacker acecha de nuevo”
vt sgomhm fwdrvaf hd ypdcj
Algoritmos de Transposición
Reordenan la estructura interna del objeto original para
obtener un objeto cifrado cuya estructura no es aparente
Transposición por columnas, que reordenan el objeto en
columnas de forma que un cierto número de elementos
(número de columnas) se agrupan y luego se reordenan
aplicando el algoritmo de cifrado.
Ejemplo:
El nombre “Julio Cesar”, organizado en 4 columnas y
transpuesto sería:
Juli
o
Ce
sar
Josu alcrie
OTRA CLASIFICACIÓN

Flujo de caracteres :
- La transformación depende únicamente del símbolo de
entrada, la clave y el algoritmo de cifrado
- Son rápidos y tienen muy poca propagación de error
- Son susceptibles de sufrir modificaciones .
Ejemplo :El código Morse

Bloques:
-Generan mucha difusión
-Tienen el problema de ser lentos y de propagar posibles
errores a todo el bloque
Ejemplo : Transposición por columnas
ALGORITMOS BASADOS EN LA REALIZACIÓN DE
CÁLCULOS MASIVOS POR COMPUTADORA:

Algoritmo Merkle-Hellman:
- Se basa en el uso de un conjunto de enteros positivos y una suma objetivo
- El tiempo de solución depende al numero de enteros usadas.
Ejemplo : problema de la mochila

algoritmo RSA:
- Tiene los mismos fundamentos matemáticos que el anterior
- Se basa en el hecho matemático de la dificultad de factorizar números muy
grandes.
- Para factorizar un número el sistema más lógico consiste en empezar a
dividir sucesivamente éste entre 2, entre 3, entre 4,..., y así sucesivamente,
buscando que el resultado de la división, sea exacto.
- Cuando el numero es un numero primo grande el proceso de factorización es
complicado y lleva mucho tiempo.
- Su implementación software proporciona un rendimiento muy pobre, por lo
que es muy frecuente el uso de hardware que lleva a cabo el cifrado con este tipo
de algoritmo.
ALGORITMOS BASADOS EN LA REALIZACIÓN DE
CÁLCULOS MASIVOS POR COMPUTADORA:

El Data Encryption Standard (DES):
- Combina sustitución y transposición, aplicando ambas
repetidamente con un total de 16 ciclos.
- No es un algoritmo seguro, tiene debilidades en su
diseño, claves muy cortas (56 bits)
- Es un algoritmo muy popular y varias versiones del
mismo son ampliamente usadas en la actualidad.
- Para reforzar la seguridad del algoritmo se ha
incrementado la longitud de la clave.
CLAVES
“Es un concepto básico en criptografía, donde la clave (k)
es el patrón que usan los algoritmos de cifrado y descifrado
para manipular los mensajes en uno u otro sentido.”
- Existen sistemas criptográficos que no usan clave
- El uso de claves añade más seguridad a los mecanismos
de cifrado
- para romper un sistema de cifrado es necesario conocer
tanto las funciones correspondientes como la clave usada
para cifrar un determinado objeto.
Clarificación para aplicar la ejecución

Simétricos
- Se usa la misma clave para cifrar y descifrar el mensaje
- También se denominan sistemas de clave privada. Puesto que ambos
comparten la clave, pueden trabajar de forma independiente.
- La simetría del proceso es muy útil siempre que se mantenga el
secreto
- Tienen problemas asociados con la filtración de las claves, su
distribución, su debilidad criptográfica y el número creciente de claves.

Asimétricos
- Existen claves distintas para cifrar y descifrar
- La función de descifrado no es exactamente inversa a la de cifrado.
- La asimetría permite reducir el número de claves a intercambiar
entre los participantes en el proceso de cifrado.
Ventajas del uso de clave

Permite que las funciones de cifrado y
descifrado puedan ser públicas.

Se pueden usar las mismas funciones para
generar distintos cifrados.

El resultado cifrado no depende únicamente
del diseñador del algoritmo sino también de
una clave fijada por el dueño del objeto
cifrado.
Sistemas de Clave privada
Los sistemas de clave privada se basan en la ocultación de la
clave de cifrado.
Estos sistemas que se han usado ejecutan el cifrado (E)
aplicando la clave (K) al objeto origen para obtener el
objeto cifrado (C):
C = E (K, O)

El problema de estos sistemas es que para que alguien
descifre el objeto cifrado debe conocer la clave con que está
cifrado. Hay dos soluciones para este problema:
 Propagar la clave
 Recodificar y añadir nuevas claves
Sistemas de Clave publica

Cada usuario tiene una clave de cifrado que
puede se conocer todo el mundo

cada usuario puede publicar su clave de cifrado
para que cualquiera pueda enviar un mensaje
cifrado con dicha clave. Sin embargo, cada
usuario tiene también una clave de descifrado
secreta o privada.
Firmas Digitales
Son una variante de los algoritmos de clave
pública.
 Una
firma digital es un protocolo que
produce el mismo efecto que una firma real.
 Se puede implementar mediante:
* Sistemas de clave privada
* Sistemas de sello
* Sistemas de clave pública

Clasificación de Seguridad
Clasificación del Departamento de Defensa (DoD) de los Estados
Unidos
Nivel D. Sistemas con protección mínima o nula: No pasan las
pruebas de seguridad mínima exigida en el DoD. MS-DOS y
Windows 3. 1 son sistemas de nivel D
Nivel C.
Capacidad discrecional para proteger recursos:
La aplicación de los mecanismos de protección depende
del usuario, o usuarios, que tienen privilegios sobre los mismos.
Clase CI. Control de acceso por dominio.
Clase C2. Control de acceso individualizado.
Clasificación de Seguridad
NIVEL B. Control de acceso obligatorio: todo objeto controlado debe tener
protección. Este nivel se divide en tres subniveles:
Clase B1. Etiquetas de seguridad obligatorias.
Clase B2. Protección estructurada.
Clase B3. Dominios de seguridad.
NIVEl A. Sistemas de seguridad certificados: la política de seguridad y los
mecanismos de protección del sistema deben ser verificados y certificados
por un organismo autorizado para ello. Este nivel se divide en dos subniveles
niveles:
Clase Al. Diseño verificado. Clase B 1 mas modelo formal del sistema de
seguridad.
Clase Ax. Desarrollo controlado. A1 más diseño con instalaciones y
personal controlados.
Clasificación de Seguridad

NIVEl A. Sistemas de seguridad certificados: la
política de seguridad y los mecanismos de
protección del sistema deben ser verificados y
certificados por un organismo autorizado para
ello. Este nivel se divide en dos subniveles niveles:
* Clase Al. Diseño verificado. Clase B 1 mas
modelo formal del sistema de seguridad.
* Clase Ax. Desarrollo controlado. A1 más diseño
con instalaciones y personal controlados.
SEGURIDAD y
PROTECCION EN
SISTEMAS OPERATIVOS
DE PROPOSITO GENERAL
AUTENTICACIÓN DE USUARIOS
formas de establecer la identidad de un usuario:

Pedir información que s6lo él conoce a través de
contraseñas, juegos de preguntas o algoritmos de
identificación.

Determinar características físicas del usuario tales
como la pupila, la huella dactilar, el DNA, la firma
y etc.

Pedir un objeto que use el usuario, como puede ser
una firma electrónica, una tarjeta con banda
magnética o con un chip.
El proceso de autenticación
Habitualmente, cuando un usuario quiere acceder al
sistema, aparece una pantalla o mensaje de
entrada. En el caso de Windows NT, la pantalla
pide tres valores:



Identificación del usuario: nombre del usuario del
sistema.
Palabra clave o contraseña: espacio para teclear la
clave.
Dominio de protección al que pertenece el usuario.
PALABRAS CLAVES O
CONTRASEÑAS




Asignación de claves: La palabra clave es fijada por el usuario
cuando entra en su cuenta y la puede cambiar tantas veces como
quiera.
Longitud y formato de claves: La
longitud y el formato de las
claves han ido cambiando a través del tiempo, principalmente debido
a la detección de fallos asociados a las claves usadas en cada
momento.
Almacenamiento de claves: Las claves suelen almacenarse en
archivos cifrados, con lo cual se incrementa la seguridad.
Duración de las claves: Para dificultar la detección de contraseñas
válidas por parte de posibles intrusos se puede configurar el sistema
operativo: los sistemas operativos permiten que las contraseñas de
usuario sean válidas únicamente durante un cierto tiempo.
DOMINIOS DE PROTECCIÓN
Un dominio de protección es un conjunto de pares (objeto,
derechos), donde cada par especifica un objeto y las
operaciones que puede ejecutar sobre el mismo.
Un objeto puede pertenecer a varios dominios de protección
simultáneamente. En cada momento, un proceso ejecuta un
dominio de protección, pudiendo cambiar de un dominio a
otro, si el sistema operativo lo permite.
MATRICES DE PROTECCIÓN
La relación entre dominios y objetos se puede
definir de forma completa mediante una matriz de
protección, también denominada de acceso.
El modelo de matriz de protección, derivado del modelo teórico HRU
punto de vista conceptual, pero tiene inconvenientes para su
implementación:


La matriz de un sistema complejo puede ser muy grande y muy dispersa.
Una matriz tiene un número fijo de filas (dominios) y columnas (objetos),
lo que es muy poco flexible para sistemas cuyo número de dominios u
objetos puede cambiar.
LISTA DE CONTROL DE ACCESO
“Una forma frecuente de controlar los accesos a un objeto es usar el identificador
del usuario como criterio. Con listas de control de acceso es necesario
especificar para cada dominio de protección, e incluso para cada usuario, qué
tipos de acceso al objeto son posibles. Para implementar esta solución, a
cada objeto (archivos, directorios, procesos, etc.”se le asocia una lista de pares:
(Dominio, operaciones)
Estas listas tienen dos problemas asociados:


Construir y mantener las listas es costoso en tiempo y recursos.
Es necesario disponer de estructuras de almacenamiento de
tamaño variable porque las listas pueden tener longitudes
distintas dependiendo del objeto.
LISTA DE CONTROL DE ACCESO

Listas de control de acceso en UNIX
En UNIX, solo existen tres dominios de protección: dueño, grupo, otros. Para
cada dominio se permiten tres tipos de operaciones sobre un objeto: leer (r),
escribir (w) y ejecutar (x). Todas las operaciones de interfaz Con el sistema
operativo, estos permisos se indican Con números en octal. Se usa un digito
para cada dominio y el valor de loS bits de cada digito se pone a 1 si la
operación es posible a 0 si no lo es.

Listas de control de acceso en Windows NT
Todos los objetos de Windows NT tienen asignados descriptores de seguridad
como parte de sus fichas de acceso. La parte mas significativa de los
descriptores de seguridad es la lista de control de accesos. Cada entrada de la
ACL contiene los descriptores de seguridad de los distintos dominios del
sistema y los derechos de la ACL para permitir o denegar al acceso al objeto.
CAPACIDADES

A nivel interno se han propuesto tres métodos para
proteger las listas de capacidades:
Arquitectura etiquetada, en al cual la palabra de memoria tenga un bit de
etiqueta adicional diciendo si contiene o no una capacidad. En caso positivo, esa
posición de memoria sólo puede ser modificada por procesos que ejecuten dentro
del núcleo del sistema operativo. Esta solución es cara y poco adecuada para
sistemas de propósito de general.

capacidades cifradas. La clave de cifrado es desconocida por los
usuarios, que deben limitarse a manipular las capacidades cifradas recibidas del
sistema operativo. Este sistema se ajusta bien a las necesidades de los sistemas
operativos distribuidos.

Listas de control de acceso asociadas a cada capacidad.
CAPACIDADES
Ventajas:



Son muy útiles para incluir información de protección para un proceso en
particular.
El mecanismo de comprobación de derecho es muy sencillo.
Se adaptan muy bien a sistemas distribuidos.
Las capacidades se pueden implementar, para facilitar la revocación de
derechos de Acceso como:



Lista de control de acceso en la cual se puede mantener una lista desde cada
objeto a todas sus capacidades. Si hay modificaciones, se recorre dicha lista y
se aplican.
Claves de versión donde cada objeto tiene una clave maestra que se copia en
cada nueva capacidad sobre ese objeto.
lndirecciones de manera que las capacidades no apunten directamente a los
objetos, sino a una tabla global intermedia desde la cual se apunta al objeto.
SERVICIOS DE PROTECCIÓN Y DE
SEGURIDAD.

Los servicios de protección y seguridad de un
sistema varían dependiendo de la complejidad
del sistema implementado. A continuación,
presentaremos algunos servicios de protección
genéricos en sistemas operativos clásicos.
Dichos servicios se concentrarán para el
estándar POSIX y para Windows NT.
Servicios genéricos






Crear un descriptor de protección.
Destruir un descriptor de protección.
Abrir un descriptor de protección.
Obtener información de protección.
Cambiar información de protección.
Fijar información de protección por defecto.
Servicios POSIX.







Comprobación de la posibilidad de acceder a un
archivo.
Cambio del modo de protección de un archivo.
Cambio del propietario de un archivo.
Obtención de los identificadores del propietario y de
su grupo.
Cambio de los identificadores del propietario y de su
grupo.
Definir la máscara de protección por defecto.
Otras llamadas POSIX.
Servicios de Win32.








Dar valores iniciales a un descriptor de seguridad.
Obtención del identificador de un usuario.
Obtención de la información de seguridad de un archivo.
Cambio de la información de seguridad de un archivo.
Obtención de los identificadores del propietario de su grupo
para un archivo.
Cambio de los identificadores del propietario de su grupo
para un archivo.
Gestión de ACLs y ACEs.
Otras llamadas de Win32.
EL SERVICIO DE SEGURIDAD DE
WINDOWS NT.

Es una combinación de técnicas que aseguran un
nivel de protección consistente contra los accesos no
deseados. Para implementar la seguridad, hay que
proteger la red, el sistema operativo y los datos.

NT dispone de herramientas de auditoria que
permiten conocer nuestros niveles de seguridad. La
seguridad puede ser clasificada en tres diferentes
áreas funcionales:
- La seguridad de red.
- La seguridad a nivel de sistema operativo.
- Encriptación de datos.
Arquitectura del sistema de seguridad de Windows
NT.
Política de
seguridad.
Proceso
de logon.
Gestor de
cuentas de
usuario.
Aplicación.
Registro.
Autoridad de
seguridad local.
Subsistema
Win32.
Servicios del sistema.
Validación
de accesos.
Monitor de
referencia de seguridad.
Auditoria.
Manejadores de dispositivo.
Nivel de abstracción del hardware (HAL).
Nivel de
usuario.
Nivel de
sistema.