Slide-Worm Part 1
Slide-Worm Part 1
Introduction
• What is a worm?
• Piece of software that propagates using
vulnerabilities in software/application
• Self-propagating (distinct from a virus)
• Self-replicating
• Spread through the Internet easily due to its open
communication model
Classification of Worms
• Target Discovery
• How does a worm find new hosts to infect?
• Carrier
• How does it transmit itself to the target?
• Activation
• Mechanism by which the worm operates on the target
• Payloads
• What the worm carries to reach its goal
N.Weaver, V.Paxson, et al, “A taxonomy of computer worms”, Proc. Of the ACM workshop on Rapid Malcode, pp.11-18, 2003.
+
Activation
Target
Discovery Attacker
Payload
Carrier
OVERVIEW
Target
Discovery
Target
Discovery
• Scanning
•sequential, random,
•Optimization
●Preference for local addresses: Same OS and applications in a sub-
network
●Permutation scanning: Utilize distributed coordination to more effectively
scan
●Bandwidth-limited scanning: Do not wait for response
!
!
Target Discovery
● Pre-generated Target Lists
– Attacker made a target list in advance
• Human Activation
• Convince a local user to execute the worm
• The slowest activation approach
• e.g. MyDoom
• Human activity-based activation
e.g. Activated when the user performs some activity not normally related to a worm (Ex. resetting the machine, logging in)
• Scheduled process activation
• Unauthorized auto-updater programs
• Ex. Use DNS redirection attack to serve a file to the desktop system to infect the target
• Self Activation
• Initiate their own execution by exploiting vulnerabilities in services that are always on and available
• The fastest activation approach
Payload
Payload
• Experimental Curiosity
– Continual tendency for various individuals to experiment with viruses and worms
Source:http://www.sans.org/rr/whitepapers/malicious/1410.php
Morris Worm
• Topological Worm (6-10% of all Internet hosts infected)
• First large-scale worm that targeted VAX, Sun Unix systems
• Target Discovery
• Scanning the local subnet
• Activation
• Self Activation
• Propagation Mechanism (Self Carried)
• Exploiting a fingered buffer overflow
• Payload
• None
Code Red I
• July 19, 2001: more than 359,000 computers connected to the Internet were
infected by Code-Red I v2 worm in less than 14 hours
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Source: http://www.caida.org
Code Red I
• Target Discovery
• Scanning
• Activation
• Self Activation
• Propagation Mechanism (Self Carried)
• Exploiting a Microsoft IIS Web Server buffer overflow
• Payload
• Defacement of websites
Code Red I
• Exploited buffer overflow in Indexing Service in Microsoft IIS Server
• Days 1-19 of each month
• displays ‘hacked by Chinese’ message on English language servers
• tries to open connections to infect randomly chosen machines using 100 threads
• Day 20-27
• stops trying to spread
• launches a denial-of-service attack on the IP address of www1.whitehouse.gon
• Code Red I v1
• July 12, 2001
• Used static seed for random number generator
• Each infected computer tries to infect always the same IP addresses
• Not very damaging, spread slowly
• Memory resident
• Code Red I v2
• July 19, 2001
• Used random seed for random number generator
Code Red Damage
• Target Discovery
• Random Scanning of IP addresses on TCP port 445,
• can scan up to 1,024 addresses simultaneously
• Mode of Transmission
• Buffer Overflow in Windows Local Security Authority Service
Server (LSASS)
• Payload
• Rootkit potential
• Escalation of privileges
Witty (2004)
• March 19, 2004
• Buffer overflow vulnerability in ISS PAM
module
• Single UDP packet exploits flaw in the passive analysis of
Internet Security Systems (ISS) products.
• “Bandwidth-limited” UDP worm like Slammer.
• Vulnerable pop. (12K) attained in 75 minutes.
• Payload: slowly corrupt random disk blocks.
• Detailed telescope analysis reveals worm targeted a US
military base and was launched from a European retail ISP
account.
Slammer Worm – Before
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Figure taken from http://www.caida.org/outreach/papers/2003/sapphire/sapphire.html
Slammer Worm - After
SQL Slammer
Source:http://www.sans.org/rr/whitepapers/malicious/1410.php
Summary of Worm
Propagation
Worm propagation can be broadly described by a 3 (or 4) step process
illustrated in the figure before:
0.) Initial Infection: The model begins with the presumption that there exists
a system that is already infected by the worm and that the worm is active
on this system.
1.) Target Acquisition: In order for the worm to propagate itself it must find
additional systems to infect. Worms may actively target systems using:
a. IP addresses
b. Email addresses
c. File system traversal
It should also be noted that worms may passively target client system i.e.
the trojaned web content delivered by web servers infected with the
Nimda worm.
Worm Propagation
2.)Delivery of Hostile Code: Once a system has been targeted, it is necessary to transfer the worm
to the targeted system in preparation for infection. Code delivery has been observed to take
place via the following:
a. Network file systems b. Email
c. Web clients d. Remote command shell (or equivalent)
e. As part of packet payload associated with buffer overflows and similar programmatic exploits.
3.) Execution of Hostile Code: The presence of hostile code on a system is
not sufficient for worm propagation; execution of the code must be
triggered in some fashion. Code may be executed via:
a. Direct invocation from the command line (or equivalent)
b. Buffer overflow or other programmatic attack
c. Email clients d. Web clients
e. User intervention f. Automatic execution by target system.
4.) Some worms may only transfer a portion of their code in step 3. In that
case it is necessary for them to transfer the remaining code once the
target system has been compromised. This can be achieved via
a. FTP/TFTP
b. Network file systems
Benchmarks and Metrics
● Infection Size
– Percentage of nodes infected
● Reaction Time
– Time between detection of a worm and deployment of worm
control measures
– Obviously the lower the better
● Penetration Ratio
– Number of nodes infected compared to the size of the
possible domain
– Related to infection ratio
● False Positives/Negatives