Protección y Seguridad

Anuncio
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Protección y Seguridad
Transparencias basadas en los libros de referencia:
Sistemas operativos. Una visión aplicada.
J. Carretero, F.García, P. de Miguel, F. Pérez. McGraw Hill 2001c
Sistemas Operativos
A. Silberschatz, P.B. Galvin. Addison Wesley 1999
Curso 2005-2006
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Contenido
•
•
•
•
•
•
Conceptos de seguridad y protección
Dominios de protección
El problema de la seguridad
Criptografía
Clasificación de seguridad
El Sistema de seguridad de Windows NT.
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Introducción
• La protección consiste en controlar y, en su caso, impedir
el acceso de los programas, procesos o usuarios a los
recursos del sistema (archivos, memoria, CPU, ..)
– Se necesitan mecanismos y políticas que determinen qué acceso se
permite a quién.
– Los recursos sólo pueden ser usados por los procesos que tienen
autorización del SO.
• La seguridad estudia como proteger la información
almacenada en el sistema (datos o código) contra accesos
indebidos o no autorizados (intrusos, fallos de la
privacidad, etc)
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Objetivos de la protección
• Asegurar que cada componente activo de un
programa use los recursos de forma coherente.
– Es necesario proteger los recursos
– Un recurso desprotegido no puede defenderse contra el
uso (o abuso) de un usuario incompetente o no
autorizado.
– Un sistema orientado hacia la protección debe
proporcionar medios para distinguir entre usos
autorizados y no autorizados
– Compromiso seguridad-compartición
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Contenido
•
•
•
•
•
•
Conceptos de seguridad y protección
Dominios de protección
El problema de la seguridad
Criptografía
Clasificación de seguridad
El Sistema de seguridad de Windows NT.
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Dominios de protección (I)
• Especifica los recursos a los que puede acceder un proceso
• Un conjunto de pares (objeto, derechos), donde cada par
especifica un objeto –hardware o software- y las
operaciones que se pueden ejecutar sobre el mismo.
• Cada proceso se ejecuta en un domino dado que puede
variar en el tiempo
• Ej: Si el dominio D tiene el derecho de acceso
{archivo F, {read, write}}
todo proceso que se ejecute en este dominio podrá,
solamente, leer y escribir el archivo F
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Dominios de protección (II)
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Protección en UNIX
• En UNIX sólo existen tres dominios de protección (propietario, grupo y
mundo).
• Para cada dominio se permiten únicamente tres operaciones sobre un
objeto: lectura (r), escritura (w) y ejecución (x).
• Cada objeto tiene asociados dos bits extras para conceder permisos
especiales: setuid y setgid
– Si SETUID activo UID efectivo = UID del propietario
– Si SETGID activo GID efectivo = GID del propietario
– Si SETUID y SETGID están inactivos, se mantiene la identidad efectiva.
• Reglas de protección
– Si UID efectivo= UID del propietario se utiliza el dominio del propietario
– Si GID efectivo= GID del propietario se utiliza el dominio de grupo
– En caso contrario se utiliza el último dominio
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Matrices de Protección
• Define la relación entre dominios y objetos del sistema
• El elemento (i,j) indica las operaciones que un proceso que
se ejecuta en el dominio Di puede efectuar sobre el objeto
Oj
• Un proceso que se ejecuta en el dominio Di puede acceder
sólo a los objetos especificados en la fila i y sólo como lo
especifican las entradas de la matriz de acceso.
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Matrices de Protección. Ejemplo
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Matrices de Protección. Implementación
•
•
•
•
Tabla global
Listas de control de acceso
Listas de capacidades
Mecanismo de cerradura y llave
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Tabla global
• Conjunto de ternas ordenadas {dominio, objeto, derechos}
• Cuando se ejecuta una operación M en un objeto Oj dentro
del dominio Di se busca en la tabla la terna {Di, Oj, Rk}
– Si dicha entrada existe y M ⊂ Rk se permite la operación
– En caso contrario ocurre una excepción.
• Ventajas: Simplicidad
• Desventajas:
– Gran tamaño
– No se puede mantener en Memoria Principal
– No aprovecha agrupamientos
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Listas de control de acceso (ACL)
• A cada objeto se le asigna una lista de pares (dominio, derechos) que
describe lo que el dominio puede hacer en el objeto.
• Cuando un objeto Oj intenta realizar una operación M en el dominio Di
se busca en la lista de acceso para el objeto la entrada {Di, Rk}.
– Si dicha entrada existe y M ⊂ Rk se permite el acceso
– En caso contrario se deniega.
• Ventajas
– Son fáciles de crear y mantener
– Están centralizadas con el objeto, lo que hace fácil revocar permisos
• Desventajas
– Si el sistema es grande y está muy solicitado, las ACL se vuelven muy
grandes y sus operaciones son lentas
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Listas de capacidades
• Una lista de capacidades para un dominio es una lista de objetos junto
con las operaciones que se permiten con esos objetos.
• Ejemplo
Cap-id
Tipo
Derechos Objeto
--------------------------------------------------------------------------0
archivo
rwdatos
1
archivo
rwnotas
2
archivo
rwx
corrector
• Se asocian a un dominio pero nunca están directamente accesibles para
un proceso que se ejecuta en ese dominio.
– Sólo son accesibles mediante métodos controlados por el SO.
• Problema: conceder derechos es fácil pero revocarlos resulta difícil
• Amobea, Hydra y Cambridge CAP usan capacidades
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Mecanismos de cerradura y llave
• Cada objeto tiene una lista de bits de cerradura y cada
dominio tiene otra lista de bits de llaves
• Un proceso sólo puede acceder a un objeto si el dominio en
el que se ejecuta tiene llaves que coincidan con las
cerraduras del objeto
• Las llaves del domino son manejadas por el SO.
• No se permite a los usuarios examinar ni modificar la lista
de llaves o cerraduras directamente
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Estructuras de protección dinámicas
• La asociación entre un proceso y un dominio puede ser:
– Estática: Si el conjunto de recursos disponibles para ese proceso
no cambia durante su ejecución
– Dinámica: Si existen cambios de accesos o dominios
• Asociación dinámica
– Si un proceso sólo se ejecuta en un dominio, éste ha de ser variable
• El contenido de la matriz de accesos ha de ser variable
– Un proceso puede cambiar (conmutar) de un dominio a otro
• Considerar los dominios como objetos de la matriz de accesos
• La operación que se puede realizar sobre un dominio es conmutar
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Matriz de acceso con dominios como objetos
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Matriz de acceso modificable
• Para poder modificar el contenido de las entradas de la
matriz de acceso se requieren tres operaciones adicionales:
copiar, dueño y control.
• El derecho copiar permite a un proceso copiar algunos
derechos de una entrada de una columna a otra entrada de
la misma columna.
• El derecho de dueño permite añadir nuevos derechos y
quitar otros
• El derecho control sólo se aplica a los objetos dominio y
permite a un proceso que se ejecuta en el dominio Di
modificar los derechos de los objetos del dominio Dj.
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Matriz de acceso con derechos de copiar
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Matriz de acceso con derechos de dueño
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Matriz de acceso con derechos de control
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Contenido
•
•
•
•
•
•
Conceptos de seguridad y protección
Dominios de protección
El problema de la seguridad
Criptografía
Clasificación de seguridad
El Sistema de seguridad de Windows NT.
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Seguridad
• Los mecanismos de protección funcionan mientras que los
usuarios no tratan de burlar el acceso al sistema para leer,
modificar o destruir la información almacenada.
• Un sistema seguro es aquel en el que sus recursos siempre
se usan y acceden como es debido y sólo por quien tiene
autorización.
• En general, no es posible lograr la seguridad total.
– Hay que contar con mecanismos que logren que las violaciones
sean un suceso poco común en lugar de una norma.
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Problemas de seguridad
• Usuarios inexpertos o descuidados
• Usuarios no autorizados
• Ataques por programa
– Caballo de Troya
– Puerta secreta
• Amenazas al sistema
– Gusanos
– Virus
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Autenticación de usuarios
• Para poder modificar o ejecutar algo en una computadora
es necesario acceder a una cuenta de usuario.
• Para evitar que usuarios no autorizados accedan al sistema
es necesario reconocer a un usuario como tal.
– Llaves o tarjetas
– Atributos físicos del usuario: huella dactilar, patrón de retina, ...
– Contraseñas, juegos de preguntas o algoritmos de identificación.
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Palabras clave o contraseñas
• Son la estrategia más común para validar la identidad de un
usuario
• Cuando un usuario quiere entrar en una máquina se le pide
identificador y contraseña
• Si la contraseña coincide con la almacenada en el sistema,
se concede el acceso
• Las contraseñas se pueden asociar a cualquier recurso.
• Pueden asociarse distintas contraseñas a distintos derechos
de acceso
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Vulnerabilidades de las contraseñas
Las contraseñas pierden su utilidad si se adivinan o si se
transfieren a otros usuarios
• Una contraseña se puede adivinar porque:
– Se corresponde con algún dato del usuario (nombre, DNI,
matrícula)
– Son nombres comunes que se pueden obtener “fácilmente”
probando combinaciones de letras
• Contraseñas cortas
• Contraseñas que sólo contienen minúsculas
• Contraseñas almacenadas en un diccionario
• Solución:
– Contraseñas generadas por el sistema (difíciles de recordar)
– Contraseñas de vida limitada
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Distribución de contraseñas
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Almacenamiento de contraseñas
• En UNIX, existía un fichero en el que se encontraba la
identidad del usuario y su clave cifrada.
• Este fichero era accesible a todo el mundo lo que facilitaba
el “robo de claves”.
• Actualmente, las contraseñas cifradas se guardan en
archivos sombra, sólo accesibles para el administrador.
• La seguridad se incrementa usando funciones de cifrado
eficientes y de sentido único.
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Amenazas por programas
• Caballo de Troya. Programa que realiza acciones no
autorizadas en el sistema
– Editor de texto que copia archivos a los directorios del intruso
– Programa de login que graba nombres y palabras de acceso de los
usuarios
• Puerta de atrás. Consiste en crear un agujero de seguridad a
través de un programa privilegiado
– Gracias a estos agujeros se puede extraer información del sistema
sin que el dueño sea consciente de ello
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Amenazas al sistema
• Virus:
– Programas que se autoreplican con fines destructivos o de violación
de seguridad. Se activan cuando se ejecuta el programa portador
– Son código que puede añadirse a un programa o reemplazarlo
– Dentro de un disco, lo normal es infectar su sector de carga
– Soluciones
• Comprobación manual de todos los dispositivos de almacenamiento
• Creación de un antídoto
• Gusanos:
– Emplean las conexiones de red para extenderse de un sistema a otro
– Una vez activos en el sistema pueden comportarse como un virus,
implantar caballos de Troya o realizar cualquier acción destructiva .
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Instalación y propagación de virus
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Vigilancia de amenazas
• Buscar patrones de actividad sospechosos.
– Contar las veces que se proporcionan contraseñas incorrectas
• Explorar el sistema en busca de agujeros
–
–
–
–
–
Contraseñas cortas o fáciles de adivinar
Programas no autorizados en directorios del sistema
Procesos con duración inusitada
Protecciones inapropiadas en directorios y archivos del sistema
Cambios en los programas del sistema
• Cortafuegos (firewall) en computadores conectados en red
– Separa los sistemas confiables de los no confiables
– Limita el acceso por red a determinados dominios
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Separación de dominios por un Firewall
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Contenido
•
•
•
•
•
•
Conceptos de seguridad y protección
Dominios de protección
El problema de la seguridad
Criptografía
Clasificación de seguridad
El Sistema de seguridad de Windows NT.
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Criptografía
• La criptografía es la técnica que permite codificar un objeto
de forma que su significado no sea obvio
• Objeto original (O) se puede convertir en un objeto cifrado
(C) aplicando una función de encriptado (E). Se descifra
mediante otra función (D)
• Aspectos claves
– Algoritmos de cifrado
– Claves
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Cifrado y Descifrado
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Algoritmos de cifrado
Procedimientos que permiten ocultar el contenido del objeto y
ponerlo en su forma original, respectivamente.
– Sustitución: cambian un texto por otro
• Monoalfabéticos: Cambian cada carácter por otro carácter o
símbolo.
– abc ->cde
• Polialfabéticos: Cambian grupos de caracteres por otros
caracteres abc-> 112233
– abc->123
– Trasposición o permutación: reordenan el texto
• Julio Cesar -> Juli o Ce sar ->
J
u
l
i
o
-
- s -> Josu alCrie
- a
C r
e
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Claves
• Patrón que usan los algoritmos de cifrado y descifrado para manipular
los mensajes en uno u otro sentido.
• Añade seguridad a los mecanismos de cifrado
• Sistemas de criptografía:
– Simétricos: D es la inversa de E y clave única
– Asimétricos: Existen claves distintas para el cifrado y el descifrado
• Ventajas del uso de claves
– Los algoritmos de cifrado y descifrado pueden ser públicos
– Mismo algoritmo sirve con distintas claves
• Desventajas
– Conocida por el codificador y el decodificador. Comunicación limitada.
– Debe resistir intentos de rotura: complejidad
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Claves privadas y públicas
• Claves privadas: conocidas sólo por cifrador y descifrador
– Problema: propagación de claves
• Claves públicas: la clave de cifrado es conocida, pero para
descifrar hace falta otra que sólo tiene el descifrador.
– Cualquiera puede enviar mensajes cifrados, pero sólo el
destinatario legal puede descifrarlos.
– No hay problemas de propagación de claves
• Firmas digitales: claves que identifican a un usuario o
sistema de forma inequívoca
– Se aceptan a nivel legal
– Hay autoridades que conceden firmas y certificados válidos
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Contenido
•
•
•
•
•
•
Conceptos de seguridad y protección
Dominios de protección
El problema de la seguridad
Criptografía
Clasificación de seguridad
El Sistema de seguridad de Windows NT.
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Clasificaciones de seguridad
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
Contenido
•
•
•
•
•
•
Conceptos de seguridad y protección
Dominios de protección
El problema de la seguridad
Criptografía
Clasificación de seguridad
El Sistema de seguridad de Windows NT
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
El sistema de seguridad de Windows NT (I)
• Se basa en el concepto de cuentas de usuario
– Los usuarios se identifican mediante un identificador único
– NT crea un testigo de acceso de seguridad
• Identificador de seguridad del usuario
• Identificador de seguridad del grupo o grupos al que pertenece
• Lista de privilegios
– Cada proceso que se ejecuta recibe una copia del testigo de acceso
• NT usa los identificadores para permitir o denegar el acceso a objetos
– Los programas que ejecuta un usuario no pueden tener un acceso
mayor que el que el usuario tiene autorizado
• Se usa un sujeto para comprobar y gestionar estos permisos
AT3148 – Ampliación de Sistemas Operativos
A. Sánchez-Macián, J.A. Maestro, M.P. Sesmero (2004/05)
El sistema de seguridad de Windows NT (II)
• Auditoria integrada: Vigila amenazas a la seguridad
– Auditoria de fracasos de accesos
– Auditoria de éxitos para detectar actividad a horas extrañas
– Auditoria de éxito y fracaso en accesos de escritura a ejecutables
para rastrear virus
– Auditoria de éxito y fracaso en acceso a archivos para detectar
accesos a archivos confidenciales
• Descriptor de seguridad:
– Identificador del propietario del objeto y de grupo
– LCA que identifica los usuarios o grupos a los que se permite o
prohíbe el acceso
– LCA al sistema que controla los mensajes de auditoría
Descargar