Tema 7
Seguridad y Protección
Sistemas Operativos
Tema 7 Seguridad y Protecci´on – p. 1
Índice
1. Seguridad (Tanenbaum, 9.1–9.5), (Stallings, 15.1–15.4)
2. Mecanismos de protección (Tanenbaum, 9.6), (Stallings,...
Índice
1. Seguridad (Tanenbaum, 9.1–9.5), (Stallings, 15.1–15.4)
1.1. Tipos de amenazas a la seguridad
1.2. Autenticación ...
Seguridad
Distinción entre seguridad y protecci ´on
Protección: Mecanismos que articula el S.O. para proteger la
informaci...
1.1 Tipos de amenazas a la seguridad
Interrupción (afecta a la disponibilidad)
Se corta el flujo desde emisor al receptor. ...
1.1 Tipos de amenazas a la seguridad (ii)
Origen Destino
(a) flujo normal
Origen Destino Destino
Origen DestinoOrigen Dest...
1.1 Tipos de amenazas a la seguridad (iii)
Tema 7 Seguridad y Protecci´on – p. 7
1.2 Autenticación de usuarios por contraseña
La seguridad depende de qui´en puede acceder al
sistema
Es muy importante la ...
1.2 Autenticación de usuarios por contraseña (ii)
Estrategias de elección de contraseñas
Las contraseñas son difíciles de ...
1.3 Ataques a la seguridad
Ataques genéricos a la seguridad
Se contrata a un equipo especializado
Solicitar páginas de mem...
1.3 Ataques a la seguridad (ii)
Amenazas a la seguridad con ataques específicos
Caballos de Troya: Sustituyen un comando in...
1.4 Principios de diseño para la seguridad
(Saltzer y Schröder)
El diseño debe ser público
El estado por defecto debe ser ...
Índice
2. Mecanismos de protección (Tanenbaum, 9.6), (Stallings, 15.2)
2.1. Objetivos de la protección
2.2. Dominios de pr...
2. Mecanismos de protección
Protección: Mecanismos que articula el S.O. y el
hardware para conseguir la seguridad en el ám...
2.1 Objetivos de la protección
La protección controla el acceso a los recursos
Pol´ıtica vs. Mecanismo
Las políticas estab...
2.2 Dominios de protección
De cara a la seguridad y la protección, un sistema se ve
como un conjunto de objetos que necesi...
2.3 Matriz de acceso o de protección
Podemos imaginar una matriz ⇒
filas ≡ dominios
columnas ≡ objetos
En cada casilla ⇒ pe...
2.4 Listas de control de acceso (ACLs)
Las matrices no se implementan realmente
Las ACL almacenan la matriz por columnas
C...
2.5 Listas de capacidades
Almacena filas. Para cada dominio hay un conjunto de objetos y de
posibilidades asociadas
A cada ...
2.6 Llave y cerradura
Cada usuario tiene una llave: conjunto de bits
Cada objeto una cerradura: conjunto de bits
El usuari...
2.7 Comparación
Las ACL son más sencillas para el usuario
Sin embargo, es difícil saber los derechos de un
usuario
Suelen ...
2.8 Canales ocultos
Aunque un servidor se confine con mecanismos de protección,
puede comunicar a otro proceso colaborador ...
3. Seguridad en Linux (Tanenbaum 10.7)
Cada usuario tiene asignado un Identificador de Usuario
(UID)
El «login» de un usuar...
3. Seguridad en Linux (ii)
En Linux, cada fichero y dispositivo (a través de las
entradas en /dev) pertenece a un usuario y...
3. Seguridad en Linux (iii)
La función chmod permite modificar los permisos de los
ficheros
Es la función que ofrece Linux p...
3. Seguridad en Linux (iv)
Cada proceso se ejecuta con los privilegios del usuario
que lo crea
Excepcionalmente, los ejecu...
3. Seguridad en Linux (v)
SETUID/SETGID (cont.)
Por ejemplo, el usuario «pepe» del grupo «usuarios»
ejecuta el siguiente p...
3. Seguridad en Linux (vi)
Linux implementa un sistema híbrido entre ACLs y
listas de posibilidades:
Los archivos contiene...
4. Seguridad en Windows 2000 (Stallings, 15.6)
También basado en autenticación de usuario con login
y clave
Al iniciar la ...
4. Seguridad en Windows 2000 (ii)
Además, cada objeto (incluyendo procesos, ficheros,
etc.) tiene un propietario y pertenec...
4. Seguridad en Windows 2000 (iii)
Las ACLs (DACL, SACL) están compuestas de varias
entradas (ACE, Access Control Entry), ...
4. Seguridad en Windows 2000 (iv)
Tema 7 Seguridad y Protecci´on – p. 32
4. Seguridad en Windows 2000 (v)
La ACL de un fichero puede contener los siguientes permisos:
Leer: el usuario puede leer e...
4. Seguridad en Windows 2000 (vi)
La ACL de un directorio puede contener los siguientes
permisos:
Leer: el usuario puede v...
Próxima SlideShare
Cargando en…5
×

Tema7Tema7Tema7Tema7Tema7Tema7Tema7Tema7

311 visualizaciones

Publicado el

Tema7Tema7Tema7Tema7Tema7Tema7Tema7Tema7

Publicado en: Educación
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
311
En SlideShare
0
De insertados
0
Número de insertados
2
Acciones
Compartido
0
Descargas
3
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Tema7Tema7Tema7Tema7Tema7Tema7Tema7Tema7

  1. 1. Tema 7 Seguridad y Protección Sistemas Operativos Tema 7 Seguridad y Protecci´on – p. 1
  2. 2. Índice 1. Seguridad (Tanenbaum, 9.1–9.5), (Stallings, 15.1–15.4) 2. Mecanismos de protección (Tanenbaum, 9.6), (Stallings, 15.2) 3. Seguridad en Linux (Tanenbaum, 10.7) 4. Seguridad en Windows 2000 (Stallings, 15.6) Tema 7 Seguridad y Protecci´on – p. 2
  3. 3. Índice 1. Seguridad (Tanenbaum, 9.1–9.5), (Stallings, 15.1–15.4) 1.1. Tipos de amenazas a la seguridad 1.2. Autenticación de usuarios por contraseña 1.3. Ataques a la seguridad 1.4. Principios de diseño para la seguridad Tema 7 Seguridad y Protecci´on – p. 3
  4. 4. Seguridad Distinción entre seguridad y protecci ´on Protección: Mecanismos que articula el S.O. para proteger la información, los usuarios, los procesos, . . . Seguridad: concepto más ámplio, que incluye seguridad física (p. ej. ¿quién tiene acceso a los edificios?), etc. Amenazas a la seguridad (requisitos de un sistema de seguridad) Confidencialidad: Acceso sólo a usuarios autorizados. (Este tipo de acceso incluye la impresión, visualización y otras formas de revelación, incluyendo el simple revelado de la existencia de un objeto) Integridad: Modificación sólo por los usuarios autorizados. (La modificación incluye escritura, cambio, cambio de estado, borrado y creación) Disponibilidad: Los recursos deben estar disponibles para los usuarios autorizados (Si no, se produce la «denegación de servicio») Tema 7 Seguridad y Protecci´on – p. 4
  5. 5. 1.1 Tipos de amenazas a la seguridad Interrupción (afecta a la disponibilidad) Se corta el flujo desde emisor al receptor. Se destruye el elemento del sistema o se hace inaccesible o inútil. (Ej.: destrucción de un disco duro, corte de la línea de comunicación, inutilización del SF) Intercepción (afecta a la confidencialidad) Una tercera entidad se entera de la comunicación. Una parte no autorizada, que puede ser una persona, programa o computador, consigue acceder a un elemento. (Ej.: copia ilícita de programas (piratería) o ficheros) Modificación (amenaza la integridad) Una tercera entidad cambia los datos. Una parte no autorizada no sólo consigue acceder, sino que falsifica un elemento. (Ej: cambio de valores de un fichero) Invención (también amenaza la integridad) Una tercera entidad inventa datos no emitidos. Una parte no autorizada inserta objetos falsos en el sistema. (Ej.: inserción de mensajes falsos en la red o la adición de registros a un fichero) Tema 7 Seguridad y Protecci´on – p. 5
  6. 6. 1.1 Tipos de amenazas a la seguridad (ii) Origen Destino (a) flujo normal Origen Destino Destino Origen DestinoOrigen Destino (b) interrupcion (c) intercepcion (d) modificacion (e) invencion Tema 7 Seguridad y Protecci´on – p. 6
  7. 7. 1.1 Tipos de amenazas a la seguridad (iii) Tema 7 Seguridad y Protecci´on – p. 7
  8. 8. 1.2 Autenticación de usuarios por contraseña La seguridad depende de qui´en puede acceder al sistema Es muy importante la autenticaci´on del usuario Lo más normal es utilizar ID+contraseña El ID determina si se tiene acceso y a qué nivel (p.ej. superusuario) En UNIX: Se utiliza el algoritmo DES 25 veces utilizando una base aleatoria de 12 bits. Se generan 11 caracteres + 2 de base. La base: Impide ver las contraseñas iguales Incrementa el número de datos en la clave Impide el uso de DES hardware Función crypt(clave, salt); crypt("hola, caracola","aq") ->aqFp.evU2e7T2 crypt("hola, caracola","as") ->ascKZQc0MMnkM Tema 7 Seguridad y Protecci´on – p. 8
  9. 9. 1.2 Autenticación de usuarios por contraseña (ii) Estrategias de elección de contraseñas Las contraseñas son difíciles de romper (distributed.net) Aunque el problema: los usuarios (longitud, palabras sencillas, etc.) Técnicas para evitarlas: Contraseñas largas, que no sean palabras de diccionario, introducir dígitos, letras en mayúsculas y minúsculas y caracteres especiales Instrucción del usuario Inspección proactiva de contraseñas El administrador puede comprobar la robustez de las contraseñas de los usuarios ejecutando él mismo programas de «averiguación de contraseñas» (crack) Tema 7 Seguridad y Protecci´on – p. 9
  10. 10. 1.3 Ataques a la seguridad Ataques genéricos a la seguridad Se contrata a un equipo especializado Solicitar páginas de memoria (o disco) y leerlas Llamadas al sistema inválidas Detención de la conexión al sistema Modificar las estructuras de la parte de usuario Engañe al usuario, escribiendo un programa «login» Busque fallos en manuales («no use X») Convenza al administrador para que deje un sistema «menos seguro» Engañar o sobornar al personal :-) Tema 7 Seguridad y Protecci´on – p. 10
  11. 11. 1.3 Ataques a la seguridad (ii) Amenazas a la seguridad con ataques específicos Caballos de Troya: Sustituyen un comando interno por otro que realiza labores ilegales (por ejemplo, devolver información del sistema hacia afuera) Falsificación del inicio de sesión: Engañan al usuario, que escribe su login/password Bombas lógicas: «Estallan» al cierto tiempo (ej. viernes 13) Trampas o «backdoors»: Programas con puertas traseras Desbordamiento de buffers: Sobrescriben partes del programa con código malicioso (p. ej. aprovechando fallos de seguridad para convertirse en «root») Virus y gusanos Tema 7 Seguridad y Protecci´on – p. 11
  12. 12. 1.4 Principios de diseño para la seguridad (Saltzer y Schröder) El diseño debe ser público El estado por defecto debe ser el de «no acceso» La verificación debe ser activa y continua Dar a las entidades el m´ınimo privilegio posible El mecanismo de protección debe ser simple, uniforme e integrado (no es un valor añadido, sino una característica a todos los niveles) Debe ser psicológicamente aceptable por los usuarios Tema 7 Seguridad y Protecci´on – p. 12
  13. 13. Índice 2. Mecanismos de protección (Tanenbaum, 9.6), (Stallings, 15.2) 2.1. Objetivos de la protección 2.2. Dominios de protección 2.3. Matriz de protección 2.4. Listas de control de acceso 2.5. Capacidades 2.6. Mecanismos de llave y cerradura 2.7. Comparación 2.8. Canales ocultos Tema 7 Seguridad y Protecci´on – p. 13
  14. 14. 2. Mecanismos de protección Protección: Mecanismos que articula el S.O. y el hardware para conseguir la seguridad en el ámbito del S.O. Mecanismos de protección (ya vimos algunos, de bajo nivel) Hardware de direccionamiento de memoria Cronómetro Modo dual, etc. Mecanismos de más alto nivel Definición de usuarios y objetos a proteger Delimitar la información a la que puede acceder cada usuario Tema 7 Seguridad y Protecci´on – p. 14
  15. 15. 2.1 Objetivos de la protección La protección controla el acceso a los recursos Pol´ıtica vs. Mecanismo Las políticas establecen qué se va a proteger, qué usuarios van a poder acceder a qué datos, etc. (p. ej. Los contables no pueden acceder a la base de datos de márqueting, etc.) Existen entonces una serie de mecanismos que ofrece el S.O. para poder implementar las políticas (permisos, ficheros, usuarios, etc.) Las políticas pueden cambiar y además dependen de cada organización ⇒ Los S.O. deben ofrecer mecanismos generales y flexibles que permitan implementar las políticas Tema 7 Seguridad y Protecci´on – p. 15
  16. 16. 2.2 Dominios de protección De cara a la seguridad y la protección, un sistema se ve como un conjunto de objetos que necesitan protección: CPU, memoria, terminales, procesos, ficheros, bases de datos Cada objeto tiene un nombre único, y un conjunto de operaciones ¿Cómo especificamos qué le está permitido a cada usuario con cada objeto? ⇒ DOMINIO Un dominio representa un conjunto de permisos sobre un conjunto de objetos: Cjto. de parejas objeto, derechos ⇒ Derecho es el permiso para realizar cierta tarea Domain 1 Domain 2 Domain 3 File1[R] File2[RW] File3[R] File4[RWX] File5[RW] Printer1[W] File6[RWX] Plotter2[W] Tema 7 Seguridad y Protecci´on – p. 16
  17. 17. 2.3 Matriz de acceso o de protección Podemos imaginar una matriz ⇒ filas ≡ dominios columnas ≡ objetos En cada casilla ⇒ permisos Las filas representan los dominios: asocian objetos con sus permisos Las columnas representan los permisos de cada objeto Si los procesos pueden cambiar de dominio ⇒ Enter Object Domain2 Domain3Domain1 Enter Printer1 Plotter2 Domain 1 2 3 File1 File2 File3 File4 File5 File6 Read Read Read Write Read Write Read Write Execute Read Write Execute Write Write Write Tema 7 Seguridad y Protecci´on – p. 17
  18. 18. 2.4 Listas de control de acceso (ACLs) Las matrices no se implementan realmente Las ACL almacenan la matriz por columnas Cada objeto ⇒ Lista con los dominios que pueden tener acceso a ese objeto y la forma de dicho acceso Tema 7 Seguridad y Protecci´on – p. 18
  19. 19. 2.5 Listas de capacidades Almacena filas. Para cada dominio hay un conjunto de objetos y de posibilidades asociadas A cada proceso se asocia una lista de objetos a que puede tener acceso con una indicación de las operaciones permitidas, e.d., a cada proceso se le asocia su dominio Esta lista se llama lista de posibilidades o capacidades, y los elementos individuales posibilidades Se permiten operaciones con posibilidades, como copiar o eliminar Tema 7 Seguridad y Protecci´on – p. 19
  20. 20. 2.6 Llave y cerradura Cada usuario tiene una llave: conjunto de bits Cada objeto una cerradura: conjunto de bits El usuario puede acceder al objeto si el AND de llave y cerradura = 0 U1 puede acceder a ambos objetos U2 sólo a «Objeto 2» U1            ¡ ¡ ¡ ¡ ¢ ¢ ¢ ¢ ¢ ¢£ £ £ £ ¤ ¤ ¤ ¤ ¤ ¤¥¥ U2 ¦ ¦ ¦ ¦ ¦ ¦§§ ¨ ¨ ¨ ¨ ¨ ¨© © © © Objeto 1 Objeto 2 Tema 7 Seguridad y Protecci´on – p. 20
  21. 21. 2.7 Comparación Las ACL son más sencillas para el usuario Sin embargo, es difícil saber los derechos de un usuario Suelen ser costosas ya que hay que buscar en cada acceso Las listas de posibilidades son más complejas para el usuario Es difícil recuperar todos los permisos de un objeto particular ¿Qué pasa con la revocación de permisos? Tema 7 Seguridad y Protecci´on – p. 21
  22. 22. 2.8 Canales ocultos Aunque un servidor se confine con mecanismos de protección, puede comunicar a otro proceso colaborador ⇒ Canal oculto La comunicación podría ser: si el servidor quiere enviar un 1 → uso intensivo de la CPU durante unos instantes; si el servidor quiere enviar un 0 → duerme durante unos instantes El proceso colaborador simplemente mira la carga de CPU Es un mecanismo con ruido, pero se pueden utilizar técnicas como Hamming No se puede evitar... y hay muchas más. (a) (b) Client Server Collaborator Kernel Kernel Encapsulated server Covert channel Tema 7 Seguridad y Protecci´on – p. 22
  23. 23. 3. Seguridad en Linux (Tanenbaum 10.7) Cada usuario tiene asignado un Identificador de Usuario (UID) El «login» de un usuario lo asocia con su UID Además, el sistema se administra como un conjunto de Grupos de usuarios, cada uno con su GID Así, un par UID,GID forma un dominio en Linux Esto es, define qué archivos o dispositivos puede usar ese usuario y con qué permisos Un usuario puede pertenecer a varios grupos, por lo tanto un usuario puede pertenecer a varios dominios Existe un usuario especial llamado «root» (con UID=0) que tiene todos los privilegios Esto puede llevar a problemas de seguridad ⇒ Con la clave de root ¡¡se tiene acceso a todo el sistema!! Tema 7 Seguridad y Protecci´on – p. 23
  24. 24. 3. Seguridad en Linux (ii) En Linux, cada fichero y dispositivo (a través de las entradas en /dev) pertenece a un usuario y a un grupo Se implementan ACLs restringidas, ya que se especifica en cada fichero qué permisos tiene cada usuario sobre ese fichero Las ACLs están restringidas a tres «grupos de usuarios»: propietario: Permisos para el usuario propietario del fichero grupo: Permisos para los usuarios que pertenezcan al grupo al que pertenece el fichero «otros»: Resto de usuarios Para cada uno de los grupos: permisos (lectura, escritura, ejecución) Extensiones para ext2/ext3 que implementan atributos extendidos para los ficheros: p.ej. ACLs completas Tema 7 Seguridad y Protecci´on – p. 24
  25. 25. 3. Seguridad en Linux (iii) La función chmod permite modificar los permisos de los ficheros Es la función que ofrece Linux para modificar la matriz de acceso Binary Symbolic Allowed file accesses 111000000 rwx– – – – – – Owner can read, write, and execute 111111000 rwxrwx– – – Owner and group can read, write, and execute 110100000 rw–r– – – – – Owner can read and write; group can read 110100100 rw–r– –r– – Owner can read and write; all others can read 111101101 rwxr–xr–x Owner can do everything, rest can read and execute 000000000 – – – – – – – – – Nobody has any access 000000111 – – – – – –rwx Only outsiders have access (strange, but legal) Tema 7 Seguridad y Protecci´on – p. 25
  26. 26. 3. Seguridad en Linux (iv) Cada proceso se ejecuta con los privilegios del usuario que lo crea Excepcionalmente, los ejecutables pueden poseer en sus atributos los bits SETUID y SETGID: SETUID: Al ejecutarse toma el UID del usuario propietario del ejecutable SETGID: Al ejecutarse toma el GID del grupo propietario del ejecutable Así, un proceso tiene dos parejas de identificadores: el usuario/grupo real UID,GID y el usuario/grupo efectivo EUID,EGID : getuid()/geteuid() getgid()/getegid() Normalmente, ambos son iguales, salvo cuando están los bits SETXXX Tema 7 Seguridad y Protecci´on – p. 26
  27. 27. 3. Seguridad en Linux (v) SETUID/SETGID (cont.) Por ejemplo, el usuario «pepe» del grupo «usuarios» ejecuta el siguiente programa: -r-sr-sr-x root lp 20 Abr 12:00 lpr Al ejecutarlo, el proceso lpr tiene los siguientes usuarios UID: pepe GID: usuarios EUID: root EGID: lp Tiene los permisos efectivos de «root» Tema 7 Seguridad y Protecci´on – p. 27
  28. 28. 3. Seguridad en Linux (vi) Linux implementa un sistema híbrido entre ACLs y listas de posibilidades: Los archivos contienen una ACL como se ha visto Cuando un proceso quiere abrir un archivo, se comprueba la ACL para ver si tiene acceso Si tiene acceso, se crea una entrada en la lista de ficheros abiertos para ese proceso Esa entrada contiene las posibilidades para ese proceso sobre ese fichero (leer, escribir, etc.) Así, la información de permisos de la lista de ficheros abiertos es de hecho una lista de posibilidades del proceso Tema 7 Seguridad y Protecci´on – p. 28
  29. 29. 4. Seguridad en Windows 2000 (Stallings, 15.6) También basado en autenticación de usuario con login y clave Al iniciar la sesión, el sistema asigna al usuario un SID (Security IDentifier) único También existen grupos de usuarios. Cada grupo también tiene un SID Al proceso inicial del usuario se le asigna un «Token de seguridad» (Access Token), que heredan todos los subsiguientes procesos del usuario y que contiene el contexto de seguridad: Tiempo de expiración SID del usuario y del grupo primario del usuario SID de los grupos a los que pertenece el usuario Un conjunto de privilegios (por ejemplo, puede realizar copias de seguridad, depurar un proceso, hacer un «shutdown», etc.) Tema 7 Seguridad y Protecci´on – p. 29
  30. 30. 4. Seguridad en Windows 2000 (ii) Además, cada objeto (incluyendo procesos, ficheros, etc.) tiene un propietario y pertenece a un grupo, y tiene asociada una información de seguridad: describe qué usuarios y grupos pueden accederlo, y con qué privilegios Esa información de seguridad se llama descriptor de seguridad (security descriptor). Contiene: El SID del propietario El SID del grupo DACL: Lista de control de acceso que describe qué usuarios y grupos pueden usar el objeto y cómo (con qué permisos) SACL: Lista de acceso que especifica qué accesos al objeto causarán una entrada en el «log» (auditoría) del sistema Tema 7 Seguridad y Protecci´on – p. 30
  31. 31. 4. Seguridad en Windows 2000 (iii) Las ACLs (DACL, SACL) están compuestas de varias entradas (ACE, Access Control Entry), y se comprueban en orden: Se pueden poner las restricciones explícitas al principio Y luego dar acceso al resto de usuarios (véase figura página siguiente) Andrew no puede acceder porque tiene una entrada de denegación explícita al principio Tema 7 Seguridad y Protecci´on – p. 31
  32. 32. 4. Seguridad en Windows 2000 (iv) Tema 7 Seguridad y Protecci´on – p. 32
  33. 33. 4. Seguridad en Windows 2000 (v) La ACL de un fichero puede contener los siguientes permisos: Leer: el usuario puede leer el fichero, ver sus atributos, permisos y propietario Escribir: el usuario puede realizar cualquier función de lectura, pero también puede modificar el fichero y cambiar sus atributos Lectura y ejecución: además de los permisos de Leer, el usuario puede ejecutarlo Modificar: que permite leer y escribir en el fichero, permite eliminar el fichero Control total: que permite leer, escribir, modificar y eliminar el fichero Cambiar permisos etc. Tema 7 Seguridad y Protecci´on – p. 33
  34. 34. 4. Seguridad en Windows 2000 (vi) La ACL de un directorio puede contener los siguientes permisos: Leer: el usuario puede ver los ficheros y subdirectorios dentro del mismo, y ver el propietario, atributos y permisos del directorio Escribir: el usuario puede crear nuevos ficheros y subdirectorios dentro del directorio y cambiar sus atributos. Tb puede ver su propietario y sus permisos Listar el contenido de la carpeta: el usuario puede ver los nombres de sus ficheros y subcarpetas Lectura y Ejecución: puede realizar todas las acciones de los permiross Leer y Listar el contenido de la carpeta, y además desplazarse a través de las carpetas hasta otros ficheros y carpetas sin un permiso específico para cada carpeta Modificar: el usuario puede realizar todas las acciones de los permisos Escribir y Lectura y Ejecución, y tb puede eliminar la carpeta Control total: todas las acciones permitidas de los demás permisos, y además cambiar los permisos de la carpeta, tomar posesión y eliminar cualquier subcarpeta y fichero Cambiar permisos etc. Tema 7 Seguridad y Protecci´on – p. 34

×