Académique Documents
Professionnel Documents
Culture Documents
Operativos
SEGURIDAD
Importancia de la Seguridad
En la empresa:
Informacin tcnica.
Informacin comercial.
Informacin financiera.
Informacin legal.
Otro tipo de informacin.
En el hogar:
Informacin personal.
Informacin sobre crditos.
Documentos, fotografas, videos, etc.
Importancia de la Seguridad
Tendencias:
La informacin se va acumulando.
No existen sistemas de proteccin infalibles.
Los respaldos no se hacen frecuentemente.
Controles de acceso a redes o a Internet.
Registro de datos personales.
Trmites en lnea se incrementan.
El Comercio electrnico es ampliamente usado.
Historia de la Seguridad
Antes de los 90s toda la informacin se almacenaba en
mainframes y minicomputadoras.
Las primeras computadoras personales, las LAN y el Internet
comunicaron equipos y permitieron la bsqueda de
informacin.
Entorno de Seguridad
Seguridad y proteccin a veces se usan de forma indistinta.
Amenazas
Confidencialidad de datos. Hacer que los datos secretos
permanezcan as.
Integridad de datos. Los usuarios sin autorizacin no deben
ser capaces de modificar los datos sin permiso del dueo.
Disponibilidad del sistema. Nadie debe perturbar el
sistema para hacerlo inutilizable. Convertir computadoras
en equipos zombies a las rdenes de un usuario exterior.
Amenazas
Privacidad. Proteger a los individuos contra el mal uso de la
informacin sobre ellos, causando problemas legales y
morales.
Intrusos
La definicin de intruso es la persona que husmea en
lugares en donde no tiene que hacerlo, algunas categoras:
Criptografa o cifrado
El propsito de la criptografa es tomar un mensaje o
archivo, conocido como texto simple, y convertirlo en texto
cifrado de tal forma que slo las personas autorizadas
sepan cmo convertirlo nuevamente en texto simple.
Los algoritmos de cifrado y descifrado (funciones) siempre
deben ser pblicos, casi nunca se pueden mantener
secretos, dando una falsa sensacin de seguridad.
En la prctica, esta tctica se conoce como seguridad por
oscuridad y la emplean slo los amateurs en la seguridad.
10
Criptografa o cifrado
El secreto depende de los parmetros de los algoritmos, a
los cuales se les denomina claves.
Si P es el archivo de texto simple, KE es la clave de cifrado, C es el
texto cifrado y E es el algoritmo de cifrado (es decir, la funcin),
entonces C= E ( P, KE ).
sta es la definicin del cifrado, la cual indica que el texto cifrado se
obtiene mediante el uso del algoritmo de cifrado E, con el texto
simple P y la clave de cifrado (secreta) KE como parmetros.
11
Criptografa o cifrado
12
13
14
15
Funciones de una va
Utilizan una funcin del tipo:
y=f(x)
Dicha funcin manipula los bits en forma compleja.
Podra inicializar y con x.
Despus ejecuta un ciclo que itere todas las veces que haya
bits 1 en x, y en cada iteracin se permutan los bits de y.
Esta funcin se conoce como hash criptogrfica.
16
Firmas digitales
Un cliente pide a su banco que compre acciones para lo que
enva un correo electrnico.
Una hora despus las acciones se desploman.
El cliente niega haber enviado el mensaje.
El banco puede presentar el correo electrnico que recibi
pero el cliente lo rechaza diciendo que es falsificado.
Cmo puede un juez definir quien dice la verdad?
17
Firmas digitales
Las firmas digitales hacen posible autenticar correos
electrnicos.
Se usa la funcin hashing MD5 (algoritmo de firma de
mensajes 5) que da como resultado 16 bytes.
El algoritmo SHA-1 (Algoritmo de hash seguro) produce un
resultado de 20 bytes.
SHA-256 y SHA-512 producen 32 y 64 bytes
respectivamente.
18
Firmas digitales
El propietario del documento aplica su clave privada al hash
para obtener D(hash), este valor es el bloque de firma que
se adjunta al documento.
Cuando llega el documento y el hash, el receptor calcula el
hash mediante MD5 o SHA segn se haya acordado y aplica
la clave para obtener E(D(hash)).
Si el hash calculado no coincide con el del bloque de firma
no es vlido el documento.
19
Firmas digitales
Para distribuir la clave pblica del emisor se utiliza un
certificado que contiene el nombre del usuario, la clave
pblica y la firma de un tercero de confianza que lo avala.
20
Mdulo de Plataforma
confiable
El almacenamiento de claves de forma segura es esencial.
21
Mdulo de Plataforma
confiable
Microsoft ha desarrollado tecnologas para usar TPM como
Palladium, NGSCB y BitLocker.
El Sistema Operativo controla el TPM para evitar que se
ejecute software no autorizado.
La industria de la msica y las pelculas tienen inters en
TPM para evitar la piratera.
Para saber ms sobre este tema buscar Trusted
Computing en Internet.
22
Mecanismos de Proteccin
Dominios de proteccin.
Canales encubiertos.
23
Dominios de proteccin
Un dominio es un conjunto de pares (objeto, permisos).
24
Dominios de proteccin
La manera en que se asignan los objetos a los dominios
depende de los detalles sobre quin necesita saber qu.
Sin embargo, uno de los conceptos bsicos es el POLA
(Principle of Least Authority, Principio de menor autoridad),
o la necesidad de saber.
25
Dominios de proteccin
Una forma de implementar el sistema de seguridad es
mediante una matriz con filas de dominios y objetos de
columnas:
26
Dominios de proteccin
Un cambio de dominio puede hacerse en la matriz con
facilidad, se muestra como cambian los procesos del
dominio 1 al dominio 2, se usa en el programa SETUID en
UNIX:
27
Uso de las listas de control de acceso para administrar el acceso a los archivos.
PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS
28
29
Capacidades
A cada proceso se le asocia una lista de objetos que
puede utilizar indicando las operaciones.
La lista de capacidades (lista-C) contiene capacidades.
Cada capacidad otorga al propietario derechos sobre un
objeto.
Cuando se utilizan las capacidades, cada proceso tiene una lista de capacidades.
PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS
30
Capacidades
Hay tres mtodos de proteger la listas de usuarios que las
alteren:
Arquitectura etiquetada utiliza por cada palabra un bit adicional que
solo pueden cambiarlos los programas en modo kernel, usado en
IBM AS/400.
La lista-C se pone dentro del Sistema Operativo haciendo referencia
a la capacidad: Leer 1 Kb del archivo al que apunta la capacidad 2.
Uso en UNIX.
La lista-C se coloca en espacio de usuario, usando criptografa, los
usuarios no pueden cambiarla. Se utiliza en sistemas distribuidos.
31
Capacidades
Cuando un proceso cliente enva un mensaje a un servidor remoto
(por ejemplo, un servidor de archivos) el servidor crea el objeto y
genera un nmero aleatorio muy extenso (para comprobar) que no
se pone en la red.
Al crear el objeto el servidor devuelve al usuario el nmero
correspondiente, los derechos y el campo de comprobacin a travs
de una va segura criptogrficamente.
El usuario pide el objeto usando su clave.
32
Sistemas confiables
La nica forma conocida de construir un sistema seguro es
mantenerlo simple:
Los primeros sistemas de correo electrnico enviaban mensajes de
texto en ASCII que no daaban ningn sistema de cmputo. Al
aadirle documentos en Word con Macros, fue posible agregar
cdigo malicioso.
Las pginas estticas con HTML puro no eran peligrosas. Se crearon
applets que el usuario tiene que ejecutar con riesgos potenciales.
33
34
Un monitor de referencia.
PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS
35
Create object.
Delete object.
Create domain.
Delete domain.
Insert right.
Remove right.
36
37
Seguridad multinivel
Los sistemas operativos permiten a los usuarios determinar
quin puede leer y escribir en sus archivos y dems objetos,
se le conoce como control de acceso discrecional.
Un control ms estricto establece reglas sobre que puede
ver cada quin, esto solo puede cambiar por un permiso del
jefe, esto se llama control de acceso obligatorio.
38
Seguridad multinivel
El modelo Bell La Padula (1973) o sistema de seguridad
multinivel tiene las reglas:
1.
2.
39
Seguridad multinivel
En este modelo, los procesos leen y escribe objetos, pero
no se comunican entre s de forma directa.
Al usuario se le asigna un nivel de seguridad.
40
Seguridad multinivel
El modelo Bell La Padula guarda secretos pero no
garantiza la integridad de datos.
En el modelo Biba (1977) se usan las propiedades inversas:
1.
2.
41
Seguridad multinivel
En el modelo Biba un programador puede actualizar los
archivos de un usuario con menor nivel usando los datos
ledos de un usuario superior, pero no al revs.
No se pueden tener las propiedades de Bell La Padula y
las propiedades de Biba al mismo tiempo porque son
contrarias y entraran en conflicto.
42
Canales encubiertos
El modelo de Lampson (1973) se origin en sistemas de
tiempo compartido pero puede usarse en LAN y sistemas
multiusuario.
El primer proceso (cliente) desea que el segundo (servidor) realice
cierto trabajo.
El cliente y el servidor no confan uno en el otro.
El servidor tiene como funcin registrar datos confidenciales de los
usuarios evitando que los clientes los puedan ver.
Un tercer proceso, el colaborador, conspira para ver los datos
confidenciales, regularmente es propiedad del mismo usuario.
43
Canales encubiertos
El objetivo es disear un sistema en el que sea imposible
que el proceso servidor filtre al proceso colaborador la
informacin que ha recibido de forma legtima del
proceso cliente, esto se llama problema de
confinamiento.
44
Canales encubiertos
El objetivo es encapsular o confinar el servidor de tal
forma que no pueda pasar informacin al colaborador.
El colaborador puede tratar de detectar el flujo de bits al
monitorear cuidadosamente el tiempo de respuesta, el
canal que se usa para evitar esto se llama canal
encubierto que usa bloques de archivos.
45
Esteganografa
Este proceso consiste en enviar junto con el mensaje una
informacin secreta comprimida.
Considerar que se enva una foto en donde los bits que se trasmiten
tienen informacin de los colores de cada pixel.
Dentro de ciertos pixeles, se almacenan mediante un algoritmo de
compresin, texto secreto.
Al ser interceptado, el algoritmo de cifrado y descompresin descifra
todo como colores de la imagen pero no el texto comprimido.
El proceso de ocultar la existencia de informacin de esta forma se
llama esteganografa.
46
Autenticacin
Todo sistema computacional seguro debe requerir que
todos los usuarios se autentiquen al momento de iniciar
sesin.
Despus de todo, si el sistema operativo no puede estar
seguro de quin es el usuario, tampoco puede saber a qu
archivos y otros recursos puede acceder.
La autenticacin parece algo trivial pero es ms complicada
de lo que se podra esperar.
47
Autenticacin
La ENIAC no tena un sistema de autenticacin ni Sistema
Operativo.
Las primeras minicomputadoras (PDP-1 y PDP-8) no tenan
inicio de sesin, pero con el esparcimiento de UNIX en las
PDP-11 se requiri de uno.
48
Autenticacin
La mayora de los mtodos para autenticar usuarios cuando
tratan de iniciar sesin se basan en uno de tres principios
generales, que a saber identifican:
1.
2.
3.
49
Autenticacin
Las personas que desean ocasionar problemas en un
sistema en particular tienen que iniciar sesin, para lo cual
tienen que pasar por el procedimiento de autenticacin que
se utilice, a estas personas se les conoce como hackers.
Los hackers de sombrero blanco son los tipos buenos y los
hackers de sombrero negro son los tipos malos.
50
51
52
53
54
Seguridad de contraseas
UNIX
El inicio de sesin pide usuario y contrasea.
55
Seguridad de contraseas
UNIX
Este sistema tambin se puede atacar.
56
Seguridad de contraseas
UNIX
Para evitar esto Morris y Thompson crearon la tcnica de
inutilizacin llamada salt.
Un nmero aleatorio se modifica cada vez que cambia la contrasea,
este nmero se cifra y se guarda en otro archivo.
La contrasea se concatena con el nmero aleatorio y se cifran
juntos.
57
58
59
Autenticacin de retorespuesta
Otra opcin es guardar una lista de preguntas y respuestas
que se almacenen en un servidor de forma segura (cifrado).
Ejemplos:
Quin es la hermana de Margarita?
En que calle esta su escuela primaria?
Qu materia enseaba el maestro Fernando?
60
61
62
Autenticacin biomtrica
Hay caractersticas biomtricas que no se pueden falsificar.
63
Autenticacin biomtrica
Algunos mtodos:
64
65
Bombas lgicas
Una bomba lgica es una pieza de cdigo escrita por uno de
los programadores de la empresa (que en ese momento son
empleados) y se inserta de forma secreta en el sistema de
produccin.
Si recibe la contrasea diaria la bomba no se activar, pero
el da que despiden al programador, la bomba no recibe su
contrasea y explota.
Hay variantes, si el nmero de nmina del despedido no
aparece, se activa.
66
Bombas lgicas
La bomba lgica puede borrar contenido del disco, eliminar
archivos al azar, hacer cambios difciles de detectar en
programas clave o cifrar archivos esenciales.
A veces se cede al chantaje y se contrata al atacante por
mucho dinero para que lo arregle.
67
Trampas
Una trampa es un cdigo que inserta el programador para
evitar cierta verificacin de rutina, por ejemplo, que el inicio
de sesin pueda hacerse con el usuario zzzzz.
Si el programador trabaja para una compaa que hace
software, puede pasar el problema a todas las
computadoras que lo usen.
Para evitar esto las empresas hacen revisiones de cdigo
frecuentes donde cada programador revisa y permite que le
revisen su cdigo.
68
Suplantacin de identidad
Un usuario legtimo recolecta las contraseas de otro,
a esto se le conoce como suplantacin de identidad en
el inicio de sesin.
El usuario malicioso crea un programa que se ve igual
que la pantalla de inicio de sesin, elimina el eco y
guarda las contraseas en un archivo.
Esto se puede evitar usando una serie de teclas como
Ctrl-Alt-Supr en Windows que desconecta al usuario
anterior e inicia el programa de inicio de sesin del
sistema.
PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS
69
4.
5.
6.
70
71
72
Cadenas de formato
Suceden cuando el programador modifica el cdigo de
algn programa permitiendo que el usuario introduzca, por
accidente, una cada de formato, esto es posible en lenguaje
C con los formatos que pueden usarse con printf.
Si el usuario tiene la habilidad de sobre escribir la memoria
y forzar un salto a un cdigo recin inyectado, el cdigo
tiene todo del poder y acceso al programa que est
atacando.
73
74
75
Desbordamiento de enteros
Las computadoras realizan operaciones con nmeros de
longitud fija, de 8, 16, 32 o 64 bits.
Si la suma de dos nmeros o la multiplicacin excede al
mximo entero, se produce un desbordamiento.
Los programas en C no atrapan este error, solo almacenan y
utilizan el valor incorrecto.
Esto puede ser un ataque al proporcionar parmetros
vlidos pero con nmeros grandes.
76
Inyeccin de cdigo
La funcin system en lenguaje C crea una bifurcacin del
shell y ejecuta argumentos como comandos shell.
system (cp abc xyz; rm rf /)
Este comando copia el archivo abc como xyz y despus trata
de eliminar, de forma recursiva cada archivo y directorio de
todo el sistema.
Si el programa se ejecuta como superusuario muchas
posibilidades de lograrlo.
77
Escalada de privilegios
El atacante engaa al sistema para que le de ms permisos
de los que tiene.
Por lo general lo engaa para que haga algo que solo el
superusuario puede hacer.
Una de estas opciones es ejecutar un programa arbitrario
con privilegios de superusuario, que tiene muchas
posibilidades de hacerlo sin que otro usuario o
administrador lo cuestione.
78
Malware
Antes del ao 2000 los adolescentes aburridos pero
inteligentes algunas veces escriban software malicioso en
sus horas de ocio que luego liberan, solo por hacerlo.
A este software que inclua troyanos, virus y gusanos que en
conjunto se conoce como malware.
79
Malware
Otra aplicacin comn es instalar un keylogger en la
mquina infectada, este programa se encarga de registrar
todo lo que se teclea y se enva al criminal.
Los datos del keylogger combinados con otros pueden
convertirse en un robo de identidad, datos de tarjetas de
crdito, fechas de nacimiento, contraseas, nmeros de
cuentas bancarias, etc. Pueden ser usados o incluso
vendidos a otros.
80
81
Virus
Un virus es un programa que se puede reproducir a s
mismo al adjuntar cdigo a otro programa, similar a lo que
hace un virus biolgico.
Escrito en ensamblador o en C, un virus inserta un
programa usando una herramienta llamada dropper.
82
Virus
El virus de compaa no infecta un programa, sino que se
ejecuta cada vez que lo hace el programa.
Cuando en MS-DOS el usuario escribe prog se busca el
prog.com o prog.exe. Si los dos se encuentran, ejecuta el
primero y luego el segundo.
83
84
85
86
87
Situacin despus de que el virus ha capturado todos los vectores de interrupcin y trampa. Despus de que el
sistema ha recapturado el vector de interrupcin de la impresora. Despus de que el virus ha observado la prdida
del vector de interrupciones de la impresora y lo recaptura.
PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS
88
89
Virus de macro
Los virus de macro pueden insertarse en programas como
Word o Excel, las macros son grupos de comandos que se
ejecutan usando mens, botones o teclas.
Un virus puede activarse cuando la macro por ejemplo abre
un archivo, ya en funcionamiento el virus puede infectar a
otros programas, eliminar documentos en Word, etc.
El uso de correo electrnico con archivos adjuntos permite
distribuir estos virus.
90
ejecutar_virus( );
91
92
Gusanos
En 1988 Morris descubri 2 errores en Berkeley UNIX que
permita obtener acceso no autorizado a equipos por
Internet.
Escribi un programa llamado gusano que se duplicaba a s
mismo y se pasaba a cada mquina que la que poda entrar.
Usaba 3 mtodos para infectar mquinas:
1.
2.
3.
93
Spyware
Es un software que se carga de forma clandestina en una PC
sin que su propietario se entere y se ejecuta en segundo
plano.
Tiene 4 caractersticas:
1.
2.
3.
4.
94
Spyware
El spyware se divide en 3 categoras:
1.
2.
3.
95
96
97
Rootkits
Es un programa o conjunto de programas y archivos que
intenta ocultar su existencia incluso frente a intentos de
eliminacin del propietario del equipo infectado. Tipos:
o Rootkits de firmware.
o Rootkits de hipervisor.
o Rootkists de kernel.
o Rootkits de biblioteca.
o Rootkits de aplicacin.
98
Defensas
Uso de un firewall que protege una LAN.
99
100