社交僵尸网络控制节点的检测方法及装置制造方法

文档序号:6544268阅读:132来源:国知局
社交僵尸网络控制节点的检测方法及装置制造方法
【专利摘要】本发明涉及一种社交僵尸网络控制节点的检测方法及装置。社交僵尸网络控制节点的检测方法包括:采集合法昵称样本和恶意昵称样本并保存并进行随机划分;基于改进的Aprior算法,从第一合法昵称样本子集中挖掘出所有出现频数超过设定频数阈值的各阶子字符串保存在频繁表中;基于频繁表,利用第二合法昵称样本子集和第一恶意昵称样本子集,根据预设的可信度计算函数和阈值生成规则获得可信度阈值;根据可信度计算函数,利用第三合法昵称样本子集和第二恶意昵称样本子集,验证可信度阈值是否有效;若有效,则根据可信度计算函数和可信度阈值对待检测昵称进行检测。本发明能够在无需对僵尸程序进行逆向的情况下,快速准确地检测出NGA生成的伪随机昵称。
【专利说明】社交僵尸网络控制节点的检测方法及装置
【技术领域】
[0001]本发明涉及网络【技术领域】,尤其涉及一种社交僵尸网络控制节点的检测方法及装置。
【背景技术】
[0002]僵尸网络是一种从传统恶意代码形态进化而来的新型攻击方式,为攻击者提供了隐匿、灵活且高效的一对多C&C (Command and Control,命令与控制)机制,可以控制大量僵尸主机实现信息窃取、分布式拒绝服务攻击和垃圾邮件发送等攻击目的。C&C机制是僵尸网络的命脉,一旦C&C机制被防御者破解,则僵尸网络将面临完全失效的风险。因此,设计具备强抗毁性的C&C机制,以对抗防御者的检测,是僵尸网络控制者追寻的一个目标。
[0003]近几年,诸如Facebook、Twitter、腾讯微博这类的社交网站吸引了全世界数亿用户,社交网络服务的快速发展以及社会工程学攻击的多样化催生了社交僵尸网络的出现,并逐渐成为危及互联网安全的一种新威胁。社交僵尸网络是指利用社交网络账号搭建控制节点的僵尸网络,本文所述的控制节点相当于传统僵尸网络的命令与控制服务器,用于在控制者与僵尸终端之间中转控制命令与反馈信息。控制节点与控制者注册的僵尸账号的昵
称--对应,控制者和僵尸终端均通过URL(Uniform Resource Locator,统一资源定位符)
访问控制节点。为了方便用户记忆,社交网络普遍允许用户设置个性化URL,形式为“固定前缀+昵称”。以新浪微博为例,假定用户昵称为abcl23,则该用户主页的个性化URL可设置为:http://weib0 .com/abcl23。正是由于社交网络的这一特性,新型社交僵尸网络,如AndBot, CoolBotJIAT URL-Flux技术增强其C&C机制的抗毁性,其核心思想是基于NGA(Nickname Generation Algorithm,昵称生成算法)。NGA利用种子批量生成伪随机昵称,用于构造访问控制节点的个性化URL列表,更换新的种子后,NGA会生成新一批伪随机昵称。僵尸终端轮询URL列表,一旦某个URL访问成功,便可与对应的控制节点通信。种子主要用于同步控制者和僵尸终端的URL列表,时间、搜索引擎对某关键词给出的返回记录、社交网络热门主题排名等均可做为种子。由于社交网络用户数以亿计,NGA生成的昵称需要尽量避免与合法用户的昵称冲突;此外,为了增加防御者对僵尸网络昵称进行语义分析的难度,还需要降低昵称之间的相关性。因此,NGA通常会对生成的昵称进行伪随机处理。相比传统僵尸网络,这类新型社交僵尸网络具有隐蔽性高、抗毁性强、高效低成本等优势。
[0004]从僵尸网络控制者的角度来看,利用URL-Flux技术对抗检测十分奏效。控制者只需要从僵尸终端每天会轮询的多个昵称中任意注册一个或几个,但防御者则必须先于控制者注册所有昵称,才可能接管僵尸网络。为此,防御者必须事先逆向僵尸程序,从中解析出NGA。然而,逆向僵尸程序是一项相当消耗资源和时间的工程,在相应NGA被破解之前,一旦控制者利用新的NGA更新了僵尸程序,则需要重新对僵尸程序进行逆向,致使大量宝贵的资源和时间被浪费掉。因此,能否在无需逆向僵尸程序的情况下就能有效地检测出用于构建社交僵尸网络控制节点的伪随机昵称,对于僵尸网络的检测是非常重要的。
[0005]目前,已有的相关技术主要用于检测传统僵尸网络或其它形式网络攻击的恶意URL。Ma等人提出了一种基于URL词法特征(域名长度、主机名、圆点个数等)的统计学习技术,可以自动检测一个URL是否是用于网络钓鱼或发送垃圾邮件。Sandeep Yadav等人提出了一种恶意域名检测技术,可以有效检测Conficker、Torpig等基于域名生成算法的传统僵尸网络。至今,尚未找到一种有效的针对社交僵尸网络控制节点的检测技术。

【发明内容】

[0006]本发明所要解决的技术问题是提供一种社交僵尸网络控制节点的检测方法及装置,在无需对僵尸程序进行逆向的情况下,可以有效地实时检测出利用NGA构造的僵尸网络伪随机昵称。
[0007]为解决上述技术问题,本发明提出了一种社交僵尸网络控制节点的检测方法,包括:
[0008]步骤一,采集合法昵称样本和恶意昵称样本并保存,并将所述合法昵称样本的集合随机划分为第一合法昵称样本子集、第二合法昵称样本子集和第三合法昵称样本子集,将所述恶意昵称样本的集合随机划分为第一恶意昵称样本子集、第二恶意昵称样本子集,其中,所述昵称为字符串;
[0009]步骤二,基于改进的Aprior算法,从所述第一合法昵称样本子集中挖掘出所有出现频数超过设定频数阈值的各阶子字符串,将所述各阶子字符串及其出现频数按阶保存在频繁表中,其中,所述改进的Aprior算法,是指调整了生成候选表的连接规则和剪枝规则的Aprior算法,阶是指字符串的长度,出现频数是指出现次数;
[0010]步骤三,基于所述频繁表,利用所述第二合法昵称样本子集和所述第一恶意昵称样本子集,根据预设的可信度计算函数和阈值生成规则,获得可信度阈值;
[0011]步骤四,根据所述可信度计算函数,利用所述第三合法昵称样本子集和所述第二恶意昵称样本子集,验证所述可信度阈值是否有效;
[0012]步骤五,若经检验,所述可信度阈值有效,则根据所述可信度计算函数计算待检测昵称的可信度,若所述待检测昵称的可信度小于所述可信度阈值,则所述待检测昵称为恶意昵称,与所述待检测昵称对应的节点为社交僵尸网络控制节点,否则所述待检测昵称为合法昵称。
[0013]进一步地,上述社交僵尸网络控制节点的检测方法还可具有以下特点,所述步骤二中,设定频数阈值等于SIZE与MIN_SUP的乘积,其中,SIZE为所述第一合法昵称样本子集的样本规模,SIZE等于所述第一合法昵称样本子集中昵称的数量,MIN_SUP为最小相对支持度,最小相对支持度是指算法支持的某个字符串出现次数与样本数量的最小比值。
[0014]进一步地,上述社交僵尸网络控制节点的检测方法还可具有以下特点,所述最小相对支持度MIN_SUP的值能够应用自适应算法进行动态调整。
[0015]进一步地,上述社交僵尸网络控制节点的检测方法还可具有以下特点,所述步骤三包括:
[0016]根据预设的可信度计算函数P (X),分别计算出所述第二合法昵称样本子集和所述第一恶意昵称样本子集的可信度,其中,所述第二合法昵称样本子集的可信度为所述第二合法昵称样本子集中各个昵称的可信度的集合,所述第一恶意昵称样本子集的可信度为所述第一恶意昵称样本子集中各个昵称的可信度的集合,其中,可信度计算函数P (X)的表达式如下:
[0017]
【权利要求】
1.一种社交僵尸网络控制节点的检测方法,其特征在于,包括: 步骤一,采集合法昵称样本和恶意昵称样本并保存,并将所述合法昵称样本的集合随机划分为第一合法昵称样本子集、第二合法昵称样本子集和第三合法昵称样本子集,将所述恶意昵称样本的集合随机划分为第一恶意昵称样本子集、第二恶意昵称样本子集,其中,所述昵称为字符串; 步骤二,基于改进的Aprior算法,从所述第一合法昵称样本子集中挖掘出所有出现频数超过设定频数阈值的各阶子字符串,将所述各阶子字符串及其出现频数按阶保存在频繁表中,其中,所述改进的Aprior算法,是指调整了生成候选表的连接规则和剪枝规则的Aprior算法,阶是指字符串的长度,出现频数是指出现次数; 步骤三,基于所述频繁表,利用所述第二合法昵称样本子集和所述第一恶意昵称样本子集,根据预设的可信度计算函数和阈值生成规则,获得可信度阈值; 步骤四,根据所述可信度计算函数,利用所述第三合法昵称样本子集和所述第二恶意昵称样本子集,验证所述可信度阈值是否有效; 步骤五,若经检验,所述可信度阈值有效,则将社交网络中节点对应的昵称作为待检测昵称,根据所述可信度计算函数计算所述待检测昵称的可信度,若所述待检测昵称的可信度小于所述可信度阈值,则所述待检测昵称为恶意昵称,与所述待检测昵称对应的节点为社交僵尸网络控制节点,否则所述 待检测昵称为合法昵称。
2.根据权利要求1所述的社交僵尸网络控制节点的检测方法,其特征在于,所述步骤二中,设定频数阈值等于SIZE与MIN_SUP的乘积,其中,SIZE为所述第一合法昵称样本子集的样本规模,SIZE等于所述第一合法昵称样本子集中昵称的数量,MIN_SUP为最小相对支持度,最小相对支持度是指算法支持的某个字符串出现次数与样本数量的最小比值。
3.根据权利要求2所述的社交僵尸网络控制节点的检测方法,其特征在于,所述最小相对支持度MIN_SUP的值能够应用自适应算法进行动态调整。
4.根据权利要求1所述的社交僵尸网络控制节点的检测方法,其特征在于,所述步骤三包括: 根据预设的可信度计算函数P (X),分别计算出所述第二合法昵称样本子集和所述第一恶意昵称样本子集的可信度,其中,所述第二合法昵称样本子集的可信度为所述第二合法昵称样本子集中各个昵称的可信度的集合,所述第一恶意昵称样本子集的可信度为所述第一恶意昵称样本子集中各个昵称的可信度的集合,其中,可信度计算函数P (X)的表达式如下:
* Σ,ν^-w
^ N-? + \ 其中,X代表昵称,k代表频繁表的最大阶数,Xi代表X的第i阶子序列,Li (χ)代表昵称字符串χ在第i阶频繁表Li中对应的频数,若不存在,则置为0,N表示昵称X的长度; 归一化所述第二合法昵称样本子集和所述第一恶意昵称样本子集的可信度,设所述第二合法昵称样本子集为T2,所述第一恶意昵称样本子集为Fl,MaxW表示昵称样本集合*中昵称的最大可信度值,Min(*)表示昵称样本集合*中昵称的最小可信度值,Ρ(Ι)|0表示T2和Fl的可信度P(X)归一化到区间[O,1]的结果,则P(Z)Il1的表达式为:
5.根据权利要求1所述的社交僵尸网络控制节点的检测方法,其特征在于,所述步骤四包括: 根据预设的可信度计算函数P (X),分别计算出所述第三合法昵称样本子集和所述第二恶意昵称样本子集的可信度,其中,所述第三合法昵称样本子集的可信度为所述第三合法昵称样本子集中各个昵称的可信度的集合,所述第二恶意昵称样本子集的可信度为所述第二恶意昵称样本子集中各个昵称的可信度的集合,其中,可信度计算函数P(X)的表达式如下:

6.一种社交僵尸网络控制节点的检测装置,其特征在于,包括顺次相连的采集模块、挖掘模块、获取模块、验证模块和检测模块,其中: 采集模块,用于采集合法昵称样本和恶意昵称样本并保存,并将所述合法昵称样本的集合随机划分为第一合法昵称样本子集、第二合法昵称样本子集和第三合法昵称样本子集,将所述恶意昵称样本的集合随机划分为第一恶意昵称样本子集、第二恶意昵称样本子集,其中,所述昵称为字符串; 挖掘模块,用于基于改进的Aprior算法,从所述第一合法昵称样本子集中挖掘出所有出现频数超过设定频数阈值的各阶子字符串,将所述各阶子字符串及其出现频数按阶保存在频繁表中,其中,所述改进的Aprior算法,是指调整了生成候选表的连接规则和剪枝规则的Aprior算法,阶是指字符串的长度,出现频数是指出现次数; 获取模块,用于基于所述频繁表,利用所述第二合法昵称样本子集和所述第一恶意昵称样本子集,根据预设的可信度计算函数和阈值生成规则,获得可信度阈值; 验证模块,用于根据所述可信度计算函数,利用所述第三合法昵称样本子集和所述第二恶意昵称样本子集,验证所述可信度阈值是否有效; 检测模块,用于在经检验所述可信度阈值有效时,将社交网络中节点对应的昵称作为待检测昵称,根据所述可信度计算函数计算所述待检测昵称的可信度,若所述待检测昵称的可信度小于所述可信度阈值,则所述待检测昵称为恶意昵称,与所述待检测昵称对应的节点为社交僵尸网络控制节点,否则所述待检测昵称为合法昵称。
7.根据权利要求6所述的社交僵尸网络控制节点的检测装置,其特征在于,所述设定频数阈值等于SIZE与MIN_SUP的乘积,其中,SIZE为所述第一合法昵称样本子集的样本规模,SIZE等于所述第一合法昵称样本子集中昵称的数量,MIN_SUP为最小相对支持度,最小相对支持度是指算法支持的某个字符串出现次数与样本数量的最小比值。
8.根据权利要求7所述的社交僵尸网络控制节点的检测装置,其特征在于,所述最小相对支持度MIN_SUP的值能够应用自适应算法进行动态调整。
9.根据权利要求6所述的社交僵尸网络控制节点的检测装置,其特征在于,所述获取模块包括: 计算单元,用于根据预设的可信度计算函数P (X),分别计算出所述第二合法昵称样本子集和所述第一恶意昵称样本子集的可信度,其中,所述第二合法昵称样本子集的可信度为所述第二合法昵称样本子集中各个昵称的可信度的集合,所述第一恶意昵称样本子集的可信度为所述第一恶意昵称样本子集中各个昵称的可信度的集合,其中,可信度计算函数P(X)的表达式如下:
10.根据权利要求6所述的社交僵尸网络控制节点的检测装置,其特征在于,所述验证模块包括: 可信度计算单元,用于根据预设的可信度计算函数P(X),分别计算出所述第三合法昵称样本子集和所述第二恶意昵称样本子集的可信度,其中,所述第三合法昵称样本子集的可信度为所述第三合法昵称样本子集中各个昵称的可信度的集合,所述第二恶意昵称样本子集的可信度为所述第二恶意昵称样本子集中各个昵称的可信度的集合,其中,可信度计算函数P (X)的表达式如下:
【文档编号】G06F17/30GK103944901SQ201410158412
【公开日】2014年7月23日 申请日期:2014年4月18日 优先权日:2014年4月18日
【发明者】张永铮, 尹涛, 李书豪 申请人:中国科学院信息工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1