arp address resolu on protocol
play

ARP Address Resolu,on Protocol Security Joo Paulo - PowerPoint PPT Presentation

ARP Address Resolu,on Protocol Security Joo Paulo Barraca jpbarraca@ua.pt 1 Networking Basics Communica,on in packet networks rely on several


  1. ARP ¡ Address ¡Resolu,on ¡Protocol ¡ Security ¡ ¡ João ¡Paulo ¡Barraca ¡ jpbarraca@ua.pt ¡ 1 ¡

  2. Networking ¡Basics ¡ • Communica,on ¡in ¡packet ¡networks ¡rely ¡on ¡ several ¡layers, ¡with ¡different ¡iden,fiers: ¡ – Applica,ons ¡use ¡TCP/UDP ¡ports ¡ – Hosts ¡use ¡IP ¡addresses ¡ – Interface ¡Cards ¡use ¡MAC ¡addresses ¡ • Communica,on ¡is ¡typically ¡made ¡between ¡ applica,ons ¡using ¡touples ¡<IP_Address:Port> ¡ and ¡a ¡protocol ¡(e.g. ¡TCP ¡or ¡UDP). ¡ João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 2 ¡

  3. Networking ¡Basics ¡ • When ¡a ¡packet ¡is ¡to ¡be ¡routed, ¡two ¡situa,ons ¡ may ¡occur: ¡ – The ¡packet ¡is ¡sent ¡to ¡the ¡des,na,on ¡host, ¡which ¡is ¡ in ¡the ¡same ¡IP ¡network. ¡ – The ¡packet ¡must ¡be ¡sent ¡to ¡a ¡next ¡hop ¡(gateway), ¡ un,l ¡it ¡reaches ¡the ¡des,na,on ¡IP ¡network. ¡ • In ¡both ¡cases, ¡packet ¡is ¡transmiYed ¡between ¡ physical ¡interfaces ¡ João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 3 ¡

  4. Networking ¡Basics ¡ Applica,on ¡ Applica,on ¡ HLP ¡ HLP ¡ HLP ¡ HLP ¡ IP ¡ IP ¡ IP ¡ IP ¡ SRC: ¡IP_A ¡ SRC: ¡IP_A ¡ SRC: ¡IP_A ¡ SRC: ¡IP_A ¡ DST: ¡IP_C ¡ DST: ¡IP_C ¡ DST: ¡IP_C ¡ DST: ¡IP_C ¡ MAC ¡ MAC ¡ MAC ¡ MAC ¡ SRC: ¡MAC_A ¡ SRC: ¡MAC_A ¡ SRC: ¡MAC_B ¡ SRC: ¡MAC_B ¡ DST: ¡MAC_B ¡ DST: ¡MAC_B ¡ DST: ¡MAC_C ¡ DST: ¡MAC_C ¡ Phy ¡ Phy ¡ Phy ¡ Phy ¡ João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 4 ¡

  5. Networking ¡Basics ¡ • IP ¡addresses ¡do ¡not ¡change ¡between ¡source ¡ and ¡des,na,on ¡ • MAC ¡addresses ¡are ¡valid ¡for ¡a ¡single ¡network ¡ segment ¡ – When ¡packet ¡is ¡routed, ¡MAC ¡address ¡of ¡next ¡hop ¡ must ¡be ¡found ¡ João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 5 ¡

  6. IP ¡to ¡MAC ¡mapping ¡ • Sta,c ¡configura,on ¡ – MAC ¡entries ¡of ¡all ¡hosts ¡configured ¡sta,cally ¡ • All ¡hosts ¡“know” ¡the ¡MAC ¡address ¡of ¡all ¡interfaces ¡of ¡all ¡ other ¡hosts ¡ – Does ¡not ¡scale! ¡ • Changing ¡a ¡single ¡interface ¡requires ¡upda,ng ¡all ¡other ¡ hosts ¡ • Dynamic ¡configura,on: ¡ARP ¡ João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 6 ¡

  7. Address ¡Resolu,on ¡Protocol ¡ RFC ¡826 ¡ • ARP: ¡find ¡MAC ¡address ¡of ¡an ¡Interface ¡which ¡is ¡in ¡a ¡ host ¡with ¡IP ¡address ¡ • RARP: ¡find ¡IP ¡address ¡of ¡host ¡having ¡an ¡interface ¡ with ¡the ¡given ¡MAC ¡ 32bit ¡IPv4 ¡Addresses ¡ ARP ¡ 48bit ¡Ethernet ¡Addresses ¡ João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 7 ¡

  8. Address ¡Resolu,on ¡Protocol ¡ 10.0.0.1 10.0.0.2 10.0.0.3 Who ¡has ¡10.0.0.3? ¡ • Send ¡ARP ¡Request ¡using ¡broadcast. ¡ João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 8 ¡

  9. Address ¡Resolu,on ¡Protocol ¡ 10.0.0.1 10.0.0.2 10.0.0.3 Me! ¡00:11:22:33:44:55 ¡ Not ¡me! ¡ • Reply ¡using ¡ARP ¡Response ¡using ¡unicast ¡ João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 9 ¡

  10. Address ¡Resolu,on ¡Protocol ¡ • Every ¡packet ¡sent ¡requires ¡two ¡MAC ¡address ¡ – Source ¡Address ¡is ¡known ¡ – Des,na,on ¡Address ¡must ¡be ¡determined ¡ • ARP ¡Cache ¡increases ¡performance ¡ – Caches ¡both ¡known ¡and ¡unknown ¡entries ¡ – Avoid ¡repea,ng ¡the ¡discovery ¡process ¡per ¡packet ¡ – Entries ¡have ¡a ¡large ¡life,me ¡(2 ¡minutes) ¡ João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 10 ¡

  11. ARP ¡Cache ¡ security@security:~$ arp -a � fog.av.it.pt (193.136.92.154) at 00:1e:8c:3e:6a:a6 [ether] on eth0 � atnog.av.it.pt (193.136.92.123) at 00:15:17:e6:6f:67 [ether] on eth0 � guarani.av.it.pt (193.136.92.134) at 00:0c:6e:da:19:87 [ether] on eth0 � aeolus.av.it.pt (193.136.92.136) at bc:ae:c5:1d:c6:53 [ether] on eth0 � João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 11 ¡

  12. ARP ¡Spoofing ¡ • MAC ¡addresses ¡can ¡be ¡modified ¡ ifconfig eth0 hw ether 00:11:22:33:44:55 � • Using ¡a ¡colliding ¡MAC ¡address ¡will ¡allow ¡ recep,on ¡of ¡network ¡traffic ¡for ¡other ¡hosts ¡ – Some ¡switches ¡limit ¡MAC ¡addresses ¡to ¡single ¡ports ¡ • Sending ¡ARP ¡packets ¡with ¡spoofed ¡addressed ¡ may ¡poison ¡the ¡cache ¡of ¡other ¡sta,ons ¡ – ARP ¡Poisoning ¡ João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 12 ¡

  13. ARP ¡Poisoning ¡ • Hosts ¡cache ¡informa,on ¡directly ¡from ¡ARP ¡ packets ¡ – No ¡other ¡verifica,on ¡is ¡done ¡ • New ¡informa,on ¡will ¡replace ¡exis,ng ¡entries ¡ – Great ¡for ¡allowing ¡network ¡dynamism ¡ – Very ¡bad ¡for ¡security ¡ • Possible ¡to ¡send ¡specially ¡cramed ¡packets ¡to ¡ create ¡specific ¡entries ¡in ¡remote ¡hosts ¡ João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 13 ¡

  14. ARP ¡Poisoning ¡ • When ¡receiving ¡an ¡ARP ¡Request: ¡ 10.0.0.2 ¡will ¡send ¡an ¡ARP ¡Reply ¡ But… ¡10.0.0.2 ¡will ¡also ¡“learn” ¡that ¡10.0.0.3 ¡is ¡at ¡ e0:f8:47:1b:1f:42 ¡ João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 14 ¡

  15. ARP ¡Poisoning ¡ • When ¡receiving ¡an ¡ARP ¡Reply ¡ ¡ • 10.0.0.3 ¡will ¡learn ¡that ¡10.0.0.246 ¡is ¡at ¡ 90:f6:52:f2:77:62 ¡ • …. ¡even ¡if ¡no ¡matching ¡request ¡as ¡made… ¡ João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 15 ¡

  16. ARP ¡Poisoning: ¡Consequences ¡ • Hosts ¡can ¡be ¡isolated ¡from ¡the ¡network ¡ – Create ¡fake ¡entries ¡for ¡all ¡other ¡hosts ¡ Eve Alice Bob 10.0.0.1 10.0.0.2 10.0.0.3 11:11:11:11:11:11 22:22:22:22:22:22 33:33:33:33:33:33 ARP ¡Request ¡ Who ¡has ¡10.0.0.2? ¡ GW I ¡am ¡10.0.0.3, ¡44:44:44:44:44:44 ¡ 10.0.0.254 00:11:22:33:44:55 • Alice ¡will ¡use ¡44:44:44:44:44:44 ¡when ¡talking ¡to ¡Bob ¡ João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 16 ¡

  17. ARP ¡Poisoning: ¡Consequences ¡ • Hosts ¡can ¡be ¡denied ¡communica,on ¡with ¡the ¡ outside ¡world ¡ Eve Alice Bob 10.0.0.1 10.0.0.2 10.0.0.3 11:11:11:11:11:11 22:22:22:22:22:22 33:33:33:33:33:33 ARP ¡Request ¡ ARP ¡Request ¡ Who ¡has ¡10.0.0.2? ¡ GW Who ¡has ¡10.0.0.254? ¡ ¡ 10.0.0.254 I ¡am ¡10.0.0.254, ¡44:44:44:44:44:44 ¡ I ¡am ¡10.0.0.2, ¡44:44:44:44:44:44 ¡ 00:11:22:33:44:55 João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 17 ¡

  18. ARP ¡Poisoning: ¡Consequences ¡ • Traffic ¡between ¡two ¡hosts ¡can ¡be ¡intercepted ¡ (MitM) ¡ Eve Alice Bob 10.0.0.1 10.0.0.2 10.0.0.3 11:11:11:11:11:11 22:22:22:22:22:22 33:33:33:33:33:33 ¡ ARP ¡Request ¡ ARP ¡Request ¡ Who ¡has ¡10.0.0.2? ¡ GW Who ¡has ¡10.0.0.254? ¡ 10.0.0.254 I ¡am ¡10.0.0.254, ¡11:11:11:11:11:11 ¡ I ¡am ¡10.0.0.2, ¡11:11:11:11:11:11 ¡ 00:11:22:33:44:55 – Then ¡Eve ¡will ¡forward ¡traffic ¡ João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 18 ¡

  19. ARP ¡Poisoning: ¡Avoidance ¡ • Use ¡sta,c ¡entries ¡ – No ¡resolu,on ¡process ¡is ¡triggered ¡ – Colliding ¡Informa,on ¡from ¡ARP ¡packets ¡is ¡ discarded ¡ • Behaviour ¡detec,on ¡ – Detect ¡ARP ¡Replies ¡without ¡Request ¡ – Detect ¡repeated ¡Requests ¡from ¡same ¡host. ¡ ¡ João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 19 ¡

  20. ARP ¡Poisoning: ¡Avoidance ¡ • Use ¡monitoring ¡somware ¡ – Somware ¡watches ¡for ¡MAC ¡changes ¡ • Network ¡administrator ¡is ¡no,fied ¡ – ARP ¡Poison ¡is ¡not ¡actually ¡avoided! ¡ • Port ¡based ¡packet ¡filtering ¡at ¡switch ¡ingress ¡ – Spoofed ¡ARP ¡packets ¡are ¡dropped ¡ – Only ¡possible ¡in ¡sta,c ¡scenarios ¡ ¡ João ¡Paulo ¡Barraca ¡<jpbarraca@ua.pt> ¡ 20 ¡

Recommend


More recommend