BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection

advertisement
BotMiner:
Clustering Analysis of Network Traffic for Protocol- and
Structure-Independent Botnet Detection
Guofei Gu, Roberto Perdisci, Junjie Zhang, and Wenke Lee
College of Computing, Georgia Institute of Technology
Presented by Joshua Cox
Botnet

Group of compromised computers

Controlled by remote commands

Malicious activities


DDoS attacks
– spam

phishing
– identity theft
Protocols

IRC, HTTP, P2P
Centralized Botnets


Botmaster sends
command to
designated C&C
server
Bots request
commands from
server
P2P Botnets



No C&C server
Botmaster sends
command to any
bot
Bots share
commands with
neighbors
Rishi

Detects IRC based botnets

Monitors traffic

Suspicious nicknames

Suspicious servers

Uncommon server ports
BotSniffer

Network based anomaly detection

All bots within a botnet will share similar
traffic patterns

Works with IRC and HTTP botnets

Does not detect P2P botnets
BotHunter


Works with

IRC and HTTP

P2P botnets
Relies on “Infection Lifecycle Model”

What if we change the lifecycle?
BotMiner Objective

Detect groups of compromised machines
that are part of a botnet



Independent of C&C communication
structure and content
Minimal false positives
Resource efficient detection
BotMiner Architecture
BotMiner Architecture
C-plane Monitor

Who is talking to whom?

TCP and UDP traffic flows


time, duration

source, destination

packet count, bytes transferred
Manageable log size

less than 1GB per day for 300 Mbps
network
A-plane Monitor

Who is doing what?

Detects malicious activities


scanning
– binary downloading

spamming
– exploit attempts
Snort with custom plugins

expandable
C-plane Clustering


Which machines have similar
communication patterns?
C-plane monitor logs → cluster reports
C-plane Clustering
Basic Filtering

Remove internal flows

Remove one way flows
C-plane Clustering
White Listing

Remove flows to popular destination

Google, Yahoo, etc.
C-plane Clustering
Aggregation

C-flow: all traffic flows over a period of
time that share the same source,
destination, and protocol
C-plane Clustering
Feature Extraction

flows per hour
– bytes per packet

packets per flow
– bytes per second
C-plane Clustering
Two-step Clustering

Coarse-grain and Refined clustering

X-means clustering algorithm
A-plane Clustering


Which machines have similar activity
patterns?
A-plane monitor logs → cluster reports
A-plane Clustering
Activity Type Clustering

scan
– spam

binary download
– exploit
A-plane Clustering
Activity Feature Clustering

target subnet
– similar binary

spam content
– exploit type
Cross-plane Correlation

Which machines are in a botnet?

Botnet score


Number of clusters

Score of other hosts in cluster

Activity weighting
Which bots are in the same botnet?
Test Case

Georgia Tech campus network


Ran monitors for 10 days


up to 300 Mbps
wide variety of protocols
Obtained traces for 8 botnets

IRC, HTTP, and P2P
Botnets Used

Overlaid malicious traffic on normal traffic

Mapped IPs from random hosts to bots
Filtering Results

Internal/External filter reduces data by 90%

10 billion packets reduced to 50k C-flows
Detection Results

All botnets detected

99.6% bot detection

0.3% false positive rate
Limitations

Traffic randomization and mimicry


Individual or group commands


C-plane cluster evasion
A-plane cluster evasion
Delay bot tasks

Cross-plane analysis evasion
References
•
Guofei Gu, Roberto Perdisci, Junjie Zhang, and Wenke Lee. BotMiner: Clustering Analysis of
Network Traffic for Protocol- and Structure-Independent Botnet Detection. 17th USENIX Security
Symposium (Security'08), San Jose, CA, 2008.
•
D. Pelleg and A. W. Moore. X-means: Extending k-means with efficient estimation of the number of
clusters. In Proceedings of the Seventeenth International Conference on Machine Learning
(ICML’00), pages 727–734, San Francisco, CA, USA, 2000. Morgan Kaufmann Publishers Inc.
•
J. Goebel and T. Holz.
Rishi: Identify bot contaminated hosts by irc nickname evaluation. In
Proceedings of USENIX HotBots’07, 2007.
•
G. Gu, P. Porras, V. Yegneswaran, M. Fong, and W. Lee. BotHunter: Detecting malware infection
through ids-driven dialog correlation. In Proceedings of the 16th USENIX Security Symposium
(Security’07), 2007.
•
G. Gu, J. Zhang, and W. Lee. BotSniffer: Detecting botnet command and control channels in
network traffic. In Proceedings of the 15th Annual Network and Distributed System Security
Symposium (NDSS’08), 2008.
Download