CN111181912B - 浏览器标识的处理方法、装置、电子设备及存储介质 - Google Patents

浏览器标识的处理方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111181912B
CN111181912B CN201910796788.4A CN201910796788A CN111181912B CN 111181912 B CN111181912 B CN 111181912B CN 201910796788 A CN201910796788 A CN 201910796788A CN 111181912 B CN111181912 B CN 111181912B
Authority
CN
China
Prior art keywords
browser
identifier
sample
target
identification
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
CN201910796788.4A
Other languages
English (en)
Other versions
CN111181912A (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910796788.4A priority Critical patent/CN111181912B/zh
Publication of CN111181912A publication Critical patent/CN111181912A/zh
Application granted granted Critical
Publication of CN111181912B publication Critical patent/CN111181912B/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Landscapes

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

Abstract

本发明提供了一种浏览器标识的处理方法、装置、电子设备及存储介质;方法包括:接收目标浏览器发送的用于请求与服务器建立安全连接的握手消息;解析所述握手消息封装的字段数据,得到所述目标浏览器的多个类型的特征;对所述目标浏览器的多个类型的特征进行排序,并将排序后的特征组合为对应所述目标浏览器的标识;将所述目标浏览器的标识与标识库中的标识进行匹配;根据匹配结果响应所述目标浏览器的握手消息。通过本发明,能够生成准确可靠的浏览器标识以对浏览器的安全连接的行为进行管理。

Description

浏览器标识的处理方法、装置、电子设备及存储介质
技术领域
本发明涉及通信技术,尤其涉及一种浏览器标识的处理方法、装置、电子设备及存储介质。
背景技术
互联网特别是移动互联网的发展,浏览器的应用日益广泛,用户通过浏览器可以登录各种域名(例如,工作、娱乐和学习等各种类型的域名)以获取服务,极大提升了用户的便利性。在浏览器的登录和使用过程中不可避免地涉及到验证问题,例如登录过程中的身份验证,在浏览器中使用敏感功能(例如支付服务)时的身份验证。
然而,由于浏览器的庞大使用量,导致后台服务器识别每个浏览器具有相当难度,尤其是,浏览器可以伪造用于身份识别的信息,进一步影响了识别浏览器的准确和可靠的程度。
发明内容
本发明实施例提供一种浏览器标识的处理方法、装置、电子设备及存储介质,能够形成准确可靠的浏览器标识以对浏览器的安全连接的行为进行管理。
本发明实施例的技术方案是这样实现的:
本发明实施例提供一种安全连接的处理方法,包括:
接收目标浏览器发送的用于请求与服务器建立安全连接的握手消息;
解析所述握手消息封装的字段数据,得到所述目标浏览器的多个类型的特征;
对所述目标浏览器的多个类型的特征进行排序,并将排序后的特征组合为对应所述目标浏览器的标识;
将所述目标浏览器的标识与标识库中的标识进行匹配;
根据匹配结果响应所述目标浏览器的握手消息。
本发明实施例提供一种安全连接的处理装置,包括:
安全连接模块,用于:
接收目标浏览器发送的用于请求与服务器建立安全连接的握手消息;将所述目标浏览器的标识与标识库中的标识进行匹配;根据匹配结果响应所述目标浏览器的握手消息;
所述标识管理模块,用于:
解析所述握手消息封装的字段数据,得到所述目标浏览器的多个类型的特征;所述标识管理模块,用于对所述目标浏览器的多个类型的特征进行排序,并将排序后的特征组合为对应所述目标浏览器的标识。
上述方案中,所述标识管理模块,还用于:解析出所述握手消息封装的以下字段数据:所述目标浏览器使用的协议版本号、所述目标浏览器支持的最大协议版本号、所述目标浏览器使用的加密套接字、所述加密套接字的数量、扩展字段和扩展类型的数量;
从所述解析出的字段数据提取出相应的信息作为所述目标浏览器的特征。
上述方案中,所述标识管理模块,还用于:将所述目标浏览器的加密套接字中包括的加密算法,按照加密算法的编码长度进行排序;
在所述目标浏览器的扩展字段中过滤掉域名特征,并将所述扩展字段中剩余的特征按照类型值进行排序;
将所述目标浏览器的以下特征顺序排列:使用协议版本号、支持的最大协议版本号、排序后的所述加密套接字、所述加密套接字的数量、排序后的所述扩展字段和扩展类型的数量。
上述方案中,所述标识管理模块,还用于:将所述目标浏览器的多个类型的特征连接为字符串;
将所述字符串映射为特定长度的哈希值,以作为对应所述目标浏览器的标识。
上述方案中,所述安全连接模块,还用于:当所述目标浏览器的标识与所述标识库中的白名单匹配时,与所述目标浏览器完成握手过程,以协商所述安全连接数据传输过程中使用的加密算法和密钥;
当所述目标浏览器的标识与所述标识库中的黑名单匹配时,向所述目标浏览器发送握手失败消息。
上述方案中,所述安全连接模块,还用于:当所述目标浏览器的标识与所述标识库中的白名单匹配、且协商得到密钥时,通过所述密钥加密验证数据并向所述目标浏览器发送;
接收所述目标浏览器发送的验证码,所述验证码是所述目标浏览器解密并执行验证数据后通过收集验证操作而获得;
当通过所述密钥解密所述验证码且验证通过时,授权所述目标浏览器。
上述方案中,所述标识管理模块,还用于:根据多个样本浏览器发送的用于建立安全连接的握手消息,采集每个样本浏览器的标识;
确定所述样本浏览器的类型为正常浏览器或异常浏览器;
当所述样本浏览器属于正常浏览器时,将所述正常浏览器的标识存储到所述标识库的白名单,当所述样本浏览器属于异常浏览器时,将所述异常浏览器的标识存储到所述标识库中的黑名单。
上述方案中,所述标识管理模块,还用于:解析所述样本浏览器发送的握手消息封装的字段数据,得到所述样本浏览器的多个类型的特征;
对所述样本浏览器的多个类型的特征进行排序,且排序方式与对所述目标浏览器的多个类型的特征进行排序的方式一致,并将排序后的特征组合为对应所述样本浏览器的标识。
上述方案中,所述标识管理模块,还用于:确定不同类型的所述样本浏览器的分布密度,将分布密度小于类型分布密度阈值的类型对应的样本浏览器确定为异常浏览器,将分布密度大于所述类型分布密度的类型对应的样本浏览器确定为正常浏览器;和/或
确定不同版本的所述样本浏览器的分布密度,将分布密度小于版本分布密度阈值的版本对应的样本浏览器确定为异常浏览器,将分布密度大于所述版本分布密度的类型对应的样本浏览器确定为正常浏览器。
上述方案中,所述标识管理模块,还用于:当查询到网络中有新的协议版本和加密算法中任意一个的发布信息时,开启采集所述样本浏览器的标识的操作,当采集到足够数量的更新的标识,以使所述标识库中的更新的标识的比例超出更新比例阈值,或者采集的更新的标识的数量超出更新数量阈值时,停止述采集所述样本浏览器的标识的操作。
上述方案中,所述标识管理模块,还用于:在处于负载低于负载阈值的期间,开启所述采集样本浏览器的标识的操作,在处于负载高于负载阈值期间,停止所述采集样本浏览器的标识的操作。
上述方案中,所述标识管理模块,还用于:对发送用于建立安全连接的握手消息的来源浏览器进行类型和/或版本的检测,当所述标识库中相应类型和/或版本的样本浏览器的标识的数量不符合均匀分布条件时,将所述来源浏览器识别为样本浏览器。
本发明实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例提供的浏览器标识的处理方法。
本发明实施例提供一种存储介质,存储有可执行指令,用于引起处理器执行时,实现本发明实施例提供的浏览器标识的处理方法。
本发明实施例具有以下有益效果:
利用握手信息是用于建立安全连接的因而可靠的特性,使得对应形成的标识能够可靠地表征浏览器;利用握手信息的多个特征的组合实现了标识的多样性,从而能够实现了标识的多样性,能够准确表征浏览器;进而能够可靠准确识别浏览器以对浏览器的安全连接的请求行为进行管理。
附图说明
图1是本发明实施例提供的浏览器标识处理***100的一个可选的架构示意图;
图2是本发明实施例提供的服务器200的一个示例性的结构示意图;
图3是本发明实施例提供的浏览器标识的处理方法的一个可选的流程示意图;
图4是本发明实施例提供的浏览器标识的处理方法的一个可选的流程示意图;
图5是本发明实施例提供的目标浏览器与服务器的握手过程的一个可选的流程示意图;
图6是本发明实施例提供的服务器采集浏览器指纹的一个可选的流程示意图;
图7是本发明实施例提供的解析Client Hello消息所提取的CipherSuite字段的结构示意图;
图8A是本发明实施例提供的识别出请求安全连接的浏览器为浏览器的场景示意图;
图8B是本发明实施例提供的识别出请求安全连接的浏览器为非浏览器的场景示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)正常浏览器,是通过浏览器的正常发布渠道下载和安装的、用于从互联网的各种域名中获取服务的应用,例如,支持互联网协议例如传输控制协议/因特网互联协议(TCP/IP)的各种应用程序,包括:浏览器、内置浏览器核心(网页代码的解释器、执行器和网页的渲染引擎)的社交网络浏览器等。
2)异常浏览器,即“非浏览器”,是能够支持安全连接的网络通信软件例如自动机软件(ahocorasick),可以被黑客用于非法途径,其对服务器的访问属于“异常访问”,会导致服务器的数据泄露或损坏,属于应当被限制的范畴。
3)安全连接,应用程序之间(例如终端的浏览器和服务器的服务端程序)之间的传输加密数据的网络连接,用于传输浏览器和服务器向对方发送加密数据,避免被第三方截获后造成数据泄露。
4)标识,也称为数字指纹或指纹,用于区分不同的浏览器的字符,标识的长度可以是变化的,即不同浏览器的标识的长度不完全相同,标识的长度也可以是等长的即所有浏览器的标识采用相同的长度。例如,当标识采用10比特(bit)长度时,可以用于区分1024(210)个不同的浏览器。
5)标识库,也称为指纹库,用于存储浏览器的标识的数据库。
6)安全传输层(TLS,Transport Layer Security)协议,是TCP/IP协议族的标准之一,用于在两个程序(例如浏览器程序和服务端程序)之间提供保密性和数据完整性的实现机制,其中约定了建立HTTPS连接的规程,包括协商协议版本、加密算法和用于形成密钥的随机数等。
参见图1,图1是本发明实施例提供的浏览器标识处理***100的一个可选的架构示意图,结合图1示出的结构进行说明本发明实施例提供的浏览器标识的处理方案的示例性应用。
终端400运行浏览器410(示例性示出了终端400-1中的浏览器410-1、终端400-2中的浏览器410-2),浏览器410能够登录各种服务的域名,例如社交网络、在线视频和即时通信等服务的域名。浏览器410通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
作为示例,浏览器410与服务器200之间的连接是安全连接,例如基于超文本传输安全(HTTPS,Hypertext Transfer Protocol Secure)协议的连接,安全连接被抽象为加密的套接字,套接字绑定了浏览器410/服务器200的网际协议(IP)地址和端口号,浏览器410服务器200通过握手过程来初始化连接,包括确定对方的身份和协商用于生成密钥的随机数等。安全连接在TCP第四层表现为地址和端口的组合,浏览器410/服务器200将自身的地址和端口的组合与对方的地址和端口的组合进行绑定,在通过安全连接传输数据时,浏览器410/服务器200各自监听为安全连接分配的端口接收来自对方的加密数据,并通过端口向对方的端口发送加密数据。
服务器200的浏览器标识处理过程包括标识的样本采集阶段和标识的匹配阶段,下面分别说明。
在标识的样本采集阶段,服务器200将向服务器200发送用于建立安全连接的浏览器识别为样本浏览器,例如,终端400-1中的浏览器410-1、终端400-2中的浏览器410-2均向服务器200发送握手消息时,将浏览器410-1和浏览器410-2均识别为样本浏览器,根据样本浏览器发送的握手消息采集样本浏览器的标识,存储到标识库500中。
在一些实施例中,服务器200可以对标识库500中的浏览器标识进行分类,例如分类为白名单和黑名单,白名单的标识对应的浏览器(即正常浏览器)将被允许与服务器200建立安全连接,黑名单中的标识对应的浏览器(即异常浏览器)将被拒绝与服务器200建立安全连接。
在标识的匹配阶段,服务器200将向服务器200发送用于建立安全连接的浏览器识别为目标浏览器,例如,终端400-1中的浏览器410-1、终端400-2中的浏览器410-2均向服务器200发送握手消息时,将浏览器410-1和浏览器410-2均识别为目标浏览器,使用与从样本浏览器中采集标识的相同的方式,从目标浏览器发送的握手消息中提取标识,并将标识与样本库500的标识匹配,根据匹配结果响应目标浏览器的握手消息。
在一些实施例中,服务器200可以将目标浏览器的标识与标识库500中的标识匹配,例如,当目标浏览器的标识与所述标识库中的白名单匹配时,服务器200将目标浏览器识别为正常浏览器,并与目标浏览器完成后续的握手过程以建立安全连接;当目标浏览器的标识与标识库中的黑名单匹配时,服务器200将目标浏览器识别为异常浏览器,发送拒绝消息以通知无法建立安全连接。
下面说明本发明实施例提供的浏览器标识处理的示例性应用场景。
在一个网络(Web)服务器就浏览器的登录服务域名进行验证的应用场景中,浏览器410需要从游客身份转换为用户身份来登录,因此向服务器200发送握手消息,握手消息用于请求与服务器200建立安全连接,服务器200从浏览器410发送的握手消息中采集标识,将采集的浏览器410的标识与标识库500匹配,如果匹配到白名单,则与浏览器410完成握手过程以建立安全连接,通过安全连接向浏览器410发送验证数据,由浏览器410在验证界面中执行验证数据,并将验证数据的执行结果(即用户在验证界面中输入的验证码)以及登录信息(包括用户账号和密码)发送到服务器200;如果匹配到黑名单,则浏览器410被识别为异常浏览器,向浏览器410发送握手的拒绝消息。
在验证界面中执行的验证数据用于进行活体检测,可以采用各种形式。例如,可以是随机字符的图片,以使用户在浏览器410的验证界面中输入识别的字符作为验证码;也可以是随机的算术题,以使用户在浏览器410的验证界面中输入运算结果作为验证码;还可以滑动/点选操作的提示信息,以使用户通过浏览器410的验证界面中输入提示的滑动/点选操作作为验证码;还可以是语音数据,以使用户通过浏览器410输入语音识别结果作为验证码,
继续说明上述应用场景,服务器200将浏览器410提交的验证码进行验证,当与下发的验证数据对应的正确验证码匹配时则验证成功,继续根据登录信息验证浏览器410的用户账号是否合法注册用户。如果验证成功,则授权浏览器410登录,更新用户处于登录态,并向浏览器下发用户账号的登录页面数据,例如个人主页数据。如果验证码匹配失败,则继续向浏览器下发新的验证数据,直至验证码和登录信息均验证成功,或者到达验证码的验证次数阈值(例如1分钟5次),对浏览器基于用户账号的登录进行限制,例如冻结用户账号,屏蔽用户账号在后续一定时间(例如24小时)的登录。
在另一个使用登录态浏览器的敏感功能的应用场景中,浏览器410当前登录的服务域名中包括与财产和数据安全相关的敏感功能,例如包括社交网络浏览器中的电子支付功能、账号注销功能和批量数据删除功能(例如批量删除联系人),当然,敏感功能也可以是用户自定义的任何需要保护的功能。浏览器410在从游客身份转换为登录态后,可以释放与服务器200之间的安全连接,并通过与服务器200的重新进行握手操作以建立非加密连接,通过HTTP请求建立未加密的网络连接,当用户在浏览器410中登录且需要使用敏感功能时,为了提升安全性,浏览器410将再次向服务器200发送用于建立安全连接的握手消息以建立安全连接,并接收服务器200下发的验证数据,在浏览器410的界面中执行验证数据以显示验证界面,获取用户在验证界面输入的验证码,通过安全连接发送验证码到服务器200进行验证,服务器200确认验证通过时授权浏览器410可以运行敏感功能以保证安全性。
下面说明上述服务器200的示例性结构,参见图2,图2是本发明实施例提供的服务器200的一个示例性的结构示意图,包括:至少一个处理器210、存储器250、至少一个网络接口220,在一些实施例中还可以包括用户接口230。服务器200中的各个组件通过总线***240耦合在一起。可理解,总线***240用于实现这些组件之间的连接通信。总线***240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线***240。
处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一个或多个存储设备。
存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本发明实施例描述的存储器250旨在包括任意适合类型的存储器。
在一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作***251,包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算设备,示例性的网络接口220包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作***设备和显示内容和信息的用户接口);
输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本发明实施例提供的安全连接的处理装置可以采用软件方式实现,图2示出了存储在存储器250中的浏览器标识的处理装置255,其可以是程序和插件等形式的软件,包括以下软件模块:安全连接模块2551和标识管理模块2552,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本发明实施例提供的安全连接的处理装置可以采用硬件方式实现,作为示例,本发明实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的浏览器标识的处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific IntegratedCircuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
将结合本发明实施例提供的浏览器标识的处理***、装置和服务器的示例性应用和实施,说明本发明实施例提供的浏览器标识的处理方法。
参见图3,图3是本发明实施例提供的浏览器标识的处理方法的一个可选的流程示意图,将结合图3说明服务器在浏览器标识采集阶段采集浏览器标识的实现方案。
在步骤101中,服务器开启浏览器的标识的采集操作。
在一些实施例中,标识采集阶段具有特定的开启和关闭时机,服务器可以定期地开启采集浏览器标识的操作,以基于采集的浏览器标识来更新标识库中的标识。例如,服务器可以在每天的闲时期间(负载低于负载阈值)开启标识的采集操作,在每天的忙时期间(负载高于负载阈值)时退出标识采集阶段以停止标识的采集操作,从而充分利用服务器的计算资源并避免服务器响应浏览器的服务的性能。
在另一些实施例中,由于服务器是基于样本浏览器的握手消息采集标识的,因此可以与握手消息的载荷数据的版本更新而开启标识的采集操作,并根据标识库中标识的更新的程度选择停止采集浏览器的标识的时机。
作为示例,服务器可以定期或实施探测网络是否新的协议版本号和加密算法和等中的一个或多个的发布信息,由于协议版本号和加密算法是用于建立安全连接的握手消息的载荷,而服务器正是从握手消息中来采集浏览器的标识,因此,当服务器查询到网络中有新的协议版本和加密算法中任意一个的发布信息时,进入标识采集阶段以开启标识的采集操作,从而能够及时根据协议版本和加密算法的更新而采集有效的标识。当采集到足够数量的更新的标识,例如,在标识库中的更新的标识的比例超出更新比例阈值,或者采集的更新的标识的数量超出更新数量阈值时,退出标识采集阶段停止采集样本浏览器的标识的操作,从而最大程度上节约服务器的计算资源。
在步骤102中,服务器接收浏览器发送的用于与服务器建立安全连接的握手消息,将浏览器识别为样本浏览器。
在一些实施例中,当服务器处于标识采集阶段,且在标识采集阶段接收浏览器的建立安全连接的握手消息时,即将发送握手消息的浏览器(下面称为来源浏览器)识别为样本浏览器,从而,能够尽快采集足够数量的样本浏览器的标识。
在另一些实施例中,服务器可以对发送用于建立安全连接的握手消息的来源浏览器进行类型和/或版本的检测,当标识库中相应类型和/或版本的样本浏览器的标识的数量不符合均匀分布条件时,将来源浏览器识别为样本浏览器。
作为类型检测的示例,当服务器处于标识采集阶段且接收到用于建立安全连接的握手消息时,对发送握手消息的来源浏览器进行类型的检测,判断标识库中是否已经采集有足够数量(例如超出样本数量阈值)的相同类型的样本浏览器的标识,如果是,则放弃采集来源浏览器的标识,如果否,则将来源浏览器识别为样本浏览器以在后续步骤采集对应的标识,从而使得标识库中不同类型的浏览器的标识的分布均匀,进而能够对不同类型浏览器进行全面识别。
作为版本检测的示例,当服务器处于标识采集阶段且接收到用户建立安全连接的握手消息时,对于同一类型的来源浏览器的进行版本检测,判断是否已经采集足够数量的相同版本的浏览器的标识,例如是否已经采集了足够数量(例如超出样本数量阈值)相同类型的社交网络浏览器的标识,如果是,则放弃采集来源浏览器的标识,如果否,则将来源浏览器识别为样本浏览器以进行后续的标识采集,从而使得标识库中同一类型不同版本的浏览器的标识的分布均匀,能够对同一类型的不同版本的浏览器进行全面识别。
在步骤103中,服务器解析握手消息封装的字段数据,得到样本浏览器的多个类型的特征。
在一些实施例中,以基于HTTPS的安全连接为例,样本浏览器需要与服务器建立基于HTTPS的安全连接时,根据TLS协议,样本浏览器发送的握手消息需要封装有以下字段数据:样本浏览器使用的协议(即加密通信协议)版本号;样本浏览器支持的最大协议版本号;样本浏览器使用的加密套接字,包括样本浏览器支持的一系列的加密算法;加密套接字的数量;扩展字段;扩展类型的数量;从解析出的字段数据提取出相应的信息作为目标浏览器的特征;服务器通过解析握手消息的封装得到上述字段数据,从而得到样本浏览器对应上述各个字段数据的特征。
在步骤104中,服务器对样本浏览器的多个类型的特征进行排序。
在一些实施例中,服务器将样本浏览器的多个类型的特征按照设定的排序规则进行排序,排序规则约定了对多个类型的特征的排列顺序。
例如,多个类型的排列顺序可以是:使用协议版本号、支持的最大协议版本号、加密套接字、加密套接字的数量、扩展字段和扩展类型的数量。当然,排列顺序不局限于上述示例,任意两个类型的排序均可以互换位置。
在另一些实施例中,排序规则约定了对一些类型的特征中包括的多个信息进行排序的方式,以加密套接字为例,其中包括了样本浏览器支持的多种加密算法,排序规则可以约定对加密套接字中的多个加密算法按照加密算法的编码长度的升序或降序进行排序,从而,对于同一浏览器来说,不管是在标识采集阶段还是标识匹配阶段所采集的标识总是一致的,从而能够实现对相同浏览器的准确识别。
在又一些实施例中,排序规则还约定了在多个类型的特征进行排序之前,针对一些特征中的随机性填充的信息进行过滤的机制,例如,约定了对于扩展字段的域名特征进行过滤的机制,从而保证了对同一浏览器先后发送的握手采集到的标识的一致性,实现了准确识别同一浏览器的效果。
可以理解地,排序规则约定的上述排序方式可以择一或者全部采用,以全部采用为例,对于从样本浏览器的握手消息采集的特征的一个示例性的排序可以是:目标浏览器的加密套接字中包括的加密算法编号,按照加密算法编码的长度进行排序;在目标浏览器的扩展字段中过滤掉域名特征,并将扩展字段中剩余的特征按照类型值进行排序;将目标浏览器的以下特征顺序排列:使用协议版本号、支持的最大协议版本号、排序后的加密套接字、加密套接字的数量、排序后的扩展字段和扩展类型的数量。
在步骤105中,服务器将排序后的特征组合为对应样本浏览器的标识。
在一些实施例中,将样本浏览器的排序后的多个类型的特征连接为字符串,将字符串作为样本浏览器的标识。
在另一些实施例中,服务器将样本浏览器的排序后的多个类型的特征连接为字符串后,由于字符串的长度根据目标浏览器的类型不可避免地存在差异,这将使得标识匹配阶段的标识比对操作消耗大量计算资源,针对这种情况,服务器可以通过哈希函数将字符串转换为特定长度的哈希值,例如通过128位哈希函数转换为128位长度的哈希值,或者通过64位哈希函数转换为64位长度的哈希值,这样显著节约在标识匹配阶段的标识比对操作消耗的计算资源。
在步骤106中,服务器将样本浏览器的标识存储到标识库中。
在一些实施例中,样本浏览器的标识可以所的字符在字符表(例如数字和字母的有序排列的表)的位置形成有序的排列,以提升标识匹配阶段的匹配效率。
例如,假定字符表中字符的排列顺序为:数字0-9,小写字母a-z,大写字母A-Z。4个样本浏览器的标识依次为:sBKiGwBD、UXhPT5HL、5zmQft2F、和IkhQWsIm。则在标识库中的排列顺序为:5zmQft2F、sBKiGwBD、IkhQWsIm和UXhPT5HL。
在一些实施例中,当服务器样本浏览器的标识存储到标识库之后,还可以在步骤107中,定期或不定期对标识库中的标识进行正常浏览器和异常浏览器的分类,在步骤108中,当样本浏览器属于正常浏览器时,将正常浏览器的标识存储到标识库的白名单,白名单中的标识的浏览器将被允许与服务器建立安全连接;当样本浏览器属于异常浏览器时,将异常浏览器的标识存储到标识库中的黑名单,黑名单中的标识对应的浏览器将被拒绝与服务器建立安全连接。
在一些将样本浏览器分类为正常浏览器和异常浏览器的实施例中,服务器确定不同类型的样本浏览器的分布密度,将分布份密度小于类型分布密度阈值的类型对应的样本浏览器确定为异常浏览器,将分布密度大于类型分布密度的类型对应的样本浏览器确定为正常浏览器。
以三个不同类型的样本浏览器T1、T2和T3为例,分别统计标识库中三个类型的样本浏览器的分布密度,如果T1类型的样本浏览器的分布密度小于分布密度阈值,则确定T1类型的样本浏览器属于异常浏览器。
在另一些将样本浏览器分类为正常浏览器和异常浏览器的实施例中,服务器可以将分布密度小于版本分布密度阈值的版本对应的样本浏览器确定为异常浏览器,将分布密度大于版本分布密度的类型对应的样本浏览器确定为正常浏览器。
以同一样本浏览器具有V1、V2和V3三个版本为例,分别统计标识库中三个版本的分布密度,如果V1版本的样本浏览器的分布密度小于分布密度阈值,则确定V1版本的样本浏览器属于异常浏览器。
在一些实施例中,服务器还可以在步骤109中对标识库的标识进行有效性的管理操作,从而保证标识库中的标识的时效。
例如,服务器将采集到的标识存储到标识库中时,还可以在标识库中记录了标识的采集时间,设置统一失效时间(例如采集后30天),或者针对不同类型浏览器、同一类型浏览器的不同版本设置差异化的失效时间,失效时间与浏览器的已发布时间负相关,与浏览器的活跃用户数正相关,在失效时间到达后删除标识,一方面节约标识库的存储空间,保证了标识的时效性,另一方面由于标识库中的标识得到精简,可以提升后续标识匹配操作的效率。
下面继续说明服务器在标识匹配阶段基于浏览器的标识进行正常/异常浏览器的识别,并根据识别结果对浏览器的安全连接的行为进行控制的方案。需要指出地,标识采集阶段和标识阶段在时间轴上不存在互斥关系,二者可以是交叉、完全重叠或者完全分离,例如,可以先进行一段时间的标识采集以使标识库中有可用的标识,然后同期进行标识采集和标识匹配的操作,一方面不断丰富标识库中的标识,另一方面能够基于标识库及时识别浏览器并对其安全连接的行为进行控制;或者,先进行一段时间的标识采集以使标识库中有足够可用的标识,然后停止采集并基于标识库中的标识进行匹配操作以识别浏览器,根据识别结果对浏览器的安全连接行为进行控制。
至此已经说明了服务器在标识采集阶段采集样本浏览器的标识并存储到标识库的处理,下面说明服务器标识匹配阶段基于标识库对目标浏览器进行识别,并根据识别结果对目标浏览器的安全连接的行为进行控制的方案。
参见图4,图4是本发明实施例提供的浏览器标识的处理方法的一个可选的流程示意图,结合图4示出的步骤说明服务器的以下示例性的应用场景:当目标浏览器需要与服务器建立安全连接以请求服务器下发验证数据,执行验证数据来呈现验证界面,向服务器提交用户在验证界面输入的验证码,以请求服务器授权登录或授权使用目标浏览器中的敏感服务,服务器将采集的目标浏览器的标识与标识库进行匹配的方式对目标浏览器进行识别,并根据正常浏览器或异常浏览器的识别结果,对目标浏览器的安全连接行为进行控制。
在步骤201中,当目标浏览器需要切换为登录态时,或者,处于登录态的目标浏览器需要运行敏感服务时,向服务器发送用于建立安全连接的握手消息。
以目标浏览器需要切换为登录态为例,目标浏览器呈现登录界面以接收用户输入的登录信息(包括用户账号和密码),目标浏览器还需要在登录界面中实现验证界面以进行活体检测,为此,目标浏览器向服务器发送用于建立安全连接的握手消息,安全连接将用于接收服务器下发的验证数据。
再以目标浏览器运行于登录态(即目标浏览器基于用户账号和密码已经登录服务器)为例,目标浏览器登录服务器之后可以将与服务器之间的连接切换为非加密连接(即非安全连接,例如基于HTTP的连接),当用户需要使用目标浏览器中的敏感功能(例如电子支付功能、账号注销功能和批量数据删除功能等)时,目标浏览器需要执行验证数据来实现验证界面,为此,服务器发送握手消息以请求重新建立与服务器之间的安全连接,安全连接将用于接收服务器下发的验证数据。
在步骤202中,服务器解析握手消息封装的字段数据,得到目标浏览器的多个类型的特征。
在一些实施例中,服务器解析出握手消息封装的以下字段数据:目标浏览器使用的协议版本号、目标浏览器支持的最大协议版本号、目标浏览器使用的加密套接字、加密套接字的数量、扩展字段和扩展类型的数量;从解析出的字段数据提取出相应的信息作为目标浏览器的特征。对于解析握手消息未尽的技术细节,可以参考前文步骤103而理解。
在步骤203中,服务器对目标浏览器的多个类型的特征进行排序。
在一些实施例中,服务器基于在标识采集阶段一致的排序方式进行排序,即服务器将根据排序规则约定的对多个类型的特征的排列顺序,对目标浏览器的多个类型的特征进行排序。由于采用与标识采集阶段一致的排序方式进行排序,对于同一浏览器来说,保证了在标识采集阶段和标识匹配阶段针对握手采集形成的标识的一致性,从而能够对浏览器进行准确地识别。
在步骤204中,服务器将排序后的特征组合为对应目标浏览器的标识。
在一些实施例中,服务器将目标浏览器的排序后的多个类型的特征连接为字符串,将字符串作为浏览器的标识。在另一些实施例中,服务器将目标浏览器的排序后的多个类型的特征连接为字符串后,通过哈希函数将字符串转换为特定长度的哈希值以减少后续的标识匹配操作的计算资源。
在步骤205中,服务器将目标浏览器的标识与标识库中的白名单和黑名单中的标识进行匹配,如果匹配到黑名单,说明目标浏览器是异常浏览器(例如是自动机软件等非浏览器),则在步骤206中,向目标浏览器发送握手失败消息,以拒绝与目标浏览器建立安全连接。
如果在步骤205中匹配到白名单,则在步骤207中,服务器与目标浏览器完成握手过程,以协商安全连接数据传输过程中使用的加密算法和用于生成密钥的随机数,并将随机数作为密钥种子来生成密钥。
下面示例性说明当目标浏览器在步骤201中发送握手消息,并由服务器通过步骤207与目标浏览器完成后续的握手过程的步骤,参见图5,图5是本发明实施例提供的目标浏览器与服务器的握手过程的一个可选的流程示意图,结合图5示出的步骤进行说明。
在步骤2071中,服务器接收到目标浏览器发送的握手消息(Client Hello消息)。
目标浏览器发送的握手消息包含目标浏览器生成的随机数(记为Random1)、浏览器支持的加密套接字(Support Ciphers)、正在使用的协议版本号(SSL Version)、支持的最大协议版本号、扩展字段和扩展字段类型等信息。
在步骤2072中,服务器向目标浏览器发送握手消息。
服务器发送的握手消息会从目标浏览器支持的套接字中选择一个支持的加密算法,也即后续加密和生成摘要时具体的算法,另外还包括服务器生成的随机数(记为Random2)。
在步骤2073中,服务器将发送证书到目标浏览器。
服务器首先向目标浏览器发送服务器的证书,然后会按顺序发送对服务器证书的认证机构的证书。
在步骤2074中,目标浏览器根据接收的证书验证服务器的身份,生成新的随机数(记为Random3)并加密生成预备主密钥(PreMaster Key)。
目标浏览器先使用认证机构的证书验证服务器的整数的合法性,验证通过后取出服务器的证书中的公钥,生成一个随机数Random3,使用公钥加密随机数Random3得到预备密钥PreMaster Key。
在步骤2075中,目标浏览器将生成的预备主密钥PreMaster Key发送到服务器。
在步骤2076中,服务器利用私钥解密预备密钥得到目标浏览器生成的随机数Random3。
至此,目标浏览器和服务器都持有了三个随机数Random1、Random2和Random3。
在步骤2077中,目标浏览器和服务器使用相同的算法对持有的三个随机数进行计算得到密钥。
例如,目标浏览器和服务器基于相同的加密算法(即步骤2072中服务器选定的算法)对三个随机数进行计算得到密钥。
在步骤2078中,目标浏览器将步骤2071中服务器接收的握手消息利用密钥加密后向服务器发送。
浏览器将步骤2071中服务器接收到的握手消息生成摘要,再用步骤2077中生成的密钥加密,并向服务器发送。
在步骤2079中,服务器将接收的加密握手消息进行解密,如果解密成功,确认步骤2077中生成的密钥是一致的。
在步骤20710中,服务器将步骤2072中发送的握手消息,利用密钥加密后向服务器发送。
服务器将步骤2072中发送的握手消息生成摘要,再用步骤2077中生成的密钥加密,并向目标浏览器发送。
在步骤20711中,目标浏览器将接收的加密握手消息利用步骤2077生成的密钥进行解密,如果解密成功,确认步骤2077中生成的密钥是一致的。
至此,目标浏览器和服务器完成了密钥的协商过程,后续密钥将被用于加密待传输的数据,并用于解密接收到的加密数据。
接续上文的步骤206和步骤207进行说明,当通过步骤206确定目标浏览器的标识与标识库中的白名单匹配、且通过步骤207协商得到密钥的随机数,并根据随机数生成密钥时,在步骤208中,目标浏览器向服务器发送验证数据请求,在步骤209中,服务器将响应验证数据请求,通过密钥加密验证数据,并将加密的验证数据发送到目标浏览器。
在步骤210中,目标浏览器根据密钥解密验证数据,并执行验证数据以形成验证界面,验证界面中可以采用上文的活体检测的各种形式;在步骤211中,目标浏览器将用户在验证界面输入的验证码发送到服务器进行验证,可以理解地,对于目标浏览器的登录场景还可以通过安全连接同时向服务器发送登录数据。
在步骤212中,服务器将验证码与下发的验证数据对应的正确验证码比对,比对一致时,则在转入的步骤213中判断应用场景,如果判定是属于目标浏览器登录的应用场景,则继续验证目标浏览器提交的登录信息,如果验证成功则在步骤214A中将目标浏览器基于所提交的登录信息置为登录态,以授权目标浏览器登录,否则向目标浏览器返回出错信息;如果在步骤213中判定属于目标浏览器运行敏感服务的应用场景,则在步骤214B中授权目标浏览器使用敏感服务。
当在步骤212中比对不一致时,则返回步骤209以通过安全连接向目标浏览器下发新的验证数据,直至根据目标浏览器提交的验证码验证成功,并对应执行步骤214A或步骤214B,当连续验证失败次数到达验证次数阈值时,则在步骤215中,向目标浏览器发送握手失败消息,以拒绝与目标浏览器建立安全连接。此外,还可以设置屏蔽响应目标浏览器的握手消息的冻结时间(例如一天活一小时),目标浏览器在冻结时间内的握手消息将不被服务器响应以避免恶意用户登录或敏感服务被恶意用户使用。
下面,以服务器的验证码下发场景为例,当服务器向浏览器下发验证码时,需要识别出浏览器是浏览器还是非浏览器例如自动机软件,并只向浏览器下发验证码,拒绝向非浏览器下发验证码为例进行说明。浏览器和服务器基于TLS的握手过程中采集浏览器的指纹形成指纹库。
相关技术人提供浏览器内置爬虫***的指纹识别实现方法:浏览器发送请求命令至服务器;服务器发送响应信息至浏览器;浏览器根据指纹信息生成逻辑,将浏览器的基本属性信息生成指纹信息,发送至服务器;当服务器根据指纹信息判断对应的浏览器在服务器的黑名单中时,则终止请求命令对应的响应内容的发送;爬虫***修改至少一个浏览器的基本属性信息,浏览器生成新的指纹信息发送至服务器。
相关技术利用浏览器的基本属性信息生成指纹信息,无法适应数据被篡改的情况:1、浏览器采集的信息全部都可以被伪造,导致指纹信息错误;2、基本属性信息不够完整,导致生成的指纹信息会有冲突。
针对上述问题,参见图6,图6是本发明实施例提供的服务器采集浏览器指纹的一个可选的流程示意图,下面结合图6进行说明。
在步骤301中,在每个浏览器发起HTTPS请求的握手消息到服务器的链路上时,服务器从TCP层数据中提取握手消息(Client Hello消息)数据包的数据,根据RFC协议规定,TCP层数据中第一个字节是22、第三个字节是1的TLS包就是握手消息的数据包。
在步骤302中,根据握手消息的数据包的封装结构,从握手消息的数据包中提取如下特征:浏览器使用的协议版本号(ProtocolVersion),浏览器支持的最大版本号(ClientHello_ProtocolVersion),加密套接字(CipherSuite),加密套接字的数量,扩展类型的数量。
在步骤303中,服务器将套接字和扩展字段进行排序。
对于CipherSuite字段,参见图7,图7是本发明实施例提供的解析Client Hello消息所提取的CipherSuite字段的结构示意图,由众多的加密算法组成,由于CipherSuite本身的数据中无顺序,所以将每四个字节的编号表示的加密算法,按照加密算法编码的长度进行升序地排序(编码是16进制)。
对于扩展字段,其包含多个扩展类型,每一个扩展包括三个字段:type(整数)、length(数字长度)和内容,从而是一个字符串,将类型值为0的内容(代表域名值)进行过滤掉,避免基于相同浏览器client hello包生成的指纹不一致的情况,其余内容仍旧按照类型值从小到大的顺序排序。
在步骤304中,服务器将握手消息的所有特征(包括将协议版本号、排序后的套接字和扩展字段)拼接成字符串,形成发送HTTPS请求的握手消息的浏览器指纹,并存储到指纹库中。
在步骤305中,服务器判断是否已经采集了所有浏览器的指纹,如果是则结束处理,否则返回步骤301以继续采集下一个浏览器的指纹。
通过上述步骤301至步骤305形成的浏览器的指纹库,可以对后续接收到HTTPS请求的握手消息中提取的指纹进行比对,如果比对一致,则确定为正常浏览器的HTTPS请求,否则就是非浏览器的HTTPS请求,当服务器中设置有仅响应正常浏览器的HTTPS请求时,对于识别出的非浏览器的HTTPS请求,则认为属于恶意请求并予以拒绝,从而将对服务器的访问流量引导至以浏览器为访问途径。
在一些实施例中,服务器可以指纹库中建立白名单,位于白名单中浏览器的HTTPS请求将被响应,而位于黑名单中的浏览器的HTTPS请求将被拒绝。
作为建立白名单的示例,服务器可以根据浏览器的类型(浏览器在发送握手消息的数据包的头部中会携带浏览器的类型user-agent)分布,例如使用比例较小(小于比例阈值)、版本陈旧(低于变笨阈值)的浏览器,可以建立基于相应浏览器的指纹的黑名单;使用比例高的(比例大于比例阈值)、版本新的(版本号高于版本号阈值)浏览器可以建立基于相应浏览器指纹的白名单。
当然,还可以有其他检测正常/异常浏览器以采集对应指纹的方式,例如,在不同的机器上运行各种类型的浏览器样本,收集其正常使用环境下的行为数据,提取行为特征,作为后续区分正常/异常浏览器的依据;又例如,基于用户的数据,识别正常用户/异常用户,建立相应用户的浏览器指纹的白名单/黑名单。
基于浏览器的指纹库说明如下的应用场景:目前存在自动机软件模拟浏览器(这里的浏览器可以是浏览器浏览器,也可以是内置浏览器核心的各种其他形式的浏览器,例如社交网络浏览器),企图欺骗服务器来通过服务器的验证码验证以与服务器进行安全连接,由于自动机软件中可能会植入第三方的各种扩展功能,对服务器和用户双方的数据安全都造成了潜在的威胁,这种使用非浏览器来替代浏览器的安全连接的请求行为应当是禁止的,对业务的安全以及技术升级具有很大的意义。
继续以图1为例,结合服务器200形成的上述的浏览器指纹的标识库说明区分出浏览器和非浏览器并对非浏览器的安全连接的请求行为进行限制的方案。
首先参见图8A,图8A是本发明实施例提供的识别出请求安全连接的浏览器为浏览器的场景示意图,在标识采集阶段,服务器200针对多个样本的浏览器(每个终端400运行一个样本浏览器)采集对应的标识并存储标识库500。在标识匹配阶段,当终端400-1运行的浏览器410-1访问一个服务域名时需要切换到登录态,向服务器200发送安全请求的握手消息,服务器200根据接收握手消息提取出浏览器410-1的标识,与标识库500中的匹配,由于服务器200在标识采集阶段和标识匹配阶段采用了相同的指纹采集方式(包括握手消息中特征的排序方式,加密套接字中算法的排列顺序、扩展字段中内容的排列顺序,且滤除了随机性因素,例如域名),因此,服务器200在标识库500中能够匹配到浏览器410-1的标识,因此识别为正常浏览器,将与浏览器410-1完成握手过程以协议加密算法和密钥,以将加密的验证数据发送到浏览器410-1,供浏览器执行验证数据来实现验证界面,将登录信息和验证码提交到服务器200进行验证,当服务器200验证通过时,将获得额服务器200的授权进入所请求的服务域名的登录态。
再参见图8B,图8B是本发明实施例提供的识别出请求安全连接的浏览器为非浏览器的场景示意图,以自动机软件向当向服务器200发送安全请求的握手消息为例,服务器200通过握手消息采集对应的标识,与标识库500中的标识进行匹配,由于自动机软件不是在标识采集阶段的标识采集的对象,因此其标识不可能在标识库500中存储,从而服务器200匹配失败,将自动机软件识别为异常客户端,向自动机软件发送握手拒绝消息和出错原因(非浏览器环境登录服务域名),以使用户转移到浏览器环境登录。
通过上述示例可见,基于从浏览器的握手消息提取的标识能够对异常浏览器的安全连接的请求行为进行有效的限制,保证了服务器的业务的安全以及技术升级,并能够将服务器的非正常的访问流量有效引导为正常的访问流量。
下面继续说明本发明实施例提供的浏览器标识的处理装置255的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器250的安全连接的处理装置255中的软件模块可以包括:安全连接模块2551,用于:接收目标浏览器发送的用于请求与服务器建立安全连接的握手消息;将目标浏览器的标识与标识库中的标识进行匹配;根据匹配结果响应目标浏览器的握手消息;标识管理模块2552,用于:解析握手消息封装的字段数据,得到目标浏览器的多个类型的特征;对目标浏览器的多个类型的特征进行排序,并将排序后的特征组合为对应目标浏览器的标识。
在一些实施例中,标识管理模块2552,还用于:解析出握手消息封装的以下字段数据:目标浏览器使用的协议版本号、目标浏览器支持的最大协议版本号、目标浏览器使用的加密套接字、加密套接字的数量、扩展字段和扩展类型的数量;从解析出的字段数据提取出相应的信息作为目标浏览器的特征。
在一些实施例中,标识管理模块2552,还用于:将目标浏览器的加密套接字中包括的加密算法,按照加密算法编码的长度进行排序;在目标浏览器的扩展字段中过滤掉域名特征,并将扩展字段中剩余的特征按照类型值进行排序;将目标浏览器的以下特征顺序排列:使用协议版本号、支持的最大协议版本号、排序后的加密套接字、加密套接字的数量、排序后的扩展字段和扩展类型的数量。
在一些实施例中,标识管理模块2552,还用于:将目标浏览器的多个类型的特征连接为字符串;将字符串映射为特定长度的哈希值,以作为对应目标浏览器的标识。
在一些实施例中,安全连接模块2551,还用于:当目标浏览器的标识与标识库中的白名单匹配时,与目标浏览器完成握手过程,以协商安全连接数据传输过程中使用的加密算法和密钥;当目标浏览器的标识与标识库中的黑名单匹配时,向目标浏览器发送握手失败消息。
在一些实施例中,安全连接模块2551,还用于:当目标浏览器的标识与标识库中的白名单匹配、且协商得到密钥时,通过密钥加密验证数据并向目标浏览器发送;接收目标浏览器发送的验证码,验证码是目标浏览器解密并执行验证数据后通过收集验证操作而获得;当通过密钥解密验证码且验证通过时,授权目标浏览器。
在一些实施例中,标识管理模块2552,还用于:根据多个样本浏览器发送的用于建立安全连接的握手消息,采集每个样本浏览器的标识;确定样本浏览器的类型为正常浏览器或异常浏览器;当样本浏览器属于正常浏览器时,将正常浏览器的标识存储到标识库的白名单,当样本浏览器属于异常浏览器时,将异常浏览器的标识存储到标识库中的黑名单。
在一些实施例中,标识管理模块2552,还用于:解析样本浏览器发送的握手消息封装的字段数据,得到样本浏览器的多个类型的特征;对样本浏览器的多个类型的特征进行排序,且排序方式与对目标浏览器的多个类型的特征进行排序的方式一致,并将排序后的特征组合为对应样本浏览器的标识。
在一些实施例中,标识管理模块2552,还用于:确定不同类型的样本浏览器的分布密度,将分布密度小于类型分布密度阈值的类型对应的样本浏览器确定为异常浏览器,将分布密度大于类型分布密度的类型对应的样本浏览器确定为正常浏览器;和/或确定不同版本的样本浏览器的分布密度,将分布密度小于版本分布密度阈值的版本对应的样本浏览器确定为异常浏览器,将分布密度大于版本分布密度的类型对应的样本浏览器确定为正常浏览器。
在一些实施例中,标识管理模块2552,还用于:当查询到网络中有新的协议版本和加密算法中任意一个的发布信息时,开启采集样本浏览器的标识的操作,当采集到足够数量的更新的标识,以使标识库中的更新的标识的比例超出更新比例阈值,或者采集的更新的标识的数量超出更新数量阈值时,停止述采集样本浏览器的标识的操作。
在一些实施例中,标识管理模块2552,还用于:在处于负载低于负载阈值的期间,开启采集样本浏览器的标识的操作,在处于负载高于负载阈值期间,停止采集样本浏览器的标识的操作。
在一些实施例中,标识管理模块2552,还用于:对发送用于建立安全连接的握手消息的来源浏览器进行类型和/或版本的检测,当标识库中相应类型和/或版本的样本浏览器的标识的数量不符合均匀分布条件时,将来源浏览器识别为样本浏览器。
本发明实施例还提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本发明实施例提供浏览器标识的处理的方法,例如,如图3或图4示出的浏览器标识的处理方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它模块。
作为示例,可执行指令可以但不一定对应于文件***中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本发明实施例针对目前使用HTTPS请求的浏览器都会涉及握手消息的情况,从握手消息中采集指纹,解决了在浏览器采集的信息全部都可以被伪造,导致指纹信息错误的问题,并克服了由于浏览器的基本属性信息不够完整,导致生成的指纹信息会有冲突的问题。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。

Claims (15)

1.一种浏览器标识的处理方法,其特征在于,包括:
接收目标浏览器发送的用于请求与服务器建立安全连接的握手消息;
当所述握手消息的载荷数据的版本更新时,采集浏览器标识并基于采集的所述浏览器标识更新标识库中的标识,根据所述标识库中标识的更新的程度,停止采集所述浏览器标识;
解析所述握手消息封装的字段数据,得到所述目标浏览器的多个类型的特征;
对所述目标浏览器的多个类型的特征进行排序,并将排序后的特征组合为对应所述目标浏览器的标识;
将所述目标浏览器的标识与所述标识库中的标识进行匹配;
当所述目标浏览器的标识与所述标识库中的白名单匹配时,与所述目标浏览器完成握手过程,以协商所述安全连接数据传输过程中使用的密钥。
2.根据权利要求1所述的方法,其特征在于,所述解析所述握手消息封装的字段数据,得到所述目标浏览器的多个类型的特征,包括:
解析出所述握手消息封装的以下字段数据:所述目标浏览器使用的协议版本号、所述目标浏览器支持的最大协议版本号、所述目标浏览器使用的加密套接字、所述加密套接字的数量、扩展字段和扩展类型的数量;
从所述解析出的字段数据提取出相应的信息作为所述目标浏览器的特征。
3.根据权利要求1所述的方法,其特征在于,所述对所述目标浏览器的多个类型的特征进行排序,包括:
将所述目标浏览器的加密套接字中包括的加密算法,按照加密算法的编码长度进行排序;
在所述目标浏览器的扩展字段中过滤掉域名特征,并将所述扩展字段中剩余的特征按照类型值进行排序;
将所述目标浏览器的以下特征顺序排列:使用协议版本号、支持的最大协议版本号、排序后的所述加密套接字、所述加密套接字的数量、排序后的所述扩展字段和扩展类型的数量。
4.根据权利要求1所述的方法,其特征在于,所述将排序后的特征组合为对应所述目标浏览器的标识,包括:
将所述目标浏览器的多个类型的特征连接为字符串;
将所述字符串映射为特定长度的哈希值,以作为对应所述目标浏览器的标识。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述目标浏览器的标识与所述标识库中的黑名单匹配时,向所述目标浏览器发送握手失败消息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当所述目标浏览器的标识与所述标识库中的白名单匹配、且协商得到密钥时,通过所述密钥加密验证数据并向所述目标浏览器发送;
接收所述目标浏览器发送的验证码,所述验证码是所述目标浏览器解密并执行验证数据后通过收集验证操作而获得;
当通过所述密钥解密所述验证码且验证通过时,授权所述目标浏览器。
7.根据权利要求1至6任一项所述的方法,其特征在于,接收所述目标浏览器发送的用于与服务器建立安全连接的握手消息之前,所述方法还包括:根据多个样本浏览器发送的用于建立安全连接的握手消息,采集每个样本浏览器的标识;
确定所述样本浏览器的类型为正常浏览器或异常浏览器;
当所述样本浏览器属于正常浏览器时,将所述正常浏览器的标识存储到所述标识库的白名单,当所述样本浏览器属于异常浏览器时,将所述异常浏览器的标识存储到所述标识库中的黑名单。
8.根据权利要求7所述的方法,其特征在于,所述根据多个样本浏览器发送的用于建立安全连接的握手消息,确定每个样本浏览器的标识,包括:
解析所述样本浏览器发送的握手消息封装的字段数据,得到所述样本浏览器的多个类型的特征;
对所述样本浏览器的多个类型的特征进行排序,且排序方式与对所述目标浏览器的多个类型的特征进行排序的方式一致,并将排序后的特征组合为对应所述样本浏览器的标识。
9.根据权利要求7所述的方法,其特征在于,所述确定所述样本浏览器的类型为正常浏览器或异常浏览器,包括:
确定不同类型的所述样本浏览器的分布密度,将分布密度小于类型分布密度阈值的类型对应的样本浏览器确定为异常浏览器,将分布密度大于所述类型分布密度的类型对应的样本浏览器确定为正常浏览器;和/或
确定不同版本的所述样本浏览器的分布密度,将分布密度小于版本分布密度阈值的版本对应的样本浏览器确定为异常浏览器,将分布密度大于所述版本分布密度的类型对应的样本浏览器确定为正常浏览器。
10.根据权利要求7所述的方法,其特征在于,采集每个样本浏览器的标识之前,所述方法还包括:
当查询到网络中有新的协议版本和加密算法中任意一个的发布信息时,开启采集所述样本浏览器的标识的操作,当采集到足够数量的更新的标识,以使所述标识库中的更新的标识的比例超出更新比例阈值,或者采集的更新的标识的数量超出更新数量阈值时,停止述采集所述样本浏览器的标识的操作。
11.根据权利要求7所述的方法,其特征在于,采集每个样本浏览器的标识之前,所述方法还包括:
在处于负载低于负载阈值的期间,开启所述采集样本浏览器的标识的操作,在处于负载高于负载阈值期间,停止所述采集样本浏览器的标识的操作。
12.根据权利要求7所述的方法,其特征在于,采集每个样本浏览器的标识之前,所述方法还包括:
对发送用于建立安全连接的握手消息的来源浏览器进行类型和/或版本的检测,当所述标识库中相应类型和/或版本的样本浏览器的标识的数量不符合均匀分布条件时,将所述来源浏览器识别为样本浏览器。
13.一种安全连接的处理装置,其特征在于,包括:
安全连接模块,用于:
接收目标浏览器发送的用于请求与服务器建立安全连接的握手消息;将所述目标浏览器的标识与标识库中的标识进行匹配;当所述目标浏览器的标识与所述标识库中的白名单匹配时,与所述目标浏览器完成握手过程,以协商所述安全连接数据传输过程中使用的密钥;
所述标识管理模块,用于:
当所述握手消息的载荷数据的版本更新时,开启浏览器标识的采集操作,以基于采集的所述浏览器标识更新所述标识库中的标识;根据所述标识库中标识的更新的程度,确定停止采集所述浏览器标识的时机;解析所述握手消息封装的字段数据,得到所述目标浏览器的多个类型的特征;对所述目标浏览器的多个类型的特征进行排序,并将排序后的特征组合为对应所述目标浏览器的标识。
14.一种电子设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至12任一项所述的浏览器标识的处理方法。
15.一种存储介质,其特征在于,存储有可执行指令,用于引起处理器执行时,实现权利要求1至12任一项所述的浏览器标识的处理方法。
CN201910796788.4A 2019-08-27 2019-08-27 浏览器标识的处理方法、装置、电子设备及存储介质 Active CN111181912B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910796788.4A CN111181912B (zh) 2019-08-27 2019-08-27 浏览器标识的处理方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910796788.4A CN111181912B (zh) 2019-08-27 2019-08-27 浏览器标识的处理方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111181912A CN111181912A (zh) 2020-05-19
CN111181912B true CN111181912B (zh) 2021-10-15

Family

ID=70657067

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910796788.4A Active CN111181912B (zh) 2019-08-27 2019-08-27 浏览器标识的处理方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111181912B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100603B (zh) * 2020-09-15 2022-06-14 福建天晴在线互动科技有限公司 一种网站结合图形验证码的防御方法及其***
CN113556343B (zh) * 2021-07-21 2022-01-11 江南信安(北京)科技有限公司 基于浏览器指纹识别的DDoS攻击防御方法及设备
CN114491318B (zh) * 2021-12-16 2023-09-01 北京百度网讯科技有限公司 目标信息的确定方法、装置、设备以及存储介质
CN114448706B (zh) * 2022-02-08 2024-05-17 恒安嘉新(北京)科技股份公司 一种单包授权方法、装置、电子设备及存储介质
US20230421580A1 (en) * 2022-06-28 2023-12-28 Microsoft Technology Licensing, Llc Detecting and mitigating abusive network activity based on versioned browser usage

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571485A (zh) * 2011-12-14 2012-07-11 上海交通大学 一种在微博平台上识别机器人用户的方法
CN104580172A (zh) * 2014-12-24 2015-04-29 北京奇虎科技有限公司 一种基于https协议的数据通信方法及装置
CN105553983A (zh) * 2015-12-17 2016-05-04 北京海泰方圆科技股份有限公司 一种网页数据保护方法
CN107171906A (zh) * 2017-05-19 2017-09-15 上海为然环保科技有限公司 一种移动终端控制的智能家居***
CN107835155A (zh) * 2017-10-11 2018-03-23 飞天诚信科技股份有限公司 一种双认证保护方法及装置
CN109688210A (zh) * 2018-12-14 2019-04-26 平安城市建设科技(深圳)有限公司 追踪用户信息的方法、装置、服务器及存储介质
CN109995576A (zh) * 2019-02-13 2019-07-09 平安科技(深圳)有限公司 上网设备的识别方法、装置及存储介质、计算机设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103248631B (zh) * 2013-05-27 2016-05-25 百度在线网络技术(北京)有限公司 跨浏览器标识用户身份的方法、***和浏览器
US20180047018A1 (en) * 2016-08-15 2018-02-15 Capital One Services, Llc Browser extension for field detection and automatic population and submission
CN108540509B (zh) * 2017-03-01 2022-06-21 腾讯科技(深圳)有限公司 一种终端浏览器的处理方法、装置及服务器、智能终端

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571485A (zh) * 2011-12-14 2012-07-11 上海交通大学 一种在微博平台上识别机器人用户的方法
CN104580172A (zh) * 2014-12-24 2015-04-29 北京奇虎科技有限公司 一种基于https协议的数据通信方法及装置
CN105553983A (zh) * 2015-12-17 2016-05-04 北京海泰方圆科技股份有限公司 一种网页数据保护方法
CN107171906A (zh) * 2017-05-19 2017-09-15 上海为然环保科技有限公司 一种移动终端控制的智能家居***
CN107835155A (zh) * 2017-10-11 2018-03-23 飞天诚信科技股份有限公司 一种双认证保护方法及装置
CN109688210A (zh) * 2018-12-14 2019-04-26 平安城市建设科技(深圳)有限公司 追踪用户信息的方法、装置、服务器及存储介质
CN109995576A (zh) * 2019-02-13 2019-07-09 平安科技(深圳)有限公司 上网设备的识别方法、装置及存储介质、计算机设备

Also Published As

Publication number Publication date
CN111181912A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
CN111181912B (zh) 浏览器标识的处理方法、装置、电子设备及存储介质
CN111435913B (zh) 一种物联网终端的身份认证方法、装置和存储介质
CN107770182A (zh) 家庭网关的数据存储方法及家庭网关
CN116471109B (zh) 数据传输方法、***、第一端及控制设备
CN108322416B (zh) 一种安全认证实现方法、装置及***
CN112235266B (zh) 一种数据处理方法、装置、设备及存储介质
CN108616540B (zh) 一种基于跨平台加密算法与声明式过滤认证的平台认证方法及***
CN110912877B (zh) 变电站内基于iec61850模型的数据发送、接收方法及装置
CN113127914A (zh) 一种电力物联网数据安全防护方法
CN114157434A (zh) 登录验证方法、装置、电子设备及存储介质
CN110858834B (zh) 用户信息传输方法、装置、***和计算机可读存储介质
CN110943992B (zh) 一种入口认证***、方法、装置、计算机设备和存储介质
CN112073963A (zh) 通信交互数据传输方法及装置
CN113965425A (zh) 物联网设备的接入方法、装置、设备及计算机可读存储介质
US20240163267A1 (en) Data transmission method, internet of things system, electronic device, and storage medium
US20130283363A1 (en) Secure data transfer over an arbitrary public or private transport
CN110602133A (zh) 智能合约处理方法、区块链管理设备及存储介质
CN116633725A (zh) 一种全渠道接入网关
US20150281187A1 (en) Key transmitting method and key transmitting system
Zhang et al. A systematic approach to formal analysis of QUIC handshake protocol using symbolic model checking
US20220182229A1 (en) Protected protocol for industrial control systems that fits large organizations
CN112738751B (zh) 无线传感器接入鉴权方法、装置及***
CN110572352A (zh) 一种智能配网安全接入平台及其实现方法
CN108809927A (zh) 身份认证方法及装置
CN111049798B (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