CN113037746B - 客户端指纹提取、身份识别和网络安全检测的方法及装置 - Google Patents

客户端指纹提取、身份识别和网络安全检测的方法及装置 Download PDF

Info

Publication number
CN113037746B
CN113037746B CN202110248978.XA CN202110248978A CN113037746B CN 113037746 B CN113037746 B CN 113037746B CN 202110248978 A CN202110248978 A CN 202110248978A CN 113037746 B CN113037746 B CN 113037746B
Authority
CN
China
Prior art keywords
fingerprint
tls
client
access request
webpage access
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
Application number
CN202110248978.XA
Other languages
English (en)
Other versions
CN113037746A (zh
Inventor
马震
夏冬
刘意
秦湘清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110248978.XA priority Critical patent/CN113037746B/zh
Publication of CN113037746A publication Critical patent/CN113037746A/zh
Application granted granted Critical
Publication of CN113037746B publication Critical patent/CN113037746B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本公开的实施例提供了一种客户端指纹提取、身份识别和网络安全检测的方法及装置,上述客户端指纹提取的方法包括:接收客户端的网页访问请求;根据上述网页访问请求确定上述客户端的TLS指纹;对上述TLS指纹进行特征提取,以得到上述TLS指纹的特征集;以及基于simhash算法对上述TLS指纹的特征集进行降维处理,以得到用于表征上述客户端的网络身份的目标指纹。本公开的实施例还提供了一种电子设备、计算机可读存储介质和计算机程序产品。

Description

客户端指纹提取、身份识别和网络安全检测的方法及装置
技术领域
本公开涉及网络安全技术领域,更具体地,涉及一种客户端指纹提取、身份识别和网络安全检测的方法,还涉及一种客户端指纹提取、身份识别和网络安全检测的装置,还涉及一种电子设备、计算机可读存储介质和计算机程序产品。
背景技术
随着攻防对抗的升级,用户行为分析与网络安全越来越重要。在当前网络(Web)安全用户行为分析中所使用的数据源主要是应用层HTTP维度的数据,不足以确定用户身份,容易造成泄漏。
基于HTTPS技术,有的研究从SSL Client Hello握手包中提取密码套件(CipherList)作为客户端指纹;有的研究提取SSL版本、CipherList、TLS扩展和其他一些TLS特性作为指纹,并制作成抓包识别模块(例如p0f模块)可以解析形式的握手包;有的研究将TLS指纹识别和HTTP用户代理(user-Agent)相结合来判断客户端标识;有的研究基于现有工作将TLS指纹标准化,提出使用MD5进行指纹精简和标准化并开发JA3。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:当前的指纹采集算法各式各样,然而在不同场景下会存在针对同一个客户端得到不同的指纹,而且基于不同指纹采集算法识别得到同一个客户端的网络身份可能具有差异甚至识别错误的问题。例如,在不同的浏览器中进行网页访问的场景下,或者在相同浏览器的不同访问模式下进行网页访问的场景下,采用现有的指纹提取方式提取得到的指纹会识别出对应同一个客户端得到不同指纹的情况。
发明内容
有鉴于此,本公开的实施例提供了一种客户端指纹提取、身份识别和网络安全检测的方法,还提供了一种客户端指纹提取、身份识别和网络安全检测的装置,还提供了一种电子设备、计算机可读存储介质和计算机程序产品。
本公开的第一个方面提供了一种客户端指纹提取的方法。上述客户端指纹提取的方法包括:接收客户端的网页访问请求;根据上述网页访问请求确定上述客户端的TLS指纹;对上述TLS指纹进行特征提取,以得到上述TLS指纹的特征集;以及基于simhash算法对上述TLS指纹的特征集进行降维处理,以得到用于表征上述客户端的网络身份的目标指纹。
根据本公开的实施例,上述TLS指纹包括以下组成部分:客户端支持的最高SSL/TLS版本、密码套件以及TLS支持扩展列表。上述对上述TLS指纹进行特征提取,包括:在上述TLS指纹的每个组成部分之前增加前缀,且不同组成部分对应的前缀不同,使得不同的组成部分得以区分;以及基于N-gram(N元语法模型)分词方式对增加前缀后的TSL指纹进行特征提取,N为正整数。
根据本公开的实施例,上述在上述TLS指纹的每个组成部分之前增加前缀,包括:针对上述TLS指纹的每个组成部分,识别当前组成部分所包括的内容项数;如果上述当前组成部分只包括一项内容,则在上述当前组成部分的该项内容前增加前缀;如果上述当前组成部分包括M项内容,M≥2,则在上述当前组成部分中的上述M项内容的每一项内容前增加相同的前缀。
根据本公开的实施例,上述基于simhash算法对上述TLS指纹的特征集进行降维处理,包括:针对上述TLS指纹的特征集中的每个特征,基于哈希函数对当前特征求取哈希值,以得到当前特征的t位二进制序列,t≥2;对上述当前特征的t位二进制序列中每一位的值与当前特征的权重进行加权处理,得到当前特征的t位加权值;将上述TLS指纹的特征集中所有特征的对应位数累加合并,以得到t位合并加权值;以及对上述t位合并加权值逐位进行降维运算,以得到上述目标指纹,其中上述降维运算包括:对于取值大于零的位,降维得到该位的值为1;对于取值不大于零的位,降维得到该位的值为0。
根据本公开的实施例,上述根据上述网页访问请求确定上述客户端的TLS指纹,包括:解析上述网页访问请求的握手包信息;以及提取上述握手包信息中的客户端支持的最高SSL/TLS版本、密码套件以及TLS支持扩展列表作为上述客户端的TLS指纹。
本公开的第二个方面提供了一种客户端身份识别的方法。上述客户端身份识别的方法包括:如上所述的任一种客户端指纹提取的方法;以及根据R个网页访问请求的目标指纹的相似度确定上述R个网页访问请求是否来自同一个网络身份的客户端,R≥2。
根据本公开的实施例,上述根据R个网页访问请求的目标指纹的相似度确定上述R个网页访问请求是否来自同一个网络身份的客户端,包括:确定R个网页访问请求的目标指纹之间的海明距离;如果其中R个网页访问请求的目标指纹之间的海明距离(Hammingdistance)在预设距离范围内,则确定上述R个网页访问请求来自同一个网络身份的客户端。
本公开的第三个方面提供了一种网络安全检测的方法。上述网络安全检测的方法包括:如上所述的任一种客户端指纹提取的方法;以及根据上述目标指纹和上述网页访问请求携带的用户行为信息确定上述网页访问请求的安全性。
本公开的第四个方面提供了一种客户端指纹提取的装置。上述客户端指纹提取的装置包括:网页请求接收模块、TLS指纹确定模块、指纹特征提取模块以及指纹特征降维处理模块。上述网页请求接收模块用于接收客户端的网页访问请求。上述TLS指纹确定模块用于根据上述网页访问请求确定上述客户端的TLS指纹。上述指纹特征提取模块用于对上述TLS指纹进行特征提取,以得到上述TLS指纹的特征集。上述指纹特征降维处理模块用于基于simhash算法对上述TLS指纹的特征集进行降维处理,以得到用于表征上述客户端的网络身份的目标指纹。
本公开的第五个方面提供了一种客户端身份识别的装置。上述客户端身份识别的装置包括:网页请求接收模块、TLS指纹确定模块、指纹特征提取模块、指纹特征降维处理模块以及网络身份识别模块。上述网页请求接收模块用于接收客户端的网页访问请求。上述TLS指纹确定模块用于根据上述网页访问请求确定上述客户端的TLS指纹。上述指纹特征提取模块用于对上述TLS指纹进行特征提取,以得到上述TLS指纹的特征集。上述指纹特征降维处理模块用于基于simhash算法对上述TLS指纹的特征集进行降维处理,以得到用于表征上述客户端的网络身份的目标指纹。上述网络身份识别模块用于根据R个网页访问请求的目标指纹的相似度确定上述R个网页访问请求是否来自同一个网络身份的客户端,R≥2。
本公开的第六个方面提供了一种网络安全检测的装置。上述网络安全检测的装置包括:网页请求接收模块、TLS指纹确定模块、指纹特征提取模块、指纹特征降维处理模块以及网络安全确定模块。上述TLS指纹确定模块用于根据上述网页访问请求确定上述客户端的TLS指纹。上述指纹特征提取模块用于对上述TLS指纹进行特征提取,以得到上述TLS指纹的特征集。上述指纹特征降维处理模块用于基于simhash算法对上述TLS指纹的特征集进行降维处理,以得到用于表征上述客户端的网络身份的目标指纹。上述网络安全确定模块用于根据上述目标指纹和上述网页访问请求携带的用户行为信息确定上述网页访问请求的安全性。
本公开的第七个方面提供了一种电子设备。上述电子设备为一反向代理服务器,上述反向代理服务器设置于客户端和为上述客户端所要访问的网页提供服务支持的服务器之间。上述电子设备包括:一个或多个处理器;以及用于存储一个或多个程序的存储装置。其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如上所述的客户端指纹提取的方法、客户端身份识别的方法或者网络安全检测的方法。
本公开的第八个方面提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有可执行指令,该可执行指令被处理器执行时使处理器实现如上所述的客户端指纹提取的方法、客户端身份识别的方法或者网络安全检测的方法。
本公开的第九个方面提供了一种计算机程序产品。上述计算机程序产品包括计算机可读指令,其中上述计算机可读指令被执行时用于实现如上所述的客户端指纹提取的方法、客户端身份识别的方法或者网络安全检测的方法。
根据本公开的实施例,通过根据网页访问请求确定客户端的TLS指纹,对上述TLS指纹进行特征提取,以得到上述TLS指纹的特征集;以及基于simhash算法对上述TLS指纹的特征集进行降维处理,以得到用于表征上述客户端的网络身份的目标指纹,得到的目标指纹能够通过计算距离对指纹相似度进行比较,基于上述目标指纹对同一个客户端能够识别得到相同的结果,可以至少部分地解决相关技术中针对同一个客户端得到不同的指纹而且基于不同指纹采集算法识别得到同一个客户端的网络身份可能具有差异甚至识别错误的问题。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的客户端指纹提取、身份识别和网络安全检测的方法、装置及电子设备能够应用的系统架构;
图2示意性示出了根据本公开实施例的客户端指纹提取的方法的流程图;
图3示意性示出了根据本公开实施例的客户端指纹提取的方法中操作S22的详细实施流程图;
图4示意性示出了根据本公开实施例的客户端指纹提取的方法中操作S23的详细实施流程图;
图5示意性示出了根据本公开实施例的客户端指纹提取的方法中子操作S231的详细实施流程图;
图6示意性示出了根据本公开实施例的客户端指纹提取的方法中操作S23的详细实施过程图;
图7示意性示出了根据本公开实施例的客户端指纹提取的方法中操作S24的详细实施流程图;
图8示意性示出了根据本公开实施例的客户端身份识别的方法的流程图;
图9示意性示出了根据本公开实施例的客户端身份识别的方法中操作S35的详细实施流程图;
图10示意性示出了根据本公开实施例的网络安全检测的方法的流程图;
图11示意性示出了根据本公开实施例的客户端指纹提取的装置的结构框图;
图12示意性示出了根据本公开实施例的客户端身份识别的装置的结构框图;
图13示意性示出了根据本公开实施例的网络安全检测的装置的结构框图;以及
图14示意性示出了根据本公开实施例的电子设备的结构框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。需要说明的是,在进行操作的描述时采用的连词描述,例如“首先”、“然后”、“接着”、“最后”等相关描述是为了进行语句连接顺畅而采用的描述,具体各个操作的执行逻辑需要根据说明书公开的内容进行理解,其他不存在逻辑上必须先后执行的情况下可以对各个操作步骤的执行先后顺序进行变化或者调整。
本公开的实施例提供了一种客户端指纹提取、身份识别和网络安全检测的方法,还提供了一种客户端指纹提取、身份识别和网络安全检测的装置,还提供了一种电子设备、计算机可读存储介质和计算机程序产品。上述客户端指纹提取的方法中,接收客户端的网页访问请求。然后,根据上述网页访问请求确定上述客户端的TLS指纹。接着,对上述TLS指纹进行特征提取,以得到上述TLS指纹的特征集。最后,基于simhash算法对上述TLS指纹的特征集进行降维处理,以得到用于表征上述客户端的网络身份的目标指纹。
图1示意性示出了根据本公开实施例的客户端指纹提取、身份识别和网络安全检测的方法、装置及电子设备能够应用的系统架构。需要注意的是,图1所示仅为本公开实施例能够应用的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
参照图1所示,本公开实施例的客户端指纹提取、身份识别和网络安全检测的方法、装置及电子设备能够应用的系统架构100可以包括终端设备101、102、103,网络104、反向代理服务器105以及目标服务器106。
网络104用以在终端设备101、102、103与反向代理服务器105之间以及反向代理服务器105和目标服务器106之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
终端设备101、102、103上可以安装有各种通讯客户端应用,例如金融类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等(仅为示例)。金融类应用例如为:网上银行应用程序、电子钱包应用程序或者其他银行理财类应用程序等。终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、笔记本电脑、台式计算机、智能手环、智能手表或者其他电子设备等。
目标服务器106可以是提供网站支持和数据服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备101、102、103。
反向代理服务器105设置于终端设备101、102、103和目标服务器106之间,用户通过终端设备101、102、103发起用户请求,该用户请求基于网络104传输至反向代理服务器105,由反向代理服务器105将用户请求转发至目标服务器106。
本公开实施例提供的客户端指纹提取、身份识别和网络安全检测的方法可以由上述反向代理服务器105执行。相应的,本公开实施例提供的客户端指纹提取、身份识别和网络安全检测的装置可以设置于反向代理服务器105中。本公开实施例提供的电子设备可以是上述反向代理服务器。
在一实例中,例如目标服务器106是对用户利用终端设备101、102、103所访问的金融类应用网站提供服务支持的目标服务器。用户通过上述终端设备101、102、103发起网页访问请求。在实际场景中,上述网页访问请求可以包括正常用户的网页访问请求,也包括黑客或者其他非法用户的网页访问请求。反向代理服务器105接收上述用户发起的网页访问请求,并在执行上述客户端指纹提取、身份识别或网络安全检测的方法后,得到用于表征上述客户端的网络身份的目标指纹,如果反向代理服务器105根据上述目标指纹确定上述网页访问请求是不安全的,则会阻断上述访问行为,不会将该网页访问请求发送给目标服务器106。如果反向代理服务器105根据上述目标指纹确定上述网页访问请求是安全的,则会将该网页访问请求发送给目标服务器106进行处理。
应该理解,图1中的终端设备、网络、反向代理服务器以及目标服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络、反向代理服务器和目标服务器。
本公开的第一个示例性实施例提供了一种客户端指纹提取的方法。
图2示意性示出了根据本公开实施例的客户端指纹提取的方法的流程图。
参照图2所示,本公开实施例提供的客户端指纹提取的方法,包括以下操作:S21、S22、S23和S24。
在操作S21,接收客户端的网页访问请求。
在操作S22,根据上述网页访问请求确定上述客户端的TLS指纹。
在操作S23,对上述TLS指纹进行特征提取,以得到上述TLS指纹的特征集。
在操作S24,基于simhash算法对上述TLS指纹的特征集进行降维处理,以得到用于表征上述客户端的网络身份的目标指纹。
在一实施例中,上述操作S21~S24可以由图1所示的反向代理服务器105执行。
本公开实施例中描述的客户端可以是图1所示例的终端设备101、102或103,用户通过客户端发起网页访问请求。该网页访问请求通过网络104传输给反向代理服务器105。该反向代理服务器105执行操作S21~S24,从而得到用于表征上述客户端的网络身份的目标指纹。
示例性的,上述反向代理服务器105可以是OpenResty平台,OpenResty平台为基于Nginx与Lua的通用Web应用平台。Web开发人员和系统工程师可以使用lua脚本语言调用Nginx支持的各种C以及Lua模块,快速构造出足以胜任10k乃至1000k以上单机并发连接的Web应用系统。上述操作由OpenResty平台的自定义模块JA3执行。然后,网页访问请求的信息进入初始化阶段,在该阶段OpenResty会初始化一些记录数据的代码(采用lua脚本)。
当前的指纹采集算法各式各样,然而在不同场景下会存在针对同一个客户端得到不同的指纹,而且基于不同指纹采集算法识别得到同一个客户端的网络身份可能具有差异甚至识别错误的问题。例如,在不同的浏览器中进行网页访问的场景下,或者在相同浏览器的不同访问模式下进行网页访问的场景下,采用现有的指纹提取方式提取得到的指纹会识别出对应同一个客户端得到不同指纹的情况。
例如在相关技术中,Chrome、Firefox、Safari等浏览器在访问同一个网站时,多个请求的客户端握手识别(Client Hello)汇总的扩展(Extension)部分会存在差异,如第一个请求的最后一个扩展类型是填充,而后续的请求不再包含这个类型的扩展。Safari浏览器为了完成应用层协议的协商,会在第一个请求的Client Hello中进入Next ProtocolNegotiation扩展和Application Layer Protocol Negotiation扩展,当服务器这一侧不支持时,随后的请求不会再出现这些扩展。同一种工具分别使用域名和IP地址的方式访问时,前者会在TLS扩展中添加SNI扩展,而后者不会。使用不同的编程语言编写TLS客户端进行测试时,得到的TLS指纹具有较大的差异,当使用同一种语言但使用不同的库进行识别时,得到的指纹也有差异。此外,很多客户端为了实现兼容而支持比较多的密码套件和TLS扩展,导致得到的TLS指纹比较长。
在本公开实施例提供的客户端指纹提取的方法中,通过根据网页访问请求确定客户端的TLS指纹,对上述TLS指纹进行特征提取,以得到上述TLS指纹的特征集;以及基于simhash算法对上述TLS指纹的特征集进行降维处理,降维处理后得到的目标指纹具有较高的容错率,能够通过计算距离(例如海明距离)对目标指纹的相似度进行比较,基于上述目标指纹对不同场景下的同一个客户端的请求能够识别得到相同的结果,可以至少部分地解决相关技术中针对同一个客户端得到不同的指纹而且基于不同指纹采集算法识别得到同一个客户端的网络身份可能具有差异甚至识别错误的问题。
图3示意性示出了根据本公开实施例的客户端指纹提取的方法中操作S22的详细实施流程图。
根据本公开的实施例,参照图3所示,上述根据上述网页防问请求确定上述客户端的TLS指纹的操作S22包括以下子操作:S221和S222。
在子操作S221,解析上述网页访问请求的握手包信息。
在子操作S222,提取上述握手包信息中的客户端支持的最高SSL/TLS版本、密码套件以及TLS支持扩展列表作为上述客户端的TLS指纹。
根据本公开的实施例,上述TLS指纹包括但不限于以下组成部分:客户端支持的最高SSL/TLS版本、密码套件以及TLS支持扩展列表。
图4示意性示出了根据本公开实施例的客户端指纹提取的方法中操作S23的详细实施流程图。
TLS指纹的依次包括以下3个组成部分:客户端支持的最高SSL/TSL版本、密码套件以及TLS支持扩展列表。示例性的,上述TLS指纹的具体格式为:3个部分之间使用逗号分隔,密码套件内的各个项之间采用横杠进行分隔,TLS支持扩展列表的各个项之间也采用横杠进行分隔。
例如,采用下面的表示形式和具体数据来示例TLS指纹:
Figure BDA0002964321440000121
根据本公开的实施例,上述对上述TLS指纹进行特征提取的操作S23包括以下子操作:S231和S232。
在子操作S231,在上述TLS指纹的每个组成部分之前增加前缀,且不同组成部分对应的前缀不同,使得不同的组成部分得以区分。
在子操作S232,基于N-gram分词方式对增加前缀后的TSL指纹进行特征提取,N为正整数。
N-gram为N元语法模型,N为正整数,N-gram包括一元语法模型、二元语法模型、三元语法模型或者更多元语法模型,进行分词的过程中根据实际需要对增加前缀后的TSL指纹进行特征提取,示例性的,考虑到提取特征的先后顺序,可以基于2-gram分词方式对增加前缀后的TSL指纹进行特征提取。
图5示意性示出了根据本公开实施例的客户端指纹提取的方法中子操作S231的详细实施流程图。
根据本公开的实施例,参照图5所示,在上述TLS指纹的每个组成部分之前增加前缀的子操作S231包括以下次子操作:S2311、S2312和S2313。
在次子操作S2311,针对上述TLS指纹的每个组成部分,识别当前组成部分所包括的内容项数。
在次子操作S2312,如果上述当前组成部分只包括一项内容,则在上述当前组成部分的该项内容前增加前缀。
在次子操作S2313,如果上述当前组成部分包括M项内容,M≥2,则在上述当前组成部分中的上述M项内容的每一项内容前增加相同的前缀。
图6示意性示出了根据本公开实施例的客户端指纹提取的方法中操作S23的详细实施过程图。
参照图6中(a)所示,TLS指纹包括3个组成部分,分别为:客户端支持的最高SSL/TSL版本、密码套件以及TLS支持扩展列表,客户端支持的最高SSL/TSL版本为852,密码套件为36-58-6-10-40095-30-7,TLS支持扩展列表为49885-12-13。然后,在各个组成部分之前增加前缀,且不同组成部分对应的前缀不同,使得不同的组成部分得以区分。例如参照图6中(b)所示,在客户端支持的最高SSL/TSL版本852前增加前缀0,得到0852,在密码套件36-58-6-10-40095-30-7之前增加前缀1,其中根据上述次子操作S2311~S2313的执行逻辑,根据密码套件中是否存在间隔符号来确定该密码套件所包括的内容项数,在该示例的密码套件36-58-6-10-40095-30-7中存在6个横杠,则可以确定该密码套件包括7项内容,在每一项内容前增加前缀1,可以得到以下形式的密码套件:136 158 16 110 140095 130 17。
类似的,根据次子操作S2311~S2313的执行逻辑对上述TLS支持扩展列表49885-12-13实施前缀增加的操作,得到以下形式的TLS支持扩展列表:249885212213。接着,基于2-gram分词方式对增加前缀后的TSL指纹进行特征提取。参照图6中(c)所示,依序对各个组成部分进行2-gram分词后,得到特征值的集合:{0852,136158,15816,16110,110140095,140095130,13017,24988212,212213}。
图7示意性示出了根据本公开实施例的客户端指纹提取的方法中操作S24的详细实施流程图。
根据本公开的实施例,参照图7所示,上述基于simhash算法对上述TLS指纹的特征集进行降维处理的操作S24包括以下子操作:S241、S242、S243和S244。
在子操作S241,针对上述TLS指纹的特征集中的每个特征,基于哈希函数对当前特征求取哈希值,以得到当前特征的t位二进制序列,t≥2。
在子操作S242,对上述当前特征的t位二进制序列中每一位的值与当前特征的权重进行加权处理,得到当前特征的t位加权值。
每个特征的权重为该特征的出现频次或者出现频次的相对大小。
在子操作S243,将上述TLS指纹的特征集中所有特征的对应位数累加合并,以得到t位合并加权值。
在子操作S244,对上述t位合并加权值逐位进行降维运算,以得到目标指纹,其中上述降维运算包括:对于取值大于零的位,降维得到该位的值为1;对于取值不大于零的位,降维得到该位的值为0。
本公开的第二个示例性实施例提供了一种客户端身份识别的方法。
图8示意性示出了根据本公开实施例的客户端身份识别的方法的流程图。
参照图8所示,本公开实施例提供的客户端身份识别的方法包括以下操作:S31、S32、S33、S34和S35。
在操作S31,接收客户端的网页访问请求。
在操作S32,根据上述网页访问请求确定上述客户端的TLS指纹。
在操作S33,对上述TLS指纹进行特征提取,以得到上述TLS指纹的特征集。
在操作S34,基于simhash算法对上述TLS指纹的特征集进行降维处理,以得到用于表征上述客户端的网络身份的目标指纹。
在操作S35,根据R个网页访问请求的目标指纹的相似度确定上述R个网页访问请求是否来自同一个网络身份的客户端,R≥2。
本实施例中的操作S31~S34可以对应参照第一实施例中操作S21~S24的详细描述,这里不再赘述。
图9示意性示出了根据本公开实施例的客户端身份识别的方法中操作S35的详细实施流程图。
根据本公开的实施例,参照图9所示,上述根据R个网页访问请求的目标指纹的相似度确定上述R个网页访问请求是否来自同一个网络身份的客户端的操作S35包括以下子操作:S351和S352。
在操作S351,确定R个网页访问请求的目标指纹之间的海明距离(Hammingdistance)。
在操作S352,如果其中R个网页访问请求的目标指纹之间的海明距离在预设距离范围内,则确定上述R个网页访问请求来自同一个网络身份的客户端。
海明距离表示两个序列长度相同的序列上对应位上不同数据的数量。预设距离范围可以根据实际需要进行设置。例如预设距离范围设置为3,如果R个网页访问请求的目标指纹之间的海明距离在3以内,则视为上述R个网页访问请求来自同一个网络身份的客户端。
本公开实施例提供的客户端身份识别的方法,基于simhash算法对上述TLS指纹的特征集进行降维处理,降维处理后得到的目标指纹具有较高的容错率,能够通过计算距离(例如海明距离)对目标指纹的相似度进行比较,基于上述目标指纹对不同场景下的同一个客户端的请求能够识别得到相同的结果,提升了对于客户端身份识别的准确度和在不同场景下的容错率。
本公开的第三个示例性实施例提供了一种网络安全检测的方法。
图10示意性示出了根据本公开实施例的网络安全检测的方法的流程图。
参照图10所示,本公开实施例提供的客户端身份识别的方法包括以下操作:S41、S42、S43、S44和S45。
在操作S41,接收客户端的网页访问请求。
在操作S42,根据上述网页访问请求确定上述客户端的TLS指纹。
在操作S43,对上述TLS指纹进行特征提取,以得到上述TLS指纹的特征集。
在操作S44,基于simhash算法对上述TLS指纹的特征集进行降维处理,以得到用于表征上述客户端的网络身份的目标指纹。
在操作S45,根据上述目标指纹和上述网页访问请求携带的用户行为信息确定上述网页访问请求的安全性。
本实施例中,可以将目标指纹和网页访问请求携带的用户行为信息进行整合后得到用户特征信息,将用户特征信息输入至安全评估模型中,以输出安全程度。例如安全程度以分值的形式进行量化表示,或者安全程度以高或低进行类别表示。上述安全评估模型由卷积神经网络经过训练后得到,该卷积神经网络的输入为:用户特征信息,输出为安全程度。训练过程中训练集中有大量的{用户特征信息,先验的安全程度数据}。
本公开实施例提供的网络安全检测的方法,采用常规的TLS指纹数据可将用户行为分析检测不可信用户(例如黑客基于动态代理或者VPN形式进行网页访问)的准确率提高1.8%,而采用本公开实施例的方法可将检测的准确率提高4.2%,而且,通过计算指纹距离可以为安全事件调查提供情报上下文,在互联网用户行为安全检测方面具有良好的应用前景。
本公开的第四个示例性实施例提供了一种客户端指纹提取的装置。本实施例的装置可以设置于图1所示例的反向代理服务器105中。
图11示意性示出了根据本公开实施例的客户端指纹提取的装置的结构框图。
参照图11所示,本公开实施例提供的客户端指纹提取的装置5包括:网页请求接收模块51、TLS指纹确定模块52、指纹特征提取模块53以及指纹特征降维处理模块54。
上述网页请求接收模块51用于接收客户端的网页访问请求。
上述TLS指纹确定模块52用于根据上述网页访问请求确定上述客户端的TLS指纹。该TLS指纹确定模块52包括能够实现子操作S221、S222的功能子模块。
上述指纹特征提取模块53用于对上述TLS指纹进行特征提取,以得到上述TLS指纹的特征集。该指纹特征提取模块53包括能够实现子操作S231和S232的功能子模块。具体而言,能够实现子操作S231的功能子模块还可以包括能够进一步实现次子操作S2311~S2313的各个功能模块。
上述指纹特征降维处理模块54用于基于simhash算法对上述TLS指纹的特征集进行降维处理,以得到用于表征上述客户端的网络身份的目标指纹。该指纹特征降维处理模块54包括能够实现子操作S241~S244的功能子模块。
本公开的第五个示例性实施例提供了一种客户端身份识别的装置。
图12示意性示出了根据本公开实施例的客户端身份识别的装置的结构框图。
参照图12所示,本公开实施例提供的客户端身份识别的装置6包括:网页请求接收模块61、TLS指纹确定模块62、指纹特征提取模块63、指纹特征降维处理模块64以及网络身份识别模块65。
上述网页请求接收模块61用于接收客户端的网页访问请求。
上述TLS指纹确定模块62用于根据上述网页访问请求确定上述客户端的TLS指纹。该TLS指纹确定模块62包括能够实现子操作S221、S222的功能子模块。
上述指纹特征提取模块63用于对上述TLS指纹进行特征提取,以得到上述TLS指纹的特征集。该指纹特征提取模块63包括能够实现子操作S231和S232的功能子模块。具体而言,能够实现子操作S231的功能子模块还可以包括能够进一步实现次子操作S2311~S2313的各个功能模块。
上述指纹特征降维处理模块64用于基于simhash算法对上述TLS指纹的特征集进行降维处理,以得到用于表征上述客户端的网络身份的目标指纹。该指纹特征降维处理模块64包括能够实现子操作S241~S244的功能子模块。
上述网络身份识别模块65用于根据R个网页访问请求的目标指纹的相似度确定上述R个网页访问请求是否来自同一个网络身份的客户端,R≥2。
上述根据R个网页访问请求的目标指纹的相似度确定上述R个网页访问请求是否来自同一个网络身份的客户端包括:确定R个网页访问请求的目标指纹之间的海明距离;如果其中R个网页访问请求的目标指纹之间的海明距离在预设距离范围内,则确定上述R个网页访问请求来自同一个网络身份的客户端。
本公开的第六个示例性实施例提供了一种网络安全检测的装置。
图13示意性示出了根据本公开实施例的网络安全检测的装置的结构框图。
参照图13所示,本公开实施例提供的网络安全检测的装置7包括:网页请求接收模块71、TLS指纹确定模块72、指纹特征提取模块73、指纹特征降维处理模块74以及网络安全确定模块75。
上述网页请求接收模块71用于接收客户端的网页访问请求。
上述TLS指纹确定模块72用于根据上述网页访问请求确定上述客户端的TLS指纹。
上述指纹特征提取模块73用于对上述TLS指纹进行特征提取,以得到上述TLS指纹的特征集。
上述指纹特征降维处理模块74用于基于simhash算法对上述TLS指纹的特征集进行降维处理,以得到用于表征上述客户端的网络身份的目标指纹。
上述网页请求接收模块71、TLS指纹确定模块72、指纹特征提取模块73、指纹特征降维处理模块74的描述可以对应参照第四个实施例中有关网页请求接收模块51、TLS指纹确定模块52、指纹特征提取模块53的描述,这里不再赘述。
上述网络安全确定模块75用于根据上述目标指纹和上述网页访问请求携带的用户行为信息确定上述网页访问请求的安全性。该网络安全确定模块75的实现逻辑可以参照第三个实施例描述的内容,这里不再赘述。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,网页请求接收模块51、TLS指纹确定模块52、指纹特征提取模块53以及指纹特征降维处理模块54中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,网页请求接收模块51、TLS指纹确定模块52、指纹特征提取模块53以及指纹特征降维处理模块54中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或同件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,网页请求接收模块51、TLS指纹确定模块52、指纹特征提取模块53以及指纹特征降维处理模块54中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
本公开的第七个示例性实施例提供了一种电子设备。上述电子设备包括:一个或多个处理器;以及用于存储一个或多个程序的存储装置。其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如上所述的客户端指纹提取的方法、客户端身份识别的方法或者网络安全检测的方法。
根据本公开的实施例,上述电子设备为一反向代理服务器,上述反向代理服务器设置于客户端和为上述客户端所要访问的网页提供服务支持的服务器之间。
图14示意性示出了根据本公开实施例的电子设备的结构框图。图14示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
参照图14所示,根据本公开实施例的电子设备8包括处理器801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。处理器801例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器801还可以包括用于缓存用途的板载存储器。处理器801可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 803中,存储有电子设备8操作所需的各种程序和数据。处理器801、ROM 802以及RAM 803通过总线804彼此相连。处理器801通过执行ROM 802和/或RAM 803中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM802和RAM 803以外的一个或多个存储器中。处理器801也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备8还可以包括输入/输出(I/O)接口805,输入/输出(I/O)接口805也连接至总线804。电子设备8还可以包括连接至I/O接口805的以下部件中的一项或多项:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如局域网(LAN)卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
本公开的第八个示例性实施例提供了一种计算机可读存储介质。上述计算机可读存储介质上存储有可执行指令,该可执行指令被处理器执行时使处理器实现如上所述的客户端指纹提取的方法、客户端身份识别的方法或者网络安全检测的方法。
上述计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的客户端指纹提取的方法、客户端身份识别的方法或者网络安全检测的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 802和/或RAM 803和/或ROM 802和RAM 803以外的一个或多个存储器。
本公开的第九个示例性实施例提供了一种计算机程序产品。上述计算机程序产品包括计算机可读指令,其中上述计算机可读指令被执行时用于实现如上所述的客户端指纹提取的方法、客户端身份识别的方法或者网络安全检测的方法。
本公开实施例提供的方法流程可以被实现为计算机软件程序。例如,本公开的实施例提供的计算机程序产品包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过前文描述的通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被处理器801执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的客户端指纹提取的方法、客户端身份识别的方法或者网络安全检测的方法。
在该计算机程序被处理器801执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分809被下载和安装,和/或从可拆卸介质811被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本公开实施例提供的客户端指纹提取的方法、客户端身份识别的方法或者网络安全检测的方法及其装置和电子设备既可以应用于金融领域,还可以应用于金融领域之外的其它领域,不以本公开的实施例作为限制。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (12)

1.一种客户端指纹提取的方法,包括:
接收客户端的网页访问请求;
根据所述网页访问请求确定所述客户端的TLS指纹;
对所述TLS指纹进行特征提取,以得到所述TLS指纹的特征集,其中,所述TLS指纹包括以下组成部分:客户端支持的最高SSL/TLS版本、密码套件以及TLS支持扩展列表;
所述对所述TLS指纹进行特征提取,包括:
在所述TLS指纹的每个组成部分之前增加前缀,且不同组成部分对应的前缀不同,使得不同的组成部分得以区分;以及
基于N-gram分词方式对增加前缀后的TSL指纹进行特征提取,N为正整数;以及
基于simhash算法对所述TLS指纹的特征集进行降维处理,以得到用于表征所述客户端的网络身份的目标指纹。
2.根据权利要求1所述的方法,其中,所述在所述TLS指纹的每个组成部分之前增加前缀,包括:
针对所述TLS指纹的每个组成部分,识别当前组成部分所包括的内容项数;
如果所述当前组成部分只包括一项内容,则在所述当前组成部分的该项内容前增加前缀;
如果所述当前组成部分包括M项内容,M≥2,则在所述当前组成部分中的所述M项内容的每一项内容前增加相同的前缀。
3.根据权利要求1所述的方法,其中,所述基于simhash算法对所述TLS指纹的特征集进行降维处理,包括:
针对所述TLS指纹的特征集中的每个特征,基于哈希函数对当前特征求取哈希值,以得到当前特征的t位二进制序列,t≥2;
对所述当前特征的t位二进制序列中每一位的值与当前特征的权重进行加权处理,得到当前特征的t位加权值;
将所述TLS指纹的特征集中所有特征的对应位数累加合并,以得到t位合并加权值;以及
对所述t位合并加权值逐位进行降维运算,以得到所述目标指纹,其中所述降维运算包括:对于取值大于零的位,降维得到该位的值为1;对于取值不大于零的位,降维得到该位的值为0。
4.根据权利要求1所述的方法,其中,所述根据所述网页访问请求确定所述客户端的TLS指纹,包括:
解析所述网页访问请求的握手包信息;以及
提取所述握手包信息中的客户端支持的最高SSL/TLS版本、密码套件以及TLS支持扩展列表作为所述客户端的TLS指纹。
5.一种客户端身份识别的方法,包括:
权利要求1-4中任一项所述的客户端指纹提取的方法;以及
根据R个网页访问请求的目标指纹的相似度确定所述R个网页访问请求是否来自同一个网络身份的客户端,R≥2。
6.根据权利要求5所述的方法,其中,所述根据R个网页访问请求的目标指纹的相似度确定所述R个网页访问请求是否来自同一个网络身份的客户端,包括:
确定R个网页访问请求的目标指纹之间的海明距离;
如果其中R个网页访问请求的目标指纹之间的海明距离在预设距离范围内,则确定所述R个网页访问请求来自同一个网络身份的客户端。
7.一种网络安全检测的方法,包括:
权利要求1-4中任一项所述的客户端指纹提取的方法;以及
根据所述目标指纹和所述网页访问请求携带的用户行为信息确定所述网页访问请求的安全性。
8.一种客户端指纹提取的装置,包括:
网页请求接收模块,用于接收客户端的网页访问请求;
TLS指纹确定模块,用于根据所述网页访问请求确定所述客户端的TLS指纹;
指纹特征提取模块,用于对所述TLS指纹进行特征提取,以得到所述TLS指纹的特征集,其中,所述TLS指纹包括以下组成部分:客户端支持的最高SSL/TLS版本、密码套件以及TLS支持扩展列表;
所述对所述TLS指纹进行特征提取,包括:
在所述TLS指纹的每个组成部分之前增加前缀,且不同组成部分对应的前缀不同,使得不同的组成部分得以区分;以及
基于N-gram分词方式对增加前缀后的TSL指纹进行特征提取,N为正整数;以及
指纹特征降维处理模块,用于基于simhash算法对所述TLS指纹的特征集进行降维处理,以得到用于表征所述客户端的网络身份的目标指纹。
9.一种客户端身份识别的装置,包括:
网页请求接收模块,用于接收客户端的网页访问请求;
TLS指纹确定模块,用于根据所述网页访问请求确定所述客户端的TLS指纹;
指纹特征提取模块,用于对所述TLS指纹进行特征提取,以得到所述TLS指纹的特征集,其中,所述TLS指纹包括以下组成部分:客户端支持的最高SSL/TLS版本、密码套件以及TLS支持扩展列表;
所述对所述TLS指纹进行特征提取,包括:
在所述TLS指纹的每个组成部分之前增加前缀,且不同组成部分对应的前缀不同,使得不同的组成部分得以区分;以及
基于N-gram分词方式对增加前缀后的TSL指纹进行特征提取,N为正整数;
指纹特征降维处理模块,用于基于simhash算法对所述TLS指纹的特征集进行降维处理,以得到用于表征所述客户端的网络身份的目标指纹;以及
网络身份识别模块,用于根据R个网页访问请求的目标指纹的相似度确定所述R个网页访问请求是否来自同一个网络身份的客户端,R≥2。
10.一种网络安全检测的装置,包括:
网页请求接收模块,用于接收客户端的网页访问请求;
TLS指纹确定模块,用于根据所述网页访问请求确定所述客户端的TLS指纹;
指纹特征提取模块,用于对所述TLS指纹进行特征提取,以得到所述TLS指纹的特征集,其中,所述TLS指纹包括以下组成部分:客户端支持的最高SSL/TLS版本、密码套件以及TLS支持扩展列表;
所述对所述TLS指纹进行特征提取,包括:
在所述TLS指纹的每个组成部分之前增加前缀,且不同组成部分对应的前缀不同,使得不同的组成部分得以区分;以及
基于N-gram分词方式对增加前缀后的TSL指纹进行特征提取,N为正整数;
指纹特征降维处理模块,用于基于simhash算法对所述TLS指纹的特征集进行降维处理,以得到用于表征所述客户端的网络身份的目标指纹;以及
网络安全确定模块,用于根据所述目标指纹和所述网页访问请求携带的用户行为信息确定所述网页访问请求的安全性。
11.一种电子设备,所述电子设备为一反向代理服务器,所述反向代理服务器设置于客户端和为所述客户端所要访问的网页提供服务支持的服务器之间,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1-7中任一项所述的方法。
12.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1-7中任一项所述的方法。
CN202110248978.XA 2021-03-05 2021-03-05 客户端指纹提取、身份识别和网络安全检测的方法及装置 Active CN113037746B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110248978.XA CN113037746B (zh) 2021-03-05 2021-03-05 客户端指纹提取、身份识别和网络安全检测的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110248978.XA CN113037746B (zh) 2021-03-05 2021-03-05 客户端指纹提取、身份识别和网络安全检测的方法及装置

Publications (2)

Publication Number Publication Date
CN113037746A CN113037746A (zh) 2021-06-25
CN113037746B true CN113037746B (zh) 2022-11-01

Family

ID=76466784

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110248978.XA Active CN113037746B (zh) 2021-03-05 2021-03-05 客户端指纹提取、身份识别和网络安全检测的方法及装置

Country Status (1)

Country Link
CN (1) CN113037746B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115250195A (zh) * 2022-03-14 2022-10-28 上海广升信息技术股份有限公司 一种基于代理层的拓展mq连接方法及其应用

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109104456A (zh) * 2018-06-07 2018-12-28 北京本邦科技股份有限公司 一种基于浏览器指纹的用户追踪与传播统计分析方法
CN111310187A (zh) * 2020-04-01 2020-06-19 深信服科技股份有限公司 一种恶意软件的检测方法、装置、电子设备及存储介质
CN111563746A (zh) * 2020-04-30 2020-08-21 中国工商银行股份有限公司 用户身份认证的方法、装置、电子设备和介质
CN111652625A (zh) * 2020-06-08 2020-09-11 中国工商银行股份有限公司 认证方法及装置、电子设备、计算机可读存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11184390B2 (en) * 2017-12-18 2021-11-23 Akamai Technologies, Inc. Bot detection in an edge network using transport layer security (TLS) fingerprint

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109104456A (zh) * 2018-06-07 2018-12-28 北京本邦科技股份有限公司 一种基于浏览器指纹的用户追踪与传播统计分析方法
CN111310187A (zh) * 2020-04-01 2020-06-19 深信服科技股份有限公司 一种恶意软件的检测方法、装置、电子设备及存储介质
CN111563746A (zh) * 2020-04-30 2020-08-21 中国工商银行股份有限公司 用户身份认证的方法、装置、电子设备和介质
CN111652625A (zh) * 2020-06-08 2020-09-11 中国工商银行股份有限公司 认证方法及装置、电子设备、计算机可读存储介质

Also Published As

Publication number Publication date
CN113037746A (zh) 2021-06-25

Similar Documents

Publication Publication Date Title
US11343269B2 (en) Techniques for detecting domain threats
CN107852412B (zh) 用于网络钓鱼和品牌保护的系统和方法、计算机可读介质
CN108090351B (zh) 用于处理请求消息的方法和装置
US11671448B2 (en) Phishing detection using uniform resource locators
US11381598B2 (en) Phishing detection using certificates associated with uniform resource locators
US10148664B2 (en) Utilizing transport layer security (TLS) fingerprints to determine agents and operating systems
US11336689B1 (en) Detecting phishing websites via a machine learning-based system using URL feature hashes, HTML encodings and embedded images of content pages
CN107463844B (zh) Web木马检测方法及系统
CN111163095B (zh) 网络攻击分析方法、网络攻击分析装置、计算设备和介质
US20210105298A1 (en) Detecting webpages that share malicious content
US11438377B1 (en) Machine learning-based systems and methods of using URLs and HTML encodings for detecting phishing websites
US11444978B1 (en) Machine learning-based system for detecting phishing websites using the URLS, word encodings and images of content pages
US20210203693A1 (en) Phishing detection based on modeling of web page content
CN113347177A (zh) 钓鱼网站检测方法、检测系统、电子设备及可读存储介质
CN111163094B (zh) 网络攻击检测方法、网络攻击检测装置、电子设备和介质
KR20210084204A (ko) 악성 코드 수집 방법 및 시스템
US20190370476A1 (en) Determination apparatus, determination method, and determination program
CN116366338A (zh) 一种风险网站识别方法、装置、计算机设备及存储介质
CN113037746B (zh) 客户端指纹提取、身份识别和网络安全检测的方法及装置
CN107786529B (zh) 网站的检测方法、装置及系统
US20180114019A1 (en) Method and apparatus for detecting application
Jain et al. APuML: an efficient approach to detect mobile phishing webpages using machine learning
US11928243B2 (en) System and method of detecting hacking activities during the interaction of users with banking services
US11687949B2 (en) System and method of detecting mass hacking activities during the interaction of users with banking services
CN114301713A (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