botminer: clustering analysis of network traffic for protocol- and structure-independent botnet...

28
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

Upload: rudolf-caldwell

Post on 28-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

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

Page 2: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

Botnet

Group of compromised computers Controlled by remote commands Malicious activities

DDoS attacks – spam phishing – identity theft

Protocols IRC, HTTP, P2P

Page 3: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

Centralized Botnets

Botmaster sends command to designated C&C server

Bots request commands from server

Page 4: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

P2P Botnets

No C&C server Botmaster sends

command to any bot

Bots share commands with neighbors

Page 5: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

Rishi

Detects IRC based botnets Monitors traffic

Suspicious nicknames Suspicious servers Uncommon server ports

Page 6: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

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

Page 7: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

BotHunter

Works with IRC and HTTP P2P botnets

Relies on “Infection Lifecycle Model” What if we change the lifecycle?

Page 8: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

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

Page 9: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

BotMiner Architecture

Page 10: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

BotMiner Architecture

Page 11: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

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

Page 12: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

A-plane Monitor

Who is doing what? Detects malicious activities

scanning – binary downloading spamming – exploit attempts

Snort with custom plugins expandable

Page 13: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

C-plane Clustering

Which machines have similar communication patterns?

C-plane monitor logs → cluster reports

Page 14: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

C-plane Clustering

Basic Filtering Remove internal flows Remove one way flows

Page 15: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

C-plane Clustering

White Listing Remove flows to popular destination Google, Yahoo, etc.

Page 16: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

C-plane Clustering

Aggregation C-flow: all traffic flows over a period of

time that share the same source, destination, and protocol

Page 17: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

C-plane Clustering

Feature Extraction flows per hour – bytes per packet packets per flow – bytes per

second

Page 18: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

C-plane Clustering

Two-step Clustering Coarse-grain and Refined clustering X-means clustering algorithm

Page 19: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

A-plane Clustering

Which machines have similar activity patterns?

A-plane monitor logs → cluster reports

Page 20: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

A-plane Clustering

Activity Type Clustering scan – spam binary download – exploit

Page 21: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

A-plane Clustering

Activity Feature Clustering target subnet – similar binary spam content – exploit type

Page 22: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

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?

Page 23: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

Test Case

Georgia Tech campus network up to 300 Mbps

Ran monitors for 10 days wide variety of protocols

Obtained traces for 8 botnets IRC, HTTP, and P2P

Page 24: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

Botnets Used

Overlaid malicious traffic on normal traffic Mapped IPs from random hosts to bots

Page 25: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

Filtering Results

Internal/External filter reduces data by 90% 10 billion packets reduced to 50k C-flows

Page 26: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

Detection Results

All botnets detected 99.6% bot detection 0.3% false positive rate

Page 27: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

Limitations

Traffic randomization and mimicry C-plane cluster evasion

Individual or group commands A-plane cluster evasion

Delay bot tasks Cross-plane analysis evasion

Page 28: BotMiner: Clustering Analysis of Network Traffic for Protocol- and Structure-Independent Botnet Detection Guofei Gu, Roberto Perdisci, Junjie Zhang, and

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.