Clase de Seguridad
Capa de (?)
DC - FCEyN - UBA
10 de Junio de 2015
Men´
u del d´ıa
1 Introducci´on Referencias Conceptos b´asicos Otros conceptos 2 Modelos de seguridadMatriz de control de acceso Otros Modelos Firewalls 3 Ejercicio Firewalling Enunciado Soluci´on 4 Criptograf´ıa Conceptos generales Criptograf´ıa cl´asica Criptograf´ıa moderna Manejo de claves 5 Implementaciones Protocolo Mails Demo 6 Ejercicio Criptograf´ıa Enunciado Soluci´on 7 Ejercicio Parcial Enunciado Cerrando
Introducci´on Referencias
Referencias
Peterson.
Introduction to Computer Security, Matt Bishop, Addison-Wesley, 2004.
Seguridad de la Informaci´on (http://dc.uba.ar/materias/seginf).
Introducci´on Conceptos b´asicos
Definici´
on
Seguridad en alg´un punto implica ausencia deriesgo. Esto puede depender de nociones abstractas y sociales como la confianza.
Problema
En las redes, y por sobre todo en la Internet, es muy complejo estar exento de posibles vulnerabilidades. Lo ideal es identificar los riesgos m´as
peligroso respecto a la informaci´on que se desea resguardar y tomar las
medidaspertinentes y factibles seg´un la relaci´on costo / beneficio.
Introducci´on Conceptos b´asicos
¿Es seguro?
Introducci´on Conceptos b´asicos
Principales aspectos que ata˜
nen a la seguridad
Confidencialidad. Integridad. Disponibilidad.
Las leyes, coyuntura, individuos y organizaciones definen los diversos grados de riesgoque se puedemitigar o soportar respecto a estos conceptos bajo ciertos entornos.
Introducci´on Conceptos b´asicos
Confidencialidad
Es elocultamiento o encubrimiento de informaci´on y/o recursos. Los mecanismos de control de accesoson los encargados de preservar este rasgo de la informaci´on. Si son vulnerados o comprometidos, se pierde la propiedad y la confidencialidad es corrompida. A veces es tan o m´as importante proteger el mero conocimiento de la existencia de la informaci´on que el contenido de la misma.
Introducci´on Conceptos b´asicos
Integridad
Es la prevenci´on para que no sucedan modificaciones impropias o sin autorizaci´on en la informaci´on. Existe tanto la integridad de losdatos
como la integridad deorigen. Mecanismos de autenticaci´on y control de acceso sirven para atenuar el riesgo de comprometer este rasgo de la informaci´on. Suele ser m´as dificultosa de proveer que la confidencialidad.
Introducci´on Conceptos b´asicos
Disponibilidad
Concierne la posibilidad deutilizar el recurso o la informaci´on necesaria. Se suelen utilizar mecanismos estad´ısticos sobre patrones de utilizaci´on de datos para asegurar la disponibilidad. Los famosos ataques dedenegaci´on de servicio apuntan a vulnerar este concepto.
Introducci´on Otros conceptos
Amenaza
Es una potencialviolaci´on de alg´un rasgo concerniente a la seguridad. No necesariamente tiene que realizarse. Las acciones que permiten que se concrete son denominadas ataques.
Pol´ıticas vs. Mecanismos
Una pol´ıtica o norma de seguridad describe qu´e est´a permitido y qu´e no.
Un mecanismo de seguridad es un m´etodo, herramienta o procedimiento que fuerza el cumplimiento de la pol´ıtica.
Introducci´on Otros conceptos
Resumiendo...
Dada una especificaci´on (formal o informal) de una pol´ıtica de seguridad describiendo qu´e es seguro o permisible y qu´e no, se deben implementar los mecanismos de seguridad adecuados para prevenir los posibles ataques, o en su defecto detectarlosy poder recuperarse de ellos. Es importante notar que a veces alcanza con simplemente identificar y actuar.
Modelos de seguridad Matriz de control de acceso
Definici´
on
El estado de protecci´on de un sistema es el conjunto de valoresde los recursos que repercuten en la seguridad del sistema (memoria principal, secundaria, registros, etc.). La matriz de control de acceso es una herramienta que permite describir los estados de protecci´on.
El modelo
Caracterizar los permisos de cada sujetorespecto a cada entidaddel estado de protecci´on. Un ejemplo de este modelo es la matriz de acceso de los sistemas Unix.
Modelos de seguridad Matriz de control de acceso
Ejemplo
Objetos: File 1, File2, Process 1, Process 2. Sujetos: Process 1, Process 2.
Permisos: Leer, escribir, anexar, ejecutar, ser due˜no de...
Modelos de seguridad Matriz de control de acceso
Limitaciones
La matriz de control de acceso es el modelo abstractoprincipal para describir modelos de seguridad. Formalmente, es capaz de expresar
cualquier pol´ıtica de seguridad, pero en la pr´actica no sirve porque no
escala. Se usa solo en ciertos casos como el ejemplo anterior donde los objetos y sujetos no son demasiados y tambi´en para an´alisis te´oricos.
Modelos de seguridad Matriz de control de acceso
Limitaciones te´
oricas
Ser´ıa interesante encontrar un modelo que defina el estado de la m´aquina y luego ejecutar alg´unalgoritmo, que dado un estado responda si ´este es seguro o no. Sin embargo, existe un teoremaque postula que es
indecidible dar a conocer si un estado de protecci´on es seguro dado un permiso gen´erico.
Modelos de seguridad Otros Modelos
Bell-LaPadula
Orientado a proveer confidencialidad. La integridad es secundaria. Se definen niveles de seguridad para los objetos y sujetos. Ning´un sujeto puede acceder a objetos que pertenezcan a niveles de seguridad m´as altos que el de si mismo.
Modelos de seguridad Otros Modelos
Biba, Clark-Wilson
Orientado a proveer integridad. La confidencialidad es secundaria. Se definen niveles de seguridad para los objetos y sujetos. Ning´un sujeto puede escribir a objetos que pertenezcan a niveles de seguridad m´as altos que el de si mismo y leer objetos de niveles inferiores.
Modelos de seguridad Firewalls
Definici´
on
Conjunto de sistemas encargado de mediar todas las comunicaciones entre dos redes implementando una pol´ıtica de seguridad decontrol de acceso
mediante el filtrado de paquetes. Esencialmente verifica cada paquete independientemente de los dem´as y permite o denegado su paso
dependiendo de unconjunto de reglas.
Modelos de seguridad Firewalls
Definici´
on
Modelos de seguridad Firewalls
Distintos tipos
Stateless: Utiliza reglas sencillas sobre los mensajes entrantes / salientes del tipo:
<dirorigen,puertoorigen,dirdst,puertodst,protocolo >
Stateful: Mantiene estado de conexiones entrantes o salientes y puede permitir o denegar teniendo en cuenta la sesi´on a la que pertenece.
Gateways de aplicaci´on: Proxy inteligente. Entiende ciertos protocolos. Sirve para aplicar filtros de capa de aplicaci´on.
Ejercicio Firewalling Enunciado
Pr´
actica 9
Definir reglas y pol´ıticas de seguridad a implementar en un firewall con estado bajo la siguiente organizaci´on.
Ejercicio Firewalling Soluci´on
Dato
Servidor de mail usa POP3 e IMAP. Servidor web usa solo HTTP.
El servidor web es aut´onomo, no necesita resolver nombres ni salir a inet.
El servidor de bd solo se usa para los sitios web. Los usuarios de la red interna pueden acceder a:
1 Servidor de mail para env´ıo y recepci´on de correo. 2 Servidor proxy para navegar internet.
3 Servidor web de la intranet de manera directa.
Ejercicio Firewalling Soluci´on
Esquema
Ejercicio Firewalling Soluci´on
Reglas
Politica de filtrado por defecto: DROP.
1 <Mail,∗,Internet,25,TCP > 2 <Mail,∗,Internet,53,UDP > 3 <Proxy,∗,Internet,53,UDP > 4 <Proxy,∗,Internet,80,TCP > 5 <Proxy,∗,Internet,443,TCP > 6 <Internet,∗,Web,80,TCP > 7 <Internet,∗,Mail,25,TCP > 8 <Interna,∗,Web,80,TCP >
9 <Interna,∗,Proxy,Proxy(8080),TCP > 10 <Interna,∗,Mail,25,TCP >
11 <Interna,∗,Mail,110,TCP > 12 <Interna,∗,Mail,143,TCP >
Ejercicio Firewalling Soluci´on
Demo
1 Acceder a web server. 2 modprobe ip tables.
3 Bloquear con firewall iptables -A INPUT -p tcp –dport 80 -j REJECT. 4 Bloquear con firewall iptables -A INPUT -p tcp –dport 80 -j REJECT. 5 Bloquear con firewall iptables -A INPUT -p tcp –dport 80 -j DROP. 6 Bloquear una ip: iptables -A INPUT -s 192.168.1.100 -j REJECT . 7 Cambiar pol´ıtica por defecto: iptables -P INPUT DROP.
8 Aceptar conexiones solo al webserver: iptables -A INPUT -p tcp
–dport 80 -j ACCEPT
9 Cambiar A por D para borrar regla. 10 Para limpiar la tabla iptables –flush.
Criptograf´ıa Conceptos generales
Definici´
on
Un sistema criptogr´afico es una tupla (E,D,M,K,C) tal que: M es el conjunto de lostextos v´alidos.
K el conjunto declaves.
C es el conjunto de los textos cifrados. E: M x K → C.
D: C x K → M.
Objetivo
Mantener la informaci´on encriptadasecreta siempre y cuando la clave se mantenga escondida. Si se conoce el algoritmo de encriptaci´on mejor.
Criptograf´ıa Criptograf´ıa cl´asica
Dos operaciones b´
asicas
Sustituci´on Caesar Vignere One-Time Pad Transposici´on Rail Fence
Criptograf´ıa Criptograf´ıa moderna
Taxonom´ıa
Criptograf´ıa Moderna
Cript. Sim´etrica (clave secreta) Cifrado de Flujo
Cifrado en Bloque Funciones de Hashing MDC (sin clave)
Alcanza para no repudio? integridad? Por qu´e? MAC (con clave)
Alcanza para no repudio? integridad? Por qu´e?
Criptograf´ıa Asim´etrica
Criptograf´ıa Criptograf´ıa moderna
DES
Orientado a bitsy no a caracteres. Usa tanto transposici´on como sustituci´on. Trabaja en bloquesde a 64 bits.
Cada bloque ejecuta 16 iteraciones condistintas claves.
Fue mainstream durante muchos a˜nos. Con el tiempo fue quedando obsoleto el largo de la clave y los ataques por fuerza bruta
comenzaron a ser computacionalmente r´apidos. Tambi´en se le encontraron vulnerabilidades para algunas claves espec´ıficas. 3DES.
AES es recomendado hoy en d´ıa. Claves m´as largas, es m´as r´apido y resuelve las vulnerabilidades encontradas en DES.
Criptograf´ıa Criptograf´ıa moderna
Conceptos
Diferentesclaves para cifrar y descifrar. A diferencia de los m´etodos cl´asicos no se debe compartir una clave secreta. Una de las claves es
p´ublicay la otra (secreta) es privada.
Se deben cumplir tres propiedades
Debe ser f´acil cifrar o descifrar dada la clave adecuada.
Debe ser inviable computacionalmente derivar la clave privada a partir de la p´ublica.
Debe ser inviable computacionalmente derivar la clave privada a partir de un texto descifrado.
Criptograf´ıa Criptograf´ıa moderna
RSA
Los conceptos te´oricos que sustentan este algoritmo son ciertas propiedades matem´aticas respecto a losn´umeros primos(factorizar n´umeros grandes es costoso), m´odulos y exponenciaci´on. Un algoritmo puede encontrar un par de claves, que debido a estas propiedades no son derivables una de la otra, pero tienen la propiedad de ser lainversa.
Criptograf´ıa Criptograf´ıa moderna
Diversos usos...
No repudio. Integridad. Confidencialidad.
Criptograf´ıa Criptograf´ıa moderna
Message digest
Consiste en adosarle al mensaje a enviar un checksum que luego puede ser recomputado y constatado para verificar la integridad (igual que en ip). Para proveer seguridad se usan funciones de hash con clave o se cifran los hash sin clave.
Funciones de hash fuertes (buenas o de ida) h :A→B
Dado x∈A,h(x) es f´acil de computar.
∀y ∈B es (comp) inviable encontrar x∈Atq h(x) =y.
es (comp) inviable encontrar x,ˆx∈Atq x <>ˆx yh(x) =h(ˆx).
Criptograf´ıa Criptograf´ıa moderna
Mejores algoritmos conocidos actualmente
MD2 MD4 MD5 SHA-1 HAVAL
Criptograf´ıa Criptograf´ıa moderna
Dos Esquemas
HMAC
Hashear el mensaje mezclado con la clave. Sirve para proveerintegridad.
Est´a demostrado que la seguridad de HMAC depende de la funci´on de hash que se utilice (RFC 2104).
HMAC(K,m) =H((K +opad)||H((K +ipad)||m)) con k clave sim´etrica
Con clave asim´etrica
Hashear el mensaje y encriptar el resultado con la clave privada del emisor
−>firma digital.
Criptograf´ıa Manejo de claves
Tipos de claves
Claves de intercambio: Asociadas a un ente (m´aquina / persona). Claves de sesi´on: Asociadas a una comunicaci´on.
Se usan claves de sesi´on nuevas por cada comunicaci´on permitiendo disminuir las posibilidades de ataques estad´ısticos.
Criptograf´ıa Manejo de claves
Generar clave de sesi´
on
Confiar en un tercero (Cathy)
1 Alice → Cathy:{ Request de clave de Sesion con Bob}KAlice 2 Cathy → Alice:{Kses }KAlice || {Kses}KBob
3 Alice → Bob:{ Kses }KBob
Kerberos
Es un servicio que provee claves de sesi´on basado en el algoritmo anterior. En la realidad es bastante m´as complejo ya que evita el
man-in-the-middle o otras posibles vulnerabilidades.
Criptograf´ıa Manejo de claves
Usando criptograf´ıa de clave p´
ublica
Alice → Bob: Alice, { {Kses } DAlice }EBob
Desaf´ıos
La cuesti´on m´as importante es la validaci´on y manejo de las claves p´ublicas y privadas.
Aparecen los certificadosque b´asicamente son relaciones entre claves p´ublicas y cierta entidad. Para darle validez a estos certificados se conf´ıa en autoridades certificanteso cadenas de confianza.
X.509v3 es el est´andar de que define los formatos de certificados (RFC 6818 la ´ultima versi´on).
Criptograf´ıa Manejo de claves
Certificado X.509
Criptograf´ıa Manejo de claves
Demo Certificados
1 Browser. 2 Binary:
1 openssl s client -showcerts -connect host:443</dev/null 2>/dev/null| openssl x509 -outform PEM>mycertfile.pem
2 openssl x509 -in mycertfile.pem -text -noout
Implementaciones Protocolo
¿En qu´
e nivel?
Implementaciones Protocolo
TLS
Versi´on actualizada de SSL (Secure Sockets Layer).
La ´ultima versi´on de SSL (Netscape) fue 3.0 TLS se identifica como SSL v 3.1.
Similar, pero no compatible directamente.
Especificado en RFC 2246 (1999). Muchas actualizaciones: RFC 6176 (2011).
Protege una sesi´on entre cliente y servidor. El caso m´as conocido es HTTP (navegador y web server).
Requiere protocolo de transporte confiable, por ejemplo TCP.
Implementaciones Protocolo
Servicios
Autenticaci´on.
Del servidor frente el cliente
Opcionalmente, del cliente frente al servidor. Mediantecertificadosde clave p´ublica.
Integridad.
MedianteMACy n´umeros de seq.
Confidencialidad.
Opcional.
Mediantecifradocon algoritmo sim´etrico.
Implementaciones Protocolo
Handshake SSL
Se negocianlos algoritmos a utilizar durante la conexi´on. Se autentica al servidor o los dos entes.
Se genera un canal seguro para definir unamaster key. Se derivan las claves necesarias a partir de la master.
Se constata laintegridadde todos los mensajes de intercambio de claves.
Ejercicio 5
¿Qu´e informaci´on tienen disponible ambos extremos antes de iniciar el handshake?
Describa una posible implementaci´on de un handshake para establecer una conexi´on segura.
Implementaciones Protocolo
A alto nivel
Implementaciones Protocolo
Pregunta integradora
Acceder´ıan a su home banking, asumiendo por supuesto que
est´a implementado sobre la capa TLS (HTTPS), desde el wifi abierto de una plaza p´ublica?
Implementaciones Protocolo
SSH
Es un protocolo para acceder a m´aquinas remotas de manera segura Alternativa segura a Telnet y Ftp.
Provee autenticaci´on, confidencialidad e integridad.
Permite hacer cosas m´as avanzadas como redirigir la salida de aplicaciones a trav´es de canales seguros (port forwarding). Ese es un caso particular de t´uneles seguros.
Las fases SSH son similares a las fases TLS.
Implementaciones Protocolo
Handshake SSH a alto nivel
Implementaciones Protocolo
T´
unel SSH
Sirven para:
proteger claves de protocolos inseguros (Ftp, Telnes, IMAP). Atravesar Firewalls (si permiten ssh).
Acceder a servicios internos de una LAN con ip privadas.
Implementaciones Mails
Seguridad en correos electr´
onicos
Dos esquemas:
PGP
Confidencialidad y autenticaci´on.
La gesti´on de claves se basa en un esquema de confianza.
S/Mime
Certificados X509 y PKI.
Confidencialidad y autenticaci´on.
Implementaciones Demo
Demo correos encriptados con pgp
1 gpg –list-keys|grep Edward
2 gpg –recipient edward@fsf.org –encrypt –sign –armor
mailDePrueba.txt
3 gpg –decrypt respuesta.asc
Ejercicio Criptograf´ıa Enunciado
Ejercicio 13
Dada la siguiente red se pide:
1 Describir un criptosistema de manera informal para garantizar la
autenticidad del Proxy y del servidor de la intranet. Enumere los elementos utilizados y explique c´omo esta soluci´on impide ataques de
Man in the middle. Si hacen falta cambios en las tablas de firewalling
descr´ıbalos.
Ejercicio Criptograf´ıa Soluci´on
Varias opciones
1 HTTPS.
Firewall 1: allow<lan,∗,dmz,443,tcp>. 2 T´unel SSH.
Firewall 1: allow<lan,∗,dmz,ssh,tcp>.
3 Agregar certificados a los servers de la DMZ para quefirmenlos mensajes.
Se necesita clave p´ublica y privada para el server.
Crear nuevo servicio que encapsule los mensajes del protocolo original dentro de un mensaje firmado.
Certificado en todos los hosts con la clave p´ublica del server. Firewall 1: allow<lan,∗,dmz,nuevo servicio,tcp>.
Ejercicio Parcial Enunciado
1C2015
En la organizaci´onFondoBuitre los empleados deben registrar
transacciones fraudulentas a un servidor en la Internet. Con el fin de evitar dejar rastros, las transacciones se realizan en un servidor con IP din´amica. Para conseguir dicha IP, primero se debe iniciar una conexi´on TCP al puerto 7564 de un servidor con IP fija (156.33.24.56) desde un host de la red interna (200.0.0.0/24). Tras autenticarse, se recibir´a un intento de conexi´on al puerto 7565 desde la IP donde se debe efectuar la transacci´on. FondoBuitre protege su red interna mediante un firewall stateless que filtra paquetes en base a las reglas est´andar:
<IPorigen,Puertoorigen,IPdst,Puertodst >.
Ejercicio Parcial Enunciado
Continuaci´
on
Sin embargo, tambi´en es capaz de agregar reglas din´amicamente que incluyen a los flags TCP. Las reglas din´amicas se verifican a la llegada de cada paquete y de cumplirse generan una o m´as reglas est´aticas nuevas. A continuaci´on, la sintaxis y sem´antica de las reglas din´amicas:
Ejercicio Parcial Enunciado
Continuaci´
on
<$1,$2,200,0,0,1,80,SAR>→ {<$1,$2,200,0,0,1,80>, <
200,0,0,2,$2,200,0,0,1,$2>}significa que si llega un paquete de
cualquier <IP,puerto>, a la IP interna 200.0.0.1 puerto 80 con las flags SYN, ACK y RST encendidos entonces, en ese momento y por un per´ıodo acotado, se agregan las siguientes reglas est´aticas:
<IP,Puerto,200,0,0,1,80> y<200,0,0,2,Puerto,200,0,0,1,Puerto >
siendoIP yPuertolos valores concretos del paquete recibido. O sea, a partir de una regla din´amica, a la llegada de un paquete se pueden generar varias reglas est´aticas.
Ejercicio Parcial Enunciado
Se pide:
a. Defina el conjunto de reglas m´as restrictivo posible, tanto est´aticas como din´amicas, necesarias para lograr que los empleados puedan realizar las transacciones descriptas.
b. Luego de un tiempo se identifica que existe una falla de seguridad ya que nadie verifica la autenticidad del servidor. Por ende se pide agregar un mecanismo criptogr´afico de clave asim´etrico que asegure las propiedades de integridad y no repudio. De modo breve y conciso, detalle y justifique c´omo lo implementar´ıa.
Ejercicio Parcial Cerrando