Networking ¡and ¡Denial ¡of ¡Service ¡ CS461/ECE422 ¡ Spring ¡2012 ¡
Reading ¡Material ¡ • Chapter ¡7 ¡of ¡text ¡ • ARP ¡cache ¡poisoning ¡ – hEp://en.wikipedia.org/wiki/ARP_spoofing ¡ • Reference ¡to ¡DNS ¡cache ¡poisoning ¡
Outline ¡ • Quick ¡review ¡of ¡network ¡stack ¡ • IP ¡addressing ¡and ¡spoofing ¡ • ARP ¡and ¡ARP ¡cache ¡poisoning ¡ • ICMP ¡and ¡Smurf ¡aEack ¡ • UDP ¡and ¡DHCP ¡ • TCP ¡and ¡SYN ¡flood ¡ • DNS ¡and ¡DNS ¡open ¡relay ¡and ¡cache ¡poisoning ¡
OSI ¡Reference ¡Model ¡ • The ¡layers ¡ – 7: ¡ApplicaUon, ¡e.g., ¡HTTP, ¡SMTP, ¡FTP ¡ – 6: ¡PresentaUon ¡ – 5: ¡Session ¡ – 4: ¡Transport, ¡e.g. ¡TCP, ¡UDP ¡ – 3: ¡Network, ¡e.g. ¡IP, ¡IPX ¡ – 2: ¡Data ¡link, ¡e.g., ¡Ethernet ¡frames, ¡ATM ¡cells ¡ – 1: ¡Physical, ¡e.g., ¡Ethernet ¡media, ¡ATM ¡media ¡ • Standard ¡so[ware ¡engineering ¡reasons ¡for ¡thinking ¡about ¡a ¡ layered ¡design ¡
Message ¡mapping ¡to ¡the ¡layers ¡ SVN ¡update ¡message ¡ L7 App SP ¡ SP ¡ DP ¡ DP ¡ ¡Packet1 ¡ SP ¡ DP ¡ ¡Packet2 ¡ L4 TCP Pack SA ¡ DA ¡ SP ¡ DP ¡ ¡Packet1 ¡ SA ¡ DA ¡ SP ¡ DP ¡ L3 IP 2 ¡ S D S D Pack SA ¡ DA ¡ SP ¡ DP ¡ Packet1 ¡ SA ¡ DA ¡ SP ¡ DP ¡ L2 Eth M ¡ M ¡ M ¡ M ¡ 2 ¡ CommunicaUons ¡bit ¡stream ¡
Switches ¡ • Original ¡ethernet ¡broadcast ¡all ¡packets ¡ • Layer ¡two ¡means ¡of ¡passing ¡packets ¡ – Learn ¡or ¡config ¡which ¡MAC's ¡live ¡behind ¡which ¡ ports ¡ – Only ¡pass ¡traffic ¡to ¡the ¡appropriate ¡port ¡ • Span ¡ports ¡ – Mirror ¡all ¡traffic ¡
Physical ¡Denial ¡of ¡Service ¡ l Radio ¡ - Jamming ¡ l Cables ¡ - Cubng ¡or ¡muUlaUng ¡
Network ¡Layer ¡-‑ ¡IP ¡ l Moves ¡packets ¡between ¡computers ¡ - Possibly ¡on ¡different ¡physical ¡segments ¡ - Best ¡effort ¡ l Technologies ¡ - RouUng ¡ - Lower ¡level ¡address ¡discovery ¡(ARP) ¡ - Error ¡Messages ¡(ICMP) ¡
IPv4 ¡ • See ¡Wikipedia ¡for ¡field ¡details ¡ – hEp://en.wikipedia.org/wiki/IPv4 ¡ Version IHL Type of service Total length Frag Offset DF MF Identification Time to live Header checksum Protocol Source address Destination Address 0 or more words of options
Ipv4 ¡Addressing ¡ • Each ¡enUty ¡has ¡at ¡least ¡one ¡address ¡ • Addresses ¡divided ¡into ¡subnetwork ¡ – Address ¡and ¡mask ¡combinaUon ¡ – 192.168.1.0/24 ¡or ¡10.0.0.0/8 ¡ – 192.168.1.0 ¡255.255.255.0 ¡or ¡10.0.0.0 ¡255.0.0.0 ¡ – 192.168.1.0-‑192.168.1.255 ¡or ¡10.0.0.0-‑10.255.255.255 ¡ • Addresses ¡in ¡your ¡network ¡are ¡“directly” ¡ connected ¡ – Broadcasts ¡should ¡reach ¡them ¡ – No ¡need ¡to ¡route ¡packets ¡to ¡them ¡
Example ¡Network ¡
Denial ¡of ¡Service ¡ • Basic ¡case ¡ – Use ¡simple ¡flooding ¡ping ¡ – Higher ¡capacity ¡link ¡floods ¡lower ¡capacity ¡link ¡ • E.g ¡Large ¡company ¡floods ¡small ¡company ¡web ¡site ¡ – Problem: ¡Easily ¡traceable ¡
Address ¡spoofing ¡ • Sender ¡can ¡put ¡any ¡source ¡address ¡in ¡packets ¡he ¡ sends: ¡ • Can ¡directly ¡aEack ¡target ¡in ¡a ¡less ¡traceable ¡fashion ¡ • Can ¡be ¡used ¡to ¡send ¡unwelcome ¡return ¡traffic ¡to ¡the ¡ spoofed ¡address ¡ • Can ¡be ¡used ¡to ¡bypass ¡filters ¡to ¡get ¡unwelcome ¡traffic ¡ to ¡the ¡desUnaUon ¡ • Routers ¡can ¡catch ¡some ¡spoofers ¡ • Reverse ¡path ¡verificaUon ¡ • Egress ¡filtering ¡
Example ¡Network ¡
Denial ¡of ¡Service ¡ • Distributed ¡case ¡ – Malware ¡installed ¡on ¡many ¡computers ¡(bots) ¡ – Command ¡and ¡control ¡system ¡direct ¡many ¡bots ¡to ¡ flood ¡common ¡target ¡ • Distributed ¡case ¡2 ¡ – Get ¡many ¡people ¡to ¡use ¡their ¡own ¡computers ¡to ¡ flood ¡a ¡common ¡target ¡ – E.g. ¡Anonymous ¡
Example ¡Network ¡
Flooding ¡Target ¡ProtecUon ¡OpUons ¡ • Plan ¡ahead ¡ – Have ¡addiUonal ¡backup ¡sites ¡that ¡can ¡be ¡enabled ¡ – Reduce ¡targets ¡ – Enforce ¡resource ¡consumpUon ¡policies ¡ • AEack ¡detecUon ¡and ¡filtering ¡ – Detect ¡bad ¡traffic ¡ – Update ¡filters ¡ • AEack ¡source ¡traceback ¡and ¡idenUficaUon ¡ – More ¡of ¡a ¡forensics ¡tool ¡ – Unlikely ¡to ¡be ¡fast ¡enough ¡to ¡stop ¡ongoing ¡aEack ¡
Address ¡ResoluUon ¡Protocol ¡(ARP) ¡ • Used ¡to ¡discover ¡mapping ¡of ¡neighboring ¡ ethernet ¡MAC ¡to ¡IP ¡addresses. ¡ – Need ¡to ¡find ¡MAC ¡for ¡192.168.1.3 ¡which ¡is ¡in ¡your ¡ interface's ¡subnetwork ¡ – Broadcast ¡an ¡ARP ¡request ¡on ¡the ¡link ¡ – Hopefully ¡receive ¡an ¡ARP ¡reply ¡giving ¡the ¡correct ¡ MAC ¡ – The ¡device ¡stores ¡this ¡informaUon ¡in ¡an ¡ARP ¡cache ¡ or ¡ARP ¡table ¡
ARP ¡Protocol ¡ What ¡is ¡the ¡MAC ¡ of ¡192.168.100.1? ¡ The ¡MAC ¡of ¡ The ¡MAC ¡of ¡ 192.168.100.1 ¡is ¡ 192.168.100.1 ¡is ¡ C:C:C:C:C:C ¡ B:B:B:B:B:B ¡
ARP ¡cache ¡poisoning ¡ • Bootstrap ¡problem ¡with ¡respect ¡to ¡security. ¡ ¡Anyone ¡can ¡send ¡an ¡ ARP ¡reply ¡ • Classic ¡Man-‑in-‑the-‑middle ¡aEack ¡ – Send ¡ARP ¡reply ¡messages ¡to ¡device ¡so ¡they ¡think ¡your ¡machine ¡is ¡someone ¡else ¡ – BeEer ¡than ¡simple ¡sniffing ¡because ¡not ¡just ¡best ¡effort. ¡ • SoluUons ¡ – Encrypt ¡all ¡traffic ¡ – Monitoring ¡programs ¡like ¡arpwatch ¡to ¡detect ¡mapping ¡changes ¡ • Which ¡might ¡be ¡valid ¡due ¡to ¡DHCP ¡
Internet ¡Control ¡Message ¡Protocol ¡(ICMP) ¡ • Used ¡for ¡diagnosUcs ¡ – DesUnaUon ¡unreachable ¡ – Time ¡exceeded, ¡TTL ¡hit ¡0 ¡ – Parameter ¡problem, ¡bad ¡header ¡field ¡ – Source ¡quench, ¡throEling ¡mechanism ¡rarely ¡used ¡ – Redirect, ¡feedback ¡on ¡potenUal ¡bad ¡route ¡ – Echo ¡Request ¡and ¡Echo ¡reply, ¡ping ¡ – Timestamp ¡request ¡and ¡Timestamp ¡reply, ¡performance ¡ping ¡ – Packet ¡too ¡big ¡ • Can ¡use ¡informaUon ¡to ¡help ¡map ¡out ¡a ¡network ¡ – Some ¡people ¡block ¡ICMP ¡from ¡outside ¡domain ¡
Smurf ¡AEack ¡ • An ¡ amplifica(on ¡DoS ¡aEack ¡ – A ¡relaUvely ¡small ¡amount ¡of ¡informaUon ¡sent ¡is ¡expanded ¡to ¡a ¡ large ¡amount ¡of ¡data ¡ • Send ¡ICMP ¡echo ¡request ¡to ¡IP ¡broadcast ¡addresses. ¡ ¡Spoof ¡ the ¡vicUm's ¡address ¡as ¡the ¡source ¡ • The ¡echo ¡request ¡receivers ¡duUfully ¡send ¡echo ¡replies ¡to ¡ the ¡vicUm ¡overwhelming ¡it ¡ • Fraggle ¡is ¡a ¡UDP ¡variant ¡of ¡the ¡same ¡aEack ¡
“Smurf” ¡ ICMP echo (spoofed source address of victim) Sent to IP broadcast address ICMP echo reply Internet Victim Perpetrator
Transport ¡Level ¡– ¡TCP ¡and ¡UDP ¡ • Service ¡to ¡service ¡communicaUon. ¡ ¡ ¡ – MulUple ¡conversaUons ¡possible ¡between ¡same ¡pair ¡of ¡ computers ¡ • Transport ¡flows ¡are ¡defined ¡by ¡source ¡and ¡desUnaUon ¡ports ¡ • ApplicaUons ¡are ¡associated ¡with ¡ports ¡(generally ¡just ¡desUnaUon ¡ ports) ¡ – IANA ¡organizes ¡port ¡assignments ¡hEp://www.iana.org/ ¡ • Source ¡ports ¡o[en ¡dynamically ¡selected ¡ – Ports ¡under ¡1024 ¡are ¡considered ¡well-‑known ¡ports ¡ – Would ¡not ¡expect ¡source ¡ports ¡to ¡come ¡from ¡the ¡well-‑known ¡ range ¡
Recommend
More recommend