Вы находитесь на странице: 1из 23

Diseo de Sistemas Operativos

Captulo 9 Seguridad y Proteccin en Sistemas Operativos

Extrado de Sistemas operativos: una visin aplicada


J. Carretero, F. Garca, P. de Miguel, F. Prez

Trminos y Conceptos
Sujetos (usuarios o tareas) Objetos (recursos, datos, etc.) Polticas de seguridad Mecanismos de seguridad Principio de mnimo privilegio Slo otorgar el privilegio realmente requerido

Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles

J. Carretero, F. Garca, P. de Miguel, F. Prez

Tipos de amenazas
Tipos de amenazas: Exploits Caballo de Troya. y Puertas traseras. Virus. Gusanos. G Ataques por denegacin de servicio

Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles

J. Carretero, F. Garca, P. de Miguel, F. Prez

Buffer overflow
Exploits: programas que aprovechan un error en otro programa para violar la poltica de seguridad Se populariz en 1997 pero sigue vigente Idea fundamental: corromper la pila de un programa escribiendo ms all de los lmites de un array Especialmente peligroso en programas con setuid

Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles

J. Carretero, F. Garca, P. de Miguel, F. Prez

Tcnica del buffer overflow


kernel space

0xFFFFFFFF

0xC0000000 argument 2 argument 1 RA frame pointer


Address of Attack code

stack

shared library y

0x42000000

locals buffer

heap bss static data code 0x08048000 0x00000000

Attack code

Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles

J. Carretero, F. Garca, P. de Miguel, F. Prez

Virus
Secuencia de cdigo que se inserta en un ejecutable Etapas de un virus Fase latente: El virus est dormido y se despierta por un evento Fase de propagacin: El virus inserta copias de s mismo en otros programas Fase de activacin: El virus se activa para realiza las funciones para las que fue concebido Fase de ejecucin: La funcin en cuestin se realiza

Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles

J. Carretero, F. Garca, P. de Miguel, F. Prez

Estrategias de los antivirus


Prevencin & Deteccin Aumento en tamao de ejecutables Su firma ( (secuencia de instrucciones, aunque q p puede cambiar al propagarse: mutar) Integridad de ejecutables (almacenar checksums) Detectar D operaciones i potencialmente i l peligrosas li Si la eliminacin no es posible debemos deshacernos del programa infectado Estrategias ms sofisticadas: Descifrado genrico

Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles

J. Carretero, F. Garca, P. de Miguel, F. Prez

Descifrado genrico
Generic decryption (GD) Permite P i la l deteccin d i de d virus i polimrficos li fi con altas l velocidades l id d Todos los ficheros se recorren con un escner GD que contiene Emulador de CPU: ordenador virtual basado en software Escner de firma de virus: recorre el cdigo buscando firmas de virus Mdulo de control de emulacin: controla la ejecucin del cdigo a analizar Dificultad: Cunto tiempo se tiene que ejecutar una interpretacin

Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles

10

J. Carretero, F. Garca, P. de Miguel, F. Prez

Gusanos
Caractersticas bsicas: Es un cdigo g malicioso cuya y principal p p misin es reenviarse a s mismo No afectan a la informacin de los sitios que contagian o se comportan con un virus Consumen amplios recursos de los sistemas y los usan para infectar a otros equipos El Gusano de Internet (1988): Se basaba en errores en servidores (fingerd, sendmail) No involucraba ninguna operacin perjudicial Dej fuera de servicio a miles de mquinas Su propagacin agresiva colapsaba las mquinas Enorme publicidad bli id d Provoc la creacin del CERT (Computer Emergency Response Team)
Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles 11 J. Carretero, F. Garca, P. de Miguel, F. Prez

Conejos o bacterias
No daan al sistema Se reproducen hasta que la cantidad de recursos consumidos se convierte en una negacin de servicio para el sistema afectado

Solucin: Utilidades del kernel para limitar recursos de los usuarios


Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles 12 J. Carretero, F. Garca, P. de Miguel, F. Prez

Caballos de Troya (troyanos)


Programa til que adems hace cosas no autorizadas El usuario ejecuta voluntariamente el programa malicioso Trojan mule o mula de Troya: es el falso programa de login

Bomba lgica: Similar al troyano pero slo se ejecuta bajo determinadas condiciones
13 J. Carretero, F. Garca, P. de Miguel, F. Prez

Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles

Puertas traseras
Trozos de cdigo que permiten saltarse los mtodos de autenticacin Usados por programadores para tareas de pruebas Puertas traseras en ficheros del sistema operativo: Aadir un usuario con UID 0 Aadir un nuevo servicio a un puerto. Cuando se hace un telnet se abre un shell con privilegios de root.

Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles

14

J. Carretero, F. Garca, P. de Miguel, F. Prez

Servicios de Seguridad
Servicios de Autenticacin: Identificacin de usuarios Servicios de Privacidad/Confidencialidad: Privilegios de acceso Niveles de ejecucin/lectura/escritura Soportados por medio de mecanismos criptogrficos.

Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles

18

J. Carretero, F. Garca, P. de Miguel, F. Prez

Servicios de Seguridad: Autenticacin


La autenticacin es el paso previo a la aplicacin de cualquier esquema de proteccin Determina si el usuario est autorizado Determina privilegios del usuario (admin, invitado, annima) Control de acceso discrecional Formas de establecer la identidad Pedir informacin (contraseas, juegos de preguntas) Caractersticas fsicas (pupila, (pupila huella dactilar,) dactilar ) Pedir un objeto (tarjeta, chip, ) Medidas suplementarias Limitar acceso a recursos a determinadas horas del da Expulsin del usuario despus de un periodo de inactividad
Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles 19 J. Carretero, F. Garca, P. de Miguel, F. Prez

Proceso de autenticacin
Fallos histricos Comprobar primero la identificacin del usuario (primeras versiones UNIX) ) Comprobar la contrasea carcter a carcter En caso de error, posibilidad de reintento En UNIX no se permiten reintentos hasta pasado un tiempo En Windows se bloquea la cuenta y se advierte al administrador Seguridad Troyanos: suplantan el proceso que solicita datos de entrada Usuarios descuidados: cuenta abierta, clave apuntada al lado del ordenador,)
Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles 20 J. Carretero, F. Garca, P. de Miguel, F. Prez

Servicios de Seguridad: Privacidad/Confidencialidad


Derechos de acceso, acceso pueden residir en: El Objeto => indica qu usuarios y qu derechos El Usuario => indica q qu objetos j y qu q derechos Dominios de Proteccin: Conjunto de usuarios a los que se les aplican derechos:
Formato: (objeto, derechos)

Simplificacin en UNIX:
Lectura(R), Escritura(W), Ejecucin(X) Dominios: Propietario, Grupo, Otros

Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles

21

J. Carretero, F. Garca, P. de Miguel, F. Prez

Servicios de Seguridad: Privacidad/Confidencialidad


Identificadores del usuario/grupo (UNIX): UID/GID Bits de p permisos especiales p (setuid,setgid) ( g ) UID/GID Efectivo (EUID/EGID) UID/GID Real Reglas de proteccin: Si UID efectivo = 0 se concede el acceso Si UID efectivo = UID del propietario se utiliza el primer grupo de bits; si no Si GID efectivo = GID del p propietario p se utiliza el segundo g grupos de bits; si no Se utiliza el ltimo grupo de bits.
Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles 22 J. Carretero, F. Garca, P. de Miguel, F. Prez

Servicios de Seguridad: Privacidad/Confidencialidad


SO debe almacenar las relaciones entre las 3 entidades Modelo formal: matrices de proteccin: filas: dominios; columnas: objetos; celdas: permisos

Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles

23

J. Carretero, F. Garca, P. de Miguel, F. Prez

Servicios de Seguridad: Privacidad/Confidencialidad


Matrices de Proteccin: Define la relacin entre dominios y objetos del sistema. Problemtica: Puede ser muy grande y dispersa Estructura esttica (dominios y objetos fijos) Implementacin: matriz dispersa; 2 alternativas: Almacenarla por filas:
lista de control de acceso (ACL) asociada a cada objeto cada entrada (ACE) define un dominio y unos permisos

Almacenarla por columnas:


capacidades p (capabilities p ) asociadas a cada dominio permisos para acceder a objetos desde ese dominio

Las ACL son las ms utilizadas


Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles 24 J. Carretero, F. Garca, P. de Miguel, F. Prez

Listas de Control de Acceso (ACLs)


A cada objeto se le asigna una lista de pares (dominio, operacin) que describe lo que el dominio puede hacer en el objeto. Ej Ejemplo: l permiso i de d lectura l t para todos t d menos Juan y de escritura slo para Luis; Son fciles de crear y mantener. Estn centralizadas con el objeto, bj t lo l que hace h fcil f il revocar permisos. Pero no son buenas si el sistema es grande y est muy solicitado: las ACL se y grandes g y sus vuelven muy operaciones son lentas

[Deny, Juan, R] + [Allow, Luis, W] + [Allow, *, R]

Concesiones y denegaciones de servicio Denegaciones g p primero/al final Se puede especificar usuario y grupo.

UNIX: bi UNIX bits RWX son ACL compactas y menos potentes Solaris y Linux permiten ACL

Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles

25

J. Carretero, F. Garca, P. de Miguel, F. Prez

Capacidades
Al crear un objeto, el proceso/usuario obtiene una capacidad con todos los permisos Las capacidades se heredan y tambin se pueden transferir a otros procesos restringiendo algn permiso Problemas para revocacin selectiva de permisos: Deben recorrerse todos los dominios para eliminarlas No usadas como mecanismo de proteccin bsico en sistemas de propsito general pero s de forma especfica Linux 2.6 implementa p capacidades p para p operaciones p de administracin (p.ej. si un usuario puede cambiar la hora) En Windows existe un mecanismo similar: asociado a cada usuario hay unos privilegios Se piden explcitamente o se conceden para una sesin o conjunto de operaciones.
26 J. Carretero, F. Garca, P. de Miguel, F. Prez

Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles

Capacidades
Las posee su dueo, que las puede ceder a otros. otros Las listas de capacidades son capacidades. Problema: conceder derechos es fcil, pero revocarlos muy difcil si el sistema i es grande d

Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles

27

J. Carretero, F. Garca, P. de Miguel, F. Prez

Entornos Virtuales: MVS vs. JVS


MVS
Al usuario al entrar en el sistema se le asignan una serie de recursos (virtuales). Los recursos estn emulados y pueden ser o no recursos hardware reales.

JVM
Ejecucin j de byte-code y . Tres niveles de seguridad: Verificador: Comprueba los modulos antes de su ejecucin. ejecucin Cargador de clases: Gestiona la carga dinmica. Gestores G t de d seguridad: id d Seguridad a nivel de aplicacin. Modificadores de seguridad: firmas.
J. Carretero, F. Garca, P. de Miguel, F. Prez

Sistemas operativos: una visin aplicada Versin seleccionada y ampliada por J.M. Pea, V. Robles

28

Вам также может понравиться