Vous êtes sur la page 1sur 100

Sistemas

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

Surgieron virus, gusanos y otras plagas digitales por Internet


que se propagan rpidamente por correo electrnico.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

Entorno de Seguridad
Seguridad y proteccin a veces se usan de forma indistinta.

Seguridad hace referencia a la naturaleza del problema, a


las causas que lo originan.
Los mecanismos de proteccin son los que utiliza el Sistema
Operativo para salvaguardar la informacin de la
computadora.
Las 3 facetas de la seguridad son: Amenazas, Intrusos y la
prdida accidental de datos.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

Amenazas
Privacidad. Proteger a los individuos contra el mal uso de la
informacin sobre ellos, causando problemas legales y
morales.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

Intrusos
La definicin de intruso es la persona que husmea en
lugares en donde no tiene que hacerlo, algunas categoras:

Usuarios no tcnicos que se entrometen de forma casual.


Intrusos que husmean.
Intentos determinados por obtener dinero.
Espionaje comercial o militar.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

Prdida accidental de datos


Por accidente pueden perderse datos valiosos, algunas
causas comunes son:
Accidentes y desastres naturales como incendios, inundaciones,
terremotos, guerras, disturbios, ataques terroristas, etc.
Errores de hardware o software tales como fallas de CPU, discos o
cintas que no se pueden leer, errores en telecomunicaciones, errores
de programas.
Errores humanos al introducir datos, al montar un CD-ROM de forma
incorrecta, perder un disco duro externo o cualquier otra.

Una solucin es tener respaldos.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

11

Criptografa o cifrado

Relacin entre el texto simple y el texto cifrado.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

12

Criptografa de clave secreta


Considerar un algoritmo en que una letra sustituye a otra
distinta.

A este sistema se le conoce como sustitucin


monoalfabtica en donde la clave es la cadena de las 26
letras correspondientes.
La clave se puede descubrir buscando la frecuencia de
letras, a este sistema se le conoce como criptografa de
clave secreta o criptografa de clave simtrica.
PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS

13

Criptografa de clave pblica


Este sistema requiere de clculos para cifrar o descifrar un
mensaje. Ejemplo:

El cifrado utiliza una operacin sencilla pero el descifrado


sin la clave, necesita una operacin difcil.
La clave pblica RSA toma en cuenta que una computadora
puede hacer clculos con nmeros muy grandes en poco
tiempo.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

14

Criptografa de clave pblica


El principal problema es que la criptografa de clave pblica
es ms lenta que la criptografa simtrica.
Funcionamiento:
Todos eligen un par (clave pblica, clave privada) y publican la clave pblica.
Esta clave pblica es la clave de cifrado; la clave privada es la clave de
descifrado.
Por lo general, el proceso de generacin de la clave es automatizado, en
donde tal vez una contrasea seleccionada por el usuario se alimenta al
algoritmo como una semilla.
Para enviar un mensaje secreto a un usuario, un corresponsal cifra el
mensaje con la clave pblica del receptor.
Como slo el receptor tiene la clave privada, slo l puede descifrar el
mensaje.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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?

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

Clculo de un bloque de firma y lo que obtiene el receptor.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

20

Mdulo de Plataforma
confiable
El almacenamiento de claves de forma segura es esencial.

La industria ha propuesto un chip llamado TPM (Trusted


Platform Modules) que almacena en forma no voltil las
claves.
El TPM realiza operaciones criptogrficas para cifrar bloques
de texto simple o descifrar bloques de texto cifrado en la
memoria principal.
Tambin verifica firmas digitales.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

22

Mecanismos de Proteccin
Dominios de proteccin.

Listas de control de acceso.


Capacidades.
Sistemas confiables.

Base de cmputo confiable.


Modelos formales de los sistemas seguros.
Seguridad multinivel.

Canales encubiertos.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

23

Dominios de proteccin
Un dominio es un conjunto de pares (objeto, permisos).

Cada par especifica un objeto y cierto subconjunto de las


operaciones que se pueden realizar en l.
Un permiso en este contexto indica el permiso para realizar
una de las operaciones.

A menudo, un dominio corresponde a un solo usuario y le


indica lo que puede hacer y lo que no, pero un dominio
tambin puede ser ms general que slo un usuario.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

Tres dominios de proteccin.


PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS

25

Dominios de proteccin
Una forma de implementar el sistema de seguridad es
mediante una matriz con filas de dominios y objetos de
columnas:

Una matriz de proteccin.


PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS

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:

Una matriz de proteccin con dominios como objetos.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

27

Listas de control de acceso


o Para no desperdiciar espacio con matrices se almacenan solo una
matriz por columna.
o A cada objeto de una lista ordenada se le asignan los objetos a los
que puede acceder.
o La Lista de control de acceso (Access Control List o ACL) a los
usuarios se les llama sujetos o protagonistas que tienen objetos:

Uso de las listas de control de acceso para administrar el acceso a los archivos.
PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS

28

Listas de control de acceso


Algunos sistemas integran el concepto de grupo de usuarios usando:
Se utiliza el concepto llamado rol :

En algunos casos un usuario puede tener acceso a ciertos archivos


usando un comodn.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

Una capacidad protegida mediante criptografa.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

33

Base de cmputo confiable


Un sistema confiable consiste de una TCB (Trusted
Computing Base) o base de cmputo confiable que incluye
el hardware y software mnimo necesario para cumplir con
las reglas de seguridad.
El monitor de referencia es parte de la TCB, acepta las
llamadas al sistema relacionadas con seguridad (como abrir
archivos) y decide si se abren o no.
La mayora de los S.O. estn diseados as.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

34

Base de cmputo confiable


El sistema de archivos y el administrador de procesos
forman parte de la base de cmputo confiable porque
pueden comprometer la seguridad del sistema.

Un monitor de referencia.
PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS

35

Modelos formales de sistemas


seguros
Hay seis operaciones primitivas para modelar un sistema de
proteccin segn Harrison y colaboradores (1976):

Create object.
Delete object.
Create domain.
Delete domain.
Insert right.
Remove right.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

36

Modelos formales de sistemas


seguros
Estas operaciones se pueden combinar en comandos de
proteccin.
Los programas de usuario pueden ejecutar estos comandos de
proteccin para cambiar la matriz, en estado autorizado y no
autorizado.

Un estado autorizado y un estado no autorizado.


PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

38

Seguridad multinivel
El modelo Bell La Padula (1973) o sistema de seguridad
multinivel tiene las reglas:
1.

2.

La propiedad de seguridad simple. Un proceso que se ejecuta


en el nivel de seguridad k slo puede leer objetos que estn en
su nivel o en uno menor.
La propiedad. Un proceso que se ejecuta en el nivel de
seguridad k slo puede escribir objetos en su nivel o en uno
mayor.

En sntesis, los procesos pueden leer en niveles menores y


escribir en niveles mayores, pero no al revs.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

El modelo de seguridad multinivel Bell-La Padula.


PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS

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.

El principio de integridad simple. Un proceso que se ejecuta en


el nivel de seguridad k slo puede escribir objetos en su nivel o
en uno inferior (no hay escrituras hacia arriba).
La propiedad de integridad. Un proceso que se ejecuta en el
nivel de seguridad k puede leer solo los objetos en su nivel o en
uno superior (no hay lecturas hacia abajo).

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

Los procesos cliente, servidor y colaborador. El servidor encapsulado puede


seguir filtrando la informacin al colaborador a travs de los canales encubiertos.
PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS

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.

Un canal encubierto que utiliza bloqueo de archivos.


PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

Las primeras computadoras personales (Apple II y IBM PC)


no tenan seguridad.
Actualmente Linux y Windows, adems de las LAN tienen
configurado el inicio de sesin.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

Algo que el usuario conoce.


Algo que el usuario tiene.
Algo que el usuario es.

Algunas veces se requieren dos de estos principios para una


seguridad adicional.
Estos principios producen distintos esquemas de
autenticacin con distintas complejidades y propiedades de
seguridad.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

Las personas que tratan de irrumpir en los sistemas


computacionales a los que no pertenecen se les llama
crackers.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

50

Autenticacin con contraseas


La forma ms utilizada de autenticacin es que el usuario
escriba un nombre y una contrasea.
La proteccin con contraseas es fcil de comprender y de
implementar.
La implementacin consiste en buscar el nombre de usuario
en una lista y comprobar si coincide la contrasea que
proporcion, de no ser as, no se le permite que inicie
sesin.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

51

Autenticacin con contraseas


A continuacin se muestran un inicio de sesin exitoso, uno
de usuario incorrecto y otro de contrasea incorrecta:

En el segundo caso, si un sistema indica que el usuario no es vlido,


le permite al cracker adivinar uno vlido.
En el tercer caso, si al cracker se le pide la contrasea, no se le da
pistas del nombre de usuario.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

52

Autenticacin con contraseas


Los crackers entran a la fuerza a un sistema conectndose
por Internet:
Muchos nombres de usuario son el nombre personal que puede
obtenerse de un directorio telefnico o lista de nombres para bebs.
La contrasea segn Morris y Thompson (1979) regularmente es el
nombre de la persona, nombre de una calle o ciudad, palabras del
diccionario de poca longitud incluso escritas al revs, placas de
automvil.
El conocer al usuario permite en muchos casos obtener la
contrasea.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

53

Autenticacin con contraseas


Para el Internet, el cracker puede acceder a una direccin
IP (de 32 bits) utilizando un programa que prueba una
conexin:
ping w.x.y.z
telnet w.x.y.z
Tambin es posible atacar los 65,536 puertos disponibles para encontrar una
IP activa.
En algunos sistemas el administrador se identifica como root, sysadmin,
admin o similar fcil de adivinar.
Una vez dentro, se usa un husmeador de paquetes que intercepta
comunicaciones buscando claves y contraseas de administrador.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

54

Seguridad de contraseas
UNIX
El inicio de sesin pide usuario y contrasea.

La contrasea se cifra mediante un programa.


El programa de inicio de sesin busca en el archivo de
contraseas la del usuario.
La contrasea en el archivo tambin est cifrada y si
coincide con la que acaba de cifrar el programa de inicio de
sesin, se da acceso.
Con este mtodo ni el superusuario puede ver la
contrasea, porque no est almacenada en forma
descifrada.
PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS

55

Seguridad de contraseas
UNIX
Este sistema tambin se puede atacar.

El cracker toma una lista de palabras probables de


contraseas y las cifra con un algoritmo conocido, sin
intentar entrar al sistema.
Luego, lee el archivo de contraseas que tiene acceso
pblico.
Compara las contraseas cifradas con las del archivo de
contraseas y si una coincide, ya tiene la clave de usuario y
la contrasea.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

El uso de un salt para evitar que las contraseas cifradas


se calculen con anticipacin.
PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS

57

Contrasea de un solo uso


El superusuario invita a los usuarios a cambiar su
contrasea cada mes, pero no le hacen caso.
Entonces se pueden cambiar las contraseas cada vez que
ingrese el usuario, por eso se conocen como contrasea de
un solo uso.

Si el cracker logra encontrarla, no la puede usar porque


cambia cada vez.
Al usuario se le da un libro de contraseas donde aparece la
siguiente a usar de una lista.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

58

Contrasea de un solo uso


El algoritmo de Lamport (1981) evita usar un libro de
contraseas.
Se basa en una funcin y = f ( x ) donde dada x es fcil de encontrar a
y, pero dada y es imposible calcular x.
El usuario selecciona una contrasea que memoriza y un entero n
que representa el nmero de contraseas de un solo uso que se
generarn.
Por ejemplo, si n=4 y la contrasea es s, la primera contrasea de un
solo uso se obtiene al ejecutar la funcin 4 veces, la segunda
contrasea al ejecutarla 3 veces hasta la cuarta que se ejecuta 1 vez.
C1 = f ( f ( f ( f ( s ) ) ) ) C2 = f ( f ( f ( s ) ) )

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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?

Al momento de la autenticacin el servidor hace una


pregunta al azar.
Otra variante es que el usuario elija un algoritmo como x2,
el servidor le enva un 7 y el usuario debe responder 49.
Esto puede cambiar por la maana o tarde, o dependiendo
del da semana.
PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS

60

Autenticacin con objeto fsico


Puede usarse una tarjeta de plstico como en los ATM
(Automated Teller Machine) cajeros automticos.
Las tarjetas pueden tener una banda magntica en la parte posterior
que contiene la contrasea del usuario y puede leerse en una
terminal punto de venta.
Las tarjetas con chip tienen un circuito integrado.
Las tarjetas de valor almacenado contienen una pequea memoria de menos de 1
Kb donde guardan datos.
Las tarjetas inteligentes tienen CPU de 8 bits y 4 Mhz, ROM de 16 Kb y RAM de 512
bytes, con un canal de comunicacin de 9600 bps. Pueden cargarse con dinero en un
ATM y pagar usando un lector en un comercio, no se conecta al banco.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

61

Autenticacin con objeto fsico


Las tarjetas inteligentes pueden usarse para autenticacin
usando por ejemplo, reto respuesta:

Uso de una tarjeta inteligente para la autenticacin.


PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS

62

Autenticacin biomtrica
Hay caractersticas biomtricas que no se pueden falsificar.

El sistema biomtrico consiste en la parte de inscripcin y la


de identificacin:
La parte de inscripcin mide caractersticas y las almacena para un
usuario especfico.
La identificacin consiste en que el usuario proporciona su nombre y
el sistema hace la medicin, comparndola con la que tiene.
Hay un margen de variacin que puede manejarse para evitar
problemas de identificacin.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

63

Autenticacin biomtrica
Algunos mtodos:

Longitud de los dedos.


Reconocimiento del iris del ojo.
Anlisis de firmas con un dispositivo especial.
Reconocimiento de voz.
Anlisis de gota de sangre (pelcula Gattaca).

Un dispositivo para medir la


longitud de los dedos.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

64

Ataques desde el interior


Los programadores y otros empleados de la empresa que
operan una computadora que se debe proteger, o que crean
software crtico, son los que ejecutan trabajos internos.
Estos usuarios a diferencia de los externos, conocen del
sistema y tienen acceso. Los ataques puede ser:
Bombas lgicas.
Trampas.
Suplantacin de identidad en el inicio de sesin.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

Hay bombas que atacan a diferentes mquinas al azar y es


difcil componerlas.
Las bombas que se activan en cierta fecha se conocen como
bombas de tiempo.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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

Explotar errores del cdigo


Hay varias formas en que se pueden explotar los errores
(bugs) en el cdigo:
1.
2.
3.

4.
5.
6.

Ejecutar una exploracin de puertos automatizada para


encontrar mquinas que acepten conexiones telnet.
Tratar de iniciar sesin adivinando las combinaciones de nombre
de inicio de sesin y contrasea.
Una vez adentro, ejecutar el programa defectuoso con datos de
entrada que activen el error.
Si el programa contiene errores en SETUID root, crear un shell
SETUID root.
Obtener e iniciar un programa zombie que escuche en un puerto
IP en espera de comandos.
Hacer que el programa zombie se inicie siempre que el sistema
reinicie.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

70

Desbordamiento del bfer


El lenguaje de programacin C es muy utilizado para escribir
cdigo malicioso porque no revisa los lmites de arreglos:
int i;
char c [ 1024 ] ;
i = 12000;
c [ i ] = 0;

El resultado es que se sobre escribe cierto byte de memoria


que est en una posicin 10,976 bytes fuera del arreglo.
No se realiza ninguna comprobacin en tiempo de
ejecucin.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

71

Desbordamiento del bfer


El desbordamiento del bfer se presenta en las etapas de
ejecucin del programa, llamada al procedimiento y
desbordamiento de bfer:

Situacin en la que el programa principal est en ejecucin. Despus de llamar


al procedimiento A. El desbordamiento del bfer se muestra en color gris.
PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

73

Ataques de retorno a libc


La biblioteca libc usada por programas en C es compartida y
contiene funciones como strcpy que copia una cadena de
bytes de cualquier direccin a cualquier otra direccin.
El ataque consiste en engaar a strcpy para que copie el
programa del atacante (llamado shellcode o cdigo shell) a
un segmento de datos y se ejecute desde ah.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

74

Ataques de retorno a libc


La pila en memoria se muestra antes y despus de la copia
de cdigo shell:

La pila antes del ataque. La pila


despus de que se ha sobrescrito.
PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

Una computadora controlada remotamente se conoce


como zombie y un grupo de ellas es botnet por robot
network o red de robots.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

80

Caballo de Troya (troyanos)


Se obtiene por descargar programas gratuitos o de cierta
utilidad como juegos, msica o porno que incluyen cdigo
malicioso.
Las personas descargan e instalan voluntariamente el
programa que incluye un caballo de Troya.

No es necesario que el atacante introduzca el cdigo en


cada computadora.
Este malware puede identificar banca en lnea y hacer
transferencias a la cuenta del atacante.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

El virus puede propagarse dentro de la mquina infectada o


a travs de Internet.
El virus puede estar dormido y activarse por un evento o
una fecha.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

Si se pone malware dentro de cualquier programa prog, el


usuario lo activa.
Otra forma es cambiar el destino de un acceso directo para
ejecutar el archivo con virus.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

83

Virus de programa ejecutable


El virus de sobrescritura infecta a programas ejecutables
escribiendo sobre ellos.
Un procedimiento puede abrir un archivo, copiar el virus
guardado en el arreglo sobre el archivo y luego cerrarlo.
Se puede activar usando un nmero aleatorio, en cada
ejecucin no pasa nada sino hasta la llamada que sea igual
al aleatorio, esto no levanta sospechas porque el programa
funciona bien hasta que se activa.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

84

Virus de programa ejecutable


Un virus parasticos se adjuntan al programa y realizan su
trabajo sucio, pero permiten que el programa funcione
normalmente de ah en adelante.
Este virus se copia a la RAM y se propaga:

Un programa ejecutable. Con un virus en la parte frontal. Con un virus al


final. Con un virus esparcido sobre el espacio libre dentro del programa.
PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS

85

Virus residentes en memoria


Este virus permanece en memoria RAM todo el tiempo,
ocultndose en la parte superior o en la inferior.
Este virus atrapa interrupciones, puede ser de llamadas al
sistema por lo cul, en modo kernel, puede ejecutar
acciones.

Estas llamadas pueden usarse para hacer que el S.O.


funcione mal o infectar a otras programas.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

86

Virus en sector de arranque


Este virus sobre escribe el registro maestro de arranque o el
sector de arranque.
Al iniciar la computadora, el virus se copia a si mismo a la
RAM, estando la mquina en modo kernel y sin un
antivirus, no hay defensa.

El virus solo puede ver lo que hace el S.O. pero sin


interrumpirlo.
Este tipo de virus puede obtener las interrupciones de los
dispositivos E/S.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

87

Virus en sector de arranque


El virus puede obtener el manejador que desea, en lugar de
que un programa vlido sea activado el virus puede
ejecutarse controlando las llamadas del sistema.

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

Virus de driver de dispositivo


Este virus puede ser cargado por el S.O., el truco es infectar
un driver que produzca el virus de driver de dispositivo.
En algunos S.O. como Windows y UNIX, los drivers se cargan
al arrancar el sistema, si uno se infecta sea activara en ese
momento.

Otra vulnerabilidad es que los drivers se cargan en el kernel,


por lo que sin dificultad podran hacer llamadas al sistema.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

90

Virus en cdigo fuente


Los virus en macros solo pueden ejecutarse en S.O. como
Windows y Mac, pero no en UNIX.
Un virus en cdigo puede incluirse en un programa en
lenguaje C usando:
#include <virus.h>

ejecutar_virus( );

Cuando se ejecuta el programa se activa el virus que puede


incluirse al compilar el programa en la mquina local, para
esparcirlo a mquinas remotas, se incluye todo el cdigo
fuente del virus.
PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS

91

Como se esparcen los virus


Con el uso de LAN el atacante puede poner el virus en un
programa que sea atractivo, si es descargado y ejecutado, se
activa con la posibilidad de realizar actividades maliciosas.
Otra opcin es infectar un documento y enviarlo por la red,
las personas que reciben un correo extrao, abren un
archivo y activan el virus.
En memorias USB o en CD-ROM tambin pueden infectar
equipos.
Una conexin FTP, el uso de redes en un Caf Internet son
otras opciones de distribucin.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

Ejecutando un shell remoto usando en comando rsh.


Otro mtodo usaba un programa llamado finger que permita
obtener datos de los usuarios.
El tercer mtodo usaba el correo (sendmail) que enaba una
copia del virus para ejecutarla.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

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.

Se oculta, no puede encontrarse con facilidad.


Recolecta datos sobre el usuario (sitios Web visitados,
contraseas, nmeros de tarjetas de crdito, etc.).
Comunica la informacin recolectada a su amo distante.
Trata de sobrevivir a distintos intentos de eliminarlo.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

94

Spyware
El spyware se divide en 3 categoras:
1.
2.
3.

De marketing, solo recolecta informacin y la enva a su amo.


De vigilancia, una empresa coloca spyware intencionalmente en las
computadoras de sus empleado para ver lo que hacen.
De apropiamiento, la mquina infectada se convierte en zombie en
espera que su amo le de rdenes.

Estudios de la Universidad de Washington en 2006 indican


que 6% de las URLs tienen spyware y que el 80% de
computadoras domsticas lo tienen.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

95

Cmo se esparce el spyware


Por descarga de software gratuito.

Por visitar una pgina Web infectada.


Por barras de herramientas del Navegador infectadas.
Por el uso de controles Active X de pginas Web.

Por la instalacin de programas de pginas Web con el


spyware.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

96

Acciones que realiza Spyware


Modifica la pgina de inicio del navegador.

Modifica la lista de pginas favoritas.


Agrega nuevas barras de herramientas.
Cambia el reproductor de medios predeterminado.

Cambia el motor de bsqueda.


Agrega iconos al escritorio.
Reemplaza anuncios (banners) en pginas Web.

Coloca anuncios en cuadros de dilogo.


Genera un flujo continuo e imparable de anuncios (pop-up).
PROF. LUIS H. CRUZ A.
SISTEMAS OPERATIVOS

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.

Son difciles de detectar.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

98

Defensas
Uso de un firewall que protege una LAN.

Hay firewall de hardware y de software.


Los antivirus son programas que detectan y combaten
gusanos y spyware.
Comprobacin de integridad de archivos que se verifican y
se ponen en una lista.
Comprobacin de comportamiento que monitorea las
llamadas al sistema que son sospechosas.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

99

Cmo evitar el virus


Hay varias opciones como:

Firma de cdigo, identificar realmente al autor de los


programas usando una firma digital.
Encarcelamiento, el programa sospechoso se aisla y se
vigila.

Deteccin de intrusos mediante modelos de


comportamiento.
El encapsulamiento de cdigo toma los programas que se
descargan, como las applets, y las revisan antes de usarlas.

PROF. LUIS H. CRUZ A.


SISTEMAS OPERATIVOS

100

Vous aimerez peut-être aussi