本申请涉及网络通讯技术领域,特别涉及一种数据审计方法、装置、一种电子设备及一种存储介质。
背景技术:
超文本传输协议(http,hypertexttransferprotoco),用于规定万维网服务器与浏览器之间信息传递规范。超文本传输协议2.0即http2.0,是下一代http协议。http2.0相比http1.1在性能上存在大幅度的提升。但是由于http2.0存在连接复用的特性,安全套接层协议解密不支持http2.0协议解密,http2.0连接可以存在多个并发流,影响对于数据的审计。
因此,如何避免http2.0协议对于安全套接层协议解密操作的影响,提高数据审计的可靠性是本领域技术人员目前需要解决的技术问题。
技术实现要素:
本申请的目的是提供一种数据审计方法、装置、一种电子设备及一种存储介质,能够避免超文本传输协议2.0对于安全套接层协议解密操作的影响,提高数据审计的可靠性。
为解决上述技术问题,本申请提供一种数据审计方法,该数据审计方法包括:
接收客户端发送的基于安全套接层协议加密的密文数据;
确定浏览器的内核类别,并根据所述内核类别禁用所述浏览器的超文本传输协议2.0连接功能;
对所述密文数据执行安全套接层解密操作得到明文数据,并对所述明文数据执行数据审计操作。
可选的,根据所述内核类别禁用所述浏览器的超文本传输协议2.0连接功能包括:
当所述内核类别为webkit内核时,通过挂钩函数添加禁用命令禁用所述浏览器的超文本传输协议2.0连接功能。
可选的,通过挂钩函数添加禁用命令禁用所述浏览器的超文本传输协议2.0连接功能包括:
利用动态链接库文件启动所述挂钩函数,通过所述挂钩函数添加禁用命令禁用所述浏览器的超文本传输协议2.0连接功能;其中,所述动态链接库文件为所述浏览器的安装目录中的文件。
可选的,根据所述内核类别禁用所述浏览器的超文本传输协议2.0连接功能包括:
当所述内核类别为gecko内核时,通过向配置文件中添加禁用配置参数禁用所述浏览器的超文本传输协议2.0连接功能。
可选的,根据所述内核类别禁用所述浏览器的超文本传输协议2.0连接功能包括:
当所述内核类别为trident内核时,通过在注册表中取消勾选目标选项禁用所述浏览器的超文本传输协议2.0连接功能。
可选的,所述目标选项包括超文本传输协议2.0启动选项和安全传输层协议1.2启动选项。
可选的,在对所述明文数据执行数据审计操作之后,还包括:
根据所述内核类别启用所述浏览器的超文本传输协议2.0连接功能。
本申请还提供了一种数据审计装置,该数据审计装置包括:
数据接收模块,用于接收客户端发送的基于安全套接层协议加密的密文数据;
连接禁用模块,用于确定浏览器的内核类别,并根据所述内核类别禁用所述浏览器的超文本传输协议2.0连接功能;
审计模块,用于对所述密文数据执行安全套接层解密操作得到明文数据,并对所述明文数据执行数据审计操作。
本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述数据审计方法执行的步骤。
本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述数据审计方法执行的步骤。
本申请提供了一种数据审计方法,包括接收客户端发送的基于安全套接层协议加密的密文数据;确定浏览器的内核类别,并根据所述内核类别禁用所述浏览器的超文本传输协议2.0连接功能;对所述密文数据执行安全套接层解密操作得到明文数据,并对所述明文数据执行数据审计操作。
本申请在接收到客户端发送的密文数据后,需要对密文数据执行安全套接层解密操作得到明文数据,进而基于明文数据执行数据审计操作。若在审计过程中浏览器开启超文本传输协议2.0连接功能,将会导致应用或统一资源定位符识别错乱的情况。因此本申请根据浏览器的内核类别禁用浏览器的超文本传输协议2.0连接功能,进而避免超文本传输协议2.0对于安全套接层协议解密操作的影响,提高数据审计的可靠性。本申请同时还提供了一种数据审计装置、一种电子设备和一种存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种数据审计系统的结构示意图;
图2为本申请实施例所提供的一种数据审计方法的流程图;
图3为本申请实施例所提供的一种基于webkit内核的浏览器的禁用超文本传输协议2.0连接功能的方法流程图;
图4为本申请实施例所提供的一种禁用webkit内核浏览器的超文本传输协议2.0的方法的流程图;
图5为本申请实施例所提供的一种数据审计装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了便于理解本申请的数据审计方法,下面对于本申请的数据审计方法所适用的应用场景进行介绍。参见图1,图1为本申请实施例所提供的一种数据审计系统的结构示意图。
如图1所示,本申请实施例提供的数据审计系统包括:客户端a、审计设备b和服务器c。客户端将基于安全套接层协议加密的密文数据发送至审计设备b,以便审计设备b将密文数据转发至服务器c,审计设备b可以对密文数据执行安全套接层解密操作得到明文数据并对所述明文数据执行数据审计操作。
下面请参见图2,图2为本申请实施例所提供的一种数据审计方法的流程图。
具体步骤可以包括:
s101:接收客户端发送的基于安全套接层协议加密的密文数据。
其中,本实施例可以应用于分别与客户端和服务端连接的审计设备,审计设备接收客户端发送的密文数据,并将密文数据转发至相应的服务器。安全套接层协议即ssl(securesocketslayer)协议,ssl是为网络通信提供安全及数据完整性的一种安全协议。
s102:确定浏览器的内核类别,并根据内核类别禁用浏览器的超文本传输协议2.0连接功能。
在接收到密文数据之后,为了对客户端与服务器之间的通信数据进行审计,需要执行安全套接层解密操作,但是由于安全套接层解密操作不支持超文本传输协议2.0连接功能,因此需要先禁用所述浏览器的超文本传输协议2.0连接功能,再执行s103的解密操作。
作为一种可行的实施方式,在本步骤之前可以存在查询浏览器名称,以便根据浏览器名称确定浏览器的内核种类。内核种类可以包括webkit内核、gecko内核和trident内核。本实施例可以预先存储内核类别与禁用方式的对应关系,在确定浏览器的内核类别后执行相应的操作,以便禁用浏览器的超文本传输协议2.0连接功能。
例如,当浏览器为基于webkit内核的浏览器时,浏览器的查看源码选项默认是开启的,因此可以通过挂钩系统函数getcommandlinew增加-disable-htt2禁用命令来达到禁用超文本传输协议2.0连接功能的效果,在未开启ssl解密时可以不启用挂钩系统函数getcommandlinew。
当浏览器为基于gecko内核的浏览器时,在浏览器的配置连接about:config里增加prefs.jsuser_pref("network.http.spdy.enabled.http2",false)字段,使得network.http.spdy.enabled.http2=false,以便禁用超文本传输协议2.0连接功能。当未开启ssl解密操作时,可以增加将相应字段修改为prefs.jsuser_pref("network.http.spdy.enabled.http2",true)。
当浏览器为trident内核时,可在网络选项中取消勾选超文本传输协议2.0启动选项和安全传输层协议1.2(transportlayersecurity1.2,tls1.2)启动选项以禁用http2连接,取消勾选操作可写在注册表。网络选项地址可以为:hkey_current_user\\software\\microsoft\\windows\\currentversion\\internetsettings,当enablehttp2=0时且secureprotocols>2048时,可以将secureprotocols=secureprotocols-2048,以便可禁用超文本传输协议2.0连接功能。在未开启ssl解密时enablehttp2=1,secureprotocols=secureprotocols 2048即可启用超文本传输协议2.0连接功能。
s103:对密文数据执行安全套接层解密操作得到明文数据,并对明文数据执行数据审计操作。
其中,本步骤建立在已经禁用浏览器的超文本传输协议2.0连接功能的基础上,可以对密文数据执行安全套接层解密操作得到明文数据,并根据明文数据的内容执行数据审计操作。作为一种可行的实施方式,本实施例还可以在审计结果判定存在异常时,执行相应的处理操作。作为另一种可行的实施方式,在对所述明文数据执行数据审计操作之后,还可以根据所述内核类别启用所述浏览器的超文本传输协议2.0连接功能。
本实施例在接收到客户端发送的密文数据后,需要对密文数据执行安全套接层解密操作得到明文数据,进而基于明文数据执行数据审计操作。若在审计过程中浏览器开启超文本传输协议2.0连接功能,将会导致应用或统一资源定位符识别错乱的情况。因此本实施例根据浏览器的内核类别禁用浏览器的超文本传输协议2.0连接功能,进而避免超文本传输协议2.0对于安全套接层协议解密操作的影响,提高数据审计的可靠性。
请参见图3,图3为本申请实施例所提供的一种基于webkit内核的浏览器的禁用超文本传输协议2.0连接功能的方法流程图,本实施例是对图1对应实施例中s102的进一步介绍,描述了当所述内核类别为webkit内核时通过挂钩函数添加禁用命令禁用http2.0的过程,可以将本实施例与图1对应的实施例相结合得到进一步的实施方式,本实施例可以包括以下步骤:
s201:查询浏览器的安装路径。
s202:将目标安装包version.dll拷贝至浏览器的安装路径。
s203:当浏览器启动时,加载目标安装包version.dll。
s204:加载目标安装包version.dll得到目标文件,并将目标文件与kernel32.dll的导出函数getcommandlinew挂钩。
s205:浏览器调用getcommandlinew生成启动指令,利用目标文件在启动命令中添加禁用命令disable-http2.0,以便浏览器利用添加disable-http2.0的启动命令完成启动操作。
本实施例利用动态链接库文件启动所述挂钩函数,通过所述挂钩函数添加禁用命令禁用所述浏览器的超文本传输协议2.0连接功能。作为一种可行的实施方式,请参见图4,图4为本申请实施例所提供的一种禁用webkit内核浏览器的超文本传输协议2.0的方法的流程图。本实施例可以定时检测浏览器安装目录,将目标安装包version.dll拷贝到浏览器安装目录,操作系统程序加载动态链接库时,会先从浏览器安装目录下加载,然后再去系统目录下加载,所以当浏览器启动时会先加载目标安装包version.dll。通过加载目标安装包version.dll,可以将功能调用转发过去并根据ssl解密是否开启来确定是否开启挂钩getcommandlinew函数,当系统调用getcommandlinew时可以进入挂钩函数,以便将disable-htt2命令加在原命令上返回,即可达到禁用超文本传输协议2.0连接功能的目的。
作为对于图1对应实施例的进一步介绍,当所述内核类别为gecko内核时,可以通过以下方式禁用超文本传输协议2.0连接功能:通过向配置文件中添加禁用配置参数禁用所述浏览器的超文本传输协议2.0连接功能。例如,当开启ssl解密时,扫描浏览器的配置文件prefs.js,在配置文件prefs.js中添加user_pref("network.http.spdy.enabled.http2",false)配置。
进一步的,当所述内核类别为trident内核时,可以通过在注册表中取消勾选目标选项禁用所述浏览器的超文本传输协议2.0连接功能。其中,目标选项包括超文本传输协议2.0启动选项和安全传输层协议1.2启动选项。作为一种可行的实施方式,可以定时扫描注册表,当开启ssl解密时,设置注册表:hkey_current_user\\software\\microsoft\\windows\\currentversion\\internetsettings下enablehttp2=0,secureprotocols>2048时secureprotocols=secureprotocols-2048即可禁用超文本传输协议2.0连接功能。
在未开启ssl解密功能时,可以将enablehttp2=1以便启用超文本传输协议2.0,secureprotocols=secureprotocols 2048以便勾选安全传输层协议1.2。
具体的,通过设置enablehttp2的值可以实现启用或禁用超文本传输协议2.0,通过设置secureprotocols的值可以勾选对应的安全传输层协议和安全套接层,具体的赋值关系如下:
enablehttp2=1http2启用;
enablehttp2=0http2禁用;
secureprotocols=2048tls1.2勾选;
secureprotocols=32ssl3.0勾选;
secureprotocols=128tls1.0勾选;
secureprotocols=512tls1.1勾选。
请参见图5,图5为本申请实施例所提供的一种数据审计装置的结构示意图;
该装置可以包括:
数据接收模块100,用于接收客户端发送的基于安全套接层协议加密的密文数据;
连接禁用模块200,用于确定浏览器的内核类别,并根据所述内核类别禁用所述浏览器的超文本传输协议2.0连接功能;
审计模块300,用于对所述密文数据执行安全套接层解密操作得到明文数据,并对所述明文数据执行数据审计操作。
本实施例在接收到客户端发送的密文数据后,需要对密文数据执行安全套接层解密操作得到明文数据,进而基于明文数据执行数据审计操作。若在审计过程中浏览器开启超文本传输协议2.0连接功能,将会导致应用或统一资源定位符识别错乱的情况。因此本实施例根据浏览器的内核类别禁用浏览器的超文本传输协议2.0连接功能,进而避免http2.0协议对于安全套接层协议解密操作的影响,提高数据审计的可靠性。
进一步的,连接禁用模块200包括:
第一处理单元,用于当所述内核类别为webkit内核时,通过挂钩函数添加禁用命令禁用所述浏览器的超文本传输协议2.0连接功能。
第二处理单元,用于当所述内核类别为gecko内核时,通过向配置文件中添加禁用配置参数禁用所述浏览器的超文本传输协议2.0连接功能。
第三处理单元,用于当所述内核类别为trident内核时,通过在注册表中取消勾选目标选项禁用所述浏览器的超文本传输协议2.0连接功能。
进一步的,第一处理单元具体为用于利用动态链接库文件启动所述挂钩函数,通过所述挂钩函数添加禁用命令禁用所述浏览器的超文本传输协议2.0连接功能的单元;其中,所述动态链接库文件为所述浏览器的安装目录中的文件。
进一步的,所述目标选项包括超文本传输协议2.0启动选项和安全传输层协议1.2启动选项。
进一步的,还包括:
连接启用模块,用于在对所述明文数据执行数据审计操作之后,根据所述内核类别启用所述浏览器的超文本传输协议2.0连接功能。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
1.一种数据审计方法,其特征在于,包括:
接收客户端发送的基于安全套接层协议加密的密文数据;
确定浏览器的内核类别,并根据所述内核类别禁用所述浏览器的超文本传输协议2.0连接功能;
对所述密文数据执行安全套接层解密操作得到明文数据,并对所述明文数据执行数据审计操作。
2.根据权利要求1所述数据审计方法,其特征在于,根据所述内核类别禁用所述浏览器的超文本传输协议2.0连接功能包括:
当所述内核类别为webkit内核时,通过挂钩函数添加禁用命令禁用所述浏览器的超文本传输协议2.0连接功能。
3.根据权利要求2所述数据审计方法,其特征在于,通过挂钩函数添加禁用命令禁用所述浏览器的超文本传输协议2.0连接功能包括:
利用动态链接库文件启动所述挂钩函数,通过所述挂钩函数添加禁用命令禁用所述浏览器的超文本传输协议2.0连接功能;其中,所述动态链接库文件为所述浏览器的安装目录中的文件。
4.根据权利要求1所述数据审计方法,其特征在于,根据所述内核类别禁用所述浏览器的超文本传输协议2.0连接功能包括:
当所述内核类别为gecko内核时,通过向配置文件中添加禁用配置参数禁用所述浏览器的超文本传输协议2.0连接功能。
5.根据权利要求1所述数据审计方法,其特征在于,根据所述内核类别禁用所述浏览器的超文本传输协议2.0连接功能包括:
当所述内核类别为trident内核时,通过在注册表中取消勾选目标选项禁用所述浏览器的超文本传输协议2.0连接功能。
6.根据权利要求5所述数据审计方法,其特征在于,所述目标选项包括超文本传输协议2.0启动选项和安全传输层协议1.2启动选项。
7.根据权利要求1至6任一项所述数据审计方法,其特征在于,在对所述明文数据执行数据审计操作之后,还包括:
根据所述内核类别启用所述浏览器的超文本传输协议2.0连接功能。
8.一种数据审计装置,其特征在于,包括:
数据接收模块,用于接收客户端发送的基于安全套接层协议加密的密文数据;
连接禁用模块,用于确定浏览器的内核类别,并根据所述内核类别禁用所述浏览器的超文本传输协议2.0连接功能;
审计模块,用于对所述密文数据执行安全套接层解密操作得到明文数据,并对所述明文数据执行数据审计操作。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1至7任一项所述数据审计方法的步骤。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上权利要求1至7任一项所述数据审计方法的步骤。
技术总结