“ANÁLISIS, DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA PARA EVITAR ATAQUES AL PROTOCOLO ARP EN REDES DE ÁREA LOCAL” Andre Ortega A. Xavier Marcos R. 1
AGENDA Funcionamiento del protocolo ARP El problema: Envenenamiento a la caché ARP Objetivos Solución: Análisis y Diseño Solución: Implementación Demostración Pruebas y Resultados Conclusiones
FUNCIONAMIENTO DEL PROTOCOLO ARP
ARP (Address Resolution Protocol) IP addr Mac addr 192.168.1.20 00:44:33:08:A3:C0 IP addr Mac addr IP addr Mac addr IP addr Mac addr 192.168.1.10 17:44:07:BB:24:C5 Alice Bob 192.168.1.10 192.168.1.20 17:44:07:BB:24:C5 00:44:33:08:A3:C0 Carol Alice se comunica con Bob éxitosamente IP addr Mac addr IP addr Mac addr 192.168.1.10 17:44:07:BB:24:C5
EL PROBLEMA: ENVENENAMIENTO A LA CACHÉ ARP
El problema 6 6
OBJETIVOS
Objetivos Presentar un nuevo esquema para asegurar ARP, de manera que: No implique cambios en cada host. Evite uso de técnicas criptográficas. Sea ampliamente disponible. Sea fácil de implementar. No se requiera de hardware costoso. Se combatan todos los tipos de ataques ARP. 8
SOLUCIÓN: ANÁLISIS Y DISEÑO 9
Análisis y Diseño La solución la integran 2 elementos: Switch. Servidor. 10
Diseño Inicial 11
Diseño final 12
SOLUCIÓN: IMPLEMENTACIÓN 13
Servidor Actualización de su caché ARP a través de mensajes DHCP: update_arp_cache Responde consultas ARP: send_arp_reply Impide actualización de su caché ARP a través de consultas ARP: arptables -A INPUT --opcode 1 -j DROP 14
Switch Bloqueo de respuestas ARP excepto las del servidor: ebtables -A FORWARD -p ARP --arp-opcode 2 -i ! INTERFASE_SERVIDOR -j DROP Redirección de consultas ARP tanto broadcast como unicast hacia el servidor: 15
Switch ebtables -t nat -A PREROUTING -p ARP --arp-opcode 1 -s ! MAC_SERVIDOR -d ff:ff:ff:ff:ff:ff -j dnat --to-destination MAC_SERVIDOR ebtables -t nat -A PREROUTING -p ARP --arp-opcode 1 -s ! MAC_SERVIDOR -d ! ff:ff:ff:ff:ff:ff -j dnat --to-destination MAC_SERVIDOR 16
Switch Reenvío de tramas DHCP hacia el servidor: iptables -t mangle -A INPUT -s IP_RED_LOCAL -j MARK --set-mark 100 iptables -A INPUT -m mark --mark 100 -p udp --sport 68 -j ULOG iptables -t mangle -A OUTPUT -d IP_RED_LOCAL -j MARK --set-mark 200 iptables -A OUTPUT -m mark --mark 200 -p udp --dport 68 -j ULOG Paquete ForwardDhcpFrames_1_mipsel.ipk 17
Funcionamiento de nuestro mecanismo
DEMOSTRACIÓN 19
PRUEBAS Y RESULTADOS 20
Pruebas y resultados obtenidos Comparación de 3 escenarios: Switch con OpenWrt, sin configuraciones. Ruteador con VLANs creadas. Solución ejecutándose. 21
Pruebas y resultados obtenidos Medición de: Porcentaje de paquetes perdidos. Tiempo de recepción de respuestas ARP. Tiempo de transmisión de paquetes. 22
Paquetes perdidos 23
Respuestas ARP 24
Transmisión de datos 25
CONCLUSIONES 26
Conclusiones No fue necesaria la implementación de un gran sistema. El nivel de rendimiento que obtendríamos por la utilización de la librería libpcap no fue considerado inicialmente. El tiempo en que una respuesta ARP llega a un nodo que realiza una consulta, no es considerado crítico, ya que únicamente las consultas ARP son afectadas y en una red, el porcentaje de tráfico ARP puede ser considerado despreciable. 27 27