ELEC ¡/ ¡COMP ¡177 ¡– ¡Fall ¡2011 ¡ Some ¡slides ¡from ¡Kurose ¡and ¡Ross, ¡ Computer ¡Networking , ¡5 th ¡Edition ¡ Some ¡slides ¡from ¡ CS244a ¡@ ¡Stanford ¡
¡ Homework ¡#6 ¡-‑ ¡Presentation ¡on ¡security/ privacy ¡ § Topic ¡selection ¡– ¡Due ¡Tuesday, ¡Nov ¡22 nd ¡ ¡ § Slides ¡ – ¡Due ¡Monday, ¡Nov ¡28 th ¡ ¡ § Present! ¡ – ¡Tuesday, ¡Nov ¡29 th ¡(and ¡Thursday) ¡ ¡ ¡ Project ¡#3 ¡– ¡Due ¡Tue, ¡Dec ¡6 th ¡ ¡ § Questions? ¡ ¡ Lab ¡Practical ¡Exams ¡ – ¡See ¡individual ¡signup ¡ 2 ¡
¡ Solutions ¡will ¡be ¡posted ¡in ¡Sakai ¡(after ¡5-‑day ¡ late ¡submission ¡period ¡ends) ¡ ¡ We’ll ¡review ¡them ¡in ¡class ¡before ¡the ¡final ¡ exam ¡ 3 ¡
50% ¡TECHNICAL ¡CONTENT ¡ 50% ¡PRESENTATION ¡QUALITY ¡ ¡ Coherent ¡organization? ¡ ¡ Accuracy? ¡ ¡ Effectively ¡covered ¡topic? ¡ ¡ Depth? ¡ (including ¡an ¡introduction) ¡ ¡ Visual ¡presentation ¡(slides) ¡ ¡ Timeliness ¡(material ¡from ¡ § Used ¡graphics? ¡ ¡ ¡ last ¡3 ¡years) ¡ § Spelling? ¡ ¡ Oral ¡presentation ¡ § Grammar? ¡ This ¡will ¡improve ¡if ¡you ¡ practice ¡ § Delivery ¡(pacing, ¡volume, ¡ ¡eye ¡contact) ¡ your ¡talk ¡before ¡class! ¡ ¡ Use ¡a ¡timer: ¡ 8-‑9 ¡minutes! ¡ 4 ¡
5 ¡
¡ Large, ¡active ¡field ¡with ¡many ¡participants ¡ § Academic ¡researchers ¡ § Engineers ¡in ¡industry ¡ § Bad ¡guys ¡ ¡ Impossible, ¡completely ¡impossible ¡to ¡cover ¡ it ¡in ¡one ¡day! ¡ § Think ¡of ¡today ¡as ¡a ¡random ¡sampling… ¡ ¡ Take ¡COMP ¡178 ¡Network ¡Security ¡in ¡Spring ¡ 6 ¡
¡ Confidentiality : ¡only ¡sender ¡and ¡intended ¡ receiver ¡should ¡“understand” ¡message ¡contents ¡ § Sender ¡encrypts ¡message ¡ § Receiver ¡decrypts ¡message ¡ ¡ Authentication : ¡sender ¡and ¡receiver ¡each ¡want ¡ to ¡confirm ¡identity ¡of ¡each ¡other ¡ ¡ ¡ Message ¡integrity : ¡sender ¡and ¡receiver ¡each ¡ want ¡to ¡ensure ¡message ¡not ¡altered ¡(in ¡transit, ¡ or ¡afterwards) ¡without ¡detection ¡ ¡ Access ¡and ¡availability : ¡services ¡must ¡be ¡ accessible ¡and ¡available ¡to ¡users ¡ 7 ¡
¡ Well-‑known ¡names ¡in ¡network ¡security ¡world ¡ § From ¡a ¡1978 ¡encryption ¡paper ¡ ¡ Bob ¡and ¡Alice ¡want ¡to ¡communicate ¡“securely” ¡ ¡ Trudy ¡(intruder) ¡may ¡intercept, ¡delete, ¡add ¡messages ¡ Alice ¡ Bob ¡ data, ¡control ¡ channel ¡ messages ¡ data ¡ secure ¡ secure ¡ data ¡ sender ¡ receiver ¡ Trudy ¡ 8 ¡
¡ Real-‑life ¡Bobs ¡and ¡Alices! ¡ ¡ Web ¡browser/server ¡for ¡electronic ¡ transactions ¡(e.g., ¡on-‑line ¡purchases) ¡ ¡ On-‑line ¡banking ¡client/server ¡ ¡ DNS ¡servers ¡ ¡ Routers ¡exchanging ¡routing ¡table ¡updates ¡ ¡ Peers ¡on ¡a ¡P2P ¡network ¡ ¡ … ¡and ¡many ¡other ¡possibilities! ¡ 9 ¡
¡ Q: ¡What ¡can ¡a ¡“bad ¡guy” ¡do? ¡ ¡ A: ¡A ¡lot! ¡ ¡ § Eavesdrop: ¡intercept ¡messages ¡ § Actively ¡insert ¡messages ¡into ¡connection ¡ § Impersonation: ¡can ¡fake ¡( spoof ) ¡source ¡address ¡in ¡ packet ¡(or ¡any ¡field ¡in ¡packet) ¡ § Hijacking: ¡“take ¡over” ¡ongoing ¡connection ¡by ¡ removing ¡sender ¡or ¡receiver, ¡inserting ¡himself ¡in ¡place ¡ § Denial ¡of ¡service: ¡prevent ¡service ¡from ¡being ¡used ¡by ¡ others ¡(e.g., ¡ ¡by ¡overloading ¡resources) ¡ 10 ¡
11 ¡
¡ What ¡is ¡a ¡buffer ¡overflow? ¡ § char buf1[8]; char buf2[8]; strcat(buf1, “excessive”); ¡ End ¡up ¡overwriting ¡two ¡characters ¡beyond ¡buf1! ¡ ¡ What ¡is ¡beyond ¡my ¡buffer ¡in ¡memory? ¡ § Other ¡variables ¡and ¡data? ¡ ¡(probably ¡buf2) ¡ § The ¡stack? ¡(further ¡out) ¡ § The ¡return ¡address ¡to ¡jump ¡to ¡after ¡my ¡function ¡finishes? ¡ ¡ ¡ If ¡app ¡is ¡running ¡as ¡administrator, ¡attacker ¡now ¡has ¡full ¡access! ¡ ¡ Today’s ¡example: ¡Buffer ¡overflow ¡in ¡popular ¡Microsoft ¡products ¡ § SQL ¡Server ¡2000 ¡(business) ¡ § SQL ¡Server ¡Desktop ¡Engine ¡(home!) ¡ § Incoming ¡( untrusted ) ¡data ¡from ¡the ¡network ¡overflows ¡a ¡buffer ¡ 12 ¡
¡ Worm ¡= ¡Spreads ¡without ¡human ¡intervention ¡ ¡ Exploits ¡buffer ¡overflow ¡to ¡run ¡its ¡own ¡ program ¡ § Generate ¡a ¡random ¡IP ¡address ¡ § Try ¡to ¡connect ¡and ¡exploit ¡vulnerability ¡on ¡that ¡ host ¡ 13 ¡
14 ¡
15 ¡
¡ Slammer ¡exploited ¡ connectionless ¡UDP ¡ service, ¡ rather ¡than ¡connection-‑oriented ¡TCP. ¡ § Entire ¡worm ¡fit ¡in ¡a ¡single ¡packet! ¡(376 ¡bytes) ¡ § When ¡scanning, ¡worm ¡could ¡“fire ¡and ¡forget” ¡– ¡no ¡ handshake ¡ § Stateless! ¡ ¡ Worm ¡infected ¡75,000+ ¡hosts ¡in ¡10 ¡minutes ¡(despite ¡ broken ¡random ¡number ¡generator). ¡ § At ¡its ¡peak, ¡infected ¡population ¡doubled ¡every ¡8.5 ¡seconds ¡ ¡ Progress ¡limited ¡by ¡Internet ¡bandwidth ¡ ¡ § 55 ¡million ¡scans/sec ¡ § Hindered ¡as ¡links ¡became ¡overloaded ¡ 16 ¡
§ First ¡victim ¡at ¡12:15am ¡ § By ¡12:45, ¡transcontinental ¡links ¡starting ¡to ¡fail ¡ ▪ The ¡ traffic ¡from ¡Slammer ¡overwhelmed ¡legitimate ¡ applications ¡– ¡denial ¡of ¡service ¡attack ¡ § 300,000 ¡access ¡points ¡downed ¡in ¡Portugal ¡ § All ¡cell ¡and ¡Internet ¡in ¡Korea ¡failed ¡(27 ¡million ¡people) ¡ § 5 ¡root ¡name ¡servers ¡were ¡knocked ¡offline ¡ § 911 ¡didn’t ¡respond ¡(Seattle) ¡ § Continental ¡Airlines ¡ticketing ¡system ¡offline ¡ ▪ Newark ¡airport ¡hub ¡shut ¡down ¡ 17 ¡
¡ Filter ¡UDP ¡packets ¡with ¡destination ¡port ¡= ¡1434 ¡ § Got ¡lucky ¡here ¡-‑ ¡obscure ¡port! ¡ ▪ Almost ¡all ¡traffic ¡was ¡worm ¡related ¡– ¡minimal ¡collateral ¡ damage ¡ § A ¡common ¡port ¡(TCP ¡80 ¡for ¡HTTP ¡or ¡UDP ¡53 ¡for ¡DNS) ¡ would ¡have ¡knocked ¡legitimate ¡applications ¡offline ¡ ¡ Look ¡for ¡machines ¡that ¡are ¡trying ¡to ¡scan, ¡and ¡ clean ¡them ¡ ¡ Human-‑based ¡recovery ¡took ¡far ¡longer ¡than ¡ initial ¡infection ¡ 18 ¡
19 ¡
¡ Packet-‑based ¡(statistical ¡multiplexing) ¡ ¡ Routing ¡is ¡hop-‑by-‑hop ¡and ¡destination-‑based ¡ ¡ Global ¡addressing: ¡IP ¡addresses ¡ ¡ Simple ¡to ¡join ¡(as ¡infrastructure) ¡ ¡ Smart ¡end ¡hosts ¡(end-‑to-‑end ¡argument) ¡ ¡ Hierarchical ¡naming ¡service ¡ 20 ¡
¡ Packet-‑based ¡(statistical ¡multiplexing) ¡ § Simple ¡design ¡ § How ¡to ¡keep ¡someone ¡from ¡hogging ¡resources? ¡ § Difficult ¡to ¡put ¡a ¡bound ¡on ¡resource ¡usage ¡(no ¡notion ¡ of ¡flow, ¡and ¡source ¡addresses ¡can’t ¡be ¡trusted) ¡ § Community ¡is ¡allergic ¡to ¡per-‑flow ¡state ¡ ¡ Routing ¡is ¡hop-‑by-‑hop ¡and ¡destination-‑based ¡ ¡ Global ¡addressing: ¡IP ¡addresses ¡ ¡ Simple ¡to ¡join ¡(as ¡infrastructure) ¡ ¡ Smart ¡end ¡hosts ¡(end-‑to-‑end ¡argument) ¡ ¡ Hierarchical ¡naming ¡service ¡ 21 ¡
Recommend
More recommend