Capítulo 8: Seguridad en Redes - III ELO322: Redes de Computadores Tomás Arredondo Vidal Este material está basado en: ❒ material de apoyo al texto Computer Networking: A Top Down Approach Featuring the Internet 3rd edition. Jim Kurose, Keith Ross Addison-Wesley, 2004. 8: Network Security 8-1 Seguridad en Redes ❒ 8.1 Que es la ❒ ❒ ❒ ❒ seguridad 8.2 Principios de criptografía 8.3 Autenticación 8.4 Integridad 8.5 Distribución de llaves y certificación ❒ 8.6 Control de acceso: cortafuegos ❒ 8.7 Ataques y contra medidas ❒ 8.8 Seguridad en capas múltiples 8: Network Security 8-2 Peligros a la seguridad de Internet Generar Mapas de objetivos: Antes de atacar : “investigar el sitio” – determinar los servicios que estan implementados en la red ❍ Usar ping para ver cuales terminales tienen direcciones en la red ❍ Usar un escáner de puertos: tratar de establecer conexiones TCP a cada puerto en secuencia ❍ nmap (http://www.insecure.org/nmap/) mapper: “exploracion y auditoria de seguridad” ❍ Contramedidas? 8: Network Security 8-3 Peligros a la seguridad de Internet Generar Mapas de objetivos: contramedidas Grabar trafico que entra a la red ❍ Buscar actividad sospechosa (direcciones IP, puertos siendo escaneados secuencialmente) ❍ 8: Network Security 8-4 Peligros a la seguridad de Internet Oler paquetes (packet sniffing): ❍ Ethernet es un medio compartido ❍ NIC promiscua lee todos los paquetes que pasan por ella ❍ NIC puede leer datos no encriptados (e.g. passwords) ❍ e.g.: C huele paquetes de B C A src:B dest:A Contramedidas? payload B 8: Network Security 8-5 Peligros a la seguridad de Internet Oler paquetes (packet sniffing): ❍ Todos los terminales en una organización corren programas que verifican periódicamente si el terminal esta en modo promiscuo Solución: ❍ Un terminal por segmento de medio compartido (usando un Ethernet switch y no un hub!) C A src:B dest:A payload B 8: Network Security 8-6 Peligros a la seguridad de Internet IP Spoofing: ❍ Se puede generar paquetes IP en bruto (“raw”) directamente desda la aplicacion poniendo cualquier valor de terminal origen en un paquete ❍ Receptor no sabe si el terminal origen fue cambiado (spoofed) ❍ e.g.: C pretende ser B C A src:B dest:A payload B Contramedidas? 8: Network Security 8-7 Peligros a la seguridad de Internet IP Spoofing: filtrado de ingreso ❍ Paquetes pueden tener dirección IP de origen errónea Solución: ❍ Routers no deberían reenviar paquetes con direcciones fuente invalidas (e.g., dirección del datagrama no esta en la red del router) ❍ Problema: como obligar a que todas las redes usen esta solución? C A src:B dest:A payload B 8: Network Security 8-8 Peligros a la seguridad de Internet Denegar servicios (DOS): Inundación de paquetes maliciosamente generados “inundan” receptor ❍ DOS distribuidos (DDOS): múltiples transmisores coordinados inundan receptor ❍ e.g., C y terminal remoto B atacan A ❍ C A SYN SYN SYN SYN SYN B Contramedidas? SYN SYN 8: Network Security 8-9 Peligros a la seguridad de Internet Denegacion de servicio (DOS): contramedidas filtrar paquetes causando inundación (e.g., SYN) antes de llegar al terminal: bota todos ❍ rutear de vuelta para encontrar fuente de inundación (probablemente una maquina comprometida con un virus o algo asi) ❍ C A SYN SYN SYN SYN SYN B SYN SYN 8: Network Security 8-10 Seguridad en Redes ❒ 8.1 Que es la ❒ ❒ ❒ ❒ seguridad 8.2 Principios de criptografía 8.3 Autenticación 8.4 Integridad 8.5 Distribución de llaves y certificación ❒ 8.6 Control de acceso: cortafuegos ❒ 8.7 Ataques y contra medidas ❒ 8.8 Seguridad en capas múltiples ❍ ❍ ❍ ❍ 8.8.1. Email seguro 8.8.2. Sockets seguros 8.8.3. IPsec 8.8.4. Securidad en 802.11 8: Network Security 8-11 E-mail seguro Alice quiere enviar mail confidencial, m, a Bob. (m pueden ser datos de cualquier aplicación…) KS m . KS( ) + KS + + Alice: . K B( ) KS(m ) KS(m ) + KB(KS ) . KS( ) - Internet + KB(KS ) KB m KS - . K B( ) - KB genera llave simétrica aleatoria privada, KS encripta mensaje con KS (mas eficiente) también encripta KS con la llave pública de Bob envía ambas KS(m) y KB(KS) a Bob 8: Network Security 8-12 E-mail seguro Alice quiere enviar mail confidencial, m, a Bob. KS m K (.) S + KS + . K B( ) + KB KS(m ) KS(m ) + KB(KS ) . KS( ) - Internet + KB(KS ) m KS - . K B( ) - KB Bob: usa llave privada para decriptar y obtener su llave privada KS usa KS para decriptar KS(m) y recuperar m 8: Network Security 8-13 E-mail seguro • Alice quiere proveer integridad de mensaje autenticado por ella + - KA m H(.) - . KA( ) - - KA(H(m)) KA(H(m)) + KA Internet + . KA( ) - m m H(m ) compare . H( ) H(m ) • Alice firma digitalmente el mensaje. • Envía el mensaje y la firma digital. 8: Network Security 8-14 E-mail seguro • Alice quiere proveer, autenticación de transmisor, integridad del mensaje y confidencialidad. - KA m . H( ) - . KA( ) - KA(H(m)) + KS . KS( ) + m KS + . K B( ) + Internet + KB(KS ) KB Alice usa tres llaves: su llave privada, la llave pública de Bob, llave simétrica recién creada 8: Network Security 8-15 Pretty good privacy (PGP) Método standard para encriptación de e-mail en Internet. ❒ Usa llave simétrica, criptografía publica, función de hash y firma digital como vimos anteriormente. ❒ Provee confidencialidad, autenticación de transmisor e integridad. ❒ Inventor, Phil Zimmerman, fue investigado por el gobierno de USA por 3 años. ❒ A PGP signed message: ---BEGIN PGP SIGNED MESSAGE-Hash: SHA1 Bob:My husband is out of town tonight.Passionately yours, Alice ---BEGIN PGP SIGNATURE--Version: PGP 5.0 Charset: noconv yhHJRHhGJGhgg/12EpJ+lo8gE4vB3 mqJhFEvZP9t6n7G6m5Gw2 ---END PGP SIGNATURE--- 8: Network Security 8-16 Secure sockets layer (SSL) ❒ Seguridad en capa transporte para cualquier aplicación basada en TCP que usa los servicios SSL. ❒ Usada entre browsers Web para e-commerce (shttp). ❒ Servicios de seguridad: ❍ ❍ ❍ autenticación de servidor encriptación de datos autenticación de cliente (opcional) ❒ Autenticacion de servidor: ❍ ❍ ❍ Browser usando SSL incluye llaves publicas para Autoridades de Certificación (CA) confiables. Browser pide certificado del sitio web servidor, generado por CA. Browser usa llave publica del CA para extraer la llave publica del servidor del certificado ❒ Ver el menu de seguridad de tu browser para ver CAs confiables. 8: Network Security 8-17 SSL (continuado) Sesion SSL encriptada: ❒ SSL: base de la IETF ❒ Browser genera llave Transport Layer simétrica de sesión, la Security (TLS). encripta con la llave pública ❒ SSL se puede usar en del servidor, envía llave aplicaciones no de la encriptada al servidor. Web, e.g., IMAP. ❒ Usando su llave privada, el ❒ Autenticación de servidor decripta la llave cliente puede ser de sesión. hecha con certificados ❒ Solo browser, server saben de clientes. llave de sesión simétrica ❍ Todos los datos enviados al socket TCP (por cliente o servidor) son encriptados con llave de sesión simétrica. 8: Network Security 8-18 IPsec: Seguridad en capa red ❒ Seguridad en capa red: ❒ Para AH y ESP, handshake Terminal transmisor encripta fuente, destino: datos en datagrama IP ❍ Crea canal lógico en capa ❍ Segmentos TCP y UDP; red llamado asociación de mensajes ICMP y SNMP seguridad (SA) messages. ❒ Cada SA unidireccional. ❒ Autenticación en capa red ❒ Determinado únicamente por: ❍ Terminal destino puede ❍ Protocolo de seguridad autenticar dirección IP origen (AH or ESP) ❒ Usa dos protocolos: ❍ Dirección IP origen ❍ Protocolo para autenticación ❍ Identificador de conexión de cabezal (AH) de 32-bits ❍ Protocolo para encapsulacion de carga (ESP) ❍ 8: Network Security 8-19 Protocolo AH Datos AH incluyen: ❒ Identificador de fuente, destino, conexión integridad de datos, NO provee confidencialidad ❒ Datos de autenticación: digestión firmado por ❒ Datos AH se insertan origen calculado sobre entre cabecera IP, datagrama IP original. campos de datos. ❒ Campo next header: ❒ Campo protocolo: 51 especifica tipo de datos (e.g., TCP, UDP, ICMP) ❒ Routers intermedio procesan datagramas normalmente ❒ Provee autenticación IP header AH header data (e.g., TCP, UDP segment) 8: Network Security 8-20 Protocolo ESP ❒ Provee confidencialidad, ❒ Campo de autenticación de terminal, integridad de datos. ❒ Datos, ESP trailer son encriptados. ❒ ❒ Campo next header esta en ESP trailer. autenticacion ESP es similar as campo de autenticacion AH. Protocolo = 50. authenticated encrypted IP header ESP ESP ESP TCP/UDP segment header trailer authent. 8: Network Security 8-21 Seguridad IEEE 802.11 ❒ Redes 802.11 disponibles? 85% no usan encriptación o autenticación ❍ medio compartido: ataques son fáciles! ❒ Asegurar 802.11 ❍ encriptación, autenticación ❍ primer intento a la seguridad de 802.11: Wired Equivalent Privacy (WEP): no funciono ❍ intento actual: 802.11i ❍ 8: Network Security 8-22 Wired Equivalent Privacy (WEP): ❒ Autenticación como protocolo ap4.0 terminal pide autenticación desde punto de acceso ❍ punto de acceso envía nonce de 128 bits ❍ terminal encripta nonce usando llave simétrica compartida ❍ punto de acceso decripta nonce, autentica terminal ❒ No hay distribución de llaves ❒ Autenticación: conocer la llave secreta es suficiente ❍ 8: Network Security 8-23 Encriptacion de datos WEP ❒ Terminales comparten llave simétrica de 40 bits (semi❒ ❒ ❒ ❒ permanent) Servidor suma 24-bits de vector de inicialización (IV) para crear llave de 64-bits Llave de 64 bits se usa para generar flujo de llaves: kiIV kiIV usado para decriptar byte i, di, en el frame: ci = di XOR kiIV IV y bytes encriptados, ci enviados en el frame 8: Network Security 8-24 Encriptacion 802.11 WEP IV (per frame) KS: 40-bit secret symmetric key plaintext frame data plus CRC key sequence generator ( for given KS, IV) k1IV k2IV k3IV … kNIV kN+1IV… kN+1IV d1 d2 d3 … dN CRC1 … CRC4 c1 c2 c3 … cN cN+1 … cN+4 802.11 IV header WEP-encrypted data plus CRC Figure 7.8-new1: 802.11 WEP protocol WEP Encriptacion en lado transmisor 8: Network Security 8-25 Rompiendo la Encriptacion 802.11 WEP Hoyo en la seguridad: ❒ IV de 24-bit, un IV por frame, -> IV’s se reutilizan eventualmente ❒ IV transmitido en texto plano (plaintext) -> reuso de IV detectado ❒ Ataque: ❍ Trudy causa que Alice encripta texto plano d1 d2 d3 d4 … IV ❍ Trudy ve: ci = di XOR ki ❍ ❍ ❍ Trudy conoce ci di, puede calcular kiIV Trudy sabe secuencia de encriptación k1IV k2IV k3IV … Próxima vez que se use IV, Trudy puede decriptar! 8: Network Security 8-26 802.11i: seguridad mejorada ❒ Utiliza distribución de llaves ❒ Tiene servidor de autenticación separado del punto de acceso 8: Network Security 8-27 802.11i: cuatro fases de operación AP: punto acceso STA: estación cliente AS: Authentication server wired network 1 Describir capacidades de seguridad 2 STA y AS se autentican mutualmente, juntos generan llave Maestra (MK). AP servidores “pasan datos” 3 STA deriva Pairwise Master Key (PMK) 4STA, AP usa PMK para derivar llave temporal (TK) usado para encriptación de mensaje usada e integridad 3 AS deriva mismo PMK, envía a AP 8: Network Security 8-28 EAP: protocolo de autenticación extensible ❒ EAP: protocolo de autenticación terminal-a- terminal para clientes móviles end-end client (móviles) ❒ EAP enviado por enlaces separados mobil-a-AP (EAP sobre LAN) ❍ AP a servidor de autenticación (RADIUS over UDP) ❍ wired network EAP TLS EAP EAP over LAN (EAPoL) IEEE 802.11 RADIUS UDP/IP 8: Network Security 8-29 Seguridad de Red Técnicas básicas…... criptografía (simétrica y publica) ❍ autenticación ❍ integridad de mensajes ❍ distribución de llaves ❍ …. usado en muchos escenarios de seguridad email seguro ❍ secure transport (SSL) ❍ IP sec ❍ 802.11 ❍ 8: Network Security 8-30