一种获取病毒特征码的方法及装置制造方法

文档序号:6508619阅读:136来源:国知局
一种获取病毒特征码的方法及装置制造方法
【专利摘要】本发明公开了一种获取病毒特征码的方法及装置,属于计算机安全领域。所述方法包括:获取病毒样本集合中的每个病毒样本包括的字符串;根据每个字符串在非病毒样本集合中出现的第一频率和在所述病毒样本集合中出现的第二频率,选择字符串作为侯选病毒特征码;根据包括所述侯选病毒特征码的病毒样本数目和包括所述侯选病毒特征码的非病毒样本数目,计算所述侯选病毒特征码的信息熵;根据信息熵从所述侯选病毒特征码中选择病毒特征码。所述装置包括:获取模块,第一选择模块,计算模块和第二选择模块。本发明能够及时分析出最新的病毒特征码,并且能够保证得到的病毒特征码为最优的特征码,覆盖病毒变种的能力较强。
【专利说明】一种获取病毒特征码的方法及装置

【技术领域】
[0001] 本发明涉及计算机安全领域,特别涉及一种获取病毒特征码的方法及装置。

【背景技术】
[0002] 随着计算机技术的发展,计算机病毒也在不断发展。病毒对计算机的危害是不容 小觑的,可能会造成计算机瘫痪,这就需要安装杀毒软件来制止病毒对计算机的侵害。杀毒 软件需要根据病毒的特征码来检验计算机文件是否感染病毒。
[0003] 其中,杀毒软件中包括病毒的特征码是由技术人员采用人工方式对大量的病毒样 本进行分析得到的。然而,采用人工方式分析得到病毒特征码的工作量较大,耗费的时间较 长,所以不能及时分析出最新的病毒的特征码,以致杀毒软件在一段时间内不能检测出最 新出现的病毒。另外,人工方式分析病毒的特征码需要依赖技术人员的经验,不能保证得到 的病毒的特征码为最优的特征码,导致覆盖病毒变种的能力较差。


【发明内容】

[0004] 为了及时分析出最新的病毒的特征码以及提高覆盖病毒变种的能力,本发明提供 了一种获取病毒特征码的方法及装置。所述技术方案如下:
[0005] -种获取病毒特征码的方法,所述方法包括:
[0006] 获取病毒样本集合中的每个病毒样本包括的字符串;
[0007] 根据每个字符串在非病毒样本集合中出现的第一频率和在所述病毒样本集合中 出现的第二频率,选择字符串作为侯选病毒特征码;
[0008] 根据包括所述侯选病毒特征码的病毒样本数目和包括所述侯选病毒特征码的非 病毒样本数目,计算所述侯选病毒特征码的信息熵;
[0009] 根据信息熵从所述侯选病毒特征码中选择病毒特征码。
[0010] 一种获取病毒特征码的装置,所述装置包括:
[0011] 获取模块,用于获取病毒样本集合中的每个病毒样本包括的字符串;
[0012] 第一选择模块,用于根据每个字符串在非病毒样本集合中出现的第一频率和在所 述病毒样本集合中出现的第二频率,选择字符串作为侯选病毒特征码;
[0013] 计算模块,用于根据包括所述侯选病毒特征码的病毒样本数目和包括所述侯选病 毒特征码的非病毒样本数目,计算所述侯选病毒特征码的信息熵;
[0014] 第二选择模块,用于根据信息熵从所述侯选病毒特征码中选择病毒特征码。
[0015] 在本发明实施例中,根据每个字符串在非病毒样本集合中出现的第一频率和在病 毒样本集合中出现的第二频率,选择字符串作为侯选病毒特征码;根据包括侯选病毒特征 码的病毒样本数目和包括侯选病毒特征码的非病毒样本数目,计算侯选病毒特征码的信息 熵;根据信息熵从侯选病毒特征码中选择病毒特征码。由于获取病毒特征码的过程是自动 的,所以耗费时间较短,能够及时分析出最新的病毒特征码。由于根据信息熵对从病毒样本 中获取的字符串进行二次筛选,能够保证得到的病毒特征码为最优的特征码,覆盖病毒变 种的能力较强。

【专利附图】

【附图说明】
[0016] 图1是本发明实施例1提供的一种获取病毒特征码的方法流程图;
[0017] 图2是本发明实施例2提供的一种获取病毒特征码的方法流程图;
[0018] 图3是本发明实施例3提供的一种获取病毒特征码的装置结构示意图。

【具体实施方式】
[0019] 为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方 式作进一步地详细描述。
[0020] 实施例1
[0021] 参见图1,本发明实施例提供了一种获取病毒特征码的方法,包括:
[0022] 步骤101 :获取病毒样本集合中的每个病毒样本包括的字符串;
[0023] 步骤102 :根据每个字符串在非病毒样本集合中出现的第一频率和在病毒样本集 合中出现的第二频率,选择字符串作为侯选病毒特征码;
[0024] 步骤103 :根据包括侯选病毒特征码的病毒样本数目和包括侯选病毒特征码的非 病毒样本数目,计算侯选病毒特征码的信息熵;
[0025] 步骤104 :根据信息熵从侯选病毒特征码中选择病毒特征码。
[0026] 在本发明实施例中,根据每个字符串在非病毒样本集合中出现的第一频率和在病 毒样本集合中出现的第二频率,选择字符串作为侯选病毒特征码;根据包括侯选病毒特征 码的病毒样本数目和包括侯选病毒特征码的非病毒样本数目,计算侯选病毒特征码的信息 熵;根据信息熵从侯选病毒特征码中选择病毒特征码。由于获取病毒特征码的过程是自动 的,所以耗费时间较短,能够及时分析出最新的病毒特征码。由于根据信息熵对从病毒样本 中获取的字符串进行二次筛选,能够保证得到的病毒特征码为最优的特征码,覆盖病毒变 种的能力较强。
[0027] 实施例2
[0028] 参见图2,在实施例1所示的方法基础之上,本发明实施例提供了一种获取病毒特 征码的方法,包括:
[0029] 步骤201 :获取病毒样本集合中的每个病毒样本包括的字符串;
[0030] 其中,病毒样本集合包括多个病毒样本,每个病毒样本为一个程序文件,每个程序 文件中包括的多行代码,每行代码由一个或多个字符串组成。
[0031] 具体地,对于病毒样本集合中包括的任一个病毒样本,对该病毒样本包括的每行 代码进行字符串分割,得到该病毒样本包括的字符串;对于病毒样本集合中的其他每个病 毒样本按上述操作得到其他每个病毒样本包括的字符串。
[0032] 步骤202 :获取每个字符串在非病毒样本集合中出现的第一频率;
[0033] 其中,非病毒样本集合包括多个非病毒样本,每个非病毒样本为一个程序文件,每 个程序文件中包括的多行代码,每行代码由一个或多个字符串组成。
[0034] 具体地,对于任一个字符串,从非病毒样本集合中获取包括该字符串的非病毒样 本,统计获取的非病毒样本,得到包括该字符串的非病毒样本数目,根据包括该字符串的非 病毒样本数目计算出该字符串在非病毒样本集合中出现的第一频率。对于其他的每个字符 串,按上述操作计算出其他每个字符串在非病毒样本集合中出现的第一频率。
[0035] 优选的,根据包括该字符串的非病毒样本数目计算出该字符串在非病毒样本集合 中出现的第一频率的操作,可以为:
[0036] 计算包括该字符串的非病毒样本数目与非病毒样本集合中包括的非病毒样本总 数目之间的比值,将计算的比值作为该字符串在非病毒样本集合中出现的第一频率。
[0037] 例如,假设假设病毒样本集合A中包含100个病毒样本,非病毒样本集合B中包含 100000个非病毒样本,"sendChargeSMS"为病毒样本集合中的病毒样本包括的一个字符串。 从非病毒样本集合中获取到1个包括字符串"sendChargeSMS"的非病毒样本,所以统计出 包括字符串"sendChargeSMS"的非病毒样本数目为1,计算包括字符串"sendChargeSMS" 的非病毒样本数目1与非病毒样本集合中包括的非病毒样本总数目100000之间的比值为 0.001%,将计算的比值0.001%确定为字符串"sendChargeSMS"在非病毒样本集合中出现的 第一频率。
[0038] 步骤203 :获取每个字符串在病毒样本集合中出现的第二频率;
[0039] 具体地,对于任一个字符串,从病毒样本集合中获取包括该字符串的病毒样本,统 计获取的病毒样本,得到包括该字符串的病毒样本数目,根据包括该字符串的病毒样本数 目计算出该字符串在病毒样本集合中出现的第二频率。对于其他的每个字符串,按上述操 作计算出其他每个字符串在病毒样本集合中出现的第二频率。
[0040] 优选的,根据包括该字符串的病毒样本数目计算出该字符串在病毒样本集合中出 现的第二频率的操作,可以为:
[0041] 计算包括该字符串的病毒样本数目与病毒样本集合中包括的病毒样本总数目之 间的比值,将计算的比值作为该字符串在病毒样本集合中出现的第二频率。
[0042] 例如,从病毒样本集合中获取到100个包括字符串"sendChargeSMS"的病毒样 本,所以统计出包括字符串"sendChargeSMS"的病毒样本数目为100,计算包括字符串 "sendChargeSMS"的病毒样本数目100与非病毒样本集合中包括的非病毒样本总数目100 之间的比值为1〇〇%,将计算的比值100%确定为字符串" sendChargeSMS"在病毒样本集合中 出现的第二频率。
[0043] 步骤204 :根据获取的每个字符串在非病毒样本集合中出现的第一频率和在病毒 样本集合中出现的第二频率,选择字符串作为侯选病毒特征码;
[0044] 具体地,从获取的字符串中,选择第一频率未超过预设第一频率阈值且第二频率 超过预设第二频率阈值的字符串;将选择的字符串确定为侯选病毒特征码。
[0045] 例如,假设,预设第一频率阈值为50%,预设第二频率阈值为50%。字符串 "sendChargeSMS"的第一频率0. 001%未超过预设第一频率阈值50%,同时,字符串 "sendChargeSMS"的第二频率100%超过预设第二频率阈值50%。因此,将该字符串确定为 候选病毒特征码。
[0046] 步骤205 :根据包括侯选病毒特征码的病毒样本数目和包括侯选病毒特征码的非 病毒样本数目,计算侯选病毒特征码的信息熵;
[0047] 具体地,对于任一个侯选病毒特征码,根据包括该侯选病毒特征码的病毒样本数 目,计算出不包括该侯选病毒特征码的病毒样本数目;根据包括该侯选病毒特征码的非病 毒样本数目,计算出不包括该侯选病毒特征码的非病毒样本数目;根据包括该侯选病毒特 征码的病毒样本数目、不包括该侯选病毒特征码的病毒样本数目、包括该侯选病毒特征码 的非病毒样本数目和不包括该侯选病毒特征码的非病毒样本数目,计算该侯选病毒特征码 的信息熵。对于其他每个侯选病毒特征码,按上述操作计算其他每个侯选病毒特征码的信 息摘。
[0048] 其中,侯选病毒特征码的信息熵用于衡量该病毒特征码区分一程序文件是病毒, 还是非病毒的能力。
[0049] 其中,计算该侯选病毒特征码的信息熵的操作,可以为:
[0050] 根据包括该侯选病毒特征码的病毒样本数目、不包括该侯选病毒特征码的病毒样 本数目、包括该侯选病毒特征码的非病毒样本数目和不包括该侯选病毒特征码的非病毒样 本数目,按如下的公式(1)计算该侯选病毒特征码的信息熵;

【权利要求】
1. 一种获取病毒特征码的方法,其特征在于,所述方法包括: 获取病毒样本集合中的每个病毒样本包括的字符串; 根据每个字符串在非病毒样本集合中出现的第一频率和在所述病毒样本集合中出现 的第二频率,选择字符串作为侯选病毒特征码; 根据包括所述侯选病毒特征码的病毒样本数目和包括所述侯选病毒特征码的非病毒 样本数目,计算所述侯选病毒特征码的信息赌; 根据信息赌从所述侯选病毒特征码中选择病毒特征码。
2. 如权利要求1所述的方法,其特征在于,所述根据每个字符串在非病毒样本集合中 出现的第一频率和在所述病毒样本集合中出现的第二频率,选择字符串作为侯选病毒特征 码,包括: 选择第一频率未超过预设第一频率阔值且第二频率超过预设第二频率阔值字符串; 将所述选择的字符串确定为侯选病毒特征码。
3. 如权利要求1或2所述的方法,其特征在于,所述选择字符串作为侯选病毒特征码之 前,还包括: 获取包括每个字符串的非病毒样本数目,根据包括所述每个字符串的非病毒样本数目 分别计算出所述每个字符串在非病毒样本集合中出现的第一频率。
4. 如权利要求1或2所述的方法,其特征在于,所述选择字符串作为侯选病毒特征码之 前,还包括: 获取包括每个字符串的病毒样本数目,根据包括所述每个字符串的病毒样本数目分别 计算出所述每个字符串在病毒样本集合中出现的第二频率。
5. 如权利要求1所述的方法,其特征在于,所述根据包括所述侯选病毒特征码的病毒 样本数目和包括所述侯选病毒特征码的非病毒样本数目,计算所述侯选病毒特征码的信息 赌,包括: 根据包括所述侯选病毒特征码的病毒样本数目,计算出不包括所述侯选病毒特征码的 病毒样本数目; 根据包括所述侯选病毒特征码的非病毒样本数目,计算出不包括所述侯选病毒特征码 的非病毒样本数目; 根据包括所述侯选病毒特征码的病毒样本数目、不包括所述侯选病毒特征码的病毒样 本数目、包括所述侯选病毒特征码的非病毒样本数目和不包括所述侯选病毒特征码的非病 毒样本数目,计算所述侯选病毒特征码的信息赌。
6. 如权利要求5所述的方法,其特征在于,所述计算所述侯选病毒特征码的信息赌,包 括: 根据包括所述侯选病毒特征码的病毒样本数目、不包括所述侯选病毒特征码的病毒样 本数目、包括所述侯选病毒特征码的非病毒样本数目和不包括所述侯选病毒特征码的非病 毒样本数目,按如下的公式(1)计算所述侯选病毒特征码的信息赌;
其中,在公式(1)中,H为所述侯选病毒特征码的信息赌,S为病毒样本集合中的病毒
样本数目与非病毒样本集合中的非病毒样本数目之和,Si为病毒样本集合中的病毒样本数 目,Su为包括所述侯选病毒特征码的病毒样本数目,Si2为不包括所述侯选病毒特征码的病 毒样本数目; S2为非病毒样本集合中的非病毒样本数目,S,1为包括所述侯选病毒特征码的非病毒样 本数目,S22为不包括所述侯选病毒特征码的非病毒样本数目。
7. 如权利要求1所述的方法,其特征在于,所述根据信息赌从所述侯选病毒特征码中 选择病毒特征码,包括: 选择信息赌未超过预设信息赌阔值的侯选病毒特征码,将所述选择的侯选病毒特征码 确定为病毒特征码;或者, 选择信息赌最小的预设个数个侯选病毒特征码,将所述选择的侯选病毒特征码确定为 病毒特征码。
8. -种获取病毒特征码的装置,其特征在于,所述装置包括: 获取模块,用于获取病毒样本集合中的每个病毒样本包括的字符串; 第一选择模块,用于根据每个字符串在非病毒样本集合中出现的第一频率和在所述病 毒样本集合中出现的第二频率,选择字符串作为侯选病毒特征码; 计算模块,用于根据包括所述侯选病毒特征码的病毒样本数目和包括所述侯选病毒特 征码的非病毒样本数目,计算所述侯选病毒特征码的信息赌; 第二选择模块,用于根据信息赌从所述侯选病毒特征码中选择病毒特征码。
9. 如权利要求8所述的装置,其特征在于,所述第一选择模块包括: 第一选择单元,用于选择第一频率未超过预设第一频率阔值且第二频率超过预设第二 频率阔值字符串; 确定单元,用于将所述选择的字符串确定为侯选病毒特征码。
10. 如权利要求8或9所述的装置,其特征在于,所述第一选择模块还包括: 第一获取单元,用于获取包括每个字符串的非病毒样本数目,根据包括所述每个字符 串的非病毒样本数目分别计算出所述每个字符串在非病毒样本集合中出现的第一频率。
11. 如权利要求8或9所述的装置,其特征在于,所述第一选择模块还包括: 第二获取单元,用于获取包括每个字符串的病毒样本数目,根据包括所述每个字符串 的病毒样本数目分别计算出所述每个字符串在病毒样本集合中出现的第二频率。
12. 如权利要求8所述的装置,其特征在于,所述计算模块包括: 第一计算单元,用于根据包括所述侯选病毒特征码的病毒样本数目,计算出不包括所 述侯选病毒特征码的病毒样本数目; 第二计算单元,用于根据包括所述侯选病毒特征码的非病毒样本数目,计算出不包括 所述侯选病毒特征码的非病毒样本数目; 第H计算单元,用于根据包括所述侯选病毒特征码的病毒样本数目、不包括所述侯选 病毒特征码的病毒样本数目、包括所述侯选病毒特征码的非病毒样本数目和不包括所述侯 选病毒特征码的非病毒样本数目,计算所述侯选病毒特征码的信息赌。
13. 如权利要求12所述的装置,其特征在于, 所述第H计算单元,用于根据包括所述侯选病毒特征码的病毒样本数目、不包括所述 侯选病毒特征码的病毒样本数目、包括所述侯选病毒特征码的非病毒样本数目和不包括所 述侯选病毒特征码的非病毒样本数目,按如下的公式(1)计算所述侯选病毒特征码的信息 赌;
其中,在公式(1)中,H为所述侯选病毒特征码的信息赌,S为病毒样本集合中的病毒 样本数目与非病毒样本集合中的非病毒样本数目之和,Si为病毒样本集合中的病毒样本数 目,Su为包括所述侯选病毒特征码的病毒样本数目,Si2为不包括所述侯选病毒特征码的病 毒样本数目; S2为非病毒样本集合中的非病毒样本数目,S,1为包括所述侯选病毒特征码的非病毒样 本数目,S22为不包括所述侯选病毒特征码的非病毒样本数目。
14.如权利要求8所述的装置,其特征在于,所述第二选择模块包括: 第二选择单元,用于选择信息赌未超过预设信息赌阔值的侯选病毒特征码,将所述选 择的侯选病毒特征码确定为病毒特征码;或者, 第H选择单元,用于选择信息赌最小的预设个数个侯选病毒特征码,将所述选择的侯 选病毒特征码确定为病毒特征码。
【文档编号】G06F21/56GK104424435SQ201310369733
【公开日】2015年3月18日 申请日期:2013年8月22日 优先权日:2013年8月22日
【发明者】管胜 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1