Lecture 10 - Center for Computer Systems Security

Download Report

Transcript Lecture 10 - Center for Computer Systems Security

Worms
1
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
2
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
3
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
4
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
5
First Worm Ever – Morris Worm
• It exploited four vulnerabilities to break in
–
–
–
–
A bug in sendmail
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
6
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
7
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
8
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
9
Code Red v2
10
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
11
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
12
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
13
Sapphire/Slammer Worm
14
Why Was Slammer So Fast?
• Both Slammer and Code Red 2 use random
scanning
o
o
o
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 congruential
generators to generate random addresses for
scanning, but programmed it wrong
15
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 packets
for SQL server
port
16
BGP Impact of Slammer Worm
17
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
18
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
19
Random Scanning
20
Scanning Strategies
• Worm can get large initial population with hitlist
scanning
• 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!
21
Hitlist Scanning
22
Scanning Strategies
• Worm can get prevent die-out in the end with
permutation scanning
• 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
23
Permutation Scanning
24
Scanning Strategies
• Worm can get behind the firewall, or notice the
die-out and then switch to subnet scanning
• Goes sequentially through subnet address space,
trying every address
25
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
26
Worm Defense
• Three factors define worm spread:
–
Size of vulnerable population
•
–
Rate of infection (scanning and propagation
strategy)
•
•
–
Prevention – patch vulnerabilities, increase heterogeneity
Deploy firewalls
Distribute worm signatures
Length of infectious period
•
Patch vulnerabilities after the outbreak
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
How Well Can Containment Do?
Code Red
Idealized deployment: everyone deploys
defenses after given period
How Well Can Containment Do?
Depending on Worm Aggressiveness
Idealized deployment: everyone deploys
defenses after given period
How Well Can Containment Do?
Depending on Deployment Pattern
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
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
Detecting and Stopping
Worm Spread
Detecting and Stopping
Worm Spread
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
Cooperative Strategies
for Worm Defense
• As number of friends increases,
response is faster
• Propagating false alarms is a problem
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.
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
Worm Propagation Model
• Simple epidemic model:
• Parameter alpha = f(beta)
Detect worm
here. Should
have exp.
spread
dI t
= b * It * ( N - It )
dt
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
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
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),
Dynamic Quarantine
• An infectious host is quarantined after 1 time
l1
units
• A susceptible host is falsely quarantined after
time units 1
l2
• Quarantine time is T, after that we release the
host
• A few new categories:
– Quarantined infectious R(t)
– Quarantined susceptible Q(t)
Slammer With DQ
DQ With Large T?
T=10sec
T=30sec
DQ And Patching?
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.
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
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
How Well Does it Work?
• Tested on traces of HTTP traffic interlaced with
known worms
• For large block sizes and large coverage of
suspicious flow pool (90-95%) Autograph
performs very well
– Small false positives and false negatives
Borrowed from Brent ByungHoon Kang, GMU
Borrowed from Brent ByungHoon Kang, GMU
A Network of Compromised Computers on the Internet
IP locations of the Waledac botnet.
Borrowed from Brent ByungHoon Kang, GMU
Botnets
• Networks of compromised machines under
the control of hacker, “bot-master”
• Used for a variety of malicious purposes:
•
•
•
•
•
Sending Spam/Phishing Emails
Launching Denial of Service attacks
Hosting Servers (e.g., Malware download site)
Proxying Services (e.g., FastFlux network)
Information Harvesting (credit card, bank
credentials, passwords, sensitive data.)
Borrowed from Brent ByungHoon Kang, GMU
Botnet with Central Control Server
After resolving the IP address for the IRC server, bot-infected machines
CONNECT to the server, JOIN a channel, then wait for commands.
Borrowed from Brent ByungHoon Kang, GMU
Botnet with Central Control Server
The botmaster sends a command to the channel.
This will tell the bots to perform an action.
Borrowed from Brent ByungHoon Kang, GMU
Botnet with Central Control Server
The IRC server sends (broadcasts) the message to bots
listening on the channel.
Borrowed from Brent ByungHoon Kang, GMU
Botnet with Central Control Server
The bots perform the command.
In this example: attacking / scanning CNN.COM.
Borrowed from Brent ByungHoon Kang, GMU
Botnet Sophistication Fueled by
Underground Economy
• Unfortunately, the detection, analysis and
mitigation of botnets has proven to be quite
challenging
• Supported by a thriving underground economy
– Professional quality sophistication in creating
malware codes
– Highly adaptive to existing mitigation efforts such
as taking down of central control server.
59
Borrowed from Brent ByungHoon Kang, GMU
Emerging Decentralized
Peer to Peer Multi-layered Botnets
• Traditional botnet communication
– Central IRC server for Command & Control (C&C)
– Single point of mitigation:
• C&C Server can be taken down or blacklisted
• Botnets with peer to peer C&C
– No single point of failure.
– E.g., Waldedac, Storm, and Nugache
• Multi-layered architecture to obfuscate and
hide control servers in upper tiers.
Borrowed from Brent ByungHoon Kang, GMU
Expected Use of DHT P2P Network
Publish and Search
Botmaster publishes
commands under the
key.
 Bots are searching for
this key periodically
 Bots download the
commands
=>Asynchronous C&C

Borrowed from Brent ByungHoon Kang, GMU
Multi-Layered Command and Control
Architecture Through P2P
Each Supernode (server)
publishes its location (IP
address) under the key 1 and
key 2
 Subcontrollers search for key
1
 Subnodes (workers) search
for key 2
to open connection
to the Supernodes
=> Synchronous C&C

Borrowed from Brent ByungHoon Kang, GMU
Current Botnet Defenses
• Virus Scanner at Local Host
– Polymorphic binaries against signature scanning
– Not installed even though it is almost free
– Rootkit
• Network Intrusion Detection Systems
– Keeping states for network flows
– Deep packet inspection is expensive
– Deployed at LAN, and not scalable to ISP-level
– Requires Well-Trained Net-Security SysAdmin
Borrowed from Brent ByungHoon Kang, GMU
Conficker infections are still increasing after
one year!!!
There are millions of computers on the Internet
that do not have virus scanner nor IDS
64
Borrowed from Brent ByungHoon Kang, GMU
Botnet Enumeration Approach
• Used for spam blocking, firewall configuration, DNS
rewriting, and alerting sys-admins regarding local
infections.
• Fundamentally differs from existing Intrusion
Detection System (IDS) approaches
– IDS protects local hosts within its perimeter (LAN)
– An enumerator would identify both local as well as
remote infections
• Identifying remote infections is crucial
– There are numerous computers on the Internet that are
not under the protection of IDS-based systems.
65
Borrowed from Brent ByungHoon Kang, GMU
How to Enumerate Botnet
• Need to know the method and protocols for
how a bot communicates with its peers
• Using sand-box technique
– Run bot binary in a controlled environment
– Network behaviors are captured/analyzed
• Investigating the binary code itself
– Reversing the binary into high level codes
– C&C Protocol knowledge and operation details
can be accurately obtained
Borrowed from Brent ByungHoon Kang, GMU
Simple Crawler Approach
• Given network protocol knowledge, crawlers:
1.
2.
3.
4.
5.
collect list of initial bootstrap peers into queue
choose a peer node from the queue
send to the node look-up or get-peer requests
add newly discovered peers to the queue
repeat 2-5 until no more peer to be contacted
• Can’t enumerate a node behind NAT/Firewall
• Would miss bot-infected hosts at home/office!
Borrowed from Brent ByungHoon Kang, GMU
Passive P2P Monitor (PPM)
• Given P2P protocol knowledge that bot uses
• A collection of “routing-only” nodes that
– Act as peer in the P2P network, but
– Controlled by us, the defender
• PPM nodes can observe the traffic from the
peer infected hosts
• PPM node can be contacted by the infected
hosts behind NAT/Firewall
Borrowed from Brent ByungHoon Kang, GMU
Crawler and Passive P2P Monitor (PPM)
PPM
Crawler
PPM
PPM
Borrowed from Brent ByungHoon Kang, GMU
Crawler vs. PPM: # of IPs found
Botnet Enumeration Challenges
•
•
•
•
•
DHCP
NATs
Non-uniform bot distribution
Churn
Most estimates put size of largest botnets at
tens of millions of bots
– Actual size may be much smaller if we account for
all of the above
Fast Flux
• Botnets use a lot of newly-created domains
for phishing and malware delivery
• Fast flux: changing name-to-IP mapping very
quickly, using various IPs to thwart defense
attempts to bring down botnet
• Single-flux: changing name-to-IP mapping for
individual machines, e.g., a Web server
• Double-flux: changing name-to-IP mapping for
DNS nameserver too
• Proxies on compromised nodes fetch content
from backend servers
Fast Flux
• Advantages for the attacker:
– Simplicity: only one back end server is needed to
deliver content
– Layers of protection through disposable proxy
nodes
– Very resilient to attempts for takedown
Fast Flux Detection
• Look for domain names where mapping to IP
changes often
– May be due to load balancing
– May have other (non-botnet) cause, e.g., adult
content delivery
– Easy to fabricate domain names
• Look for DNS records with short-lived domain
names, with lots of A records, lots of NS records
and diverse IP addresses (wrt AS and network
access type)
• Look for proxy nodes by poking them
Poking Botnets is Dangerous
• They have been known to fight back
– DDoS IPs that poke them (even if low workers are
scanned)
• They have been known to fabricate data for
honeynets
– Honeynet is a network of computers that sits in
otherwise unused (dark) address space and is
meant to be compromised by attackers
Botnets Fun Facts: ROI for Attackers
• Researchers subverted a botnet’s command
and control infrastructure (proxy bots)
– Modified its spam messages to point to the Web
server under researcher control
• That server mimicked the original Web page
from the spam emails
– A pharmacy site
– A greeting card download site
"Spamalytics: An Empirical Analysis of Spam Marketing Conversion” C.
Kanich, C. Kreibich, K. Levchenko, B. Enright, G. Voelker, V. Paxson, and
S. Savage, ACM CCS 2009
What Is ROI for Attackers
• How many spam emails reach recipients: open a
few email accounts themselves and append
them to email delivery lists in spam messages
• How many emails result in Web page visits
– Must filter out defense accesses
• How many users actually buy advertised
products or download software
– No “sale” is finalized
• Ethical issues abound
"Spamalytics: An Empirical Analysis of Spam Marketing
Conversion” C. Kanich, C. Kreibich, K. Levchenko, B. Enright, G.
Voelker, V. Paxson, and S. Savage, ACM CCS 2009
Most-targeted E-mail Domains
"Spamalytics: An Empirical Analysis of Spam Marketing Conversion” C.
Kanich, C. Kreibich, K. Levchenko, B. Enright, G. Voelker, V. Paxson, and
S. Savage, ACM CCS 2009
Spam Conversion Pipeline
"Spamalytics: An Empirical Analysis of Spam Marketing Conversion” C.
Kanich, C. Kreibich, K. Levchenko, B. Enright, G. Voelker, V. Paxson, and
S. Savage, ACM CCS 2009
Spam Conversion Pipeline
"Spamalytics: An Empirical Analysis of Spam Marketing Conversion” C.
Kanich, C. Kreibich, K. Levchenko, B. Enright, G. Voelker, V. Paxson, and
S. Savage, ACM CCS 2009
Spam Filter Misses
"Spamalytics: An Empirical Analysis of Spam Marketing Conversion”
C. Kanich, C. Kreibich, K. Levchenko, B. Enright, G. Voelker, V. Paxson,
and S. Savage, ACM CCS 2009
For More on Botnets
http://www.shadowserver.org
http://www.honeynet.org/papers/bots/
http://www.honeynet.org/papers/ff