Anda di halaman 1dari 34

Tema 7

Seguridad y Proteccin

Tema 7 Seguridad y Proteccio n p.


1

ndice
1.

2. Seguridad (Tanenbaum, 9.19.5), (Stallings, 15.115.4)


proteccin
(Tanenbaum, 9.6), (Stallings, 15.2)
3. Mecanismos
Seguridad ende
Linux
(Tanenbaum, 10.7)
4. Seguridad en Windows 2000 (Stallings, 15.6)

Tema 7 Seguridad y Proteccio n p.


2

ndice
1.
Seguridad
9.19.5),
15.115.4)
1.1.
Tipos de(Tanenbaum,
amenazas
a la(Stallings,
seguridad
1.2. Autenticacin de usuarios por contrasea
1.3. Ataques a la seguridad
1.4. Principios de diseo para la seguridad

Tema 7 Seguridad y Proteccio n p.


3

Seguridad
Distincin entre seguridad y proteccio n
Proteccin: Mecanismos que articula el S.O. para proteger la
informacin, los usuarios, los procesos, . . .
Seguridad: concepto ms mplio, que incluye seguridad
fsica (p.
ej. quin tiene acceso a los edificios?), etc.

Amenazas a la seguridad (requisitos de un sistema de


seguridad)
Confidencialidad: Acceso slo a usuarios autorizados. (Este tipo de
acceso incluye la impresin, visualizacin y otras formas de revelacin,
incluyendo el simple revelado de la existencia de un objeto)

Integridad: Modificacin slo por los usuarios autorizados. (La


modificacin incluye escritura, cambio, cambio de estado, borrado y creacin)

Disponibilidad: Los recursos deben estar disponibles para los


usuarios autorizados (Si no, se produce la denegacin de
Tema 7 Seguridad y Proteccio n p.
4

1.1 Tipos de amenazas a la seguridad


Interrupcin (afecta a la disponibilidad)
Se corta el flujo desde emisor al receptor. Se destruye el elemento del
sistema o se hace inaccesible o intil. (Ej.: destruccin de un disco duro, corte
de
la lnea de comunicacin, inutilizacin del SF)

Intercepcin (afecta a la confidencialidad)


Una tercera entidad se entera de la comunicacin. Una parte no
autorizada, que puede ser una persona, programa o computador,
consigue acceder a un elemento. (Ej.: copia ilcita de programas (piratera)
o ficheros)

Modificacin (amenaza la integridad)


Una tercera entidad cambia los datos. Una parte no autorizada no slo
consigue acceder, sino que falsifica un elemento. (Ej: cambio de valores de
un
fichero)

Invencin (tambin amenaza la

integridad)

Una tercera entidad inventa datos no emitidos. Una parte no autorizada


inserta objetos falsos en el sistema. (Ej.: insercin de mensajes falsos enTema
la 7red
Seguridad y Proteccio n p.
5

1.1 Tipos de amenazas a la seguridad (ii)

Origen

Destino

(a) flujo normal

Origen

Destino

(b) interrupcion

Origen

(d) modificacion

Origen

Destino

(c) intercepcion

Destino

Destino

(e) invencion

Tema 7 Seguridad y Proteccio n p.


6

1.1 Tipos de amenazas a la seguridad (iii)

Tema 7 Seguridad y Proteccio n p.


7

1.2 Autenticacin de usuarios por contrasea


La seguridad depende de quie n puede acceder
al
sistema
Lo ms normal es utilizar ID+contrasea
El
determina
si se
acceso
a qu
nivel (p.ej.
nydel
EsID
muy
importante
la tiene
autenticacio
usuario
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 contraseas iguales
Incrementa el nmero de datos en la clave
Impide el uso de DES hardware
Funcin crypt(clave,
crypt("hola,

salt);

caracola","aq")

->aqFp.evU2e7T2

crypt("hola, caracola","as") ->ascKZQc0MMnkM


Tema 7 Seguridad y Proteccio n p.
8

1.2Autenticacin de usuarios por contrasea (ii)


Estrategias de eleccin de contraseas
Las contraseas son difciles de romper
(distributed.net)

Aunque el problema: los usuarios (longitud,


sencillas, etc.)
Tcnicas para evitarlas:

palabras

Contraseas largas, que no sean palabras de diccionario,


introducir dgitos, letras en maysculas y minsculas y
caracteres especiales
Instruccin del usuario
Inspeccin proactiva de contraseas
o El administrador puede comprobar la robustez de las
contraseas de los usuarios ejecutando l mismo
programas de averiguacin de contraseas
(crack )

Tema 7 Seguridad y Proteccio n p.


9

1.3 Ataques a la seguridad


Ataques genricos a la seguridad
Se contrata a un equipo especializado
Solicitar pginas de memoria (o disco) y leerlas
Llamadas al sistema invlidas
Detencin de la conexin al sistema
Modificar las estructuras de la parte de usuario
Engae al usuario, escribiendo un programa login
Busque fallos en manuales (no use X)
Convenza al administrador para que deje un sistema
menos seguro

Engaar o sobornar al personal :-)

Tema 7 Seguridad y Proteccio n p.


10

1.3 Ataques a la seguridad (ii)


Amenazas a la seguridad con ataques especficos
Caballos de Troya: Sustituyen un comando
interno por otro que realiza labores ilegales (por
ejemplo, devolver informacin del sistema hacia
afuera)
Falsificacin del inicio de sesin: Engaan al
usuario, que escribe su login/password
Bombas lgicas: Estallan al cierto tiempo (ej.
viernes 13)
Trampas o backdoors: Programas con puertas
traseras
Desbordamiento de buffers: Sobrescriben partes del
programa con cdigo malicioso (p. ej. aprovechando
fallos de seguridad para convertirse en root)
Virus y gusanos
Tema 7 Seguridad y Proteccio n p.
11

1.4 Principios de diseo

para la seguridad

(Saltzer y Schrder)
El diseo debe ser pblico
El estado por defecto debe ser el de no acceso
La verificacin debe ser activa y continua
Dar a las entidades el mnimo privilegio posible
El mecanismo de proteccin debe ser simple, uniforme
e integrado (no es un valor aadido, sino una
caracterstica a todos los niveles)
Debe ser psicolgicamente aceptable por los usuarios

Tema 7 Seguridad y Proteccio n p.


12

ndice
2.
Mecanismos
de la
proteccin
2.1.
Objetivos de
proteccin
(Tanenbaum, 9.6), (Stallings, 15.2)
2.2. Dominios de proteccin
2.3. Matriz de proteccin
2.4. Listas de control de acceso
2.5. Capacidades
2.6. Mecanismos de llave y cerradura
2.7. Comparacin
2.8. Canales ocultos

Tema 7 Seguridad y Proteccio n p.


13

2. Mecanismos de proteccin
Proteccin: Mecanismos que articula el S.O. y el
hardware para conseguir la seguridad en el mbito del

S.O.
Mecanismos de proteccin (ya vimos algunos, de bajo
nivel)
Hardware de direccionamiento de memoria
Cronmetro
Modo dual, etc.
Mecanismos de ms alto
nivel
Delimitar la informacin a la que puede acceder
Definicin de usuarios y objetos a proteger
cada usuario

Tema 7 Seguridad y Proteccio n p.


14

2.1 Objetivos de la proteccin


La proteccin controla el acceso a los recursos
vs. Mecanismo
Las polticas 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 mrqueting, etc.)
Existen entonces una serie de mecanismos que
ofrece el S.O. para poder implementar las
polticas (permisos, ficheros, usuarios, etc.)
Las polticas pueden cambiar y adems dependen
de cada organizacin Los S.O. deben ofrecer
mecanismos generales y flexibles que permitan
implementar las polticas

Poltica

Tema 7 Seguridad y Proteccio n p.


15

2.2 Dominios de proteccin


De cara a la seguridad y la proteccin, un sistema se ve
como un conjunto de objetos que necesitan proteccin:
CPU, memoria, terminales, procesos, ficheros, bases de datos

Cada objeto tiene un nombre nico, y un conjunto


de
operaciones
Cmo especificamos qu le est permitido a cada

un conjunto de objetos:

usuario con cada objeto? DOMINIO

Cjto. de parejas (objeto, derechos) * Derecho es el permiso


Un dominio representa un conjunto de permisos
para realizar cierta tarea

sobre

Domain 1
File1[R]
File2[R W ]

Domain 2

Domain 3

File3[ R]
File4[ R W X] Printer1[ W ]
File5[ R W ]

File6[ R W X ]
Plotter 2[W ]
Tema 7 Seguridad y Proteccio n p.
16

2.3 Matriz de acceso

o de proteccin

Podemos imaginar una matriz

filas dominios
columnas objetos
En cada casilla permisos
Las filas representan los dominios: asocian objetos con
sus permisos

Las
columnas
los permisos
de cada
objeto
Si los
procesosrepresentan
pueden cambiar
de dominio
Enter
Domain
1

2
3

File1

File2

Read

Read
Write

File3

File4

File5

Object
File6

Printer1 Plotter2 Domain1 Domain2 Domain3


Enter

Read

Read
Write
Execute

Read
Write

Write
Read
Write
Execute

Write

Write

Tema 7 Seguridad y Proteccio n p.


17

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

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 indicacin 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

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 slo a Objeto 2
U1

Objeto 1

U2

Objeto 2

Tema 7 Seguridad y Proteccio n p.


20

2.7 Comparacin
Las ACL son ms sencillas para el usuario
Sin embargo, es difcil saber los derechos de un
usuario
Suelen ser costosas ya que hay que buscar en
cada acceso
Las listas de posibilidades son ms complejas para el
usuario
Es difcil recuperar todos los permisos de un objeto
particular

Qu pasa con la revocacin de permisos?

Tema 7 Seguridad y Proteccio n p.


21

2.8 Canales ocultos


Aunque un servidor se confine con mecanismos de proteccin,
puede comunicar a otro proceso colaborador * Canal oculto
La comunicacin podra 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 tcnicas como
Hamming
No se puede evitar... y hay muchas ms.
Client

Server

Collaborator

Encapsulated server

Kernel

Kernel

(a)

(b)

Covert
channel
Tema 7 Seguridad y Proteccio n p.
22

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

Adems, el sistema se administra como un conjunto de


Grupos de usuarios,

cada uno con su GID

Asf, un par (UID,GID) forma un dominio en Linux


Esto es, define qu archivos o dispositivos puede usar ese
usuario y con qu permisos

tanto
un usuario
pertenecer
a varios
dominios
Un usuario
puedepuede
pertenecer
a varios
grupos,
por
lo
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 Proteccio n p.
23

3. Seguridad en Linux (ii)


En Linux, cada fichero y dispositivo (a travs 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 estn restringidas a tres grupos de
usuarios:
propietario:
Permisos
el usuario
propietario
del al
fichero
grupo: Permisos
para para
los usuarios
que
pertenezcan
grupo al
que pertenece el fichero
otros: Resto de usuarios

Para cada uno de los grupos: permisos (lectura,


escritura, ejecucin)
Extensiones para ext2/ext3 que implementan atributos
extendidos para los ficheros: p.ej. ACLs completas

Tema 7 Seguridad y Proteccio n p.


24

3. Seguridad en Linux (iii)


La funcin chmod permite modificar los permisos de los

ficheros

Es la funcin que ofrece Linux para modificar la matriz de acceso

Binary
111000000
111111000
110100000
110100100
111101101
000000000
000000111

Symbolic
rwx

rwxrwx
rwr
rwr r
rwxrxrx

rwx

Allowed file accesses


Owner can read, write, and execute
Owner and group can read, write, and execute
Owner can read and write; group can read
Owner can read and write; all others can read
Owner can do everything, rest can read and execute
Nobody has any access
Only outsiders have access (strange, but legal)

Tema 7 Seguridad y Proteccio n p.


25

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

Asf, un proceso tiene dos parejas de


identificadores: el
usuario/grupo real (UID,GID) y el usuario/grupo
efectivo
(EUID,EGID):
getuid()/geteuid()

Tema 7 Seguridad y Proteccio n p.


26

3. Seguridad en Linux (v)


SETUID/SETGID (cont.)
Por ejemplo, el usuario pepe del grupo
usuarios
-r-sr-sr-x
lp
ejecuta el siguienteroot
programa:
Al ejecutarlo, el proceso lpr

20 Abr 12:00

lpr

tiene los siguientes

usuarios
UID: pepe
GID: usuarios
EUID: root
EGID:
Tiene
loslppermisos efectivos de root

Tema 7 Seguridad y Proteccio n p.


27

3. Seguridad en Linux (vi)


Linux implementa un sistema hfbrido 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.)
Asf, la informacin de permisos de la lista de
ficheros abiertos es de hecho una lista de
posibilidades del proceso

Tema 7 Seguridad y Proteccio n p.


28

4. Seguridad en Windows

2000

(Stallings, 15.6)

Tambin basado en autenticacin de usuario con login


y clave

al usuario un SID

Al iniciar la sesin, el sistema asigna

Cada grupo
(Security IDentifier) nico
Tambin existen grupos de usuarios.
Al
proceso
inicial
del usuario se le asigna un Token de
tambin
tiene
un SID
seguridad (Access Token), que heredan todos los
subsiguientes procesos del usuario y que contiene el
contexto de seguridad:
Tiempo de expiracin
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 Proteccio n p.
29

4. Seguridad en Windows 2000 (ii)


Adems, cada objeto (incluyendo procesos, ficheros,
etc.) tiene un propietario y pertenece a un grupo, y
tiene asociada una informacin de seguridad: describe
qu usuarios y grupos pueden accederlo, y con qu
privilegios

Esa informacin 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 cmo (con qu permisos)
SACL: Lista de acceso que especifica qu accesos al objeto
causarn una entrada en el log (auditora) del sistema
Tema 7 Seguridad y Proteccio n p.
30

4. Seguridad en Windows 2000 (iii)


Las ACLs (DACL, SACL) estn compuestas de varias
entradas (ACE, Access Control Entry), y se
comprueban en orden:
Se pueden poner las restricciones explfcitas al
principio

Y luego dar acceso al resto de usuarios


(vase figura pgina siguiente)
Andrew no puede acceder porque tiene una entrada
de denegacin explfcita al principio

Tema 7 Seguridad y Proteccio n p.


31

4. Seguridad en Windows 2000 (iv)

Tema 7 Seguridad y Proteccio n p.


32

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 funcin de lectura,
pero tambin puede modificar el fichero y cambiar sus atributos
Lectura y ejecucin: adems de los permisos de Leer, el usuario
puede ejecutarlo
Modificar: que permite leer y escribir en el fichero, permite
eliminar
Control total:
el fichero
que permite leer, escribir, modificar y eliminar el
fichero
Cambiar permisos
etc.

Tema 7 Seguridad y Proteccio n p.


33

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 Ejecucin: puede realizar todas las acciones de los permiross Leer y
Listar el contenido de la carpeta, y adems desplazarse a travs de las carpetas
hasta otros ficheros y carpetas sin un permiso especfico para cada carpeta
Modificar: el usuario puede realizar todas las acciones de los permisos Escribir y
Lectura y Ejecucin, y tb puede eliminar la carpeta
Control total: todas las acciones permitidas de los dems permisos, y adems
cambiar los permisos de la carpeta, tomar posesin y eliminar cualquier
subcarpeta y fichero
Cambiar permisos
etc.

Tema 7 Seguridad y Proteccio n p.


34

Anda mungkin juga menyukai