foundations of network and foundations of network and
play

Foundations of Network and Foundations of Network and Computer - PowerPoint PPT Presentation

Foundations of Network and Foundations of Network and Computer Security Computer Security J ohn Black J Lecture #16 Oct 25 th 2005 CSCI 6268/TLEN 5831, Fall 2005 Announcements Project #1 is assigned See web page for description and


  1. Foundations of Network and Foundations of Network and Computer Security Computer Security J ohn Black J Lecture #16 Oct 25 th 2005 CSCI 6268/TLEN 5831, Fall 2005

  2. Announcements • Project #1 is assigned – See web page for description and cacert.pem – Due Thurs, Nov 3 rd (distance students too!) – Note: Martin is out, Tomorrow thru Sunday next week • Distance students: – I have all but one Quiz #2, but won’t be graded until next week • Two more reading assignments on website – Both are a lot of fun to read • Midterm #2 is Nov 8 th (2.5 weeks from now)

  3. Flash Viruses • Viruses can spread very fast – SQL/Slammer had only a 376 byte code size – No pause between propagation attempts • Reading assignment – Read “How to 0wn the Internet in your Spare Time” • A real problem – If you reinstall an old OS and attempt to download patches, you may be infected before you can patch!

  4. Prevention • Stay patched – windowsupdate.com – Linux patches (yum) • Reduce network services to those needed – “Best block is not be there” – Mr. Miagi – Windows still comes with a ton of stuff turned on • Getting better though! – SQL Slammer victims didn’t even know they were running an SQL server! – netstat –a • Might surprise you

  5. Prevention (cont) • Don’t open attachments unless you’re sure – Always run a virus scanner http://www.colorado.edu/its/security/antivirus/ – Even Word docs are dangerous • Don’t visit questionable web sites – Esp if your browser is set to low security levels – Javascript is evil • Felton’s Javascript attack

  6. Trojans • Malicious code hidden within another object – Email attachments can contain trojans – This is how many viruses spread • Backdoor is usually considered as a synonym – Putting a backdoor into login.c qualifies

  7. Thompson’s Turing Award Lecture (1995) • Thompson and Ritchie won the Turing award for creating Unix • Thompson’s is my favorite Turing award lecture – “Reflections on Trusting Trust” – Please read it (it’s short) • His lecture has three stages – Stage I: a “Quine” – A Quine is a program which outputs its own source code

  8. A Quine in C char*f="char*f=%c%s%c;main() {printf(f,34,f,34,10);}%c"; main(){printf(f,34,f,34,10);} • We printf the string f, inserting f into itself as a parameter – Yow! • We could attach any extra code we like here • File this away in your head for now: we can write a program which outputs its own source code

  9. Thompson, Stage II • Note that a C compiler is often written in C – Kind of strange chicken-and-egg problem – How to bootstrap • Interesting “learning behavior” – You add a feature, compile compiler with itself, then it “knows” the feature • Once you get a rudimentary compiler written, it can be arbitrarily extended

  10. Thompson, Stage III • Add a backdoor to login.c – Allow valid passwords plus some “master” password – Note that this would be caught soon enough because it exists in the login.c source code • Ok, so be sneakier – Add code in cc.c (the C compiler) to add the backdoor to login.c whenever compiling login.c – Add self-replicating code to the C compiler to reproduce itself plus the login.c backdoor!

  11. Implementing the Trojan • Now compile login.c – Compiler adds the backdoor • Compile cc.c – Compiler sees that it’s compiling itself and self- replicating code runs to ensure login.c trojan and cc.c trojan are compiled into cc binary • Now remove all this new code from cc.c – Back door exists only in binary! – login.c and cc.c will continue to have trojan even after infinite recompiles

  12. Moral of the Story • The amount of cleverness we haven’t even thought of yet is scary – We’re probably never going to have completely secure computers and networks – The most we can hope for is “best effort” from those we trust and from ourselves – It’s going to be an eternal battle between us and the criminals

  13. Denial of Service • An old idea – Picket lines, blockades, doorbell ditch, false pizza orders, prank phone calls, etc. • First technological DoS I know of – Denver Taxi company in the 50’s – Promised a white driver every time – Civil rights protesters called and left phone off hook • Tied up phone lines back then

  14. DoS (cont) • In the computer arena – Mail bombs • Large emails to fill up someone’s hard disk – Network traffic • Lots of bogus traffic aimed at just overwhelming victim • This is typically not TCP traffic – Why not?

  15. Network-Based DoS • Common methods – Large UDP packets • Max size is 65,536 bytes • Will fragment over IP and all frags hit victim • Victim tries to reassemble IP fragments – ICMP echo • Aka “ping” • Can also be large • (“Ping of death”)

  16. SYN Floods • A TCP-based method – Normal TCP handshake starts with SYN from client – Causes server to make an entry in the “SYN queue” and use up some time – SYNs are very small, so attacker sends a ton of them – A SYN at the server is called a “half-open connection” • These eventually time out, but it takes a while

  17. First Attempted Remedy: Filtering • Victim can try and filter out the IP source address of the attacker – This has to be done upstream or the victim’s connection bandwidth is saturated • If ISP is willing to install a filter on the appropriate source address, this works – But attacker can spoof source IP • Attacker is not completing any TCP association, and wants to leave connections half-open • This is almost always done

  18. Reflection Attacks (aka “Smurfing”) • Technique for amplifying traffic – Often works behind firewalls as well – Instead of flooding victim V with SYNs, we send SYNs to hosts H 1 , H 2 , …, H n and spoof the source address as V • (Here n is large… say, 1000 or more) • Hosts send SYN/ACK to V • V is very confused and reacts in various ways • If hosts are behind firewall, it appears as though attack is coming from local machines • Hosts are usually not overwhelmed, so they don’t feel the attack

  19. DDoS: Distributed DoS • Now, multiple attackers

  20. DDoS • Most famous attack was in Feb 2000 against Amazon, Yahoo, eBay, and other major e-commerce sites • Estimated losses of $1.2 billion US • Easy for almost anyone to launch – Most of these, by the way, are hackers attacking other hackers

  21. Recruiting “Zombies” • A “Zombie” is a computer which has been captured by the attacker – Typically by a virus or by just using some vulnerability • Each infiltrated computer receives a hidden program from the “Zombie Master” • The Zombie Master keeps a list of which computers he has control over • When the time comes, he instructs all of his Zombies to simultaneously attack the victim computer

  22. Case Study: The Gibson Story • Who is Steve Gibson? – Owns Gibson Research Corp (grc) – Old time programmer – Self-proclaimed security expert – Writes tools in assembly (!) – Has taken on Microsoft for raw sockets in XP • More on this later – Some don’t like him (www.grcsucks.com)

  23. The GRC Story • Please read this article; it’s on our web page. • It’s kind of wordy, but fun and informative reading.

  24. The Story • At 8pm on Friday May 4 th , 2001, grc.com disappeared from the Internet

  25. DDoS Attack • T1 trunks are 1.54Mbit/sec • Verio has 100Mbit/sec connections to Internet • UDP traffic aimed at port 666 – Large packets which had fragmented into 1500-byte chunks – Firewall discarded it, but still saturated T1’s – Need to filter at Verio’s end

  26. Filtering • After some calls, filtering is in place – Verio blocks UDP and ICMP • Until Win2K and XP, it was difficult to send SYNs – Sending SYN’s would have been hard to block since this would have meant shutting down all TCP connections, including http to grc.com • Raw sockets in Win2K and XP mean that spoofing source IP is now possible, which also makes it harder to filter (as mentioned already)

  27. Zombies • Gibson tracked 474 source addresses sending the packets – All compromised windows machines – Most popular are cable-modem boxes • Always on, high bandwidth 104 home.com 51 rr.com 20 aol.com 20 mediaone.net 17 uu.net 14 btinternet.com 14 shawcable.net 14 optonline.net 14 ne.jp 9 chello.nl 9 ntl.com 8 videotron.ca 7 ad.jp 7 psi.net 6 uk.com

  28. Attacks Continue • Attacker re-targets – First goes to IP of firewall • This is different from the IP of the grc.com server • Verio shuts down ICMP and UDP to this IP as well – Then goes to the Cisco router • Since it’s STILL on the grc side of the T1, it again knocks grc.com off the network – How is the attacker getting these IP addresses? • Traceroute

  29. Size of the Attack • Verio filtered 2.4 billion fragmented UDP datagrams headed for port 666 – grc.com was completely unaware of the attack – Filtering relied on being able to track source IP addresses • Would not have worked if attacker had spoofed source IP, which is commonly done nowadays

Recommend


More recommend