著录项信息
专利名称 | 木马扫描方法及系统 |
申请号 | CN201110283980.7 | 申请日期 | 2011-09-22 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-04-03 | 公开/公告号 | CN103020521A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/56 | IPC分类号 | G;0;6;F;2;1;/;5;6查看分类表>
|
申请人 | 腾讯科技(深圳)有限公司 | 申请人地址 | 广东省深圳市福田区振兴路赛格科技园2栋东403室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 腾讯科技(深圳)有限公司 | 当前权利人 | 腾讯科技(深圳)有限公司 |
发明人 | 彭宁;宋爱元 |
代理机构 | 广州华进联合专利商标代理有限公司 | 代理人 | 何平;曾旻辉 |
摘要
一种木马扫描方法包括如下步骤:获取待扫描文件;从获取的待扫描文件中逐一提取待扫描文件的属性信息;将提取的属性信息与存储的属性信息进行比对,判断待扫描文件的属性信息与存储的属性信息是否相同,若否,则扫描与提取的属性信息对应的待扫描文件。上述木马扫描方法及系统中当待扫描文件的属性信息与预先存储的属性信息不相同时,对这一待扫描文件进行安全性扫描,以判定是否标识为正常状态,未对属性信息与预先存储的属性信息相同的待扫描文件进行安全性扫描,属性信息与预先存储的属性信息相同的待扫描文件未被修改的概率非常大,因此,需要进行扫描的文件数量大大减少,灵活地降低了资源耗费,并且保证了文件的安全性,提升文件扫描速度。
木马扫描方法及系统\n【技术领域】\n[0001] 本发明涉及数据处理技术,特别是涉及一种木马扫描方法及系统。\n【背景技术】\n[0002] 为了维护系统安全,常常通过运行杀毒软件来实现文件的安全性扫描,识别出影响安全的可疑文件。用户在完成了一次安全性扫描之后还会不定期或者定期地再次进行安全性扫描。\n[0003] 用户所进行的多次安全性扫描中判定结果为正常的文件仍然会与其他发生了更改的文件一起进入下一次安全性扫描,例如,杀毒软件在计算机中运行通过文件的特征识别判定出正常文件和可疑文件,并且对可疑文件进行了处理;在杀毒软件的下一次运行中,还会对这些正常文件以及计算机中进行了添加、修改等操作的文件进行扫描。每一次安全性扫描都一个复杂的过程,耗费了大量的系统资源和时间资源,且对于正常文件而言若没有发生被修改的状况或者未发生任何变化,是不会由上一次扫描结果判定为正常的文件变为可疑文件的。\n[0004] 扫描的文件中大多数文件都是正常文件,可疑文件仅为所有扫描文件中的少数数据文件,在多次安全性扫描过程中不断地重复扫描正常文件,而实际需要进行安全性扫描的文件其实仅限于发生了修改或者变化的文件,因此为提高扫描速度,在安全性扫描的过程中只对发生了修改或者变化的文件进行扫描,传统的实现方式是在NTFS文件系统中通过USN(Update Service Number Journal or Change Journal,简称更新序列号)日志记录NTFS分区中文件的所有更改,在进行文件的安全性扫描之前可通过查询USN日志获知哪些文件发生了变化,进而扫描这些发生了变化的文件。\n[0005] 但是,这一传统的实现方式不能使用在除了NTFS文件系统之外的其它文件系统中,缺乏灵活性。\n【发明内容】\n[0006] 基于此,有必要提供一种能灵活地降低资源耗费的木马扫描方法。\n[0007] 此外,还有必要提供一种能灵活地降低资源耗费的木马扫描系统。\n[0008] 一种木马扫描方法,包括如下步骤:\n[0009] 获取待扫描文件;\n[0010] 从所述获取的待扫描文件中逐一提取待扫描文件的属性信息;\n[0011] 将所述提取的属性信息与存储的属性信息进行比对,判断所述提取的属性信息与存储的属性信息是否相同,若否,则扫描与所述提取属性信息对应的待扫描文件;\n[0012] 所述存储的属性信息是上一次木马扫描结果中标识为正常状态的文件所对应的属性信息。\n[0013] 优选地,所述将所述提取的属性信息与存储的属性信息进行比对的步骤之后还包括:\n[0014] 当判断到所述提取的属性信息与存储的属性信息相同时,从所述获取的待扫描文件中移除与所述提取的属性信息对应的待扫描文件。\n[0015] 优选地,所述将所述提取的属性信息与存储的信息进行比对的步骤之前还包括:\n[0016] 获取木马扫描结果;\n[0017] 从所述木马扫描结果中提取标识为正常状态的文件;\n[0018] 逐一获取所述标识为正常状态的文件所对应的属性信息,并存储。\n[0019] 优选地,所述存储的步骤为:\n[0020] 缓存每一个标识为正常状态的文件所对应的属性信息。\n[0021] 优选地,所述属性信息为属性值,所述属性值唯一标识对应的属性信息;所述将所述提取的属性信息与存储的属性信息进行比对的步骤之前还包括:\n[0022] 对所述提取的属性信息进行计算得到所述待扫描文件对应的属性值;\n[0023] 计算所述获取的文件的属性信息得到所述获取的文件所对应的属性值。\n[0024] 优选地,所述对所述提取的属性信息进行计算得到所述待扫描文件对应的属性值的步骤之后还包括:\n[0025] 从所述提取的属性信息中提取待扫描文件的文件路径名,并对文件路径名进行计算得到所述待扫描文件对应的信息摘要值;\n[0026] 所述计算所述获取的文件的属性信息得到所述获取的文件所对应的属性值的步骤之后还包括:\n[0027] 从所述获取的文件的属性信息中提取文件路径名,并对所述文件路径名进行计算得到所述获取的文件所对应的信息摘要值;\n[0028] 以所述获取的文件所对应的信息摘要值为索引建立所述信息摘要值与所述获取的文件所对应的属性值之间的对应关系,并存储所述对应关系。\n[0029] 优选地,所述将所述待扫描文件的属性信息与存储的属性信息进行比对的步骤为:\n[0030] 对所述存储的信息摘要值进行查询,所述查询得到的信息摘要值与所述待扫描文件对应的信息摘要值相同;\n[0031] 从存储的对应关系中获取与查询到的信息摘要值存在对应关系的存储的属性值;\n[0032] 判断待扫描文件对应的属性值与存储的属性值是否相同,若否,则进入所述扫描与所述提取的属性信息对应的待扫描文件的步骤,若是,则进入所述从所述获取的待扫描文件中移除所述待扫描文件的步骤。\n[0033] 一种木马扫描系统,包括:\n[0034] 文件枚举模块,用于获取待扫描文件;\n[0035] 信息获取模块,用于从所述获取的待扫描文件中逐一提取待扫描文件的属性信息;\n[0036] 比对模块,用于将所述提取的属性信息与存储的属性信息进行比对,判断所述提取的属性信息与存储的属性信息是否相同,若否,则通知扫描模块;\n[0037] 所述扫描模块用于扫描与所述属性信息对应的待扫描文件;\n[0038] 所述存储的属性信息是上一次木马扫描结果中标识为正常状态的文件所对应的属性信息。\n[0039] 优选地,还包括:\n[0040] 文件移除模块,用于当判断到所述提取的属性信息与存储的属性信息相同时,从所述获取的待扫描文件中移除与所述提取的属性信息对应的待扫描文件。\n[0041] 优选地,还包括:\n[0042] 结果获取模块,用于获取木马扫描结果;\n[0043] 提取模块,用于从木马扫描结果中提取标识为正常状态的文件;\n[0044] 所述信息获取模块还用于逐一获取所述标识为正常状态的文件所对应的属性信息,并存储。\n[0045] 优选地,所述信息获取模块还用于缓存每一个标识为正常状态的文件所对应的属性信息。\n[0046] 优选地,所述属性信息为属性值,所述属性值唯一标识对应的属性信息,所述系统还包括:\n[0047] 属性值计算模块,用于对所述提取的属性信息进行计算得到所述待扫描文件对应的属性值,并计算所述获取的文件的属性信息得到所述获取的文件所对应的属性值。\n[0048] 优选地,还包括:\n[0049] 摘要值计算模块,用于从所述提取的属性信息中提取待扫描文件的文件路径名,并对所述待扫描文件的文件路径名进行计算得到所述待扫描文件对应的信息摘要值;\n[0050] 所述摘要值计算模块还用于从所述获取的文件的属性信息中提取文件路径名,并对所述文件路径名进行计算得到所述获取的文件所对应的信息摘要值;\n[0051] 关系建立模块,用于以所述获取的文件所对应的信息摘要值为索引建立所述信息摘要值与所述获取的文件所对应的属性值之间的对应关系,并存储所述对应关系。\n[0052] 优选地,所述比对模块包括:\n[0053] 查询单元,用于对所述存储的信息摘要值进行查询,所述查询得到的信息摘要值与所述待扫描文件对应的信息摘要值相同;\n[0054] 属性值比对单元,用于从存储的对应关系中获取与查询到的信息摘要值存在对应关系的存储的属性值;\n[0055] 判断单元,用于判断待扫描文件对应的属性值与存储的属性值是否相同,若否,则通知所述扫描模块,若是,则通知所述文件移除模块。\n[0056] 上述木马扫描方法及系统中,当待扫描文件的属性信息与预先存储的属性信息不相同时,对这一待扫描文件进行安全性扫描,以判定这一待扫描文件是否标识为正常状态,未对属性信息与预先存储的属性信息相同的待扫描文件进行安全性扫描,由于属性信息与预先存储的属性信息相同的待扫描文件未被修改的概率非常大,因此,进行安全性扫描的待扫描文件大大减少,灵活地降低了资源耗费,并且也保证了文件的安全性,提升文件扫描速度。\n[0057] 上述木马扫描方法及系统中,属性信息为根据属性信息计算得到的属性值,与包含了多种信息的属性信息相比较,属性值只是一串字符,在存储的过程中可避免存储数据过大的问题发生,降低占用的资源。\n[0058] 上述木马扫描方法及系统中,对于木马扫描结果中标识为正常状态的文件,根据属性信息中的文件路径名进行计算得到相应的信息摘要值,并以信息摘要值为索引建立信息摘要值与属性值之间的对应关系,可有效地提高对存储的属性值的查询、比对速度,进而提升了文件扫描速度。\n【附图说明】\n[0059] 图1为一个实施例中木马扫描方法的流程图;\n[0060] 图2为另一个实施例中木马扫描方法的流程图;\n[0061] 图3为另一个实施例中木马扫描方法的流程图;\n[0062] 图4为一个实施例中木马扫描系统的结构示意图;\n[0063] 图5为另一个实施例中木马扫描系统的结构示意图;\n[0064] 图6为另一个实施例中木马扫描系统的结构示意图;\n[0065] 图7为另一个实施例中木马扫描系统的结构示意图;\n[0066] 图8为图7中比对模块的结构示意图。\n【具体实施方式】\n[0067] 图1示出了一个实施例中文件扫描的方法流程,包括如下步骤:\n[0068] 步骤S110,获取待扫描文件。\n[0069] 本实施例中,在开启病毒查杀软件或者木马查杀软件的扫描引擎后,根据用户在查杀界面选择文件的扫描范围的操作获取需要进行扫描的文件,这些文件作为待扫描文件。在获取待扫描文件的过程中,为使文件扫描在运行的过程中易于维护,按照用户选择文件的扫描范围的操作将多个待扫描文件按照设定的队列长度进行枚举形成特定长度的枚举队列,以等待扫描。\n[0070] 步骤S130,从获取的待扫描文件中逐一提取待扫描文件的属性信息。\n[0071] 本实施例中,在获取到的待扫描文件中提取每一待扫描文件的属性信息。具体地,属性信息包括了文件路径名、文件生成时间、文件修改时间、文件大小以及文件标识号等信息。通过属性信息可以看出待扫描文件是否被实施了修改操作。\n[0072] 在实际的应用过程中,属性信息中包含的信息可能是多种多样的,例如,为减小数据量,属性信息可以仅仅包括文件生成时间、文件修改时间以及文件大小,通过这一属性信息也可以获知对应的待扫描文件是否被实施了修改操作,但是,这一属性信息被木马程序利用的概率可能较高,因为木马程序在修改了文件后,将文件生成时间和文件修改时间修改为原先的文件生成时间和文件修改时间,造成文件没有被修改的假象;而包含了文件标识号的属性信息由于是操作系统进行分配的,实施修改操作较为困难,因此,在优选的实施例中,属性信息包括了文件路径名、文件生成时间、文件修改时间、文件大小以及文件标识号等,包含了文件标识号的属性信息被木马程序修改的可能性较低,而文件路径名有利于优化后续的处理过程。\n[0073] 步骤S150,将提取的属性信息与存储的属性信息进行比对,判断提取的属性信息与存储的属性信息是否相同,若否,则进入步骤S170,若是,则进入步骤S190。\n[0074] 本实施例中,存储的属性信息是上一次木马扫描结果中标识为正常状态的文件所对应的属性信息。将提取到的待扫描文件的属性信息与预先存储的属性信息进行逐一比对,以判断待扫描文件的属性信息是否与存储的某一属性信息相同;当判断到提取的待扫描文件的属性信息与存储的某一属性信息相同时,说明待扫描文件自上一次扫描起未进行过任何修改,因此可以确定此时这一待扫描文件是安全的,不需要再次进行扫描;当判断到提取的待扫描文件的属性信息与存储的所有属性信息均不相同时,说明该待扫描文件发生了变化,可能被木马程序进行了修改,因此,需要对该待扫描文件进行扫描,以判断该待扫描文件的安全性。\n[0075] 此外,若上述文件扫描过程为首次扫描,或者获取的待扫描文件是首次进行扫描,则并不存在与之对应的预先存储的属性信息,此时,应当对该待扫描文件直接进行木马扫描,并存储得到的木马扫描结果中标识为正常状态的文件所对应的属性信息。\n[0076] 步骤S170,扫描与提取的属性信息对应的待扫描文件。\n[0077] 本实施例中,触发扫描引擎对属性信息发生了变化的待扫描文件进行扫描,根据得到的扫描结果判定该文件中是否存在木马程序,若根据扫描结果获知该文件是标识为正常状态,是安全的文件,则将对应的属性信息存储起来,以用于下一次扫描时对待扫描文件的比对。\n[0078] 步骤S190,从获取的待扫描文件中移除与提取的属性信息对应的待扫描文件。\n[0079] 本实施例中,获取到的待扫描文件是用户选择确定的,但是,在实际的文件扫描过程中,对于未发生变化的待扫描文件由于上一次扫描已经确定了这一待扫描文件是处于正常状态的,因此不需要再对其进行木马扫描,即,当判断到待扫描文件未发生任何变化,不需要再次进行扫描时,从获取的待扫描文件中移除该待扫描文件,以减少待扫描文件的数量,进而减少不必要的资源耗费。\n[0080] 在另一个实施例中,如图2所示,上述将提取的属性信息与存储的属性信息进行比对的步骤之前还包括如下步骤:\n[0081] 步骤S210,获取木马扫描结果。\n[0082] 本实施例中,在完成木马扫描后获取木马扫描结果,该木马扫描结果中记录了经过木马扫描的文件所对应的文件名以及状态标识等信息,即通过木马扫描结果可以知道哪些文件标识为正常状态,哪些文件标识为危险状态。\n[0083] 步骤S230,从木马扫描结果中提取标识为正常状态的文件。\n[0084] 步骤S250,逐一获取标识为正常状态的文件所对应的属性信息,并存储。\n[0085] 本实施例中,在获取到每一个标识为正常状态的文件所对应的属性信息后,将这些属性信息存储起来,以用于文件扫描过程中的比对。在优选的实施例中,应用缓存机制为文件扫描提供较高的性能,缓存每一个标识为正常状态的文件所对应的属性信息,实现较为迅速的数据查询速度以及占用资源较少的文件扫描性能。\n[0086] 在另一个实施例中,在上述木马扫描方法中,属性信息为属性值,该属性值唯一标识对应的属性信息,上述将提取的属性信息与存储的属性信息进行比对的步骤之前还包括:对提取的属性信息进行计算得到待扫描文件对应的属性值,计算获取的文件的属性信息得到获取的文件所对应的属性值。\n[0087] 本实施例中,存储属性信息可能会占用较多的存储空间,为避免存储的信息量过大,减少占用的空间,对属性信息进行加密计算得到属性值。通过判断属性值是否变化来判断对应的属性信息是否发生了变化,该属性值可以是MD5值、CRC值(Cyclical Redundancy Check,循环冗余校验)以及HASH值(哈希值)中的任意一种。\n[0088] 在另一个实施例中,如图3所示,上述木马扫描方法包括如下步骤:\n[0089] 步骤S301,获取待扫描文件。\n[0090] 步骤S302,从获取的待扫描文件中逐一获取待扫描文件的属性信息。\n[0091] 步骤S303,对提取的属性信息进行计算得到待扫描文件对应的属性值。\n[0092] 步骤S304,从提取的属性信息中提取待扫描文件的文件路径名,并对文件路径名进行计算得到待扫描文件对应的信息摘要值。\n[0093] 本实施例中,为加快比对速度,可根据待扫描文件的文件路径名对存储的属性信息进行查找。由于属性信息为属性值,对应地,也应当对文件路径名进行加密计算得到对应的信息摘要值,属性值与信息摘要值是相对应的,例如,若属性值是HASH值,则信息摘要值也为HASH值的形式。\n[0094] 例如,若某一待扫描文件的文件路径名为C:\Windows\System32\kernel32.dll,在对C:\Windows\System32\kernel32.dll进行加密计算之后得到一串字符,这一串字符即为对应的信息摘要值。\n[0095] 步骤S305,对存储的信息摘要值进行查询,查询得到的信息摘要值与待扫描文件对应的信息摘要值相同。\n[0096] 本实施例中,在存储的多个信息摘要值中进行查询,以从存储的多个信息摘要值中得到与待扫描文件的信息摘要值相同的某一个信息摘要值。在查询过程中,为从存储的大量数据中获取到相关的属性值,以信息摘要值为索引进行查找。信息摘要值是对文件路径名进行加密计算得到的,是文件路径名的唯一标识,由于一个文件路径名下可能存在着多个文件,即某一信息摘要值可能与多个文件的属性值是相对应的。\n[0097] 步骤S306,从存储的对应关系中获取与查询得到的信息摘要值存在对应关系的存储的属性值。\n[0098] 本实施例中,由于预先存储了文件的信息摘要值以及对应的属性值,并建立了信息摘要值与属性值之间的对应关系,因此,由信息摘要值可以查找到该文件的属性值。\n[0099] 从存储的信息摘要值中查询到与待扫描文件对应的信息摘要值相同的某一信息摘要值后,根据存储的对应关系可以得到存储的一个或者多个属性值。\n[0100] 步骤S307,判断待扫描文件对应的属性值与存储的属性值是否相同,若否,则进入步骤S308,若是,则进入步骤S309。\n[0101] 本实施例中,判断待扫描文件对应的属性值是否发生变化,当判断到待扫描文件对应的属性值与存储的属性值相同时,说明待扫描文件对应的属性值没有发生变化,进而可以获知属性信息和待扫描文件均未发生任何变化,因此可以确认这一待扫描文件是标识为正常状态的安全文件,不需要再次对这一待扫描文件进行扫描,当判断到待扫描文件对应的属性值与存储的属性值不相同时,说明待扫描文件对应的属性值发生了变化,存在着待扫描文件被木马程序修改了的可能性,因此应当对该待扫描文件进行扫描。\n[0102] 步骤S308,扫描与提取的属性值对应的待扫描文件。\n[0103] 步骤S309,从获取的待扫描文件中移除待扫描文件。\n[0104] 步骤S310,获取木马扫描结果。\n[0105] 步骤S311,从木马扫描结果中提取标识为正常状态的文件。\n[0106] 本实施例中,在完成扫描后,从扫描得到的木马扫描结果中提取标识为正常状态的文件,该标识为正常状态的文件是安全的文件。\n[0107] 步骤S312,逐一获取标识为正常状态的文件所对应的属性信息。\n[0108] 步骤S313,计算获取的文件的属性信息得到获取的文件所对应的属性值。\n[0109] 步骤S314,从获取的文件的属性信息中提取文件路径名,并对文件路径名进行计算得到获取的文件所对应的信息摘要值。\n[0110] 本实施例中,从获取的文件的属性信息中提取到该文件的文件路径名,进而对该文件的文件路径名进行加密计算得到信息摘要值。\n[0111] 步骤S315,以获取的文件所对应的信息摘要值为索引建立信息摘要值与获取的文件所对应的属性值之间的对应关系,并存储该对应关系。\n[0112] 本实施例中,为加快处理过程中的查询速度,属性值是以信息摘要值为索引存储的。由于一个文件路径名下可能存在着多个文件,因此在信息摘要值与获取的文件所对应的属性值之间的对应关系中,一个信息摘要值可能对应了多个属性值。\n[0113] 图4示出了一个实施例中的木马扫描系统,包括文件枚举模块102、信息获取模块\n104、比对模块106、扫描模块108以及文件移除模块110。\n[0114] 文件枚举模块102,用于获取待扫描文件。\n[0115] 本实施例中,在开启病毒查杀软件或者木马查杀软件的扫描引擎后,文件枚举模块102根据用户在查杀界面选择文件的扫描范围的操作获取需要进行扫描的文件,这些文件作为待扫描文件。文件枚举模块102在获取待扫描文件的过程中,为使文件扫描在运行的过程中易于维护,按照用户选择文件的扫描范围的操作将多个待扫描文件按照设定的队列长度进行枚举形成特定长度的枚举队列,以等待扫描。\n[0116] 信息获取模块104,用于从获取的待扫描文件中逐一提取待扫描文件的属性信息。\n[0117] 本实施例中,信息获取模块104在获取到的待扫描文件中提取每一待扫描文件的属性信息,每一待扫描文件所对应的属性信息均各不相同。具体地,属性信息包括了文件路径名、文件生成时间、文件修改时间、文件大小以及文件标识号等信息。通过属性信息可以看出待扫描文件是否被实施了修改操作。\n[0118] 在实际的应用过程中,属性信息中包含的信息可能是多种多样的,例如,为减小数据量,属性信息可以仅仅包括文件生成时间、文件修改时间以及文件大小,通过这一属性信息也可以获知对应的待扫描文件是否被实施了修改操作,但是,这一属性信息被木马程序利用的概率可能较高,因为木马程序在修改了文件后,将文件生成时间和文件修改时间修改为原先的文件生成时间和文件修改时间,造成文件没有被修改的假象;而包含了文件标识号的属性信息由于是操作系统进行分配的,实施修改操作较为困难,因此,在优选的实施例中,属性信息包括了文件路径名、文件生成时间、文件修改时间、文件大小以及文件标识号,包含了文件标识号的属性信息被木马程序修改的可能性较低,而文件路径名有利于优化后续的处理过程。\n[0119] 比对模块106,用于将提取的属性信息与存储的属性信息进行比对,判断提取的属性信息与存储的属性信息是否相同,若否,则通知扫描模块108,若是,则通知文件移除模块\n110。\n[0120] 本实施例中,由于预先存储了多个属性信息,该属性信息所对应的文件是所有经过了扫描确认标识为正常状态的文件,比对模块106将提取到的待扫描文件的属性信息与预先存储的属性信息进行逐一比对,以判断待扫描文件的属性信息是否与存储的某一属性信息相同;当比对模块106判断到提取的待扫描文件的属性信息与存储的某一属性信息相同时,说明待扫描文件自上一次扫描起未进行过任何修改,因此可以确定此时这一待扫描文件是安全的,不需要再次进行扫描;当比对模块106判断到提取的待扫描文件的属性信息与存储的所有属性信息均不相同时,说明该待扫描文件发生了变化,可能被木马程序进行了修改,因此,需要对该待扫描文件进行扫描,以判断该待扫描文件的安全性。\n[0121] 此外,若上述文件扫描过程为首次扫描,或者获取的待扫描文件是首次进行扫描,则并不存在与之对应的预先存储的属性信息,此时,应当通知扫描模块108对该待扫描文件直接进行木马扫描,并存储得到的木马扫描结果中标识为正常状态的文件所对应的属性信息。\n[0122] 扫描模块108,用于扫描与提取的属性信息对应的待扫描文件。\n[0123] 本实施例中,扫描模块108触发扫描引擎对属性信息发生了变化的待扫描文件进行扫描,根据得到的扫描结果判定该文件中是否存在木马程序,若根据扫描结果获知该文件标识为正常状态,是安全的文件,则将对应的属性信息存储起来,以用于下一次扫描时对待扫描文件的比对。\n[0124] 文件移除模块110,用于从获取的待扫描文件中移除待扫描文件。\n[0125] 本实施例中,获取到的待扫描文件是用户选择确定的,但是,在实际的文件扫描过程中,对于未发生变化的待扫描文件由于上一次扫描已经确定了这一待扫描文件是处于正常状态的,因此不需要再对其进行木马扫描,即,当判断到待扫描文件未发生任何变化,不需要再次进行扫描时,文件移除模块110从枚举队列中移除该待扫描文件,以减少待扫描文件的数量,进而减少不必要的资源耗费。\n[0126] 在另一个实施例中,如图5所示,上述木马扫描系统还包括了结果获取模块112以及提取模块114。\n[0127] 结果获取模块112,用于获取木马扫描结果。\n[0128] 本实施例中,在完成木马扫描后获取木马扫描结果,该木马扫描结果中记录了经过木马扫描的文件所对应的文件名以及状态标识等信息,即通过木马扫描结果可以知道哪些文件标识为正常状态,哪些文件标识为危险状态。\n[0129] 提取模块114,用于从木马扫描结果中提取标识为正常状态的文件。\n[0130] 信息获取模块104还用于逐一获取标识为正常状态的文件所对应的属性信息,并存储。\n[0131] 本实施例中,在获取到每一个标识为正常状态的文件所对应的属性信息后,信息获取模块104将这些属性信息存储起来,以用于文件扫描过程中的比对。在优选的实施例中,应用缓存机制为文件扫描提供较高的性能,信息获取模块104缓存每一个标识为正常状态的文件所对应的属性信息,实现较为迅速的数据查询速度以及占用资源较少的文件扫描性能。\n[0132] 在另一个实施例中,属性信息为属性值,该属性值唯一标识对应的属性信息,如图\n6所示,上述木马扫描系统还包括了属性值计算模块116。\n[0133] 属性值计算模块116,用于对提取的属性信息进行计算得到待扫描文件对应的属性值,并计算获取的文件的属性信息得到获取的文件所对应的属性值。\n[0134] 本实施例中,存储属性信息可能会占用较多的存储空间,为避免存储的信息量过大,减少占用的空间,属性值计算模块116对属性信息进行加密计算得到属性值。通过判断属性值是否变化来判断对应的属性信息是否发生了变化,该属性值可以是MD5值、CRC值以及HASH值中的任意一种。\n[0135] 在另一个实施例中,如图7所示,上述木马扫描系统中还包括了摘要值计算模块\n118以及关系建立模块120。\n[0136] 摘要值计算模块118,用于从提取的属性信息中提取待扫描文件的文件路径名,并对待扫描文件的文件路径名进行计算得到待扫描文件对应的信息摘要值。\n[0137] 本实施例中,为加快比对速度,摘要值计算模块118可根据待扫描文件的文件路径名对存储的属性信息进行查找。由于属性信息为属性值,对应地,也应当对文件路径名进行加密计算得到对应的信息摘要值,属性值与信息摘要值是相对应的,例如,若属性值是HASH值,则信息摘要值也为HASH值的形式。\n[0138] 摘要值计算模块118还用于从获取的文件的属性信息中提取文件路径名,并对文件路径名进行计算得到获取的文件所对应的信息摘要值。\n[0139] 本实施例中,摘要值计算模块118从获取的文件的属性信息中提取到该文件的文件路径名,进而对该文件的文件路径名进行加密计算得到信息摘要值。\n[0140] 关系建立模块120,用于以获取的文件所对应的信息摘要值为索引建立信息摘要值与获取的文件所对应的属性值之间的对应关系,并存储对应关系。\n[0141] 本实施例中,为加快处理过程中的查询速度,属性值是以信息摘要值为索引存储的。由于一个文件路径名下可能存在着多个文件,因此在信息摘要值与获取的文件所对应的属性值之间的对应关系中,一个信息摘要值可能对应了多个属性值。\n[0142] 在一个具体地实施例中,如图8所示,比对模块106包括查询单元1062、属性值查询单元1064以及判断单元1068。\n[0143] 查询单元1062,用于对存储的信息摘要值进行查询,查询得到的信息摘要值与待扫描文件对应的信息摘要值相同。\n[0144] 本实施例中,查询单元1062在存储的多个信息摘要值中进行查询,以从存储的多个信息摘要值中得到与待扫描文件的信息摘要值相同的某一个信息摘要值。在查询过程中,为从存储的大量数据中获取到相关的属性值,以信息摘要值为索引进行查找。信息摘要值是对文件路径名进行加密计算得到的,是文件路径名的唯一标识,由于一个文件路径名下可能存在着多个文件,即某一信息摘要值可能与多个文件的属性值是相对应的。\n[0145] 属性值查询单元1064,用于从存储的对应关系中获取与查询到的信息摘要值存在对应的关系的存储的属性值。\n[0146] 本实施例中,由于预先存储了文件的信息摘要值以及对应的属性值,并建立了信息摘要值与属性值之间的对应关系,因此,属性值查询单元1064由信息摘要值可以查找到该文件的属性值。\n[0147] 从存储的信息摘要值中查询到与待扫描文件对应的信息摘要值相同的某一信息摘要值后,属性值查询单元1064根据存储的对应关系可以得到存储的一个或者多个属性值。\n[0148] 判断单元1066,用于判断待扫描文件对应的属性值与存储的属性值是否相同,若否,则通知扫描模块108,若是,则通知文件移除模块110。\n[0149] 本实施例中,判断单元350判断待扫描文件对应的属性值是否发生变化,当判断到待扫描文件对应的属性值与存储的属性值相同时,说明待扫描文件对应的属性值没有发生变化,进而可以获知属性信息和待扫描文件均未发生任何变化,因此可以确认这一待扫描文件是标识为正常状态的安全文件,不需要再次对这一待扫描文件进行扫描,当判断到待扫描文件对应的属性值与存储的属性值不相同时,说明待扫描文件对应的属性值发生了变化,存在着待扫描文件被木马程序修改了的可能性,因此应当对该待扫描文件进行扫描。\n[0150] 上述木马扫描方法及系统中,当待扫描文件的属性信息与预先存储的属性信息不相同时,对这一待扫描文件进行安全性扫描,以判定这一待扫描文件是否标识为正常状态,未对属性信息与预先存储的属性信息相同的待扫描文件进行安全性扫描,由于属性信息与预先存储的属性信息相同的待扫描文件未被修改的概率非常大,因此,进行安全性扫描的待扫描文件大大减少,灵活地降低了资源耗费,并且也保证了文件的安全性,提升文件扫描速度。\n[0151] 上述木马扫描方法及系统中,属性信息为根据属性信息计算得到的属性值,与包含了多种信息的属性信息相比较,属性值只是一串字符,在存储的过程中可避免存储数据过大的问题发生,降低占用的资源。\n[0152] 上述木马扫描方法及系统中,对于木马扫描结果中标识为正常状态的文件,根据属性信息中的文件路径名进行计算得到相应的信息摘要值,并以信息摘要值为索引建立信息摘要值与属性值之间的对应关系,可有效地提高对存储的属性值的查询、比对速度,进而提升了文件扫描速度。\n[0153] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
法律信息
- 2015-10-21
- 2013-05-01
实质审查的生效
IPC(主分类): G06F 21/56
专利申请号: 201110283980.7
申请日: 2011.09.22
- 2013-04-03
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-11-19
|
2008-06-30
| | |
2
| |
2008-04-23
|
2007-09-20
| | |
3
| |
2010-02-03
|
2008-07-31
| | |
4
| |
2010-08-04
|
2009-12-30
| | |
5
| |
2007-05-16
|
2006-12-04
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |