WORMS : attacks, defense and models - Computer Science

18 downloads 2578 Views 528KB Size Report
WORMS : attacks, defense and models Presented by: Abhishek Sharma Vijay Erramilli. ... all worms share a common pseudo random permutation of the IP address space.
WORMS : attacks, defense and models Presented by: Abhishek Sharma Vijay Erramilli

What is a computer “worm” ? Is it not the same as a computer “virus” ? „

„

„

A computer worm is a program that selfpropagates across a network exploiting security or policy flaws. A computer virus requires some sort of user action to abet their propagation The line between worms and viruses is not all that sharp : contagion worms

Outline „

A Taxonomy of Computer Worms

„

The

„

What does the future have in store?

“Slammer” Worm

A Taxonomy of Computer Worms: “know thy enemy” „

„

To understand the worm threat, it is necessary to under the various types of worms. Taxonomy based on: ‰ ‰ ‰ ‰ ‰

target discovery carrier activation payloads attackers

Target Discovery: the mechanism by which a worm discovers new targets to infect : scanning, hit-list scanning „

Scanning : entails probing a set of addresses to identify vulnerable hosts. ‰

‰

„

sequential : working through a IP address block using an ordered set of addresses random : trying address out of a block in a pseudo-random fashion

Code-Red, Nimda, Slammer Worm

Optimizations to scanning „

Localized scanning strategy : (Code- Red II) ‰

‰

‰

With probability 3/8 choose a random IP address from within the class B address (/16 network) of the infected machine. With probability 1/2 choose randomly from the class A (/8 network) of the infected machine. With probability 1/8 choose a random address from the whole Internet.

Hit-list Scanning „ „

„

„

“getting off the ground” Provide the worm with a list of potentially vulnerable machines. The worm, when released onto an initial machine on this hit-list, begins scanning down the list. When it infects a machine, it divides the hitlist in half, communicating half to the recipient worm, keeping the other half.

Permutation Scanning „

Random scanning is inefficient : ‰ ‰

many addresses are probed multiple times no means for a randomly scanning worm to effectively determine when all vulnerable machines are infected

Permutation scanning

„ ‰

‰

a worm can detect that a particular target is already infected all worms share a common pseudo random permutation of the IP address space

Spread of Scanning Worms „

The speed of scanning worms is limited by: ‰ ‰ ‰

„

Density of vulnerable machines Design of the scanner The ability of edge routers to handle a potentially significant increase in new, diverse communication.

Scanning is highly anomalous behavior. ‰

Effective detection; defenses designed to stop an entire family of worms

How fast do the

spread?

Topological Worms : Internal Target Lists „

„

Many applications contain information about other hosts providing vulnerable services. Topological worm searches for local information to find new victims by trying to discover the local communication topology ‰

The original “Morris” worm used topological techniques including Network Yellow pages, /etc/hosts, and other sources to find new victims.

Topological Worms „

„

„

The spread is slower as compared to scanning worms. Can bypass defenses by communicating information known by one instance to other instances. May present a global anomaly, the local traffic may appear normal. ‰

Highly distributed sensors may be needed to detect topological worms

Target Discovery : Passive Worms „

„

A passive worm does not seek out victim machines. Instead, it either waits for potential victims to contact the worm or rely on user behavior to discover new targets Gnuman : Operates by acting as a Gnutella node which replies to all queries with copies of itself. If this copy is copy is run, the Gnuman starts on the victim and repeats itself.

Passive Worms continued… „

„

CRclean : the “anti-worm” This worm waits for a Code Red II related probe. When it detects an infection attempt, it responds by launching a counterattack. If this counterattack is successful, it removes Code Red II and installs itself on the machine. Never released….

Stealth worms --- contagion

P2P systems : susceptible to contagion worms „ „ „ „ „

Likely need only a single exploit, not a pair Often, peers running identical software Rich interconnection pattern Often used to transfer large files Not mainstream – less vulnerability assessment, monitoring

P2P network susceptibility continued… „

„

„

„

Often give access to user’s desktop rather than server; sensitive data “grey” content : users less inclined to draw attention to unusual behavior Come with built-in control/ dissemination plain …and can be Very Large

Toolkit Potential „

„

„

toolkits : large reusable structures where a small amount of additional code can be added to create a worm. Application-independent and applicationdependent toolkits seen in the wild. Application independent toolkit can contain: ‰ ‰

Code for scanning Transporting payloads

Toolkits continued … „ „

„

Scanning worms are not application specific. The Slapper worm: attacker inserted a new exploit into the Scalper worm source code. scanning worms can be released as soon as a vulnerability is published

Distribution Mechanisms „ „

affects the speed and stealth of a worm Mechanisms: ‰ ‰ ‰

Self-carried Second channel : Blaster worm Embedded : contagion worm „

„

An embedded strategy only makes sense when the target selection strategy is also stealthy.

Distribution: ‰ ‰ ‰

One-to-many Many-to-many Hybrid

Activation „ „

Self-Activation Human Activation ‰

„

Human Activity-Based Activation ‰ ‰

„

rely on social engineering techniques Logging in and therefore executing login scripts Opening a remotely infected file

Scheduled Process Activation

Payloads „

None/nonfunctional : Morris, Slammer ‰

„

Disruption through traffic and machine load; by actively advertising vulnerable machines

Internet Remote Control ‰

Code-Red II opened a trivial-to-use privileged backdoor on victim machines; exploited by “antiCode-Red” worms

Payloads continued… „

Spam-Relays: Sobig worm ‰

„

HTML-proxies: ‰

„

Spammers can avoid mechanisms which block known-spamming IP addresses

Redirect web requests (through DNS) to randomly selected proxy machines

Internet DOS

Payloads continued…. „

Data Collection

„

Access for sale

„

Data damage : Chenobyl, Klez

„

Worm Maintenance: W32/sonic

Code-Red

The Slammer Worm „

Spread nearly two orders of magnitude faster than Code-Red

„

In approx. 3 minutes, the worm achieved its full scanning rate (more than 55 million scans per second)

„

The spread was so aggressive that the worm quickly interfered with its own growth

Why Slammer was so fast? „

Code-Red was latency limited: ‰

‰

Spreads via many threads, each invoking connect() to open a TCP session to random addresses Consequently, each thread’s scanning rate was limited by the network latency

Latency limitation of Code-Red „

Thread is blocked while waiting to receive SYN/ACK

„

Worms can compensate this by invoking large number of threads

„

Operating system limitations : ‰ ‰

Context-switching overhead Kernel stack memory consumption

Slammer was bandwidth limited „

UDP-based ‰

„

A single packet to UDP port 1434 could exploit the SQL server’s vulnerability

Smaller size ‰ ‰ ‰

Slammer : 404 bytes Code-Red : 4 Kbytes Nimda : 60 Kbytes

Slammer opens a

for more worms

„

Smaller susceptible populations are now more attractive

„

Need to automate worm defenses ‰

‰

Filtering provides no benefit for actually limiting the number of infected machines What is Slammer propagated only for 10 minutes? „ „

75,000 compromised machines Many might never have been identified !!!

Multi-vector worms---Nimda „ „ „ „

„

By active probing By bulk e-mailing itself as an attachment By copying itself across open network shares By adding exploit code to Web pages on compromised servers By scanning for backdoors left by Code-Red II

Code Red 2 kills off Code Red 1

CR 1 returns thanks to bad clocks

Nimda enters the ecosystem

Code Red 2 settles into weekly pattern

Code Red 2 dies off as programmed

Code Red 2 dies off as programmed Nimda hums along, slowly cleaned up

With its predator gone, Code Red 1 comes back!, still exhibiting monthly pattern

Suggest Documents