1 Protección y Seguridad. 2 Temario PROTECCION •Definición, elementos, Dominios y Objetos...

Post on 07-Feb-2015

6 views 0 download

Transcript of 1 Protección y Seguridad. 2 Temario PROTECCION •Definición, elementos, Dominios y Objetos...

1

Protección y Seguridad

2

TemarioPROTECCION• Definición, elementos, Dominios y Objetos• Implementaciones:

• Matriz de accesos• Tabla global• Listas de acceso• Listas de capacidades• Lock/Key

• Estructuras dinámicasSEGURIDAD• Criptografía, breve historia• Métodos Simétricos:

– Cesar– Sustitución con palabra clave– One time pad– DES - AES

• Métodos Asimétricos:– RSA– Firma digital

3

Definiciones

Protección:

Se refiere al mecanismo para controlar el acceso de programas, procesos o usuarios a los recursos definidos del sistema.

Seguridad:

La seguridad se diferencia de la protección en que ésta es una medida de cómo se preserva la integridad de un sistema y sus datos. La seguridad no solo requiere de un buen sistema de protección sino que además considera el entorno externo dentro del cual opera el sistema. Los problemas de seguridad son esencialmente problemas de administración y no de sistema.

4

Otra definición de seguridad

• La seguridad de la información se entiende como la preservación de las siguientes características:

– Confidencialidad

– Integridad

– Disponibilidad

5

Confidencialidad

• Se garantiza que la información sea accesible sólo a aquellas personas autorizadas a tener acceso a la misma.

• Ej: Cifrar una declaración de impuestos no permitirá que nadie la lea. Si el dueño necesita verla, debe descifrarla con la clave que sólo él conoce. Si alguien logra obtener la clave de cifrado, la confidencialidad de la declaración de impuestos ha sido comprometida.

6

Integridad

• Se salvaguarda la exactitud y totalidad de la información y los métodos de procesamiento. La integridad incluye la integridad de los datos (el contenido) y el origen de los mismos (autoría).

• Ej: Un periódico puede dar información obtenida de la casa rosada pero atribuirla a una fuente incorrecta. Es un ejemplo de integridad de la información, pero con integridad de origen corrupta.

7

Disponibilidad

• Se garantiza que los usuarios autorizados tengan acceso a la información y a los recursos relacionados con la misma, toda vez que lo requieran.

• Ej: Es el ultimo día para comprar entradas por internet para ir a un evento y se corta la luz en el centro de cómputos. Las UPS funcionan durante 2 horas y luego apagan los servidores. Resultado: No se pueden vender todas las entradas.

8

Elementos de un esquema de protección

DOMINIO: Entidad activa que realiza acciones (un proceso, un usuario, una CPU, etc.)

OBJETO: Entidad pasiva que recibe las acciones realizadas por los dominios (memoria, un periférico, un usuario, etc.)

DERECHO DE ACCESO: Calificación respecto del tipo de acción que puede realizarse (por ej.: lectura, escritura, etc.)

9

Dominios de protección y Objetos

10

Implementaciones de esquemas de protección

• MATRIZ DE ACCESOS

• TABLA GLOBAL

• LISTAS DE ACCESO

• LISTAS DE CAPACIDADES

• LOCK/KEY

11

Matriz de AccesosMatriz con los objetos en las columnas y los dominios en las filas. En la intersección de una fila/columna se encuentra el derecho de acceso.

Si el derecho de acceso está en blanco implica que no se puede acceder.

12

Tabla GlobalUn conjunto de uplas (<Dominio, Objeto, Derecho de acceso>) con todos los elementos NO nulos de la Matriz de acceso.

<Programadores, Compilador, Ejecutar>

<Programadores, Archivos, Lectura>

<System Programmer, Compilador, Lectura/ejecución/Grabación>

<Usuarios, Compilador, Ejecutar>

<Usuarios, Archivos, Lectura/grabación>

13

Listas de AccesoSe construyen por objeto (las LCA - listas de control de acceso- son un subconjunto de éstas)

Compilador < Programadores, Ejecutar>

< System Programmer, Lect./Grab./Ej>

< Usuarios, Ejecutar>

Archivos < Programadores, Lectura>

< Usuarios, Lectura/Grabación>

14

Listas de CapacidadSe construyen por dominio (las LCU -

listas de control de usuarios- son un subconjunto de éstas)

Programador < Compilador, Ejecutar>

< Archivos, Leer>

Usuarios < Compilador, Ejecutar>

< Archivos, Leer/Grabar>

Syst. Programmer < Compilador, Lect/Ej/Grab>

15

Listas de Capacidad

La capacidad de llegar al objeto la posee el dominio ya que debe conocer la ubicación del objeto para poder accederlo.

En las LCU recordar que cada usuario debe poseer un puntero al archivo que no le pertenece para poder encontrarlo.

16

Mecanismo Lock-KeyCada Dominio provee su key y cada objeto provee su lock (usualmente son unos pocos bits). Ambos se combinan en una función (usualmente de tipo booleano) y de acuerdo al resultado se otorga o no el acceso.

17

Mecanismo Lock-Key (ejemplo)

3 dominios, 2 objetos y la función es la operación AND. Se accede si el resultado es Falso.

Armemos solo el acceso al objeto Archivos

Programadores < 1 0 > key

Syst. Prog. < 0 1 > key

Usuarios < 1 0 > key

Archivos < 0 1 > lock

Aquí solo se construyó el permiso de acceso sin calificarlo, es decir no se sabe aún si accede en modalidad de lectura o grabación -> necesitaré más bits.

18

Estructuras Dinámicas

Hasta aquí las estructuras vistas son estáticas. Si queremos que la estructura pueda cambiar en tiempo de ejecución deben agregarse nuevos tipos de derechos de acceso. Veremos algunos, a saber:

- COPY

- OWNER

- SWITCH

- CONTROL

19

COPYPermite que un dominio otorgue el permiso que posee sobre un objeto a otro dominio.

Se denota con un *.

Ejemplo: Permitir que los Programadores puedan grabar archivos

OJO! No puedo otorgar lo que no poseo!!

20

OWNEROtorga la propiedad de un Objeto a un dominio en particular. El dominio puede otorgar permisos sobre ese objeto a otros dominios y además eliminarlos.

Ejemplo: Quitar la autorización dada a los programadores para grabar archivos

21

CONTROLPermitir que un dominio controle a otro dominio. Se necesita que los dominios ahora sean pasibles de recibir acciones.

Asumiremos que el CONTROL solo permite eliminar derechos.

Ejemplo: El System Programmer controla la operatoria total de los otros dominios

22

SWITCHPermite que un dominio pase a actuar como otro dominio perdiendo sus derechos y asumiendo los derechos del dominio al que se cambió.

Ejemplo: Se desea que los System Programmer puedan probar nuevas aplicaciones desarrolladas para los usuarios para ver si efectivamente funcionan bien.

23

Monitor de referencia (MR)

• Mecanismo responsable de “mediar” cuando los sujetos o dominios intentan realizar operaciones sobre los objetos en función de una política de acceso.

Sujeto ObjetoMonitor de ReferenciaSolicitud de

Acceso

24

Propiedades del MRIntermediación obligatoria• Debe intervenir en todos los accesos.

Aislamiento• Tanto el MR como sus datos deben ser

incorruptibles, sin posibilidad de modificaciones no autorizadas.

Verificabilidad• Debe poder demostrarse que su funcionamiento es

correcto.

25

Clasificación de esquemas de protección

– Control de acceso discrecional (DAC)– Control de acceso mandatorio (MAC)

• En la década del 90 surge:

– Control de acceso basado en roles (RBAC)

26

Control de acceso discrecional

• El control de acceso discrecional (Discretionary Access Control - DAC) es una política de control de acceso determinada por el dueño de un recurso (un archivo, una impresora).

• Es discrecional porque el dueño del recurso decide de manera arbitraria a quien le permite acceder al mismo y con que permisos.

27

Control de acceso discrecional

• Conceptos

• Propiedad: cada objeto en el sistema debe tener un dueño. La política de acceso es determinada por el dueño del recurso.

• En teoría un objeto sin dueño no se encuentra protegido.• Normalmente el dueño de un recurso es el usuario que lo

crea.

• Permisos: derechos de acceso que el dueño de un recurso asigna a usuarios individuales o a grupos de usuarios.

28

Control de acceso discrecional

• Ventajas

• Flexible y adaptable a muchos sistemas y aplicaciones.

• Ampliamente usado, especialmente en ambientes comerciales e industriales.

• Principal problema:• Discrecionalidad para la cesión de derechos.

29

Ejemplo: Unix

30

Componentes Seguridad MS Windows

Fuente: Microsoft Windows Internals, 4th. edition

31

Control de acceso en Windows• Windows NT4 o superior• SID (Windows security identifier): secuencia numérica

que se utiliza para identificar usuarios, grupos y cuentas del sistema.

SID S-1-1-0 = grupo Everyone

• A un objeto se le asigna una DACLs (Discretionary access-control list) que se compone de ACEs (Access Control Entry).

ace (denied, aceType(['ACCESS_DENIED_ACE_TYPE']), aceFlags, aceMask(['READ_CONTROL',

'SYNCHRONIZE']), sid('S-1-1-0')).

32

Ejemplo•Thread A: el sistema lee ACE 1 y deniega el acceso. El sistema no chequea ACE 2 ni ACE 3.•Thread B: ACE 1 no se aplica restricción, el sistema toma ACE 2, que permite acceso de escritura y ACE 3 que permite lectura y ejecución.

33

Modelo Bell-Lapadula - Confidencialidad

• Combina acceso Mandatorio y acceso Discrecional

• Niveles de clasificación de seguridad ordenados– Alto Secreto: Nivel más alto

– Secreta:

– Confidencial

– No clasificada: nivel más bajo

34

Ejemplo

• Tamara puede leer todos los archivos.• Claire no puede leer los legajos de personal o los archivos de

correo electrónico.• Ulaley solo puede leer la guía telefónica.

Clasificación de Seguridad

sujeto objeto

Alto Secreto Tamara Legajos de Personal

Secreto Samuel Archivos correo Electrónico

Confidencial Claire Logs de Actividad

No clasificado Ulaley Guía Telefónica

35

Bell-Lapadula

• Ante un requerimiento, el sistema lo admite o rechaza considerando la habilitación del sujeto que lo solicita y la clasificación de seguridad del objeto solicitado.

• Para esto se aplican dos principios:– Read down– Write up

36

Acceso de lectura a la información

• Condición simple de Seguridad, versión preliminar

• El sujeto s puede leer el objeto o sii L(o) ≤ L(s) y s tiene permiso para leer el objeto o

• Nota: el modelo combina control de acceso mandatorio (relaciones entre niveles de seguridad) y control discrecional (el permiso requerido)

• Conocida como la Regla de “Read Down”

37

Escritura de Información

• Propiedad *, versión preliminar

• El sujeto s puede escribir el objeto o sii L(s) ≤ L(o) y s tiene permiso de escritura para o

• Nota: el modelo combina control de acceso mandatorio (relaciones entre niveles de seguridad) y control discrecional (el permiso requerido)

• Conocida como la Regla de “Write up”

38

Modelo BIBA - Integridad

– Niveles de integridad: Cuanto más alto el nivel de integridad, más confianza en que:– Un programa ejecutara correctamente– La información es correcta y/o confiable.

Read up:Un sujeto S puede leer un objeto o sii i(s) ≤ i(o)

Write down: Un sujeto S puede escribir un objeto o sii i(o) ≤ i(s)

39

Control de acceso basado en roles• RBAC (Role Based Access Control) surge a fines de la década

del 80 y toma un fuerte impulso en los 90. Combina aspectos de DAC y de MAC, pero con una visión más orientada a la estructura organizacional.

• Básicamente consiste en la creación de roles para los trabajos o funciones que se realizan en la organización.

• Los miembros del staff se asignan a roles y a través de estos roles adquieren permisos para ejecutar funciones del sistema.

40

Control de acceso basado en roles

• Los sujetos acceden a los objetos en base a las actividades que (los sujetos) llevan a cabo en el sistema. Es decir, considerando los roles que ocupan en el sistema.

• Rol: es el conjunto de acciones y responsabilidades asociadas con una actividad en particular.

41

Control de acceso basado en roles

• Para implementar RBAC se necesitan mecanismos que permitan:

– Identificar los roles en un sistema y asignar los sujetos a los roles definidos.

– Establecer los permisos de acceso a los objetos para cada rol.

– Establecer permisos a los sujetos para que puedan adoptar roles.

42

Control de acceso basado en roles

• Características de RBAC:

– Administración de autorizaciones– Jerarquía de roles– Menor privilegio– Separación de responsabilidades

• Desventaja– Dificultad de establecer los roles y definir sus

alcances.

43

Algunas implementaciones de RBAC

• Sun Solaris

• Microsoft Active Directory

• Base de datos Oracle

• Base de Datos MS Sql Server

44

Vulnerabilidades, amenazas, etc.

• Una vulnerabilidad es una debilidad en un activo.

• Una amenaza es una violación potencial de la seguridad. No es necesario que la violación ocurra para que la amenaza exista. Las amenazas “explotan” vulnerabilidades.

• Hay que protegerse o estar preparado para las acciones que podrían causar dicha violación.

• Dichas acciones son llamadas ataques. Los que ejecutan las acciones, o producen la ejecución de las mismas, son llamados atacantes o intrusos.

45

Tipos de amenazas

• Flujo normal de información

origen de lainformación

destino de lainformación

flujo normal

46

Tipos de amenazas

• Interrupción del flujo de información

– Destrucción del recurso– Bloqueo del recurso– Saturación del recurso

• Amenaza a la disponibilidad de la información

origen de lainformación

destino de lainformación

47

Tipos de amenazas

• Intercepción de información

– Acceso no autorizado al recurso– Monitoreo de información– Ingeniería social

• Amenaza a la confidencialidad de la información

origen de lainformación

destino de lainformación

intruso

48

Tipos de amenazas

• Alteración de información

– Modificación del recurso

• Amenaza a la integridad de la información

origen de lainformación

destino de lainformación

intruso

49

Tipos de amenazas

• Fabricación de información

– Incorporación de información – Envío de mensajes falsos (phishing)

• Amenaza a la autenticidad de la información

origen de lainformación

destino de lainformación

intruso

50

Tipos de amenazas

• Amenazas Pasivas– No se interfiere con los sistemas– Son difíciles de detectar– Dependen del medio físico de transmisión

– Monitoreo de datos (sniffing)– Análisis de actividad (side channel attack)

51

Tipos de amenazas

• Amenazas Activas– Captura de información (keylogger, RAT, …)– Suplantación de identidad– Retransmisión de mensajes– Falsificación de datos (tampering)– Escaneo de puertos (port scanning)– Aprovechamiento de software vulnerable (exploit)– Intercepción (man in the middle)– Denegación de servicios (DOS)– …

52

Tipos de amenazas

• Origen de las amenazas

– Intencionales / Accidentales

– Externas / Internas

53

Políticas y mecanismos

• Una política de seguridad es una declaración de lo que está permitido y lo que no.

• Un mecanismo de seguridad es un método, herramienta o procedimiento para hacer cumplir una política de seguridad.

• Los mecanismos pueden ser no técnicos. Ej: Requerir DNI antes de cambiarle la clave a un usuario, para comprobar su identidad.

• En general, las políticas necesitan algunos procedimientos que la tecnología no puede hacer cumplir.

54

Mecanismos

• Prevención: Significa que el ataque fallará. Por ejemplo, si uno intenta entrar a un sistema a través de Internet, pero el mismo no se encuentra conectado a dicha red, el ataque fue prevenido.

• Detección: Puede ser usado cuando un ataque no puede ser prevenido, o para medir la efectividad de los mecanismos de prevención. Los mecanismos de detección dan por hecho que un ataque va a ocurrir, y su objetivo es reportar los ataques que se produzcan.

• Recuperación: Luego de producido un ataque, se procede a detenerlo. Se debe determinar y reparar daños. Volver a operar correctamente. Ej: Si un atacante borrá un archivo, se puede recuperar el mismo de los back-ups.

55

SEGURIDAD

56

CRIPTOGRAFÍA

57

Criptografía (un poco de historia)

La escitala utilizada por los espartanos para enviar mensajes consistía de una tira de papel o tela en la cual se escribía el mensaje que solo podía ser comprendido para aquellos que contaban con la escitala (vara o bastón) del diámetro correcto.

http://www.dma.fi.upm.es/java/matematicadiscreta/aritmeticamodular/criptografia.html

58

CriptografíaCESAR (SUSTITUCIÓN)

Atribuído al emperador Julio Cesar.Se suma un número entero fijo a las letras del alfabeto, por ejemplo + 3

Ejemplo:

Mensaje: SUPERSECRETO

Mensaje cifrado: VXSHUVHFUHWR

59

Criptografía

SUSTITUCIÓN CON PALABRA CLAVE

Se escriben las letras del alfabeto mezcladas con una palabra clave, por ejemplo:Clave: SIMON BOLIVAR. Sin letras repetidas: SIMON BLVAR.

Alfabeto A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Alf. Transformado S I M O N B L V A R C D E F G H J K P Q T U W X Y Z

Aquí el texto llano CESAR cifrará como MNPSK.

60

CriptografíaONE TIME PAD (Bloque de uso único)

Es un método totalmente seguro. Trabaja como el método de Cesar, pero el entero a sumar varía para cada caracter del texto en forma aleatoria.

El criptograma "SECRETO" podría provenir de:- MENTIRA con la clave 6 0 15 2 22 23 12, o de:- REALEZA con la clave 1 0 2 6 0 6 12.

El problema es que la clave debe ser tan larga como el mensaje, y nunca debe ser reutilizada!!!

61

CriptografíaDES (Data Encryption Standard - 1977)

Divide el texto llano en bloques de 64 bits, utiliza una clave de 56 bits y los 8 bits restantes se utilizan para paridad. Realiza 17 pasos con funciones intermedias de substitución (S-boxes) y transposición, pero su corazón es el XOR.

XOR 0 1  0 0 1  1 1 0

62

CriptografíaEjemplo de funciones de substitución y transposición

Cada S-box tiene una tabla asociada que es utilizada por el algoritmo para indicar cómo deben cifrarse los bits.

63

AES - Advanced Encryption Standard

Es un cifrador de bloque y un cifrador por producto.

Opera con bloques y claves de longitudes variables, que pueden ser especificadas independientemente a 128, 192 ó 256 bits (las combinaciones son posibles), extendiéndose fácilmente a múltiplos de 32 bits, lo que fortalece aún más su uso futuro.

Permite una implementación eficiente y rápida en software y hardware. Esto lo hace adecuado para la casi totalidad de las aplicaciones actuales.

64

AES

65

Electronic Code Book (ECB)Cifrar cada bloque de manera independiente

Cipher Block Chaining (CBC)XOR de cada bloque con el texto cifrado anterior

Encrypt-Decrypt-Encrypt (EDE)Utiliza dos claves: k, k, tamaño de clave 112. Si k = k’ es igual a DES.

c = DESk(DESk–1(DESk(m)))

Encrypt-Encrypt-Encrypt (TripleDES)Utiliza tres claves: k, k, k, tamaño de clave 168.

c = DESk(DESk (DESk(m)))

Modos de operación

66

ESTRUCTURA DEL ALGORITMO RIJNDAEL – AES

67

Fase de SubBytes, cada byte en el state es reemplazado con su entrada en una tabla de búsqueda fija de 8 bits, S; bij = S(aij).

68

Sustitución de Byte

• Consiste en una sustitución no lineal que se aplica a cada byte de la matriz de Estado de forma independiente, generando un nuevo byte.

• Esta transformación consiste en la sustitución de cada byte por el resultado de aplicarle la tabla de sustitución S-Box. Esta tabla lógicamente es invertible y se construye mediante dos transformaciones, no lineales y su inversa.

69

Ejemplo Transformación SuBytes

70

Ejemplo Tabla Inversa Transformación SuBytes

71

En el paso ShiftRows, los bytes en cada fila del state son rotados de manera cíclica hacia la izquierda. El número de

lugares que cada byte es rotado difiere para cada fila

72

En el paso MixColumns, cada columna del state es

multiplicada por un polinomio constante c(x).

73

En el paso AddRoundKey, cada byte del state se combina con

un byte de la subclave usando la operación XOR ( ).⊕

74

Criptografía

DISTRIBUCION DE CLAVES

Los métodos criptográficos (DES y AES) tienen el problema de la distribución de las claves.

Todos los que participan deben conocerlas y por ende existe más de un punto posible de divulgación por parte de un atacante.

Son simétricos

75

Criptografía

Métodos Asimétricos

Se basan en la existencia de pares de claves: Claves Públicas y Privadas

A y B publican sus claves de encriptamiento Ea y Eb, y mantiene en secreto sus claves de desencriptamiento Da y Db. Con esto, el problema de distribución de claves casi desaparece .Existe aún el problema de un atacante en el medio de comunicación que intercepte el intercambio de claves y suplante la persona de uno de los emisores (man-in-the-middle). El atacante Z se hace pasar por B.

76

Criptografía

Métodos Asimétricos: RSA (Rivest-Shamir-Adleman) Se buscan dos primos grandes p y q, y se obtiene n = p.q Se buscan dos números e y d que contemplen la siguiente propiedad:

e.d mod [(p-1).(q-1)] = 1Se representa el texto llano por medio de un M tal que

0 M n-1de forma tal que el encriptamiento resulta:

C = Me mod(n)y el desencriptamiento es:

M = Cd mod(n)

77

Criptografía

La clave pública es el par (e,n) y la privada el par (d,n). Conocer e y n no da suficiente información como para hallar d (p y q son secretos).

Un espía lo que puede hacer es factorizar n, que es público, para obtener p y q, y luego podrá calcular d, ya que e es también público.

78

Criptografía

Veamos un ejemplo con números pequeños:p=3; q=5; n=15

Se elige e = 3 y d = 11 tal que 3.11 mod [2.4]=33 mod(8) = 1

Si suponemos un mensaje M = 8, resulta:cifrado c = 83 mod (15) = 512 mod(15) = 2

siendo c = 2, el mensaje cifrado que viaja por el medio de comunicación. En el lugar de destino, se hace:

M = 211 mod(15) = 2048 mod(15) = 8donde M=8 es el mensaje original desencriptado.

79

Criptografía

80

Criptografía

AUTENTICIDAD (FIRMA)

Si pensamos el RSA al revés, por ejemplo, si encriptamos con una clave D secreta, se puede desencriptar con una clave E pública, y nadie podría falsificar el mensaje, ni siquiera el receptor. Esto podría usarse como "firma" de documentación electrónica.