CN101753377B - 一种p2p_botnet实时检测方法及系统 - Google Patents
一种p2p_botnet实时检测方法及系统 Download PDFInfo
- Publication number
- CN101753377B CN101753377B CN2009102181335A CN200910218133A CN101753377B CN 101753377 B CN101753377 B CN 101753377B CN 2009102181335 A CN2009102181335 A CN 2009102181335A CN 200910218133 A CN200910218133 A CN 200910218133A CN 101753377 B CN101753377 B CN 101753377B
- Authority
- CN
- China
- Prior art keywords
- botnet
- network
- data
- module
- detection
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种p2p僵尸网络实时检测方法与系统,属于计算机安全领域。本发明的方法为:首先利用典型p2p僵尸网络特征数据流训练最优分类决策树,然后在真实的网络环境接收网络数据并进行预处理,利用综合实时检测方法进行检测,最后汇总报告疑似僵尸网络主机。本发明的系统包括:训练子系统、检测子系统(初始化模块、网络接收模块、网络数据流预处理模块、综合检测模块)和中心控制子系统。与现有技术相比,本发明可以对p2p僵尸网络进行快速、在线、实时的通用检测,准确性、实时性和溯源性更好。
Description
技术领域:
本技术属于计算机安全领域,具体的说是在需要检测的网络内检测和发现p2p botnet是否存在以及存在于哪些主机的方法和系统。本发明亦涉及网络入侵检测系统(NIDS:Network Intrusion DetectionSystem),所采用的方法可以与NIDS无缝集成。
背景技术:
僵尸网络(botnet)是黑客出于某些恶意目的,传播僵尸程序(bot)来控制许多主机,并通过一对多的命令来控制僵尸程序所组成的网络。僵尸网络是从传统恶意代码包括病毒、网络蠕虫、特洛伊木马和后门工具的基础上进化,并通过相互融合发展而成的目前最为复杂的攻击方式之一。由于为攻击者提供了隐匿、灵活且高效的控制机制,僵尸网络得到极大的发展,从而成为因特网最为严重的威胁之一。利用僵尸网络,攻击者可以方便的控制大量主机对因特网任意站点或者主机发起分布式拒绝服务攻击(DDOS),并发送大量垃圾邮件,从受控主机上偷取敏感信息或进行点击欺诈以牟取经济利益。当前主要使用的僵尸网络命令与控制机制包括:基于IRC协议的命令与控制机制,基于HTTP协议的命令与控制机制,以及基于P2P协议的命令与控制机制这三大类。
IRC协议是Internet早期使用的一种网络聊天协议,由于它提供了简单、低延迟、匿名的实时通信方式,因此在botnet发展初期,IRC协议很自然成为构建一对多命令与控制信道的主流协议。目前大部分研究都针对IRC协议的僵尸网络展开。HTTP协议则是近年来除IRC协议外的另一种流行的僵尸网络命令与控制协议,由于IRC协议已经是僵尸网络主流控制协议,研究机构更加关注监测IRC通信以检测其中隐藏的僵尸网络活动,使用HTTP协议构建控制信道则可以让僵尸网络控制流量隐藏在大量的Web通信中,从而使得基于HTTP协议的僵尸网络活动更难以被检测。
基于IRC和HTTP协议的控制机制都具有集中控制点,这使得这种基于客户端-服务器架构的僵尸网络容易被跟踪、检测和反制,一旦防御者获得僵尸程序,他们就能很容易地发现僵尸网络控制器的位置,并使用监测和跟踪手段掌握僵尸网络的全局信息,通过关闭这些集中的僵尸网络控制器也能够比较容易地消除僵尸网络所带来的威胁。为了让僵尸网络更具韧性和隐蔽性,一些新型僵尸程序(例如Peacomm、Nugache、Sinit等)开始使用P2P协议构建其命令与控制机制。
目前,由于IRC协议是僵尸网络的主流控制协议,所以大部分的相关研究工作都是关注IRC僵尸网络控制信道的检测。基于P2P协议的僵尸网络不具有集中式控制中心,并且具有极强的隐蔽性和个性化,目前各类机构针对p2p新型僵尸网络的检测方法的研究刚刚开始,对p2p僵尸网络的研究还主要停留在初始阶段。基于P2P协议的僵尸网络由于具有较强的分布性和隐蔽性,科研单位和安全机构还无法给出准确、高效、实时的检测方法,随着新型p2p僵尸网络近年来的不断发展,构建相关有效的检测方法将是一个重要的研究课题。发明人研究的以p2p技术为核心的新型p2p botnet检测方法与系统,具有准确、高效、实时等特点,能够防止待检网络更多主机感染p2p botnet,为快速响应新型p2p botnet攻击提供相关基础和应急策略。
现在对p2p botnet的检测主要有两类方法:
一、基于主机的检测方法。目前,各种杀病毒软件将各种p2p botnet及其变种当作木马或者病毒处理,主要采用特征码匹配技术或者恶意行为分析来检测各种僵尸程序。优点是对于大规模流行botnet能够相对及时发现并处理,缺点是对于智能变种botnet不能发现并处理,不能对远程控制主机进行报告和反制等,另外各种杀病毒软件能力不同、终端用户需要安全杀病毒软件、终端用户安全意识淡薄都影响僵尸程序的检测。
二、基于网络的检测方法。该种方法主要针对网络流量数据进行分析,通过流量数据的异常特征来判断网络内主机是否感染p2p僵尸网络。目前该种方法按照实时性也可分为两种:一种是离线非实时检测,即预先收集一段时间内的网络流量数据,然后利用各种算法对离线数据进行分析与检测;另一种是在线实时检测,即实时监控待检网络,接收相关流量数据,对数据实时分析并检测,然 后报告疑似感染主机。实时检测与非实时检测相比,具有高效、快速检测、快速发现等特点,适合应用在安全等级较高的网络。本发明即为一种实时p2p botnet检测方法与系统。
根据能检索到的文献记录,目前针对p2p botnet的离线非实时检测方法主要有:
1,Gu等人采用IDS驱动的会话关联方法实现了能够检测僵尸程序感染的BotHunter系统。该系统基于证据链(evidence trail)关联思想,将僵尸程序感染过程视为一台内网主机与外网一台或多台主机间的信息交互序列,包括目标扫描、破解攻击、二进制代码注入与执行、命令与控制信道连接和对外扫描等步骤。BotHunter系统底层采用Snort入侵检测系统的特征检测方法以及两个关注僵尸程序的异常检测插件SLADE和SCADE,以对僵尸程序感染的各个步骤进行检测。BotHunter系统的优点在于首次提出了一个关联和刻画僵尸程序整个感染过程的实时分析系统,并通过实际测试35个最近的僵尸程序验证了其有效性。BotHunter底层由于采用snort开源入侵检测系统,所以无法回避其固有的一些缺点,例如误报率和漏报率高等问题。
2,Gu等人又进一步研究实现了BotMiner原型系统,提出了一种两阶段聚类方法,能够同时检测IRC/HTTP/P2P三种类型僵尸网络。BotMiner目前停留在原型阶段,并且针对僵尸网络有某些固定的假设,无法保证方法针对botnet新变种的适应性。
3,Sang等人对P2P僵尸网络特征进行建模,然后利用Markov模型进行状态转换与匹配,并将该方法应用到三种典型p2p botnet进行验证。该方法的特征建模并没有考虑僵尸网络的主流特征,例如发垃圾邮件,下载二进制代码等。
根据能检索到的文献记录,目前针对p2p botnet的在线实时检测方法主要有:
1,有学者提出利用CUSUM算法对p2p僵尸网络进行检测,检测的特征主要包括ICMP错误率、SMTP协议包增长率、UDP包增长率。首先该方法的特征建模并不完善,没有考虑p2p botnet的连接相似性、包大小、恶意扫描信息等特征;其次该方法重点考虑了p2p僵尸网络初始阶段的特征,对其它阶段的特征没有考虑。
发明内容:
针对当前新型p2p botnet检测现状,本发明目的在于克服现有技术的不足,提供了一种能够在线实时准确检测p2p botnet的方法与系统。
本发明的技术方案如下:
一方面,提供了一种p2p_botnet实时检测方法,所述方法包括:
1)部署p2p botnet典型样例到虚拟机网络,利用协议分析技术,实时监控与接收虚拟机网络内通信数据,监控网络内TCP和UDP协议通信数据,只处理通信数据的packet header;
2)据上述接收的通信数据,提取初始阶段p2p僵尸网络特征,采用改进的分类方法进行分类器训练,产生僵尸网络初始阶段分类决策树模型;
3)部署p2p僵尸网络检测系统到待检网络,利用协议分析技术,实时监控与接收真实网络内通信数据,监控网络内TCP和UDP协议通信数据,只处理通信数据的packet header,同时进行p2p僵尸网络特征提取与预处理;
4)利用一种p2p_botnet实时检测方法,对待检网络进行p2p僵尸网络分析与检测;
另一方面,提供了一种检测p2p_botnet的系统,所述系统包括训练子系统、检测子系统和中心控制子系统:
1)所述训练子系统包括网络接收模块、网络数据流预处理模块、分类训练模块,网络接收模块负责监控和接收虚拟机网络数据,数据流预处理模块对初始阶段p2p僵尸网络特征进行预处理,分类训练模块是根据p2p僵尸程序初始化特征集合采用改进的分类方法来训练分类决策树;
2)所述检测子系统包括初始化模块、网络接收模块、网络数据流预处理模块和综合检测模块,初始化模块用于初始化典型p2p botnet特征、训练好的分类决策树、p2p botnet检测分类方法以及与中 心控制模块保持数据同步;网络接收模块用于监控和接收待检网络通信数据并且负责按照窗口时间以及协议类型进行数据接收;网络数据流预处理模块用于对真实网络中接收的数据进行预处理;综合检测模块负责根据初始化的p2p botnet检测分类方法进行综合检测,初始阶段采用训练好的分类决策树,发呆阶段和攻击阶段主要采用改进的聚类方法,检测的结果是所在网段内疑似感染p2p botnet的主机信息以及其连接的外网对等控制主机信息;
3)所述中心控制子系统包括在线更新模块、二次检测模块和统计报表模块,在线更新模块负责根据需要更新最优分类决策树,通知检测子系统初始化模块,接收检测子系统的检测结果;二次检测模块负责对收集上来的各个网段检测结果进行二次检测,主要采用二次聚类方法对整个网络的检测结果进行聚类分析,进一步判断p2p botnet聚集情况、规模等信息,然后给出主机疑似感染程度信息;报表统计模块给出疑似主机的报表和统计分析。
技术方案中涉及两个关键技术,包括p2p botnet特征抽取和p2p_botnet综合实时检测方法:
一、p2p botnet特征抽取
p2p僵尸程序运行可以分为三个阶段:
●初始阶段。P2p僵尸程序感染时可能会进行连接对等结点,下载二进制更新程序等活动。
●发呆阶段。网络内感染p2p僵尸程序的主机启动后只是连接到对等结点,进行简单通信,并不做其它事情。
●攻击阶段。被感染主机接受控制者命令,进行DDOS攻击或者发送大量垃圾邮件。
总结上述各个阶段,p2p僵尸程序有以下特点,其中一部分是p2p botnet独有特征:
●ICMP异常报文。某些主机感染p2p僵尸程序,在初始化时,僵尸程序会随机的向其他节点发送连接请求,这样就导致了出现大量的“找不到目的地址”的异常的ICMP报文错误。(初始阶段)
●ARP异常请求。某些p2p僵尸程序内部存在多个固定连接IP,初始化时,僵尸程序会向这些IP发送ARP请求,导致ARP协议报文突然增长。(初始阶段)
●主机端口连接建立速率。大部分p2p僵尸程序会在初始化时短时间内连接很多对等结点,如果这些连接建立成功,可以在主机端口检测某段时间的主机间连接建立情况来发现僵尸程序的行为特征。(初始阶段)
●下载带宽/上载带宽。大部分p2p僵尸程序连接对等控制端后,会进行一些固有的行为,例如下载最新的僵尸程序更新,可以通过监听它的端口,计算上载、下载带宽来进行检测。(各个阶段)
●包大小。网络内感染同一p2p僵尸网络的若干主机表现的行为相似,因为这些僵尸程序都是自动运行,不受使用者控制。无论这些主机之间通信,还是它们与外网控制主机通信,可以假设这些主机产生了大量大小相似的通信包。(发呆阶段或者攻击阶段)
●内外网相同连接。经过观测,网络内正常主机与感染p2p僵尸网络的主机之间的通信连接呈现聚集特征。即假设网络内部分主机感染同一p2p僵尸网络,外网对等控制结点为A、B、C,内网感染主机与ABC的连接呈现聚集特征。对于网络内主机感染不同的p2p僵尸网络,内网和外网都有对等控制结点的情况与上述假设类似。(发呆阶段或者攻击阶段)
●SMTP报文。某些僵尸程序会建立大量SMTP连接并发送大量SMTP报文,根据这一特点可以检测相应p2p僵尸程序。(攻击阶段)
上述特征并没有考虑部分p2p僵尸程序进行扫描的网络特征,原因是:第一,扫描特征已有成熟的方法进行检测;第二,扫描特征不是p2p僵尸程序专有特征。
经过观测,p2p僵尸程序感染后必然会监听本地主机的某一端口,所以只需要监听网络内主机开放的端口即可,这样可以大大节约系统开销。
针对待检网络,建立特征抽取机制,采用如下数据表结构,其中TableHost存储主机及其开放的端口, TablePort存储在某一端口发送和接收的数据流数据,数据流块长度为500字节。根据各网段数据繁忙程度采集数据的滑动窗口时间可以设为15、30、60分钟不等。
TableHost(ID,HOST,PORT)
TablePort(ID,PORT,DATA)
其中DATA不是原始的通信数据,而是经过处理的特征向量数据D。D=(F1,F2,…,Fi,…,Fn),Fi即为上述p2p botnet特征,这些特征利用数据归约技术,使用直方图分箱来近似数据分布。举例来说,僵尸程序发送垃圾邮件表现为发送大量SMTP报文,可以采用Fi来表示。Fi={[0,25],…,[2f,2f+1],…,[2n,∞]},直方图中每个分箱代表发送SMTP垃圾报文的数量。
二、P2p_botnet综合实时检测方法Rdetect
根据实际观测,网络内感染了p2p僵尸程序的主机大部分时间处于发呆阶段,只有部分时间处于初始阶段和攻击阶段。基于p2p botnet三个阶段特征不同,发明人提出一种综合实时检测方法。
输入:某网段内已经预处理的格式化网络数据流,
输出:疑似被感染的主机信息
步骤如下:
1)实际参数初始化,方法开始执行;
2)判断数据集是否满足僵尸网络攻击阶段特征,主要采用CUSUM算法判断网段内是否出现DDOS或者SMTP异常报文特征,如果满足攻击阶段特征,则转向4,4返回后结合其结果和出现攻击特征的主机进一步判断并给出疑似被感染主机情况,继续1;
3)如果数据满足初始阶段特征,例如ICMP、ARP异常等,则使用训练后的分类决策树进行判断,给出疑似被感染主机,返回1继续;
4)据需要将外网、内网的主机网络连接信息格式化成数据集D={d1,d2,…,di,…,dn},元素个数为n,di代表源/目的地址连接;
■任选k个数据作为初始聚类中心;
■计算其它数据与上述k个数据的相似度,根据相似度大小把其它数据分配到k个集合中;
■计算每个新集合的聚类中心;
■不断重复上述过程直到收敛结束;
■输出疑似被感染主机信息。
注:上述4结果只能给出可能的p2p botnet聚集信息,中心控制子系统进行二次聚类分析,可以进一步判断疑似主机。
初始阶段的特征可以通过采集已有p2p botnet特征数据作为训练集,然后通过训练集来训练分类器。方法如下:
输入:在虚拟机组成的网络中部署各种p2p,采集初始化阶段的特征数据流F,其中Fi=(P1,…,Pn),包含ICMP、ARP异常、短时连接建立率等相关初始化阶段的特征。
输出:分类器决策树
主要采用改进的SPRINT算法,步骤如下:
1)如果F满足停止条件,则返回;
2)对于各个属性Pi,找到一个值或者值集,产生最佳分裂;
3)比较各个属性的最佳分裂,选择最佳的将F分为F1和F2;
4)递归对F1和F2产生决策树;
注:上述算法执行时采用纯区间归约和在训练样本集增加字段的方法来提高SPRINT的速度。
本发明与现有技术相比,具有以下优点:
1)该方法可以在不影响待检网络性能情况下进行p2p botnet检测,各个网段的检测子系统只是收集网络数据流,并不影响网络性能;
2)该方法是一种通用方法,可以对未知p2p botnet进行检测,未知p2p botnet可以通过训练系统进行特征更新,生成新的更优的分类决策树以应对未知p2p botnet;
3)该方法是一种在线实时检测方法,适合更高安全等级网络的检测工作,通过设置滑动窗口时间,检测子系统基本能做到在线实时的检测网络内疑似感染主机;
4)该方法检测准确率高,误报率低。选择虚拟网络检测结果是准确率100%,反复选择真实网络检测结果是准确率为95.8%。
5)该方法具有较好的扩充性和集成性,可以与NIDS产品无缝集成,应用与当前软件/硬件实现的各种NIDS产品之上。
附图说明:
图1为本发明训练子系统示意图
图2为本发明检测子系统和中心控制子系统结构示意图
图3为本发明系统组成示意图
具体实施方式:
有关本发明的技术内容及详细说明,现配合附图说明如下:
如图3所示,系统包括训练子系统、检测子系统(初始化模块、网络接收模块、网络数据流预处理模块、综合检测模块)和中心控制子系统。
1.初始阶段分类器训练
如图1所示,p2p botnet训练子系统包括网络接收模块、网络数据流预处理模块、分类训练模块。
P2p僵尸网络感染初期会出现几个典型特征,例如ICMP和ARP异常报文、瞬时连接建立增加等。针对上述特征,首先建立虚拟机网络环境,然后部署流行p2p僵尸程序,收集典型初始化数据流并进行数据预处理。针对这些预处理后的数据流,利用前述分类器训练方法展开训练,形成分类器决策树。
很多研究者使用ns2建立仿真的入侵检测、网络蠕虫等测试环境,模拟大规模结点的网络环境,捕获相关数据进行研究。但是,上述仿真过程太过单一和理想化,p2p bot从感染、加入botnet、二次注入到发垃圾邮件、DDOS攻击是一个复杂的过程,ns2无法仿真上述真实情况,且对实验主机的性能要求比较高。因此,ns2不适合应用于新型p2p僵尸网络的模拟和实验。最近几年,虚拟机技术不断发展并得到广泛应用,其中VMware是这方面的代表软件。许多研究人员,尤其是安全研究人员开始应用虚拟机技术开展相关研究,包括木马病毒等观测、入侵检测、僵尸网络研究等。首先,将虚拟机软件安装到物理主机上,然后在物理主机内可以模拟多个操作系统,并将这些虚拟机连接到网络上形成局域网。上述虚拟机实验环境能够完全模拟真实操作系统和主机,外部主机或者访问者基本不能察觉真实主机和虚拟主机的差异。目前,虚拟机最大的问题就是性能问题,VMware具有复杂而庞大的功能,但是在性能上并不占有优势,拟采用Sun公司开源虚拟机工具VirtualBox来搭建虚拟机实验环境,VirtualBox具备基本的虚拟机功能,最大的优势是节省物理主机的资源。
经过试验,一台2G内存的主流配置PC机可以模拟五个网络节点。目前,发明人已经利用10台上述配置主机建立好相关虚拟环境,大概能模拟50~60个结点。随着不断优化虚拟机技术和具体实验,将能够在一台物理主机上部署更多的虚拟机。拟在20台PC工作站上建立能包含120个虚拟节点的新型p2p僵尸网络实验环境。该环境可以独立反复使用,能灵活地配置每个节点和网络拓扑拓扑,在感染p2p僵尸网络后可获取用于分析的网络数据和感染情况。
在上述50个结点的虚拟机网络环境中,随机挑选15个结点部署Peacomm、Nugache、Sinit等僵尸程序或其变种,选择其余虚拟主机中任一台作为训练主机,安装部署p2p botnet训练系统。其中网络接收模 块收集虚拟网络内通信数据流,然后网络数据流预处理模块进行数据预处理工作,即将数据流根据需要检测的特征进行数据概要和格式化,这个步骤主要通过直方图技术来进行。分类训练模块根据预处理好的数据流进行分类训练,方法如下:
输入:在虚拟机组成的网络中部署各种p2p,采集初始化阶段的特征数据流F,其中Fi=(P1,…,Pn),包含ICMP、ARP异常、短时连接建立率等相关初始化阶段的特征。
输出:分类器决策树
主要采用改进的SPRINT算法,步骤如下:
1)如果F满足停止条件,则返回;
2)对于各个属性Pi,找到一个值或者值集,产生最佳分裂;
3)比较各个属性的最佳分裂,选择最佳的将F分为F1和F2;
4)递归对F1和F2产生决策树;
注:上述算法执行时采用纯区间归约和在训练样本集增加字段的方法来提高SPRINT的速度。
分类训练模块产生最优的分类决策树,然后将决策树保存在文件中,必要时可以导出该文件到实际检测子系统中。该分类决策树在实验的虚拟机网络环境下检测p2p僵尸网络的准确率是100%,对于新变种的p2p僵尸网络也有极强的适应性。
2.检测系统在实际网络环境中的应用
如图2所示,系统包括检测子系统(初始化模块、网络接收模块、数据流预处理模块、综合检测模块)和中心控制子系统(在线更新模块、二次检测模块和统计报表模块)。实际应用时,管理人员在待检网络的每个网段内部署检测子系统,在任意一个网段内部署中心控制子系统。
检测子系统主要针对某一网段内疑似感染p2p botnet主机进行检测,然后各个检测子系统统一将检测结果传给中心控制子系统,中心控制子系统可以进行二次检测,然后生成处理结果。具体步骤如下:
初始化模块负责初始化检测子系统需要的初始参数以及相关模型,包括滑动窗口时间、综合检测算法参数、网段信息等,另外初始化模块与中心控制子系统建立通信连接,接收训练好的初始阶段分类决策树等数据。
网络接收模块负责网络原始数据的采集。发明人利用libpcap捕获函数库实现了网络接收模块,libpcap是一个数据包捕获函数库,它能高效和快速的捕获和接收以太网网络内原始数据流,用户可以选择是否保存原始数据流,系统支持文件或者mysql数据库两种方式。
数据流预处理模块在网络接收模块收集原始数据的同时,按照p2p botnet的特征对数据进行预处理工作。采用如下数据表结构,其中TableHost存储主机及其开放的端口,TablePort存储在某一端口发送和接收的数据流数据,数据流块长度为500字节。根据各网段数据繁忙程度采集数据的滑动窗口时间可以设为15、30、60分钟不等。
TableHost(ID,HOST,PORT)
TablePort(ID,PORT,DATA)
其中DATA不是原始的通信数据,而是经过处理的特征向量数据D。D=(F1,F2,…,Fi,…,Fn),Fi即为上述p2p botnet特征,这些特征利用数据归约技术,使用直方图分箱来近似数据分布。举例来说,僵尸程序发送垃圾邮件表现为发送大量SMTP报文,可以采用Fi来表示。Fi={[0,25],…,[2f,2f+1],…,[2n,∞]},直方图中每个分箱代表发送SMTP垃圾报文的数量。根据窗口时间设置不同,网络接收模块和数据流预处理模块处理完当前时间段数据,将预处理数据保存后,继续接收下一时间窗口数据。预处理后的格式化数据流分配给综合检测模块处理。
综合检测模块根据数据库中预处理后的格式化数据,采用综合实时检测方法进行疑似主机检测工作,疑似主机信息及其相关控制主机信息上报给中心控制子系统进行处理。方法大致流程如下:
输入:某网段内已经预处理的格式化网络数据流,
输出:疑似被感染的主机信息
步骤如下:
1)实际参数初始化,方法开始执行;
2)判断数据集是否满足僵尸网络攻击阶段特征,主要采用CUSUM算法判断网段内是否出现DDOS或者SMTP异常报文特征,如果满足攻击阶段特征,则转向4,4返回后结合其结果和出现攻击特征的主机进一步判断并给出疑似被感染主机情况,继续1;
3)如果数据满足初始阶段特征,例如ICMP、ARP异常等,则使用训练后的分类决策树进行判断,给出疑似被感染主机,返回1继续;
4)据需要将外网、内网的主机网络连接信息格式化成数据集D={d1,d2,…,di,…,dn},元素个数为n,di代表源/目的地址连接;
■任选k个数据作为初始聚类中心;
■计算其它数据与上述k个数据的相似度,根据相似度大小把其它数据分配到k个集合中;
■计算每个新集合的聚类中心;
■不断重复上述过程直到收敛结束;
■输出疑似被感染主机信息。
中心控制子系统包括在线更新模块、二次检测模块、报表统计模块三部分。其中在线更新模块主要负责根据需要更新最优分类决策树,通知检测子系统初始化模块,接收检测子系统的检测结果;二次检测模块主要负责对收集上来的各个网段检测结果进行二次检测,主要采用二次聚类方法对整个网络的检测结果进行聚类分析,进一步判断p2p botnet聚集情况、规模等信息,然后给出主机疑似感染程度,包括正常、异常两大类,其中异常包括低、中、高三个等级;报表统计模块给出疑似主机的报表和统计分析,其中数据还包括对等控制结点的信息,方便安全人员进一步对控制结点进行分析与处理。二次检测流程如下:
输入:各个网段疑似被感染主机信息,
输出:感染主机及报警分类
步骤如下:
1)定时汇集各个网段疑似被感染主机信息,进行数据格式化,形成数据集D={d1,d2,…,di,…,dn},元素个数为n,di代表源/目的地址连接;
2)采用k-means算法进行第二次聚类分析;
3)如果疑似主机在检测子系统中报警等级为高,则报警等级为高;否则,如果疑似主机在两次聚类分析中同时存在,则该主机报警等级为高;如果只在第二次聚类分析中存在,则报警等级为中;如果只是检测子系统报警疑似主机,则报警等级为低。
4)根据报警等级高低,提示进一步采取措施处理。
如图2所示,如果只检测某一网段内主机,则只需在该网段内部署检测子系统和中心控制子系统即可。
上述仅为本发明方法与系统的较佳实施例子,并非用来限定本发明的实施范围。即凡依本发明申请专利范围所作的均等变化与修饰,皆为本发明专利范围所涵盖。
Claims (4)
1.一种p2p botnet实时检测方法,其特征在于,所述方法包括:
1)部署p2p botnet典型样例到虚拟机网络,利用协议分析技术,实时监控与接收虚拟机网络内通信数据,监控网络内TCP和UDP协议通信数据,只处理通信数据的packet header;
2)据上述接收的通信数据,提取初始阶段p2p僵尸网络特征,采用分类方法SPRINT进行分类器训练,产生僵尸网络初始阶段分类决策树模型;所述分类方法SPRINT包括如下步骤,其中的F代表初始化阶段的特征数据流集合,其中Fi=(P1,…,Pn),Pi代表F中的属性:
i)如果F满足停止条件,则返回;
ii)对于各个属性Pi,找到一个值或者值集,产生最佳分裂;
iii)比较各个属性的最佳分裂,选择最佳的将F分为F1和F2;
iv)递归对F1和F2产生决策树;
3)部署p2p僵尸网络检测系统到待检网络,利用协议分析技术,实时监控与接收真实网络内通信数据,监控网络内TCP和UDP协议通信数据,只处理通信数据的packet header,同时进行p2p僵尸网络特征提取与预处理;
4)利用p2p botnet综合实时检测方法,对待检网络进行p2p僵尸网络分析与检测;该综合实时检测方法输入为某网段内已经预处理的格式化网络数据流,输出为疑似被感染的主机信息;步骤如下:
a)实际参数初始化,方法开始执行;
b)判断数据集是否满足僵尸网络攻击阶段特征,采用非参数化递归CUSUM算法判断网段内是否出现DDOS或者SMTP异常报文特征,如果满足攻击阶段特征,则转向d,d返回后结合其结果和出现攻击特征的主机进一步判断并给出疑似被感染主机情况,继续a;
c)如果数据满足初始阶段特征,则使用训练后的分类决策树进行判断,给出疑似被感染主机,返回a继续;
d)根据需要将外网、内网的主机网络连接信息格式化成数据集D={d1,d2,…,di,…,dn},元素个数为n,di代表源/目的地址连接;
■任选k个数据作为初始聚类中心;
■计算其它数据与上述k个数据的相似度,根据相似度大小把其它数据分配到k个集合中;
■计算每个新集合的聚类中心;
■不断重复上述过程直到收敛结束;
■输出疑似被感染主机信息。
2.如权利要求1所述的方法,其特征在于将通信数据的packet header进行内存存储,然后进行数据的概要预处理和特征提取,需要提取的特征包括:ICMP异常报文、ARP异常请求、下载带宽、上载带宽、包大小、主机端口连接建立速率、SMTP异常报文、内外网相同连接,采用直方图技术来近似元素值的频率分布。
3.如权利要求1所述的方法,其特征在于将p2p僵尸网络的活动分为三个阶段,包括初始阶段、发呆阶段和攻击阶段,利用不同阶段p2p僵尸网络的特点,采用权利要求1中步骤4所述方法进行检测,解决了网络中无限的数据流和概念漂移问题。
4.一种检测p2p botnet的系统,其特征在于,所述系统包括训练子系统、检测子系统和中心控制子系统:
1)所述训练子系统包括网络接收模块、网络数据流预处理模块、分类训练模块,网络接收模块负责监控和接收虚拟机网络数据,数据流预处理模块对初始阶段p2p僵尸网络特征进行预处理,分类训练模块是根据p2p僵尸程序初始化特征集合采用权利要求1步骤2所示分类方法来训练分类决策树;
2)所述检测子系统包括初始化模块、网络接收模块、网络数据流预处理模块和综合检测模块,初始化模块用于初始化典型p2p botnet特征、训练好的分类决策树、p2p botnet检测分类方法以及与中心控制模块保持数据同步;网络接收模块用于监控和接收待检网络通信数据并且负责按照窗口时间以及协议类型进行数据接收;网络数据流预处理模块用于对真实网络中接收的数据进行预处理;综合检测模块负责根据权利要求1步骤4所述检测方法进行综合检测,初始阶段采用训练好的分类决策树,发呆阶段和攻击阶段采用聚类方法,检测的结果是所在网段内疑似感染p2p botnet的主机信息以及其连接的外网对等控制主机信息;
3)所述中心控制子系统包括在线更新模块、二次检测模块和统计报表模块,在线更新模块负责根据需要更新最优分类决策树,通知检测子系统初始化模块,接收检测子系统的检测结果;二次检测模块负责对收集上来的各个网段检测结果进行二次检测,采用二次聚类方法对整个网络的检测结果进行聚类分析,进一步判断p2p botnet聚集情况、规模,然后给出主机疑似感染程度信息;报表统计模块给出疑似主机的报表和统计分析。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102181335A CN101753377B (zh) | 2009-12-29 | 2009-12-29 | 一种p2p_botnet实时检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009102181335A CN101753377B (zh) | 2009-12-29 | 2009-12-29 | 一种p2p_botnet实时检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101753377A CN101753377A (zh) | 2010-06-23 |
CN101753377B true CN101753377B (zh) | 2011-11-09 |
Family
ID=42479815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009102181335A Expired - Fee Related CN101753377B (zh) | 2009-12-29 | 2009-12-29 | 一种p2p_botnet实时检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101753377B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102014025B (zh) * | 2010-12-06 | 2012-09-05 | 北京航空航天大学 | 基于网络流聚类检测p2p僵尸网络结构的方法 |
CN102571487B (zh) * | 2011-12-20 | 2014-05-07 | 东南大学 | 基于多数据源分布式的僵尸网络规模测量及追踪方法 |
CN104125106A (zh) * | 2013-04-23 | 2014-10-29 | 中国银联股份有限公司 | 基于分类决策树的网络纯净性检测装置及方法 |
CN103457945A (zh) * | 2013-08-28 | 2013-12-18 | 中国科学院信息工程研究所 | 入侵检测方法及系统 |
CN103731433A (zh) * | 2014-01-14 | 2014-04-16 | 上海交通大学 | 一种物联网攻击检测系统和攻击检测方法 |
CN103997489B (zh) * | 2014-05-09 | 2017-02-22 | 北京神州绿盟信息安全科技股份有限公司 | 一种识别DDoS僵尸网络通信协议的方法及装置 |
CN104021348B (zh) * | 2014-06-26 | 2017-01-11 | 中国人民解放军国防科学技术大学 | 一种隐匿p2p程序实时检测方法及系统 |
CN105516164B (zh) * | 2015-12-22 | 2018-11-27 | 中国科学院长春光学精密机械与物理研究所 | 基于分形与自适应融合的P2P botnet检测方法 |
CN106603538A (zh) * | 2016-12-20 | 2017-04-26 | 北京安信天行科技有限公司 | 一种入侵检测方法及系统 |
CN106850571A (zh) * | 2016-12-29 | 2017-06-13 | 北京奇虎科技有限公司 | 僵尸网络家族的识别方法和装置 |
CN107395597A (zh) * | 2017-07-25 | 2017-11-24 | 合肥红铭网络科技有限公司 | 一种虚拟主机防御优化方法 |
CN108875362B (zh) * | 2017-12-28 | 2021-03-23 | 北京安天网络安全技术有限公司 | 一种样本行为获取方法、装置、存储介质及电子设备 |
CN108846287A (zh) * | 2018-06-26 | 2018-11-20 | 北京奇安信科技有限公司 | 一种检测漏洞攻击的方法及装置 |
CN109889515B (zh) * | 2019-02-13 | 2020-08-28 | 北京航空航天大学 | 一种基于非参数统计的僵尸网络发现方法 |
CN114079576B (zh) * | 2020-08-18 | 2024-06-11 | 奇安信科技集团股份有限公司 | 安全防御方法、装置、电子设备及介质 |
CN112134732B (zh) * | 2020-09-10 | 2021-10-26 | 南京大学 | 一种用于DDoS攻击的取证方法及系统 |
CN112596721B (zh) * | 2020-12-14 | 2023-10-03 | 中国航发控制系统研究所 | 一种安全关键软件建模语言安全子集的管理方法 |
CN112765324B (zh) * | 2021-01-25 | 2022-12-23 | 四川虹微技术有限公司 | 一种概念漂移检测方法及装置 |
CN113242233B (zh) * | 2021-05-08 | 2022-06-03 | 北京交通大学 | 一种多分类的僵尸网络检测装置 |
CN116155626B (zh) * | 2023-04-20 | 2023-07-25 | 浙江工业大学 | 一种基于跨主机异常行为识别的复杂网络攻击检测方法 |
-
2009
- 2009-12-29 CN CN2009102181335A patent/CN101753377B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101753377A (zh) | 2010-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101753377B (zh) | 一种p2p_botnet实时检测方法及系统 | |
Hu et al. | FADM: DDoS flooding attack detection and mitigation system in software-defined networking | |
US11038906B1 (en) | Network threat validation and monitoring | |
Viegas et al. | Toward a reliable anomaly-based intrusion detection in real-world environments | |
Braga et al. | Lightweight DDoS flooding attack detection using NOX/OpenFlow | |
Haddadi et al. | Benchmarking the effect of flow exporters and protocol filters on botnet traffic classification | |
Xing et al. | Survey on botnet detection techniques: Classification, methods, and evaluation | |
CN101741862B (zh) | 基于数据包序列特征的irc僵尸网络检测系统和检测方法 | |
KR101070614B1 (ko) | 봇넷 정보를 이용한 악성 트래픽 격리 시스템과 봇넷 정보를 이용한 악성 트래픽 격리 방법 | |
CN107733851A (zh) | 基于通信行为分析的dns隧道木马检测方法 | |
CN108494746A (zh) | 一种网络端口流量异常检测方法及系统 | |
Cheng et al. | Machine learning based low-rate DDoS attack detection for SDN enabled IoT networks | |
Uluagac et al. | A passive technique for fingerprinting wireless devices with wired-side observations | |
Li et al. | Research on intelligent intrusion prevention system based on snort | |
Hofmann et al. | Online intrusion alert aggregation with generative data stream modeling | |
Lu et al. | BotCop: An online botnet traffic classifier | |
CN107040517A (zh) | 一种面向云计算环境的认知入侵检测方法 | |
Shafi et al. | Evaluation of an adaptive genetic-based signature extraction system for network intrusion detection | |
CN105681250A (zh) | 一种僵尸网络分布式实时检测方法和系统 | |
WO2010017679A1 (zh) | 一种入侵检测方法及装置 | |
CN102045220A (zh) | 木马监控审计方法及系统 | |
CN101854275A (zh) | 一种通过分析网络行为检测木马程序的方法及装置 | |
Goyal et al. | HTTP botnet detection in IOT devices using network traffic analysis | |
Shanthi et al. | Detection of botnet by analyzing network traffic flow characteristics using open source tools | |
Chen et al. | Defending malicious attacks in cyber physical systems |
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: 20111109 Termination date: 20131229 |