发明内容
本发明提供一种基于动态代理实现通信审计的方法及系统,用以解决现有技术中通信审计成本高的缺陷,可以有效降低通信审计的成本。
第一方面,本发明实施例提供了一种基于动态代理实现通信审计的方法,应用于代理端设备,包括:通过网络驱动模块监视所述代理端设备的出网的网络行为,获取所述出网的网络行为指向的目标服务器的IP和端口,并发送到通道建立模块;通过所述通道建立模块根据所述目标服务器的IP和端口,建立所述目标服务器与代理端设备的第一加密转发通道;通过所述通道建立模块将所述代理端设备的第一端口与客户端设备进行绑定,在所述第一端口上启动代理对象,建立所述客户端设备与所述代理端设备的第二加密转发通道;通过所述代理对象解密所述客户端设备的第一通信数据,通过管控审计模块对解密的第一通信数据进行第一审计,将通过第一审计的第一通信数据由第一加密转发通道发送至所述目标服务器;通过所述代理对象解密所述目标服务器返回的第二通信数据,通过所述管控审计模块对解密的第二通信数据进行第二审计,将通过第二审计的第二通信数据由第二加密转发通道发送至所述客户端设备。
进一步地,所述的基于动态代理实现通信审计的方法,还包括:若所述解密的第一通信数据没有通过所述管控审计模块的第一审计,或所述解密的第二通信数据没有通过所述管控审计模块的第二审计,断开并销毁所述第一加密转发通道和所述第二加密转发通道,记录审计事件。
进一步地,所述将通过第二审计的第二通信数据由第二加密转发通道发送至所述客户端设备之后,还包括:销毁所述第一加密转发通道和所述第二加密转发通道。
进一步地,所述获取所述出网的网络行为指向的目标服务器的IP和端口,包括:若所述出网的网络行为是基于TCP协议连接服务器的初始化报文,确定所述服务器为目标服务器,获取所述目标服务器的IP和端口。
进一步地,所述通过所述通道建立模块根据所述目标服务器的IP和端口,建立所述目标服务器与代理端设备的第一加密转发通道,包括:通过所述通道建立模块根据所述目标服务器的IP和端口探测所述目标服务器,若基于对所述目标服务器的探测,获取所述目标服务器的证书信息,将所述证书信息保存在证书管理模块;对所述客户端设备进行模拟;基于所述证书信息建立所述代理端设备与所述目标服务器的所述第一加密转发通道。
进一步地,所述通过所述通道建立模块基于代理端设备的第一端口与客户端设备的绑定,在所述第一端口上启动代理对象,建立所述客户端设备与所述代理端设备的第二加密转发通道,包括:通过所述通道建立模块将所述代理端设备的第一端口与客户端设备的本地回环地址进行绑定,在所述第一端口上启动所述代理对象;监听所述代理端设备与所述客户端设备的连接,若所述代理端设备与所述客户端设备连接成功,获取所述代理端设备对所述客户端设备进行代理的代理地址;基于所述代理地址建立所述第二加密转发通道。
进一步地,所述获取所述代理端设备对所述客户端设备进行代理的代理地址之后,还包括:通过所述通道建立模块将所述代理地址发送到所述网络驱动模块;通过所述网络驱动模块根据所述代理地址跳转到所述第一端口。
进一步地,通过所述管控审计模块对解密的第二通信数据进行第二审计,包括:通过所述管控审计模块判断所述解密的第二通信数据是否完整;若所述解密的第二通信数据完整,对所述解密的第二通信数据进行第二审计。
进一步地,所述通过网络驱动模块监视所述代理端设备的出网的网络行为,获取所述出网的网络行为指向的目标服务器的IP和端口之前,还包括:确定是否通过管控审计模块对所述目标服务器进行审计;若对所述目标服务器进行审计,安装并加载所述网络驱动模块,并向所述网络驱动模块发送审计白名单;所述获取所述出网的网络行为指向的目标服务器的IP和端口之后,还包括:通过所述网络驱动模块基于所述审计白名单对所述目标服务器进行审计。
第二方面,本发明还提供了一种基于动态代理实现通信审计的系统,包括:代理端装置和管理端装置。其中,所述代理端装置包括:通道建立模块,用于根据目标服务器的IP和端口,建立目标服务器与代理端设备的第一加密转发通道;将代理端设备的第一端口绑定到客户端设备上,在所述第一端口上启动代理对象,建立客户端设备与代理端设备的第二加密转发通道;管控审计模块,用于对第一通信数据进行第一审计,将通过第一审计的第一通信数据由第一加密转发通道发送至所述目标服务器;通过所述管控审计模块对第二通信数据进行第二审计,将通过第二审计的第二通信数据由第二加密转发通道发送至所述客户端设备;证书管理模块,用于存储证书信息;驱动通信模块,用于检查驱动是否正常,注册驱动事件回调;网络驱动模块,用于监视所述代理端设备的出网的网络行为,获取所述出网的网络行为指向的目标服务器的IP和端口;基于根据所述回调指令,跳转到所述第一端口。所述管理端装置,用于管理用户鉴权、白名单、客户端设备分组、管控策略、审计事件展示和同步配置。
第三方面,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的基于动态代理实现通信审计的方法的步骤。
第四方面,本发明实施例还提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的基于动态代理实现通信审计的方法的步骤。
第五方面,本发明实施例还提供了一种计算机程序产品,其上存储有可执行指令,该指令被处理器执行时使处理器实现如第一方面所述的基于动态代理实现通信审计的方法的步骤。
本发明提供的基于动态代理实现通信审计的方法及系统,通过网络驱动模块监视代理端设备的出网的网络行为,获取出网的网络行为指向的目标服务器的IP和端口,并发送到通道建立模块;通过通道建立模块根据目标服务器的IP和端口,建立目标服务器与代理端设备的第一加密转发通道;通过通道建立模块将代理端设备的第一端口与客户端设备进行绑定,在第一端口上启动代理对象,建立客户端设备与代理端设备的第二加密转发通道;通过代理对象解密客户端设备的第一通信数据,通过管控审计模块对解密的第一通信数据进行第一审计,将通过第一审计的第一通信数据由第一加密转发通道发送至目标服务器;通过代理对象解密目标服务器返回的第二通信数据,通过管控审计模块对解密的第二通信数据进行第二审计,将通过第二审计的第二通信数据由第二加密转发通道发送至客户端设备。代理端设备对客户端设备进行代理,向目标服务器发送访问请求并接收目标服务器的反馈信息,并对发出的访问信息以及接收的反馈信息进行审计,不需要搭建额外的DNS服务器,可以降低对通信审计的成本。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的一种基于动态代理实现通信审计的方法实施例的流程示意图。如图1所示,该基于动态代理实现通信审计的方法,应用于代理端设备,可以包括以下步骤:
S101,通过网络驱动模块监视代理端设备的出网的网络行为,获取出网的网络行为指向的目标服务器的IP和端口,并发送到通道建立模块。
在步骤S101中,出网的网络行为可以为向其他设备发送消息,或者也可以为向其他设备发出访问请求或连接请求等,本发明实施例对此不作限定。出网的目的地址为除了本地回环地址以外的任意地址。127.0.0.1,通常被称为本地回环地址(LoopbackAddress),不属于任何一个有类别地址类。它代表设备的本地虚拟接口,所以默认被看作是永远不会宕掉的接口。根据出网的网络行为的目的地址可以获取目标服务器的IP和端口。
S102,通过通道建立模块根据目标服务器的IP和端口,建立目标服务器与代理端设备的第一加密转发通道。
在步骤S102中,代理端设备可以通过通道建立模块根据目标服务器的IP和端口建立目标服务器与代理端设备的连接,建立起目标服务器与代理端设备的第一加密转发通道。其中,第一加密转发通道可以为SSLConn1,本发明实施例对此不作限定。
S103,通过通道建立模块基于代理端设备的第一端口与客户端设备的绑定,在第一端口上启动代理对象,建客户端设备与代理端设备的第二加密转发通道。
在步骤S103中,代理端设备通过通道建立模块将代理端设备的第一端口与客户端设备进行绑定,若绑定成功,可以使代理端设备与客户端设备进行连接。代理端设备与客户端设备成功连接后,在第一端口上启动代理对象,同时建立代理端设备与客户端设备第二加密转发通道。其中,第二加密转发通道可以为SSLConn2,本发明实施例对此不作限定。
S104,通过代理对象解密客户端设备的第一通信数据,通过管控审计模块对解密的第一通信数据进行第一审计,将通过第一审计的第一通信数据由第一加密转发通道发送至目标服务器。
在步骤S104中,代理端设备首先通过代理对象对客户端设备的第一通信数据进行解密,然后通过管控审计模块对解密的第一通信数据进行第一审计,若解密的第一通信数据通过第一审计,认为该解密的第一通信数据是安全的,则将该通过第一审计的第一通信数据由第一加密转发通道SSLConn1发送至目标服务器。在这个过程中,代理端设备可以代理客户端设备向目标服务器发起访问。
S105,通过代理对象解密目标服务器返回的第二通信数据,通过管控审计模块对解密的第二通信数据进行第二审计,将通过第二审计的第二通信数据由第二加密转发通道发送至客户端设备。
在步骤S105中,代理端设备通过代理对象解密目标服务器返回的第二通信数据,然后通过管控审计模块对第二通信数据进行第二审计,若解密的第一通信数据通过第二审计,认为该解密的第二通信数据是安全的,则将该通过第二审计的第二通信数据由第二加密转发通道SSLConn2发送至客户端设备。在这个过程中,代理端设备可以代理客户端设备接收目标服务器的反馈信息。
本发明提供的基于动态代理实现通信审计的方法,通过网络驱动模块监视代理端设备的出网的网络行为,获取出网的网络行为指向的目标服务器的IP和端口,并发送到通道建立模块;通过通道建立模块根据目标服务器的IP和端口,建立目标服务器与代理端设备的第一加密转发通道;通过通道建立模块将代理端设备的第一端口与客户端设备进行绑定,在第一端口上启动代理对象,建立客户端设备与代理端设备的第二加密转发通道;通过代理对象解密客户端设备的第一通信数据,通过管控审计模块对解密的第一通信数据进行第一审计,将通过第一审计的第一通信数据由第一加密转发通道发送至目标服务器;通过代理对象解密目标服务器返回的第二通信数据,通过管控审计模块对解密的第二通信数据进行第二审计,将通过第二审计的第二通信数据由第二加密转发通道发送至客户端设备。代理端设备对客户端设备进行代理,向目标服务器发送访问请求并接收目标服务器的反馈信息,并对发出的访问信息以及接收的反馈信息进行审计,不需要搭建额外的DNS服务器,可以降低对通信审计的成本。
在一些可选的实施例中,基于动态代理实现通信审计的方法还可以包括:若解密的第一通信数据没有通过管控审计模块的第一审计,或解密的第二通信数据没有通过管控审计模块的第二审计,断开并销毁第一加密转发通道和第二加密转发通道,记录审计事件。
若解密的第一通信数据没有通过管控审计模块的第一审计,或解密的第二通信数据没有通过管控审计模块的第二审计,此时认为解密的第一通信数据或解密的第二通信数据是不安全的,不能对该数据进行传递,代理端设备通过主动断开并销毁第一加密转发通道和第二加密转发通道阻止不安全的数据传递。同时,对没有通过审计的数据记录审计事件,审计事件的内容可以包括审计的时间、数据的来源、没有通过审计的原因等,本发明实施例对此不作限定。
本发明提供的对审计事件进行管控的方法,通过断开并销毁审计不通过的数据的传递通道阻止不安全数据的传递,可以确保客户端设备和目标服务器的安全;通过对没通过审计的数据进行审计事件的记录,便于对不安全数据的溯源。
在一些可选的实施例中,将通过第二审计的第二通信数据由第二加密转发通道发送至客户端设备之后,还可以包括:销毁第一加密转发通道和第二加密转发通道。
其中,将通过第二审计的第二通信数据由第二加密转发通道发送至客户端设备之后,代表代理端设备代理客户端设备向目标服务器发起访问,代理客户端设备接收目标服务器的反馈,并将接收的反馈返回客户端设备,整个代理过程已经完成,销毁第一加密转发通道和第二加密转发通道。
本发明实施例提供的代理结束的处理方法,在代理完成后通过销毁第一加密转发通道和第二加密转发通道断开数据的传递通道,在代理完成后,可以减少客户端设备和目标服务器的线程,保证客户端设备和目标服务器的安全。
在一些可选的实施例中,获取出网的网络行为指向的目标服务器的IP和端口,包括:若出网的网络行为是基于TCP协议连接服务器的初始化报文,确定服务器为目标服务器,获取目标服务器的IP和端口。
其中,TCP协议是传输控制协议(Transmission Control Protocol TCP)的简称,TCP协议是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议。
初始化报文可以是SYN包,SYN是TCP建立连接时使用的握手信号。在代理端设备和服务器之间建立正常的TCP网络连接时,代理端设备首先发出一个SYN消息,服务器使用SYN-ACK应答表示接收到了这个消息,最后代理端设备再以ACK消息响应。这样在客户机和服务器之间才能建立起可靠的TCP连接,数据才可以在代理端设备和服务器之间传递。
图2为本发明提供的建立第一加密转发通道方法实施例的流程示意图。如图2所示,该建立第一加密转发通道方法,可以包括以下步骤:
S201,通过通道建立模块根据目标服务器的IP和端口探测目标服务器,若基于对目标服务器的探测,获取目标服务器的证书信息,将证书信息保存在证书管理模块。
在步骤S201中,证书信息可以为SSL证书信息,SSL是安全套接层(Secure SocketsLayer)的简称,SSL协议是为网络通信提供安全及数据完整性的一种安全协议。SSL在传输层对网络连接进行加密,用于保障网络数据传输安全,利用数据加密技术,确保数据在网络传输过程中不会被截取及窃听。SSL协议已成为全球化标准,所有主要的浏览器和WEB服务器程序都支持SSL协议,可通过安装SSL证书激活SSL协议。SSL证书就是遵守SSL协议的服务器数字证书,由受信任的证书颁发机构(CA机构),验证服务器身份后颁发,部署在服务器上,具有网站身份验证和加密传输双重功能。获取SSL证书的方法可以包括,SSL工具openssl s_client-showcerts-connect、CURL、Nmap、keytool等,本发明实施例对此不作限定。
S202,对客户端设备进行模拟。
在步骤S202中,由于代理端设备对客户端设备进行代理,对目标服务器进行访问,代理服务端需要对客户端设备进行模拟,在代理客户端设备访问目标服务器时,让目标服务器认为发出访问的是客户端设备,进而接收代理端设备的访问。
S203,基于证书信息建立代理端设备与目标服务器的第一加密转发通道。
在步骤S203中,代理端设备基于其缓存的SSL证书信息与目标服务器建立连接,完成SSL握手,建立代理端设备与目标服务器的第一加密转发通道。
本发明实施例提供的建立第一加密转发通道方法,通过获取证书信息可以实现代理端设备与目标服务器的连接,由于代理端设备使用了和目标服务器相同的证书,不会导致客户端设备出现证书无效或其它告警提示,对于网络客户端进程来说友好性更好,可以让网络进程对审计过程无感知。通过较多的开源和免费的工具,实现目标服务器证书的收集,并将对应证书和代理对象进行一对一的绑定,只要对这些证书进行集中有效性和时效性检查,对于即将过期、已过期、无效或吊销的异常证书状态进行告警,还能提升网络安全性。
图3为本发明提供的建立第二加密转发通道方法实施例的流程示意图。如图3所示,该建立第二加密转发通道方法,可以包括以下步骤:
S301,通过通道建立模块基于代理端设备的第一端口与客户端设备的本地回环地址的绑定,在第一端口上启动代理对象。
S302,监听代理端设备与客户端设备的连接,若代理端设备与客户端设备连接成功,获取代理端设备对客户端设备进行代理的代理地址。
S303,基于代理地址建立第二加密转发通道。
在步骤S301至步骤S303中,第一端口可以为LP_PORT,由于该端口与本地回环地址进行绑定,代理端设备与客户端设备连接成功后,可以得到代理地址可以为127.0.0.1:LP_PORT,根据该代理地址可以建立第二加密转发通道。
本发明实施例提供的建立第二加密转发通道方法,通过代理地址可以建立第二加密转发通道。
在一些可选的实施例中,获取代理端设备对客户端设备进行代理的代理地址之后,还可以包括:通过通道建立模块将代理地址发送到网络驱动模块。通过网络驱动模块根据代理地址跳转到第一端口。
其中,通道建立模块将代理地址发送到网络驱动模块,网络驱动模块可以跳转逻辑,执行由代理端设备代理客户端设备对目标服务器进行访问以及代理客户端设备接收目标服务器的反馈,该过程可以称为中间人劫持的流程。
本发明提供的实施例,通过将代理地址发送到网络驱动模块,可以实现代理逻辑的跳转,进入中间人劫持流程。
图4为本发明提供的对解密的第二通信数据的审计方法实施例的流程示意图。如图4所示,该对解密的第二通信数据的审计方法,可以包括以下步骤:
S401,通过管控审计模块判断解密的第二通信数据是否完整。
S402,若解密的第二通信数据完整,对解密的第二通信数据进行第二审计。
在步骤S401和步骤S402中,判断解密的第二通信数据是否完整,若完整,则证明已经接收目标服务器返回的全部反馈信息,则对该解密的第二通信数据进行审计;若不完整,则证明目标服务器返回的反馈信息还在接收中,将该解密的第二通信数据进行缓存,直至该解密的第二通信数据完整的接收,再对其进行审计。
本发明提供的对解密的第二通信数据的审计方法,通过判断解密的第二通信数据是否完整确定是否对其审计,可以保证对完整的第二通信数据进行审计。
在一些可选的实施例中,通过网络驱动模块监视代理端设备的出网的网络行为,获取出网的网络行为指向的目标服务器的IP和端口之前,还可以包括:确定是否通过管控审计模块对目标服务器进行审计;若对目标服务器进行审计,安装并加载网络驱动模块,并向网络驱动模块发送审计白名单;获取出网的网络行为指向的目标服务器的IP和端口之后,还可以包括:通过网络驱动模块基于审计白名单对目标服务器进行审计。
其中,审计白名单中的服务器为安全的服务器,若目标服务器在审计白名单中,则允许目标服务器与客户端设备直接连接;若目标服务器不在审计白名单中,则不允许目标服务器与客户端设备直接连接,需要代理端设备代理客户端设备与目标服务器连接。
本发明提供的实施例,通过审计白名单对目标服务器进行审计,可以判断目标服务器是否可以与客户端服务器直接连接,可以保证客户端服务器的安全。
图5为本发明提供的代理端设备的业务流程示意图,如图5所示,该代理端设备的业务流程可以包括:
管控审计模块检查目标服务器是否需要审计,若不需要审计,则代理端设备的业务流程结束;若需要审计,检查驱动是否正常,若驱动异常,驱动通信模块重新安装驱动,若驱动正常,驱动通信模块注册驱动事件回调,管控审计模块定期更新管控策略;通道建立模块处理TCP握手事件;经过TCP握手后,若没有获取SSL证书,通道建立模块通知网络驱动模块直接连接目标服务器;若获取SSL证书,通道建立模块将SSL证书存储至证书管理模块,创建目标服务器与代理端设备的SSLConnl1代理通道;若创建失败,则销毁该SSLConnl1代理通道,通知网络驱动模块不进行跳转,客户端设备直接连接目标服务器;若创建成功,将代理端设备的第一端口与本地回环地址进行绑定;若绑定成功,监听该端口与客户端设备成功连接,网络驱动模块与客户端设备进行连接,创建客户端设备与代理端设备的SSLConnl2代理通道;若创建失败,则销毁SSLConnl2代理通道;若SSLConnl1代理通道和SSLConnl2代理通道异常或者正常结束,销毁SSLConnl1代理通道和SSLConnl2代理通道。
图6为本发明提供的网络驱动模块的业务流程示意图,如图6所示,该网络驱动模块的业务流程可以包括:
若需要进行网络审计,网络驱动模块处理注册事件,接收下发的白名单,网络驱动模块监视到代理端设备的出网的网络行为是基于TCP协议连接服务器的初始化报文,判断出网的网络行为的目的地址是否是本地回环地址,若是,通知网络驱动模块不进行跳转,客户端设备直接连接该服务器;若不是,则判断出网的网络行为连接的服务器是在白名单上;若在,则通知网络驱动模块不进行跳转,客户端设备直接连接该服务器;如若不在,则调用回调,等待应用层指令判断是否跳转,若是,则跳转到应用层告知的特定端口,若不是,则网络驱动模块不进行跳转,客户端设备直接连接该服务器。
图7为本发明提供的基于动态代理实现通信审计系统实施例的组成结构示意图。如图7所示,该系统可以包括:
通道建立模块,用于根据目标服务器的IP和端口,建立目标服务器与代理端设备的第一加密转发通道;将代理端设备的第一端口绑定到客户端设备上,在第一端口上启动代理对象,建立客户端设备与代理端设备的第二加密转发通道;
管控审计模块,用于对第一通信数据进行第一审计,将通过第一审计的第一通信数据由第一加密转发通道发送至目标服务器;通过管控审计模块对第二通信数据进行第二审计,将通过第二审计的第二通信数据由第二加密转发通道发送至客户端设备;
证书管理模块,用于存储证书信息;
驱动通信模块,用于检查驱动是否正常,注册驱动事件回调;
网络驱动模块,用于监视代理端设备的出网的网络行为,获取出网的网络行为指向的目标服务器的IP和端口;基于根据回调指令,跳转到第一端口。
管理端装置,用于管理用户鉴权、白名单、客户端设备分组、管控策略、审计事件展示和同步配置。
本发明提供的基于动态代理实现通信审计系统,通过控制台装置来配置不同的策略来管控不同的客户端分组,实现HTTPS通信管控策略的差异化设置和下发;代理端装置的网络驱动模块基于事件回调函数,实现在本地回环地址的随机端口的HTTPS通信代理,进而通过中间人(MITM)攻击来通过两个加密安全通道实现对HTTPS通信通信的审计和管控。由于本地代理HTTPS通信使用了和目标HTTPS通信一样的证书,不会导致客户端设备出现证书无效或其它告警提示,对于网络客户端进程来说友好性更好,可以让网络进程对审计过程无感知。通过较多的开源和免费的工具,实现目标HTTPS通信站点证书的收集,并将对应证书和代理对象进行一对一的绑定,只要对这些证书进行集中有效性和时效性检查,对于即将过期、已过期、无效或吊销的异常证书状态进行告警,还能提升网络安全性。通过HTTPS通信审计白名单规则可以很好的规避不需要审计的放心HTTPS通信站点,减少过多不必要的审计导致的网络效率的损失,从而提升网络性能。
图8示例了一种电子设备的实体结构示意图,如图8示,该电子设备可以包括:处理器(processor)801、通信接口(CommunicationsInterface)802、存储器(memory)803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信。处理器801可以调用存储器803中的逻辑指令,以执行如下方法:通过网络驱动模块监视代理端设备的出网的网络行为,获取出网的网络行为指向的目标服务器的IP和端口,并发送到通道建立模块;通过通道建立模块根据目标服务器的IP和端口,建立目标服务器与代理端设备的第一加密转发通道;通过通道建立模块将代理端设备的第一端口与客户端设备进行绑定,在第一端口上启动代理对象,建立客户端设备与代理端设备的第二加密转发通道;通过代理对象解密客户端设备的第一通信数据,通过管控审计模块对解密的第一通信数据进行第一审计,将通过第一审计的第一通信数据由第一加密转发通道发送至目标服务器;通过代理对象解密目标服务器返回的第二通信数据,通过管控审计模块对解密的第二通信数据进行第二审计,将通过第二审计的第二通信数据由第二加密转发通道发送至客户端设备。
此外,上述的存储器803中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种计算机程序产品,计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,计算机能够执行上述各实施例提供的基于动态代理实现通信审计的方法,例如包括:通过网络驱动模块监视代理端设备的出网的网络行为,获取出网的网络行为指向的目标服务器的IP和端口,并发送到通道建立模块;通过通道建立模块根据目标服务器的IP和端口,建立目标服务器与代理端设备的第一加密转发通道;通过通道建立模块将代理端设备的第一端口与客户端设备进行绑定,在第一端口上启动代理对象,建立客户端设备与代理端设备的第二加密转发通道;通过代理对象解密客户端设备的第一通信数据,通过管控审计模块对解密的第一通信数据进行第一审计,将通过第一审计的第一通信数据由第一加密转发通道发送至目标服务器;通过代理对象解密目标服务器返回的第二通信数据,通过管控审计模块对解密的第二通信数据进行第二审计,将通过第二审计的第二通信数据由第二加密转发通道发送至客户端设备。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的基于动态代理实现通信审计的方法,例如包括:通过网络驱动模块监视代理端设备的出网的网络行为,获取出网的网络行为指向的目标服务器的IP和端口,并发送到通道建立模块;通过通道建立模块根据目标服务器的IP和端口,建立目标服务器与代理端设备的第一加密转发通道;通过通道建立模块将代理端设备的第一端口与客户端设备进行绑定,在第一端口上启动代理对象,建立客户端设备与代理端设备的第二加密转发通道;通过代理对象解密客户端设备的第一通信数据,通过管控审计模块对解密的第一通信数据进行第一审计,将通过第一审计的第一通信数据由第一加密转发通道发送至目标服务器;通过代理对象解密目标服务器返回的第二通信数据,通过管控审计模块对解密的第二通信数据进行第二审计,将通过第二审计的第二通信数据由第二加密转发通道发送至客户端设备。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。