CN110995422B - 一种数据分析方法、系统、设备及计算机可读存储介质 - Google Patents
一种数据分析方法、系统、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN110995422B CN110995422B CN201911202705.0A CN201911202705A CN110995422B CN 110995422 B CN110995422 B CN 110995422B CN 201911202705 A CN201911202705 A CN 201911202705A CN 110995422 B CN110995422 B CN 110995422B
- Authority
- CN
- China
- Prior art keywords
- terminal
- key
- random number
- function
- data
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种数据分析方法、系统、设备及计算机存储介质,获取终端与服务器协商的密钥信息;根据密钥信息确定会话密钥;获取与会话密钥对应的加密数据;基于会话密钥对加密数据进行解密,得到原始数据,以基于原始数据对终端进行数据分析;其中,密钥信息为终端与服务器直接建立SSL连接时协商的密钥信息,且密钥信息包括客户端随机数、服务器随机数、主密钥。本申请提供的数据分析方法,可以在不需要代理的情况下对数据进行分析,避免了因代理带来的缺点,适用性好。本申请提供的一种数据分析系统、设备及计算机可读存储介质也解决了相应技术问题。
Description
技术领域
本申请涉及通信技术领域,更具体地说,涉及一种网络数据分析方法、系统、设备及计算机可读存储介质。
背景技术
当前,越来越多的网站应用https(Hyper Text Transfer Protocol overSecureSocket Layer)协议为用户提供上网服务,然而,因为https中加入了SSL(SecureSockets Layer,安全套接层)层,由此使得网站的数据为加密数据,这样,在需要进行数据分析时,便需要将加密数据进行解密才能进行数据分析。
一种数据分析方法是对https请求使用SSL代理中间人,即通过对https请求进行代理的方法来实现加密数据的解密。然而,由于SSL代理中间人需要同时和终端及访问的服务器建立SSL连接,由此对SSL代理中间人的性能要求较高,用户的上网速度也会受到影响,另外,SSL代理中间人需要使用串接部署,应用限制较大,此外,SSL代理中间人的存在会使得终端上弹出告警页面,影响用户体验性。
综上所述,如何提供一种适用性好的数据分析方法是目前本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种数据分析方法,其能在一定程度上解决如何提供一种适用性好的数据分析方法的技术问题。本申请还提供了一种数据分析系统、设备及计算机可读存储介质。
为了实现上述目的,本申请提供如下技术方案:
一种数据分析方法,包括:
获取终端与服务器协商的密钥信息;
根据所述密钥信息确定会话密钥;
获取与所述会话密钥对应的加密数据;
基于所述会话密钥对所述加密数据进行解密,得到原始数据,以基于所述原始数据对所述终端进行数据分析;
其中,所述密钥信息为所述终端与所述服务器直接建立SSL连接时协商的密钥信息,且所述密钥信息包括客户端随机数、服务器随机数、主密钥。
优选的,所述获取终端与服务器协商的密钥信息,包括:
在所述终端与所述服务器建立所述SSL连接的过程中,获取所述终端生成的所述客户端随机数及所述主密钥;
基于所述客户端随机数,在所述终端中确定出所述SSL连接的连接信息;
在所述连接信息中解析出所述服务器随机数。
优选的,所述获取所述终端生成的所述客户端随机数及所述主密钥,包括:
通过DLL注入方法将钩子函数注入至所述终端;
将所述终端中用于获取密钥数据的目标函数信息挂钩至所述钩子函数;
通过所述钩子函数获取所述客户端随机数及所述主密钥。
优选的,所述将所述终端中用于获取密钥数据的目标函数信息挂钩至所述钩子函数,包括:
将所述终端中用于获取所述密钥数据的目标功能函数挂钩至所述钩子函数。
优选的,所述目标功能函数包括文件写入函数;
所述通过DLL注入方法将钩子函数注入至所述终端之前,还包括:
在所述终端中设置系统环境变量;
所述通过所述钩子函数获取所述客户端随机数及所述主密钥,包括:
通过所述钩子函数在所述终端中创建管道句柄,以使所述终端在应用所述文件写入函数向所述系统环境变量写入参数时、将所述客户端随机数及所述主密钥写入所述管道句柄;
通过所述管道句柄接收所述客户端随机数及所述主密钥。
优选的,所述目标功能函数包括密钥处理函数;
所述通过DLL注入方法将钩子函数注入至所述终端,包括:
通过所述DLL注入方法将所述钩子函数注入至所述终端的进程;
所述通过所述钩子函数获取所述客户端随机数及所述主密钥,包括:
通过所述钩子函数,获取所述终端中与所述密钥处理函数对应的函数参数变量;
在所述函数参数变量中获取所述客户端随机数及所述主密钥。
优选的,所述通过所述DLL注入方法将所述钩子函数注入至所述终端的进程,包括:
通过所述DLL注入方法将所述钩子函数注入至所述终端的系统服务器进程;
其中,所述密钥处理函数包括主密钥处理函数。
优选的,所述通过所述DLL注入方法将所述钩子函数注入至所述终端的进程,包括:
通过所述DLL注入方法将所述钩子函数注入至所述终端的浏览器进程;
其中,所述密钥处理函数包括会话密钥处理函数。
一种数据分析系统,包括:
第一获取模块,用于获取终端与服务器协商的密钥信息;
第一确定模块,用于根据所述密钥信息确定会话密钥;
第二获取模块,用于获取与所述会话密钥对应的加密数据;
第一解密模块,用于基于所述会话密钥对所述加密数据进行解密,得到原始数据,以基于所述原始数据对所述终端进行数据分析;
其中,所述密钥信息为所述终端与所述服务器直接建立SSL连接时协商的密钥信息,且所述密钥信息包括客户端随机数、服务器随机数、主密钥。
一种数据分析设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一所述数据分析方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上任一所述数据分析方法的步骤。
本申请提供的一种数据分析方法,获取终端与服务器协商的密钥信息;根据密钥信息确定会话密钥;获取与会话密钥对应的加密数据;基于会话密钥对加密数据进行解密,得到原始数据,以基于原始数据对终端进行数据分析;其中,密钥信息为终端与服务器直接建立SSL连接时协商的密钥信息,且密钥信息包括客户端随机数、服务器随机数、主密钥。本申请提供的一种数据分析方法,在终端与服务器直接建立SSL连接的过程中,获取终端与服务器协商的密钥信息,并根据密钥信息确定会话密钥,应用会话密钥对加密数据进行解密,得到原始数据,从而可以在不需要代理的情况下对网络数据进行分析,避免了因代理带来的缺点,适用性好。本申请提供的一种数据分析系统、设备及计算机可读存储介质也解决了相应技术问题。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为一种实施例中SSL代理的连接示意图;
图2为浏览器告警示意图;
图3为本申请实施例提供的一种数据分析方法的第一流程图;
图4为终端与服务器间密钥协商的示意图;
图5为本申请实施例提供的一种数据分析方法的第二流程图;
图6为一种应用场景示意图;
图7为本申请实施例提供的一种数据分析系统的结构示意图;
图8为本申请实施例提供的一种数据分析设备的结构示意图;
图9为本申请实施例提供的一种数据分析设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
当前,越来越多的网站应用https(Hyper Text Transfer Protocol overSecureSocket Layer)协议为用户提供上网服务,然而,因为https中加入了SSL(SecureSockets Layer,安全套接层)层,由此使得网站的网络数据为加密数据,这样,在需要进行数据分析时,便需要将加密数据进行解密才能进行数据分析。一种数据分析方法是对https请求使用SSL代理中间人,即通过对https请求进行代理的方法来实现加密数据的解密,请参阅图1,图1为一种实施例中SSL代理的连接示意图。然而,由图1可知,SSL代理中间人需要同时和终端及访问的服务器建立SSL连接,由此对SSL代理中间人的性能要求较高,用户的上网速度也会受到影响,另外,SSL代理中间人需要使用串接部署,应用限制较大,此外,SSL代理中间人的存在会使得终端上弹出告警页面,请参阅图2,图2为浏览器告警示意图,影响用户体验性。而本申请可以提供一种适用性好的数据分析方法。
请参阅图3,图3为本申请实施例提供的一种数据分析方法的第一流程图。
本申请实施例提供的一种数据分析方法,可以包括以下步骤:
步骤S101:获取终端与服务器协商的密钥信息。
步骤S102:根据密钥信息确定会话密钥,其中,密钥信息为终端与服务器直接建立SSL连接时协商的密钥信息,且密钥信息包括客户端随机数、服务器随机数、主密钥。
实际应用中,可以先获取终端与服务器协商的密钥信息,并且获取的密钥信息为终端与服务器直接建立SSL连接时协商的密钥信息,密钥信息的类型可以包括客户端随机数、服务器随机数及主密钥;在获取密钥信息之后,便可以根据密钥信息确定会话密钥。
应当指出,请参阅图4,具体应用场景中,终端与服务器间建立SSL连接的过程中,进行密钥信息协商的过程可以为:终端生成客户端随机数并发送至服务器;服务器生成服务器随机数及证书公钥并发送至终端;终端生成预主密钥,并通过证书公钥对预主密钥进行加密,将加密后的预主密钥发送至服务器;服务器用证书私钥对加密的预主密钥进行解密,得到预主密钥;服务器基于客户端随机数、服务器随机数及预主密钥生成主密钥;终端也基于客户端随机数、服务器随机数及预主密钥生成主密钥。此外,在根据密钥信息确定会话密钥时,可以对客户端随机数、服务器随机数及主密钥进行运算,得到会话密钥,具体应用场景中,还可以对会话密钥进行处理,得到对称加密密钥、消息认证码密钥、CBC模式的初始化向量等,以基于对称加密密钥、消息认证码密钥、CBC模式的初始化向量等对网络数据进行进一步分析。
步骤S103:获取与会话密钥对应的加密数据。
步骤S104:基于会话密钥对加密数据进行解密,得到原始数据,以基于原始数据对终端进行数据分析。
实际应用中,在获取到终端与服务器应用SSL进行通信的会话密钥之后,便意味着可以对终端与服务器间的加密数据进行解密,因此,可以获取与会话密钥对应的加密数据,基于会话密钥对加密数据进行解密,得到原始数据,以基于原始数据对终端进行数据分析,从而在无需SSL代理的情况下,也可以对终端进行网络数据分析。
本申请提供的一种网络数据分析方法,获取终端与服务器协商的密钥信息;根据密钥信息确定会话密钥;获取与会话密钥对应的加密数据;基于会话密钥对加密数据进行解密,得到原始数据,也即未加密前的数据,以基于原始数据对终端进行数据分析;其中,密钥信息为终端与服务器直接建立SSL连接时协商的密钥信息,且密钥信息包括客户端随机数、服务器随机数、主密钥。本申请提供的一种数据分析方法,在终端与服务器直接建立SSL连接的过程中,获取终端与服务器协商的密钥信息,并根据密钥信息确定会话密钥,应用会话密钥对加密数据进行解密,得到原始数据,从而可以在不需要代理的情况下对网络数据进行分析,避免了因代理带来的缺点,适用性好。
请参阅图5,图5为本申请实施例提供的一种数据分析方法的第二流程图。
本申请实施例提供的一种数据分析方法,可以包括以下步骤:
步骤S201:在终端与服务器建立SSL连接的过程中,获取终端生成的客户端随机数及主密钥。
实际应用中,由于客户端随机数及主密钥均是由终端生成的,因此,可以在终端与服务器建立SSL连接的过程中,获取终端生成的客户端随机数及主密钥,这样,只需在终端侧进行操作便可以获取到密钥信息中的客户端随机数及主密钥,操作简单。
步骤S202:基于客户端随机数,在终端中确定出SSL连接的连接信息。
步骤S203:在连接信息中解析出服务器随机数。
实际应用中,在获取客户端随机数及主密钥之后,由于终端与服务器间建立SSL连接的次数不可控,这便意味着终端上存储有多个连接信息,而连接信息中存储有与SSL连接的相关信息,因此,可以基于客户端随机数,在终端中确定出SSL连接的连接信息,再在连接信息中解析出该次SSL连接过程中应用的服务器随机数,至此,便获取到全部的密钥信息。
步骤S204:根据密钥信息确定会话密钥,其中,密钥信息为终端与服务器直接建立SSL连接时协商的密钥信息,且密钥信息包括客户端随机数、服务器随机数、主密钥。
步骤S205:获取与会话密钥对应的加密数据。
步骤S206:基于会话密钥对加密数据进行解密,得到原始数据,以基于原始数据对终端进行数据分析。
本申请实施例提供的一种数据分析方法中,为了方便快速的获取到客户端随机数及主密钥,可以通过DLL(Dynamic Link Library,动态链接库)注入方法及HOOK技术来获取相应数据,也即在获取终端生成的客户端随机数及主密钥时,可以通过DLL注入方法将钩子函数注入至终端;将终端中用于获取密钥数据的目标函数信息挂钩至钩子函数;通过钩子函数获取客户端随机数及主密钥。实际应用中,在将终端中用于获取密钥数据的目标函数信息挂钩至钩子函数时,可以将终端中用于获取密钥数据的目标功能函数挂钩至钩子函数。应当指出,密钥数据也即客户端随机数及主密钥。本申请所涉及的DLL注入方法是指将一个DLL放进某个进程的地址空间里,让该DLL成为该进程的一部分。
实际应用中,由于终端对密钥数据的操作多种多样,比如终端可以生成密钥数据、发送密钥数据、保存密钥数据、应用密钥数据等,因此,可以从终端对密钥数据的操作过程入手来决定目标功能函数的类型,并据此决定获取密钥数据的方式,比如可以将目标功能函数设置为文件写入函数,此时,在通过DLL注入方法将钩子函数注入至终端之前,还需要在终端中设置系统环境变量,为钩子函数发挥作用提供环境基础;相应的,在通过钩子函数获取客户端随机数及主密钥,可以通过钩子函数在终端中创建管道句柄,以使终端在应用文件写入函数向系统环境变量写入参数时、将客户端随机数及主密钥写入管道句柄;通过管道句柄接收客户端随机数及主密钥。也即对于通过文件写入函数向系统环境变量写入参数的终端而言,比如对于应用chrome内核浏览器的终端而言,可以先在终端中设置环境变量,之后再将钩子函数挂钩在文件写入函数上,并通过钩子函数创造管道句柄,这样,终端在应用文件写入函数CreateFile写入参数时,可以通过管道句柄获取终端写入的客户端随机数及主密钥。
实际应用中,还可以在终端应用密钥数据的过程中来获取密钥数据,比如可以在终端应用密钥数据进行相应处理的过程中获取密钥数据,此时,目标功能函数可以为密钥处理函数;相应的,在通过DLL注入方法将钩子函数注入至终端时,可以通过DLL注入方法将钩子函数注入至终端的进程;在通过钩子函数获取客户端随机数及主密钥时,可以通过钩子函数,获取终端中与密钥处理函数对应的函数参数变量,在函数参数变量中获取客户端随机数及主密钥。也即可以将钩子函数挂钩至终端中的密钥处理函数,之后,便可以通过钩子函数获取终端中与密钥处理函数对应的函数参数变量,由于密钥处理函数会将密钥数据作为函数参数变量,因此可以在函数参数变量中获取客户端随机数及主密钥;应当指出,在此过程中,需要通过DLL注入方法将钩子函数注入至终端的进程,以使得钩子函数可以挂钩至密钥处理函数。
具体应用场景中,在通过DLL注入方法将钩子函数注入至终端的进程时,可以通过DLL注入方法将钩子函数注入至终端的系统服务器进程,其中,密钥处理函数包括主密钥处理函数。也即对于应用主密钥处理函数来进行密钥处理的终端,比如应用IE内核的终端,可以通过DLL注入方法将钩子函数注入至终端的系统服务进程,比如Lsass.exe进程中,之后,在终端应用主密钥处理函数SslgenerateMasterkey来处理主密钥时,可以通过钩子函数获取函数参数变量,再在函数参数变量中解析出客户端随机数及主密钥,具体的,可以在函数参数变量pParameterList中获取到客户端随机数,在函数参数变量phMasterKey中获取到主密钥。
具体应用场景中,在通过DLL注入方法将钩子函数注入至终端的进程,可以通过DLL注入方法将钩子函数注入至终端的浏览器进程;其中,密钥处理函数包括会话密钥处理函数。也即对于应用会话密钥处理函数来进行密钥处理的终端,比如应用Firefox内核的终端,可以通过DLL注入方法将钩子函数注入至终端的浏览器进程中,之后,在终端应用会话密钥处理函数PK11_DeriveWithTemplate来处理会话密钥时,可以通过钩子函数获取函数参数变量,再在函数参数变量中解析出客户端随机数及主密钥,具体的,可以在函数参数变量param中获取到客户端随机数,在函数参数变量baseKey中获取到主密钥。
现结合图6所示的应用场景,对本申请实施例提供的数据分析方法进行描述。在图6中,为方便描述,假设终端为windows PC C,在该终端上安装的辅助插件为A,终端C发起https请求的工具为浏览器B,解密设备为S;同时假设在加密设备S上对终端C开启了SSL解密功能,要求能够在客户端C上网过程中,分析其上网行为。则解密设备对终端C进行数据分析的过程如下:
第一步:在终端C上安装辅助插件A,具体的,可以使用AD域控集体推送,或者终端用户自行下载安装的方式安装辅助插件A。插件A启动后自动连接上解密设备S,并获取该终端的SSL解密策略。
第二步:终端C打开浏览器B,插件A检查解密策略已开启后,将DLL模块D注入到浏览器B中,模块D使用HOOK技术,对浏览器B中的关键函数代码F进行挂钩到钩子函数H。
第三步:终端C在浏览器B中输入https://www.abc.com触发新的https连接R。浏览器B在完成SSL连接建立过程中会调用函数F(SSL连接建立过程如图4),此时会优先进入钩子函数H,在钩子函数H中通过内存分析获取到连接R的Client Random(客户端随机数)数据和Master Secret(主密钥)数据,并将两份数据即刻发送给解密设备S。同时浏览器B完成连接R的握手流程,开始发送https会话数据。针对不同的浏览器内核钩子函数H实现获取Client Random和Master Secret数据的方法均有不同。
1、对于chrome内核的浏览器类别,插件A会先设置系统环境变量SSLKEYLOGFILE,在SSL连接R建立的过程中,浏览器B主动将连接R的Client Random和Master Secret数据写入到SSLKEYLOGFILE系统变量指定的文件中,插件A注入的DLL模块D在加载到浏览器B中时会使用HOOK技术设置挂钩打开文件的系统函数CreateFile到钩子函数H,其会在浏览器B调用系统函数CreateFile打开环境变量SSLKEYLOGFILE指定的文件时直接创建一个连接到插件A的管道句柄并返回给浏览器B,后续浏览器B往文件写入SSL连接R的密钥数据时实则是写入到管道中,被插件A获取到并发送给设备S。
2、对于IE内核的浏览器类别,插件A将DLL模块D注入到系统服务进程Lsass.exe,此系统服务进程会在SSL连接R建立的握手过程中调用函数SslGenerateMasterKey来计算Master Secret密钥数据,DLL模块D会HOOK此函数到钩子函数H,其负责通过函数参数变量pParameterList获取到Client Random数据,通过函数参数变量phMasterKey获取到MasterSecret数据,然后通过管道发送给插件A并由其发送给设备S。
3、对于Firefox内核的浏览器类别,插件A将DLL模块D注入到Firefox浏览器进程中,浏览器会在SSL连接R建立的握手工程中调用函数PK11_DeriveWithTemplate来计算会话密钥Session Key,DLL模块D会HOOK此函数到钩子函数H,其负责通过函数参数变量param获取到Client Random数据,通过函数参数变量baseKey获取到Master Secret数据,然后通过管道发送给插件A并由其发送给设备S。
第四步:解密设备S接收Client Random和Master Secret数据后,立刻使用ClientRandom数据匹配查找到SSL连接R,根据SSL连接R握手过程的原始数据结合Master Secret数据,计算出SSL连接R的会话秘钥K。
第五步:解密设备S保存会话秘钥K,后续SSL连接R上有会话数据传输时,解密设备即可使用会话秘钥K对这些传输数据进行解密,并完成解密后的明文数据的分析过程。
请参阅图7,图7为本申请实施例提供的数据分析系统的结构示意图。
本申请实施例提供的一种数据分析系统,可以包括:
第一获取模块101,用于获取终端与服务器协商的密钥信息;
第一确定模块102,用于根据密钥信息确定会话密钥;
第二获取模块103,用于获取与会话密钥对应的加密数据;
第一解密模块104,用于基于会话密钥对加密数据进行解密,得到原始数据,以基于原始数据对终端进行数据分析;
其中,密钥信息为终端与服务器直接建立SSL连接时协商的密钥信息,且密钥信息包括客户端随机数、服务器随机数、主密钥。
本申请实施例提供的一种数据分析系统,第一获取模块可以包括:
第一获取子模块,用于在终端与服务器建立SSL连接的过程中,获取终端生成的客户端随机数及主密钥;
第一确定子模块,用于基于客户端随机数,在终端中确定出SSL连接的连接信息;
第一解析子模块,用于在连接信息中解析出服务器随机数。
本申请实施例提供的一种数据分析系统,第一获取子模块可以包括:
第一注入子模块,用于通过DLL注入方法将钩子函数注入至终端;
第一挂钩子模块,用于将终端中用于获取密钥数据的目标函数信息挂钩至钩子函数;
第二获取子模块,用于通过钩子函数获取客户端随机数及主密钥。
本申请实施例提供的一种数据分析系统,第一挂钩子模块可以包括:
第二挂钩子模块,用于将终端中用于获取密钥数据的目标功能函数挂钩至钩子函数。
本申请实施例提供的一种数据分析系统,目标功能函数可以包括文件写入函数;
还可以包括:
第一设置子模块,用于第一注入子模块通过DLL注入方法将钩子函数注入至终端之前,在终端中设置系统环境变量;
第二获取子模块可以包括:
第一创建子模块,用于通过钩子函数在终端中创建管道句柄,以使终端在应用文件写入函数向系统环境变量写入参数时、将客户端随机数及主密钥写入管道句柄;
第一接收子模块,用于通过管道句柄接收客户端随机数及主密钥。
本申请实施例提供的一种数据分析系统,目标功能函数可以包括密钥处理函数;
第一注入子模块可以包括:
第二注入子模块,用于通过DLL注入方法将钩子函数注入至终端的进程;
第二获取子模块可以包括:
第一获取单元,用于通过钩子函数,获取终端中与密钥处理函数对应的函数参数变量;
第二获取单元,用于在函数参数变量中获取客户端随机数及主密钥。
本申请实施例提供的一种数据分析系统,第二注入子模块可以包括:
第一注入单元,用于通过DLL注入方法将钩子函数注入至终端的系统服务器进程;
其中,密钥处理函数包括主密钥处理函数。
本申请实施例提供的一种数据分析系统,第二注入子模块可以包括:
第二注入单元,用于通过DLL注入方法将钩子函数注入至终端的浏览器进程;
其中,密钥处理函数包括会话密钥处理函数。
本申请还提供了一种数据分析设备及计算机可读存储介质,其均具有本申请实施例提供的一种数据分析方法具有的对应效果。请参阅图8,图8为本申请实施例提供的一种数据分析设备的结构示意图。
本申请实施例提供的一种数据分析设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:
获取终端与服务器协商的密钥信息;
根据密钥信息确定会话密钥;
获取与会话密钥对应的加密数据;
基于会话密钥对加密数据进行解密,得到原始数据,以基于原始数据对终端进行数据分析;
其中,密钥信息为终端与服务器直接建立SSL连接时协商的密钥信息,且密钥信息包括客户端随机数、服务器随机数、主密钥。
本申请实施例提供的一种数据分析设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:在终端与服务器建立SSL连接的过程中,获取终端生成的客户端随机数及主密钥;基于客户端随机数,在终端中确定出SSL连接的连接信息;在连接信息中解析出服务器随机数。
本申请实施例提供的一种数据分析设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:通过DLL注入方法将钩子函数注入至终端;将终端中用于获取密钥数据的目标函数信息挂钩至钩子函数;通过钩子函数获取客户端随机数及主密钥。
本申请实施例提供的一种数据分析设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:将终端中用于获取密钥数据的目标功能函数挂钩至钩子函数。
本申请实施例提供的一种数据分析设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:目标功能函数包括文件写入函数;通过DLL注入方法将钩子函数注入至终端之前,在终端中设置系统环境变量;通过钩子函数在终端中创建管道句柄,以使终端在应用文件写入函数向系统环境变量写入参数时、将客户端随机数及主密钥写入管道句柄;通过管道句柄接收客户端随机数及主密钥。
本申请实施例提供的一种数据分析设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:目标功能函数包括密钥处理函数;通过DLL注入方法将钩子函数注入至终端的进程;通过钩子函数,获取终端中与密钥处理函数对应的函数参数变量;在函数参数变量中获取客户端随机数及主密钥。
本申请实施例提供的一种数据分析设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:通过DLL注入方法将钩子函数注入至终端的系统服务器进程;其中,密钥处理函数包括主密钥处理函数。
本申请实施例提供的一种数据分析设备,包括存储器201和处理器202,存储器201中存储有计算机程序,处理器202执行计算机程序时实现如下步骤:通过DLL注入方法将钩子函数注入至终端的浏览器进程;其中,密钥处理函数包括会话密钥处理函数。
请参阅图9,本申请实施例提供的另一种数据分析设备中还可以包括:与处理器202连接的输入端口203,用于传输外界输入的命令至处理器202;与处理器202连接的显示单元204,用于显示处理器202的处理结果至外界;与处理器202连接的通信模块205,用于实现数据分析设备与外界的通信。显示单元204可以为显示面板、激光扫描使显示器等;通信模块205所采用的通信方式包括但不局限于移动高清链接技术(HML)、通用串行总线(USB)、高清多媒体接口(HDMI)、无线连接:无线保真技术(WiFi)、蓝牙通信技术、低功耗蓝牙通信技术、基于IEEE802.11s的通信技术。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:
获取终端与服务器协商的密钥信息;
根据密钥信息确定会话密钥;
获取与会话密钥对应的加密数据;
基于会话密钥对加密数据进行解密,得到原始数据,以基于原始数据对终端进行数据分析;
其中,密钥信息为终端与服务器直接建立SSL连接时协商的密钥信息,且密钥信息包括客户端随机数、服务器随机数、主密钥。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:在终端与服务器建立SSL连接的过程中,获取终端生成的客户端随机数及主密钥;基于客户端随机数,在终端中确定出SSL连接的连接信息;在连接信息中解析出服务器随机数。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:通过DLL注入方法将钩子函数注入至终端;将终端中用于获取密钥数据的目标函数信息挂钩至钩子函数;通过钩子函数获取客户端随机数及主密钥。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:将终端中用于获取密钥数据的目标功能函数挂钩至钩子函数。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:通过DLL注入方法将钩子函数注入至终端之前,在终端中设置系统环境变量;通过钩子函数在终端中创建管道句柄,以使终端在应用文件写入函数向系统环境变量写入参数时、将客户端随机数及主密钥写入管道句柄;通过管道句柄接收客户端随机数及主密钥。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:目标功能函数包括密钥处理函数;通过DLL注入方法将钩子函数注入至终端的进程;通过钩子函数,获取终端中与密钥处理函数对应的函数参数变量;在函数参数变量中获取客户端随机数及主密钥。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:通过DLL注入方法将钩子函数注入至终端的系统服务器进程;其中,密钥处理函数包括主密钥处理函数。
本申请实施例提供的一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现如下步骤:通过DLL注入方法将钩子函数注入至终端的浏览器进程;其中,密钥处理函数包括会话密钥处理函数。
本申请所涉及的计算机可读存储介质包括随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质。
本申请实施例提供的一种数据分析系统、设备及计算机可读存储介质中相关部分的说明请参见本申请实施例提供的一种数据分析方法中对应部分的详细说明,在此不再赘述。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (4)
1.一种数据分析方法,其特征在于,包括:
在终端中设置系统环境变量为指定文件;
插件通过DLL注入方法将钩子函数注入至浏览器,其中,所述浏览器的打开文件函数挂钩至所述钩子函数;
通过所述钩子函数在所述浏览器调用打开文件函数打开所述系统环境变量中的所述指定文件时,返回管道句柄给浏览器,以使所述浏览器在应用所述文件写入函数向所述系统环境变量写入参数时, 将客户端随机数及主密钥写入所述管道句柄;
插件通过所述管道句柄接收所述客户端随机数及所述主密钥;
基于所述客户端随机数,在所述终端中确定出SSL连接的连接信息;
在所述连接信息中解析出服务器随机数;
根据密钥信息确定会话密钥;
获取与所述会话密钥对应的加密数据;
基于所述会话密钥对所述加密数据进行解密,得到原始数据,以基于所述原始数据对所述终端进行数据分析;
其中,所述密钥信息为所述终端与所述服务器直接建立SSL连接时协商的密钥信息,且所述密钥信息包括客户端随机数、服务器随机数、主密钥。
2.一种数据分析系统,其特征在于,包括:
第一设置子模块,用于在终端中设置系统环境变量为指定文件;
第一注入子模块,用于插件通过DLL注入方法将钩子函数注入至浏览器,其中,所述浏览器的打开文件函数挂钩至所述钩子函数;
第一创建子模块,用于通过所述钩子函数在所述浏览器调用打开文件函数打开所述系统环境变量中的所述指定文件时,返回管道句柄给浏览器,以使所述浏览器在应用所述文件写入函数向所述系统环境变量写入参数时, 将客户端随机数及主密钥写入所述管道句柄;
第一接收子模块,用于插件通过所述管道句柄接收所述客户端随机数及所述主密钥;
第一确定子模块,用于基于所述客户端随机数,在所述终端中确定出SSL连接的连接信息;
第一解析子模块,用于在所述连接信息中解析出服务器随机数;
第一确定模块,用于根据密钥信息确定会话密钥;
第二获取模块,用于获取与所述会话密钥对应的加密数据;
第一解密模块,用于基于所述会话密钥对所述加密数据进行解密,得到原始数据,以基于所述原始数据对所述终端进行数据分析;
其中,所述密钥信息为所述终端与所述服务器直接建立SSL连接时协商的密钥信息,且所述密钥信息包括客户端随机数、服务器随机数、主密钥。
3.一种数据分析设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1所述数据分析方法的步骤。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1所述数据分析方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911202705.0A CN110995422B (zh) | 2019-11-29 | 2019-11-29 | 一种数据分析方法、系统、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911202705.0A CN110995422B (zh) | 2019-11-29 | 2019-11-29 | 一种数据分析方法、系统、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110995422A CN110995422A (zh) | 2020-04-10 |
CN110995422B true CN110995422B (zh) | 2023-02-03 |
Family
ID=70088498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911202705.0A Active CN110995422B (zh) | 2019-11-29 | 2019-11-29 | 一种数据分析方法、系统、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110995422B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111586124B (zh) * | 2020-04-28 | 2020-12-18 | 广州锦行网络科技有限公司 | 一种获取远程连接凭证的方法 |
CN114726558B (zh) * | 2020-12-21 | 2024-05-28 | 航天信息股份有限公司 | 认证方法、装置、电子设备和存储介质 |
CN114143116B (zh) * | 2022-01-29 | 2022-07-26 | 奇安信科技集团股份有限公司 | 加密流量分析方法、装置、电子设备、介质及程序 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104662551A (zh) * | 2012-10-19 | 2015-05-27 | 英特尔公司 | 在网络环境中对加密的数据的检查 |
WO2016095673A1 (zh) * | 2014-12-16 | 2016-06-23 | 北京奇虎科技有限公司 | 一种基于应用程序的行为处理方法和装置 |
CN109587097A (zh) * | 2017-09-29 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 一种实现安全访问内部网络的系统、方法和装置 |
WO2019126547A1 (en) * | 2017-12-23 | 2019-06-27 | Mcafee, Llc | Decrypting transport layer security traffic without man-in-the-middle proxy |
-
2019
- 2019-11-29 CN CN201911202705.0A patent/CN110995422B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104662551A (zh) * | 2012-10-19 | 2015-05-27 | 英特尔公司 | 在网络环境中对加密的数据的检查 |
WO2016095673A1 (zh) * | 2014-12-16 | 2016-06-23 | 北京奇虎科技有限公司 | 一种基于应用程序的行为处理方法和装置 |
CN109587097A (zh) * | 2017-09-29 | 2019-04-05 | 阿里巴巴集团控股有限公司 | 一种实现安全访问内部网络的系统、方法和装置 |
WO2019126547A1 (en) * | 2017-12-23 | 2019-06-27 | Mcafee, Llc | Decrypting transport layer security traffic without man-in-the-middle proxy |
Also Published As
Publication number | Publication date |
---|---|
CN110995422A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110995422B (zh) | 一种数据分析方法、系统、设备及计算机可读存储介质 | |
US10972908B2 (en) | Wireless network connection method, apparatus, and system | |
US10951595B2 (en) | Method, system and apparatus for storing website private key plaintext | |
CN109067739B (zh) | 通信数据加密方法和装置 | |
CN111314385B (zh) | 数据访问方法及装置 | |
US11568066B2 (en) | Incorporating at-rest data encryption into a cloud-based storage architecture | |
CN111274611A (zh) | 数据脱敏方法、装置及计算机可读存储介质 | |
CN108768628B (zh) | 设备端加密方法、装置、系统和网关 | |
CN111193725B (zh) | 一种基于配置的联合登录方法、装置和计算机设备 | |
CN107294935B (zh) | 虚拟专用网络访问方法、装置和系统 | |
CN103971059B (zh) | 一种Cookie本地存储与使用方法 | |
CN111970109A (zh) | 一种数据传输方法及系统 | |
CN111049832B (zh) | 一种反向代理方法及相关装置 | |
CN113204772A (zh) | 数据处理方法、装置、系统、终端、服务器和存储介质 | |
CN115037552A (zh) | 鉴权方法、装置、设备及存储介质 | |
CN113709111B (zh) | 连接的建立方法及装置 | |
US10148629B1 (en) | User-friendly multifactor authentication | |
CN112134911A (zh) | 一种远程程序升级方法、装置和介质 | |
CN110290097B (zh) | 数据的处理方法、装置、存储介质和电子装置 | |
CN110753257A (zh) | 数据显示方法、显示终端、服务器、显示系统和存储介质 | |
CN113726766A (zh) | 一种离线身份认证方法、系统及介质 | |
US11233636B1 (en) | Authentication using key agreement | |
CN105022965A (zh) | 一种数据加密方法及装置 | |
KR101173583B1 (ko) | 모바일단말기에 설치된 어플리케이션 데이터 보안방법 | |
CN111884810A (zh) | 交易签名方法、装置、移动终端和系统 |
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 |