15-744: Computer Networking L-23 Worms. 2 Overview Worm propagation Worm signatures.

Slides:



Advertisements
Similar presentations
(Distributed) Denial of Service Nick Feamster CS 4251 Spring 2008.
Advertisements

Code-Red : a case study on the spread and victims of an Internet worm David Moore, Colleen Shannon, Jeffery Brown Jonghyun Kim.
Polygraph: Automatically Generating Signatures for Polymorphic Worms James Newsome *, Brad Karp *†, and Dawn Song * † Intel Research Pittsburgh * Carnegie.
CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Automated Worm Fingerprinting Sumeet Singh, Cristian Estan, George Varghese and Stefan Savage Presenter:
Automated Worm Fingerprinting [Singh, Estan et al] Internet Quarantine: Requirements for Self- Propagating Code [Moore, Shannon et al] David W. Hill CSCI.
 Looked at some research approaches to: o Evaluate defense effectiveness o Stop worm from spreading from a given host o Defend a circle of friends against.
 Population: N=100,000  Scan rate  = 4000/sec, Initially infected: I 0 =10  Monitored IP space 2 20, Monitoring interval:  = 1 second Infected hosts.
 Well-publicized worms  Worm propagation curve  Scanning strategies (uniform, permutation, hitlist, subnet) 1.
Worms: Taxonomy and Detection Mark Shaneck 2/6/2004.
Automated Worm Fingerprinting Sumeet Singh, Cristian Estan, George Varghese, and Stefan Savage Manan Sanghi.
Security Robert Grimm New York University. Introduction  Traditionally, security focuses on  Protection (authentication, authorization)  Privacy (encryption)
Worm Defense. Outline  Internet Quarantine: Requirements for Containing Self-Propagating Code  Netbait: a Distributed Worm Detection Service  Midgard.
1 The Mystery of Cooperative Web Caching 2 b b Web caching : is a process implemented by a caching proxy to improve the efficiency of the web. It reduces.
How to Own the Internet in your spare time Ashish Gupta Network Security April 2004.
1 The Spread of the Sapphire/Slammer Worm D. Moore, V. Paxson, S. Savage, C. Shannon, S. Staniford, N. Weaver Presented by Stefan Birrer.
Internet Quarantine: Requirements for Containing Self-Propagating Code David Moore et. al. University of California, San Diego.
George Varghese (based on Cristi Estan’s work) University of California, San Diego May 2011 Internet traffic measurement: from packets to insight.
1 Chap 10 Malicious Software. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on.
B OTNETS T HREATS A ND B OTNETS DETECTION Mona Aldakheel
Internet Worms Brad Karp UCL Computer Science CS GZ03 / th December, 2007.
Automated Worm Fingerprinting
BY ANDREA ALMEIDA T.E COMP DON BOSCO COLLEGE OF ENGINEERING.
Speaker:Chiang Hong-Ren Botnet Detection by Monitoring Group Activities in DNS Traffic.
Fast Portscan Detection Using Sequential Hypothesis Testing Authors: Jaeyeon Jung, Vern Paxson, Arthur W. Berger, and Hari Balakrishnan Publication: IEEE.
SIGCOMM 2002 New Directions in Traffic Measurement and Accounting Focusing on the Elephants, Ignoring the Mice Cristian Estan and George Varghese University.
“How to 0wn the Internet in Your Spare Time” Nathanael Paul Malware Seminar September 7, 2004.
Active Worms CSE 4471: Information Security 1. Active Worm vs. Virus Active Worm –A program that propagates itself over a network, reproducing itself.
Intrusion Detection and Prevention. Objectives ● Purpose of IDS's ● Function of IDS's in a secure network design ● Install and use an IDS ● Customize.
1 How to 0wn the Internet in Your Spare Time Authors: Stuart Staniford, Vern Paxson, Nicholas Weaver Publication: Usenix Security Symposium, 2002 Presenter:
Scalable and Efficient Data Streaming Algorithms for Detecting Common Content in Internet Traffic Minho Sung Networking & Telecommunications Group College.
A Virtual Honeypot Framework Author: Niels Provos Published in: CITI Report 03-1 Presenter: Tao Li.
1 Chap 10 Virus. 2 Viruses and ”Malicious Programs ” Computer “Viruses” and related programs have the ability to replicate themselves on an ever increasing.
How to Own the Internet in Your Spare Time (Stuart Staniford Vern Paxson Nicholas Weaver ) Giannis Kapantaidakis University of Crete CS558.
Code Red Worm Propagation Modeling and Analysis Cliff Changchun Zou, Weibo Gong, Don Towsley Univ. Massachusetts, Amherst.
Click to add Text Automated Worm Fingerprinting Sumeet Singh, Cristian Estan, George Varghese and Stefan Savage Department of Computer Science and Engineering.
Modeling Worms: Two papers at Infocom 2003 Worms Programs that self propagate across the internet by exploiting the security flaws in widely used services.
Learning Rules for Anomaly Detection of Hostile Network Traffic Matthew V. Mahoney and Philip K. Chan Florida Institute of Technology.
Automated Worm Fingerprinting Sumeet Singh, Cristian Estan, George Varghese, and Stefan Savage.
IEEE Communications Surveys & Tutorials 1st Quarter 2008.
Week 10-11c Attacks and Malware III. Remote Control Facility distinguishes a bot from a worm distinguishes a bot from a worm worm propagates itself and.
Networked Systems Practicum Lecture 14 – Worms/Viruses/Botnets 1.
1 On the Performance of Internet Worm Scanning Strategies Authors: Cliff C. Zou, Don Towsley, Weibo Gong Publication: Journal of Performance Evaluation,
1 Very Fast containment of Scanning Worms By: Artur Zak Modified by: David Allen Nicholas Weaver Stuart Staniford Vern Paxson ICSI Nevis Netowrks ICSI.
Polygraph: Automatically Generating Signatures for Polymorphic Worms James Newsome, Brad Karp, and Dawn Song Carnegie Mellon University Presented by Ryan.
Worm Defense Alexander Chang CS239 – Network Security 05/01/2006.
Search Worms, ACM Workshop on Recurring Malcode (WORM) 2006 N Provos, J McClain, K Wang Dhruv Sharma
D 陳怡安 R 解巽評 R 高榮泰 IEEE/ACM TRANSACTIONS ON NETWORKING OCTOBER 2006 Cristian Estan, George Varghese, Member, IEEE, and Michael Fisk.
SPYCE/May’04 coverage: A Cooperative Immunization System for an Untrusting Internet Kostas Anagnostakis University of Pennsylvania Joint work with: Michael.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
Polygraph: Automatically Generating Signatures for Polymorphic Worms Presented by: Devendra Salvi Paper by : James Newsome, Brad Karp, Dawn Song.
Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.
1 On the Performance of Internet Worm Scanning Strategies Cliff C. Zou, Don Towsley, Weibo Gong Univ. Massachusetts, Amherst.
1 Modeling, Early Detection, and Mitigation of Internet Worm Attacks Cliff C. Zou Assistant professor School of Computer Science University of Central.
Automated Worm Fingerprinting Authors: Sumeet Singh, Cristian Estan, George Varghese and Stefan Savage Publish: OSDI'04. Presenter: YanYan Wang.
Slammer Worm By : Varsha Gupta.P 08QR1A1216.
How to 0wn the Internet In Your Spare Time Authors Stuart Staniford, Vern Paxson, Nicholas Weaver Published Proceedings of the 11th USENIX Security Symposium.
Network-based and Attack-resilient Length Signature Generation for Zero-day Polymorphic Worms Zhichun Li 1, Lanjia Wang 2, Yan Chen 1 and Judy Fu 3 1 Lab.
Polygraph: Automatically Generating Signatures for Polymorphic Worms Authors: James Newsome (CMU), Brad Karp (Intel Research), Dawn Song (CMU) Presenter:
@Yuan Xue Worm Attack Yuan Xue Fall 2012.
Cosc 4765 Antivirus Approaches. In a Perfect world The best solution to viruses and worms to prevent infected the system –Generally considered impossible.
The Worms Crawl In The Worms Crawl Out David Andersen.
Internet Quarantine: Requirements for Containing Self-Propagating Code
POLYGRAPH: Automatically Generating Signatures for Polymorphic Worms
Automated Worm Fingerprinting
Chap 10 Malicious Software.
Brad Karp UCL Computer Science
Chap 10 Malicious Software.
Automated Worm Fingerprinting
Jonathan Griffin Andy Norman Jamie Twycross Matthew Williamson
Introduction to Internet Worm
Presentation transcript:

15-744: Computer Networking L-23 Worms

2 Overview Worm propagation Worm signatures

Threat Model Traditional High-value targets Insider threats Worms & Botnets Automated attack of millions of targets Value in aggregate, not individual systems Threats: Software vulnerabilities; naïve users

... and it's profitable Botnets used for Spam (and more spam)? Credit card theft DDoS extortion Flourishing Exchange market Spam proxying: 3-10 cents/host/week 25k botnets: $40k - $130k/year Also for stolen account compromised machines, credit cards, identities, etc. (be worried)? 4

Why is this problem hard? Monoculture: little “genetic diversity” in hosts Instantaneous transmission: Almost entire network within 500ms Slow immune response: human scales (10x- 1Mx slower!)? Poor hygiene: Out of date / misconfigured systems; naïve users Intelligent designer... of pathogens Near-Anonymitity 5

Code Red I v1 July 12th, 2001 Exploited a known vulnerability in Microsoft’s Internet Information Server (IIS) Buffer overflow in a rarely used URL decoding routine – published June 18 th 1 st – 19 th of each month: attempts to spread Random scanning of IP address space 99 propagation threads, 100 th defaced pages on server Static random number generator seed Every worm copy scans the same set of addresses  Linear growth

Code Red I v1 20 th – 28 th of each month: attacks DDOS attack against ( Memory resident – rebooting the system removes the worm However, could quickly be reinfected

Code Red I v2 July 19th, 2001 Largely same codebase – same author? Ends website defacements Fixes random number generator seeding bug Scanned address space grew exponentially 359,000 hosts infected in 14 hours Compromised almost all vulnerable IIS servers on internet

Analysis of Code Red I v2 Random Constant Spread model Constants N = total number of vulnerable machines K = initial compromise rate, per hour T = Time at which incident happens Variables a = proportion of vulnerable machines compromised t = time in hours

Analysis of Code Red I v2 N = total number of vulnerable machines K = initial compromise rate, per hour T = Time at which incident happens Variables a = proportion of vulnerable machines compromised t = time in hours “Logistic equation” Rate of growth of epidemic in finite systems when all entities have an equal likelihood of infecting any other entity

Code Red I v2 – Plot K = 1.8 T = 11.9 Hourly probe rate data for inbound port 80 at the Chemical Abstracts Service during the initial outbreak of Code Red I on July 19th, 2001.

Improvements: Localized scanning Observation: Density of vulnerable hosts in IP address space is not uniform Idea: Bias scanning towards local network Used in CodeRed II P=0.50: Choose address from local class-A network (/8) P=0.38: Choose address from local class-B network (/16) P=0.12: Choose random address Allows worm to spread more quickly

Code Red II (August 2001) Began : August 4th, 2001 Exploit : Microsoft IIS webservers (buffer overflow) Named “Code Red II” because : It contained a comment stating so. However the codebase was new. Infected IIS on windows 2000 successfully but caused system crash on windows NT. Installed a root backdoor on the infected machine.

Improvements: Multi-vector Idea: Use multiple propagation methods simultaneously Example: Nimda IIS vulnerability Bulk s Open network shares Defaced web pages Code Red II backdoor Onset of Nimda Time (PDT) 18 September, 2001 HTTP connections/second seen at LBNL (only confirmed Nimda attacks) 1/2 hour

Better Worms: Hit-list Scanning Worm takes a long time to “get off the ground” Worm author collects a list of, say, 10,00 vulnerable machines Worm initially attempts to infect these hosts

How to build Hit-List Stealthy randomized scan over number of months Distributed scanning via botnet DNS searches – e.g. assemble domain list, search for IP address of mail server in MX records Web crawling spider similar to search engines Public surveys – e.g. Netcraft Listening for announcements – e.g. vulnerable IIS servers during Code Red I

Better Worms: Permutation scanning Problem: Many addresses are scanned multiple times Idea: Generate random permutation of all IP addresses, scan in order Hit-list hosts start at their own position in the permutation When an infected host is found, restart at a random point Can be combined with divide-and-conquer approach H0H0 H4H4 H1H1 H3H3 H2H2 H 1 (Restart)

Warhol Worm Simulation shows that employing the two previous techniques, can attack 300,000 hosts in less than 15 minutes Conventional = 10 scans/sec Fast Scanning = 100 scans/sec Warhol = 100 scans/sec, Permutation scanning and 10,000 entry hit list

More on Warhol worm

Flash worms A flash worm would start with a hit list that contains most/all vulnerable hosts Realistic scenario: Complete scan takes 2h with an OC-12 Internet warfare? Problem: Size of the hit list 9 million hosts  36 MB Compression works: 7.5MB Can be sent over a 256kbps DSL link in 3 seconds Extremely fast: Full infection in tens of seconds!

Surreptitious worms Idea: Hide worms in inconspicuous traffic to avoid detection Leverage P2P systems? High node degree Lots of traffic to hide in Proprietary protocols Homogeneous software Immense size (30,000,000 Kazaa downloads!)

Example Outbreak: SQL Slammer (2003) Single, small UDP packet exploit (376 b)‏ First ~1min: classic random scanning Doubles # of infected hosts every ~8.5sec (In comparison: Code Red doubled in 40min)‏ After 1min, starts to saturate access b/w Interferes with itself, so it slows down By this point, was sending 20M pps Peak of 55 million IP 3min 90% of Internet scanned in < 10mins Infected ~100k or more hosts

Prevention Get rid of the or permute vulnerabilities (e.g., address space randomization) makes it harder to compromise Block traffic (firewalls) only takes one vulnerable computer wandering between in & out or multi-homed, etc. Keep vulnerable hosts off network incomplete vuln. databases & 0-day worms Slow down scan rate Allow hosts limited # of new contacts/sec. Can slow worms down, but they do still spread Quarantine Detect worm, block it 23

24 Overview Worm propagation Worm signatures

Context Worm Detection Scan detection Honeypots Host based behavioral detection Payload-based ???

Worm behavior Content Invariance Limited polymorphism e.g. encryption key portions are invariant e.g. decryption routine Content Prevalence invariant portion appear frequently Address Dispersion # of infected distinct hosts grow overtime reflecting different source and dest. addresses

Signature Inference Content prevalence: Autograph, EarlyBird, etc. Assumes some content invariance Pretty reasonable for starters. Goal: Identify “attack” substrings Maximize detection rate Minimize false positive rate

Content Sifting For each string w, maintain prevalence(w): Number of times it is found in the network traffic sources(w): Number of unique sources corresponding to it destinations(w): Number of unique destinations corresponding to it If thresholds exceeded, then block(w)

Issues How to compute prevalence(w), sources(w) and destinations(w) efficiently ? Scalable Low memory and CPU requirements Real time deployment over a Gigabit link

Estimating Content Prevalence Table[payload] 1 GB table filled in 10 seconds Table[hash[payload]] 1 GB table filled in 4 minutes Tracking millions of ants to track a few elephants Collisions...false positives

[Singh et al. 2002] stream memory Array of counters Hash(Pink) Multistage Filters

packet memory Array of counters Hash(Green) Multistage Filters

packet memory Array of counters Hash(Green) Multistage Filters

packet memory Multistage Filters

packet memory Collisions are OK Multistage Filters

packet memory packet1 1 Insert Reached threshold Multistage Filters

packet memory packet1 1 Multistage Filters

packet memory packet1 1 packet2 1 Multistage Filters

Stage 2 packet memory packet1 1 Stage 1 Multistage Filters No false negatives! (guaranteed detection)

Gray = all prior packets Conservative Updates

Redundant Conservative Updates

Value Sampling The problem: s-b+1 substrings Solution: Sample But: Random sampling is not good enough Trick: Sample only those substrings for which the fingerprint matches a certain pattern

sources(w) & destinations(w) Address Dispersion Counting distinct elements vs. repeating elements Simple list or hash table is too expensive Key Idea: Bitmaps Trick : Scaled Bitmaps

[Estan et al. 2003] Bitmap counting – direct bitmap HASH(green)= Set bits in the bitmap using hash of the flow ID of incoming packets

Bitmap counting – direct bitmap HASH(blue)= Different flows have different hash values

Bitmap counting – direct bitmap HASH(green)= Packets from the same flow always hash to the same bit

Bitmap counting – direct bitmap HASH(violet)= Collisions OK, estimates compensate for them

Bitmap counting – direct bitmap HASH(orange)=

HASH(pink)=

HASH(yellow)= As the bitmap fills up, estimates get inaccurate

Bitmap counting – direct bitmap Solution: use more bits HASH(green)=

Bitmap counting – direct bitmap Solution: use more bits Problem: memory scales with the number of flows HASH(blue)=

Bitmap counting – virtual bitmap Solution: a) store only a portion of the bitmap b) multiply estimate by scaling factor

Bitmap counting – virtual bitmap HASH(pink)=

HASH(yellow)= Problem: estimate inaccurate when few flows active

Bitmap counting – multiple bmps Solution: use many bitmaps, each accurate for a different range

Bitmap counting – multiple bmps HASH(pink)=

HASH(yellow)=

Use this bitmap to estimate number of flows

Bitmap counting – multiple bmps Use this bitmap to estimate number of flows

Bitmap counting – multires. bmp Problem: must update up to three bitmaps per packet Solution: combine bitmaps into one OROR OROR

HASH(pink)= Bitmap counting – multires. bmp

HASH(yellow)=

Multiresolution Bitmaps Still too expensive to scale Scaled bitmap Recycles the hash space with too many bits set Adjusts the scaling factor according

Scaled Bitmap Idea: Subsample the range of hash space How it works? multiple bitmaps each mapped to progressively smaller and smaller portions of the hash space. bitmap recycled if necessary. Result Roughly 5 time less memory + actual estimation of address dispersion

Putting It Together headerpayload substring fingerprints keysrc cntdest cnt AD entry exist? update counters keycnt else update counter cnt > prevalence threshold? create AD entry Content Prevalence Table Address Dispersion Table counters > dispersion threshold? report key as suspicious worm

Putting It Together Sample frequency: 1/64 String length: 40 Use 4 hash functions to update prevalence table Multistage filter reset every 60 seconds

Parameter Tuning Prevalence threshold: 3 Very few signatures repeat Address dispersion threshold 30 sources and 30 destinations Reset every few hours Reduces the number of reported signatures down to ~25,000

Parameter Tuning Tradeoff between and speed and accuracy Can detect Slammer in 1 second as opposed to 5 seconds With 100x more reported signatures

False Negatives in EB False Negatives Very hard to prove... Earlybird detected all worm outbreaks reported on security lists over 8 months EB detected all worms detected by Snort (signature-based IDS)? And some that weren't

False Positives in EB Common protocol headers HTTP, SMTP headers p2p protocol headers Non-worm epidemic activity Spam BitTorrent (!)‏ Solution: Small whitelist...

73

Comparison EarlybirdAutograph Infect the system with Network Data (real traces) Rabin fingerprint White-list/blacklist No-prefilteringFlow-reassembly Single sensor algorithmics + centralized aggregators Distributed Deployment + active cooperation between multiple sensors On-lineOff-line Overlapping, fixed-length chunks Non-overlapping, variable- length chunks Qinghua Zhang

Polygraph: Automatically Generating Signatures For Polymorphic Worms James Newsome, Brad Karp, Dawn Song

The case for polymorphic worms Single Substring Insufficient Sensitive: Should exist in all payload of a worm Specific: Should be long enough to not exist in any non-worm payload

Examples

Signature Classes Signature – set of tokens Conjunction Signatures Token-subsequence Signatures Bayes Signatures

Problem Formulation

Algorithms Preprocessing Distinct substrings of a minimum length l that occur in at least k samples in suspicious pool Generating signatures Conjunction signatures Token Subsequence Signatures Bayes Signatures