匹配病毒特征的方法及装置的制造方法

文档序号:8528394阅读:720来源:国知局
匹配病毒特征的方法及装置的制造方法
【技术领域】
[0001] 本发明涉及计算机技术领域,特别是涉及一种匹配病毒特征的方法及装置。
【背景技术】
[0002] 现有的查杀计算机病毒或计算机木马的软件在查杀计算机病毒的过程中,通过将 目标文件与病毒特征库中的特征进行匹配来对待查文件进行检测。通常情况下,每种计算 机病毒对应病毒特征库中的一个病毒特征记录,一个病毒特征记录对应一组特征方法(一 个或一个以上的函数)。在匹配过程中,则通过调用病毒特征记录对应的特征方法对待查文 件进行校验,若该组特征方法中的每个特征方法的返回结果均为校验通过,则待查文件即 为病毒文件或被病毒感染的文件,感染的病毒即为该病毒特征记录对应的计算机病毒或木 马。
[0003] 然而,病毒特征库中通常存储有多种病毒特征记录,例如可分别对应熊猫烧香病 毒、灰鸽子病毒等。计算机需要重复执行多个病毒特征记录中的多个特征方法,从而使得病 毒查杀的效率较低。

【发明内容】

[0004] 基于此,有必要提供一种能够提高病毒查杀效率的匹配病毒特征的方法。
[0005] -种匹配病毒特征的方法,包括:
[0006] 获取输入的目标文件;
[0007] 加载病毒特征库,依次由所述病毒特征库中提取特征函数标识,所述病毒特征库 中包含特征函数标识及其对应的病毒特征类型标识;
[0008] 获取与所述特征函数标识对应的特征函数,通过调用所述特征函数对所述目标文 件进行校验,获取相应的校验结果;
[0009] 根据所述校验结果获取所述目标文件对应的病毒特征类型标识。
[0010] 此外,还有必要提供一种能够提高病毒查杀效率的匹配病毒特征的装置。
[0011] 一种匹配病毒特征的装置,包括:
[0012] 目标文件获取模块,用于获取输入的目标文件;
[0013] 特征函数选择模块,用于加载病毒特征库,依次由所述病毒特征库中提取特征函 数标识,所述病毒特征库中包含特征函数标识及其对应的病毒特征类型标识;
[0014] 病毒特征匹配模块,用于获取与所述特征函数标识对应的特征函数,通过调用所 述特征函数对所述目标文件进行校验,获取相应的校验结果;
[0015] 匹配结果生成模块,用于根据所述校验结果获取所述目标文件对应的病毒特征类 型标识。
[0016] 上述匹配病毒特征的方法和装置在对目标文件进行病毒查杀时,同一个特征函数 只会执行一次,而不会根据需要匹配的病毒特征类型的不同而执行多次,从而减少了特征 函数重复执行的次数,提高了病毒查杀的效率。
【附图说明】
[0017] 图1为一个实施例中匹配病毒特征的方法的流程图;
[0018] 图2为一个实施例中匹配病毒特征的装置的结构示意图;
[0019] 图3为另一个实施例中匹配病毒特征的装置的结构示意图;
[0020] 图4为一个实施例中执行匹配病毒特征的方法的计算机硬件环境图。
【具体实施方式】
[0021] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0022] 可以理解,本发明所使用的术语"第一"、"第二"等可在本文中用于描述各种元件, 但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来 说,在不脱离本发明的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将 第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客 户端。
[0023] 除非上下文另有特定清楚的描述,本发明中的元件和组件,数量既可以单个的形 式存在,也可以多个的形式存在,本发明并不对此进行限定。本发明中的步骤虽然用标号进 行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执 行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。可以理解,本文中所使用的 术语"和/或"涉及且涵盖相关联的所列项目中的一者或一者以上的任何和所有可能的组 合。
[0024] 在一个实施例中,如图1所示,一种匹配病毒特征的方法,该方法可依赖于计算机 程序,能够运行于基于冯洛伊曼体系的计算机系统上。
[0025] 步骤S102,获取输入的目标文件。
[0026] 目标文件即为需要进行病毒扫描的文件。若用户希望对某个文件进行病毒扫描, 即可选中该文件,并输入或选择启动病毒扫描的指令,即可将该选中的需要进行病毒扫描 的文件作为目标文件输入。在另一个应用场景中,用户也可以选中某个磁盘分区或目录,启 动全局病毒查杀指令,即可遍历该磁盘分区或目录下的所有文件,并将每个遍历到的文件 作为目标文件输入。
[0027] 步骤S104,加载病毒特征库,依次由病毒特征库中提取特征函数标识,病毒特征库 中包含特征函数标识及其对应的病毒特征类型标识。
[0028] 病毒特征库中存储有用于对目标文件进行校验的特征函数的标识信息(即特征函 数标识),特征函数标识即用于校验目标文件是否与某项病毒特征匹配的函数的标识信息, 可以包括特征函数名称、参数名称或参数值等信息。
[0029] 例如,若某个特征函数:
[0030] checkByKeyfford(Stringkeyword,intoffside,Filetarget)
[0031] 用于判断目标文件中以偏移量为100 (即参数中的offise值为100)处为起始的 数据是否为字符串"trojan"(即参数中的keyword值为"trojan"),即在调用时需要以:
[0032] checkByKeyWord("trojan",100,target)
[0033] 的形式调用,其中target为目标文件的引用或指针,则其特征函数标识即可为:
[0034] checkByKeyfford#keyword:trojan#offside:100
[0035] 需要说明的是,上述特征函数标识仅为本方法的一种实现方式,在其他实施例中, 不限于上述定义特征函数标识的方法,可根据需要自行定义方便程序执行的特征函数标 识。例如,特征函数标识也可对应一组函数,该组函数可视为一个整体,均用于校验目标文 件是否与特征函数标识对应的病毒特征对应。在其他实施例中,多个特征函数标识也可对 应同一个函数,例如,
[0036] checkByKeyWord#keyword:trojan#offside:100 和checkByKeyWord#keyword: panda#offside:200 可对应同一个特征函数:checkByKeyWord(String[]keyword,int[] offside,Filetarget),在调用时,函数参数中的数组元素keyword[0]可以是"trojan", 1^}^(^(1[1]可以是、311(^";函数参数中的数组元素〇€€81(16[0]可以是100,〇€€81(16[1] 可以是200。
[0037] 在本实施例中,可遍历病毒特征库中的特征函数标识,每次一个或者每次多个提 取特征函数标识。例如,若以单线程或单进程方式进行匹配,则可在遍历病毒特征库时,每 次提取一个特征函数标识;若以多线程或多进程的方式进行匹配,则可在遍历病毒特征库 时,每次提取与线程数或进程数对应个数的特征函数标识。
[0038] 在本实施例中,需要对病毒特征库进行预先配置,其方法为:
[0039] 获取输入的特征函数标识,获取输入的与特征函数标识对应的病毒特征类型标 识;生成特征函数标识与病毒特征类型标识的映射信息,根据映射信息生成病毒特征库,映 射信息包括一对一、多对一、一对多或多对多的对应关系中的至少一种。
[0040] 病毒特征类型标识即对应了具体的某种类型的计算机病毒或木马。例如,可设置 熊猫烧香病毒的病毒特征类型标识为00001,灰鸽子病毒的病毒特征类型标识为00002,蠕 虫病毒的病毒特征类型标识为00003。可生成该病毒特征类型标识与输入的特征函数标识 的映射信息。若最终通过匹配得到目标文件对应某个或多个病毒特征类型标识,则表示该 目标文件已被该某个或多个病毒特征类型标识对应的计算机病毒或木马感染。
[0041] 映射信息可以是一对一的。例如,若查杀熊猫烧香病毒仅用了唯一的特征函数:
[0042] checkByKeyfford#keyword:panda#offside:100
[0043] 即可在数据库中创建checkByKeyWord#keyword:panda#offside: 100 与 00001 的 映射记录。
[0044] 映射信息也可以是多对一的。例如,查杀熊猫烧香病毒需要用到两个特征函数:
[0045] checkByKeyfford#keyword:panda#offside:100
[0046] checkByKeyfford#keyword:panda#offside:200
[0047] 即可在数据库中创建:
[0048] checkByKeyWord#keyword:panda#offside: 100 与 00001 的映射记录以及 checkByKeyWord#keyword:panda#offside:200 与 00001 的映射记录(即多个特征函数标识 对应一个病毒特征类型标识)。
[0049] 映射信息也可以是一对多的。例如,查杀熊猫烧香病毒和灰纟鸟子病毒均需要用到 特征函数:
[0050]checkByKeyfford#keyword:trojan#offside:100
[0051] 即可在数据库中创建:
[0052]checkByKeyWord#keyword:trojan#offside: 100 与 00001 的映射记录以及 checkByKeyWord#keyword:trojan#offside:100 与 00002 的映射记录(即一个特征函数标 识对应多个病毒特征类型标识)。
[0053] 映射信息也可以是多对多的。例如,查杀熊猫烧香病毒和灰纟鸟子病毒均需要用到 特征函数:
[0054]checkByKeyfford#keyword:trojan#offside :100
[0055]checkByKeyfford#keyword:trojan#o
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1