[发明专利]僵尸网络控制协议挖掘方法和装置有效
申请号: | 201210568194.6 | 申请日: | 2012-12-24 |
公开(公告)号: | CN103902895B | 公开(公告)日: | 2017-07-07 |
发明(设计)人: | 王志;邹赞;张晓康;贾春福;蔡亚运 | 申请(专利权)人: | 腾讯科技(深圳)有限公司;南开大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 广州华进联合专利商标代理有限公司44224 | 代理人: | 何平 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 僵尸 网络 控制 协议 挖掘 方法 装置 | ||
1.一种僵尸网络控制协议的挖掘方法,包括以下步骤:
捕捉僵尸程序的执行轨迹;
对所述执行轨迹进行代码块划分;
统计所述执行轨迹对每个代码块的覆盖次数,计算得到每个代码块的覆盖率;
对所述代码块的覆盖次数及覆盖率分析得到第一类代码块和第二类代码块,所述第一类代码块为仅被预设数量的执行轨迹中的一个覆盖的代码块,第二类代码块为代码块的覆盖率为百分百、每个执行轨迹对该代码块的覆盖次数均不同且都小于指定阈值的代码块;
根据所述第一类代码块和第二类代码块在执行轨迹中定位可疑区域;
对所述可疑区域进行分析提取出恶意控制命令及其对应的特定程序指令;
引导所述恶意控制命令所对应的程序覆盖僵尸程序,得到僵尸网络的控制协议。
2.根据权利要求1所述的僵尸网络控制协议的挖掘方法,其特征在于,所述捕捉僵尸程序的执行轨迹的步骤包括:
捕捉僵尸程序中预设数量个不同输入对应的不同二进制执行轨迹,并将所述二进制执行轨迹反汇编成汇编指令格式的执行轨迹。
3.根据权利要求1所述的僵尸网络控制协议的挖掘方法,其特征在于,在对所述执行轨迹进行代码块划分的步骤之前,还包括步骤:
对所述执行轨迹进行简化处理。
4.根据权利要求1所述的僵尸网络控制协议的挖掘方法,其特征在于,所述计算得到每个代码块的覆盖率的步骤包括:
统计预设数量个执行轨迹对每个代码块的覆盖状态,计算覆盖代码块的执行轨迹的个数与该预设数量的比值,将所述比值作为相应的代码块的覆盖率。
5.根据权利要求1所述的僵尸网络控制协议的挖掘方法,其特征在于,在根据所述第一类代码块和第二类代码块在执行轨迹中定位可疑区域的步骤之后,还包括步骤:
获取每个代码块的污点状态,将没有污点的代码块从所述可疑区域中剔除。
6.根据权利要求1所述的僵尸网络控制协议的挖掘方法,其特征在于,所述对所述执行轨迹进行代码块划分的步骤包括:
以程序转移指令作为代码块的边界对执行轨迹进行代码块划分,且所有代码块中包含的指令集合的并集等于执行轨迹中包含的指令集合,任意两个代码块的交集为空。
7.一种僵尸网络控制协议的挖掘装置,其特征在于,包括:
捕捉模块,用于捕捉僵尸程序的执行轨迹;
划分模块,用于对所述执行轨迹进行代码块划分;
获取模块,用于统计所述执行轨迹对每个代码块的覆盖次数,计算得到每个代码块的覆盖率;
分析模块,用于对所述代码块的覆盖次数及覆盖率分析得到第一类代码块和第二类代码块,所述第一类代码块为仅被预设数量的执行轨迹中的一个覆盖的代码块,第二类代码块为代码块的覆盖率为百分百、每个执行轨迹对该代码块的覆盖次数均不同且都小于指定阈值的代码块;
定位模块,用于根据所述第一类代码块和第二类代码块在执行轨迹中定位可疑区域;
提取模块,用于对所述可疑区域进行分析提取出恶意控制命令及其对应的特定程序指令;
引导模块,用于引导所述恶意控制命令所对应的程序覆盖僵尸程序,得到僵尸网络的控制协议。
8.根据权利要求7所述的僵尸网络控制协议的挖掘装置,其特征在于,所述装置还包括反汇编模块,所述捕捉模块还用于捕捉僵尸程序中预设数量个不同输入对应的不同二进制执行轨迹;所述反汇编模块用于将所述二进制执行轨迹反汇编成汇编指令格式的执行轨迹。
9.根据权利要求7所述的僵尸网络控制协议的挖掘装置,其特征在于,所述装置还包括:
简化模块,用于对所述执行轨迹进行简化处理。
10.根据权利要求7所述的僵尸网络控制协议的挖掘装置,其特征在于,所述获取模块还用于统计预设数量个执行轨迹对每个代码块的覆盖状态,计算覆盖代码块的执行轨迹的个数与该预设数量的比值,将所述比值作为相应的代码块的覆盖率。
11.根据权利要求7所述的僵尸网络控制协议的挖掘装置,其特征在于,所述装置还包括:
剔除模块,用于获取每个代码块的污点状态,将没有污点的代码块从所述可疑区域中剔除。
12.根据权利要求7所述的僵尸网络控制协议的挖掘装置,其特征在于,所述划分模块还用于以程序转移指令作为代码块的边界对执行轨迹进行代码块划分,且所有代码块中包含的指令集合的并集等于执行轨迹中包含的指令集合,任意两个代码块的交集为空。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司;南开大学,未经腾讯科技(深圳)有限公司;南开大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210568194.6/1.html,转载请声明来源钻瓜专利网。