BotMiner
2008-08-21 09:06
Paper
|
BotMiner: Clustering Analysis of Network Traffic for
Protocol- and Structure-Independent Botnet Detection
|
Date
|
2008
|
Magzine
|
17th Usenix Security Symposium
|
Class
|
Botnet
|
Subclass
|
Detection/Mesurement
|
Version
|
1
|
Add/Update
|
2008-8-18/2008-8-18
|
Main Idea
|
根据
Botnet
的本质属性(
coordinate&malicous activity
),凡是有相似网络通信行为并且有相似
malicous activity
的就是
Botnet,
因此做到了协议无关和结构无关
|
Contribution
|
1
.首次设计并实现了协议无关且结构无关的
Botnet Detection
系统
,
可以检测未知
Botnet
|
Difficulty Faced
|
None
|
Future Plan
|
改进
malicous activity
的
Cluster
精度
|
Inspiration
|
1.
Sub-botnet
2.
Cluster->Host-based
3.
Communication randomization,mimicry attacks and covert channel
对抗所有的流量检测方法都有效
4.
当处理具有多维属性的对象时,
Aggregation&Cluster & Correlation
经常是有效的
5.
Connection frequency/interval, content entropy,normalized compression distance(NCD)
|
Detail
|
本文认为所有
Botnet
都具备两个本质属性:协同工作和从事可疑活动。正常的应用,如
P2P
软件也会协同工作,但不从事可疑活动;蠕虫满足后者但不满足前者,两者都满足才是
Botnet
。
无论是
IRC/HTTP
还是
P2P
结构、无论
TCP/UDP
协议的
Botnet
,在
C&C
过程中的通信都会显示出相似的
Pattern
;同样,同一个
Botnet
不同
Bots
在从事扫描、
Spam
等可疑活动时,也都会显示出相似的
Pattern
。
BotMiner
思路:
1.
被动监听网络数据,将数据以类似于
NetFlow
的格式保存
(C-plane monitor)
;同时,运行
Snort
检测可疑活动,生成报警日志(
A-plane monitor
)(
C: Coordinate;A:Activity
)
2.
将
C-plane monitor
获得的具有相同协议
/
源目的
IP/
目的
Port
的
Flow
进行
Aggregate
,然后提取特征映射到一个
d
维的向量空间,这样处理后才能
Cluster.
比如两个
Netflow
流的目的
IP
不同,但可能是同一个
botnet
使用了不同的
DNS
,如果不进行映射,将会因为
C-Flow
中的目的
IP
不同而不会被
Cluster
到一组
类似地,将
A-plane monitor
获得数据也进行
Cluster,
但方法简单。比如,对于
Scan Activity,
仅仅根据目的端口来
Cluster,
而
Spam
则粗略地不再
Cluster
1.
Cross-plane Correlation:
利用
C-plane cluster
和
A-plane cluster
的结果计算每个
Host
为
Bot
的分数(奇怪的是公式里并没有要求
host
同时出现在两个
plane
中
,
与前提不符)
|
|
转载于:https://blog.51cto.com/patty/150676