CN102722680B - 清除恶意程序的方法和系统 - Google Patents

清除恶意程序的方法和系统 Download PDF

Info

Publication number
CN102722680B
CN102722680B CN201210186501.4A CN201210186501A CN102722680B CN 102722680 B CN102722680 B CN 102722680B CN 201210186501 A CN201210186501 A CN 201210186501A CN 102722680 B CN102722680 B CN 102722680B
Authority
CN
China
Prior art keywords
file
rogue program
registration table
path
operating system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210186501.4A
Other languages
English (en)
Other versions
CN102722680A (zh
Inventor
俞骁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201210186501.4A priority Critical patent/CN102722680B/zh
Publication of CN102722680A publication Critical patent/CN102722680A/zh
Priority to PCT/CN2013/076767 priority patent/WO2013182048A1/zh
Application granted granted Critical
Publication of CN102722680B publication Critical patent/CN102722680B/zh
Priority to US14/560,717 priority patent/US9910989B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Abstract

本发明提供一种清除恶意程序的方法和装置,所述方法包括:操作系统运行后,启动核心文件进行环境搭建,在所述搭建的环境中加载驱动程序;通过驱动程序读取配置文件得到所述恶意程序的路径;在内核层中按照所述恶意程序的路径删除所述恶意程序的注册表和文件。所述装置包括:启动加载模块,用于操作系统运行后,启动核心文件进行环境搭建,在所述搭建的环境中加载驱动程序;路径读取模块,用于通过驱动程序计算配置文件得到所述恶意文件的路径;程序删除模块,用于在内核层中按照所述恶意程序的路径删除所述恶意程序的注册表和文件。采用本发明有效地提高了安全性。

Description

清除恶意程序的方法和系统
技术领域
本发明涉及计算机安全技术,特别是涉及一种清除恶意程序的方法和系统。
背景技术
随着各种计算机应用程序的飞速发展,运行于计算机中的恶意程序也大量泛滥,并顽固地常驻于计算机中,对安全性造成了严重的危害。恶意程序为了常驻于计算机的操作系统中,通过各种各样的技术保护自己,使得传统的安全类软件无法进行删除。
传统的安全类软件通过以下几种方式实现恶意程序的清除:(1)对恶意程序的注册表或文件进行驱动层的强制删除,但是,删除之后恶意程序将会进行回写,进而无法实现注册表或文件的强制删除;(2)为了防止恶意程序的回写,使用占坑文件,在内核中使用最高系统权限,并且禁止共享打开,以使得恶意程序回写失败,但是,在恶意程序发现回写失败之后将会改名重新创建并回写文件,直至回写成功;(3)将恶意程序的文件路径写入注册表中,在开机时按照注册表中的文件路径执行对恶意程序的删除动作,但是,开机时运行的恶意程序将会对此注册表项进行监控,一旦发现注册表项中存在自己所要保护的文件路径则直接在注册表项中删除,进而导致无法进行恶意程序的删除;(4)删除恶意程序的回写进程,然后再删除恶意程序所对应的注册表或文件,但是若恶意程序注入了系统进程,使用系统进程回写文件或注册表,这将导致恶意程序的回写进程删除失败,进而无法删除对应的注册表或文件。
对于传统的安全类软件而言,采用了保护技术或者绕过安全类软件的删除逻辑的恶意程序造成了安全类软件即使检测到了恶意程序也只能对常驻于操作系统中的恶意程序束手无策的状况,大大地降低了安全性。
发明内容
基于此,有必要针对安全性低的问题,提供一种能提高安全性的清除恶意程序的方法。
此外,还有必要提供一种能提高安全性的清除恶意程序的装置。
一种清除恶意程序的方法,包括如下步骤:
操作系统运行后,启动核心文件进行环境搭建,在所述搭建的环境中加载驱动程序;
通过驱动程序读取配置文件得到所述恶意程序的路径;
在内核层中按照所述恶意程序的路径删除所述恶意程序的注册表和文件。
在其中一个实施例中,所述通过驱动程序读取配置文件得到所述恶意程序的路径的步骤为:
通过所述驱动程序遍历配置文件,分别读取得到恶意程序的注册表路径和文件路径。
在其中一个实施例中,还包括:
操作系统关闭释放注册表时,通过所述驱动程序读取得到恶意程序中的注册表路径;
调用注册表卸载函数根据所述注册表路径删除所述恶意程序的注册表。
在其中一个实施例中,还包括:
所述操作系统关闭触发释放文件系统时,通过所述驱动程序读取得到恶意程序中的文件路径;
调用文件卸载函数根据所述文件路径删除所述恶意程序的文件。
在其中一个实施例中,所述调用注册表卸载函数根据所述注册表路径删除所述恶意程序的注册表的步骤之前还包括:
预先对所述注册表卸载函数进行注册的步骤;
所述调用文件卸载函数根据所述文件路径删除所述恶意程序的文件之前还包括:
预先注册文件卸载函数的步骤。
一种清除恶意程序的方法,包括如下步骤:
操作系统关闭释放注册表时,通过驱动程序读取得到恶意程序中的注册表路径;
调用注册表卸载函数根据所述注册表路径删除恶意程序的注册表。
在其中一个实施例中,还包括:
所述操作系统关闭触发释放文件系统时,通过所述驱动程序读取得到恶意程序中的文件路径;
调用文件卸载函数根据所述文件路径删除所述恶意程序的文件。
在其中一个实施例中,所述调用注册表卸载函数根据所述注册表路径删除所述恶意程序的注册表的步骤之前还包括:
预先对所述注册表卸载函数进行注册的步骤;
所述调用文件卸载函数根据所述文件路径删除所述恶意程序的文件的步骤之前还包括:
预先注册文件卸载函数的步骤。
一种清除恶意程序的装置,包括:
启动加载模块,用于操作系统运行后,启动核心文件进行环境搭建,在所述搭建的环境中加载驱动程序;
路径读取模块,用于通过驱动程序计算配置文件得到所述恶意文件的路径;
程序删除模块,用于在内核层中按照所述恶意程序的路径删除所述恶意程序的注册表和文件。
在其中一个实施例中,所述路径读取模块还用于通过所述驱动程序遍历配置文件,分别读取得到恶意程序的注册表路径和文件路径。
在其中一个实施例中,还包括:
注册表释放模块,用于操作系统关闭释放注册表时,通过所述驱动程序读取得到恶意程序中的注册表路径;
注册表卸载模块,用于调用注册表卸载函数根据所述注册表路径删除所述恶意程序的注册表。
在其中一个实施例中,还包括:
文件释放模块,用于所述操作系统关闭触发释放文件系统时,通过所述驱动程序读取得到恶意程序中的文件路径;
文件卸载模块,用于调用文件卸载函数根据所述文件路径删除所述恶意程序的文件。
在其中一个实施例中,还包括:
注册模块,用于预先对所述注册表卸载函数和文件卸载函数进行注册。
一种清除恶意程序的装置,包括:
注册表释放模块,用于操作系统关闭释放注册表时,通过所述驱动程序读取得到恶意程序中的注册表路径;
注册表卸载模块,用于调用注册表卸载函数根据所述注册表路径删除所述恶意程序的注册表。
在其中一个实施例中,还包括:
文件释放模块,用于所述操作系统关闭触发释放文件系统时,通过所述驱动程序读取得到恶意程序中的文件路径;
文件卸载模块,用于调用文件卸载函数根据所述文件路径删除所述恶意程序的文件。
在其中一个实施例中,还包括:
注册模块,用于预先对所述注册表卸载函数和文件卸载函数进行注册。
上述清除恶意程序的方法和装置,操作系统启动过程中在运行核心文件时进行驱动程序的加载,在内核层中根据恶意程序的路径进行恶意程序的注册表和文件的删除,进而使得恶意程序还未运行就被清除,并且由于驱动程序是在内核层进行,与应用层相比较具备更高的系统权限,能够实现恶意程序的强制删除,有效地提高了安全性。
附图说明
图1为一个实施例中清除恶意程序的方法流程图;
图2为一个实施例中清除恶意程序的应用示意图;
图3为另一个实施例中清除恶意程序的方法流程图;
图4为另一个实施例中清除恶意程序的方法流程图;
图5为另一个实施例中清除恶意程序的应用示意图;
图6为一个实施例中清除恶意程序的装置结构示意图;
图7为另一个实施例中清除恶意程序的装置结构示意图;
图8为另一个实施例中清除恶意程序的装置结构示意图。
具体实施方式
如图1所示,在一个实施例中,一种清除恶意程序的方法,包括如下步骤:
步骤S110,操作系统运行后,启动核心文件进行环境搭建,在搭建的环境中加载驱动程序。
本实施例中,操作系统的启动之后将执行主引导扇区(MBR)的读取、操作系统引导扇区(DBR)的读取、注册表和文件系统(NTLDR)的初始化、核心文件的运行(NTOSKRNL.EXE)、系统变量的初始化(SMSS.EXE)以及用户登录程序的加载(WINLOGON.EXE)等一系列操作。核心文件实质为NTOSKRNL.EXE程序,注册表和文件系统的初始化是伴随着操作系统的启动完成的,在NTOSKRNL.EXE程序初始化注册表和文件系统之后,进入内核调用阶段,为驱动程序提供了内核驱动环境,使得加载的驱动程序运行在内核层。
步骤S130,通过驱动程序读取配置文件得到恶意程序的路径。
本实施例中,驱动程序用于执行恶意程序的清除操作,通过核心文件的运行过程中发生的调用激活并执行恶意程序的清除操作。配置文件中记录了已经检测得到的待删的除恶意程序以及对应的路径。
在一个实施例中,上述步骤S130的具体过程为:通过驱动程序遍历配置文件,分别读取得到恶意程序的注册表路径和文件路径。
本实施例中,恶意程序包括了注册表以及文件,而注册表和文件常常分别存储于不同的位置,因此,从配置文件中读取到的恶意程序的路径包括了注册表路径和文件路径。
步骤S150,在内核层中按照恶意程序的路径删除恶意程序的注册表和文件。
本实施例中,运行于内核层中的驱动程序拥有操作系统内优先级最高的权限,可以直接访问任意的内存和硬件而不会受到限制,因此,能够通过内核层的强删文件接口实现恶意文件的注册表和文件的删除。强删文件接口建立在驱动程序所拥有的操作系统内优先级最高的权限之上的底层接口,可以绕过系统的安全检查机制,与处于应用层的删除接口相比,不会因为系统的安全检查机制而导致删除失败,实现了恶意程序的注册表和文件的强制删除。
上述清除恶意程序的方法在操作系统的启动过程中通过运行在内核层的驱动程序在核心文件运行时触发执行恶意程序的清除,而此时由于操作系统刚完成注册表和文件的初始化,恶意程序还未运行,因此,当前执行的恶意程序清除操作避免了恶意程序运行之后进行注册表和文件的回写,进而避免了恶意程序的清除失败。
进一步的,传统的恶意程序的清除方式是在完成了运行核心文件所在的内核调用阶段之后运行SMSS.EXE程序时进行恶意程序的删除,然而此时恶意程序已经运行,无法避免恶意程序的回写操作,进而导致清除失败的后果。而上述清除恶意程序的方法在运行核心文件时立即进行恶意程序的清除,操作系统的启动过程如图2所示,依次执行主引导扇区(MBR)的读取、操作系统引导扇区(DBR)的读取、注册表和文件系统(NTLDR)的初始化、核心文件的运行(NTOSKRNL.EXE)、系统变量的初始化(SMSS.EXE)以及用户登录程序的加载(WINLOGON.EXE)这一系列操作,并在运行NTOSKRNL.EXE之后加载驱动程序,进而在运行SMSS.EXE程序时删除恶意程序,这一恶意程序的清除过程是在操作系统的启动过程中执行的,巧妙地避免了恶意程序的回写。
如图3所示,在另一个实施例中,上述清除恶意程序的方法还包括如下步骤:
步骤S210,操作系统关闭释放注册表时,通过驱动程序读取得到恶意程序中的注册表路径。
本实施例中,在操作系统的启动时进行了注册表和文件系统的加载,相应的,在操作系统关闭时也将触发进行注册表和文件系统的卸载,从内存中释放注册表和文件系统。注册表触发释放时立即进行恶意程序中注册表路径的读取,进而执行恶意程序的注册表的删除操作,从而在操作系统关闭且注册表的释放过程中完成恶意程序的注册表的清除,使得恶意程序无法进行注册表的回写,进而彻底清除恶意程序的注册表。
步骤S230,调用注册表卸载函数根据注册表路径删除恶意程序的注册表。
本实施例中,在读取到恶意程序中的注册表路径之后,通过驱动程序调用注册表卸载函数执行恶意程序中注册表的删除,具体的,注册表卸载函数为注册表卸载回调例程。
在另一个实施例中,上述步骤S230之前还包括了预先对注册表卸载函数进行注册的步骤。
本实施例中,预先对注册表卸载函数进行注册,使得上述清除注册表的过程中实现跟随操作系统的关闭过程自动进行注册表卸载函数的调用,进而在注册表释放时顺畅地调用注册表卸载函数。
如图4所示,在另一个实施例中,上述清除恶意程序的方法还包括如下步骤:
步骤S310,所述操作系统关闭触发释放文件系统时,通过驱动程序读取得到恶意程序中的文件路径。
本实施例中,在注册表释放完毕之后还将进行文件系统的卸载,将文件系统从内存中释放出来,文件系统触发释放时将通过驱动程序读取恶意程序中的文件路径,进而立即在释放文件系统的过程中执行恶意程序中文件的删除,扼制了恶意程序的回写,彻底清除操作系统中的恶意程序。
步骤S330,调用文件卸载函数根据文件路径删除恶意程序的文件。
本实施例中,在读取到恶意程序中的文件路径之后,通过驱动程序调用文件卸载函数执行恶意程序中注册表的删除,具体的文件卸载函数为文件卸载回调例程。
在另一个实施例中,上述步骤S330之前还包括了预先注册文件卸载函数的步骤。
本实施例中,预先对文件卸载函数进行注册,使得上述清除恶意程序中文件的过程实现跟随操作系统的关闭过程自动进行文件卸载函数的调用,进而在文件系统释放时顺畅地调用文件卸载函数。
如图5所示,在一个具体的实施例中,在操作系统开始关闭时,首先开始进行注册表的卸载,在注册表触发释放时通过驱动程序读取恶意程序中注册表路径,进而卸载注册表;在注册表释放完毕后开始进行文件系统的卸载,在文件系统触发释放时通过驱动程序读取恶意程序中的文件路径,进而卸载文件系统和恶意程序的文件。
上述清除恶意程序的方法在操作系统的关闭过程中随着注册表和文件系统的释放通过驱动程序实现恶意程序的清除,而此时由于操作系统已经进行了注册表和文件系统的释放,因此,恶意程序无法进行注册表和文件的回写,成功地实现恶意程序的清除,提高了系统的安全性。
在具体的实施例中,在操作系统的关闭过程中成功清除的恶意程序常常为基于内核驱动的程序。
上述在操作系统的关闭过程中实现的清除恶意程序的方法可独立运行,换而言之,对于恶意程序的清除,可以仅在操作系统的关闭中执行,而不涉及操作系统运行中恶意程序的清除,进而提供了一个操作系统关闭时清除恶意程序的方法。
上述清除恶意程序的方法中,可在操作系统的启动过程中通过驱动程序在核心文件运行时执行恶意程序的清除,若此时未能成功清除,则在操作系统的关闭过程中随着注册表和文件系统的释放再次执行恶意程序的清除,进而成功清除恶意程序。换而言之,操作系统的启动中所执行的恶意程序清除以及操作系统的关闭中执行的恶意程序清除相当于双重屏障,大大地提高了安全性。
此外,在实际的应用过程中,操作系统的启动中所执行的恶意程序清除以及操作系统的关闭中执行的恶意程序清除这两种方式也可以根据安全性的需要灵活地进行择一选用。
如图6所示,在一个实施例中,一种清除恶意程序的装置,包括启动加载模块110、路径读取模块130以及程序删除模块150。
启动加载模块110,用于操作系统运行后,启动核心文件进行环境搭建,在搭建的环境中加载驱动程序。
本实施例中,操作系统的启动之后将执行主引导扇区的读取、操作系统引导扇区的读取、注册表和文件系统的初始化、核心文件的运行、系统变量的初始化以及用户登录程序的加载等一系列操作。核心文件实质为NTOSKRNL.EXE程序,注册表和文件系统的初始化是伴随着操作系统的启动完成的,在NTOSKRNL.EXE程序初始化注册表和文件系统之后,进入内核调用阶段,为驱动程序提供了内核驱动环境,使得加载的驱动程序运行在内核层。
路径读取模块130,用于通过驱动程序计算配置文件得到恶意文件的路径。
本实施例中,驱动程序用于执行恶意程序的清除操作,通过核心文件的运行过程中发生的调用激活并执行恶意程序的清除操作。配置文件中记录了已经检测得到的待删的除恶意程序以及对应的路径。
在另一个实施例中,上述路径读取模块130通过驱动程序遍历配置文件,分别读取得到恶意程序的注册表路径和文件路径。
本实施例中,恶意程序包括了注册表以及文件,而注册表和文件常常分别存储于不同的位置,因此,路径读取模块130从配置文件中读取到的恶意程序的路径包括了注册表路径和文件路径。
程序删除模块150,用于在内核层中按照恶意程序的路径删除恶意程序的注册表和文件。
本实施例中,运行于内核层中的驱动程序拥有操作系统内优先级最高的权限,可以直接访问任意的内存和硬件而不会受到限制,因此,程序删除模块150能够通过内核层的强删文件接口实现恶意文件的注册表和文件的删除。强删文件接口建立在驱动程序所拥有的操作系统内优先级最高的权限之上的底层接口,可以绕过系统的安全检查机制,与处于应用层的删除接口相比,不会因为系统的安全检查机制而导致删除失败,实现了恶意程序的注册表和文件的强制删除。
上述清除恶意程序的装置在操作系统的启动过程中通过运行在内核层的驱动程序在核心文件运行时触发执行恶意程序的清除,而此时由于操作系统刚完成注册表和文件的初始化,恶意程序还未运行,因此,当前执行的恶意程序清除操作避免了恶意程序运行之后进行注册表和文件的回写,进而避免了恶意程序的清除失败。
进一步的,传统的恶意程序的清除方式是在完成了运行核心文件所在的内核调用阶段之后运行SMSS.EXE程序时进行恶意程序的删除,然而此时恶意程序已经运行,无法避免恶意程序的回写操作,进而导致清除失败的后果。而上述清除恶意程序的装置在运行核心文件时立即进行恶意程序的清除,巧妙地避免了恶意程序的回写。
如图7所示,在一个实施例中,上述清除恶意程序的装置还包括注册表释放模块210以及注册表卸载模块230。
注册表释放模块210,用于操作系统关闭释放注册表时,通过驱动程序读取得到恶意程序中的注册表路径。
本实施例中,在操作系统的启动时进行了注册表和文件系统的加载,相应的,在操作系统关闭时也将触发进行注册表和文件系统的卸载,从内存中释放注册表和文件系统。注册表释放模块210在注册表触发释放时立即进行恶意程序中注册表路径的读取,进而执行恶意程序的注册表的删除操作,从而在操作系统关闭且注册表的释放过程中完成恶意程序的注册表的清除,使得恶意程序无法进行注册表的回写,进而彻底清除恶意程序的注册表
注册表卸载模块230,用于调用注册表卸载函数根据注册表路径删除恶意程序的注册表。
本实施例中,在读取到恶意程序中的注册表路径之后,注册表卸载模块230通过驱动程序调用注册表卸载函数执行恶意程序中注册表的删除,具体的,注册表卸载函数为注册表卸载回调例程。
如图8所示,在另一个实施例中,上述清除恶意程序的装置还包括文件释放模块310以及文件卸载模块330。
文件释放模块310,用于操作系统关闭触发释放文件系统时,通过驱动程序读取得到恶意程序中的文件路径。
本实施例中,在注册表释放完毕之后还将进行文件系统的卸载,将文件系统从内存中释放出来,文件释放模块310在文件系统触发释放时将通过驱动程序读取恶意程序中的文件路径,进而立即在释放文件系统的过程中执行恶意程序中文件的删除,扼制了恶意程序的回写,彻底清除操作系统中的恶意程序。
文件卸载模块330,用于调用文件卸载函数文件路径删除恶意程序的文件。
本实施例中,在读取到恶意程序中的文件路径之后,文件卸载模块330通过驱动程序调用文件卸载函数执行恶意程序中注册表的删除,具体的文件卸载函数为文件卸载回调例程。
在另一个实施例中,上述清除恶意程序的装置还包括了注册模块,该注册模块用于预先对注册表卸载函数和文件卸载函数进行注册。
本实施例中,注册模块预先对注册表卸载函数和文件卸载函数进行注册,使得上述清除恶意程序中注册表和文件的过程实现跟随操作系统的关闭过程自动进行注册表卸载函数和文件卸载函数的调用,进而在注册表和文件系统释放时顺畅地调用注册表卸载函数和文件卸载函数。
上述清除恶意程序的装置在操作系统的关闭过程中随着注册表和文件系统的释放通过驱动程序实现恶意程序的清除,而此时由于操作系统已经进行了注册表和文件系统的释放,因此,恶意程序无法进行注册表和文件的回写,成功地实现恶意程序的清除,提高了系统的安全性。
在具体的实施例中,在操作系统的关闭过程中成功清除的恶意程序常常为基于内核驱动的程序。
上述在操作系统的关闭过程中实现的清除恶意程序的装置可独立运行,换而言之,对于恶意程序的清除,可以仅在操作系统的关闭中执行,而不涉及操作系统运行中恶意程序的清除,进而提供了一个操作系统关闭时清除恶意程序的装置。
上述清除恶意程序的装置中,可在操作系统的启动过程中通过驱动程序在核心文件运行时执行恶意程序的清除,若此时未能成功清除,则在操作系统的关闭过程中随着注册表和文件系统的释放再次执行恶意程序的清除,进而成功清除恶意程序。换而言之,操作系统的启动中所执行的恶意程序清除以及操作系统的关闭中执行的恶意程序清除相当于双重屏障,大大地提高了安全性。
此外,在实际的应用过程中,操作系统的启动中所执行的恶意程序清除以及操作系统的关闭中执行的恶意程序清除这两种方式也可以根据安全性的需要灵活地进行择一选用。
上述清除恶意程序的方法和装置,操作系统启动过程中在运行核心文件时进行驱动程序的加载,在内核层中根据恶意程序的路径进行恶意程序的注册表和文件的删除,进而使得恶意程序还未运行就被清除,并且由于驱动程序是在内核层进行,与应用层相比较具备更高的系统权限,能够实现恶意程序的强制删除,有效地提高了安全性。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (14)

1.一种清除恶意程序的方法,包括如下步骤:
启动操作系统执行主引导扇区的读取、操作系统引导扇区的读取、注册表和文件系统的初始化后,启动核心文件进行环境搭建,在所述搭建的内核驱动环境中激活驱动程序;
通过驱动程序读取配置文件得到所述恶意程序的路径;
在内核层中按照所述恶意程序的路径由所述内核层的强删文件接口删除所述恶意程序的注册表和文件;
若所述恶意程序的注册表和文件未能清除,则在操作系统的关闭过程中随着注册表和文件系统的释放再次执行恶意程序的清除。
2.根据权利要求1所述的清除恶意程序的方法,其特征在于,所述通过驱动程序读取配置文件得到所述恶意程序的路径的步骤为:
通过所述驱动程序遍历配置文件,分别读取得到恶意程序的注册表路径和文件路径。
3.根据权利要求1所述的清除恶意程序的方法,其特征在于,还包括:
操作系统关闭释放注册表时,通过所述驱动程序读取得到恶意程序中的注册表路径;
调用注册表卸载函数根据所述注册表路径删除所述恶意程序的注册表。
4.根据权利要求1或3所述的清除恶意程序的方法,其特征在于,还包括:
所述操作系统关闭触发释放文件系统时,通过所述驱动程序读取得到恶意程序中的文件路径;
调用文件卸载函数根据所述文件路径删除所述恶意程序的文件。
5.根据权利要求4所述的清除恶意程序的方法,其特征在于,所述调用注册表卸载函数根据所述注册表路径删除所述恶意程序的注册表的步骤之前还包括:
预先对所述注册表卸载函数进行注册的步骤;
所述调用文件卸载函数根据所述文件路径删除所述恶意程序的文件之前还包括:
预先注册文件卸载函数的步骤。
6.一种清除恶意程序的方法,包括如下步骤:
在操作系统的启动过程中通过驱动程序在核心文件运行时执行恶意程序的清除,若未能成功清除,则
在操作系统关闭释放注册表时,通过运行于内核层的驱动程序读取得到恶意程序中的注册表路径;
调用注册表卸载函数根据所述注册表路径删除恶意程序的注册表;
所述操作系统关闭触发释放文件系统时,通过所述驱动程序读取得到恶意程序中的文件路径;
调用文件卸载函数根据所述文件路径删除所述恶意程序的文件。
7.根据权利要求6所述的清除恶意程序的方法,其特征在于,所述调用注册表卸载函数根据所述注册表路径删除所述恶意程序的注册表的步骤之前还包括:
预先对所述注册表卸载函数进行注册的步骤;
所述调用文件卸载函数根据所述文件路径删除所述恶意程序的文件的步骤之前还包括:
预先注册文件卸载函数的步骤。
8.一种清除恶意程序的装置,其特征在于,包括:
启动加载模块,用于启动操作系统执行主引导扇区的读取、操作系统引导扇区的读取、注册表和文件系统的初始化后,启动核心文件进行环境搭建,在所述搭建的内核驱动环境中激活驱动程序;
路径读取模块,用于通过驱动程序计算配置文件得到所述恶意文件的路径;
程序删除模块,用于在内核层中按照所述恶意程序的路径由所述内核层的强删文件接口删除所述恶意程序的注册表和文件;
若所述恶意程序的注册表和文件未能清除,则在操作系统的关闭过程中随着注册表和文件系统的释放再次执行恶意程序的清除。
9.根据权利要求8所述的清除恶意程序的装置,其特征在于,所述路径读取模块还用于通过所述驱动程序遍历配置文件,分别读取得到恶意程序的注册表路径和文件路径。
10.根据权利要求8所述的清除恶意程序的装置,其特征在于,还包括:
注册表释放模块,用于操作系统关闭释放注册表时,通过所述驱动程序读取得到恶意程序中的注册表路径;
注册表卸载模块,用于调用注册表卸载函数根据所述注册表路径删除所述恶意程序的注册表。
11.根据权利要求8或10所述的清除恶意程序的装置,其特征在于,还包括:
文件释放模块,用于所述操作系统关闭触发释放文件系统时,通过所述驱动程序读取得到恶意程序中的文件路径;
文件卸载模块,用于调用文件卸载函数根据所述文件路径删除所述恶意程序的文件。
12.根据权利要求11所述的清除恶意程序的装置,其特征在于,还包括:
注册模块,用于预先对所述注册表卸载函数和文件卸载函数进行注册。
13.一种清除恶意程序的装置,其特征在于,包括:
在操作系统的启动过程中通过驱动程序在核心文件运行时执行恶意程序的清除,若未能成功清除,则
注册表释放模块,用于操作系统关闭释放注册表时,通过运行于内核层的驱动程序读取得到恶意程序中的注册表路径;
注册表卸载模块,用于调用注册表卸载函数根据所述注册表路径删除所述恶意程序的注册表;
文件释放模块,用于所述操作系统关闭触发释放文件系统时,通过所述驱动程序读取得到恶意程序中的文件路径;
文件卸载模块,用于调用文件卸载函数根据所述文件路径删除所述恶意程序的文件。
14.根据权利要求13所述的清除恶意程序的装置,其特征在于,还包括:注册模块,用于预先对所述注册表卸载函数和文件卸载函数进行注册。
CN201210186501.4A 2012-06-07 2012-06-07 清除恶意程序的方法和系统 Active CN102722680B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201210186501.4A CN102722680B (zh) 2012-06-07 2012-06-07 清除恶意程序的方法和系统
PCT/CN2013/076767 WO2013182048A1 (zh) 2012-06-07 2013-06-05 清除恶意程序的方法和系统、计算机存储介质
US14/560,717 US9910989B2 (en) 2012-06-07 2014-12-04 Malware removal method and system, and computer storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210186501.4A CN102722680B (zh) 2012-06-07 2012-06-07 清除恶意程序的方法和系统

Publications (2)

Publication Number Publication Date
CN102722680A CN102722680A (zh) 2012-10-10
CN102722680B true CN102722680B (zh) 2014-11-05

Family

ID=46948434

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210186501.4A Active CN102722680B (zh) 2012-06-07 2012-06-07 清除恶意程序的方法和系统

Country Status (3)

Country Link
US (1) US9910989B2 (zh)
CN (1) CN102722680B (zh)
WO (1) WO2013182048A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106127049A (zh) * 2016-06-28 2016-11-16 北京金山安全软件有限公司 一种清除恶意程序的方法、装置以及电子设备

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722680B (zh) * 2012-06-07 2014-11-05 腾讯科技(深圳)有限公司 清除恶意程序的方法和系统
CN104008338B (zh) * 2014-05-08 2017-06-27 北京金山安全软件有限公司 一种Android恶意程序处理方法、装置及设备
CN105335654B (zh) * 2014-06-27 2018-12-14 北京金山安全软件有限公司 一种Android恶意程序检测和处理方法、装置及设备
CN105354498A (zh) * 2015-10-30 2016-02-24 珠海市君天电子科技有限公司 一种注册表的操作方法和相关装置及设备
CN105447348B (zh) * 2015-11-13 2019-04-05 珠海豹趣科技有限公司 一种显示窗口的隐藏方法、装置及用户终端
KR20170070694A (ko) * 2015-12-14 2017-06-22 삼성전자주식회사 전자 장치 및 그 동작방법
CN105653955B (zh) * 2015-12-30 2019-05-10 珠海豹趣科技有限公司 一种恶意软件处理方法及装置
CN106126291B (zh) * 2016-06-28 2019-08-13 珠海豹趣科技有限公司 一种删除恶意文件的方法、装置及电子设备
CN106169048B (zh) * 2016-06-29 2019-03-12 珠海豹趣科技有限公司 文件删除方法、装置及电子设备
CN106055372A (zh) * 2016-06-30 2016-10-26 乐视控股(北京)有限公司 一种卸载应用程序的方法和装置
US9977898B1 (en) * 2016-10-31 2018-05-22 International Business Machines Corporation Identification and recovery of vulnerable containers
US10990664B2 (en) * 2017-11-20 2021-04-27 International Business Machines Corporation Eliminating and reporting kernel instruction alteration
CN108197475B (zh) * 2018-01-11 2020-12-08 广州汇智通信技术有限公司 一种恶意so模块检测方法及相关装置
CN109947366B (zh) * 2019-03-15 2022-04-01 温州职业技术学院 一种电子信息安全粉碎装置
CN110851831B (zh) * 2019-11-12 2023-04-28 腾讯科技(深圳)有限公司 病毒处理方法、装置、计算机设备及计算机可读存储介质
US11645390B2 (en) * 2020-03-16 2023-05-09 Vmware, Inc. Cloud-based method to increase integrity of a next generation antivirus (NGAV) security solution in a virtualized computing environment
CN111639341B (zh) * 2020-05-29 2023-09-05 北京金山云网络技术有限公司 一种恶意程序的检测方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102024114A (zh) * 2011-01-14 2011-04-20 上海交通大学 基于统一可扩展固定接口的恶意代码防范方法
CN102339371A (zh) * 2011-09-14 2012-02-01 奇智软件(北京)有限公司 一种检测恶意程序的方法、装置及虚拟机

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006065882A2 (en) * 2004-12-13 2006-06-22 Blue Security, Inc. System and method for deterring rogue users from attacking protected legitimate users
US8239947B1 (en) * 2006-02-06 2012-08-07 Symantec Corporation Method using kernel mode assistance for the detection and removal of threats which are actively preventing detection and removal from a running system
US8495741B1 (en) * 2007-03-30 2013-07-23 Symantec Corporation Remediating malware infections through obfuscation
US9665712B2 (en) * 2010-02-22 2017-05-30 F-Secure Oyj Malware removal
CN101950336B (zh) * 2010-08-18 2015-08-26 北京奇虎科技有限公司 一种清除恶意程序的方法和装置
CN102214287A (zh) * 2011-06-09 2011-10-12 北京思创银联科技股份有限公司 Windows系统注册表保护方法
CN102722680B (zh) * 2012-06-07 2014-11-05 腾讯科技(深圳)有限公司 清除恶意程序的方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102024114A (zh) * 2011-01-14 2011-04-20 上海交通大学 基于统一可扩展固定接口的恶意代码防范方法
CN102339371A (zh) * 2011-09-14 2012-02-01 奇智软件(北京)有限公司 一种检测恶意程序的方法、装置及虚拟机

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106127049A (zh) * 2016-06-28 2016-11-16 北京金山安全软件有限公司 一种清除恶意程序的方法、装置以及电子设备
CN106127049B (zh) * 2016-06-28 2019-03-26 珠海豹趣科技有限公司 一种清除恶意程序的方法、装置以及电子设备

Also Published As

Publication number Publication date
WO2013182048A1 (zh) 2013-12-12
US20150089654A1 (en) 2015-03-26
CN102722680A (zh) 2012-10-10
US9910989B2 (en) 2018-03-06

Similar Documents

Publication Publication Date Title
CN102722680B (zh) 清除恶意程序的方法和系统
JP5978365B2 (ja) 仮想環境においてネットワークアクセス制御を行うシステムおよび方法
CN101373505B (zh) 释放句柄的方法、装置及文件删除系统
US10402563B2 (en) Automated classification of exploits based on runtime environmental features
US10176329B2 (en) Systems and methods for detecting unknown vulnerabilities in computing processes
EP2902937B1 (en) Method, apparatus, and system for triggering virtual machine introspection
US9852052B2 (en) Trusted execution of called function
US8701195B2 (en) Method for antivirus in a mobile device by using a mobile storage and a system thereof
CN106406944A (zh) 一种禁止应用自启动的控制方法及系统
CN115378735B (zh) 一种数据处理方法、装置、存储介质及电子设备
CN108334404B (zh) 应用程序的运行方法和装置
CN108920253B (zh) 一种无代理的虚拟机监控系统和监控方法
KR101974989B1 (ko) 위험 파일에 대응하는 행위 정보를 결정하는 방법 및 장치
CN105893847A (zh) 一种保护安全防护应用程序文件的方法、装置及电子设备
KR101375656B1 (ko) 프로그램 보호 장치 및 프로그램 보호 방법
CN112835639B (zh) 一种Hook实现方法、装置、设备、介质及产品
CN115495343A (zh) 一种安全维护方法、装置、存储介质及电子设备
CN115186269A (zh) 一种漏洞挖掘方法、装置、存储介质及电子设备
CN104834861B (zh) 木马的查杀方法和装置
CN107608782B (zh) 内存压缩的方法及装置、操作系统、电子设备
CN104516791A (zh) 数据处理方法、装置及电子设备
CN110806860B (zh) 安卓环境下的应用封装方法、装置及应用运行方法、装置
CN114547632B (zh) 信息保护方法、装置、设备及存储介质
CN109426733B (zh) 一种电力移动应用数据隔离方法及系统
CN116954867A (zh) 一种内核保护系统禁用方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant