[发明专利]僵尸网络控制协议挖掘方法和装置有效
申请号: | 201210568194.6 | 申请日: | 2012-12-24 |
公开(公告)号: | CN103902895B | 公开(公告)日: | 2017-07-07 |
发明(设计)人: | 王志;邹赞;张晓康;贾春福;蔡亚运 | 申请(专利权)人: | 腾讯科技(深圳)有限公司;南开大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 广州华进联合专利商标代理有限公司44224 | 代理人: | 何平 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 僵尸 网络 控制 协议 挖掘 方法 装置 | ||
技术领域
本发明涉及计算机技术,特别是涉及一种僵尸网络控制协议挖掘方法和装置。
背景技术
随着互联网的发展,僵尸网络逐渐发展成规模庞大、功能多样的恶意网络,给当前的信息安全带来了不容忽视的威胁。其中,僵尸网络是指采用一种或多种传播手段将主机感染僵尸病毒,从而在控制者与被感染主机之间形成的可一对多控制的网络。在很多情况下,僵尸网络的控制协议和僵尸程序的高级语言形式的源代码难以得到,能够得到的仅仅是一些通过监视CPU(Central Processing Unit,中央处理器)的执行及其状态而捕捉到的僵尸程序执行部分命令时的二进制执行轨迹。如何利用这些执行轨迹挖掘出僵尸程序的全部命令,进而挖掘出该僵尸程序所在僵尸网络的控制协议是一个亟待解决的问题。
传统的对僵尸网络的命令和控制协议的挖掘主要包括动态分析和静态分析。动态分析的研究对象是僵尸网络的数据包,通过统计分析挖掘数据包中的特征,然后开发网络过滤工具阻断僵尸网络的通信;静态分析一般是由病毒分析员手工完成的,从僵尸网络的恶意代码样本中找出其中包含的命令与控制协议。然而传统的技术方案成本较高,需要大量的人力资源,分析的效率低,需要较长的分析时间,漏报率高。
发明内容
基于此,有必要针对传统的对僵尸网络的控制协议的挖掘中漏报率高的问题,提供一种能提高分析准确率的僵尸网络控制协议的挖掘方法。
此外,还有必要针对传统的对僵尸网络的控制协议的挖掘中漏报率高的问题,提供一种能提高分析准确率的僵尸网络控制协议的挖掘装置。
一种僵尸网络控制协议的挖掘方法,包括以下步骤:
捕捉僵尸程序的执行轨迹;
对所述执行轨迹进行代码块划分;
统计所述执行轨迹对每个代码块的覆盖次数,计算得到每个代码块的覆盖率;
对所述代码块的覆盖次数及覆盖率分析得到第一类代码块和第二类代码块,所述第一类代码块为仅被预设数量的执行轨迹中的一个覆盖的代码块,第二类代码块为代码块的覆盖率为百分百、每个执行轨迹对该代码块的覆盖次数均不同且都小于指定阈值的代码块;
根据所述第一类代码块和第二类代码块在执行轨迹中定位可疑区域;
对所述可疑区域进行分析提取出恶意控制命令及其对应的特定程序指令;
引导所述恶意控制命令所对应的程序覆盖僵尸程序,得到僵尸网络的控制协议。
一种僵尸网络控制协议的挖掘装置,包括:
捕捉模块,用于捕捉僵尸程序的执行轨迹;
划分模块,用于对所述执行轨迹进行代码块划分;
获取模块,用于统计所述执行轨迹对每个代码块的覆盖次数,计算得到每个代码块的覆盖率;
分析模块,用于对所述代码块的覆盖次数及覆盖率分析得到第一类代码块和第二类代码块,所述第一类代码块为仅被预设数量的执行轨迹中的一个覆盖的代码块,第二类代码块为代码块的覆盖率为百分百、每个执行轨迹对该代码块的覆盖次数均不同且都小于指定阈值的代码块;
定位模块,用于根据所述第一类代码块和第二类代码块在执行轨迹中定位可疑区域;
提取模块,用于对所述可疑区域进行分析提取出恶意控制命令及其对应的特定程序指令;
引导模块,用于引导所述恶意控制命令所对应的程序覆盖僵尸程序,得到僵尸网络的控制协议。
上述僵尸网络控制协议的挖掘方法和装置,对僵尸网络的执行轨迹进行划分代码块后,对代码块的覆盖率及被覆盖次数进行分析定位可疑区域,针对可疑区域进行分析提取出恶意控制命令及对应的特定程序,将提取的恶意控制命令及特定程序覆盖到僵尸程序,可分析得到僵尸程序的全部控制命令,如此提高了分析的准确率,分析的更全面。且无须高级语言形式的语义支持,能直接通过二进制执行轨迹分析,处理简单。
附图说明
图1为在一个实施例中僵尸网络控制协议的挖掘方法的流程示意图;
图2为代码块划分前执行轨迹中一组指令示例;
图3为图2中执行轨迹的一组指令进行代码块划分后的第一代码块;
图4为图2中执行轨迹的一组指令进行代码块划分后的第二个代码块;
图5为某个执行轨迹划分代码块后得到的代码块序列中的一部分;
图6为化简前的执行轨迹中的一组按序执行的指令示例;
图7为图6中指令简化后的示例;
图8为代码块覆盖次数示例;
图9为计算得到的代码块覆盖率的示例;
图10为代码块覆盖次数、覆盖率结合示例;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司;南开大学,未经腾讯科技(深圳)有限公司;南开大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210568194.6/2.html,转载请声明来源钻瓜专利网。