CN111367684B - 一种过滤远程过程调用的方法和装置 - Google Patents
一种过滤远程过程调用的方法和装置 Download PDFInfo
- Publication number
- CN111367684B CN111367684B CN201811602200.9A CN201811602200A CN111367684B CN 111367684 B CN111367684 B CN 111367684B CN 201811602200 A CN201811602200 A CN 201811602200A CN 111367684 B CN111367684 B CN 111367684B
- Authority
- CN
- China
- Prior art keywords
- interface
- function
- filtering
- registration
- pointer
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 120
- 238000001914 filtration Methods 0.000 title claims abstract description 81
- 230000008569 process Effects 0.000 claims abstract description 66
- 238000012545 processing Methods 0.000 claims abstract description 39
- 230000000903 blocking effect Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 description 106
- 238000010586 diagram Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000012550 audit Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004366 reverse phase liquid chromatography Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Abstract
本发明公开了一种过滤远程过程调用的方法和装置,方法应用在远程过程调用RPC服务器侧,包括:在RPC服务进程初始化时,加载动态链接库;在动态链接库入口函数执行时,对RPC服务接口注册应用程序编程接口API进行挂钩处理,将其调用重定向至预定接口注册过滤函数,并保留原始接口注册API的地址。本发明实施例应用在RPC服务器侧,在RPC服务接口注册API的过程中,对其进行挂钩处理,进而可以在调用时重定向到预定接口注册过滤函数,改写RPC服务程序注册的接口,由于RPC服务程序注册的接口函数改变了,因此,可以进行必要的过滤处理,该过程设置在RPC服务器侧,不需要调用所有可能的目标API的进程,资源开销较小,任何情况都可以实现过滤处理。
Description
技术领域
本发明涉及数据处理领域,特别涉及一种过滤远程过程调用的方法和装置。
背景技术
RPC(远程过程调用,Remote Procedure Call)是一个计算机通信协议。该协议采用客户端-服务器(Client/Server)方式工作,允许运行于一台计算机的程序调用另一台计算机的子程序,更多情况下,RPC用于实现同一台计算机的不同进程之间的通信。
标准化方面,RPC通常采用IDL(接口描述语言,Interface DescriptionLanguage)定义远程过程调用的接口,包括接口标识(GUID格式)、协议、方法和参数等。在Windows系统中,微软使用MIDL(Microsoft Interface Description Language)定义接口,编程语言采用C/C++。
Windows系统中,大多数系统服务都以RPC方式实现其API接口的,例如:服务管理器、安全账号管理器、打印池、网络共享、任务计划等。举例来说,对应于一个CreateService的API(应用程序编程接口,Application Programming Interface),其内部实现是通过将当前进程作为RPC客户端,向Services.exe实现的RPC服务器发起一个远程过程调用来实现的。
为了便于开发者使用RPC技术,Windows系统提供了一组API,用来支持RPC服务器的开发,这些API主要由动态库Rpcrt4.dll导出,一个典型的RPC服务器的初始化流程如下:调用RpcServerUseProtseqEp声明端点协议序列;调用RpcServerRegisterAuthInfo设置安全提供者;调用RpcServerRegisterIfEx注册接口;调用RpcServerListen开始监听调用请求等。
在计算机信息安全系统里,对这些系统服务进行额外的访问控制是实现安全防护的重要手段,由此,如果能在底层过滤这些RPC调用,就能对这些关键的系统资源进行访问控制和相应的审计。
现有的处理方法是调用目标API的进程进行挂钩处理。例如,在Windows平台,应用程序可以调用Win32API创建一个服务的配置项,该API由动态库Advapi32.dll中导出了CreateService函数。例如:如果要控制某应用程序创建服务的行为,可以在该进程空间上对CreateService函数进行挂钩处理,进而在挂钩函数中进行相应的处理。
然而,此种方式需要对所有可能调用目标API的进程进行挂钩处理,在资源开销上比较大,且需要对目标进程有足够的访问权,经常无法实现。
发明内容
有鉴于此,本发明实施例提出了一种过滤远程过程调用的方法和装置,用以解决现有技术的如下问题:现有调用目标API的进程进行挂钩处理方式需要对所有可能调用目标API的进程进行挂钩处理,在资源开销上比较大,且需要对目标进程有足够的访问权,经常无法实现。
一方面,本发明实施例提出了一种过滤远程过程调用的方法,应用在远程过程调用RPC服务器侧,包括:在RPC服务进程初始化时,加载动态链接库;在所述动态链接库入口函数执行时,对RPC服务接口注册应用程序编程接口API进行挂钩处理,将其调用重定向至预定接口注册过滤函数,并保留原始接口注册API的地址。
在一些实施例中,将其调用重定向至预定接口注册过滤函数之后,还包括:在RPC服务进程注册RPC服务接口时,通过所述预定接口注册过滤函数检测当前注册的接口信息是否与预定目标接口的接口信息相匹配;在相匹配的情况下,保存所述预定目标接口的原始接口函数的指针,并将所述原始接口函数的指针替换成所述动态链接库中的预定接口过滤函数的指针。
在一些实施例中,在不匹配的情况下,或者,将所述原始接口函数的指针替换成所述动态链接库中的预定接口过滤函数的指针之后,所述方法还包括:调用原始接口注册API以完成注册过程。
在一些实施例中,将所述原始接口函数的指针替换成所述动态链接库中的预定接口过滤函数的指针之后,还包括:在接收到接口调用信息时,通过所述预定接口过滤函数对调用信息进行过滤处理;根据过滤处理的结果执行对应的操作。
在一些实施例中,根据过滤处理的结果执行对应的操作,包括:在过滤处理的结果为阻断的情况下,发送返回拒绝访问消息;在过滤处理的结果为允许调用的情况下,调用原始接口函数,或者,先替换调用参数再调用原始接口函数。
另一方面,本发明实施例提出了一种过滤远程过程调用的装置,应用在远程过程调用RPC服务器侧,包括:加载模块,用于在RPC服务进程初始化时,加载动态链接库;挂钩处理模块,用于在所述动态链接库入口函数执行时,对RPC服务接口注册应用程序编程接口API进行挂钩处理,将其调用重定向至预定接口注册过滤函数,并保留原始接口注册API的地址。
在一些实施例中,还包括:接口注册过滤模块,用于在RPC服务进程注册RPC服务接口时,通过所述预定接口注册过滤函数检测当前注册的接口信息是否与预定目标接口的接口信息相匹配;在相匹配的情况下,保存所述预定目标接口的原始接口函数的指针,并将所述原始接口函数的指针替换成所述动态链接库中的预定接口过滤函数的指针。
在一些实施例中,所述接口注册过滤模块,还用于在不匹配的情况下,或者,在将接口函数的指针替换成所述动态链接库中的预定接口过滤函数之后,调用原始接口注册API以完成注册过程。
在一些实施例中,还包括:接口过滤模块,用于在接收到接口调用信息时,通过所述预定接口过滤函数对调用信息进行过滤处理;根据过滤处理的结果执行对应的操作。
在一些实施例中,所述接口过滤模块,具体用于:在过滤处理的结果为阻断的情况下,发送返回拒绝访问消息;在过滤处理的结果为允许调用的情况下,调用原始接口函数,或者,先替换调用参数再调用原始接口函数。
本发明实施例应用在RPC服务器侧,在RPC服务接口注册API的过程中,对其进行挂钩处理,进而可以在调用时重定向到预定接口注册过滤函数,改写RPC服务程序注册的接口,由于RPC服务程序注册的接口函数改变了,因此,可以进行必要的过滤处理,该过程设置在RPC服务器侧,不需要修改所有可能的RPC客户端进程,资源开销较小,且不受访问权限制,任何情况都可以实现过滤处理。
附图说明
图1为本发明一个实施例提供的过滤远程过程调用的方法的流程图;
图2为本发明一个实施例提供的INLINE-HOOK挂钩处理过程示意图;
图3为本发明一个实施例提供的初始阶段的流程示意图;
图4为本发明一个实施例提供的接口注册过滤阶段的流程示意图;
图5为本发明一个实施例提供的过滤阶段的流程示意图;
图6为本发明另一个实施例提供的过滤远程过程调用的装置的结构示意图。
具体实施方式
为了使得本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另外定义,本发明使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
为了保持本发明实施例的以下说明清楚且简明,本发明省略了已知功能和已知部件的详细说明。
本发明一个实施例提供了一种过滤远程过程调用的方法,应用在RPC服务器侧,该方法的流程如图1所示,包括步骤S101至S102:
S101,在RPC服务进程初始化时,加载动态链接库;
S102,在动态链接库入口函数执行时,对RPC服务接口注册API进行挂钩处理,将其调用重定向至预定接口注册过滤函数,并保留原始接口注册API的地址。上述挂钩处理可以通过INLINE-HOOK技术实现。
本发明实施例应用在RPC服务器侧,在RPC服务接口注册API的过程中,对其进行挂钩处理,进而可以在调用时重定向到预定接口注册过滤函数,改写RPC服务程序注册的接口,由于RPC服务程序注册的接口函数改变了,因此,可以进行必要的过滤处理,该过程设置在RPC服务器侧,不需要修改所有可能的RPC客户端进程,资源开销较小,且不受访问权限制,任何情况都可以实现过滤处理。
在将其调用重定向至预定接口注册过滤函数之后,在RPC服务进程注册RPC服务接口时,通过预定接口注册过滤函数检测当前注册的接口信息是否与预定目标接口的接口信息相匹配;在相匹配的情况下,保存预定目标接口的原始接口函数的指针,并将原始接口函数的指针替换成动态链接库中的预定接口过滤函数的指针,调用预定目标接口的原始接口注册函数以完成注册过程。具体实现时,接口信息包含一个接口函数派发表,派发表中的每个函数负责实现一个相应的接口功能,对于实现者感兴趣的功能,可以将对应的接口函数指针替换为对应的接口过滤函数的指针,并保存原始接口函数的指针,以保证后续需要调用该原始接口函数时使用。
如果当前注册的接口信息与预定目标接口的接口信息不匹配,则直接调用预定目标接口的原始接口注册函数以完成注册过程。
实现时,在将原始接口函数的指针替换成动态链接库中的预定接口过滤函数的指针之后,如果接收到接口调用信息,则通过预定接口过滤函数对调用信息进行过滤处理;根据过滤处理的结果执行对应的操作。例如,在过滤处理的结果为阻断的情况下,发送返回拒绝访问消息;在过滤处理的结果为允许调用的情况下,调用原始接口函数,或者,先替换调用参数再调用原始接口函数。
下面结合附图和具体实例对上述过程进行详细说明。
现有调用目标API的进程进行挂钩处理的方式存在以下缺点:
此种方式需要对所有可能调用目标API的进程进行挂钩处理,在资源开销上比较大;API挂钩要求挂钩方对目标进程有足够的访问权,例如打开进程、写进程内存等,对于某些有保护机制的应用程序来说,挂钩方没有办法获取足够的权限来完成挂钩操作;对于同一系统资源的访问,可能有多个API支持,并且在不同操作系统版本之间API也可能变化,这使得相应的开发和维护成本提高;通过API挂钩实现的访问控制,可能被较低层的方式绕过,例如,来自远程计算机的调用不会走本机的API,而是通过RPC调用直接请求到本机的RPC服务。
在RPC的服务器进程中,在合适的时机(RPC初始化之前),应用INLINE-HOOK技术挂钩RpcServerRegisterIfEx等函数,就能够改写RPC服务程序注册的接口,使其重定向至对应的挂钩处理函数,进行必要的过滤处理。
上述的INLINE-HOOK是一种在计算机指令执行流程中插入跳转指令从而改变执行流的技术。常用来拦截将对原有接口函数的调用,使其转而执行开发者提供的函数,在完成一些处理后,再转回执行原接口函数,这一过程在计算机编程中一般被称作“挂钩”(HOOK)。
一般的INLINE-HOOK实施过程如图2所示,其包括如下处理过程:
1.准备一片临时空间用来存放原始起始部分指令和跳回指令(即xTemp)。
2.准备挂钩函数(即xHook)。
挂钩函数通常以动态链接库方式加载到目标进程空间。
挂钩函数通常与原始函数有同样的声明(调用约定和形参)。
在挂钩函数中,如果要调用原始目标函数,应该调用到临时空间(即CALL[xTemp])。
3.在目标进程内查找到目标函数的地址(即xTarget)。
4.在目标函数起始处,进行如下处理:
将起始部分代码拷贝到临时空间的起始处(即Byte[0]-Byte[n-1])。
紧接着在临时空间追加跳回到原始函数的跳转指令(即Jump[xTarget+n])。
将目标函数的起始位置代码修改为到挂钩函数的跳转指令(即Jump[xHook])。
上述备份的原始代码字节数n取决于跳转指令的长度和原始代码对齐后能包含下跳转指令长度的最小长度。例如,在x86平台上,利用jump指令跳转需要5字节,那么至少要求在原始目标函数起始处保留5个字节才能容纳下跳转指令,但还要确保保存的原始代码是连续的,即指令字与操作数不能被分割。
按此例进行Inline-Hook挂钩处理后,目标进程对原始代码xTarget的调用,将转至xHook执行,在xHook中需要调用原始代码时,将调用到xTemp,在执行了n字节的原始代码后,继而跳转至xTarget+n处执行后续的原始代码。
基于以上背景,本实施例面向Windows操作系统,提出一种在RPC服务器方过滤RPC调用的方法。该方法对于使用RPC提供调用接口的服务,在RPC服务器初始化时替换其接口函数,从而获得对相应的资源的访问控制权。
本实例的主要方法是实现一个动态链接库(以下简称“过滤动态库”),具体过程如下:
(一)初始阶段。该阶段的流程示意如图3所示,包括如下过程:
在RPC服务进程初始化阶段,加载过滤动态库。
在过滤动态库入口函数执行时,对RPC服务接口注册API进行INLINE-HOOK挂钩处理,将其调用重定向至接口注册过滤函数。
(二)接口注册过滤阶段。该阶段的流程示意如图4所示,包括如下过程:
在进程注册RPC服务接口时,在接口注册过滤函数中,进行如下处理(即当有新的接口被注册时,在这个函数中进行替换):
提取接口信息,判断注册的接口是否目标接口,如果不是则调用原始服务注册API完成本次处理;否则,保存原始接口函数的指针,并将原始接口函数的指针替换为过滤动态库中的对应过滤函数的指针,再调用原始服务注册API完成本次处理。
接口注册过滤函数在注册时,提供各种列表,把列表中感兴趣的原接口函数替换成我们的过滤函数,后续操作发生时就会在我们的过滤函数中发生。
(三)过滤阶段。该阶段的流程示意如图5所示,包括如下过程:
在RPC客户端对目标接口发起远程调用时,调用会先转发到过滤函数,在过滤函数中,可进行如下处理:
提取调用信息,包括调用者信息、调用参数。
根据调用信息进行过滤处理,以根据处理的结果执行对应的操作,具体可能有:
(1)阻断调用:返回拒绝访问。
(2)允许调用:调用原始接口函数;也可以先替换参数后调用原始接口函数,再调用原始接口函数。
具体实现时,还可以在过程中构造审计过程。
本发明实施例提出了一种Windows系统下通用的远程过程调用过滤方法,其优点在于:通过在RPC服务方的过滤处理,实现在关键路径上施加访问控制;资源消耗低(避免客户端挂钩);对Windows操作系统的支持范围从Win2000到Win10,兼容性强。
本发明实施例在RPC服务进程启动时对RPC服务接口注册API的挂钩处理,在接口注册处理阶段中对RPC接口函数的替换处理方法。该实施例在信息安全领域,尤其是主机安全加固、主机安全审计、终端检测及响应系统等方面,可提供强有力的支持,具有实用意义。
本发明另一个实施例提供了一种过滤远程过程调用的装置,应用在远程过程调用RPC服务器侧,该装置的结构示意如图6所示,包括:
加载模块10,用于在RPC服务进程初始化时,加载动态链接库;挂钩处理模块20,与加载模块10耦合,用于在动态链接库入口函数执行时,对RPC服务接口注册应用程序编程接口API进行挂钩处理,将其调用重定向至预定接口注册过滤函数。
接口注册过滤模块(具体实现时以预定接口注册过滤函数实现),与挂钩处理模块耦合,用于在RPC服务进程注册RPC服务接口时,通过预定接口注册过滤函数检测当前注册的接口信息是否与预定目标接口的接口信息相匹配;在相匹配的情况下,保存预定目标接口的原始接口函数的指针,并将原始接口函数的指针替换成动态链接库中的预定接口过滤函数的指针。
其中,接口注册过滤模块,还用于在不匹配的情况下,或者,在将接口函数的指针替换成动态链接库中的预定接口过滤函数之后,调用预定目标接口的原始接口注册函数以完成注册过程。
上述装置还包括接口过滤模块,用于在接收到接口调用信息时,通过所述预定接口过滤函数对调用信息进行过滤处理,并根据过滤处理的结果执行对应的操作。具体操作可包括:在过滤处理的结果为阻断的情况下,返回拒绝访问消息;在过滤处理的结果为允许调用的情况下,调用原始接口函数,或者,先替换调用参数再调用原始接口函数。
本发明实施例应用在RPC服务器侧,在RPC服务接口注册API的过程中,对其进行挂钩处理,进而可以在调用时重定向到预定接口注册过滤函数,改写RPC服务程序注册的接口,由于RPC服务程序注册的接口函数改变了,因此,可以进行必要的过滤处理,该过程设置在RPC服务器侧,不需要修改RPC客户端进程,资源开销较小,且不受访问权限制,任何情况都可以实现过滤处理。
本发明实施例先对接口注册过滤函数进行挂钩处理,将其重定向至预定接口注册过滤函数,再在预定接口注册过滤函数实现过滤函数的替换,进而实现想要实现的过滤过程,不会被较低层次的调用绕过,实现了全面监控。
此外,尽管已经在本文中描述了示例性实施例,其范围包括任何和所有基于本发明的具有等同元件、修改、省略、组合(例如,各种实施例交叉的方案)、改编或改变的实施例。权利要求书中的元件将被基于权利要求中采用的语言宽泛地解释,并不限于在本说明书中或本申请的实施期间所描述的示例,其示例将被解释为非排他性的。因此,本说明书和示例旨在仅被认为是示例,真正的范围和精神由以下权利要求以及其等同物的全部范围所指示。
以上描述旨在是说明性的而不是限制性的。例如,上述示例(或其一个或更多方案)可以彼此组合使用。例如本领域普通技术人员在阅读上述描述时可以使用其它实施例。另外,在上述具体实施方式中,各种特征可以被分组在一起以简单化本发明。这不应解释为一种不要求保护的公开的特征对于任一权利要求是必要的意图。相反,本发明的主题可以少于特定的公开的实施例的全部特征。从而,以下权利要求书作为示例或实施例在此并入具体实施方式中,其中每个权利要求独立地作为单独的实施例,并且考虑这些实施例可以以各种组合或排列彼此组合。本发明的范围应参照所附权利要求以及这些权利要求赋权的等同形式的全部范围来确定。
以上对本发明多个实施例进行了详细说明,但本发明不限于这些具体的实施例,本领域技术人员在本发明构思的基础上,能够做出多种变型和修改实施例,这些变型和修改都应落入本发明所要求保护的范围之内。
Claims (8)
1.一种过滤远程过程调用的方法,其特征在于,应用在远程过程调用RPC服务器侧,包括:
在RPC服务进程初始化时,加载动态链接库;
在所述动态链接库入口函数执行时,对RPC服务接口注册应用程序编程接口API进行挂钩处理,将其调用重定向至预定接口注册过滤函数,并保留原始接口注册API的地址;
将其调用重定向至预定接口注册过滤函数之后,还包括:
在RPC服务进程注册RPC服务接口时,通过所述预定接口注册过滤函数检测当前注册的接口信息是否与预定目标接口的接口信息相匹配;
在相匹配的情况下,保存所述预定目标接口的原始接口函数的指针,并将所述原始接口函数的指针替换成所述动态链接库中的预定接口过滤函数的指针;
接口信息包含一个接口函数派发表,派发表中的每个函数负责实现一个相应的接口功能,对于实现者感兴趣的功能,将对应的接口函数指针替换为对应的接口过滤函数的指针。
2.如权利要求1所述的方法,其特征在于,在不匹配的情况下,或者,将所述原始接口函数的指针替换成所述动态链接库中的预定接口过滤函数的指针之后,所述方法还包括:
调用原始接口注册API以完成注册过程。
3.如权利要求2所述的方法,其特征在于,将所述原始接口函数的指针替换成所述动态链接库中的预定接口过滤函数的指针之后,还包括:
在接收到接口调用信息时,通过所述预定接口过滤函数对调用信息进行过滤处理;
根据过滤处理的结果执行对应的操作。
4.如权利要求3所述的方法,其特征在于,根据过滤处理的结果执行对应的操作,包括:
在过滤处理的结果为阻断的情况下,发送返回拒绝访问消息;
在过滤处理的结果为允许调用的情况下,调用原始接口函数,或者,先替换调用参数再调用原始接口函数。
5.一种过滤远程过程调用的装置,其特征在于,应用在远程过程调用RPC服务器侧,包括:
加载模块,用于在RPC服务进程初始化时,加载动态链接库;
挂钩处理模块,用于在所述动态链接库入口函数执行时,对RPC服务接口注册应用程序编程接口API进行挂钩处理,将其调用重定向至预定接口注册过滤函数,并保留原始接口注册API的地址;
还包括:
接口注册过滤模块,用于在RPC服务进程注册RPC服务接口时,通过所述预定接口注册过滤函数检测当前注册的接口信息是否与预定目标接口的接口信息相匹配;在相匹配的情况下,保存所述预定目标接口的原始接口函数的指针,并将所述原始接口函数的指针替换成所述动态链接库中的预定接口过滤函数的指针;
接口信息包含一个接口函数派发表,派发表中的每个函数负责实现一个相应的接口功能,对于实现者感兴趣的功能,将对应的接口函数指针替换为对应的接口过滤函数的指针。
6.如权利要求5所述的装置,其特征在于,
所述接口注册过滤模块,还用于在不匹配的情况下,或者,在将接口函数的指针替换成所述动态链接库中的预定接口过滤函数之后,调用所述预定目标接口的原始接口注册函数以完成注册过程。
7.如权利要求6所述的装置,其特征在于,还包括:
接口过滤模块,用于在接收到接口调用信息时,通过所述预定接口过滤函数对调用信息进行过滤处理;根据过滤处理的结果执行对应的操作。
8.如权利要求7所述的装置,其特征在于,
所述接口过滤模块,具体用于:在过滤处理的结果为阻断的情况下,发送返回拒绝访问消息;在过滤处理的结果为允许调用的情况下,调用原始接口函数,或者,先替换调用参数再调用原始接口函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811602200.9A CN111367684B (zh) | 2018-12-26 | 2018-12-26 | 一种过滤远程过程调用的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811602200.9A CN111367684B (zh) | 2018-12-26 | 2018-12-26 | 一种过滤远程过程调用的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111367684A CN111367684A (zh) | 2020-07-03 |
CN111367684B true CN111367684B (zh) | 2023-11-10 |
Family
ID=71212201
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811602200.9A Active CN111367684B (zh) | 2018-12-26 | 2018-12-26 | 一种过滤远程过程调用的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111367684B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111523136B (zh) * | 2020-07-06 | 2023-09-22 | 腾讯科技(深圳)有限公司 | 应用程序的权限管理方法、装置、设备及存储介质 |
CN114466053B (zh) * | 2022-04-11 | 2022-07-08 | 腾讯科技(深圳)有限公司 | 远程过程调用的调用管控方法、装置、设备及存储介质 |
CN115859274B (zh) * | 2022-12-12 | 2023-11-21 | 安芯网盾(北京)科技有限公司 | 一种监控Windows进程清空系统事件日志行为的方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693394A (zh) * | 2012-06-07 | 2012-09-26 | 奇智软件(北京)有限公司 | 一种用于拦截应用程序对服务的调用的方法和装置 |
CN102882875A (zh) * | 2012-09-29 | 2013-01-16 | 北京奇虎科技有限公司 | 主动防御方法及装置 |
CN103632101A (zh) * | 2013-12-09 | 2014-03-12 | 北京奇虎科技有限公司 | 一种拦截系统调用的方法和装置 |
CN104598257A (zh) * | 2013-10-30 | 2015-05-06 | 华为技术有限公司 | 远程应用程序运行的方法和装置 |
CN105956461A (zh) * | 2016-05-03 | 2016-09-21 | 北京金山安全软件有限公司 | 一种拦截驱动加载的方法及终端 |
CN106293969A (zh) * | 2016-08-09 | 2017-01-04 | 上海盈方微电子有限公司 | Linux进程间通讯方法及装置、进程退出监听方法 |
CN106326735A (zh) * | 2015-07-02 | 2017-01-11 | 腾讯科技(深圳)有限公司 | 防注入的方法和装置 |
CN106354546A (zh) * | 2016-08-29 | 2017-01-25 | 北京奇虎科技有限公司 | 虚拟机远程控制方法和系统 |
CN106778243A (zh) * | 2016-11-28 | 2017-05-31 | 北京奇虎科技有限公司 | 基于虚拟机的内核漏洞检测文件保护方法及装置 |
CN108446216A (zh) * | 2018-02-05 | 2018-08-24 | 捷开通讯(深圳)有限公司 | 跟踪流程轨迹的方法、装置以及存储装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8578486B2 (en) * | 2010-06-18 | 2013-11-05 | Microsoft Corporation | Encrypted network traffic interception and inspection |
-
2018
- 2018-12-26 CN CN201811602200.9A patent/CN111367684B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693394A (zh) * | 2012-06-07 | 2012-09-26 | 奇智软件(北京)有限公司 | 一种用于拦截应用程序对服务的调用的方法和装置 |
CN102882875A (zh) * | 2012-09-29 | 2013-01-16 | 北京奇虎科技有限公司 | 主动防御方法及装置 |
CN104598257A (zh) * | 2013-10-30 | 2015-05-06 | 华为技术有限公司 | 远程应用程序运行的方法和装置 |
CN103632101A (zh) * | 2013-12-09 | 2014-03-12 | 北京奇虎科技有限公司 | 一种拦截系统调用的方法和装置 |
CN106326735A (zh) * | 2015-07-02 | 2017-01-11 | 腾讯科技(深圳)有限公司 | 防注入的方法和装置 |
CN105956461A (zh) * | 2016-05-03 | 2016-09-21 | 北京金山安全软件有限公司 | 一种拦截驱动加载的方法及终端 |
CN106293969A (zh) * | 2016-08-09 | 2017-01-04 | 上海盈方微电子有限公司 | Linux进程间通讯方法及装置、进程退出监听方法 |
CN106354546A (zh) * | 2016-08-29 | 2017-01-25 | 北京奇虎科技有限公司 | 虚拟机远程控制方法和系统 |
CN106778243A (zh) * | 2016-11-28 | 2017-05-31 | 北京奇虎科技有限公司 | 基于虚拟机的内核漏洞检测文件保护方法及装置 |
CN108446216A (zh) * | 2018-02-05 | 2018-08-24 | 捷开通讯(深圳)有限公司 | 跟踪流程轨迹的方法、装置以及存储装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111367684A (zh) | 2020-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111367684B (zh) | 一种过滤远程过程调用的方法和装置 | |
US9875133B2 (en) | Virtual machine disk image installation | |
US7873957B2 (en) | Minimizing user disruption during modification operations | |
US8341649B2 (en) | System and method for handling an event in a computer system | |
US10216510B2 (en) | Silent upgrade of software with dependencies | |
US7606833B2 (en) | System and method for using an RMI activation system daemon with non-JAVA applications | |
US10019598B2 (en) | Dynamic service discovery | |
US11822947B2 (en) | Automated management of machine images | |
US11706220B2 (en) | Securing application behavior in serverless computing | |
WO2016069595A1 (en) | Method and system for exchanging content between applications | |
US8392921B2 (en) | Apparatus and method of coordinating operation action of robot software component | |
CN109634641A (zh) | 一种应用程序更新方法、装置、电子设备及介质 | |
US10853094B2 (en) | Dynamically downloadable distributed data deduplication library | |
US20220021727A1 (en) | System and method for launching and connecting to a local server from a webpage | |
KR101710328B1 (ko) | 동적 재구성 및 교체를 지원하는 os 보안 커널 시스템 및 그 방법 | |
CN115695400A (zh) | 一种Web页面与本地应用交互的方法及终端 | |
CN115758353A (zh) | 应用程序保护方法、装置、设备及存储介质 | |
US20120254968A1 (en) | Systems and methods for implementing security services | |
CN106022125A (zh) | 一种客户端的修复方法及装置 | |
US20160188872A1 (en) | Method and system for runtime injection of secure applications | |
US11157461B2 (en) | Systems and methods for accessing remote files | |
WO2014009845A1 (en) | Operating a program code object in conjunction with an application context | |
CN110597761B (zh) | 基于浏览器的文件处理方法、装置、电子设备及存储介质 | |
US11244042B2 (en) | Systems and methods for zero-footprint email and browser lifecycle | |
US20240119154A1 (en) | Zero-day patching within an entity's secure network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |