1 / 82

Worms

Worms. Viruses vs. Worms. Viruses don’t break into your computer – they are invited by you They cannot spread unless you run infected application or click on infected attachment Early viruses spread onto different applications on your computer

jubal
Télécharger la présentation

Worms

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Worms

  2. Viruses vs. Worms • Viruses don’t break into your computer – they are invited by you • They cannot spread unless you run infected application or click on infected attachment • Early viruses spread onto different applications on your computer • Contemporary viruses spread as attachments through E-mail, they will mail themselves to people from your addressbook • Worms break into your computer using some vulnerability, install malicious code and move on to other machines • You don’t have to do anything to make them spread

  3. What is a Worm? • A program that: • Scans network for vulnerable machines • Breaks into machines by exploiting the vulnerability • Installs some piece of malicious code – backdoor, DDoS tool • Moves on • Unlike viruses • Worms don’t need any user action to spread – they spread silently and on their own • Worms don’t attach themselves onto other programs – they exist as a separate code in memory • Sometimes you may not even know your machine has been infected by a worm

  4. Why Are Worms Dangerous? • They spread extremely fast • They are silent • Once they are out, they cannot be recalled • They usually install malicious code • They clog the network

  5. First Worm Ever – Morris Worm • Robert Morris, a PhD student at Cornell, was interested in network security • He created the first worm with a goal to have a program live on the Internet in Nov. 1988 • Worm was supposed only to spread, fairly slowly • It was supposed to take just a little bit of resources so not to draw attention to itself • But things went wrong … • Worm was supposed to avoid duplicate copies by asking a computer whether it is infected • To avoid false “yes” answers, it was programmed to duplicate itself every 7th time it received “yes” answer • This turned out to be too much

  6. First Worm Ever – Morris Worm • It exploited four vulnerabilities to break in • A bug insendmail • A bug in finger deamon • A trusted hosts feature (/etc/.rhosts) • Password guessing • Worm was replicating at a much faster rate than anticipated • At that time Internet was small and homogeneous (SUN and VAX workstations running BSD UNIX) • It infected around 6,000 computers, one tenth of then-Internet, in a day

  7. First Worm Ever – Morris Worm • People quickly devised patches and distributed them (Internet was small then) • A week later all systems were patched and worm code was removed from most of them • No lasting damage was caused • Robert Morris paid $10,000 fine, was placed on probation and did some community work • Worm exposed not only vulnerabilities in UNIX but moreover in Internet organization • Users didn’t know who to contact and report infection or where to look for patches

  8. First Worm Ever – Morris Worm • In response to Morris Worm DARPA formed CERT (Computer Emergency Response Team) in November 1988 • Users report incidents and get help in handling them from CERT • CERT publishes security advisory notes informing users of new vulnerabilities that need to be patched and how to patch them • CERT facilitates security discussions and advocates better system management practices

  9. Code Red • Spread on July 12 and 19, 2001 • Exploited a vulnerability in Microsoft Internet Information Server that allows attacker to get full access to the machine (turned on by default) • Two variants – both probed random machines, one with static seed for RNG, another with random seed for RNG (CRv2) • CRv2 infected more than 359,000 computers in less than 14 hours • It doubled in size every 37 minutes • At the peak of infection more than 2,000 hosts were infected each minute

  10. Code Red v2

  11. Code Red v2 • 43% of infected machines were in US • 47% of infected machines were home computers • Worm was programmed to stop spreading at midnight, then attack www1.whitehouse.gov • It had hardcoded IP address so White House was able to thwart the attack by simply changing the IP address-to-name mapping • Estimated damage ~2.6 billion

  12. Sapphire/Slammer Worm • Spread on January 25, 2003 • The fastest computer worm in history • It doubled in size every 8.5 seconds. • It infected more than 90% of vulnerable hosts within 10 minutes • It infected 75,000 hosts overall • Exploited buffer overflow vulnerability in Microsoft SQL server, discovered 6 months earlier

  13. Sapphire/Slammer Worm • No malicious payload • The aggressive spread had severe consequences • Created DoS effect • It disrupted backbone operation • Airline flights were canceled • Some ATM machines failed

  14. Sapphire/Slammer Worm

  15. Why Was Slammer So Fast? • Both Slammer and Code Red 2 use random scanning • Code Red uses multiple threads that invoke TCP connection establishment through 3-way handshake – must wait for the other party to reply or for TCP timeout to expire • Slammer packs its code in single UDP packet – speed is limited by how many UDP packets can a machine send • Could we do the same trick with Code Red? • Slammer authors tried to use linear congruentialgenerators to generate random addresses for scanning, but programmed it wrong

  16. Sapphire/Slammer Worm • 43% of infected machines were in US • 59% of infected machines were home computers • Response was fast – after an hour sites started filtering packetsfor SQL server port

  17. BGP Impact of Slammer Worm

  18. Stuxnet Worm • Discovered in June/July 2010 • Targets industrial equipment • Uses Windows vulnerabilities (known and new) to break in • Installs PLC (Programmable Logic Controller) rootkit and reprograms PLC • Without physical schematic it is impossible to tell what’s the ultimate effect • Spread via USB drives • Updates itself either by reporting to server or by exchanging code with new copy of the worm

  19. Scanning Strategies • Many worms use random scanning • This works well only if machines have very good RNGs with different seeds • Getting large initial population represents a problem • Then the infection rate skyrockets • The infection eventually reaches saturation since all machines are probing same addresses “Warhol Worms: The Potential for Very Fast Internet Plagues”, Nicholas C Weaver

  20. Random Scanning

  21. Scanning Strategies • Worm can get large initial population with hitlistscanning • Assemble a list of potentially vulnerable machines prior to releasing the worm – a hitlist • E.g., through a slow scan • When the scan finds a vulnerable machine, hitlist is divided in half and one half is communicated to this machine upon infection • This guarantees very fast spread – under one minute!

  22. Hitlist Scanning

  23. Scanning Strategies • Worm can get prevent die-out in the end with permutationscanning • All machines share a common pseudorandom permutation of IP address space • Machines that are infected continue scanning just after their point in the permutation • If they encounter already infected machine they will continue from a random point • Partitioned permutation is the combination of permutation and hitlist scanning • In the beginning permutation space is halved, later scanning is simple permutation scan

  24. Permutation Scanning

  25. Scanning Strategies • Worm can get behind the firewall, or notice the die-out and then switch to subnetscanning • Goes sequentially through subnet address space, trying every address

  26. Infection Strategies • Several ways to download malicious code • From a central server • From the machine that performed infection • Send it along with the exploit in a single packet

  27. Worm Defense • Three factors define worm spread: • Size of vulnerable population • Prevention – patch vulnerabilities, increase heterogeneity • Rate of infection (scanning and propagation strategy) • Deploy firewalls • Distribute worm signatures • Length of infectious period • Patch vulnerabilities after the outbreak

  28. How Well Can Containment Do? • This depends on several factors: • Reaction time • Containment strategy – address blacklisting and content filtering • Deployment scenario – where is response deployed • Evaluate effect of containment 24 hours after the onset “Internet Quarantine: Requirements for Containing Self-Propagating Code”, Proceedings of INFOCOM 2003, D. Moore, C. Shannon, G. Voelker, S. Savage

  29. How Well Can Containment Do?Code Red Idealized deployment: everyone deploysdefenses after given period

  30. How Well Can Containment Do?Depending on Worm Aggressiveness Idealized deployment: everyone deploysdefenses after given period

  31. How Well Can Containment Do?Depending on Deployment Pattern

  32. How Well Can Containment Do? • Reaction time needs to be within minutes, if not seconds • We need to use content filtering • We need to have extensive deployment on key points in the Internet

  33. Detecting and Stopping Worm Spread • Monitor outgoing connection attempts to new hosts • When rate exceeds 5 per second, put the remaining requests in a queue • When number of requests in a queue exceeds 100 stop all communication “Implementing and testing a virus throttle”, Proceedings of Usenix Security Symposium 2003,J. Twycross, M. Williamson

  34. Detecting and Stopping Worm Spread

  35. Detecting and Stopping Worm Spread

  36. Cooperative Strategies for Worm Defense • Organizations share alerts and worm signatures with their “friends” • Severity of alerts is increased as more infection attempts are detected • Each host has a severity threshold after which it deploys response • Alerts spread just like worm does • Must be faster to overtake worm spread • After some time of no new infection detections, alerts will be removed “Cooperative Response Strategies for Large-Scale Attack Mitigation”, Proceedings of DISCEX 2003, D. Norjiri, J. Rowe, K. Levitt

  37. Cooperative Strategies for Worm Defense • As number of friends increases, response is faster • Propagating false alarms is a problem

  38. Early Worm Detection • Early detection would give time to react until the infection has spread • The goal of this paper is to devise techniques that detect new worms as they just start spreading • Monitoring: • Monitor and collect worm scan traffic • Observation data is very noisy so we have to filter new scans from • Old worms’ scans • Port scans by hacking toolkits C. C. Zou, W. Gong, D. Towsley, and L. Gao. "The Monitoring and Early Detection of Internet Worms," IEEE/ACM Transactions on Networking. 

  39. Early Worm Detection • Detection: • Traditional anomaly detection: threshold-based • Check traffic burst (short-term or long-term). • Difficulties: False alarm rate • “Trend Detection” • Measure number of infected hosts and use it to detect worm exponential growth trend at the beginning

  40. Worm Propagation Model • Simple epidemic model: • Parameter alpha = f(beta) Detect wormhere. Shouldhave exp. spread

  41. Code Red Simulation • Population: N=360,000, Infection rate:  = 1.8/hour, • Scan rate  = 358/min, Initially infected: I0=10 • Monitored IP space 220, Monitoring interval:  = 1 minute Infected hosts  estimation

  42. Slammer Simulation • Population: N=100,000 • Scan rate  = 4000/sec, Initially infected: I0=10 • Monitored IP space 220, Monitoring interval:  = 1 second Infected hosts  estimation

  43. Dynamic Quarantine • Worms spread very fast (minutes, seconds) • Need automatic mitigation • If this is a new worm, no signature exists • Must apply behaviour-based anomaly detection • But this has a false-positive problem! We don’t want to drop legitimate connections! • Dynamic quarantine • “Assume guilty until proven innocent” • Forbid access to suspicious hosts for a short time • This significantly slows down the worm spread C. C. Zou, W. Gong, and D. Towsley. "Worm Propagation Modeling and Analysis under Dynamic Quarantine Defense," ACM CCS Workshop on Rapid Malcode(WORM'03),

  44. Dynamic Quarantine • An infectious host is quarantined after time units • A susceptible host is falsely quarantined after time units • Quarantine time is T, after that we release the host • A few new categories: • Quarantined infectious R(t) • Quarantined susceptible Q(t)

  45. Slammer With DQ

  46. DQ With Large T? T=30sec T=10sec

  47. DQ And Patching?

  48. Automatic Worm Signatures • Focus on TCP worms that propagate via scanning • Idea: vulnerability exploit is not easily mutable so worm packets should have some common signature • Step 1: Select suspicious TCP flows using heuristics • Step 2: Generate signatures using content prevalence analysis Kim, H.-A. and Karp, B., Autograph: Toward Automated, Distributed Worm Signature Detection, in the Proceedings of the 13th Usenix Security Symposium (Security 2004), San Diego, CA, August, 2004.

  49. Suspicious Flows • Detect scanners as hosts that make many unsuccessful connection attempts (>2) • Select their successful flows as suspicious • Build suspicious flow pool • When there’s enough flows inside trigger signature generation step

  50. Signature Generation • Use most frequent byte sequences across flows as the signature • Naïve techniques fail at byte insertion, deletion, reordering • Content-based payload partitioning (COPP) • Partition if Rabin fingerprint of a sliding window matches breakmark= content blocks • Configurable parameters: window size, breakmark • Analyze which content blocks appear most frequently and what is the smallest set of those that covers most/all samples in suspicious flow pool

More Related