CN113574838A - 通过客户端指纹过滤互联网流量的系统和方法 - Google Patents

通过客户端指纹过滤互联网流量的系统和方法 Download PDF

Info

Publication number
CN113574838A
CN113574838A CN201980092145.XA CN201980092145A CN113574838A CN 113574838 A CN113574838 A CN 113574838A CN 201980092145 A CN201980092145 A CN 201980092145A CN 113574838 A CN113574838 A CN 113574838A
Authority
CN
China
Prior art keywords
client
data packet
list
fingerprint
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.)
Granted
Application number
CN201980092145.XA
Other languages
English (en)
Other versions
CN113574838B (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.)
Prader Ltd
Original Assignee
Prader 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 Prader Ltd filed Critical Prader Ltd
Priority to CN202311698985.5A priority Critical patent/CN117714132A/zh
Publication of CN113574838A publication Critical patent/CN113574838A/zh
Application granted granted Critical
Publication of CN113574838B publication Critical patent/CN113574838B/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/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
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/028Capturing of monitoring data by filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • 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
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

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)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种系统和方法,该系统和方法包括:从客户端设备的网络流量中接收客户端数据包;从客户端数据包中提取数据包组件集;从数据包组件集中生成客户端指纹;使用客户端指纹将客户端类型分配给网络流量;以及可选地至少部分地基于客户端类型来过滤客户端设备的网络流量。

Description

通过客户端指纹过滤互联网流量的系统和方法
相关申请的交叉引用
本申请要求于2018年12月28日提交的第62/785,703号美国临时申请的权益,该美国临时申请通过引用整体并入本文中。
技术领域
本发明总体上涉及网络流量调节领域,更具体地,涉及一种新的、有用的用于通过客户端指纹过滤互联网流量的系统和方法。
背景技术
自互联网可供公众使用以来,互联网安全一直是一个问题。为了防止和监视计算机网络和网络可访问资源的未授权访问、滥用、修改和破坏,已经采用了多种策略和实践。
沿着这些路线,用于HTTP流量过滤的解决方案已经存在一段时间。存在用于识别不受欢迎的客户端流量并阻止或过滤该客户端流量的方法和协议。不幸的是,存在许多伪造用户身份的技术,特别是通过欺骗或隐藏客户端流量的来源来伪造用户身份。这些对抗错失的发展使得伪造用户身份和规避过滤协议成为普遍现象。对抗措施的常见示例包括在应用层重写网络流量中的信息并通过代理发送流量以及实施VPN(虚拟专用网络)。
许多基于互联网的服务和平台旨在为普通用户提供消费和使用。这些普通用户通常使用广泛可用的客户端设备来访问和使用服务或平台。然而,各种实体可构建它们自己的用于访问服务或平台的脚本或计算机实现的解决方案。由于这些计算机实现的客户端会无意地使用服务或平台,导致这些计算机实现的客户端有时可以是网络过滤的候选者。然而,在某些情况下,当这些计算机实现的客户端呈现为普通客户端设备时,要识别这些计算机实现的客户端可能是挑战。
需要一种能够以更高水平的复杂程度识别客户端的系统和方法,这使得欺骗或隐藏客户端身份的难度大大增加且不容易实现。因此,在网络管理领域中需要创建一个新的、有用的用于过滤互联网流量的系统和方法。本发明提供了这种新的系统和方法。
附图说明
图1是计算平台内使用的系统的一个示例性实现方式的通信流程图;
图2是作为过滤服务的系统的示例性实现方式的通信流程图;
图3是优选实施例的系统的示意性表示;
图4是作为分析服务的系统的变型的示意性表示;
图5是优选实施例的方法的流程图;
图6是过滤客户端流量的方法的变型的流程图;
图7是应用于TLS/SSL协议的方法的详细流程图;
图8是生成客户端指纹并从一个变型的客户端指纹确定客户端类型的示意性表示;
图9是与TLS握手协议并行执行的方法的示意性表示;
图10是实现为分析服务的方法的流程图表示;以及
图11是可用于实现系统和/或方法的示例性系统架构。
具体实施方式
本发明的实施例的以下描述不旨在将本发明限制于这些实施例,而是旨在使本领域技术人员能够制造和使用本发明。
1.概述
一个优选实施例的过滤互联网流量的方法和系统,其功能是使用用于保护互联网流量的底层安全协议作为用于客户端分类的信道。方法和系统优选地通过如下来操作:接收客户端数据包,从客户端数据包中提取数据包组件集,从客户端数据包中生成客户端指纹,以及使用客户端指纹分配客户端类型。客户端类型可进一步包括给客户端赋予流量管理分类,且方法和系统可进一步包括根据客户端流量管理分类来过滤客户端流量。
方法和系统可优选地通过检查来自客户端的较低级别的提取数据来对客户端和/或客户端类型进行分类或以其他方式表征,这些较低级别的提取数据不一定可由客户端控制或可容易地由客户端改变。作为对网络TCP/IP模型的近似,大多数客户端控制的数据在应用层中。方法和系统优选地利用来自较低层(例如传输层)的客户端标识数据来生成可区分的客户端指纹。许多应用或脚本将使用管理和协商互联网安全的低级别的库,互联网安全例如是通过TLS(传输层安全)或SSL(安全套接层)提供的互联网安全。其中,提及TLS/SSL意味着可使用TLS或SSL。可使用任何版本的TLS或SSL,且可使用类似的衍生协议或类似的加密协议或其他协议。系统和方法可从与这种低级别通信相关的网络流量中建立客户端指纹。在一个优选变型中,系统和方法利用在TLS(传输层安全)或SSL(安全套接层)握手协议中使用的客户端问候(hello)数据包。问候数据包优选地用于部分地基于数据包的内容、组织和/或结构形成客户端指纹。该客户端指纹可规避主要是应用层操作的许多客户端欺骗和混淆技术。然后可利用客户端指纹来确定和表征客户端类型,从而实现客户端流量的适当管理和/或过滤。
系统和方法可提供许多潜在益处。系统和方法不限于总是提供这样的益处,而只是作为关于如何可使用系统和方法的示例性表示来呈现。益处的列表并不是详尽无遗的,其他益处可能额外地或替代地存在。
方法和系统的一个潜在益处是如本文所述的,客户端指纹足以区分客户端类型。因此,客户端指纹可提供必要的信息以识别客户端是哪种类型的动作者,从而可对客户端作出适当的预期响应。客户端指纹可用于识别好和坏的动作者。
另一个潜在益处是客户端指纹可以以高置信水平区分客户端类型。由于客户端指纹通过典型的应用开发实践从通常是不可变的数据组件中确定,因此方法和系统能够可靠和一致地识别用户。由于用于生成客户端指纹的大量信息来自应用层之外,因此动作者操纵客户端指纹的能力变得更困难,因此将更可靠地反映真正的客户端类型。虽然不是不可能被欺骗,但是与当前的客户端检测技术相比,客户端指纹给客户端提供明显更难操纵的检测技术。
另一个潜在益处是使用VPN(虚拟专用网络)或代理(VPN或代理是客户端试图混淆其标识的两种最常见的方式),不妨碍方法和系统区分客户端类型。由于所使用的数据组件主要在传输层(例如,TLS问候客户端)中,因此客户端指纹被保持,且不会因为通过代理连接或利用VPN而被改变。
另一个潜在益处是方法和系统还可实现非侵入式过滤。系统和方法优选地可在不需要主动调节进入流量的情况下实现,而是可通过适当的网络流量进行分析。由于在与服务器的连接点处识别客户端类型,因此客户端活动不受在活动期间持续过滤或监视的阻碍。客户端可立即被允许、拒绝或从初始状态给予适当的访问,从而不会通过持续监视影响客户端活动。这可提高通过网络提供的计算机实现的服务的性能。同样,可减少网络监视所需的计算资源。
作为另一个潜在益处,方法和系统可另外给客户端和客户端的活动提供隐私级别。实现方法和系统所需的数据,虽然可区分客户端,但是不会暴露通过客户端传递的任何用户个人数据或用户个人活动,例如可在HTTPS流量(或其他合适类型的应用协议)中暴露的信息。当系统和方法作为服务来实现时,这可能特别有用,且服务的用户不希望第三方能够访问这种信息。由于不使用用户数据或用户活动,因此可以以最少的隐私顾虑自由地传输实现方法和系统所需的数据。例如,第三方系统可提供用于生成客户端指纹的网络流量的请求部分(例如,TLS问候客户端数据包),而第三方系统不会暴露敏感客户端流量。因此,第三方系统可减轻使用这种网络过滤服务的安全性和隐私风险。
方法和系统可特别适用于维护网络(web)服务的任何人和/或组织,web服务具有对客户端流量的任何类型的关注。软件应用或服务可应用系统和方法的实现来解决与安全问题(例如,对于银行、购物站点)、站点误用(例如,机器人接管票据站点、数据挖掘网站)、不希望的流量(例如,连接到移动应用站点的PC用户)和/或与理解和管理客户端相关的其他合适类型的问题相关的问题。如图1所示,在系统的一个示例性实现方式中,软件平台可配置为接收客户端数据包、从客户端数据包中提取数据包组件集、从数据包组件集中生成客户端指纹、以及使用客户端指纹分配客户端类型。客户端类型可用于过滤网络流量或采取任何合适的动作。在一个示例中,如图3所示,在线机构可使用系统的实现方式来监视连接到面向用户的web服务的客户端的客户端类型,并适当地调节非用户客户端的访问。
替代地,系统和方法可实现为web流量分析和/或客户端过滤服务。也就是说,作为应用编程接口(API)服务提供的过滤服务提供商可识别和/或过滤客户端流量以解决安全问题、站点滥用和任何其他类型的不希望的流量。如图4所示,服务优选地作为多租户服务来提供,使得多个业务和应用可以是过滤服务的消费者。消费者可以是具有计算基础设施、具有客户端流量的任何合适类型的实体。消费者可包括诸如银行、购物站点、在线拍卖站点、在线游戏站点、售票站点、另一API服务提供商和/或任何合适类型的平台或服务的平台或服务。如图2所示,在系统的另一替代示例性实现方式中,消费者将接收客户端流量,特别是如TLS/SSL问候客户端数据包的网络流量。TLS/SSL问候数据包将传递到过滤服务以进行检查。在接收到指定的网络流量之后,过滤服务可类似地从客户端数据包中提取数据包组件集、从数据包组件集中生成客户端指纹、以及使用客户端指纹分配客户端类型。分配的客户端类型可传回给消费者。替代地或可选地,可提供对网络流量的推荐处理。例如,过滤服务可指定流量处理建议,例如,通过针对网络流量的特定类型的错误指示将网络流量视为合法流量、阻止流量,或采取适合于客户端类型的任何合适类型的动作。在另一示例中,在线票务代理可将流量传递到过滤服务以过滤客户端流量,来识别并阻止自动机器人购票。替代地,过滤服务可以为票务代理识别机器人,使得票务代理能够针对机器人采取他们自己期望的动作。
优选实施例的系统可另外包括客户端指纹数据库,在客户端指纹数据库中管理与各种类型的客户端指纹相关的数据。与客户端指纹相关的数据可包括更一般的分类,例如标记为特定类型的计算设备(例如,指定智能电话的品牌/型号)、活动数据和/或其他合适形式的数据。
2.系统
如图3所示,用于通过优选实施例的客户端指纹来过滤互联网流量的系统可包括网络流量数据接口110、数据包分析器120和可选的策略引擎130。系统可用于调节和管理网络流量。在替代变型中,系统可用于通过网络流量数据接口110和数据包分析器120的组合来收集和监视网络流量。
如上所讨论的,当确定客户端类型时,系统优选地在数据包分析期间利用TLS/SSL握手协议。在确定策略引擎130如何管理其他客户端网络流量时,可使用识别的或分类的客户端类型。系统可在具有网络流量的计算机实现的系统内内在地实现。
在替代变型中,用于通过客户端指纹来过滤互联网流量的系统实现为可由一个或多个第三方计算机实现的系统使用的客户端流量分析服务。如图4所示,客户端流量分析服务可包括网络流量数据接口110(用于从外部第三方系统接收适当的网络数据包)和数据包分析器120。分析服务优选地可传送回到客户端分析的适当的第三方系统结果,使得第三方可强制执行它们自己的网络流量策略或执行任何合适的业务逻辑。分析服务可实现为多租户计算平台。多租户平台可包括用户账户系统,用户账户系统包括用户数据库和/或数据记录。用户账户系统可另外用于便于认证和使得具有账户的外部第三方通过网络流量数据接口110能够提供适当的网络流量数据。
网络流量数据接口110用作收集适当的网络流量数据包进行分析的管道。如上所述,系统可能不需要来自客户端的大量网络流量,就能适当地调节来自客户端的所有网络流量。如上所述的网络流量数据接口110可直接集成到计算系统的网络流量中和/或间接访问网络流量的适当部分。
优选地,数据接口110用于收集作为加密协议的一部分而交换的数据消息,以在客户端设备和服务器之间建立和提供安全通信。在这种情况下,服务器通常是使用该系统的计算系统,客户端是试图连接到计算系统的外部计算设备。特别地,可使用加密协议的协商阶段。优选的变化应用于TLS/SSL或其他类似的加密协议。在TLS/SSL中,优选地从客户端收集客户端问候消息(即,ClientHello消息)作为网络流量样本。客户端问候通常是在TLS/SSL握手期间的协商过程中由客户端发送的初始消息(即,数据包)。客户端问候消息通常包括、宣布和/或以其他方式指定支持的协议版本信息(例如,TLS/SSL的当前版本号)、客户端按照客户端偏好的顺序支持的密码套件列表以及随机字节串。客户端问候消息可另外包括建议的压缩方法列表、会话ID以及客户端是否可使用应用层协议协商。客户端问候消息可另外包括支持的应用协议列表和/或客户端支持的扩展列表。客户端消息可进一步包括附加信息。
在第一变型中,网络流量数据接口110集成到用于操作系统的网络流量的控制器中。在其他工作中,网络流量数据接口110可直接集成到用于接收和处理来自外部客户端设备的网络流量的计算设备和/或应用/软件中,或构建为该计算设备和/或应用/软件的一部分。
在另一变型中,网络流量数据接口110是与用于接收和处理来自外部客户端设备的网络流量的另一计算设备和/或应用/软件协作地操作的外部系统。在该变型中,数据接口110用于直接或间接地访问网络流量的适当部分。可从处理网络流量的系统发送网络流量的适当部分(例如,TLS客户端问候消息)。替代地,数据接口110可获取适当的数据包。
在用于间接地访问网络流量的变型中,网络流量数据接口110可作为网络流量分析服务的一部分植入。因此,网络流量数据接口110可以是应用编程接口(API)。API优选地配置为请求分析客户端网络流量。在一个优选的实现方式中,第三方可通过API向系统提交样本客户端问候数据包。作为响应(通过回调URI提供或通过任何合适的机制提供的、对API请求的直接响应),系统可提供客户端问候数据包的分类(例如,指示设备的类型和/或设备是否看起来是合法的客户端流量)。
数据包分析器120用于处理数据包并确定客户端指纹,然后可选地对指纹进行分类。数据包分析器120优选地包括一个或多个计算机可读介质(或其他形式的配置),一个或多个计算机可读介质存储有指令,指令在由一个或多个计算机处理器运行时,使得计算平台:从客户端数据包中提取数据包组件集;从数据包组件集中生成客户端指纹;以及使用客户端指纹将客户端类型分配给网络流量。因为数据包分析器120涉及提取组件、生成客户端指纹以及使用指纹来分配客户端类型,所以数据包分析器120优选地执行以下描述的任何操作或变型。数据包分析器120优选地对客户端数据包进行这些操作,客户端数据包是在传输层安全TLS协议期间的协商过程中接收的客户端问候消息。
用于提取数据包组件集的配置/指令优选地包括用于从来自客户端问候消息的客户端密码套件列表、压缩方法列表、客户端点格式、支持的应用协议列表和/或客户端支持的扩展列表中提取标识数据的配置/指令。
用于生成客户端指纹的配置/指令优选地包括用于对数据包组件集进行编码,以编码成作为字符表示形式的客户端指纹的配置/指令。此外,用于对数据包组件集进行编码的配置/指令将优选地包括用于对客户端密码套件列表进行散列、对压缩方法列表进行散列、对客户端点格式进行散列、对支持的应用协议列表进行散列和/或对客户端支持的扩展列表进行散列的配置/指令。
用于使用客户端指纹将客户端类型分配给网络流量的配置/指令将优选地包括用于从将多个客户端指纹映射到客户端类型的分类的数据库中选择客户端类型的配置/指令。系统,更具体地,数据包分析器120还可包括客户端类型分类数据资源。这可以是用于将客户端指纹与客户端类型进行映射和/或分类的数据库或数据库集合。在一个变型中,客户端指纹可用作用于查询数据资源以确定预先建立的客户端类型标签的索引。替代地,数据资源可用作用于对客户端指纹进行分类的模型。
策略引擎130用于部分地基于数据包分析器120的输出来管理网络流量。通常,策略引擎130优选地可以是计算机和/或电路实现的设备,其包括一配置,该配置在执行时使得策略引擎130允许网络流量限制网络流量和/或基于从数据包分析器120输出的客户端类型来阻止客户端的网络流量。
3.方法
如图5所示,过滤互联网流量的方法可包括:S110接收客户端数据包、S120从客户端数据包中提取数据包组件集、S130从数据包组件集中生成客户端指纹、以及S140使用客户端指纹分配客户端类型。如图6所示,分配客户端类型可包括给客户端赋予分类,这可包括将流量管理分类分配给客户端S142。方法可用于由一组客户端对网络流量进行分类和标记。方法例如能够更准确地识别用于访问可访问网络的服务的客户端的类型。可访问网络的服务可进一步分析这些客户端的活动以理解不同客户端的行为如何。该客户端类型的分类优选地抵御客户端试图将自己伪装或呈现为与实际的客户端类型不同的客户端类型,从而方法提供更准确的客户端类型的分类。
方法可另外或可替代地用于对客户端进行分类以使得能够对客户端流量进行过滤。方法可进一步包括根据客户端类型过滤客户端流量,例如通过过滤与特定客户端的客户端类型相关联的流量管理分类。
在一个实现方式中,如图1所示,方法可作为应用或服务内的网络过滤解决方案来实现。在这种实现方式中,对客户端数据包的访问可直接在可访问网络的服务的网络流量上执行。类似地,流量的过滤可直接由可访问网络的服务执行。在另一实现方式中,如图2所示,方法可作为网络过滤解决方案来实现,该网络过滤解决方案作为过滤服务提供给服务的一个或多个消费者。来自用于生成客户端指纹的网络流量的客户端数据包可由外部第三方提供。类似地,可由外部系统执行用于网络流量过滤的流量管理分类或其他推荐。然而,一些变型可包括可在第三方系统内操作的策略引擎(例如,包含被配置为适当地过滤流量的机器指令的库或框架),以促进过滤。
优选地,方法在加密协议的握手协商期间交换的客户端数据包的上下文中实现。更具体地,客户端数据包是在客户端和服务器之间建立加密通信之前由客户端设备传送的客户端问候数据包。客户端问候数据包优选地用作客户端提供的客户端安全配置的描述。客户端安全配置可描述支持的加密协议的类型和/或版本、加密组合列表、压缩方法、支持的应用协议、扩展和/或其他特征。这些各种各样的数据包组件可以按客户端偏好和/或优先级来排序。在一个优选变型中,加密协议是TLS/SSL协议,客户端问候数据包是在建立或重新建立TLS/SSL会话时传送的TLS/SSL客户端问候消息。由于在协商的握手部分期间交换客户端数据包以建立安全会话,所以以未加密的格式(例如,以纯文本)交换数据包。
在方法实施以用于TLS/SSL协议的变型中,客户端数据包优选地是在TLS/SSL握手协议期间的协商过程中接收的客户端问候消息。因此,方法可如图7所示地实现,方法包括:S210从客户端设备的网络流量中接收客户端问候数据消息;S220从客户端问候数据消息中提取数据包组件集,其中,数据包组件集可包括支持的TLS/SSL协议的版本、客户端密码套件列表(例如,优先顺序列表)、压缩方法列表(例如,优先顺序列表)、客户端点格式、客户端支持的应用协议列表和/或客户端支持的扩展列表;S230将数据包组件集编码成客户端指纹的字符表示,S230包括S232单独生成数据包组件集的散列(例如,对每个选定的数据包组件进行散列)和S234生成数据包组件集的散列的散列(例如,对由S232产生的散列进行散列);以及S240从将客户端指纹映射到客户端类型的分类的数据库中选择客户端类型。方法可另外包括S250至少部分地基于客户端类型来选择性地过滤客户端设备的网络流量。更具体地,S232和S234通过将一个散列操作分别应用到数据包组件集中的每一个数据包组件以生成散列的数据包组件集,然后将第二散列操作应用到散列的数据包组件集以生成客户端指纹来实现。所应用的散列操作的类型可以相同,但是可替代地是不同类型的散列操作或其他编码操作。生成数据包组件集的散列可包括对客户端密码套件列表进行散列、对压缩方法列表进行散列、对客户端点格式进行散列、对客户端支持的应用协议列表进行散列、对客户端支持的扩展的形成进行散列和/或对任何合适的数据包组件或特征进行散列。替代地,可提供或报告客户端类型信息以用于适当的动作。过程S210、S220、S230、S240和S250优选地对应于S110、S120、S130、S140和S150且可包括在S110、S120、S130、S140和S150中描述的任何变型。此外,如图8所示,将数据包组件集编码成客户端指纹的字符表示可包括:对散列的数据包组件的集合进行散列。
可以与TLS握手协议并行地执行客户端问候的处理。如图9所示,可独立地且与TLS握手协议并行地执行对客户端类型的分析和确定,其包括:服务器接收包含客户端的密码信息的客户端问候消息;从服务器发送包含密码套件、服务器证书和可选的客户端证书请求的服务器问候消息;接收包括用服务器公钥加密的密钥信息的客户端密钥交换消息;接收客户端证书;如果需要,则验证客户端证书;接收客户端完成消息;发送服务器完成消息;然后交换用共享密钥加密的消息。
替代地,可以与TLS握手协议同步地执行对客户端问候的分析,使得可基于客户端类型来修改TLS握手协议期间的服务器响应和动作。
在方法实施成用于分析和过滤外部第三方系统的网络流量的分析服务的变型中,方法可实现为如图10所示的方法,方法包括:S310接收包括至少一个客户端数据包的客户端分类请求,S320从客户端数据包中提取数据包组件集,S330从数据包组件集中生成客户端指纹,以及S340使用客户端指纹分配客户端类型,以及S360向客户端分类请求传送响应。优选地,过程S310、S320、S330和S340对应于S110、S120、S130和S140且可包括在S110、S120、S130和S140中描述的任何变型。优选地,响应包括客户端类型信息。在一个变型中,过程可作为由分析服务的API(例如,REST API、GraphQL API等)促进的请求和响应序列的一部分来执行。在另一变型中,初始请求可以用回调URI提交。可通过向指定的回调URI发送通信来提供响应。替代地,可使用用于接收针对客户端类型分析的请求并提供结果的任何合适的方法。
方法提供的客户端指纹识别技术可用作客户端类型的可靠信号。换句话说,相同类型的客户端,也就是说,作为具有相同或相似版本的操作系统和/或使用相同或相似版本的应用或软件的相同型号的物理计算设备的客户端设备,通常会产生相同或相似的客户端指纹。优选地,方法实现为能够访问将客户端指纹映射到客户端类型的分类的数据资源。在一些变型中,如图6所示,方法可包括S102构建客户端类型分类数据资源。
包括构建客户端类型分类数据资源的方框S102,用于生成数据库或数据模型,由此客户端指纹可用于分配或确定客户端类型。优选地,通过从大量客户端收集客户端指纹,然后将分类和/或标签适当地分配给客户端指纹来构建客户端类型分类数据资源。在一个变型中,客户端类型的分类可具体地绑定到客户端描述符。特定客户端描述符可识别设备的型号、操作系统的版本、用作客户端的应用或软件的类型和/或版本。客户端类型的分类或至少分类的子集可以是更普通的,例如,“合法的客户端设备”、“计算机控制的客户端设备”、“脚本化的客户端设备”和/或其他合适的标签。
构建客户端类型分类数据资源可包括收集大量客户端数据包,通过涉及S120和S130的过程的分析对客户端数据包进行处理,然后对得到的客户端指纹进行标记。大量客户端数据包可包括收集大于一万、大于十万和/或大于一百万或甚至大于一千万或上亿的客户端数据包。
在一个变型中,可(至少部分地)手动执行标记。优选地,可基于对出现次数、出现频率、出现率或对在客户端数据包的样本中检测到的客户端指纹进行量化的其他合适的度量来按优先顺序进行标记。例如,客户端指纹识别过程可配置为使得在大量客户端流量(数十万到数以百万计的客户端)中通常会遇到大约一百到一千个不同的客户端指纹。且更流行的指纹和/或上升的客户端指纹可标记出来。
另外或替代地,自动化系统可促进标记。这种自动化系统可包括使用机器学习模型、统计模型和/或任何合适的算法方法自动对客户端指纹进行标记。
如上所述,自动化系统可确定何时应该对客户端指纹进行标记。通常所遇到的客户端指纹通常来自合法流量,因此可能需要相应地标记。另外或替代地,可应用简单分类方法,该分类方法至少部分地基于样本集内的出现数量来标记客户端指纹。
类似地,自动化过程可用作构建客户端类型分类数据资源的一部分,包括检测和/或通知新的合法客户端类型。例如,当引入新的设备或应用时,可生成通知或警报。可通过识别新的客户端指纹的出现频率的增加来检测新设备。
作为便于辅助的另一自动化过程,构建客户端类型分类数据资源可包括将客户端指纹与呈现的客户端类型进行比较。这里,可以在来自客户端设备的通信的另一部分中呈现客户端类型。例如,呈现的客户端类型可以是所述的用户代理报头。由于用户代理报头中的模式映射到客户端指纹,因此用户代理报头中的模式可用于自动地将客户端指纹与用户代理标签相关联。在一些情况下,用户代理的类型可以与一个或多个期望的客户端指纹相关联。如果基于所呈现的用户代理,客户端指纹不匹配预期的客户端指纹,则这可表明a)用户代理中的变化引入了新的客户端指纹,或者b)客户端通过声称虚假用户代理而欺诈地动作。在a)情况下,可监视或选择新的客户端指纹以用于标记。在b)情况下,这可有助于将客户端类型分类为监视或标记可能的非法行为的类型。例如,如果一个客户端指纹经常报告为不同的用户代理,则这可以视为表明实际客户端类型是用于非法使用的客户端类型的信号。
如果方法由计算机实现的服务或应用作为内部解决方案来实现,则方法可包括:监视源自客户端的活动,以及服务或应用至少部分地基于客户端活动来应用分类。监视活动可用于检测来自客户端的更高级别活动中的模式,例如所执行的动作的类型、活动的量,检测和/或分类与人类活动(例如,用户界面交互)相关联的活动。优选地,一旦客户端指纹有把握与客户端类型的分类相关联,就可避免对用户活动的检查和/或分析,且客户端指纹就足够。这种分析在最初分配分类时可能有用。
在方法不是作为内部解决方案实现而是作为服务提供的变型中,方法可包括从第三方系统接收针对客户端设备的客户端标签。换句话说,使用分析服务的系统可报告它们自己对特定用户的分类,这可用于针对客户端设备检测到的客户端指纹更新客户端类型分类数据资源。例如,如果来自客户端设备的用户账户确定为正在使用计算机服务执行欺诈性或不希望的活动,则可相应地标记该客户端指纹。在一些情况下,单次发生可能不足以更新客户端类型。然而,如果检测到建立的模式,则可更新与客户端指纹相关联的客户端类型。
包括接收客户端数据包的方框S110,用于获取适当的客户端相关网络流量。优选地,客户端数据包来自客户端设备的网络流量。优选地,客户端数据包包括关于客户端的通信协议信息。优选地,客户端数据包包括可区分客户端的客户端特定信息。可选地,客户端数据包可以不包括可能是HTTP/S流量的一部分的特定于应用的功能数据。然而,在一些变型中,可收集这样的数据。在优选变型中,客户端数据包包括在加密协议中使用的初始客户端/服务器握手的至少一部分,但是可包括附加信息。加密协议中的初始客户端/服务器握手通常是较低级别实现方式的一部分,操作起来更具挑战性。另外,初始握手可具有多个组件,由于加密通信未在该点建立且数据未加密,因此更容易访问这些组件。客户端数据包优选地是在加密协议期间的协商过程中接收的客户端问候消息。如上所讨论的,加密协议优选为TLS/SSL协议。在优选实现方式中,客户端数据包是来自在客户端和服务器之间建立安全连接的TLS握手协议的TLS客户端问候消息(或SSL客户端问候消息)。客户端问候消息源自客户端。
客户端数据包的优选实现方式包括TLS(或SSL)客户端问候消息的任何版本。参见例如2008年8月发表的RFC 5246“传输层安全(TLS)协议版本1.2”。客户端问候消息可包含TLS(或SSL)的当前版本号、客户端按照客户端偏好的顺序支持的密码套件列表以及随机字节串。客户端问候消息可包括建议的压缩方法列表、会话ID以及客户端是否可使用应用层协议协商。客户端问候消息可另外包括支持的应用协议列表和/或客户端支持的扩展列表。客户端消息可进一步包括附加信息。
另外或替代地,客户端数据包可包括除TLS或SSL客户端问候数据包之外的客户端数据包。客户端数据包可包括多个数据包。例如,客户端数据包可包括用于建立连接的TCP握手的客户端侧的所有数据包。
接收客户端数据包可通过直接访问到达服务器的网络流量来执行。替代地,接收客户端数据包可包括:接收包括至少一个客户端数据包的客户端分类请求,其中,如上所讨论的,客户端对网络流量的分析是针对外部网络流量来执行的。在一些变型中,基本上实时地执行与客户端数据包相关的数据的接收。例如,响应于从客户端接收到客户端数据包,可对客户端数据包进行访问和传送以进行分析。在一些变型中,与客户端数据包相关的数据的接收可以与实际客户端网络流量异步地执行。例如,可执行对先前网络流量的分析以评估历史上访问过计算机实现的服务的客户端类型。
提取数据包组件集的方框S120,用于从客户端数据包中提取客户端特定信息以生成客户端指纹。提取数据包组件集S120可包括从客户端数据包中提取、读取或以其他方式访问一个或多个组件。优选地,在生成客户端指纹时提取并使用多个属性。
提取标识数据集S120可以以非侵入的方式提取客户端数据。优选地,提取的标识数据可以是可用于识别客户端但不提取客户端活动或消息数据的客户端特定数据。通过这种方式,无需访问私有信息、个人标识信息和/或其他私有或敏感数据,即可生成客户端指纹。
客户端数据包可包括多个字段。数据包组件可以是来自这些字段之一的信息,例如特定字段的值。在一些变型中,可提取和使用多个数据包组件(或客户端数据包的数据字段)。优选地,提取的特定数据包组件是预先配置的。优选地,因为数据包组件可以是客户端识别信号,所以提取数据包组件以保持数据包组件的值以及数据包组件如何呈现(例如顺序)。
数据包组件可包括项目列表。对于作为项目列表的数据包组件,提取数据包组件集S120优选地包括:提取项目列表的顺序。如果提取数据包组件集S120应用于项目列表,则项目的顺序也优选地通过方框S120提取。根据优选的实现方式,项目的顺序可包括在原始数据包组件中或者包括不同的数据包组件。提取标识数据集S120可包括:从客户端密码套件列表、压缩方法列表、椭圆曲线加密(ECC)密码套件列表、客户端支持的应用协议、扩展列表和/或数据包的其他属性中提取标识数据。对于标识数据的这些组件中的每一个组件,可使用规格、列表的顺序、列表中的项目的数量和/或特定数据包组件的任何合适属性。
在客户端数据包是TLS或SSL客户端问候消息的变型中,提取数据包组件集S120可包括提取客户端密码套件列表。客户端密码套件列表是客户端可以按客户端偏好的顺序实现的密码套件加密算法的列表。
在客户端数据包是TLS或SSL客户端问候消息的变型中,提取数据包组件集S120可另外或可替代地包括提取压缩方法列表。压缩方法是哈希算法,其可实现为减小在服务器和客户端之间来回发送的信息的大小。
在客户端数据包是TSL或SSL客户端问候消息且密码套件列表包括任何椭圆曲线加密(ECC)密码套件的变型中,客户端问候消息可另外包括:客户端可支持的ECC密码套件列表以及客户端可解析的点格式。在这些变型中,提取数据包组件集S120可另外或可替代地包括提取客户端点格式。
在客户端数据包是TSL或SSL客户端问候消息且客户端问候消息包括应用层协议协商扩展(ALPN)的变型中,客户端问候消息可另外包括客户端支持的应用协议(例如Http/2)列表。在该变型中,提取数据包组件集S120可另外或可替代地包括提取客户端支持的应用协议列表。
在客户端数据包是另加的TSL或SSL客户端问候消息的变型中,客户端问候消息可另外包括客户端支持的扩展(例如,服务器名称指示)列表。在这些变型中,提取数据包组件集S120可另外或可替代地包括提取客户端支持的扩展列表。
在客户端数据包是TLS/SSL客户端问候消息的变型中,可提取的可能的数据包可包括来自问候消息的客户端密码套件列表、压缩方法列表、客户端点格式、客户端支持的应用协议列表、客户端支持的扩展列表和/或其他字段的组合。不同的变型可使用数据包组件和/或替代数据包组件的不同组合。
可添加、移除或替换另外的数据包组件。其他数据包组件的示例可包括:客户端浏览器信息、从已知VPN IP检测客户端以及客户端TOR利用率。方法可另外针对较旧的协议来实现。例如,在仍然运行较旧通信协议的专用网络上,方法能够构建下一协议协商(NPN)扩展格式的应用列表,而不是构建如上所述的ALPN。另外,可另外收集客户端宣布的客户端类型,例如,HTTP/S通信中的用户代理报头,其可在确定如何处理客户端流量时用于比较。
方框S130包括生成客户端指纹功能,以创建可区分的客户端指纹。客户端指纹可以是唯一的,或者可以不是唯一的。虽然客户端指纹不一定是唯一的,但是客户端指纹优选地是足够区别开,以能够区分客户端子组(例如,特定应用的用户、浏览器用户、特定移动设备用户、特定操作系统用户、编程语言连接、机器人等)。
生成客户端指纹S130优选地将数据包组件集编码成字符表示,此后称为客户端指纹。换句话说,生成客户端指纹可包括将数据包组件集编码成作为字符表示形式的客户端指纹。字符表示可以是字母数字字符串或数字。具体地,生成客户端指纹优选地包括:对于所提取的数据包组件集中的每一个数据包组件,对数据包组件进行编码。在一些变型中,生成客户端指纹可另外包括对所编码的数据包组件进行编码,从而产生单一字符串或数字。
可使用任何合适的编码过程。编码优选地是对数据包组件的特定组织进行散列。在一个优选变型中,编码包括对数据包组件的值的表示进行散列。因此,在一个优选变型中,如图8所示,客户端指纹是这样的结果:通过对数据包组件集中的每一个数据包组件单独应用散列处理来产生散列的数据包组件集,且通过对散列的数据包组件集应用组合散列处理来产生客户端指纹。组合散列处理优选地用作外散列层,以收集单独散列的数据包组件。对单独散列的数据包组件集应用散列处理,将优选地创建作为客户端类型的信号的所有散列的单个元散列。组合散列处理可另外生成基本上一致的客户端指纹,客户端指纹可用作客户端类型分类数据资源的索引。在一个实现方式中,数据资源包括由客户端指纹索引的黑名单和/或白名单客户端的数据库。选择客户端类型可包括使用由组合散列处理产生的单个元散列来搜索数据库。在具有黑名单和/或白名单数据库的变型中,在一个数据库中寻找元散列值可指示客户端是被允许(白名单)还是被禁止/阻止(黑名单)。通过组合散列,变成那些子信号(数据包组件)中的任何子信号的任何客户端指纹可观察到自动卷入元散列客户端指纹的计算和生成中。这优选地能够检测数据包组件子信号中的任何一个子信号的变化,并将其视为可配置和应用策略规则的唯一指纹。
由于将客户端指纹(元散列)添加到数据库可用于分配客户端的客户端类型和网络管理,因此这种方法还可使得过程用于管理如何直接处理客户端。例如,如果发现组合散列的客户端指纹“FEF417DFB97DF4EC8715382CE80770A1”是应被阻止的已知python变体,则该客户端指纹散列可添加到黑名单数据库(或标记为黑名单客户端指纹)。
优选地,用于应用散列处理的顺序和过程配置为使得客户端指纹的生成可再现。散列或应用散列处理优选地表征执行将任意大小的数据映射到一组值(通常是固定大小的值)的散列函数。散列函数的输出可称为散列或散列值或简单散列。在一个优选示例中,MD5散列算法在生成客户端指纹S130时实现。替代地,任何类型的压缩或散列算法或方法可在生成客户端指纹S130时实现。替代地,客户端指纹可以是表示每个编码的数据包组件的数据模型。客户端指纹的编码过程和数据建模可具有任何合适的其他变型。
具体地,生成客户端指纹S130可包括:对客户端密码套件列表进行散列、对压缩方法列表进行散列、对客户端点格式进行散列、对客户端支持的应用协议列表进行散列、对客户端支持的扩展列表进行散列和/或对其他合适的数据包组件进行散列。列表可以是元素的有序排序、来自客户端数据包的呈现顺序或任何合适的组织或形成。在一个示例性变型中,对客户端支持的扩展列表进行散列可通过对来自客户端支持的扩展列表的元素的形成进行散列来表征。在其他实施例中,客户端指纹可包括从握手导出的其他元素,包括伴随着在客户端和服务器之间来回传递的网络流量的任何属性或参数。方法不限于任何特定的握手协议或网络会话的任何属性,且可随着握手协议的修改和扩展而随时调整。
在生成客户端指纹S130时,可以以特定方式对数据包组件集进行散列,以给客户端指纹赋予某些属性。客户端指纹的一个属性可以是可在客户端指纹内区分来自数据包组件集的每一个数据包组件,使得可独立地利用客户端指纹的子部分。例如,客户端指纹的客户端密码套件列表可不同于在相同客户端指纹上的客户端支持的应用协议列表。客户端指纹的另一属性可以是能够比较有序客户端指纹和无序客户端指纹。客户端指纹可彼此比较,并确定内容“相同”但是内容的顺序不同。在一个变型中,客户端指纹可以是数据模型,其中,存在两个或更多个字段。这些字段可以以多种方式配置。在一些变型中,字段可基于数据包组件内容(例如,针对客户端问候消息的特定属性呈现的值)和数据包组件顺序(例如,针对客户端问候消息的特定属性呈现元素列表的顺序)。可给一个或多个不同的数据包组件指定内容属性和/或顺序属性。例如,两个客户端可在其密码套件列表中包含相同的密码套件,但是对于每个客户端,密码套件的偏好顺序不同。这些区别可根据两个客户端指纹的比较来确定。可对整个客户端指纹实现这种对客户端指纹的分析。另外,该分析可针对任何一个或一些客户端指纹子部分来实现。
包括分配客户端类型的方框S140,用于根据客户端指纹划分客户端。分配客户端类型将优选地将客户端类型分配给相关联的客户端的网络流量。优选地,分配客户端类型至少部分地基于客户端指纹来执行。在分配客户端类型时可使用各种方法。可基于识别与客户端指纹相关联的分类、通过基于客户端指纹的可区分的特征和/或属性的组合来分配分类、和/或通过检测客户端指纹的出现模式、和/或其他合适的方法来确定客户端类型。
如上所讨论的,方法可涉及构建可用于针对给定的客户端指纹分配客户端类型的客户端类型分类数据资源。在一些变型中,通过数据的收集来构建这样的数据资源。在一些变型中,已提供这样的数据资源。可使用所确定的映射在客户端指纹和更高级别客户端属性(例如,IOS用户)之间建立分类。例如,可通过对网络流量的初始监视来创建和形成客户端指纹和客户端分类的映射,然后对新的客户端指纹持续地维护和更新。另外或替代地,分类可以是“学习的”(例如通过机器学习或相关分析)。网络流量的其他特征如应用层流量(例如HTTPS流量)、应用特定的动作(例如,具有应用的客户端行为的类型)等可用于对客户端指纹进行分类。例如,在检测到多个客户端执行欺诈性动作之后,可将多个客户端的相应客户端指纹(如果在多个客户端之间共用的话)分类为欺诈性动作者客户端。如果不能确定连接,则分配客户端类型S140可给出“未知”分类。可标记“未知”分类以用于后续监视或检查。如果人类或计算机系统稍后(正面地或负面地)标记客户端,则该数据可用于通知类似的或匹配的客户端指纹的客户端类型的后续分配。
在涉及识别与客户端指纹相关联的分类的一个变型中,客户端指纹可用于查询或检查客户端类型分类数据资源。在一个变型中,这可包括使用客户端指纹作为数据资源(例如,数据库)的查询或索引,从客户端类型分类数据资源中选择客户端类型。客户端类型分类数据资源可以是将客户端指纹映射到客户端类型的分类的数据库。在客户端指纹是字符编码的变型中,客户端指纹可用作用于查询数据库的索引。如果该客户端指纹具有现有的分类,则查询索引将产生客户端类型的分类。
作为另一变型,分配客户端类型可包括基于客户端指纹的可区分的特征和/或属性的组合来分配分类。分配客户端类型可包括对客户端进行分类(分类成一个或多个分类)、对客户端进行评分(例如,有效性评级)、对与客户端指纹相关联的客户端属性进行标记、和/或以任何合适的方式表征。当客户端指纹是表示与客户端类型相关的各种属性或信号的数据模型时,优选地使用该变型。在一个优选变型中,分配客户端类型S140可包括给客户端赋予分类。
另外,对客户端类型进行分类可分配多个分类和/或分数。分类可重叠(例如,浏览器类型:Chrome和操作系统:iOS)、可以是子类型(例如,操作系统:安卓(Android),安卓版本:9.0)和/或用作补充客户端类型(例如,每个指纹子部分的数字分数)。在其他实施例中,可在多个层中进行属性的散列,其中在特定层的任何子指纹不同的情况下,总体指纹有所不同。应注意,客户端流量可有利地基于总体指纹或基于特定层处的指纹或基于特定子指纹来聚合。
另外,分配客户端类型S140可包括客户端指纹的多级内省,其用于通过各个问候客户端数据包组件的相似性来分配客户端类型。如上所讨论的,客户端指纹的一些变型可保存每个数据包组件的编码。如果高级别客户端指纹(例如,所有组件中的编码因子)不满足直接映射到客户端类型,则可执行单独的组件级分析。
给客户端赋予分类可包括将流量管理分类分配给客户端S142。流量管理分类用于通知主机或过滤服务提供商如何管理客户端。因此,分配流量管理分类S142可标记客户端以过滤客户端流量。分配流量管理分类S142优选地将至少一个流量管理分类分配给客户端。在一些变型中,对客户端指纹识别的客户端类型可包含用作流量管理分类的信息,换句话说,客户端类型可以足够或用作流量管理的指示符。
一个优选的流量管理分类是黑名单。将黑名单分类分配给客户端可表明应阻止所有客户端流量。可维护黑名单客户端指纹的数据库或列表,并用于将黑名单客户端类型直接分配给客户端指纹。另一优选的流量管理分类是白名单。分配白名单分类可表明所有客户流量应保持不受限制。另一优选的流量管理分类是“未知”。可类似地维护白名单客户端指纹的数据库或列表,并用于将白名单客户端类型分配给客户端指纹。将未知分类分配给客户端可表明客户端指纹的识别度不足以与任何其他流量管理分类匹配。
可以按需实现另外的和/或替代的流量管理分类。另外的分类的示例可包括:可疑客户端(例如,表明应监视客户端流量)、机器人客户端(例如,表明客户端不是人且主机应相应地行动)、有限的访问客户端(例如,表明应限制客户端流量或者限制访问)。流量管理分类可由主机具体实现。例如,可对银行服务器实现客户用户分类。客户用户标志可表明银行服务器应限制客户端可进行的交易的数量和/或限制客户端可访问的银行数据,和/或限制客户端流量。
在一个变型中,分配客户端类型可包括将客户端指纹与客户端呈现的客户端类型进行比较。另外或替代地,这可包括将所分配的客户端类型与客户端呈现的客户端类型进行比较。这些变化用于评估客户端是否在其他通信中诚实地宣布客户端的类型。客户端呈现的客户端类型可以是在HTTP/S通信期间使用的用户代理报头值,但是替代地可以是客户端声称其所属的客户端设备类型的任何合适的通信。在一些情况下,用户代理的类型可以与一个或多个期望的客户端指纹相关联。如果基于所呈现的用户代理,客户端指纹不匹配预期客户端指纹中的一个客户端指纹,则这可表明a)用户代理中的变化引入了新的客户端指纹,或者b)客户端通过声称虚假用户代理而欺诈地动作。在a)情况下,可监视或选择新的客户端指纹以用于标记。在b)情况下,这可有助于将客户端类型分类为监视或标记可能的非法行为的类型。客户端指纹和/或客户端类型与客户端呈现的客户端类型的比较可用于更新或调整客户端类型的分配。例如,如果比较指示存在不匹配,则可将客户端类型设置为这样的指示(例如,可能是机器人)。客户端指纹和/或客户端类型与客户端呈现的客户端类型的比较可另外或可替代地用于更新或调整客户端类型分类数据资源,从而可用于改变后续客户端指纹的客户端类型的分配。
方法可进一步包括过滤客户端流量S150。过滤客户端流量S150用于基于客户端的流量管理分类来管理客户端流量。过滤客户端流量优选地包括过滤来自客户端的网络流量。过滤客户端流量S150优选地根据流量管理分类的建议来管理客户端流量(例如,阻止黑名单分类的客户端流量,而不妨碍白名单分类的客户端流量)。具体地,由于客户端类型指示一些问题,因此过滤客户端的网络流量将包括限制和/或阻止来自客户端的网络流量。另外或替代地,过滤客户端的网络流量可包括明确地允许来自客户端的网络流量(其中,默认情况下,可拒绝或限制网络流量)。可基于客户端类型和/或客户端指纹的黑名单和/或白名单来执行网络流量的过滤。替代地,过滤客户端流量S150可不同于流量管理建议来管理客户端流量。对于先前的银行示例,过滤客户用户客户端的客户端流量S150可取决于时间,且银行服务器可在非高峰活动时间内不限制客户端流量活动。可应用任何合适的流量实施策略。
4.系统架构
实施例的系统和方法可至少部分地实施和/或实现为机器,该机器配置为接收存储计算机可读指令的计算机可读介质。指令可由与用户计算机或移动设备、腕带、智能手机的应用程序、小程序、主机、服务器、网络、网站、通信服务、通信接口、硬件/固件/软件元件或其任何合适的组合集成的计算机可执行组件来执行。实施例的其他系统和方法可至少部分地实施和/或实现为机器,该机器配置为接收存储计算机可读指令的计算机可读介质。指令可由与上述类型的设备和网络集成的计算机可执行组件来执行。计算机可读介质可存储在任何合适的计算机可读媒介上,例如,RAM、ROM、闪存、EEPROM、光学设备(CD或DVD)、硬盘驱动器、软盘驱动器或任何合适的设备。计算机可执行组件可以是处理器,但是任何合适的专用硬件设备可(替代地或另外)执行指令。
在一个变型中,系统包括一个或多个非暂时性计算机可读介质,非暂时性计算机可读介质存储有指令,指令在由一个或多个计算机处理器执行时,使得计算平台执行包括本文描述的系统或方法的那些操作的操作,例如:接收客户端数据包;从客户端数据包中提取数据包组件集;从数据包组件集中生成客户端指纹;使用客户端指纹来分配客户端类型;可选地至少部分地基于客户端类型来过滤网络流量。
图11是系统的一个实现方式的示例性计算机架构图。在一些实现方式中,系统在通过通信信道和/或网络进行通信的多个设备中实现。在一些实现方式中,系统的元件在单独的计算设备中实现。在一些实现方式中,两个或更多个系统元件在相同设备中实现。系统和系统的多个部分可集成到计算设备或系统中,计算设备或系统可用作系统或在系统内。
通信信道1001连接处理器1002A-1202N、存储器(例如,随机存取存储器(RAM))1003、只读存储器(ROM)1004、处理器可读存储介质1005、显示设备1006、用户输入设备1007和网络设备1008。如图所示,计算机基础设施可用于连接网络接口1101、数据包分析器1102、客户端类型分类数据资源1103、过滤器策略引擎和/或其他合适的计算设备。
处理器1002A-1002N可采取多种形式,如CPU(中央处理单元)、GPU(图形处理单元)、微处理器、ML/DL(机器学习/深度学习)处理单元(例如张量处理单元)、FPGA(现场可编程门阵列)、定制处理器和/或任何合适类型的处理器。
处理器1002A-1002N和主存储器1003(或某些子组合)可形成处理单元1010。在一些实施例中,处理单元包括通信地耦合到RAM、ROM和机器可读存储介质中的一个或多个的一个或多个处理器;处理单元的一个或多个处理器经由总线接收由RAM、ROM和机器可读存储介质中的一个或多个存储的指令;以及一个或多个处理器执行所接收的指令。在一些实施例中,处理单元是ASIC(专用集成电路)。在一些实施例中,处理单元是SoC(片上系统)。在一些实施例中,处理单元包括系统的一个或多个元件。
网络设备1008可提供一个或多个有线或无线接口,用于在系统和/或其他设备(例如外部系统的设备)之间交换数据和命令。这种有线和无线接口包括例如通用串行总线(USB)接口、蓝牙接口、WI-FI接口、以太网接口、近场通信(NFC)接口等。
包括针对软件程序(例如,操作系统、应用程序和设备驱动器)的配置的计算机和/或机器可读可执行指令,可从处理器可读存储介质1005、ROM 1004或任何其他数据存储系统存储在存储器1003中。
当由一个或多个计算机处理器执行时,相应的机器可执行指令可由(处理单元1010的)处理器1002A-1002N中的至少一个处理器经由通信信道1001来访问,然后由处理器1201A-1201N中的至少一个处理器执行。由软件程序创建或使用的数据、数据库、数据记录或其他存储形式的数据也可存储在存储器1003中,且这样的数据在软件程序的机器可执行指令的执行期间由处理器1002A-1002N中的至少一个处理器访问。
处理器可读存储介质1205是硬盘驱动器、闪存驱动器、DVD、CD、光盘、软盘、闪存、固态驱动器、ROM、EEPROM、电子电路、半导体存储器件等中的一种(或者两种或更多种的组合)。处理器可读存储介质1205可包括操作系统、软件程序、设备驱动器和/或其他合适的子系统或软件。
如本文所使用的,第一、第二、第三等用于表征和区分各种元件、组件、区域、层和/或部分。这些元件、部件、区域、层和/或部分不应受这些术语的限制。数值术语的使用可用于区分一个元件、组件、区域、层和/或部分与另一元件、组件、区域、层和/或部分。除非上下文清楚地指示,否则使用这样的数值术语并不意味着序列或顺序。这种数值参考可互换地使用,而不脱离本文的实施例和变型的教导。
正如本领域的技术人员从先前的详细描述以及从附图和权利要求中认识到的,可对本发明的实施例进行修改和改变,而不脱离如下权利要求中限定的本发明的范围。

Claims (22)

1.一种方法,包括:
从客户端设备的网络流量中接收客户端数据包;
从所述客户端数据包中提取数据包组件集;
从所述数据包组件集中生成客户端指纹;以及
使用所述客户端指纹将客户端类型分配给所述网络流量。
2.根据权利要求1所述的方法,其中,所述客户端数据包是在加密协议期间的协商期间过程中的客户端问候消息。
3.根据权利要求2所述的方法,其中,所述加密协议是传输层安全TLS协议。
4.根据权利要求2所述的方法,所述方法进一步包括:至少部分地基于所述客户端类型来过滤所述客户端设备的所述网络流量。
5.根据权利要求4所述的方法,其中,所述使用所述客户端指纹将客户端类型分配给所述网络流量包括:从将多个客户端指纹映射到客户端类型的分类的数据库中选择所述客户端类型。
6.根据权利要求4所述的方法,其中,所述提取数据包组件集包括:从来自所述客户端问候消息的客户端密码套件列表和压缩方法列表中提取标识数据;以及其中,所述生成客户端指纹包括:对所述数据包组件集进行编码,以编码成作为字符表示形式的所述客户端指纹,其中,对所述数据包组件集进行编码包括:至少对所述客户端密码套件列表进行散列和对所述压缩方法列表进行散列。
7.根据权利要求4所述的方法,其中,所述过滤所述网络流量进一步包括:由于所述客户端类型而限制来自客户端的网络流量。
8.根据权利要求2所述的方法,其中,所述生成客户端指纹进一步包括:对所述数据包组件集进行编码,以编码成作为字符表示形式的所述客户端指纹。
9.根据权利要求8所述的方法,其中,所述对所述数据包组件集进行编码,以编码成作为字符表示形式的所述客户端指纹包括:将散列操作单独应用于所述数据包组件集中的每一个数据包组件,以生成散列的数据包组件集;以及将散列操作应用于所述散列的数据包组件集,以生成所述客户端指纹。
10.根据权利要求8所述的方法,其中,所述提取数据包组件集进一步包括:从来自所述客户端问候消息的客户端密码套件列表中提取标识数据;以及其中,所述对所述数据包组件集进行编码进一步包括:至少对所述客户端密码套件列表进行散列。
11.根据权利要求8所述的方法,其中,所述提取数据包组件集进一步包括:从来自所述客户端问候消息的压缩方法列表中提取标识数据;以及其中,所述对所述数据包组件集进行编码进一步包括:至少对所述压缩方法列表进行散列。
12.根据权利要求8所述的方法,其中,所述提取数据包组件集进一步包括:从来自所述客户端问候消息的客户端点格式中提取标识数据;以及其中,所述对所述数据包组件集进行编码进一步包括:至少对所述客户点格式进行散列。
13.根据权利要求8所述的方法,其中,所述提取数据包组件集进一步包括:从来自所述客户端问候消息的支持的应用协议列表中提取标识数据;以及其中,所述对所述数据包组件集进行编码进一步包括:至少对所述支持的应用协议列表进行散列。
14.根据权利要求8所述的方法,其中,所述提取数据包组件集进一步包括:从来自所述客户端问候消息的客户端支持的扩展列表中提取标识数据;以及其中,所述对所述数据包组件集进行编码进一步包括:至少对所述客户端支持的扩展列表的形成进行散列。
15.一种非暂时性计算机可读介质,所述非暂时性计算机可读介质存储有指令,所述指令在由通信平台的一个或多个计算机处理器运行时,使得所述通信平台执行包括以下操作的操作:
从客户端设备的网络流量中接收客户端数据包;
从所述客户端数据包中提取数据包组件集;
从所述数据包组件集中生成客户端指纹;以及
使用所述客户端指纹将客户端类型分配给所述网络流量。
16.根据权利要求15所述的非暂时性计算机可读介质,其中,所述客户端数据包是在传输层安全TLS协议期间的协商过程中接收的客户端问候消息。
17.根据权利要求16所述的非暂时性计算机可读介质,其中,所述提取数据包组件集包括:从来自所述客户端问候消息的客户端密码套件列表和压缩方法列表中提取标识数据;其中,所述生成客户端指纹包括:对所述数据包组件集进行编码,以编码成作为字符表示形式的所述客户端指纹;其中,对所述数据包组件集进行编码包括:至少对所述客户端密码套件列表进行散列和对所述压缩方法列表进行散列;以及其中,所述使用所述客户端指纹将客户端类型分配给所述网络流量包括:从将多个客户端指纹映射到客户端类型的分类的数据库中选择所述客户端类型;以及所述操作进一步包括:至少部分地基于所述客户端类型来过滤所述客户端设备的所述网络流量。
18.根据权利要求17所述的非暂时性计算机可读介质,其中,所述提取数据包组件集包括:从来自所述客户端问候消息的所述客户端点格式、所述支持的应用协议列表和所述客户端支持的扩展列表中提取标识数据;其中,对所述数据包组件集进行编码包括:至少对所述客户端点格式进行散列;对所述支持的应用协议列表进行散列;以及对所述客户端支持的扩展列表进行散列。
19.一种系统,包括:
网络流量数据接口,能够访问来自客户端设备的网络流量的客户端数据包;以及
数据包分析器,从所述网络流量数据接口接收所述客户端数据包,并包括一个或多个计算机可读介质,所述一个或多个计算机可读介质存储有指令,所述指令在由所述一个或多个计算机处理器运行时,使得计算平台:
从所述客户端数据包中提取数据包组件集;
从所述数据包组件集中生成客户端指纹;以及
使用所述客户端指纹将客户端类型分配给所述网络流量。
20.根据权利要求18所述的系统,其中,所述客户端数据包是在传输层安全TLS协议期间的协商过程中接收的客户端问候消息。
21.根据权利要求19所述的系统,其中,提取数据包组件集的指令包括:从来自所述客户端问候消息的客户端密码套件列表和压缩方法列表中提取标识数据的指令;其中,生成客户端指纹的指令包括:对所述数据包组件集进行编码,以编码成作为字符表示形式的所述客户端指纹的指令;其中,对所述数据包组件集进行编码的指令包括:至少对所述客户端密码套件列表进行散列和对所述压缩方法列表进行散列的指令;以及其中,使用所述客户端指纹将客户端类型分配给网络流量的指令包括:从将多个客户端指纹映射到客户端类型的分类的数据库中选择所述客户端类型的指令;以及所述指令进一步包括:至少部分地基于所述客户端类型来过滤所述客户端设备的所述网络流量的指令。
22.根据权利要求20所述的系统,其中,提取数据包组件集的指令包括:从来自所述客户端问候消息的所述客户端点格式、所述支持的应用协议列表和所述客户端支持的扩展列表中提取标识数据的指令;其中,对所述数据包组件集进行编码的指令至少包括:对所述客户端点格式进行散列的指令;对所述支持的应用协议列表进行散列的指令;以及对所述客户端支持的扩展列表进行散列的指令。
CN201980092145.XA 2018-12-28 2019-12-30 通过客户端指纹过滤互联网流量的系统和方法 Active CN113574838B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311698985.5A CN117714132A (zh) 2018-12-28 2019-12-30 通过客户端指纹过滤互联网流量的系统和方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862785703P 2018-12-28 2018-12-28
US62/785,703 2018-12-28
PCT/US2019/068944 WO2020140114A1 (en) 2018-12-28 2019-12-30 System and method of filtering internet traffic via a client fingerprint

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311698985.5A Division CN117714132A (zh) 2018-12-28 2019-12-30 通过客户端指纹过滤互联网流量的系统和方法

Publications (2)

Publication Number Publication Date
CN113574838A true CN113574838A (zh) 2021-10-29
CN113574838B CN113574838B (zh) 2024-01-05

Family

ID=71124479

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201980092145.XA Active CN113574838B (zh) 2018-12-28 2019-12-30 通过客户端指纹过滤互联网流量的系统和方法
CN202311698985.5A Pending CN117714132A (zh) 2018-12-28 2019-12-30 通过客户端指纹过滤互联网流量的系统和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202311698985.5A Pending CN117714132A (zh) 2018-12-28 2019-12-30 通过客户端指纹过滤互联网流量的系统和方法

Country Status (7)

Country Link
US (3) US11310053B2 (zh)
EP (1) EP3903209A4 (zh)
JP (1) JP2022516861A (zh)
CN (2) CN113574838B (zh)
AU (1) AU2019413702A1 (zh)
CA (1) CA3125196A1 (zh)
WO (1) WO2020140114A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338600A (zh) * 2021-12-28 2022-04-12 深信服科技股份有限公司 一种设备指纹的推选方法、装置、电子设备和介质
CN116894011A (zh) * 2023-07-17 2023-10-17 上海螣龙科技有限公司 多维度智能化指纹库及多维度智能化指纹库设计和查询方法

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732004B1 (en) 2004-09-22 2014-05-20 Experian Information Solutions, Inc. Automated analysis of data to generate prospect notifications based on trigger events
US7711636B2 (en) 2006-03-10 2010-05-04 Experian Information Solutions, Inc. Systems and methods for analyzing data
US8285656B1 (en) 2007-03-30 2012-10-09 Consumerinfo.Com, Inc. Systems and methods for data verification
US9690820B1 (en) 2007-09-27 2017-06-27 Experian Information Solutions, Inc. Database system for triggering event notifications based on updates to database records
US9990674B1 (en) 2007-12-14 2018-06-05 Consumerinfo.Com, Inc. Card registry systems and methods
US8312033B1 (en) 2008-06-26 2012-11-13 Experian Marketing Solutions, Inc. Systems and methods for providing an integrated identifier
US20100174638A1 (en) 2009-01-06 2010-07-08 ConsumerInfo.com Report existence monitoring
US9558519B1 (en) 2011-04-29 2017-01-31 Consumerinfo.Com, Inc. Exposing reporting cycle information
US9483606B1 (en) 2011-07-08 2016-11-01 Consumerinfo.Com, Inc. Lifescore
US9106691B1 (en) 2011-09-16 2015-08-11 Consumerinfo.Com, Inc. Systems and methods of identity protection and management
US8738516B1 (en) 2011-10-13 2014-05-27 Consumerinfo.Com, Inc. Debt services candidate locator
US9853959B1 (en) 2012-05-07 2017-12-26 Consumerinfo.Com, Inc. Storage and maintenance of personal data
US9654541B1 (en) 2012-11-12 2017-05-16 Consumerinfo.Com, Inc. Aggregating user web browsing data
US9916621B1 (en) 2012-11-30 2018-03-13 Consumerinfo.Com, Inc. Presentation of credit score factors
US9406085B1 (en) 2013-03-14 2016-08-02 Consumerinfo.Com, Inc. System and methods for credit dispute processing, resolution, and reporting
US10102570B1 (en) 2013-03-14 2018-10-16 Consumerinfo.Com, Inc. Account vulnerability alerts
US9477737B1 (en) 2013-11-20 2016-10-25 Consumerinfo.Com, Inc. Systems and user interfaces for dynamic access of multiple remote databases and synchronization of data based on user rules
US10262362B1 (en) 2014-02-14 2019-04-16 Experian Information Solutions, Inc. Automatic generation of code for attributes
US11410230B1 (en) 2015-11-17 2022-08-09 Consumerinfo.Com, Inc. Realtime access and control of secure regulated data
US10757154B1 (en) 2015-11-24 2020-08-25 Experian Information Solutions, Inc. Real-time event-based notification system
US11227001B2 (en) 2017-01-31 2022-01-18 Experian Information Solutions, Inc. Massive scale heterogeneous data ingestion and user resolution
US20200074541A1 (en) 2018-09-05 2020-03-05 Consumerinfo.Com, Inc. Generation of data structures based on categories of matched data items
US10963434B1 (en) 2018-09-07 2021-03-30 Experian Information Solutions, Inc. Data architecture for supporting multiple search models
US11315179B1 (en) 2018-11-16 2022-04-26 Consumerinfo.Com, Inc. Methods and apparatuses for customized card recommendations
AU2019413702A1 (en) 2018-12-28 2021-07-22 Plaid Inc. System and method of filtering internet traffic via a client fingerprint
US11190521B2 (en) * 2019-01-18 2021-11-30 Vmware, Inc. TLS policy enforcement at a tunnel gateway
US11238656B1 (en) 2019-02-22 2022-02-01 Consumerinfo.Com, Inc. System and method for an augmented reality experience via an artificial intelligence bot
US11516253B1 (en) * 2019-03-28 2022-11-29 Amazon Technologies, Inc. Identity-aware filtering proxy for virtual networks
US11785046B1 (en) * 2019-05-21 2023-10-10 Plaid Inc. System and method for maintaining internet anonymity via client fingerprint
US11444878B2 (en) * 2019-09-04 2022-09-13 Yahoo Ad Tech Llc Intelligent dataflow-based service discovery and analysis
US11941065B1 (en) 2019-09-13 2024-03-26 Experian Information Solutions, Inc. Single identifier platform for storing entity data
US11528276B2 (en) * 2020-04-16 2022-12-13 Bank Of America Corporation System for prevention of unauthorized access using authorized environment hash outputs
CN112733689B (zh) * 2020-12-31 2024-03-26 网络通信与安全紫金山实验室 一种https终端类型分类方法及装置
US11880377B1 (en) 2021-03-26 2024-01-23 Experian Information Solutions, Inc. Systems and methods for entity resolution
US11593247B2 (en) * 2021-06-03 2023-02-28 Red Hat, Inc. System performance evaluation and enhancement in a software-defined system
CN113612777B (zh) * 2021-08-04 2023-07-11 百度在线网络技术(北京)有限公司 训练方法、流量分级方法、装置、电子设备以及存储介质
US11750493B2 (en) * 2021-11-12 2023-09-05 Netscout Systems, Inc. Correlating captured packets with synthetic application testing

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428041A (zh) * 2012-05-22 2013-12-04 同方股份有限公司 一种基于云的端到端流量内容检测系统和检测方法
US20150350209A1 (en) * 2014-05-30 2015-12-03 Canon Kabushiki Kaisha Authority delegation system, method, authentication server system, and storage medium therefor
CN106209775A (zh) * 2016-06-24 2016-12-07 深圳信息职业技术学院 一种ssl加密网络流的应用类型识别方法与装置
US20180324153A1 (en) * 2017-05-08 2018-11-08 Salesforce.Com, Inc. Client fingerprinting for information system security

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080022374A1 (en) 2006-06-29 2008-01-24 Research In Motion Limited System and method for securely communicating with a server
WO2013188875A1 (en) 2012-06-15 2013-12-19 Massachusetts Institute Of Technology Optimized transport layer security
US9148446B2 (en) 2013-05-07 2015-09-29 Imperva, Inc. Selective modification of encrypted application layer data in a transparent security gateway
US9780952B1 (en) 2014-12-12 2017-10-03 Amazon Technologies, Inc. Binding digitally signed requests to sessions
US10298404B1 (en) 2014-12-12 2019-05-21 Amazon Technologies, Inc. Certificate echoing for session security
GB2542175B (en) 2015-09-10 2019-12-04 Openwave Mobility Inc Intermediate network entity
US10735382B2 (en) * 2016-01-29 2020-08-04 Zenedge, Inc. Detecting human activity to mitigate attacks on a host
US10841222B2 (en) * 2016-07-05 2020-11-17 Ologn Technologies Ag Systems, apparatuses and methods for network packet management
US10812468B2 (en) 2017-12-07 2020-10-20 Sonicwall Inc. Dynamic bypass
AU2019413702A1 (en) 2018-12-28 2021-07-22 Plaid Inc. System and method of filtering internet traffic via a client fingerprint

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428041A (zh) * 2012-05-22 2013-12-04 同方股份有限公司 一种基于云的端到端流量内容检测系统和检测方法
US20150350209A1 (en) * 2014-05-30 2015-12-03 Canon Kabushiki Kaisha Authority delegation system, method, authentication server system, and storage medium therefor
CN106209775A (zh) * 2016-06-24 2016-12-07 深圳信息职业技术学院 一种ssl加密网络流的应用类型识别方法与装置
US20180324153A1 (en) * 2017-05-08 2018-11-08 Salesforce.Com, Inc. Client fingerprinting for information system security

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338600A (zh) * 2021-12-28 2022-04-12 深信服科技股份有限公司 一种设备指纹的推选方法、装置、电子设备和介质
CN114338600B (zh) * 2021-12-28 2023-09-05 深信服科技股份有限公司 一种设备指纹的推选方法、装置、电子设备和介质
CN116894011A (zh) * 2023-07-17 2023-10-17 上海螣龙科技有限公司 多维度智能化指纹库及多维度智能化指纹库设计和查询方法

Also Published As

Publication number Publication date
US11750606B2 (en) 2023-09-05
CA3125196A1 (en) 2020-07-02
WO2020140114A1 (en) 2020-07-02
EP3903209A1 (en) 2021-11-03
US20230403275A1 (en) 2023-12-14
AU2019413702A1 (en) 2021-07-22
CN117714132A (zh) 2024-03-15
JP2022516861A (ja) 2022-03-03
CN113574838B (zh) 2024-01-05
US11310053B2 (en) 2022-04-19
US20220191036A1 (en) 2022-06-16
EP3903209A4 (en) 2022-08-31
US20200213206A1 (en) 2020-07-02

Similar Documents

Publication Publication Date Title
CN113574838B (zh) 通过客户端指纹过滤互联网流量的系统和方法
JP6476339B2 (ja) クラウド・コンピューティング・サービス(ccs)上に保存された企業情報をモニター、コントロール、及び、ドキュメント当たりの暗号化を行うシステム及び方法
US20220014556A1 (en) Cybersecurity profiling and rating using active and passive external reconnaissance
JP7073343B2 (ja) 難読化されたウェブサイトコンテンツ内のセキュリティ脆弱性及び侵入検出及び修復
US11582040B2 (en) Permissions from entities to access information
US20200012785A1 (en) Self-adaptive application programming interface level security monitoring
US20190163925A1 (en) System and method for monitoring and verifying software behavior
US11381598B2 (en) Phishing detection using certificates associated with uniform resource locators
US11671448B2 (en) Phishing detection using uniform resource locators
WO2019088985A1 (en) Data security hub
US12021894B2 (en) Phishing detection based on modeling of web page content
US20210360032A1 (en) Cybersecurity risk analysis and anomaly detection using active and passive external reconnaissance
CN117251850A (zh) 智能数据共享与监控方法及系统
US9239936B2 (en) System, method, and apparatus to mitigaterisk of compromised privacy
CN116776390A (zh) 一种数据泄漏行为的监测方法、装置、存储介质及设备
US11470114B2 (en) Malware and phishing detection and mediation platform
US11785046B1 (en) System and method for maintaining internet anonymity via client fingerprint
US20240195841A1 (en) System and method for manipulation of secure data
Mnasri A new secure architecture for the access control of resources in IoT networks
Zhang et al. Detecting ShadowsocksR User Based on Intelligence of Cyber Entities
Ashutosh et al. Detecting Malicious Apps on OSN Facebook Walls
CN118157896A (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