本发明涉及信息安全和病毒查杀领域。具体涉及到在病毒检测过程中提高病毒的检测效率的一种方法,是一种使病毒检测效率更高,消耗的资源更少的方法,减少病毒因查杀而导致的占用系统大量资源的方法。
背景技术:
计算机中毒后,可能会导致正常的程序无法运行,把计算机内的文件删除或加密,使计算机受到不同程度的损坏。所以计算器安装部署杀毒软件,并定期对磁盘进行扫描,对病毒进行查杀成为了一个安全管理员的日常巡检工作。传统的杀毒检测方法都是采用特征库比对的方式,通过对每个文件的特征和病毒库的特征作匹配,通过这种检测方式定期对计算机进行扫描,会长时间消耗机器大量的cpu资源和内存资源,甚至可能影响到业务的运行。
对杀毒作缓存,在首次病毒扫描后,提供记忆机制,在相同病毒库策略的情况下,跳过已经检测过的,确认为安全的文件。通过这种方式,在相同病毒库策略下,第二次以上的扫描可以通过直接和缓存中的数据做对比,直接出结果,只需要对新增的文件进行查杀扫描即可,例如:一台拥有200万个文件的服务器,(忽略文件大小)正常的情况下扫描大概在5-10小时(依服务器的性能决定),传统的缓存通过直接计算文件md5值的形式,这样在杀毒本身资源占用非常紧张的情况下,增加md5计算消耗的资源,还需要进行很多轮运算,需要效果较多的cpu资源,给系统带来了更大的资源消耗和负担。
因此,需要对现有技术进行改进。
技术实现要素:
本发明要解决的技术问题是提供一种高效的低资源消耗的二次快速杀毒方法。
为解决上述技术问题,本发明提供一种低资源消耗的二次快速杀毒方法:包括以下步骤:
1)、杀毒软件开始遍历目录和文件获得查杀结果;
2)、杀毒软件在遍历目录和文件获得查杀结果的同时,调用系统接口获取文件大小;
3)、每个文件均将其路径和文件大小转化成一个字符串,作为第一次加密hash值;
4)、将步骤3得到的第一次加密hash值以及相应的查杀结果写入cache文件;
5)、下一次扫描的时候加载cache文件进行比对。
作为对本发明低资源消耗的二次快速杀毒方法的改进:
在步骤3中:对字符串进行加密。
作为对本发明低资源消耗的二次快速杀毒方法的进一步改进:
加密方法为md5_16加密,转化成16byte。
作为对本发明低资源消耗的二次快速杀毒方法的进一步改进:
步骤5包括:
5.1、开始第二次扫描的时候,再次遍历目录和文件,同时调用系统接口获取文件大小,每个文件均将其路径和文件大小转化成一个字符串,对字符串进行md5_16加密,转化成16byte的第二次加密hash值;
5.2、第二次加密hash值和cache文件中的加密hash值进行对比;
如果cache文件中存在与第二次加密hash值相同的第一次加密hash值,则该第二次加密hash值对应的文件无需查杀,以第一次加密hash值相对应的查杀结果作为第二次加密hash值对应文件的查杀结果;
如果cache文件中不存在与第二次加密hash值相同的第一次加密hash值,则运行杀毒软件对第二次加密hash值对应文件进行查杀得到查杀结果。
作为对本发明低资源消耗的二次快速杀毒方法的进一步改进:
cache文件为对所有磁盘建立索引,每个盘单独存储该盘的所有文件定制的加密hash值,在扫描某个盘的时候加载相应的cache文件进行对比。
本发明低资源消耗的二次快速杀毒方法的技术优势为:
1、病毒检测效率显著提高;
2、多次查杀的情况下,查杀的时间更少;
3、对磁盘的读写时间和次数显著减少,降低磁盘损耗;
4、比起传统的缓存技术,扫描缓存过程中占用的cpu资源更少。
具体实施方式
下面结合具体实施例对本发明进行进一步描述,但本发明的保护范围并不仅限于此。
实施例1、低资源消耗的二次快速杀毒方法,包括以下步骤:
1、系统开始运行杀毒软件,杀毒软件开始遍历目录(路径)和文件获得查杀结果。
2、杀毒软件在遍历目录和文件获得查杀结果(安全文件或恶意文件)的同时,调用系统接口获取文件大小。
3、每个文件均将其路径和文件大小转化成一个字符串,对字符串进行md5_16加密,转化成16byte的第一次加密hash值。
转化规则:例如c:\windows\system32下的a文件大小为64b,那这个字符串就是cwindowssystem32x64b,转化规则并不单一,也可自定义。
4、将代表单个文件的字符串(步骤3得到的第一次加密hash值)以及相应的查杀结果写入一个定制的cache文件;
定制的cache文件为对所有磁盘建立索引,每个盘单独存储该盘的所有文件定制的第一次加密hash值,在扫描某个盘的时候加载相应的cache文件进行对比;
5、下一次扫描的时候加载这些数据,直接进行比对。
开始第二次扫描的时候,首先加载相应cache文件中的所有数据,扫描过程快速比对已检测确认为安全文件或恶意文件,无需再对所有文件和病毒库作匹配。
具体包括:
5.1、开始第二次扫描的时候,再次遍历目录(路径)和文件,同时调用系统接口获取文件大小,每个文件均将其路径和文件大小转化成一个字符串,对字符串进行md5_16加密,转化成16byte的第二次加密hash值。
5.2、第二次加密hash值和cache文件中的加密hash值进行对比;
如果cache文件中存在与第二次加密hash值相同的第一次加密hash值,则该第二次加密hash值对应的文件无需查杀,以第一次加密hash值相对应的查杀结果作为第二次加密hash值对应文件的查杀结果;
如果cache文件中不存在与第二次加密hash值相同的第一次加密hash值,则运行杀毒软件对第二次加密hash值对应文件进行查杀到查杀结果。
首先需要说明的是,本发明是计算机技术在信息安全技术领域的一种应用。在本发明的实现过程中,会涉及到计算机杀毒软件这个应用。申请人认为,如在仔细阅读申请文件、准确理解本发明的实现原理和发明目的以后,在结合现有公知技术的情况下,本领域技术人员完全可以运用其掌握的软件编程技能实现本发明。
1.低资源消耗的二次快速杀毒方法,其特征在于:包括以下步骤:
1)、杀毒软件开始遍历目录和文件获得查杀结果;
2)、杀毒软件在遍历目录和文件获得查杀结果的同时,获取文件大小;
3)、每个文件均将其路径和文件大小转化成一个字符串,作为第一次加密hash值;
4)、将步骤3得到的第一次加密hash值以及相应的查杀结果写入cache文件;
5)、下一次扫描的时候加载cache文件进行比对。
2.根据权利要求1所述的低资源消耗的二次快速杀毒方法,其特征在于:
在步骤3中:对字符串进行加密。
3.根据权利要求2所述的低资源消耗的二次快速杀毒方法,其特征在于:
加密方法为md5_16加密,转化成16byte。
4.根据权利要求3所述的低资源消耗的二次快速杀毒方法,其特征在于:
步骤5包括:
5.1)、开始第二次扫描的时候,再次遍历目录和文件,同时获取文件大小,每个文件均将其路径和文件大小转化成一个字符串,对字符串进行md5_16加密,转化成16byte的第二次加密hash值;
5.2)、第二次加密hash值和cache文件中的加密hash值进行对比;
如果cache文件中存在与第二次加密hash值相同的第一次加密hash值,则该第二次加密hash值对应的文件无需查杀,以第一次加密hash值相对应的查杀结果作为第二次加密hash值对应文件的查杀结果;
如果cache文件中不存在与第二次加密hash值相同的第一次加密hash值,则运行杀毒软件对第二次加密hash值对应文件进行查杀得到查杀结果。
5.根据权利要求4所述的低资源消耗的二次快速杀毒方法,其特征在于:
cache文件为对所有磁盘建立索引,每个盘单独存储该盘的所有文件定制的加密hash值,在扫描某个盘的时候加载相应的cache文件进行对比。