本发明涉及计算机,尤其涉及一种访问溯源方法、装置、电子设备及存储介质。
背景技术:
1、windows大量采用远程过程调用(remote procedure call,rpc)实现各种系统功能,这些功能经常被攻击者利用,当前基础数据采集只能获取这类行为的直接发起者(即rpc server),而直接发起者通常都是正常的系统服务进程,相关技术无法获取rpc调用的真实发起者。
技术实现思路
1、为了解决上述问题,本发明实施例提供了一种访问溯源方法、装置、电子设备及存储介质,以至少解决相关技术当前无法获取rpc调用的真实发起者问题。
2、本发明的技术方案是这样实现的:
3、一方面,本发明实施例提供了一种访问溯源方法,该方法包括:
4、基于工作线程处理接收到的远程调用请求;
5、在接收到预设的回调函数发出的目标事件被执行的通知的情况下,确定所述工作线程的线程环境块;所述回调函数用于在所述目标事件被所述工作线程执行时发送通知;
6、从所述线程环境块中获取远程调用者的身份信息。
7、在上述方案中,所述基于工作线程处理接收到的远程调用请求之前,所述方法还包括:
8、针对系统事件注册回调函数,所述系统事件包括所述目标事件。
9、在上述方案中,所述从所述线程环境块中获取远程调用者的身份信息,包括:
10、确定所述线程环境块中的目标字段指向的数据结构;
11、从所述目标字段指向的数据结构中获取调用者的身份信息。
12、在上述方案中,所述确定所述线程环境块中的目标字段指向的数据结构,包括:
13、确定所述工作线程所在主机的系统版本;
14、基于所述系统版本确定所述目标字段指向的数据结构在所述线程环境块中的位置。
15、在上述方案中,所述基于所述系统版本确定所述目标字段指向的数据结构在所述线程环境块中的位置,包括:
16、基于所述系统版本确定所述目标字段的偏移量;
17、以所述目标字段的地址为起始地址,基于所述偏移量确定所述目标字段指向的数据结构的位置。
18、在上述方案中,所述从所述目标字段指向的数据结构中获取调用者的身份信息,包括:
19、从所述目标字段指向的数据结构中获取数据传输类型字段;
20、获取所述数据传输类型字段对应的远程调用者的身份信息。
21、在上述方案中,所述从所述线程环境块中获取远程调用者的身份信息之前,所述方法还包括:
22、确定所述线程环境块中的目标字段是否为空;
23、若所述目标字段不为空,则从所述线程环境块中获取远程调用者的身份信息。
24、另一方面,本申请实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时,实现上述方案中访问溯源方法的步骤。
25、另一方面,本发明实施例提供了一种电子设备,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行本发明实施例第一方面提供的访问溯源方法的步骤。
26、另一方面,本发明实施例提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序。所述计算机程序被处理器执行时实现如本发明实施例第一方面提供的访问溯源方法的步骤。
27、本申请实施例基于工作线程处理接收到的远程调用请求,在接收到预设的回调函数发出的目标事件被执行的通知的情况下,确定工作线程的线程环境块,从线程环境块中获取远程调用者的身份信息。其中,回调函数用于在目标事件被工作线程执行时发送通知。本申请实施例在处理远程调用过程中,从工作线程的teb中获取远程调用者的真实身份信息。本申请实施例能够轻量、稳定且难以被绕过的获取rpc调用的真实发起者,极大的增强了威胁检测能力。
1.一种访问溯源方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述基于工作线程处理接收到的远程调用请求之前,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述从所述线程环境块中获取远程调用者的身份信息,包括:
4.根据权利要求3所述的方法,其特征在于,所述确定所述线程环境块中的目标字段指向的数据结构,包括:
5.根据权利要求4所述的方法,其特征在于,所述基于所述系统版本确定所述目标字段指向的数据结构在所述线程环境块中的位置,包括:
6.根据权利要求3所述的方法,其特征在于,所述从所述目标字段指向的数据结构中获取调用者的身份信息,包括:
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述从所述线程环境块中获取远程调用者的身份信息之前,所述方法还包括:
8.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序在被处理器执行时,实现权利要求1至7任一项所述的访问溯源方法的步骤。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的访问溯源方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的访问溯源方法的步骤。