Vous êtes sur la page 1sur 26

JAVIER ECHAIZ

Clase 11 Javier Echaiz D.C.I.C. U.N.S. http://cs.uns.edu.ar/~jechaiz je@cs.uns.edu.ar

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Proteccin en Sistemas Operativos

Veremos las contribuciones en cuanto a seguridad que nos brindan los Sistemas Operativos

Veamos qu y cmo puede proteger la Seguridad un S.O

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Un poco de Historia
Originalmente no habia S.O. Usuario = S.O. Primeros O.S.s: ejecutivos: loaders, linkers, etc.

Multiprogramacin. Nuevo rol del S.O.


Surge proteccin entre procesos de un mismo o diferentes usuarios.

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Objetos a Proteger
memoria
procesador dispositivos I/O compartidos, e.g. discos

dispositivos I/O compartidos serialmente, e.g. impresoras


programas compartidos datos compartidos Los Sistemas Operativos tuvieron que hacerse cargo de la seguridad de estos objetos cuando asumieron la responsabilidad del sharing controlado.
4

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Mtodos de Seguridad (1)


La base de la proteccin es la separacin. Separar los objetos de un usuario de los objetos de otros usuarios. Esta separacin puede hacerse de 4 formas en un S.O: Separacin Fsica. Los procesos usan diferentes objetos fsicos. Ej: una impresora por usuario. Separacin Temporal. Procesos con distintos requerimientos de seguridad corren en diferentes tiempos. Separacin Lgica. Los usuarios trabajan como si no existiera ningn otro proceso. Separacin Criptogrfica. Los procesos protegen su entorno hacindolo ininteligible desde su exterior.
5

C O PM UB E I DN EA NR S E

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Mtodos de Seguridad (2)


Separacin es solo la mitad de la respuesta. Queremos que los usuarios compartan algunos objetos. Protecciones en diferentes niveles. Sin Proteccin. Apropiados si hay separacin fsica/temporal. Aislamiento. Cada proceso tiene su espacio de direcciones, archivos, etc. Compartir Todo o Nada. El dueo de un objeto lo declara pblico o privado. Lo accede todo el mundo o nadie. Compartir via Limitacin de Acceso. El control de acceso se implementa para cada usuario y para cada objeto.
6

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Mtodos de Seguridad (3)


Protecciones en diferentes niveles. (sigue) Compartir por Capacidades. Extensin de Compartir por limitacin de acceso: creacin dinmica de objetos compartidos. El grado de sharing depender del objeto, entorno o del owner. Limitar el Uso de un Objeto. No solo se limita el acceso sino tambin el uso de un objeto. Ej: permiso de lectura pero no de escritura sobre un archivo. Nuevamente los modos fueron agrupados desde el ms fcil al ms difcil de implementar.
7

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Mtodos de Seguridad (4)


La Granularidad del control es tambin muy importante.
Por ejemplo los datos de un archivo se pueden controlar al nivel del bit, byte, word, registro o archivo. A mayor granularidad ms fcil implementacin pero menor control.
Veamos ahora tipos especficos de proteccin segn el tipo de objeto a proteger.

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Proteccin de Memoria y Direccionado (1)


El problema ms obvio de la multiprogramacin es la proteccin de memoria. Protecciones de Hardware (sin costo adicional para el S.O). Vallado (Fence)
Es la proteccin de memoria ms simple y fue introducida en los sistemas monousuario para evitar que un programa defectuoso destruya parte del S.O residente. Se puede implementar mediante una direccin de memoria predefinida o mediante un registro, fence register (ms flexible). Protege al S.O pero no a los usuarios!
9

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Proteccin de Memoria y Direccionado (2)


Relocacin Es el proceso de tomar un programa como si comenzara en la direccin 0 y cambiar todas las direcciones para reflejar las direcciones actuales. A veces se usa un relocation factor para marcar la direccin inicial del programa. Se puede utilizar el fence register para implementarlo.

10

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Proteccin de Memoria y Direccionado (3)


Registros Base/Lmite
El registro de relocacin provee una direccin base o de comienzo. Todas las direcciones del programa son desplazamientos a partir de la direccin base. Registro Base.

Con el Registro Lmite se fija el lmite superior del direccionado de un usuario.


Ahora se puede proteger a un usuario de otro, pero todava no se puede proteger de s mismo. Para solucionar este problema se pueden usar ms pares de registros ideas?
11

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Proteccin de Memoria y Direccionado (4)


Arquitectura Etiquetada
Otro problema del esquema base/lmite es la continuidad de las reas de memoria. Adems la comparten todo o nada. La idea de este esquema es la de marcar cada word de memoria con permisos usando bits extras. Estos bits sern inicializados en modo privilegiado. Alternativamente se puede etiquetear un grupo de direcciones. Memoria hoy es barata, el problema de implementar sta tcnica son las costosas modificaciones en los S.O.s.
12

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Proteccin de Memoria y Direccionado (5)


Segmentacin (1)
Los ltimos dos mtodos pueden implementarse no tan costosamente, sobre arquitecturas comunes. Esta tcnica es de 1965 y result ser sumamente til para el direccionado y trae consigo el bono de la proteccin de memoria. En este esquema el programa se divide en piezas llamadas segmentos. Independencia lgica.

Se direcciona as: <nombre de segmento, offset>.


El S.O. mantiene una tabla de segmentos (una por proceso) para convertir estas direcciones a direcciones reales.
13

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Proteccin de Memoria y Direccionado (6)


Segmentacin (2)
Este ocultamiento de direcciones brinda 3 ventajas al S.O.: El sistema operativo puede mover el segmento a donde quiera, incluso durante la ejecucin del programa. Solamente tiene que cambiar la tabla de segmentos. Puede swappear a otro dispositivo (disco) un segmento no utilizado.

Toda direccin debe ser traducida por el S.O. Oportunidad para chequear protecciones.
14

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Proteccin de Memoria y Direccionado (7)


Segmentacin (3)

A cada segmento se le puede dar diferentes permisos. Ej: RO data, EO code, etc.
La segmentacin ofrece lo siguiente a la proteccin de RAM:

Cada ref. a memoria es checkeada (permisos).


Distintos tipos de clase de datos puede tener distintos niveles de proteccin.

Dos o ms usuarios pueden compartir el mismo segmento.


Un usuario no puede direccionar memoria de segmentos no permitidos. Problemas de implementacin/eficiencia?
15

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Proteccin de Memoria y Direccionado (8)


Paginado

En este caso una direccin es de la forma: <pgina, offset>


El programa se divide en segmentos iguales: pginas y la memoria se divide en bloques de 1 pgina: page frames.

Las pginas no siguen asignaciones lgicas. Esto es malo para la proteccin. Why? Paginado/Segmentado
En este caso se combina lo mejor de los dos mundos: eficiencia de implementacin del paginado y la proteccin posible en sistemas segmentados.

16

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Proteccin de Acceso a Objetos Generales


La proteccin de memoria es de cierta forma sencilla, pues cada acceso debe necesariamente pasar por algn mecanismo de hardware.
Hay objetivos complementarios de proteccin:
Controlar cada acceso. Queremos poder revocar los

permisos de algn usuario. Permitir el menor privilegio. El sujeto debe tener acceso al menor nmero de objetos necesarios para realizar una tarea. Verificar uso aceptable. No quiero solo acceso si/no, quiero tambin verificar que el uso de un objeto sea apropiado.

17

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Proteccin de Acceso a Objetos Generales


Mecanismos de Control de Acceso Directorio. Lista de permisos: una por usuario.

ACL (Lista de Control de Acceso). Lista de permisos: una por objeto.


Matriz de Control de Acceso. Tabla usuarios/objetos.

Capacidad. Ficha que le da accesos a un dado objeto. Pionero de Kerberos. Transferencia o propagacin de acceso. Control de Acceso orientado a Procedimientos. Fuera del S.O. Procedimiento extra, por lo tanto hay informacin escondida.

18

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Mecanismos de Proteccin de Archivos


Existen muchos programas y mecanismos de proteccin de archivos. Veremos nicamente los ms importantes/conocidos.

Formas Bsicas de Proteccin


Todos los S.O.s multiusuario tienen algn mecanismo de proteccin para evitar problemas por descuido, desconocimiento o mala intencin.

19

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Formas Bsicas de Proteccin


All-None.
IBM, no hay proteccin para nadie y todo es pblico. Proteccin: confianza ciega, ignorancia. Comentarios?

Inaceptable!!!
Grupo de Proteccin Grupos de usuarios que tienen cierta relacin. Ej: UNIX. Poltica de seleccin del grupo: necesidad de compartir. Mejor que el anterior pero introduce algunos problemas.
20

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Single Permissions
Password/Token. Se pueden usar para proteger archivos. Ej: S.O. solicita passwd en cada acceso al archivo. No hay problema con los grupos. Pero: prdida, revelacin, revocacin.

Permiso Temporal
Permiso suid (set userid). Permite acceso a un usuario que de otra forma solo podra acceder como root.

Proteccin por Objeto/Usuario


El principal problema de estos problemas est en la creacin de grupos tiles. Ej: VMS.
21

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Autentificacin de Usuarios
Fundamental poder probar que alguien es quien dice ser!

Uso de Passwords
Para que funcione como se espera el password debe ser nicamente conocido por el usuario y el sistema. Sistemas Reveladores. Informacin de Autentificacin Adicional.

22

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Ataques a Passwords
Brindan proteccin relativamente limitada: pocos bits.
Algunas formas de obtener el password de un usuario: Probar todos los passwords.

Probar posibles passwords.


Probar passwords probables para este usuario. Buscar en el archivo de passwords. Preguntarle al usuario. etc.
23

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Ataques a Passwords (1)


Ataque Exhaustivo/Fuerza Bruta
Probar todos los posibles passwords. Ej: 27^n en espaol para passwd de n letras maysculas. En gral la bsqueda se agota mucho antes. Passwords Probables Piensen en una palabra Es larga, poco conocida y difcil de pronunciar? NO! Atacante prueba primero con palabras cortas y que sigan ciertas costumbres.
24

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Ataques a Passwords (2)


Passwords Probables para un Usuario En general el password tiene un significado para uno. Trabajo, pelcula favorita, etc. Ej: Morris! Bsqueda de archivo (plano) de Passwords Si el atacante lo encuentra: pan comido Nada de andar probando/adivinando. Dump de memoria, backups, etc

Archivo de Passwords Encriptado


Ms seguro que el anterior. Funciones Hash. Ej: UNIX salt.
25

Seguridad en Sistemas: Proteccin en Sistemas Operativos

Ataques a Passwords (3)


Preguntarle al Usuario su Password Muy fcil. Visto en las primeras clases con ejemplos.

Un buen Password
No solo A-Z. Largo (6 o ms caracteres). Evitar palabras de diccionarios. Password no probable. Cambiar passwd regularmente. No escribirlo. No divulgarlo.
26

Vous aimerez peut-être aussi