一种恶意软件的清除方法及系统的制作方法
【技术领域】
[0001]本发明属于计算机技术领域,尤其涉及一种恶意软件的清除方法及系统。
【背景技术】
[0002]计算机信息的发达不仅对社会造成重大影响,也改变人类的生活习惯。人们更是越来越依赖计算机系统来进行各种作业。而当中许多行为是通过因特网来进行,例如浏览网页、收发邮件、网络购物等等。据此,许多不肖份子为了达成某种企图而制造出恶意软件(Malic1us Software,Malware)来对计算机系统进行入侵。倘若使用者的计算机系统所连线的另一端为恶意网站,其计算机系统便会遭受到恶意软件的入侵。由于恶意软件会威胁计算机系统上机密资讯的安全或是对计算机系统造成伤害,因此任何使用计算机系统或网络的机关团体,无不耗费人力、物力来阻止恶意软件的入侵。其中多半是利用防毒软件来进行扫毒的动作。一般而言,防毒软件公司会对这些恶意软件进行捕获,并分析出这些恶意软件所对应的特征码,以提供扫毒软件在发现恶意软件入侵时将这些具有特征码的恶意软件移除。然而,恶意软件主要有两种元件,一个是负责攻击计算机系统的攻击元件,另一个是负责幕后操控与维护这些恶意程序的幕后操控元件(Instigator)。由于幕后操控元件仅在入侵的计算机系统中负责维护的工作,其并不直接参与攻击计算机系统,以致于防毒软件公司并不容易发现它的存在,也就不可能归纳出幕后操控元件的特征码,因此无法顺利的将幕后操控元件清除干净。当攻击元件被扫毒软件发现并删除后,幕后操控元件仍可通过复制产生或下载新的攻击元件,持续地窃取被入侵地计算机系统的机敏信息,造成企业或个人在不知不觉下持续外泄具有价值的资料,或持续破坏计算机系统,导致财产及声誉的损失。
【发明内容】
[0003]本发明实施例的目的在于提供一种恶意软件的清除方法及系统,旨在解决现有的防毒软件无法顺利的将幕后操控元件清除干净的问题。
[0004]本发明实施例是这样实现的,一种恶意软件的清除方法包括:
[0005]步骤一、建立关联图,所述关联图包括多个节点,所述节点分别对应至操作系统的多个程序及与所述程序相关的元件,其中所述节点之间的关联是依据所述程序与所述元件之间的关系而建立;
[0006]步骤二、当满足预设条件时,对所述关联图进行节点标示动作,其中所述节点标示动作包括沿着所述节点的输出关联及进入关联两者或其中之一进行标示,所述节点标示动作还包括:将恶意程序的节点及其相关联的节点标示上第一标记;将未标示上所述第一标记的正常程序的节点及其相关联的节点标示上第二标记;以及,针对同时标示上所述第一标记与所述第二标记的节点进行筛选,使得各所述节点仅标示上所述第一标记与所述第二标记其中之一;
[0007]步骤三、清除被标示上所述第一标记的节点所对应的程序及元件。
[0008]进一步,所述的恶意软件的清除系统包括:操作系统、关联图建立模组、恶意软件侦测模组、可疑物件区别模组、清除模组、报警模组和电源模组;
[0009]所述关联图建立模组建立关联图,所述关联图包括多个节点,所述节点分别对应操作系统的多个程序及与所述程序相关的元件,所述节点之间的关联是依据所述程序与所述元件之间的关系而建立;
[0010]所述恶意软件侦测模组,在所述操作系统中侦测恶意程序;
[0011]所述可疑物件区别模组,当满足预设条件时,通过该可疑物件区别模组对所述关联图进行节点标示动作,所述节点标示动作包括沿着所述节点的输出关联及进入关联两者或其中之一进行标示,所述节点标示动作还包括:将所述恶意程序的节点及其相关联的节点标示上第一标记;将未标示上所述第一标记的正常程序的节点及其相关联的节点标示上第二标记;以及针对同时标示上所述第一标记与所述第二标记的节点进行筛选,使得各所述节点仅标示上所述第一标记与所述第二标记其中之一;所述清除模组清除被标示上所述第一标记的节点所对应的程序及元件,若清除模组无法对被标示上所述第一标记的节点所对应的程序及元件进行清除,则有报警模组提出报警指示,由清除模组的强制清除模块进行强制清除,由电源模组对上述一种恶意软件的清除系统的各模组进行供电操作;
[0012]所述预设条件为当所述恶意软件侦测模组从所述程序中搜寻到所述恶意程序,并且侦测到所述恶意程序欲开始危害所述操作系统,并且在所述关联图中所述恶意程序的节点上广生进入关联。
[0013]进一步,所述的恶意软件的清除系统还包括一种计算机程序产品和一种计算机可读取存储媒体,所述的计算机程序产品包括多个程序指令,所述程序指令用以载入计算机系统中并且使得所述计算机系统执行恶意软件清除方法,所述的可读取存储媒体储存计算机程序,所述计算机程序用以载入至计算机系统中并且使得所述计算机系统执一种恶意软件的清除方法。
[0014]进一步,所述节点标示动作是依据节点标示规则,判断各所述节点的标记是否能够沿着所述输出关联及所述进入关联两者或其中之一进行标示,以决定所述节点的标记是否继续扩散至其相关联的节点来进行标示。
[0015]进一步,针对同时标示上所述第一标记与所述第二标记的节点进行筛选的步骤包括:当所述节点其中之一被同时标示上所述第一标记与所述第二标记时,判断所述节点是否存在于白名单中,以重新将所述节点标示为所述第一标记或所述第二标记;
[0016]判断同时被标示上所述第一标记与所述第二标记的节点是否存在于所述白名单的步骤包括:若所述节点不存在于所述白名单中,则重新将所述节点标示为所述第一标记,并且将与所述节点相关联的节点标示上所述第一标记;以及,若所述节点存在于所述白名单中,则对所述节点进行检验动作以判断所述节点是否受到所述恶意程序的感染。
[0017]进一步,所述检验动作包括:通过散列算法来检验所述节点所对应的程序或元件是否遭到所述恶意程序的感染;当所述节点所对应的程序或元件并未受到所述恶意程序的感染,重新将所述节点标示为所述第二标记;当所述节点所对应的程序或元件受到所述恶意程序的感染,利用恢复机制来复原所述节点所对应的程序或元件。
[0018]进一步,在利用所述恢复机制来复原所述节点所对应的程序或元件的步骤之后,还包括:重新将所述节点标示为所述第二标记。
[0019]进一步,所述预设条件为从所述程序中搜寻到所述恶意程序,并且所述恶意程序欲开始危害所述操作系统,并且所述恶意程序的节点上产生所述进入关联。
[0020]进一步,所述可疑物件区别模组是依据节点标示规则,判断各所述节点的标记是否能够沿着所述输出关联及所述进入关联两者或其中之一进行标示,以决定所述节点的标记是否继续扩散至其相关联的节点来进行标示,所述可疑物件区别模组针对同时标示上所述第一标记与所述第二标记的节点进行筛选的步骤还包括:当所述节点其中之一被同时标示上所述第一标记与所述第二标记时,判断所述节点是否存在于白名单中;若所述节点不存在于所述白名单中,则重新将所述节点标示为所述第一标记,并且将与所述节点相关联的节点标示为所述第一标记;以及,若所述节点存在于所述白名单中,则对所述节点进行检验动作以判断所述节点是否受到所述恶意程序的感染。
[0021]进一步,所述可疑物件区别模组所进行的所述检验动作包括:通过散列算法来检验所述节点所对应的程序或元件是否遭到所述恶意程序的感染;当所述节点所对应的程序或元件并未受到所述恶意程序的感染,重新将所述节点标示为所述第二标记;以及,当所述节点所对应的程序或元件受到