CN105956461A - 一种拦截驱动加载的方法及终端 - Google Patents

一种拦截驱动加载的方法及终端 Download PDF

Info

Publication number
CN105956461A
CN105956461A CN201610288375.1A CN201610288375A CN105956461A CN 105956461 A CN105956461 A CN 105956461A CN 201610288375 A CN201610288375 A CN 201610288375A CN 105956461 A CN105956461 A CN 105956461A
Authority
CN
China
Prior art keywords
message
application program
terminal
file
program
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.)
Granted
Application number
CN201610288375.1A
Other languages
English (en)
Other versions
CN105956461B (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.)
Zhuhai Baoqu Technology Co Ltd
Original Assignee
Beijing Kingsoft Internet Security Software 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 Beijing Kingsoft Internet Security Software Co Ltd filed Critical Beijing Kingsoft Internet Security Software Co Ltd
Priority to CN201610288375.1A priority Critical patent/CN105956461B/zh
Publication of CN105956461A publication Critical patent/CN105956461A/zh
Application granted granted Critical
Publication of CN105956461B publication Critical patent/CN105956461B/zh
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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种拦截驱动加载的方法,包括:监控应用程序通过本地过程调用LPC向子系统发送的消息,判断所述消息是否为用于指示加载驱动的消息;当监控到所述消息为用于指示加载驱动的消息时,对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序;当确定所述应用程序为恶意程序时,对所述消息进行拦截。本发明实施例还公开了一种终端。采用本发明,降低终端拦截驱动加载的处理压力,节省终端的运行资源,并提高终端的拦截准确性,从而提升终端的自身安全。

Description

一种拦截驱动加载的方法及终端
技术领域
本发明涉及电子技术领域,尤其涉及一种拦截驱动加载的方法及终端。
背景技术
随着互联网技术发展,病毒,木马等恶意软件技术层出不穷。恶意程序可利用特殊恶意代码进行恶意行为攻击服务系统。目前许多恶意程序多是在用户未知的情况下可进行加载驱动行为,并当恶意程序加载驱动成功时,恶意程序可以删除掉任意安全应用程序,这给终端带来了重大的安全隐患。
为了避免恶意程序进行恶意加载驱动行为,目前终端可在进行加载驱动文件时,对获取到的加载驱动文件以及相关文件进行扫描,并综合判断是否需进行拦截加载驱动,并当确定需进行拦截时,终端将中断加载驱动文件。但是,由于终端已准备进行加载驱动文件,若当终端确定进行拦截加载驱动时,这使得终端将浪费资源在加载驱动文件的前期准备工作上,从而浪费了终端的运行资源,使得终端的处理压力过重。
发明内容
本发明实施例所要解决的技术问题在于,提供一种拦截驱动加载的方法及终端。可降低终端拦截驱动加载的处理压力,节省终端的运行资源。
为了解决上述技术问题,本发明实施例提供了一种拦截驱动加载的方法,包括:
监控应用程序通过本地过程调用LPC向子系统发送的消息,判断所述消息是否为用于指示加载驱动的消息;
当监控到所述消息为用于指示加载驱动的消息时,对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序;
当确定所述应用程序为恶意程序时,对所述消息进行拦截,以对所述应用程序通过所述消息进行加载驱动的行为进行拦截。
其中,所述判断所述消息是否为用于指示加载驱动的消息包括:
检测所述消息是否携带加载驱动标识符;
当确定所述消息携带所述加载驱动标识符,确定所述消息为用于指示加载驱动的消息。
其中,所述对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序之前包括:
当确定所述消息为用于指示加载驱动的消息时,根据所述消息确定所述应用程序所要加载的驱动文件;
对所述驱动文件进行安全检测,判断所述驱动文件是否为危险文件;
当确定所述驱动文件不是危险文件时,执行所述对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序步骤;
当确定所述驱动文件是危险文件时,对所述消息进行拦截。
其中,所述消息携带所述驱动文件的存储路径;
所述根据所述消息确定所述应用程序所要加载的驱动文件包括:
根据所述驱动文件的存储路径确定所述驱动文件。
其中,所述对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序之前包括:
获取所述消息的发送进程路径;
根据所述消息的发送进程路径确定所述应用程序。
相应地,本发明实施例还提供了一种终端,所述终端包括:
判断单元,用于监控应用程序通过本地过程调用LPC向子系统发送的消息,判断所述消息是否为用于指示加载驱动的消息;
第一安全检测单元,用于当监控到所述消息为用于指示加载驱动的消息时,对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序;
拦截单元,用于当确定所述应用程序为恶意程序时,对所述消息进行拦截,以对所述应用程序通过所述消息进行加载驱动的行为进行拦截。
其中,所述第一判断单元包括:
检测子单元,用于检测所述消息是否携带加载驱动标识符;
确定子单元,用于当所述检测子单元确定所述消息携带所述加载驱动标识符,确定所述消息为用于指示加载驱动的消息。
其中,所述终端还包括:
第一确定单元,用于当所述第一判断单元确定所述消息为用于指示加载驱动的消息时,根据所述消息确定所述应用程序所要加载的驱动文件;
第二安全检测单元,用于对所述驱动文件进行安全检测,判断所述驱动文件是否为危险文件;
当所述第二安全检测单元确定所述驱动文件不是危险文件时,通知所述第一安全检测单元对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序;
当所述第二安全检测单元确定所述驱动文件是危险文件时,通知所述拦截单元对所述消息进行拦截。
其中,所述消息携带所述驱动文件的存储路径;
所述确定单元具体用于:
根据所述驱动文件的存储路径确定所述驱动文件。
其中,所述终端还包括:
获取单元,用于获取所述消息的发送进程路径;
第二确定单元,用于根据所述消息的发送进程路径确定所述应用程
实施本发明实施例,具有如下有益效果:
在本发明实施例中,终端监控应用程序通过本地过程调用LPC向子系统发送的消息,判断所述消息是否为用于指示加载驱动的消息;当监控到所述消息为用于指示加载驱动的消息时,对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序;当确定所述应用程序为恶意程序时,对所述消息进行拦截,这使得终端仅通过对消息的拦截即能实现对恶意程序加载驱动的行为进行拦截,从而简便终端的拦截操作,降低终端拦截驱动加载的处理压力,节省终端的运行资源,并提高终端的拦截准确性,从而提升终端的自身安全。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种拦截驱动加载的方法的第一实施例流程示意图;
图2是本发明实施例提供的一种终端的第一实施例结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中的执行主体可以为终端,所描述的终端可包括:电脑、平板电脑、笔记本等智能终端,上述终端仅是举例,而非穷举,包含但不限于上述终端。
参见图1,是本发明实施例提供的一种拦截驱动加载的方法第一实施例流程示意图。本发明实施例的一种拦截驱动加载的方法包括如下步骤:
S100,监控应用程序通过本地过程调用LPC向子系统发送的消息,判断所述消息是否为用于指示加载驱动的消息。
在本发明实施例中,终端上运行的系统可以为Windows系统,Windows系统下可包括支持的多个子系统,如进程管理子系统,内存管理子系统,IO管理子系统和服务管理子系统等,其中,进程管理子系统用于管理终端的进程,内存管理子系统用于管理终端的内存,IO管理子系统用于管理终端的IO,服务管理子系统用于管理终端的服务。在本发明实施例中,子系统可以为服务管理子系统,服务管理子系统可统一管理注册表中的服务信息数据,以实现服务的创建、删除以及驱动的加载等。其中,当终端的应用程序需进行加载驱动时,应用程序可通过LPC(local process call,本地过程调用)向服务管理子系统发送的消息,消息为用于指示加载驱动的消息,以使子系统响应消息进行加载驱动,其中,消息为驱动的相关消息。
在本发明实施例中,终端可监控终端中的应用程序通过LPC向服务管理子系统发送的消息,判断消息是否为用于指示加载驱动的消息,其中,终端可对通过LPC向子系统发送的消息进行逐个检测,检测消息是否携带加载驱动标识符。当检测到消息携带加载驱动标识符时,终端可确定消息为用于指示加载驱动的消息。
在具体实施中,当应用程序需通过LPC向服务管理子系统发送消息时,应用程序调用内核层NtRequestWaitReplyPort函数使用LPC向服务管理子系统发送的消息。因此,终端可预置一个钩子函数NewNtRequestWaitReplyPort函数替换原始NtRequestWaitReplyPort函数对应用程序通过LPC向子系统发送的消息进行监测。具体的,可在系统的SSDT(System Services Descriptor Table,系统服务描述符表)表中找到NtRequestWaitReplyPort函数,保存NtRequestWaitReplyPort函数地址,并定义NewNtRequestWaitReplyPort函数替换原始NtRequestWaitReplyPort函数地址,实现了NewNtRequestWaitReplyPort函数的挂钩。当应用程序调用NtRequestWaitReplyPort函数使用LPC向服务管理子系统发送的消息时,则实际上应用程序是调用NewNtRequestWaitReplyPort函数使用LPC向服务管理子系统发送的消息。其中,在钩子函数NewNtRequestWaitReplyPort函数中,第一个参数是端口句柄,即为发送目标的端口句柄。当应用程序调用钩子函数NewNtRequestWaitReplyPort函数进行发送消息时,终端可获取钩子函数的第一个参数端口句柄,通过内核函数ObReferenceObjectByHandle函数将端口句柄进行转换为发送端口的结构指针,并通过内核函数ObReferenceObjectByName函数将发送端口的结构指针转换为发送端口的名称,判断发送端口的名称是否匹配“\\RPC Control\\ntsvcs”端口,当判断匹配时,说明应用程序往名为ntsvcs端口发送消息。当终端确认应用程序往名为ntsvcs端口发送的消息时,终端可根据消息控制服务管理子系统进行服务管理。因此,当终端通过钩子函数NewNtRequestWaitReplyPort函数判断应用程序往名为ntsvcs端口发送消息时,终端可确定该消息为服务的相关消息,如创建服务消息、删除服务消息、打开服务消息或加载服务驱动等等消息。
进一步的,在具体实施中,钩子函数NewNtRequestWaitReplyPort的第二个参数为发送的消息数据,消息数据上携带标识符,该标识符为int类型的标识符。具体的,标识符的具体位置可在XP系统中的结构指针+0x1C位置上,WIN7系统中的结构指针+0x2C位置上。当标识符的标识值为于(InstallDevOrQueryConfig=0x1D)时,则标识符可为加载驱动标识符。并当标识符为加载驱动标识符时,则为应用程序通知子系统进行加载驱动。终端可通过钩子函数NewNtRequestWaitReplyPort函数读取标识符,判断标识值是否为(InstallDevOrQueryConfig=0x1D),当判断标识符的标识值为(InstallDevOrQueryConfig=0x1D)时,确定消息携带加载驱动标识符,可判断消息为用于指示加载驱动的消息。
S101,当监控到所述消息为用于指示加载驱动的消息时,对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序。
在本发明实施例中,当终端监控到消息为用于指示加载驱动的消息时,终端可根据消息确定应用程序所要加载的驱动文件。其中,消息携带驱动文件的存储路径,从而终端可根据驱动文件的存储路径确定驱动文件。
在具体应用中,钩子函数NewNtRequestWaitReplyPort的第二个参数中的PPORT_MESSAGE结构类型指针+0x38(XP系统)的位置保存一个PSC_RPC_STRINGA结构指针,此结构指针保存驱动文件的存储路径,终端可解析此结构指针,获取到驱动文件的存储路径。从而终端可根据解析到的驱动文件的存储路径确定应用程序所要加载的驱动文件。
在本发明实施例中,当终端确定了所要加载的驱动文件时,终端可调用安全杀毒应用程序对驱动文件进行安全检测,判断驱动文件是否为危险文件。其中,安全杀毒应用程序可如毒霸应用程序,360安全卫士等安全应用程序。当安全杀毒应用程序判断其为危险文件或为未知文件时,则终端可确定驱动文件为危险文件,当安全杀毒应用程序判断其为安全文件时,终端可确定驱动文件为安全文件。在具体实施中,终端调用上层文件查杀系统进行判断驱动文件的状态,如果状态是灰,红(灰代表未知文件,红代表危险文件)时,且即为危险文件。当终端判断驱动文件是危险文件时,终端可对消息进行拦截,如删除消息。
在本发明实施例中,当终端判断驱动文件不是危险文件时,终端可扫描发送消息的应用程序,对应用程序进行安全检测,判断应用程序是否为恶意程序,其中,终端可调用安全杀毒应用程序对发送消息的应用程序进行安全检测,判断是否为恶意程序,其中,安全杀毒应用程序在具体的应用程序中可如毒霸应用程序,360安全卫士等安全应用程序。当安全杀毒应用程序判断其为危险文件或为未知文件时,则终端可确定应用程序为恶意程序,当安全杀毒应用程序判断其安全文件时,终端可确定应用程序不是恶意程序。
在本发明实施例中,终端可获取消息的发送进程路径,通过消息的发送进程路径确定应用程序,从而终端调用安全杀毒应用程序对其进行安全检测。在具体应用中,可以是,钩子函数NewNtRequestWaitReplyPort调用内核函数PsGetCurrentProcessId函数和ZwQueryInformationProcess函数获取当前监测的消息的发送进程路径,根据发送进程路径确定应用程序,并调用上层文件查杀系统进行判断应用程序的状态,如果状态是灰,红(灰代表未知文件,红代表危险文件)时,且即为恶意程序。
S102,当确定所述应用程序为恶意程序时,对所述消息进行拦截。
在本发明实施例中,当终端确定应用程序为恶意程序,终端可对消息进行拦截,如删掉消息,或者钩子函数NewNtRequestWaitReplyPort函数退出,不执行原始NtRequestWaitReplyPort函数,使得恶意程序加载驱动失败。当终端确定应用程序不是恶意程序时,钩子函数NewNtRequestWaitReplyPort函数退出,并调用NtRequestWaitReplyPort函数进行处理应用程序发送的消息。
在本发明实施例中,终端监控应用程序通过本地过程调用LPC向子系统发送的消息,判断所述消息是否为用于指示加载驱动的消息;当监控到所述消息为用于指示加载驱动的消息时,对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序;当确定所述应用程序为恶意程序时,对所述消息进行拦截,这使得终端仅通过对消息的拦截即能实现对恶意程序加载驱动的行为进行拦截,从而简便终端的拦截操作,降低终端拦截驱动加载的处理压力,节省终端的运行资源,并提高终端的拦截准确性,从而提升终端的自身安全。
参见图2,是本发明实施例提供的一种终端的第一实施例结构图。本发明实施例中所描述的终端包括:
判断单元100,用于监控应用程序通过本地过程调用LPC向子系统发送的消息,判断所述消息是否为用于指示加载驱动的消息。
第一安全检测单元200,用于当监控到所述消息为用于指示加载驱动的消息时,对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序。
拦截单元300,用于当确定所述应用程序为恶意程序时,对所述消息进行拦截,以拦截所述应用程序通过所述消息进行加载驱动。
在本发明实施例中,终端上运行的系统可以为Windows系统,Windows系统下可包括支持的多个子系统,如进程管理子系统,内存管理子系统,IO管理子系统和服务管理子系统等,其中,进程管理子系统用于管理终端的进程,内存管理子系统用于管理终端的内存,IO管理子系统用于管理终端的IO,服务管理子系统用于管理终端的服务。在本发明实施例中,子系统可以为服务管理子系统,服务管理子系统可统一管理注册表中的服务信息数据,以实现服务的创建、删除以及驱动的加载等。其中,当终端的应用程序需进行加载驱动时,应用程序可通过LPC(local process call,本地过程调用)向服务管理子系统发送的消息,消息为用于指示加载驱动的消息,以使子系统响应消息进行加载驱动,其中,消息为驱动的相关消息。
在本发明实施例中,判断单元100可监控终端中的应用程序通过LPC向服务管理子系统发送的消息,判断消息是否为用于指示加载驱动的消息,其中,判断单元100可对通过LPC向子系统发送的消息进行逐个检测,检测消息是否携带加载驱动标识符。当检测到消息携带加载驱动标识符时,判断单元100可确定消息为用于指示加载驱动的消息。
在具体实施中,当应用程序需通过LPC向服务管理子系统发送消息时,应用程序调用内核层NtRequestWaitReplyPort函数使用LPC向服务管理子系统发送的消息。因此,终端可预置一个钩子函数NewNtRequestWaitReplyPort函数替换原始NtRequestWaitReplyPort函数对应用程序通过LPC向子系统发送的消息进行监测。具体的,可在系统的SSDT(System Services Descriptor Table,系统服务描述符表)表中找到NtRequestWaitReplyPort函数,保存NtRequestWaitReplyPort函数地址,并定义NewNtRequestWaitReplyPort函数替换原始NtRequestWaitReplyPort函数地址,实现了NewNtRequestWaitReplyPort函数的挂钩。当应用程序调用NtRequestWaitReplyPort函数使用LPC向服务管理子系统发送的消息时,则实际上应用程序是调用NewNtRequestWaitReplyPort函数使用LPC向服务管理子系统发送的消息。其中,在钩子函数NewNtRequestWaitReplyPort函数中,第一个参数是端口句柄,即为发送目标的端口句柄。当应用程序调用钩子函数NewNtRequestWaitReplyPort函数进行发送消息时,终端可获取钩子函数的第一个参数端口句柄,通过内核函数ObReferenceObjectByHandle函数将端口句柄进行转换为发送端口的结构指针,并通过内核函数ObReferenceObjectByName函数将发送端口的结构指针转换为发送端口的名称,判断发送端口的名称是否匹配“\\RPC Control\\ntsvcs”端口,当判断匹配时,说明应用程序往名为ntsvcs端口发送消息。当终端确认应用程序往名为ntsvcs端口发送的消息时,终端可根据消息控制服务管理子系统进行服务管理。因此,当终端通过钩子函数NewNtRequestWaitReplyPort函数判断应用程序往名为ntsvcs端口发送消息时,终端可确定该消息为服务的相关消息,如创建服务消息、删除服务消息、打开服务消息或加载服务驱动等等消息。
进一步的,在具体实施中,钩子函数NewNtRequestWaitReplyPort的第二个参数为发送的消息数据,消息数据上携带标识符,该标识符为int类型的标识符。具体的,标识符的具体位置可在XP系统中的结构指针+0x1C位置上,WIN7系统中的结构指针+0x2C位置上。当标识符的标识值为于(InstallDevOrQueryConfig=0x1D)时,则标识符可为加载驱动标识符。并当标识符为加载驱动标识符时,则为应用程序通知子系统进行加载驱动。判断单元100可通过钩子函数NewNtRequestWaitReplyPort函数读取标识符,判断标识值是否为(InstallDevOrQueryConfig=0x1D),当判断标识符的标识值为(InstallDevOrQueryConfig=0x1D)时,确定消息携带加载驱动标识符,可判断消息为用于指示加载驱动的消息。
在本发明实施例中,当判断单元100监控到消息为用于指示加载驱动的消息时,终端可根据消息确定应用程序所要加载的驱动文件。其中,消息携带驱动文件的存储路径,从而终端可根据驱动文件的存储路径确定驱动文件。
在具体应用中,钩子函数NewNtRequestWaitReplyPort的第二个参数中的PPORT_MESSAGE结构类型指针+0x38(XP系统)的位置保存一个PSC_RPC_STRINGA结构指针,此结构指针保存驱动文件的存储路径,终端可解析此结构指针,获取到驱动文件的存储路径。从而终端可根据解析到的驱动文件的存储路径确定应用程序所要加载的驱动文件。
在本发明实施例中,当终端确定了所要加载的驱动文件时,终端可调用安全杀毒应用程序对驱动文件进行安全检测,判断驱动文件是否为危险文件。其中,安全杀毒应用程序可如毒霸应用程序,360安全卫士等安全应用程序。当安全杀毒应用程序判断其为危险文件或为未知文件时,则终端可确定驱动文件为危险文件,当安全杀毒应用程序判断其为安全文件时,终端可确定驱动文件为安全文件。在具体实施中,终端调用上层文件查杀系统进行判断驱动文件的状态,如果状态是灰,红(灰代表未知文件,红代表危险文件)时,且即为危险文件。当终端判断驱动文件是危险文件时,终端可对消息进行拦截,如删除消息。
在本发明实施例中,当终端判断驱动文件不是危险文件时,第一安全检测单元200可扫描发送消息的应用程序,对应用程序进行安全检测,判断应用程序是否为恶意程序,其中,第一安全检测单元200可调用安全杀毒应用程序对发送消息的应用程序进行安全检测,判断是否为恶意程序,其中,安全杀毒应用程序在具体的应用程序中可如毒霸应用程序,360安全卫士等安全应用程序。当安全杀毒应用程序判断其为危险文件或为未知文件时,则第一安全检测单元200可确定应用程序为恶意程序,当安全杀毒应用程序判断其安全文件时,第一安全检测单元200可确定应用程序不是恶意程序。
在本发明实施例中,第一安全检测单元200可获取消息的发送进程路径,通过消息的发送进程路径确定应用程序,从而第一安全检测单元200调用安全杀毒应用程序对其进行安全检测。在具体应用中,可以是,钩子函数NewNtRequestWaitReplyPort调用内核函数PsGetCurrentProcessId函数和ZwQueryInformationProcess函数获取当前监测的消息的发送进程路径,根据发送进程路径确定应用程序,并调用上层文件查杀系统进行判断应用程序的状态,如果状态是灰,红(灰代表未知文件,红代表危险文件)时,且即为恶意程序。
在本发明实施例中,当第一安全检测单元200确定应用程序为恶意程序,拦截单元可对消息进行拦截,如删掉消息,或者拦截单元控制钩子函数NewNtRequestWaitReplyPort函数退出,不执行原始NtRequestWaitReplyPort函数,使得恶意程序加载驱动失败。当第一安全检测单元200确定应用程序不是恶意程序时,终端控制钩子函数NewNtRequestWaitReplyPort函数退出,并调用NtRequestWaitReplyPort函数进行处理应用程序发送的消息。
其中,所述判断单元包括:
检测子单元,用于检测所述消息是否携带加载驱动标识符。
确定子单元,用于当所述检测子单元确定所述消息携带所述加载驱动标识符,确定所述消息为用于指示加载驱动的消息。
其中,所述终端还包括:
第一确定单元,用于当所述第一判断单元确定所述消息为用于指示加载驱动的消息时,根据所述消息确定所述应用程序所要加载的驱动文件。
第二安全检测单元,用于对所述驱动文件进行安全检测,判断所述驱动文件是否为危险文件。
当所述第二安全检测单元确定所述驱动文件不是危险文件时,通知所述第一安全检测单元200对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序.
当所述第二安全检测单元确定所述驱动文件是危险文件时,通知所述拦截单元300对所述消息进行拦截。
其中,所述消息携带所述驱动文件的存储路径;
所述确定单元具体用于:
根据所述驱动文件的存储路径确定所述驱动文件。
其中,所述终端还包括:
获取单元,用于获取所述消息的发送进程路径。
第二确定单元,用于根据所述消息的发送进程路径确定所述应用程序。
可以理解的是,本实施例的终端中的单元的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再进行赘述。
在本发明实施例中,终端监控应用程序通过本地过程调用LPC向子系统发送的消息,判断所述消息是否为用于指示加载驱动的消息;当监控到所述消息为用于指示加载驱动的消息时,对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序;当确定所述应用程序为恶意程序时,对所述消息进行拦截,这使得终端仅通过对消息的拦截即能实现对恶意程序加载驱动的行为进行拦截,从而简便终端的拦截操作,降低终端拦截驱动加载的处理压力,节省终端的运行资源,并提高终端的拦截准确性,从而提升终端的自身安全。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (10)

1.一种拦截驱动加载的方法,其特征在于,所述方法包括:
监控应用程序通过本地过程调用LPC向子系统发送的消息,判断所述消息是否为用于指示加载驱动的消息;
当监控到所述消息为用于指示加载驱动的消息时,对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序;
当确定所述应用程序为恶意程序时,对所述消息进行拦截,以对所述应用程序通过所述消息进行加载驱动的行为进行拦截。
2.如权利要求1所述的方法,其特征在于,所述判断所述消息是否为用于指示加载驱动的消息包括:
检测所述消息是否携带加载驱动标识符;
当确定所述消息携带所述加载驱动标识符,确定所述消息为用于指示加载驱动的消息。
3.如权利要求1所述的方法,其特征在于,所述对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序之前包括:
当确定所述消息为用于指示加载驱动的消息时,根据所述消息确定所述应用程序所要加载的驱动文件;
对所述驱动文件进行安全检测,判断所述驱动文件是否为危险文件;
当确定所述驱动文件不是危险文件时,执行所述对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序步骤;
当确定所述驱动文件是危险文件时,对所述消息进行拦截。
4.如权利要求3所述的方法,其特征在于,所述消息携带所述驱动文件的存储路径;
所述根据所述消息确定所述应用程序所要加载的驱动文件包括:
根据所述驱动文件的存储路径确定所述驱动文件。
5.如权利要求1所述的方法,其特征在于,所述对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序之前包括:
获取所述消息的发送进程路径;
根据所述消息的发送进程路径确定所述应用程序。
6.一种终端,其特征在于,所述终端包括:
判断单元,用于监控应用程序通过本地过程调用LPC向子系统发送的消息,判断所述消息是否为用于指示加载驱动的消息;
第一安全检测单元,用于当监控到所述消息为用于指示加载驱动的消息时,对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序;
拦截单元,用于当确定所述应用程序为恶意程序时,对所述消息进行拦截,以对所述应用程序通过所述消息进行加载驱动的行为进行拦截。
7.如权利要求6所述的终端,其特征在于,所述判断单元包括:
检测子单元,用于检测所述消息是否携带加载驱动标识符;
确定子单元,用于当所述检测子单元确定所述消息携带所述加载驱动标识符,确定所述消息为用于指示加载驱动的消息。
8.如权利要求6所述的终端,其特征在于,所述终端还包括:
第一确定单元,用于当所述第一判断单元确定所述消息为用于指示加载驱动的消息时,根据所述消息确定所述应用程序所要加载的驱动文件;
第二安全检测单元,用于对所述驱动文件进行安全检测,判断所述驱动文件是否为危险文件;
当所述第二安全检测单元确定所述驱动文件不是危险文件时,通知所述第一安全检测单元对所述应用程序进行安全检测,判断所述应用程序是否为恶意程序;
当所述第二安全检测单元确定所述驱动文件是危险文件时,通知所述拦截单元对所述消息进行拦截。
9.如权利要求8所述的终端,其特征在于,所述消息携带所述驱动文件的存储路径;
所述确定单元具体用于:
根据所述驱动文件的存储路径确定所述驱动文件。
10.如权利要求6所述的终端,其特征在于,所述终端还包括:
获取单元,用于获取所述消息的发送进程路径;
第二确定单元,用于根据所述消息的发送进程路径确定所述应用程序。
CN201610288375.1A 2016-05-03 2016-05-03 一种拦截驱动加载的方法及终端 Active CN105956461B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610288375.1A CN105956461B (zh) 2016-05-03 2016-05-03 一种拦截驱动加载的方法及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610288375.1A CN105956461B (zh) 2016-05-03 2016-05-03 一种拦截驱动加载的方法及终端

Publications (2)

Publication Number Publication Date
CN105956461A true CN105956461A (zh) 2016-09-21
CN105956461B CN105956461B (zh) 2019-08-23

Family

ID=56915042

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610288375.1A Active CN105956461B (zh) 2016-05-03 2016-05-03 一种拦截驱动加载的方法及终端

Country Status (1)

Country Link
CN (1) CN105956461B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778232A (zh) * 2016-12-26 2017-05-31 努比亚技术有限公司 一种信息分析方法及电子设备
CN106951061A (zh) * 2017-03-29 2017-07-14 联想(北京)有限公司 电子设备和控制方法
CN107077561A (zh) * 2017-01-10 2017-08-18 深圳怡化电脑股份有限公司 验证上层应用身份的方法、自助终端及应用服务器
CN110674501A (zh) * 2019-09-09 2020-01-10 光通天下网络科技股份有限公司 恶意驱动检测方法、装置、设备及介质
CN111367684A (zh) * 2018-12-26 2020-07-03 北京天融信网络安全技术有限公司 一种过滤远程过程调用的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414339A (zh) * 2007-10-15 2009-04-22 北京瑞星国际软件有限公司 保护进程内存及确保驱动程序加载的安全性的方法
US9141428B2 (en) * 2012-05-31 2015-09-22 Fujitsu Limited Information processing apparatus and information processing method
CN105068916A (zh) * 2015-08-28 2015-11-18 福建六壬网安股份有限公司 一种基于内核hook的进程行为监控方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101414339A (zh) * 2007-10-15 2009-04-22 北京瑞星国际软件有限公司 保护进程内存及确保驱动程序加载的安全性的方法
US9141428B2 (en) * 2012-05-31 2015-09-22 Fujitsu Limited Information processing apparatus and information processing method
CN105068916A (zh) * 2015-08-28 2015-11-18 福建六壬网安股份有限公司 一种基于内核hook的进程行为监控方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106778232A (zh) * 2016-12-26 2017-05-31 努比亚技术有限公司 一种信息分析方法及电子设备
CN107077561A (zh) * 2017-01-10 2017-08-18 深圳怡化电脑股份有限公司 验证上层应用身份的方法、自助终端及应用服务器
CN106951061A (zh) * 2017-03-29 2017-07-14 联想(北京)有限公司 电子设备和控制方法
CN106951061B (zh) * 2017-03-29 2020-05-26 联想(北京)有限公司 电子设备和控制方法
CN111367684A (zh) * 2018-12-26 2020-07-03 北京天融信网络安全技术有限公司 一种过滤远程过程调用的方法和装置
CN111367684B (zh) * 2018-12-26 2023-11-10 北京天融信网络安全技术有限公司 一种过滤远程过程调用的方法和装置
CN110674501A (zh) * 2019-09-09 2020-01-10 光通天下网络科技股份有限公司 恶意驱动检测方法、装置、设备及介质
CN110674501B (zh) * 2019-09-09 2021-11-09 光通天下网络科技股份有限公司 恶意驱动检测方法、装置、设备及介质

Also Published As

Publication number Publication date
CN105956461B (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN105956461A (zh) 一种拦截驱动加载的方法及终端
US9596257B2 (en) Detection and prevention of installation of malicious mobile applications
EP3113063B1 (en) System and method for detecting malicious code in random access memory
CN103065092B (zh) 一种拦截可疑程序运行的方法
US9679136B2 (en) Method and system for discrete stateful behavioral analysis
US20100011029A1 (en) Malware detection
US9825977B2 (en) System and method for controlling access to data of a user device using a security application that provides accessibility services
CN107004088B (zh) 确定装置、确定方法及记录介质
US7665139B1 (en) Method and apparatus to detect and prevent malicious changes to tokens
CN106778243B (zh) 基于虚拟机的内核漏洞检测文件保护方法及装置
US11288362B2 (en) System and method for creating antivirus records for antivirus applications
CN106778244B (zh) 基于虚拟机的内核漏洞检测进程保护方法及装置
CN106778242B (zh) 基于虚拟机的内核漏洞检测方法及装置
CN109815700B (zh) 应用程序的处理方法及装置、存储介质、计算机设备
CN102663288A (zh) 病毒查杀方法及装置
US11157618B2 (en) Context-based analysis of applications
US20130219453A1 (en) Data leak prevention from a device with an operating system
EP2417551B1 (en) Providing information to a security application
CN102194072A (zh) 一种处理计算机病毒的方法、装置及系统
CN103793649A (zh) 通过云安全扫描文件的方法和装置
KR100959276B1 (ko) 커널계층에서 통제리스트를 이용한 악성프로세스 설치차단 시스템 및 그 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체
CN105956470A (zh) 一种拦截应用程序行为的方法及终端
US9785775B1 (en) Malware management
US10275596B1 (en) Activating malicious actions within electronic documents
JP2016224506A (ja) 情報流出検出装置、情報流出検出システム、及び情報流出検出プログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20181203

Address after: Room 105-53811, No. 6 Baohua Road, Hengqin New District, Zhuhai City, Guangdong Province

Applicant after: Zhuhai Leopard Technology Co.,Ltd.

Address before: 100085 East District, Second Floor, 33 Xiaoying West Road, Haidian District, Beijing

Applicant before: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd.

GR01 Patent grant
GR01 Patent grant