一种恶意远程过程溯源调用行为的检测方法及装置制造方法及图纸

技术编号:28300857 阅读:45 留言:0更新日期:2021-04-30 16:29
本发明专利技术涉及一种恶意远程过程溯源调用行为的检测方法及装置,包括初始化集合E0,拦截所有RPC调用请求,获取待调用的接口标识、API编号、需要调用该接口的具体函数及调用请求参数信息,建立每次远程过程调用的进程间调用关系信息;判断远程过程调用的接口标识是否存在于预先配置好的列表L0中,根据判断结果继续判断请求的接口标识是否存在于预先配置好的列表L1中,并根据两次判断结果实施相应操作;如果集合E0不存在客户端进程ID,则以T(P,T)为检索条件搜索相应的调用关系信息关系I,判断I是否存在于集合E0,并根据判断结果实施相应操作。本发明专利技术可以节约系统资源、加快系统的处理流程;同时又保证了RPC检测的准确性。

【技术实现步骤摘要】
一种恶意远程过程溯源调用行为的检测方法及装置
本专利技术涉及网络监测
,尤其涉及一种恶意远程过程溯源调用行为的检测方法及装置。
技术介绍
随着互联网的高速发展,恶意程序也更加的容易传播出去,并且恶意程序使用的攻击技术也在持续升级,不在局限于恶意程序进程内的行为对抗,而是利用RPC(RemoteProcedureCall)调用,使用系统已经存在的rpc组件进行恶意行为释放;达到绕过沙箱、主防等安全监测系统。同时,在视窗(windows)操作系统上,不止存在直连的rpc服务器,还存在着多级代理的rpc服务器,这个请求会跳转多次,最终请求会到达这个服务所在的进程,在存在多级代理的时候,对rpc进行溯源是必要的,这样才能将这个rpc行为关联到真正的请求发起者,可以有效的避免出现误报和漏洞的情况。另外,在最新版本的视窗(windows)操作系统上面,存在着大量的系统进程,无时无刻的都在创建或者结束进程,大量的系统本身行为,如果不能严格的区分开来,将产生大量的误报;特别是在沙箱的系统中,系统的行为严重的干扰了恶意行为的检测;传统的基于恶意程序所关联的进程链,不足以应对通过RPC来释放行为;而如果以整个系统进程关系链为基础,则会出现许多系统的行为。综述所述,要想准确的检测和溯源恶意远程过程调用的行为,除了有必要的调用接口的GUID和调用函数的索引号,还需要有发起请求的客服端的进程ID、线程ID,这样才能进行准确的检测;对于存在有多级代理的远程过程调用,必须对请求者溯源,才能知道最初发起请求的客户端是哪个进程,这样才能判断这个远程过程调用是否是恶意的。
技术实现思路
本专利技术的目的在于克服现有技术的缺点,提供了一种恶意远程过程溯源调用行为的检测方法及装置,解决了传统的RPC拦截都只仅仅能够获取到ProcNum、PresentationContext;不能够完全的追踪到是哪个进程发起的请求;而仅仅通过ProcNum、PresentationContext根据已知的RPC规则进行检测,这种检测的准确性相对较低,而且也不能检测出未知的恶意远程过程调用。本专利技术的目的通过以下技术方案来实现:一种恶意远程过程溯源调用行为的检测方法,所述检测方法包括:初始化可疑目标进程信息集合E0,根据API拦截所有RPC调用请求,获取待调用的接口标识、API编号、需要调用该接口的具体函数及调用请求参数信息,并建立每次远程过程调用的进程间调用关系信息;判断远程过程调用的接口标识是否存在于预先配置好的可疑接口标志列表L0中,根据判断结果继续判断请求的接口标识是否存在于预先配置好的转发接口标识列表L1中,并根据两次判断结果实施相应操作;如果集合E0不存在客户端进程ID,则以T(P,T)为检索条件搜索相应的调用关系信息关系I,判断I是否存在于集合E0,并根据判断结果实施相应操作。所述初始化可疑目标进程信息集合E0,根据API拦截所有RPC调用请求,获取待调用的接口标识、API编号、需要调用该接口的具体函数及调用请求参数信息,并建立每次远程过程调用的进程间调用关系信息包括:A1、初始化可疑目标进行信息集合E0,根据API拦截RPC服务端调用响应分发入口函数,所用RPC调用请求通过该入口函数进行分发,拦截所用RPC调用请求;A2、对于单次RPC调用请求,客户端向服务端发送待调用的接口标识和API编号,并告知服务器需要调用该接口的具体函数及调用请求参数信息;A3、根据A2步骤中获取的调用信息建立每次远程过程调用的进程间调用关系信息。3.根据权利要求2所述的一种恶意远程过程溯源调用行为的检测方法,其特征在于:在所述A2步骤中根据该RPC调用请求信息解析该次RPC调用客户端的进程ID、线程ID、接口标识、请求函数ID及请求函数调用参数列表信息。所述A3步骤记录信息中的接口标识,请求函数信息,客户端的进程ID、线程ID、当前请求服务端的进程ID,服务端线程ID作为一个进程间调用关系查询信息结构体。所述判断远程过程调用的接口标识是否存在于预先配置好的可疑接口标志列表L0中,根据判断结果继续判断请求的接口标识是否存在于预先配置好的转发接口标识列表L1中,并根据两次判断结果实施相应操作包括:判断所述A2步骤中客户端远程过程调用的接口标识是否存在于预先配置好的可疑接口标识列表L0中,当不存在于L0中时,则判断请求的接口标识是否存在于预先配置好的转发接口标识列表L1中,当存在于L0中时,则将进程间调用关系信息插入到查询模块中,表明该次远程过程调用请求为代理转发过程调用,并结束实施步骤;当A2步骤中的接口标识不存在于L0且同时不存在于L1时,判断进程间调用关系信息中的客户端进程ID是否存在于集合E0中,如果存在,则将进程间调用关系信息插入到查询模块中并结束实施步骤,否则,直接结束实施该步骤;当A2步骤中接口标识存在于L0时,判断进程间调用关系信息中的客户端进程ID是否存在于集合E0中,如果集合E0中存在该客户端进程ID,则记录和告警该次请求为恶意的远程过程调用,并结束实施步骤;如果集合E0不存在该客户端进行ID,则将A3步骤的调用关系信息中的客户端进程ID和线程ID作为检索条件T(P,T)。所述如果集合E0不存在客户端进程ID,则以T(P,T)为检索条件搜索相应的调用关系信息关系I,判断I是否存在于集合E0,并根据判断结果实施相应操作包括:B1、根据检索条件T(P,T)在查询模块中搜索相同的服务端进程ID和服务端线程ID的调用关系信息关系I,如果关系I为空,则表明该次过程调用请求为正常调用,并结束实施步骤;B2、判断I中的客户端进程ID是否存在于可疑进程信息集合E0中,如果集合E0不存在该进程ID,则将关系I的客户端进程ID和线程ID作为检索条件T(P,T)重复B1步骤;B3、如果B2步骤中的集合E0中存在进程关系I的客户端进程ID,则记录和告警该次请求为恶意的远程过程调用,并结束实施步骤。一种基于恶意远程过程溯源调用行为的检测方法的检测装置,它包括劫持模块、解析模块、构造模块、第一判断模块、第二判断模块、第三判断模块、第四判断模块、记录告警模块和查询模块;所述劫持模块用于利用API拦截方法拦截所有RPC调用请求;所述解析模块用于解析远程过程调用数据包;所述构造模块用于构造信息结构体;所述第一判断模块用于判断接口标识是否存在于L0中;所述第二判断模块用于在所述第一判断模块的判断为是的基础上判断关系I是否存在于可疑目标进程信息集合E0中;所述第三判断模块用于判断接口标识是否存在于转发接口标识列表L1中;所述第四判断模块用于在所述第三判断模块判断为是的基础上判断是否系I是否存在于可疑目标进程信息集合E0中;所述记录告警模块用于记录和告警相应的请求为恶意的远程过程调用;所述查询模块用于搜索相同的服务端进程ID和服务端线程ID的调用关系信息关系I。本专利技术具有以下优点:一种恶意远程过程溯源调用行为的检测方法,从拦截远程过程调本文档来自技高网
...

【技术保护点】
1.一种恶意远程过程溯源调用行为的检测方法,其特征在于:所述检测方法包括:/n初始化可疑目标进程信息集合E0,根据API拦截所有RPC调用请求,获取待调用的接口标识、API编号、需要调用该接口的具体函数及调用请求参数信息,并建立每次远程过程调用的进程间调用关系信息;/n判断远程过程调用的接口标识是否存在于预先配置好的可疑接口标志列表L0中,根据判断结果继续判断请求的接口标识是否存在于预先配置好的转发接口标识列表L1中,并根据两次判断结果实施相应操作;/n如果集合E0不存在客户端进程ID,则以T(P,T)为检索条件搜索相应的调用关系信息关系I,判断I是否存在于集合E0,并根据判断结果实施相应操作。/n

【技术特征摘要】
1.一种恶意远程过程溯源调用行为的检测方法,其特征在于:所述检测方法包括:
初始化可疑目标进程信息集合E0,根据API拦截所有RPC调用请求,获取待调用的接口标识、API编号、需要调用该接口的具体函数及调用请求参数信息,并建立每次远程过程调用的进程间调用关系信息;
判断远程过程调用的接口标识是否存在于预先配置好的可疑接口标志列表L0中,根据判断结果继续判断请求的接口标识是否存在于预先配置好的转发接口标识列表L1中,并根据两次判断结果实施相应操作;
如果集合E0不存在客户端进程ID,则以T(P,T)为检索条件搜索相应的调用关系信息关系I,判断I是否存在于集合E0,并根据判断结果实施相应操作。


2.根据权利要求1所述的一种恶意远程过程溯源调用行为的检测方法,其特征在于:所述初始化可疑目标进程信息集合E0,根据API拦截所有RPC调用请求,获取待调用的接口标识、API编号、需要调用该接口的具体函数及调用请求参数信息,并建立每次远程过程调用的进程间调用关系信息包括:
A1、初始化可疑目标进行信息集合E0,根据API拦截RPC服务端调用响应分发入口函数,所用RPC调用请求通过该入口函数进行分发,拦截所用RPC调用请求;
A2、对于单次RPC调用请求,客户端向服务端发送待调用的接口标识和API编号,并告知服务器需要调用该接口的具体函数及调用请求参数信息;
A3、根据A2步骤中获取的调用信息建立每次远程过程调用的进程间调用关系信息。


3.根据权利要求2所述的一种恶意远程过程溯源调用行为的检测方法,其特征在于:在所述A2步骤中根据该RPC调用请求信息解析该次RPC调用客户端的进程ID、线程ID、接口标识、请求函数ID及请求函数调用参数列表信息。


4.根据权利要求3所述的一种恶意远程过程溯源调用行为的检测方法,其特征在于:所述A3步骤记录信息中的接口标识,请求函数信息,客户端的进程ID、线程ID、当前请求服务端的进程ID,服务端线程ID作为一个进程间调用关系查询信息结构体。


5.根据权利要求2所述的一种恶意远程过程溯源调用行为的检测方法,其特征在于:所述判断远程过程调用的接口标识是否存在于预先配置好的可疑接口标志列表L0中,根据判断结果继续判断请求的接口标识是否存在于预先配置好的转发接口标识列表L1中,并根据两次判断结果实施相应操作包括:
判断所述A2步骤中客户端远程过程调用的接口标识是否存在于预先配置好的可疑接口标识列表L0中,当不存在于L0中时,则判断请求的接口标识是否存在于预先配置...

【专利技术属性】
技术研发人员:王宗才胡周毛春森张洁赵键俞祥基邓金祥胡勇王炜
申请(专利权)人:成都安思科技有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1