CN102238044B - 同源僵尸网络判别方法 - Google Patents
同源僵尸网络判别方法 Download PDFInfo
- Publication number
- CN102238044B CN102238044B CN 201010163239 CN201010163239A CN102238044B CN 102238044 B CN102238044 B CN 102238044B CN 201010163239 CN201010163239 CN 201010163239 CN 201010163239 A CN201010163239 A CN 201010163239A CN 102238044 B CN102238044 B CN 102238044B
- Authority
- CN
- China
- Prior art keywords
- botnet
- curve
- botnets
- homologous
- characteristic point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/144—Detection or countermeasures against botnets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种同源僵尸网络判别方法,包括:根据僵尸网络数据计算僵尸网络的通讯量特征与通讯频率特征,得到相应的通讯量日周期曲线与通讯频率日周期曲线;从所述通讯量日周期曲线与通讯频率日周期曲线中提取各自的特征点,根据所述特征点分别生成通讯量标准化形状曲线以及通讯频率标准化形状曲线;计算所要比较的僵尸网络对的通讯量标准化形状曲线间的第一欧式距离以及通讯频率标准化形状曲线的第二欧氏距离,根据所述第一欧式距离与所述第二欧式距离判断所要比较的僵尸网络对是否属于同源僵尸网络。本发明的方法判别同源僵尸网络的准确率较高。
Description
技术领域
本发明涉及网络安全领域,特别涉及同源僵尸网络判别方法。
背景技术
僵尸网络(botnet)是指攻击者出于恶意目的,传播僵尸程序控制大量主机,并通过一对多的命令与控制信道(Command and Control,C&C)所组成的网络。僵尸网络为攻击者提供了隐匿、灵活且高效的一对多命令与控制机制,僵尸网络的控制者可以控制大量僵尸主机来实现信息窃取、分布式拒绝服务攻击和垃圾邮件发送等攻击目的。僵尸网络正步入快速发展期,对因特网安全造成了严重威胁。
僵尸网络主要分为IRC(Internet Relay chat)僵尸网络、HTTP僵尸网络和P2P僵尸网络。IRC僵尸网络是最早产生而且目前仍然大量存在的一类僵尸网络,该类僵尸网络的控制者基于标准IRC协议在IRC聊天服务器上构建命令与控制信道,并通过所述的命令与控制信道实现对大量受控主机的僵尸程序版本更新、恶意攻击等行为的控制。在图1中示出了IRC僵尸网络中的控制者、命令与控制服务器(如IRC服务器)、受控主机(bot)以及被攻击对象间的关系。HTTP僵尸网络与IRC僵尸网络的功能结构相似,所不同的是HTTP僵尸网络控制器是以WEB网站方式构建的。P2P僵尸网络是一种较新型的僵尸网络,在P2P僵尸网络中僵尸程序同时承担客户端和服务器的双重角色。
由于图1所示的IRC僵尸网络的结构特点,使得僵尸网络具有健壮性差、存在单点失效等问题,因此,网络安全管理人员可通过摧毁单个IRC服务器来切断僵尸网络控制者与bot间的联系,导致整个僵尸网络瘫痪。为了逃避网络安全人员的监管,如图2(a)所示,部署在bot上的僵尸程序使用域名而非固定的IP地址来连接IRC服务器,僵尸网络控制者使用动态域名服务将僵尸程序连接的域名映射到其控制的多台IRC服务器上,一旦正在工作的某一台IRC服务器失效,僵尸网络的受控主机会连接到其他的IRC服务器,从而保证了整个僵尸网络的继续运转。另外,在现实生活中也存在将僵尸网络的控制权转移从而换取经济利益的行为,在这一行为中也会涉及到IRC服务器的改变。以上通过主动或被动方式改变僵尸网络中的IRC服务器的行为被称为僵尸网络的迁移。在现实生活中,某些大型僵尸网络采用了分层管理模式,如图2(b)所示,多个IRC服务器控制各自不同的bot群体,而所有的IRC服务器同时由僵尸网络控制者统一控制。
从上面对僵尸网络迁移以及僵尸网络的分层管理模式的描述可以看出,现有的僵尸网络存在以下特点:IRC服务器与僵尸网络控制者之间并不一定是一一对应关系,而且IRC服务器与僵尸网络控制者的对应关系可能随时间发生转变。
现有技术中已经存在对僵尸网络进行检测的相关技术,利用这些检测技术可以得到大量关于僵尸网络的数据。为了便于网络安全管理,需要从检测到的大量僵尸网络中识别出哪些僵尸网络属于同一僵尸网络,这一识别过程通过僵尸网络相似性度量模型完成。本申请中所述的同一僵尸网络是指控制者相同的僵尸网络。
在现有技术中也存在对僵尸网络做相似性度量的方法和系统。如在参考文献1“Guofei Gu,Roberto Perdisci,Junjie Zhang,and Wenke Lee.BotMiner:Clustering Analysis of Network Traffic for Protocol-and Structure-IndependentBotnet Detection.USENIX Security,2008.139-154”中公开了一种采用聚类的数据分析方法。利用僵尸网络中IRC服务器与bot的一对多映射关系,该方法可以有效地检测IRC服务器与bot的C&C通讯,以此获得IRC服务器与bot的对应关系,并将检测到的一个IRC服务器看成一个僵尸网络。但实际上,IRC服务器与僵尸网络之间并不必然地存在一一对应关系。将一个IRC服务器看作一个僵尸网络的做法会导致分析僵尸网络情况时出现错误和偏差。在IRC僵尸网络中,bot与控制者是实体,IRC服务器只是中间桥梁,因此如果要准确地掌握僵尸网络,应当掌握的是僵尸网络控制者与bot间的对应关系。但由于在前文中所提到的僵尸网络的特点使得现有技术很难用数据分析方法来获得僵尸网络控制者与IRC服务器对应关系。总之,参考文献1所列出的方法在识别僵尸网络时由于方法本身的缺陷,很容易发生识别错误的现象。
在参考文献2“Raiab MA,Zarfoss J,Monrose F,Terzis A.My botnet isbigger than yours(maybe,better than yours):Why size estimates remainchallenging.In:Proc.of the 1st Workshop on Hot Topics in UnderstandingBotnets(HotBots 2007).2007”中从评估僵尸网络规模的角度提出了僵尸网络相似性度量问题,指出评估僵尸网络规模的难点之一是僵尸网络的动态性,通过蜜网蜜罐跟踪僵尸网络获取其僵尸程序版本、IRC服务器IP、IRC服务器域名、IRC频道名、控制者ID等信息,进而提出了僵尸网络相似性度量模型。在该参考文献中所提出的僵尸网络相似性度量模型由于其所采用的指标都是控制端特征,缺少被控端特征,因此并不能完全反映僵尸网络区别于其他僵尸网络的本质特征,使得利用模型进行相似性度量的准确性差。特别是在新型的IRC僵尸网络中,僵尸程序版本、IRC服务器IP、IRC服务器域名、IRC频道名、控制者ID并非僵尸网络本身的显著特征,因此相似性度量结果的准确性更加值得怀疑。此外,该参考文献中只对僵尸网络的迁移作了初步感性的分析,没有将僵尸网络的相似性和迁移联系起来;对于僵尸网络迁移的分析,只针对僵尸网络在同一个IRC服务器上不同频道间迁移的情况做了说明,没有对僵尸网络在不同IRC服务器上迁移的情况加以分析。总之,参考文献2所公开的方法同样具有识别准确性差的缺陷,而且也不能对僵尸网络的迁移现象加以识别。
发明内容
本发明的目的是克服现有的僵尸网络同源判别方法识别准确性差、不能对僵尸网络的迁移现象加以识别的缺陷,从而提供一种识别准确性好、能够识别僵尸网络迁移现象的判别方法。
为了实现上述目的,本发明提供了一种同源僵尸网络判别方法,包括:
步骤1)、根据僵尸网络数据计算僵尸网络的通讯量特征与通讯频率特征,得到相应的通讯量日周期曲线与通讯频率日周期曲线;
步骤2)、从所述通讯量日周期曲线与通讯频率日周期曲线中提取各自的特征点,根据所述特征点分别生成通讯量标准化形状曲线以及通讯频率标准化形状曲线;
步骤3)、计算所要比较的僵尸网络对的通讯量标准化形状曲线间的第一欧式距离以及通讯频率标准化形状曲线的第二欧氏距离,根据所述第一欧式距离与所述第二欧式距离判断所要比较的僵尸网络对是否属于同源僵尸网络。
上述技术方案中,在所述的步骤3)中,所述的根据所述第一欧式距离与所述第二欧式距离判断所要比较的僵尸网络对是否属于同源僵尸网络包括:
若所述第一欧式距离与所述第二欧式距离都大于第一阈值,则所要比较的僵尸网络对属于不同源的僵尸网络,否则,所要比较的僵尸网络对属于同源僵尸网络。
上述技术方案中,还包括对步骤3)中认为是同源僵尸网络的僵尸网络对做进一步判别的步骤;所述步骤包括:
步骤4)、将所述通讯量日周期曲线和通讯频率日周期曲线连接生成通讯特征曲线;
步骤5)、计算所要比较的僵尸网络对的通讯特征曲线的DTW距离,若所述DTW距离大于第二阈值,则所要比较的僵尸网络对为不同源僵尸网络,否则属于同源僵尸网络。
上述技术方案中,所述的步骤2)包括:
步骤2-1)、从所述通讯量日周期曲线与通讯频率日周期曲线中提取各自的特征点,得到关于特征点的集合{S[i1],S[i2],…,S[iq]},记x(S[ij]、y(S[ij](1≤j≤q)分别为特征点S[ij]的横、纵坐标,其中x(S[il])<x(S[im]),(1≤l<m≤q);
步骤2-2)、将所述特征点集合中的所有q个特征点按大小顺序映射到区间[0,1];
步骤2-3)、将集合{y(S[ij])|1≤j≤q}按升序排列得到数组C,记g为集合{S[i1],S[i2],…,S[iq]}到集合{i|i∈z+,i≤q}的映射,若y(S[ij]=C[k],(1≤j≤q,1≤k≤q),则g(S[ij])=k;
步骤2-4)、将所述特征点集合中的q个特征点通过变换得到标准形状曲线的特征点集合:
步骤2-5)、由所述标准形状曲线中的特征点拟合生成标准形状曲线。
上述技术方案中,在所述的步骤2-1)中,所述的从所述通讯量日周期曲线与通讯频率日周期曲线中提取各自的特征点包括:
步骤2-1-1)、从所述通讯量日周期曲线与通讯频率日周期曲线中选择曲线的起始点和结束点作为特征点;
步骤2-1-2)、从所述通讯量日周期曲线与通讯频率日周期曲线中取出极值点,将所述极值点中横坐标间距离大于第三阈值的极值点作为特征点。
上述技术方案中,在所述的步骤2-1)中,所述的从所述通讯量日周期曲线与通讯频率日周期曲线中提取各自的特征点包括:
步骤2-2-1)、遍历所述的通讯量日周期曲线与通讯频率日周期曲线,找到其中的所有极值点,所述极值点包括极大值点与极小值点;
步骤2-2-2)、按时间属性的大小顺序,判断极值点与前一极值点间的距离是否大于阈值德尔塔,若大于,则该极值点为特征点,否则就不是;所述阈值德尔塔由实验确定。
上述技术方案中,在所述的步骤4)中,在连接所述通讯量曲线和通讯频率曲线前,按比例缩小其中一条曲线,以使得两者的数量级相同。
上述技术方案中,所述的步骤5)包括:
步骤5-1)、将长度为N的僵尸网络通讯特征曲线S1,S2,…,Sn转化为长度为f的序列:PAA(S1),…,PAA(Sf);其中,f=q-1,q为最优特征点的数量;
步骤5-4)、计算LB_PAA(Si,Sj),若计算结果小于或等于所述的第二阈值,则计算DTWρ(Si,Sj),否则,所要比较的僵尸网络为不同源僵尸网络;
步骤5-5)、若DTWρ(Si,Sj)小于或等于所述的第二阈值,则所要比较的僵尸网络对为不同源僵尸网络,否则属于同源僵尸网络。
本发明的优点在于:
1、本发明的方法判别同源僵尸网络的准确率较高。
2、本发明的方法可以有效提高判别的准确率,并且过滤掉大量不同僵尸网络数据,减小计算量。
3、本发明的方法使用改进的LB_PAA距离作为DTW距离的下界,对僵尸网络通讯特征序列数据进行过滤,相比直接计算僵尸网络通讯特征曲线DTW距离,有效减小了计算量,提高了效率。
附图说明
图1为IRC僵尸网络的结构示意图;
图2(a)为僵尸网络迁移的示意图;
图2(b)为采用分层管理模式的僵尸网络的示意图;
图3为僵尸网络的通讯量日周期曲线的示意图;
图4为僵尸网络的不同天的通讯频率的示意图;
图5为共用IP与其所属僵尸网络的通讯频率曲线对比图;
图6为同源僵尸网络在时间轴上的通讯特征曲线对比示意图;
图7为同源僵尸网络的通讯量日周期曲线的对比示意图;
图8为同源僵尸网络的通讯频率日周期曲线的对比示意图;
图9为同源僵尸网络的又一通讯量日周期函数曲线的对比示意图;
图10(a)为特征点数量对弃真错误率的影响的示意图;
图10(b)为特征点数量对取伪错误率的影响的示意图;
图10(c)为特征点数量对错误率的影响的示意图;
图11为阈值η1对各类错误率的影响的示意图;
图12(a)为德尔塔值对弃真错误率的影响的示意图;
图12(b)为德尔塔值对取伪错误率的影响的示意图;
图12(c)为德尔塔值对错误率的影响的示意图;
图13为阈值η2对各类错误率的影响的示意图;
图14(a)为弯曲率ρ对弃真错误率的影响的示意图;
图14(b)为弯曲率ρ对取伪错误率的影响的示意图;
图14(c)为弯曲率ρ对错误率的影响的示意图;
图15为本发明的方法的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明加以说明。
要实现僵尸网络的相似性度量,首先应当有与僵尸网络有关的数据。在背景技术中已经提到,利用现有技术可以在网络中检测出僵尸网络,并将这些僵尸网络的数据记录下来。因此,在下面的实施例中可以直接采用僵尸网络数据,而不再对如何获取这些数据的过程加以说明。
僵尸网络数据是指控制主机与被控制主机(bot)的通讯记录,一般包括控制主机IP,被控主机IP,通讯时间等信息。为了实现相似性度量,在本发明中,从僵尸网络数据中提取了两类特征,一为通讯量特征,二为通讯频率特征,然后利用上述特征分别得到通讯量日周期曲线与通讯频率日周期曲线,所得到的上述两条曲线相连接后所得到的曲线被称为通讯特征曲线,通过计算不同僵尸网络间的通讯特征曲线距离可以实现不同僵尸网络是否属于同一僵尸网络的判断。
以上是本发明方法的基本实现过程,在下面的详细描述过程中,首先对从僵尸网络中所提取的通讯量特征和通讯频率特征分别予以说明。
通讯量特征
通讯量特征反映了bot群体的普遍上线时间习惯,由于僵尸网络可能针对特定的漏洞(比如Windows 2000SP2漏洞)发展而成,因此bot群体的上线时间习惯具有一定的相似性。例如,由于大多数计算机在夜间关机下线,僵尸网络的通讯量在夜间有明显的下降,因此呈现了如图3所示的明显的周期性,且从该图中还可以看出,僵尸网络通讯量每一天的变化曲线相似。考虑到僵尸网络中通讯量特征的上述特点,因此需要在僵尸网络识别过程中提取通讯量特征。
在对通讯量特征的提取过程做详细说明前,出于说明方便的考虑,下面首先给出两个定义:
通讯量(communicate count)CCi(t)表示僵尸网络i的通讯量随时间变化的函数,它是一个统计值函数,需要给定统计时间间隔大小w。其中i为僵尸网络标号,在不引起岐义的情况下,下文中通常省掉i。
在线(online)bot数量Oboti(t)表示僵尸网络i中在线bot数量的统计函数。
对通讯量特征的提取较为简单,在一个实现方式中,首先计算每一天的通讯量CC(t),对每一天通讯量的计算可通过对现有检测技术的检测结果实现;然后对每一天的数据进行归一化;由于通讯量特征是反映一定时间长度内僵尸网络的通讯量特征,因此需要将n天内的数据做累加,然后计算平均值;最后对该平均值做归一化,得到僵尸网络的通讯量日周期函数C(t)(0≤t≤24h)。通讯量日周期函数以曲线的方式表示就能得到通讯量日周期曲线。由于bot群体的相似性,上线时段集中,存在上线高峰和低谷,因此图3所示的通讯量日周期曲线有明显的波峰、波谷。需要说明的是,虽然在本实施例中,以一天为时间单位,对通讯量特征加以计算从而得到通讯量日周期函数,但本领域的技术人员应当了解,实现通讯量特征提取的单位时间可以发生变化,如可以是2天,也可以是12小时。
通讯频率特征
通讯频率特征表示单位bot主机的通讯量,它反映的是僵尸网络IRC服务器与bot间通讯的频繁程度。实验结果显示,僵尸网络的通讯频率每一天的平均值趋于常量,图4反映了这一显示结果。但与此同时,僵尸网络的通讯频率在一天内并不恒定,而是呈现出明显的周期性。因此,可以利用已知数据计算僵尸网络通讯频率日周期函数。下面假设已经有n天的统计数据,对如何计算僵尸网络通讯频率日周期函数CF′(t)(0≤t≤24h)的过程说明如下。
步骤1)、把每天的通讯数据分成24h/w份(w为统计时间间隔大小,它的含义是:认为在w间隔内有通讯的IP数为该时间跨度的在线肉机数Obot(t)。根据僵尸网络IRC服务器与bot通讯数据的特点,在本实施例中w取10分钟),每一份时间跨度为w,计算每一份数据中不同IP个数,得到在线肉机函数Obot(t)的统计值;
步骤2)、计算通讯量CC(t),然后进一步计算通讯频率函数CF(t)=CC(t)/Obot(t),从而得到单位bot的通讯量。若Obot(t)=0,则使用线性插值的方法计算CF(t)。
步骤3)、平均n天的数据,得到CF′(t)(0≤t≤24h)。
以上是对计算僵尸网络通讯频率日周期函数CF′(t)的基本步骤的说明,作为一种优选实现方式,为了去掉噪声的影响,还可以使用多项式拟合所述的CF′(t),从而得到拟合后的曲线CFS(t)。
在计算通讯频率特征时,还要考虑到下面一种情况:由于互联网IP地址紧缺,一些局域网内部网络采用了NAT(Network Address Translation)技术,通过该技术使得多台计算机能够使用一个IP来共享Internet连接,在局域网内部网络中使用内部地址,而当内部节点要与外部网络进行通讯时,就在网关将内部地址替换成公用地址。显而易见,由于NAT技术的上述特点,使得bot中这类IP的通讯频率明显大于所属僵尸网络的通讯频率,如图5所示,图中两曲线分别代表僵尸网络通讯频率以及该僵尸网络某bot IP的通讯频率。因此在计算僵尸网络通讯频率时,应该剔除掉这些IP。由于共用bot IP为静态IP,通讯时间跨度较长,在计算僵尸网络通讯频率时,可以通过剔除通讯时间跨度超过阈值m的IP来剔除共用bot IP,在本实施例中,m可以取10天。
通讯特征曲线距离的计算
在上述对通讯量特征以及通讯频率特征的说明中,已经就通讯量日周期曲线以及通讯频率日周期曲线如何生成做了说明。在得到僵尸网络的通讯量日周期曲线以及通讯频率日周期曲线后,将两条曲线结合得到通讯特征曲线,然后可以通过计算不同僵尸网络的通讯特征曲线间的距离来衡量不同僵尸网络是否属于同源僵尸网络,如计算通讯特征曲线间的欧式距离。但采用上述方法会存在以下问题:
问题(1)、僵尸网络通讯特征曲线是从有限时间段的通讯数据提取而来,由于样本容量的限制,曲线本身存在一定的误差。另外由于获取数据时间延迟等因素,也可能导致曲线的偏差。曲线间的欧氏距离要求曲线的点与点之间必须一一对应,对时间轴上的偏移非常敏感,因此可能导致距离计算结果的误差甚至很大的错误。极端的例子如图6所示,两个同源的僵尸网络通讯特征曲线在时间轴上产生了偏移。其欧氏距离为1.04,若根据通讯特征曲线欧氏距离判别同源僵尸网络,则很可能做出错误的判别。
问题(2)、由于bot群体的相似性,上线时段集中,有上线高峰和低谷,通讯量特征曲线有明显的曲线峰、谷特征点,通讯频率特征曲线也是如此。实验发现,同源的僵尸网络,通讯特征曲线形状可能有差异(差异主要指两种情况:曲线间按一定比例压缩拉伸或者局部按一定比例压缩拉伸,如图7如示;曲线间按一定的比例放大或缩小,如图8所示),并且欧氏距离较大,但它们曲线的峰、谷特征点对应的时间点基本一致。因此计算特征曲线距离时,要考虑曲线峰、谷特征点的因素,但在计算特征曲线间的欧式距离时并没有考虑曲线的峰、谷特征点。
针对采用欧式距离计算通讯特征曲线间距离的方法所存在的上述问题,本发明将通讯特征曲线视为一时间序列,然后针对前面所提到的问题(1)引入动态时间弯曲距离(dynamic time warping distance),简称DTW距离。DTW距离可以有效地消除欧氏距离对时间点必须一一对应这一限制的缺陷,允许序列在时间轴上的偏移。
DTW距离是时间序列挖掘中,为比较序列的相似性而普遍使用的序列距离度量方法。简单介绍DTW距离所涉及的相关概念如下:
在下面的表1中首先给出DTW距离的定义:
变量 | 定义 |
S | 时间序列S |
Len(S) | 时间序列S的长度 |
S[i] | 时间序列S的第i个点的值 |
S[i:j] | 时间序列S第i个点到第j个点之间的点构成的子序列 |
ρ | 弯曲率 |
<> | 空时间序列 |
Rest(S) | 时间序列S的子序列S[2:Len(S)] |
表1
给定两个相同长度的时间序列S和Q,它们的DTW距离存在以下公式:
DTW(<>,<>)=0
DTW(S,<>)=DTW(<>,Q)=∞
DTW距离可以采用动态规划的方法计算,该方法的时间复杂度为O(|s|*|Q|)。
考虑到通讯量日周期曲线、通讯频率日周期曲线以及通讯特征曲线有其自身显著的特点,即:有明显的曲线峰、谷特征点(以下称作曲线的特征点);对于同源的僵尸网络,其通讯量日周期曲线、通讯频率日周期曲线以及通讯特征曲线的特征点在时间轴上基本一致。因此,本发明可以通过提取特征点,分别生成通讯量标准化形状曲线和通讯频率标准化形状曲线,以解决前面所提到的问题(2)。在得到通讯量标准化形状曲线和通讯频率标准化形状曲线后,可以计算不同僵尸网络的上述标准化形状曲线间的距离,将该距离作为判断同源僵尸网络的必要条件,从而减小判别同源僵尸网络的误报率,并且过滤掉大量不同僵尸网络数据,减小计算量。由于对于通讯量日周期曲线、通讯频率日周期曲线而言,特征点采用同样的提取方法,因此在下文中统计就特征点提取方法以及由特征点生成标准化形状曲线的方法加以说明。
首先给出特征点的定义:曲线的起始点和结束点为特征点;曲线的特征点还包括曲线的极值点,且这些极值点的横坐标间的距离大于阈值Δ。特征点数量与Δ和曲线本身相关,对于给定的曲线,设置相应大小的Δ可以得到不同数量的特征点。特征点的数学描述如下:
记通讯特征曲线序列为S[1,N],Len(S)=N,x(S[i])、y(S[i])(1≤i≤N)分别为序列点的横、纵坐标。
设提取特征点数量为q(2<q<N),记特征点为S[i1],S[i2],…,S[iq]。
S[ij],(1≤j≤q)满足下面其中一项条件:
1)、ij=1;
2)、ij=N;
3)、(y(S[ij])-y(S[ij-1]))*(y(S[ij])-y(S[ij+1]))≥0且|x(S[ij])-x(S[ij+1])|>Δ,|x(S[ij])-x(S[ij-1])|>Δ
获取特征点集合CF={S[i1],S[i2],…,S[iq]}算法细节如下算法1:
算法1曲线上特征点提取方法1
输入:曲线序列S[1,N]
输出:曲线特征点集合CF={S[i1],S[i2],…,S[iq]}
1:for t=1 to N do
2:if t=l or t=Nthen
3:push S[t] into CF //S[t]为曲线特征点
4:else
5:if S[t]为极大点then
6:for all S∈CF do
7:if x(S)∈[x(S[t])-Δ,x(S[t])+Δ]then
8:if y(S)<y(S[t])then
9:del S from CF,push S[t]into CF //S不是曲线特征点,S[t]为曲线特征点
10:else
11:break
12:else if S[t]为极小点then
13:for all S∈CF do
14:if x(S)∈[x(S[t])-Δ,x(S[t])+Δ]then
15:ify(S)>y(S[t])then
16:del S from CF,push S[t]into CF //S不是曲线特征点,S[t]为曲线特征点
17:else
18:break
在得到曲线中的各个特征点以后,就可以利用这些特征点计算曲线的标准化形状曲线。在计算标准化形状曲线时,首先将原曲线中的特征点变换为标准化形状曲线中的特征点,然后由这些特征点拟合生成标准化形状曲线。标准化形状曲线的具体生成步骤如下:
步骤a)、设提取的特征点集合为{S[i1],S[i2],…,S[iq]},记x(S[ij]、y(S[ij])(1≤j≤q)分别为特征点S[ij]的横、纵坐标,其中x(S[ij])<x(S[im]),(1≤l<m≤q);
步骤b)、将q个特征点按大小顺序映射到区间[0,1]:
步骤c)、将集合{y(S[ij])|1≤j≤q}按升序排列得到数组C,记g为集合{S[i1],S[i2],…,S[iq]}到集合{i|i∈z+,i≤q}的映射,若y(S[ij])=C[k],(1≤j≤q,1≤k≤q),则g(S[ij])=k。
步骤d)、将q个特征点通过变换得到标准形状曲线特征点集合:
步骤e)、由标准形状曲线中的特征点拟合生成标准形状曲线。
以上是对标准形状曲线的生成过程的说明。但在实际应用中,出于种种原因,通讯特征曲线存在特征点模糊的问题,如图9中曲线横坐标3(小时)到6(小时)的点均有可能作为特征点。为了解决特征点模糊问题,作为一种优选实现方式,引入参数δ,并将前述的特征点提取方法改进如下。
算法2特征点提取方法2
输入:曲线序列S[1,N]
输出:曲线特征点集合CF={S[i1],S[i2],…,S[iq]}
1:for t=1 to N do
2:if t=1 or t=Nthen
3:push S[t]into CF //S[t]为曲线特征点
4:else
5:if S[t]为极大点then
6:for all S∈CF do
7:if x(S)∈[x(S[t])-Δ,x(S[t])+Δ]then
8:if y(S)+δ<y(S[t])then
9:del S from CF,push S[t] into CF //S不是曲线特征点,S[t]为曲线特征点
10:else if y(S)-δ≤y(S[t])≤y(S)+δ
11:push S[t] into CF
12:else
13:break
14:else if S[t]为极小点then
15:for all S∈CF do
16:if x(S)∈[x(S[t])-Δ,x(S[t])+Δ]then
17:if y(S)-δ>y(S[t])then
18:del S from CF,push S[t]into CF //S不是曲线特征点,S[t]为曲线特征点
19:else if y(S)-δ≤y(S[t])≤y(S)+δ
20:push S[t]into CF
21:else
22:break
在上述说明的基础上,下面结合图15对同源僵尸网络的判别过程按先后顺序做整体说明,以利于理解。
步骤1)、在得到僵尸网络数据后,计算僵尸网络的通讯量特征与通讯频率特征,得到相应的通讯量日周期曲线与通讯频率日周期曲线。
步骤2)、提取僵尸网络通讯量日周期曲线与通讯频率日周期曲线中的特征点,生成相应的标准化形状曲线。
步骤3)、计算所要比较的僵尸网络对的通讯量特征标准化形状曲线间的欧式距离以及通讯频率特征标准化形状曲线的欧氏距离,若两个欧式距离中的一个不大于阈值η1(在下文的实验部分,对如何选择阈值η1的值有详细说明),则进入下一步骤;若两个欧式距离都大于阈值η1,判定其为不同僵尸网络。通过本步骤可以过滤掉大量不同的僵尸网络对,减小计算量;并且剔除了下一步骤的判别过程中的部分取伪错误源,提高了准确率。
步骤4)、将通讯量曲线(序列)和通讯频率曲线(序列)连接生成通讯特征序列,由于两序列值数量级不等,在连接前需要对其中一序列按比例缩小,比例值经实验统计而获得。
步骤5)、计算僵尸网络对通讯特征序列的DTW距离,若大于阈值η2(在下文的实验部分,对如何选择阈值η2的值有详细说明),则判定两僵尸网络为不同源僵尸网络,反之判定为同源僵尸网络。
在步骤5)中计算DTW距离时,由于计算DTW距离的动态规划方法的时间复杂度为O(|S|*|Q|),因此存在计算量大、耗时长的问题,当所要比较的僵尸网络对数量很大时,这一问题尤为突出。为了减小计算,提高效率,在一个优选实施例中,还可以借鉴时间序列相似性搜索方向的研究成果,实现对DTW距离的计算。下面首先对时间序列相似性搜索问题描述如下:
给定n个时间序列S1,S2,…,Sn和1个待查询时间序列Q,长度均为N。给定弯曲率ρ,求解时间序列S1,S2,…,Sn中与时间序列Q的DTW距离不大于σ的时间序列。即求解:
{Si|DTWρ(Si,Q)≤σ,1≤i≤n}
直接计算序列DTW距离,计算量很大,为了减小计算复杂度,优化如下:
给定弯曲率ρ,定义序列Q的查询信封E(Q):E(Q)的上界U和下界L分别为:
引入两个DTW距离的下限距离LB_keogh和LB_PAA:
为计算序列的LB_PAA距离,对序列进行降维,设从N维降到f维,则序列转化为f维空间中的一点,序列间的距离即为f维空间中两点间的距离。
定理1:给定两个长度相同的时间序列S,Q,给定弯曲率ρ,则:
DTWρ(Q,S)≥LB_Keogh(E(Q),S)
≥LB_PAA(PAA(E(Q)),PAA(S))
相似性搜索问题是给定n个时间序列和1个待查询时间序列,找到与待查询时间序列距离不大于阈值的序列。本发明的问题是给定n个僵尸网络通讯特征序列,求解其相互间距离不大于阈值的僵尸网络对。根据定理1,在相似性搜索问题中引入序列LB_PAA距离,作为DTW距离的下界,对大量序列数据进行过滤,从而减小计算量。借鉴相似性搜索问题中优化的方法,结合本文的实际问题,优化方法如下:
问题描述:已知僵尸网络通讯特征序列S1,S2,…,Sn,求解同源僵尸网络对的集合ASB={SB1,SB2,…SBM},其中SBi(1≤i≤M)为同源僵尸网络对。
首先将长度为N的僵尸网络通讯特征序列S1,S2,…,Sn转化为长度为f(本申请中f根据最优特征点数量取值,f=q-1)的序列:PAA(S1),…,PAA(Sf)。由于特征点横坐标不等距,本文提出改进的LB_PAA距离:定义PAA(S)为长度是f的序列:其中
这里,通讯特征曲线特征点集合为{S[i1],S[i2],…,S[iq]}
问题转化为求f维空间n个点中两两DTW距离不大于阈值的点对的集合。对于S1,S2,…,Sn中序列Si,1≤i≤n,计算其上下界分别记为根据下面所提到的定理2中的结论,考虑以下的Sj(i<j≤n):然后计算LB_PAA(Si,Sj),若LB_PAA(Si,Sj)≤η2,则计算DTWρ(Si,Sj),若DTWρ(Si,Sj)≤η2,则{Si,Sj}∈ASB。
证明:
又DTWρ(Q,S)≥LB_PAA(PAA(E(Q)),PAA(S))
故DTWρ(Q,S)>ρ矛盾,假设不成立,定理得证!
实验结果
下面结合实验对本发明方法的效果加以说明。
对863-917网络安全监测平台60天内监测到的723个僵尸网络,采用蜜网蜜罐跟踪、域名监测系统日志分析等手段确认同源僵尸网络150对和不同僵尸网络150对。其中100对同源僵尸网络和100对不同僵尸网络作为本文方法确定参数值的训练集,其余作为测试集。
确定提取特征曲线峰、谷特征点数量。取阈值η1=0.2,特征点数量与错误率、弃真错误率、取伪错误率的关系如图10所示,从图10可以看出,特征点数量8个为最佳。其他实验结果(如图7、图9所示)也验证了这一结论,图7和图9中,僵尸网络特征曲线明显的峰、谷数量正好为8。因此在以下实验中,特征点数量取8。
确定最优阈值η1。图11显示阈值η1对各类错误率的影响,由于通过僵尸网络对通讯特征标准化形状曲线的欧氏距离判别同源僵尸网络只是判别同源僵尸网络的第一步,为了确保漏报率即弃真错误率接近0,确定最优阈值η1为:
min{η1|弃真错误率=0}
根据图11所显示的结果,最优η1取值为0.34。
确定最优δ值,δ值对各类错误率的影响如图12所示。从图12可以看出,δ=0.03时,各类错误率最低,即最优δ取值为0.03。
再确定最优阈值η2,因为同源僵尸网络判别准确率与参数ρ、η2都相关,为确定最优阈值η2,取ρ=0,图13显示了η2对各类错误率的影响。从图13和背景知识可以得出:η2越大,弃真错误率越小,取伪错误率越大;η2趋于0,弃真错误率趋于1,取伪错误率趋于0;η2趋于∞,弃真错误率趋于0,取伪错误率趋于1。根据错误率达到最小,确定最优阈值η2。按照图13显示的实验结果,最优阈值η2取值为0.19。
确定最优弯曲率ρ,图14显示ρ对各类错误率的影响,ρ=0时,DTW距离即为欧氏距离。从图14可以看出,ρ=10(分钟)时,各类错误率最低,即最优ρ取值为10分钟。
在为实验设定各种参数以后,下面就可以根据测试集中的数据就采用本发明方法与采用现有技术的方法的错误率进行比较。
在表2中给出了测试集与训练集中各类错误率的对比情况。
错误率 | 弃真错误率 | 取伪错误率 | |
训练集 | 0.06 | 0.059 | 0.061 |
测试集 | 0.072 | 0.074 | 0.07 |
表2
本发明中使用僵尸网络通讯特征曲线标准化形状曲线欧氏距离(前面所提到的步骤3))和僵尸网络通讯特征DTW距离(前面所提到的步骤5))两个步骤对同源僵尸网络进行判别。在下面的表3中给出了使用一个步骤与完整使用两个步骤判别时的各类错误率。
错误率 | 弃真错误率 | 取伪错误率 | |
只进行步骤3 | 0.181 | 0.172 | 0.19 |
只进行步骤5 | 0.127 | 0.119 | 0.135 |
步骤3+步骤5 | 0.072 | 0.074 | 0.07 |
表3
从表3的实验结果可以看出,通过提取僵尸网络通讯特征曲线特征点,生成标准化形状曲线,根据僵尸网络通讯特征曲线的标准化形状曲线欧氏距离和僵尸网络通讯特征DTW距离,相比直接使用DTW距离或直接使用僵尸网络通讯特征曲线标准化形状曲线欧氏距离判别同源僵尸网络,准确率均有较大的提高。
本发明同时使用通讯量特征曲线和通讯频率特征曲线两个通讯特征曲线进行同源僵尸网络判别,在表4中给出了只使用其中一个曲线与同时使用两个曲线判别同源僵尸网络的各类错误率的对比情况。
错误率 | 弃真错误率 | 取伪错误率 | |
通讯量(1) | 0.107 | 0.108 | 0.106 |
通讯频率(2) | 0.123 | 0.132 | 0.114 |
(1)+(2) | 0.072 | 0.074 | 0.07 |
表4
使用僵尸网络通讯特征曲线标准化形状曲线欧氏距离作为同源僵尸网络的必要条件(前述的步骤3)),以及预先计算曲线改进的LB_PAA距离,过滤掉大量僵尸网络数据(前述的步骤5))均能减小计算量。在表5中给出了各步骤的近似计算量。
理论值 | 实际值(DTW次) | |
直接使用DTW距离 | O(n2|S|2) | 73920 |
只进行步骤3 | - | 0 |
只进行步骤5 | - | 48787 |
进行步骤3+步骤5 | - | 32399 |
表5
其中n为实验僵尸网络数量,|S|为僵尸网络通讯特征序列长度。由于DTW距离的计算量远大于其他距离的计算量,表5只列出了各方法中计算序列DTW距离的次数从而近似地反映计算量大小。
综合以上的实验结果,可以看出:
(1)本文方法判别同源僵尸网络的准确率较高。
(2)通过僵尸网络通讯特征曲线特征点提取方法,可以有效提高判别的准确率,并且过滤掉大量不同僵尸网络数据,减小计算量。
(3)使用改进的LB_PAA距离作为DTW距离的下界,对僵尸网络通讯特征序列数据进行过滤,相比直接计算僵尸网络通讯特征曲线DTW距离,有效减小了计算量,提高了效率。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (7)
1.一种同源僵尸网络判别方法,包括:
步骤1)、根据僵尸网络数据计算僵尸网络的通讯量特征与通讯频率特征,得到相应的通讯量日周期曲线与通讯频率日周期曲线;
步骤2)、从所述通讯量日周期曲线与通讯频率日周期曲线中提取各自的特征点,根据所述特征点分别生成通讯量标准化形状曲线以及通讯频率标准化形状曲线;所述的步骤2)包括:
步骤2-1)、从所述通讯量日周期曲线与通讯频率日周期曲线中提取各自的特征点,得到关于特征点的集合{S[i1],S[i2],…,S[iq]},记x(S[ij])、y(S[ij])(1≤j≤q)分别为特征点S[ij]的横、纵坐标,其中x(S[il])<x(S[im]),(1≤l<m≤q);
步骤2-2)、将所述特征点集合中的所有q个特征点按大小顺序映射到区间[0,1];
步骤2-3)、将集合{y(S[ij])|1≤j≤q}按升序排列得到数组C,记g为集合{S[i1],S[i2],…,S[iq]}到集合{i|i∈z+,i≤q}的映射,若y(S[ij])=C[k],(1≤j≤q,1≤k≤q),则g(S[ij])=k;
步骤2-4)、将所述特征点集合中的q个特征点通过变换得到标准形状曲线的特征点集合:
步骤2-5)、由所述标准形状曲线中的特征点拟合生成标准形状曲线;
步骤3)、计算所要比较的僵尸网络对的通讯量标准化形状曲线间的第一欧式距离以及通讯频率标准化形状曲线的第二欧氏距离,根据所述第一欧式距离与所述第二欧式距离判断所要比较的僵尸网络对是否属于同源僵尸网络。
2.根据权利要求1所述的同源僵尸网络判别方法,其特征在于,在所述的步骤3)中,所述的根据所述第一欧式距离与所述第二欧式距离判断所要比较的僵尸网络对是否属于同源僵尸网络包括:
若所述第一欧式距离与所述第二欧式距离都大于第一阈值,则所要比较的僵尸网络对属于不同源的僵尸网络,否则,所要比较的僵尸网络对属于同源僵尸网络。
3.根据权利要求1或2所述的同源僵尸网络判别方法,其特征在于,还包括对步骤3)中认为是同源僵尸网络的僵尸网络对做进一步判别的步骤;所述步骤包括:
步骤4)、将所述通讯量日周期曲线和通讯频率日周期曲线连接生成通讯特征曲线;
步骤5)、计算所要比较的僵尸网络对的通讯特征曲线的DTW距离,若所述DTW距离大于第二阈值,则所要比较的僵尸网络对为不同源僵尸网络,否则属于同源僵尸网络。
4.根据权利要求1所述同源僵尸网络判别方法,其特征在于,在所述的步骤2-1)中,所述的从所述通讯量日周期曲线与通讯频率日周期曲线中提取各自的特征点包括:
步骤2-1-1)、从所述通讯量日周期曲线与通讯频率日周期曲线中选择曲线的起始点和结束点作为特征点;
步骤2-1-2)、从所述通讯量日周期曲线与通讯频率日周期曲线中取出极值点,将所述极值点中横坐标间距离大于第三阈值的极值点作为特征点。
5.根据权利要求1所述同源僵尸网络判别方法,其特征在于,在所述的步骤2-1)中,所述的从所述通讯量日周期曲线与通讯频率日周期曲线中提取各自的特征点包括:
步骤2-2-1)、遍历所述的通讯量日周期曲线与通讯频率日周期曲线,找到其中的所有极值点,所述极值点包括极大值点与极小值点;
步骤2-2-2)、按时间属性的大小顺序,判断极值点与前一极值点间的距离是否大于阈值德尔塔,若大于,则该极值点为特征点,否则就不是;所述阈值德尔塔由实验确定。
6.根据权利要求3所述同源僵尸网络判别方法,其特征在于,在所述的步骤4)中,在连接所述通讯量曲线和通讯频率曲线前,按比例缩小其中一条曲线,以使得两者的数量级相同。
7.根据权利要求3所述同源僵尸网络判别方法,其特征在于,所述的步骤5)包括:
步骤5-1)、将长度为N的僵尸网络通讯特征曲线S1,S2,…,Sn转化为长度为f的序列:PAA(S1),…,PAA(Sf);其中,f=q-1,q为最优特征点的数量;
步骤5-2)、对于僵尸网络通讯特征曲线S1,S2,…,Sn中的曲线Si,1≤i≤n,计算其上下界,分别记为
步骤5-3)、从僵尸网络通讯特征曲线S1,S2,…,Sn中找出Sj(i<j≤n),使得 其中的ρ为曲线弯曲率;
步骤5-4)、计算LB_PAA(Si,Sj),若计算结果小于或等于所述的第二阈值,则计算DTWρ(Si,Sj),否则,所要比较的僵尸网络为不同源僵尸网络;
步骤5-5)、若DTWρ(Si,Sj)小于或等于所述的第二阈值,则所要比较的僵尸网络对为不同源僵尸网络,否则属于同源僵尸网络。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010163239 CN102238044B (zh) | 2010-04-30 | 2010-04-30 | 同源僵尸网络判别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010163239 CN102238044B (zh) | 2010-04-30 | 2010-04-30 | 同源僵尸网络判别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102238044A CN102238044A (zh) | 2011-11-09 |
CN102238044B true CN102238044B (zh) | 2013-05-08 |
Family
ID=44888289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010163239 Expired - Fee Related CN102238044B (zh) | 2010-04-30 | 2010-04-30 | 同源僵尸网络判别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102238044B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102801719B (zh) * | 2012-08-08 | 2015-02-25 | 中国人民解放军装备学院 | 基于主机流量功率谱相似性度量的僵尸网络检测方法 |
CN108076038A (zh) * | 2017-06-16 | 2018-05-25 | 哈尔滨安天科技股份有限公司 | 一种基于服务器端口的c&c服务器判断方法及系统 |
-
2010
- 2010-04-30 CN CN 201010163239 patent/CN102238044B/zh not_active Expired - Fee Related
Non-Patent Citations (3)
Title |
---|
IRC botnets’ homology identifying method based on improved LB_PAA distance of communication characteristic curves;Yan Jia, Runheng Li, Liang Gan, Guangqiang Chen;《Third International Symposium on Intelligent Information Technology and Security Informatics》;20100404;360-365 * |
Yan Jia, Runheng Li, Liang Gan, Guangqiang Chen.IRC botnets’ homology identifying method based on improved LB_PAA distance of communication characteristic curves.《Third International Symposium on Intelligent Information Technology and Security Informatics》.2010,360-365. |
李润恒,王明华,贾焰.基于通信特征提取和IP 聚集的僵尸网络相似性度量模型.《计算机学报》.2010,第33卷(第1期),45-54. * |
Also Published As
Publication number | Publication date |
---|---|
CN102238044A (zh) | 2011-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102271091B (zh) | 一种网络异常事件分类方法 | |
Olszewski | Fraud detection using self-organizing map visualizing the user profiles | |
CN112987675B (zh) | 一种异常检测的方法、装置、计算机设备和介质 | |
CN104660464B (zh) | 一种基于非广延熵的网络异常检测方法 | |
Rahman et al. | Attacks classification in adaptive intrusion detection using decision tree | |
CN101841435B (zh) | Dns查询流量异常的检测方法、装置和系统 | |
CN107528823A (zh) | 一种基于改进的K‑Means聚类算法的网络异常检测方法 | |
Peng et al. | Network intrusion detection based on deep learning | |
CN105847283A (zh) | 一种基于信息熵方差分析的异常流量检测方法 | |
CN103152442A (zh) | 一种僵尸网络域名的检测与处理方法及系统 | |
Chang et al. | Anomaly detection for industrial control systems using k-means and convolutional autoencoder | |
CN103258039B (zh) | 一种微博伪造信息的检测方法 | |
CN110768946A (zh) | 一种基于布隆过滤器的工控网络入侵检测系统及方法 | |
Yan et al. | Early detection of cyber security threats using structured behavior modeling | |
CN100352208C (zh) | 一种大型网站数据流的检测与防御方法 | |
CN110162958B (zh) | 用于计算设备的综合信用分的方法、装置和记录介质 | |
CN111080074A (zh) | 基于网络多特征关联的系统服役安全态势要素获取方法 | |
CN102104506B (zh) | 僵尸网络相似性度量的训练和测试方法及相应系统 | |
Rahman et al. | PHY/MAC layer attack detection system using neuro-fuzzy algorithm for IoT network | |
CN102238044B (zh) | 同源僵尸网络判别方法 | |
CN110650124A (zh) | 一种基于多层回声状态网络的网络流量异常检测方法 | |
Wang et al. | Fraud detection on multi-relation graphs via imbalanced and interactive learning | |
CN117236699A (zh) | 一种基于大数据分析的网络风险识别方法及系统 | |
CN112685272A (zh) | 一种具备可解释性的用户行为异常检测方法 | |
CN116545679A (zh) | 一种工业情境安全基础框架及网络攻击行为特征分析方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130508 Termination date: 20140430 |