使用全球设备指纹识别的攻击检测和防止的制作方法

文档序号:7799063阅读:145来源:国知局
使用全球设备指纹识别的攻击检测和防止的制作方法
【专利摘要】本公开内容描述了利用设备指纹识别来唯一地识别设备的全球攻击者数据库。例如,一种设备包括一个或多个处理器和网络接口卡,该一个或多个网络接口卡接收指向由该设备所保护的一个或多个计算设备的网络业务;向远程设备发送对该远程设备的多个数据点的请求,其中这些数据点包括与该远程设备相关联的特性;以及接收所请求的多个数据点的至少一部分。该设备还包括指纹模块,该指纹模块将这些数据点的所接收部分和与已知攻击者设备相关联的数据点的集合相比较;并且基于该比较,确定第一已知攻击者设备的数据点的第一集合是否满足相似度阈值。该设备还包括安全模块,该安全模块基于该确定来选择性地管理指向这些计算设备的附加网络业务。
【专利说明】使用全球设备指纹识别的攻击检测和防止

【技术领域】
[0001]本公开内容涉及计算系统,并且更具体地涉及计算系统攻击检测和防止。

【背景技术】
[0002]网络攻击的数量和复杂性正逐渐增加,特别是针对经营高价值业务的web应用和服务器的那些网络攻击。不安全的应用和服务器能够导致顾客损失、金融损失、名誉损害以及法律冲突。在阻挡来自一组黑客的网络攻击的尝试中,例如,公司可以识别与黑客相关联的互联网协议(IP)地址,并且阻挡通过所识别的IP地址连接该公司的服务器的任何尝试。然而,IP地址不是追踪攻击者身份的可靠方法。攻击者可以使用代理服务器、网络地址转换服务器、或者其他机制来隐藏和/或改变如下的IP地址:该攻击者正在从这些IP地址攻击该公司。


【发明内容】

[0003]一般性地,本公开内容描述了用于使用全球攻击者数据库的技术,该数据库利用设备指纹识别来唯一识别被用来攻击公司的数据中心或其他计算机系统的设备。本公开内容的技术使得公司能够具有对攻击设备的知识而不只是它们的IP地址,并且使得该知识能够跨越数据中心快速地散布并且散布到安全服务中,该安全服务能够在由一个或多个组织所使用的云数据中心中被托管。安全设备可以被配置为检测攻击,并且生成每个攻击设备的指纹。该指纹可以包括关于攻击者设备的信息,即使该攻击者设备改变其IP地址、隐藏到代理之后、使用其他匿名化服务、或者以其他方式尝试混淆该攻击者设备的标识,该信息唯一地或者几乎唯一地识别该攻击者设备。一旦生成该指纹,这些安全设备可以将该指纹发送给该安全服务。
[0004]安全服务可以在该安全设备处本地地被实施,或者在云计算系统中被实施。通过在云计算系统中实施该安全服务,该安全服务可以使用全球数据库从多个不同的公司聚集关于攻击者设备的信息(包括指纹),以提供针对攻击者和威胁信息的整合点(consolidat1n point)。该安全服务可以然后将所了解的攻击者设备信息传播到网络中的其他安全设备。以这种方式,攻击者设备指纹的全球数据库可以被生成并且跨越安全设备被分发,从而即使这些攻击者设备之前从未攻击过由该特定安全设备所保护的资源,这些安全设备也能够识别并且减轻由攻击者设备所发起的攻击。
[0005]在一个不例中,一种方法包括:由安全设备从一个设备接收指向由该安全设备所保护的一个或多个计算设备的网络业务;响应于接收到该网络业务,由该安全设备向该设备发送对用于该设备的多个数据点的请求,其中这些数据点包括与该设备相关联的特性;并且由该安全设备从该设备接收所请求的多个数据点的至少一部分。该方法还可以包括:由该安全设备将所请求的多个数据点的所接收部分和与一个或多个已知攻击者设备相关联的数据点的相应集合相比较;基于该比较,确定与第一已知攻击者设备相关联的数据点的第一相应集合是否满足相似度阈值;并且基于该确定,选择性地管理指向由该安全设备所保护的该一个或多个计算设备并且从该设备所接收的附加网络业务。
[0006]在另一个示例中,一种设备包括:一个或多个处理器、一个或多个网络接口卡、指纹模块、以及安全模块。该一个或多个网络接口卡从远程设备接收指向由该设备所保护的一个或多个计算设备的网络业务;响应于接收到该网络业务,向该远程设备发送对该远程设备的多个数据点的请求,其中这些数据点包括与该远程设备相关联的特性;并且从该远程设备接收所请求的多个数据点的至少一部分。该指纹模块由该一个或多个处理器可操作为:将所请求的多个数据点的所接收部分和与一个或多个已知攻击者设备相关联的数据点的相应集合相比较;并且基于该比较,确定与第一已知攻击者设备相关联的数据点的第一相应集合是否满足相似度阈值。该安全模块由该一个或多个处理器可操作为:基于该确定,选择性地管理指向由该安全设备所保护的一个或多个计算设备并且从该设备所接收的附加网络业务。
[0007]在另一个示例中,采用指令对计算机可读存储介质编码。这些指令促使一个或多个可编程处理器:从一个设备接收指向由安全设备所保护的一个或多个计算设备的网络业务;响应于接收到该网络业务,向该设备发送对用于该设备的多个数据点的请求,其中这些数据点包括与该设备相关联的特性;并且从该设备接收所请求的多个数据点的至少一部分。这些指令进一步促使该一个或多个可编程处理器:将所请求的多个数据点的所接收部分和与一个或多个已知攻击者设备相关联的数据点的相应集合相比较;基于该比较,确定与第一已知攻击者设备相关联的数据点的第一相应集合是否满足相似度阈值;并且基于该确定,选择性地管理指向由该安全设备所保护的一个或多个计算设备并且从该设备所接收的附加网络业务。
[0008]在另一个示例中,一种方法包括:利用安全系统从多个安全设备中的第一安全设备接收与一个设备相关联的设备指纹信息;利用该安全系统并且基于所接收的设备指纹信息,确定该设备是否是已知攻击者设备;并且响应于确定该设备是已知攻击者设备,由该安全系统将该设备指纹信息发送给该多个安全设备中的其他安全设备。
[0009]在附图和下文的描述中阐述了一个或多个实施例的细节。从该描述和附图以及从权利要求,其他特征、目的、以及优点将是明显的。

【专利附图】

【附图说明】
[0010]图1是根据本公开内容的一个或多个方面的图示了示例全球设备指纹网络系统的框图。
[0011]图2是根据本公开内容的一个或多个方面的图示了用于对攻击者设备指纹识别的示例安全设备的框图。
[0012]图3是根据本公开内容的一个或多个方面的图示了用于整合攻击者设备指纹的示例安全服务服务器的框图。
[0013]图4是根据本公开内容的一个或多个方面的图示了用于对攻击者设备指纹识别的示例过程的流程图。
[0014]图5是图示了用于利用中央安全服务来维护全球设备指纹识别的示例过程的流程图。

【具体实施方式】
[0015]图1是根据本公开内容的一个或多个方面的图示了示例全球设备指纹识别网络系统2的框图。如图1中所示出的,网络系统2包括攻击者设备10、代理服务器12、目标网络14A-14B、以及安全服务16。攻击者设备10是可以被用来攻击目标网络或数据中心的网络资源的计算设备的一个示例。在一些示例中,攻击者设备10是移动计算系统、膝上计算系统、台式计算系统、或者服务器计算系统,或者可以包括多个计算设备。例如,攻击者设备10可以是攻击者对其具有控制的一组计算设备(例如,因为该攻击者先前劫持了那些计算设备)。在一些示例中,攻击者设备10是虚拟机或者由一个或多个计算设备所执行的软件应用(例如,web浏览器、攻击者工具、脚本等)。
[0016]攻击者设备10可能尝试直接地或者通过代理服务器(诸如代理服务器12)连接至目标网络14A、14B中的一个或多个目标网络。代理服务器12可以通过例如使得由攻击者设备10所生成的网络业务好像该网络业务在代理服务器12处起源,来混淆与攻击者设备10相关联的IP地址。通过混淆攻击者设备10的IP地址,典型的安全装置可能允许该攻击网络业务进入该目标网络,因为该攻击网络业务不再匹配先前被配置为阻挡来自攻击者设备10的网络业务的规则。相比之下,即使攻击者设备10利用代理服务器12用于网络攻击,根据本公开内容的技术所配置的安全设备20A、20B可以继续阻挡来自攻击者设备10的网络业务。
[0017]目标网络14A、14B (共同被称为“目标网络14”)中的每个目标网络可以包括用于提供web应用的一个或多个服务器(诸如应用服务器22A)以及安全设备(诸如安全设备20A)。每个目标网络14可以包括附加网络设备,诸如防火墙、路由器、交换器、服务节点等(未示出)。应用服务器22A和22B (共同被称为“应用服务器22”)是为用户提供web应用的web应用服务器的示例。在一些示例中,应用服务器22A可以被配置作为集群、作为分布式计算系统、或者作为其他冗余和/或负载平衡配置。安全设备20A、20B (共同被称为“安全设备20”)是被配置为通过例如识别并管理从攻击设备(例如,攻击者设备10)所接收的网络通信来保护应用服务器22不受攻击设备之害的网络设备。
[0018]在一个示例中,攻击者设备10向应用服务22A发送对内容的请求。对内容的该请求可以直接被发送给目标网络14A,或者通过代理服务器12来路由。直接被发送给目标网络14A的请求指的是不经过代理服务器(例如,代理服务器12)而被发送的请求,但是该请求可能传送经过诸如路由器、网关、防火墙等中间网络设备和/或经过中间网络,并且在它们没有通过代理服务器被发送的意义上,仍然被考虑为是直接地被发送给目标网络14A。在一些实例中,攻击者设备10可能将一些请求直接发送给目标网络14A,并且通过代理服务器12将其他请求发送给目标网络14A。
[0019]安全设备20A被配置为保护应用服务器22A,并且在网络路径中被定位于攻击者设备10与应用服务器22A之间。安全设备20A接收由攻击者设备10先前发送的请求,并且发起指纹构建过程。术语“指纹”指的是:当特定设备通过例如请求访问web应用、发起虚拟专用网络(VPN)会话、发起安全外壳连接等来尝试访问目标网络时,能够被捕获的关于该特定设备的多个数据点的组合。一般而言,针对特定设备所生成的指纹可以包括与关联于该设备的多个属性有关的数据点,该多个属性诸如用户代理、HTTP_ACCEPT头部、浏览器插件细节、该设备的时区、该设备的监测器的屏幕大小和色彩深度、所安装的系统字体、以及是否启用了 cookie。在一些示例中,指纹还包括与该设备的IP地址有关的数据点。
[0020]在一个示例中,为了生成攻击者设备10的指纹,安全设备20A可以初始地允许来自攻击者设备10的请求被发送给应用服务器22A。响应于确定应用服务器22A中的一个或多个应用服务器已经发送了对该请求的响应消息,安全设备20A可以拦截该响应消息,并且在所拦截的响应消息中注入代码。被注入的代码运行以请求来自攻击者设备10的数据点,诸如配置信息。在另一个示例中,安全设备20A拦截来自攻击者设备10的请求,并且向攻击者设备10发送响应而不允许来自攻击者设备10的请求到达应用服务器22A。在这个示例中,安全设备20A可以生成将包括在响应中的伪信息,以及请求攻击者设备10的配置信息的代码。在任一个示例中,攻击者设备10接收对该请求的响应,并且发送由安全设备20A所请求的数据点的至少一部分。
[0021]安全设备20A可以备选地或另外地分析并收集来自攻击者设备10所发送的请求的信息(例如,不注入代码,或者以其他方式请求来自攻击者设备10的特定信息)。安全设备20A还可以把从该请求中所收集的信息包括在安全设备20A为攻击者设备10生成的指纹中。安全设备20A通过例如收集用于每个数据点的所有不同值的列表而使得指纹包括用于每个特定数据点的值的列表(而不是仅仅用于所接收的多个值的数据点的单个数值),来从所有的所收集的信息生成该指纹。在一些示例中,安全设备20A将散列函数应用至每个数据点,以使这些数据点匿名化,从而这些数据点不包括任何个人信息,但是仍然可以被用来对设备指纹识别。如果安全设备20A不能收集用于所请求的数据点中的一个或多个数据点的值(例如,因为攻击者设备10在响应中没有包括这些值),则安全设备20A不将那些值包括在该指纹中。因此,用于不同设备的不同指纹可能包括数据点的不同集合。
[0022]在一些示例中,安全设备20A将所生成的指纹与被识别为攻击者设备指纹的先前所收集的指纹的本地存储的数据库相比较。如果安全设备20A确定在本地数据库中存在匹配,则安全设备20A可以通过例如发起抑制攻击者设备10攻击目标网络14A和应用服务器22A的能力的对策,来管理来自攻击者设备10的网络业务。这些对策可以包括:发送伪信息、丢弃从攻击者设备10所接收的网络分组、放慢网络连接、移除潜在有害的用户输入值、重定向网络分组、或者以其他方式防止从攻击者设备10所发送的网络分组到达目标网络14A的被保护资源(例如,应用服务器22A)。
[0023]备选地或者另外地,为了执行本地匹配过程,安全设备20A通过例如监测由攻击者设备10所生成的网络业务,以将攻击者设备10识别为攻击设备。该网络业务可以包括与被配置具有某些安全漏洞的伪Web应用的交互。通过监测攻击者设备10与该伪web应用之间的网络业务,安全设备20A能够检测攻击者设备10是否正尝试利用这些安全漏洞,并且如果是,则确定攻击者设备10是攻击设备,并且将攻击者设备10的指纹分类为与已知攻击者设备相关联。
[0024]安全设备20A将所生成的指纹发送给安全服务(例如,安全服务16)。安全设备20A可以向安全服务16发送附加信息,诸如安全设备20A的标识符以及指示了该指纹的本地匹配过程或本地攻击者确定过程是否与已知攻击者设备相关联的指示。
[0025]安全服务16可以包括多个安全服务服务器24,它们可以被配置为提供安全服务。例如,安全服务服务器24可以被配置为:管理全球设备指纹数据库的云数据中心内的集群或者分布式计算系统。安全服务服务器24从安全设备20A接收指纹信息,并且将该指纹与已知攻击者设备指纹的数据库相比较。例如,可以通过将散列函数应用至该指纹的一个或多个数据点或者应用至整个指纹,来执行该比较。
[0026]在一些情形下,即使当用于特定数据点的一个或多个数据点和/或数据值可能在两个指纹之间不同时,如术语“相匹配”在本文中被使用的,一个指纹也被考虑为与另一个指纹“相匹配”。也就是说,本公开内容的技术使得指纹的“模糊”匹配成为可能。术语“模糊”指的是数据点和/或数据值的不完全(例如,不相同)的匹配。每个指纹可以包括足够大数量的数据点,使得即使只有一部分数据点匹配先前被分类的指纹,安全服务16也确定这些指纹匹配而不返回有意义数量的误报(false positive)。也就是说,如果匹配过程返回足够高的匹配置信度值(例如,满足阈值置信度值,本文也称为相似度阈值或相似度的阈值级别),则安全服务16确定所接收的指纹有效地与对应于攻击者设备的先前所接收的指纹相匹配。在一些实例中,可以确定多于一个指纹来匹配所接收的指纹(例如,多于一个指纹满足该阈值置信度值)。在这些实例中,安全服务服务器24可以确定与所接收的指纹最相似的指纹是匹配指纹。
[0027]在一些示例中,可以基于如下的可能性来对每个不同的数据点不同地加权:被改变的值或数据点指示了与该指纹相关联的设备实际上与安全服务16先前所存储的攻击者设备指纹不同的可能性。例如,因为改变IP地址对黑客是容易的,所以IP地址数据点可能具有低权重,这指示了不匹配(mismatch)不太可能指示该指纹实际上与两个不同的设备相关联。相比之下,浏览器插件数据点可以具有更高的权重,因为更有可能的是特定设备上所安装的浏览器插件的组合是唯一的,这指示了浏览器插件数据点中的不匹配指示了这些指纹更有可能识别两个不同的设备。
[0028]响应于确定从安全设备20A所接收的指纹与已知攻击者指纹相匹配,安全服务16将安全设备20A与该已知攻击者设备相关联。作为一个不例,安全服务16将安全设备20A的标识符存储在攻击者指纹数据库中,并且还将安全设备20A的该标识符与该指纹相关联。以这种方式,安全服务16可以追踪哪些安全设备已经检测到被识别的攻击者设备的攻击。
[0029]如果在已知攻击者设备的数据库中未找到从安全设备20A所接收的指纹,则当安全设备20A指示该指纹与攻击者设备相关联(例如,基于上文所讨论的对网络业务的监测)时,安全设备16可以将该指纹添加到该数据库。攻击者数据库中用于该指纹的条目可以包括:用于该指纹的数据点和数据值以及用于攻击者设备10的全球标识符、用于攻击者设备10的全球名称、以及与攻击者设备10相关联的全球威胁信息,该全球威胁信息可以包括攻击者设备10所利用的攻击机制以及攻击的目标(例如,软件程序、端口等)。在其中该指纹是“模糊”匹配的实例中(例如,其中一个或多个数据点或数据点的数据值改变,但是该指纹仍然被确定是一个匹配),安全服务16可以更新用于该指纹的数据库条目,以包括被改变的值。
[0030]如果该指纹被添加到攻击者数据库,或者这些指纹数据点和/或数据值被更新,则安全服务16可以把被更新的攻击者数据库信息推送给其他安全设备,诸如安全设备20B。例如,如果安全设备20A确定攻击设备10是攻击者设备,并且将该指纹和相关信息发送给安全服务16,并且进而安全服务16确定攻击者设备10是新近被识别的攻击者设备,则安全服务16将用于攻击者设备10的该指纹、威胁信息、全球攻击者设备标识符等发送给安全设备20B。如果攻击者设备10稍后攻击目标网络14B (例如,经由代理服务器12),则安全设备20B被配置具有攻击者设备10的指纹,并且即使攻击者设备10的指纹的一个或多个数据点和/或数据值改变(例如,IP地址改变),安全设备20B也能够保护应用服务器22B不受攻击者设备10之害。
[0031]图2是根据本公开内容的一个或多个方面的图示了用于对攻击者设备指纹识别的示例安全设备20A的框图。图2仅图示了安全设备20A的一个特定示例,并且在其他实例中可以使用安全设备20A的许多其他示例。仅为了举例说明的目的,下文在图1的网络系统2的背景中描述安全设备20A。
[0032]如图2的特定示例中所示出的,安全设备20A可以提供用于可执行软件指令的执行环境。在这个示例中,安全设备20A包括一个或多个处理器30、一个或多个网络接口卡32、以及一个或多个存储设备34。组件30、32和34中的每个组件可以通过用于组件间通信的一个或多个通信信道而(物理地、通信地、和/或操作地)相互连接。在一些示例中,通信信道可以包括一个或多个系统总线、网络连接、进程间通信数据结构、或者用于通信数据的其他信道。
[0033]在一些示例中,(多个)处理器30被配置为实施功能和/或执行指令。例如,(多个)处理器30可以能够处理(多个)存储设备34中所存储的指令。(多个)处理器30的示例可以包括:微处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或者其他类型的分立或集成逻辑电路中的一个或多个。
[0034](多个)存储设备34可以被配置为存储用于在安全设备20A内使用的程序代码和/或数据。在图2的示例中,(多个)存储设备34可以存储软件组件,这些软件组件包括指纹模块36、指纹数据库38、安全模块40、以及操作系统42。在一些示例中,(多个)存储设备34被描述为计算机可读存储介质。在一些实例中,(多个)存储设备34包括暂时性存储器,意味着存储设备34的主要目的不是长期存储。在一些示例中,(多个)存储设备34包括易失性存储器,意味着在关掉安全设备20A时,(多个)存储设备34不维持所存储的内容。易失性存储器的示例可以包括:随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存储存储器(SRAM)、以及本领域已知的其他形式的易失性存储器。在一些示例中,(多个)存储设备34被用来存储用于由(多个)处理器30执行的程序指令。在一些示例中,安全设备20A上运行的程序或应用使用(多个)存储设备34,以在程序执行期间暂时存储信息。
[0035]在一些示例中,(多个)存储设备34包括一个或多个计算机可读存储介质。(多个)存储设备34可以被配置为比易失性存储器存储更大量的信息。(多个)存储设备34可以进一步被配置用于信息的长期存储。在一些示例中,(多个)存储设备34包括非易失性存储元件。这种非易失性存储元件的示例包括:磁硬盘、光盘、软盘、闪存、或者电可编程存储器(EPROM)或电可擦除且可编程(EEPROM)存储器的形式。
[0036]安全设备20A可以使用(多个)网络接口卡32经由一个或多个通信网络(诸如一个或多个无线网络)与外部设备通信。(多个)网络接口卡32可以包括:一个或多个以太网卡、光收发机、射频收发机、或者被配置为发送和接收信息的其他类型的设备。网络接口的其他示例可以包括:蓝牙无线电、3G无线电、和Wifi无线电、以及通用串行总线(USB)接口。在一些示例中,安全设备20A可以使用(多个)网络接口卡32与可操作地耦合至安全设备20A的另一个设备无线地通信。
[0037]操作系统42可以控制安全设备20A的组件的操作。例如,操作系统42可以促进指纹模块36、指纹数据库38以及安全模块40、以及处理器30、网络接口卡32、以及存储设备34之间的通信。存储设备34中的一个或多个组件(包括操作系统42、指纹模块36、指纹数据库38和安全模块40)每个可以包括可以由安全设备20A可执行的程序指令和/或数据。指纹模块36、指纹数据库38和安全模块40每个可以包括促使安全设备20A执行本公开内容中所描述的操作和动作中的一个或多个操作和动作的指令。在一些示例中,在(多个)存储设备32中所举例说明的组件中的一个或多个组件可以以硬件和/或软件和硬件的组合来实施。
[0038]根据本公开内容的技术,安全设备20A从攻击者设备10接收网络业务,诸如对与在应用服务器22A处执行的web应用有关的信息的请求。可以经由网络接口卡32中的一个网络接口卡来接收该网络业务。该网络业务被指引至指纹模块36用于处理。如图2中所示出的,指纹模块36包括分组解析模块44、代码注入模块46、安全服务更新模块48、以及指纹生成模块50。响应于指纹模块36接收到该请求,分组解析模块44解析该请求以提取该网络业务中所包括的信息(诸如用户代理信息),并且该信息能够结合其他数据点而被用来唯一地识别攻击者设备10。所提取的信息被提供给指纹生成模块50以用在生成用于攻击者设备10的指纹中。
[0039]在一些示例中,网络业务向前被传递给应用服务器22A (图1)之一,并且应用服务器22A生成对该网络业务的响应。该响应从应用服务器22A被发送,并且被指引至攻击者设备10 (例如,具有与攻击者设备10相关联的目的地地址)。然而,在该响应尚开目标网络14A之前,安全设备20A可以拦截该响应并且可以变更该响应。例如,代码注入模块46可以将代码插入到该响应中,以便促使攻击者设备10提供关于攻击者设备10的配置信息和其他信息。代码注入模块46可以基于被交换的请求和响应的类型来动态地生成该代码。例如,如果该网络业务起源自web浏览器,则代码注入模块46可以插入由web浏览器可执行的代码,从而当该响应被攻击者设备10接收并且在该web浏览器内显示时,该web浏览器自动地执行该代码,并且关于攻击者设备10的信息被发送给安全设备20A。作为另一个示例,如果该网络业务起源自不同的应用、脚本等,则代码注入模块46将适当类型的代码注入到该响应中。一般而言,代码注入模块46被配置为将代码注入到该响应中,使得由攻击者设备10执行该代码,并且向安全设备20A返回作为结果的信息,而不需要攻击者设备10的用户执行任何附加动作,或者确切地说,不需要攻击者设备10的用户必然知道该被返回的信息。
[0040]在其他示例中,安全模块40生成虚假响应并发送给攻击者设备10,从而该请求不被转发给应用服务器22A。替代地,安全模块40表现为好像它是应用服务器22A中的一个应用服务器,并且在尝试收集关于攻击者设备10的附加信息中与攻击者设备10交换分组,而不打开应用服务器22A面向可能的攻击。如上文所述,安全模块40的响应可以包括由代码注入模块46注入到该响应中的代码。
[0041]在安全设备20A接收到附加网络业务时,可以从这些请求中被提取的任何附加信息被传递给指纹生成模块50。类似地,安全设备20A响应于由攻击者设备10正在执行的被注入的代码而接收的关于攻击者设备10的配置信息和其他信息被提供给指纹生成模块50。指纹模块50收集所有不同的数据项目和相关的数据值。在一些示例中,每个数据项目与不同的重要性排序相关联,使得被确定具有较高重要性的那些数据项目是更有可能唯一地识别攻击者设备10的数据项目,而被确定具有较低重要性的那些数据项目较不可能唯一地识别攻击者10。指纹模块50可以制止生成用于攻击者设备10的指纹,直到数据项目的数量以及用于与攻击者设备10相关联的对应数据值满足阈值数量,或者组合的重要性排序满足阈值总计重要性排序。也就是说,指纹模块50可以制止生成用于攻击者设备10的指纹,直到指纹模块50已经接收到关于攻击者设备10的足够信息,以能够基本上唯一地识别攻击者设备10。
[0042]一旦指纹模块50已经接收了关于攻击者设备10的足够信息来生成指纹,指纹模块50就生成用于攻击者设备10的指纹,并且指纹模块36查询指纹数据库38以确定指纹数据库38是否包括匹配的指纹。尽管被描述为数据库,但是指纹数据库38可以是任何数据结构或者数据结构的组合,包括散列表、链接表等。通常,指纹数据库38被配置为,存储被确定为与已知攻击者设备(例如,设备的黑名单)相关联的与指纹有关信息。然而,在一些实例中,指纹数据库38可以存储由安全设备20A所生成的与所有指纹有关的信息、仅被确定为与非攻击者设备(例如,设备的白名单)相关联的指纹、或者它们的任意组合。在一些示例中,指纹数据库38被配置为只针对由安全设备20A所生成的那些指纹存储指纹信息。在其他示例中,指纹数据库38被配置为针对由安全设备20A所生成的任何指纹或者从安全服务16所接收的任何指纹存储指纹信息。
[0043]指纹模块36接收对该查询的响应,并且基于该响应是否指示指纹数据库38包括匹配的指纹,来确定该指纹是否与已知攻击者设备相关联。一般而言,安全设备20A基于该指纹是否与已知攻击者设备相关联,来选择性地管理来自攻击者设备10的网络业务。例如,如果基于查询结果确定了该指纹与已知攻击者设备相关联,则安全设备20A可以通过诸如丢弃从攻击者设备10所接收的分组、向攻击者设备10发送伪信息、请求关于攻击者设备10的附加信息以创建更完整的指纹,或者执行其他动作以减轻由攻击者设备10所尝试的任何攻击,来管理从攻击者设备10所接收的网络业务。如果基于查询结果确定了该指纹不与已知攻击者设备相关联,则安全设备20A可以继续允许网络业务在攻击者设备10与应用服务器22A之间交换,而不应用上文所描述的各种对策。
[0044]除了查询指纹数据库38之外,安全设备20A还可以监测攻击者设备10与应用服务器22A之间所交换的网络业务,以确定该网络业务是否指示攻击。如果是,则即使查询结果可能指示不同,安全设备20A也可以确定攻击者设备10是攻击者设备。然而,如果查询结果指示了该指纹与已知攻击者设备相关联,则即使与攻击者设备10相关联的网络业务没有被确定为指示攻击,安全设备20A也会好像攻击者设备10是已知攻击者设备那样来对待从攻击者设备10所接收的网络业务。
[0045]指纹生成模块50向安全服务更新模块48提供所生成的指纹,以及关于该指纹是否与已知攻击者设备相关联的指示。安全服务更新模块48将该信息发送给安全服务16,并且从安全服务16接收被更新的信息。该更新信息可以包括例如,安全服务16是否确定了所生成的指纹和与已知攻击者设备相关联的指纹相匹配的指示。作为另一个示例,该更新信息可以包括与攻击者设备10在其他目标网络(例如,目标网络14B)上所尝试的一个或多个攻击有关的信息。响应于从安全服务16接收到更新信息,指纹模块36可以更新指纹数据库38,并且即使由安全设备20A先前从指纹数据库38所接收的查询结果没有指示攻击者设备10是攻击者设备,在安全设备20A与攻击者设备10之间被交换的网络业务也没有指示攻击者设备10是攻击者设备,指纹模块36也可以将攻击者设备10看作已知攻击者设备。
[0046]图3是根据本公开内容的一个或多个方面的图示了用于整合攻击者设备指纹的示例安全服务服务器58的框图。图3仅图示了安全服务服务器58的一个特定示例并且可以是图1的安全服务器24的一个示例。在其他实例中,可以使用安全服务服务器58的许多其他示例。仅为了举例说明的目的,下文在图1的网络系统2的背景中描述安全服务服务器58。
[0047]如图3的特定实施例中所示出的,安全服务服务器58可以提供用于可执行软件指令的执行环境。在这个不例中,安全服务服务器58包括:一个或多个处理器60、一个或多个网络接口卡62、以及一个或多个存储设备64。组件60、62和64中的每个组件可以通过一个或多个通信信道(物理地、通信地、和/或操作地)相互连接,以用于组件间通信。在一些示例中,(多个)通信信道可以包括一个或多个系统总线、网络连接、进程间通信数据结构、或者用于传达数据的其他信道。
[0048]在一些示例中,(多个)处理器60被配置为实施功能和/或执行指令。例如,(多个)处理器60可以能够处理(多个)存储设备64中所存储的指令。(多个)处理器60的示例可以包括:微处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或者其他类型的分立或集成逻辑电路中的一个或多个。
[0049](多个)存储设备64可以被配置为存储用于安全服务服务器58内使用的程序代码和/或数据。在图3的示例中,(多个)存储设备64可以存储软件组件,这些软件组件包括安全模块66、指纹数据库68、安全设备数据库70、以及操作系统72。在一些示例中,(多个)存储设备64被描述为计算机可读存储介质。在一些示例中,(多个)存储设备64包括暂时性存储器,意味着存储设备64的主要目的不是长期存储。在一些示例中,(多个)存储设备64包括易失性存储器,意味着在关掉安全服务服务器58时,(多个)存储设备64不维持所存储的内容。易失性存储器的示例可以包括:随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存储存储器(SRAM)、或者本领域中已知的其他形式的易失性存储器。在一些示例中,(多个)存储设备64被用来存储用于由(多个)处理器60执行的程序指令。在一些示例中,安全服务服务器58上运行的程序或应用使用(多个)存储设备64,以在程序运行期间暂时存储信息。
[0050]在一些示例中,(多个)存储设备64包括一个或多个计算机可读存储介质。(多个)存储设备64可以被配置为存储比易失性存储器更大量的信息。(多个)存储设备64可以进一步被配置用于信息的长期存储。在一些示例中,(多个)存储设备64包括非易失性存储元件。这种非易失性存储元件的示例包括:磁硬盘、光盘、软盘、闪存、或者电可编程存储器(EPROM)或电可擦除且可编程(EEPROM)存储器的形式。
[0051]安全服务服务器58可以使用(多个)网络接口卡62经由一个或多个通信网络(诸如一个或多个无线网络)与外部设备通信。(多个)网络接口卡62可以包括:一个或多个以太网卡、光收发机、射频收发机、或者被配置为发送和接收信息的其他类型的设备。网络接口的其他示例可以包括:蓝牙无线电、3G无线电、和Wifi无线电、以及通用串行总线(USB)接口。在一些示例中,安全服务服务器58可以使用(多个)网络接口卡62与可操作地耦合至安全服务服务器58的另一个设备无线地通信。
[0052]操作系统72可以控制安全服务服务器58的组件的操作。例如,操作系统72可以促进安全模块66、指纹数据库68以及安全设备数据库70、以及处理器60、网络接口卡62、以及存储设备64之间的通信。存储设备64中的一个或多个组件(包括操作系统72、指纹模块66、指纹数据库68和安全设备数据库70)每个可以包括可以由安全服务服务器58可执行的程序指令和/或数据。指纹模块66、指纹数据库68和安全设备数据库70每个可以包括促使安全服务服务器58执行本公开内容中所描述的操作和动作中的一个或多个操作和动作的指令。在一些示例中,在(多个)存储设备62中所举例说明的组件中的一个或多个组件可以以硬件和/或软件和硬件的组合来实施。
[0053]根据本公开内容的技术,安全服务服务器58从一个或多个安全设备(例如,安全设备20A和20B)接收指纹信息。一般而言,安全服务服务器58维护安全设备数据库70。安全设备数据库70包括关于如下安全设备的信息:该安全设备订阅由安全服务16以及安全服务服务器58所提供的安全服务。如果将信息提供给安全服务服务器58的安全设备不被包括在安全设备数据库70中,则安全服务服务器58可以抛弃该指纹信息。
[0054]被提供给安全服务服务器58的指纹信息可以包括:用于指纹的数据点和数据值以及用于攻击者设备10的全球标识符、用于攻击者设备的全球名称、以及与攻击者设备10相关联的全球威胁信息。例如,全球威胁信息可以包括攻击者设备10所利用的攻击机制以及攻击的目标(例如,软件程序、端口等)。在其中从向安全服务服务器58注册过的安全设备接收指纹信息的示例中(例如,在与发送安全设备相关联的安全设备数据库70中存在条目),指纹信息被提供给安全模块66。
[0055]如图3中所示出的,安全模块66包括整合模块74、指纹匹配模块76、以及安全设备更新模块78。指纹匹配模块76确定指纹数据库68中所存储的指纹中的一个指纹是否与所接收的指纹相匹配。在确定所接收的指纹是否与指纹数据库68的指纹匹配中,指纹匹配模块76可以应用一个或多个指纹匹配规则。一般而言,指纹匹配规则是定义什么构成了两个指纹之间的成功匹配的规则。规则由一批数据点格式器(formatter)以及一些高级规则组成,这些高级规则影响候选匹配的列表何时能够被关联。指纹匹配模块76利用数据点格式器来计算被用于比较的实际散列并且追踪候选匹配的列表。如果两个指纹相匹配,则整合模块74将所接收的指纹的数据点和值与指纹数据库68中所存储的匹配指纹信息合并。然而,整合模块74抛弃重复的数据点和值。
[0056]为了在指纹数据库68内找到匹配,指纹匹配模块76可以应用“模糊”散列技术。通过使用模糊散列算法,指纹匹配模块78可以执行快速比较以确定两个事物是否相似。根据本公开内容的技术,指纹匹配模块78应用模糊散列算法以确定两个不同的指纹是否相似。也就是说,本公开内容的技术使得指纹的“模糊”匹配成为可能。在具有数据点和相关值的设备指纹的背景中,术语“模糊”指的是数据点和/或相关数据值的不完全匹配。每个指纹可以包括足够大数量的数据点,使得即使仅有一部分的数据点与先前所分类的指纹相匹配,指纹匹配模块76确定指纹匹配,而不返回有意义数量的误报。也就是说,如果匹配过程返回足够高的匹配置信度值(例如,满足阈值置信度值),指纹匹配模块76确定所接收的指纹与对应于攻击者设备的先前所接收的指纹相匹配。
[0057]在一些示例中,指纹匹配模块78可以基于如下的可能性来对每个不同的数据点应用不同的权重:被改变的值或数据点指示了与该指纹相关联的设备实际上与先前存储在指纹数据库68内的攻击者设备指纹不同的可能性。例如,因为改变IP地址对黑客是容易的,所以指纹匹配模块76可以将IP地址数据点与低权重相关联,低权重指示了不匹配不太可能指示该指纹实际上与两个不同的设备相关联。相比之下,指纹匹配模块78可以对浏览器插件数据点应用较高的权重值,因为更有可能的是特定设备上所安装的浏览器插件的组合是唯一的,这指示了浏览器插件数据点中的不匹配指示了这些指纹更有可能识别两个不同的设备。
[0058]响应于确定从安全设备20A所接收的指纹与已知攻击者指纹相匹配,整合模块76将安全设备20A与该已知攻击者设备相关联。整合模块76还可以整合包括攻击者设备10和安全设备20中的任何一个安全设备的各种会话,使得所有的相关指纹信息被整合并且与相同的设备指纹相关联。如果指纹数据库68中所存储的指纹信息不同于所接收的指纹信息,则安全设备更新模块78将合并的指纹发送给安全设备20A。如果指纹数据库68中所存储的指纹信息与所接收的指纹信息相同,则安全设备更新模块78制止向安全设备20A发送被更新的指纹信息。在任一实例中,安全设备更新模块78可以将指纹信息发送给向安全服务16注册过的一个或多个安全设备(例如,在安全设备数据库70内具有条目的安全设备)。例如,安全设备更新模块78可以向安全设备20B发送指纹、威胁信息、全球攻击者设备标识符等。
[0059]图4是根据本公开内容的一个或多个方面的用于对攻击者设备指纹识别的示例过程的流程图。仅为了举例说明的目的,下文在图1和2中所示出的安全设备20A的背景内描述示例操作。其他示例安全设备也可以执行下文所描述的示例操作。
[0060]安全设备20A从可能的攻击者设备(例如,攻击者设备10)接收传入的对数据的请求(90)。分组解析模块44解析该请求以提取被包括在该请求中并且能够结合其他数据点被用来唯一地识别攻击者设备10的信息(诸如用户代理信息)。安全设备20A将该传入的请求转发给处理该请求并发送响应的应用服务器22中的一个应用服务器。安全设备20A拦截该响应,并且代码注入模块46注入促使攻击者设备10向安全设备20A发送指纹数据点和相关联的值的代码(92)。攻击者设备10接收该响应并且向安全设备20A发送指纹数据点以及相关联的值,而不需要攻击者设备10的用户执行任何附加动作。
[0061]安全设备20A接收指纹信息(94),并且指纹生成模块50生成用于攻击者设备10的设备指纹(96)。使用所生成的指纹,指纹模块36确定匹配的指纹是否被存储在指纹数据库38内(98)。如果在指纹数据库38内找到匹配的指纹(98的“是”分支),则安全设备20A可以通过例如阻挡网络业务、对网络业务流量节流、重定向网络业务流量、记录网络业务流量、或者采取其他对策使起源自攻击者设备10的任何潜在攻击的影响最小化,来主动地管理来自攻击者设备的所有业务免于到达应用服务器22A (100)。例如,安全模块40可以拦截由攻击者设备10所发送的所有分组并且提供伪响应,以便收集附加的指纹数据点。在一些示例中,安全设备20A可以基于由攻击者设备所生成的网络业务来确定攻击者设备10是攻击设备。例如,如果攻击者设备10正在探测在应用服务器22A处执行的软件的已知安全漏洞,则安全设备20A确定攻击者设备10是攻击设备,并且可以通过例如阻挡网络业务、对网络业务节流、重定向网络业务、记录网络业务、或者采取其他对策使起源自攻击者设备10的任何潜在攻击的影响最小化,来管理起源自攻击者设备10的网络业务。如果在指纹数据库38内未找到匹配的指纹(98的“否”分支),则安全设备20A可以暂时允许来自攻击者设备10的网络业务到达应用服务器22A。
[0062]在任一实例中,安全服务更新模块48将该指纹和相关联的信息发送给安全服务器16 (102)。安全服务16确定该指纹是否与由安全服务16所管理的指纹相匹配,并且如果存在匹配和/或如果所发送的指纹信息导致被更新的指纹信息(例如,合并的指纹),则安全服务将该指纹信息发送给安全设备20A。安全设备20A从安全服务16接收指纹信息,并且基于所接收的指纹信息来更新指纹数据库38(104)。如果所接收的指纹信息指示该指纹与已知攻击者设备相关联(106的“是”分支),则安全设备20A管理由攻击者设备10所发送的网络业务免于到达应用服务器22A (100)。如果所接收的指纹信息指示该指纹不与已知攻击者设备相关联(106的“否”分支),则安全设备20A允许网络业务在攻击者设备10与应用服务器22A之间自由交换(108)。
[0063]图5是图示了用于利用中央安全服务来维护全球设备指纹识别的示例过程的流程图。仅为了举例说明的目的,下文在如图1中所示出的网络系统2以及如图2中所示出的安全服务服务器58的背景中描述这些示例操作。其他的示例安全服务器也可执行下文所描述的示例操作。
[0064]安全服务服务器58从安全设备20A和20B中的一个安全设备接收指纹信息(110)。指纹匹配模块76通过将该指纹与指纹数据库68中所存储的已知攻击者设备的指纹相比较,来确定指纹数据库68中所存储的指纹中的一个指纹是否与所接收的指纹相匹配(112)。为了找到指纹数据库68内的匹配,指纹匹配模块76可以应用“模糊”散列技术来识别与所接收的指纹相似的指纹。当该指纹足够相似(即,满足相似度的阈值级别)时,指纹匹配模块76确定所存储的指纹与所接收的指纹相匹配(114的“是”分支)。在一些实例中,可以确定多于一个指纹符合该相似度阈值。在这些实例中,安全服务服务器24可以确定与所接收的指纹最相似的指纹是匹配指纹。如果指纹数据库68中所存储的信息不同于所接收的指纹信息,则安全设备66通过例如利用整合模块74来将匹配的指纹信息与所接收的指纹信息合并,以更新指纹数据库68 (116)。
[0065]如果指纹匹配模块76确定没有匹配的指纹被存储在指纹数据库68中(114的“否”分支),则安全模块确定发送该指纹信息的安全设备是否把与该指纹相关联的设备识别为攻击设备(118)。如果安全设备将把与该指纹相关联的设备识别为攻击设备(118的“是”分支),则安全模块66更新指纹数据库68以包括所接收的指纹信息(116)。响应于指纹数据库68被更新,安全设备更新模块78把被更新的指纹信息发送给向安全服务16注册过的安全设备(120),并且安全模块66将任何被更新或被改变的指纹信息发送给向安全服务服务器58发送初始指纹信息的安全设备(122)。如果该安全设备未把与该指纹相关联的设备识别为攻击设备(118的“否”分支),则安全模块66可以将该查询结果发送给发送了该指纹信息的安全设备,以指示与该指纹相关联的设备不是已知攻击者设备(122)。
[0066]示例I。一种方法包括:由安全设备从一个设备接收指向由所述安全设备所保护的一个或多个计算设备的网络业务;响应于接收到该网络业务,由该安全设备向该设备发送对用于该设备的多个数据点的请求,其中这些数据点包括与该设备相关联的特性;由该安全设备从该设备接收所请求的多个数据点的至少一部分;由所该安全设备将所请求的多个数据点的所接收部分和与一个或多个已知攻击者设备相关联的数据点的相应集合相比较;基于该比较,确定与第一已知攻击者设备相关联的数据点的第一相应集合是否满足相似度阈值;以及基于该确定,选择性地管理指向由该安全设备所保护的该一个或多个计算设备并且从该设备所接收的附加网络业务。
[0067]示例2。示例I的方法,进一步包括:在发送对该多个数据点的该请求之前,将请求该多个数据点的代码注入到从该一个或多个计算设备的至少一个计算设备所接收的响应中,其中由该一个或多个计算设备中的该至少一个计算设备响应于该网络业务来发送所接收的响应。
[0068]示例3。示例1-2的任意组合的方法,进一步包括:分析该网络业务来提取与关于该设备的一个或多个数据点有关的信息;以及由该安全设备从与该一个或多个数据点有关的该信息和所请求的多个数据点的所接收部分,来生成用于该设备的设备指纹,其中该设备指纹识别该设备。
[0069]示例4。示例3的方法,进一步包括:向安全服务发送该设备的设备指纹;从该安全服务接收该设备是否是已知攻击者设备的指示;以及基于该指示,选择性地管理指向由该安全设备所保护的该一个或多个计算设备并且从该设备所接收的附加网络业务。
[0070]示例5。示例3的方法,进一步包括:由该安全设备基于从该设备所接收的网络业务,来确定该设备是攻击者设备;以及从该安全设备向安全服务发送该设备的设备指纹以及该设备是攻击设备的指示。
[0071]示例6。示例3的方法,进一步包括:由该安全设备从安全服务接收设备指纹信息;将所生成的设备指纹信息与所接收的设备指纹相比较,来确定该设备是否是攻击者设备;以及基于该比较,选择性地管理指向由该安全设备所保护的该一个或多个计算设备并且从该设备所接收的附加网络业务。
[0072]示例7。示例1-6的任意组合的方法,其中将所请求的多个数据点的所接收部分和与已知攻击者设备相关联的数据点的相应集合相比较包括:对所请求的多个数据点的所接收部分应用模糊散列算法。
[0073]示例8。示例7的方法,进一步包括:基于对模糊散列算法的应用,来确定所请求的多个数据点的所接收部分和与第一已知攻击者设备相关联的数据点的第一相应集合的不完全匹配满足该相似度阈值。
[0074]示例9。示例1-8的任意组合的方法,其中基于该确定,选择性地管理指向由该安全设备所保护的该一个或多个计算设备并且从该设备所接收的附加网络业务包括:响应于确定与第一已知攻击者设备相关联的数据点的第一相应集合不满足该相似度阈值,准许来自该设备的该附加网络业务到达由该安全设备所保护的该一个或多个计算设备;以及响应于确定与第一已知攻击者设备相关联的数据点的该第一相应集合满足该相似度阈值,防止该附加网络业务到达由该安全设备所保护的该一个或多个计算设备。
[0075]示例10。示例1-8的任意组合的方法,其中选择性地管理该附加网络业务包括:响应于确定与第一已知攻击者设备相关联的数据点的该第一相应集合满足该相似度阈值,通过执行对该附加网络业务节流、从该附加网络业务移除一个或多个用户输入值、丢弃该附加网络业务、以及将该附加网络业务重定向至不同的设备中的一项或多项,来管理该附加网络业务。
[0076]示例11。示例1-10的任意组合的方法,进一步包括:响应于确定与第一已知攻击者设备相关联的数据点的该第一相应集合满足该相似度阈值,确定该设备是已知攻击者设备;防止该网络业务到达由该安全设备所保护的该一个或多个计算设备;以及利用该安全设备来生成对如下网络业务的响应,该网络业务包括对该设备的附加数据点的请求。
[0077]示例12。一种设备包括:一个或多个处理器;一个或多个网络接口卡,该一个或多个网络接口卡从远程设备接收指向由该设备所保护的一个或多个计算设备的网络业务;响应于接收到该网络业务,向该远程设备发送对该远程设备的多个数据点的请求,其中这些数据点包括与该远程设备相关联的特性;以及从该远程设备接收所请求的多个数据点的至少一部分;指纹模块,该指纹模块由该一个或多个处理器可操作为:将所请求的多个数据点的所接收部分和与已知的一个或多个攻击者设备相关联的数据点的相应集合相比较;并且基于该比较,确定与第一已知攻击者设备相关联的数据点的第一相应集合是否满足相似度阈值;以及安全模块,该安全模块由该一个或多个处理器可操作为:基于该确定,选择性地管理指向由该安全设备所保护的该一个或多个计算设备并且从该设备所接收的附加网络业务。
[0078]示例13。示例12的设备,其中该指纹模块包括:代码注入模块,该代码注入模块由该一个或多个处理器可操作为,在发送对多个数据点的该请求之前,将请求多个数据点的代码注入到从该一个或多个计算设备中的至少一个计算设备所接收的响应中,其中由该一个或多个计算设备中的该至少一个计算设备响应于该网络业务来发送所接收的响应。
[0079]示例14。示例12-13的任意组合的设备,其中该指纹模块包括:分组解析模块,该分组解析模块由该一个或多个处理器可操作为:分析该网络业务,以提取与关于该远程设备的一个或多个数据点有关的信息;以及指纹生成模块,该指纹生成模块由该一个或多个处理器可操作为:从与该一个或多个数据点有关的该信息和所请求的多个数据点的所接收部分,来生成用于该远程设备的设备指纹,其中该设备指纹识别该远程设备。
[0080]示例15。示例14的设备,其中该一个或多个网络接口卡向安全服务发送该远程设备的设备指纹,并且从该安全设备接收该远程设备是否是已知攻击者设备的指示,并且其中该安全模块由该一个或多个处理可操作为:基于该指示,选择性地管理指向由该安全设备所保护的该一个或多个计算设备并且从该远程设备所接收的附加网络业务。
[0081]示例16。示例14的设备,其中该指纹模块由该一个或多个处理器可操作为:基于从该远程设备所接收的该网络业务,确定该远程设备是攻击者设备,并且向安全服务发送该远程设备的设备指纹以及该远程设备是攻击者设备的指示。
[0082]示例17。示例14的设备,其中该一个或多个网络接口卡从安全设备接收设备指纹信息,其中该指纹模块将所生成的设备指纹信息与所接收的设备指纹相比较,以确定该远程设备是否是攻击者设备,并且其中该安全模块由该一个或多个处理器可操作为:基于该比较,选择性地管理指向由该安全设备所保护的该一个或多个计算设备并且从该远程设备所接收的附加网络业务。
[0083]示例18。示例12-17的任意组合的设备,其中该指纹模块对所请求的多个数据点的所接收部分应用模糊散列算法,以将所请求的多个数据点的所接收部分和与已知攻击者设备相关联的数据点的相应集合相比较。
[0084]示例19。示例18的设备,其中该指纹模块基于对该模糊散列算法的应用,确定所请求的多个数据点的所接收部分和与第一已知攻击者设备相关联的数据点的该第一相应集合的不完全匹配满足该相似度阈值。
[0085]示例20。示例12-19的任意组合的设备,其中通过该安全模块至少可被操作为:响应于确定与该第一已知攻击者设备相关联的数据点的该第一相应集合不满足该相似度阈值,准许该附加网络业务到达由该设备所保护的该一个或多个计算设备;以及响应于确定与该第一已知攻击者设备相关联的数据点的该第一相应集合满足该相似度阈值,防止该附加网络业务到达由该设备所保护的该一个或多个计算设备,该安全模块由该一个或多个处理器可操作为:基于该指示,选择性地管理指向由该安全设备所保护的该一个或多个计算设备并且从该远程设备所接收的附加网络业务。
[0086]示例21。示例12-19的任意组合的设备,其中该安全模块由该一个或多个处理器可操作为:响应于该指纹模块确定与第一已知攻击者设备相关联的数据点的该第一相应集合满足该相似度阈值,通过执行对该附加网络业务节流、从该附加网络业务移除一个或多个用户输入值、丢弃该附加网络业务、以及将该附加网络业务重定向至不同的设备中的一项或多项来管理该附加网络业务。
[0087]示例22。一种计算机可读存储介质,利用指令对该计算机可读存储介质编码,用于促使一个或多个处理器:从一个设备接收指向由安全设备所保护的一个或多个计算设备的网络业务;响应于接收到该网络业务,向该设备发送对用于该设备的多个数据点的请求,其中这些数据点包括与该设备相关联的特性;从该设备接收所请求的多个数据点的至少一部分;将所请求的多个数据点的所接收部分和与一个或多个已知的攻击者设备相关联的数据点的相应集合相比较;基于该比较,确定与第一已知攻击者设备相关联的数据点的第一相应集合是否满足相似度阈值;以及基于该确定,选择性地管理指向由该安全设备所保护的该一个或多个计算设备并且从该设备所接收的附加网络业务。
[0088]示例23。示例22的计算机可读存储介质,进一步利用指令编码,以用于促使一个或多个处理器:分析该网络业务以提取与关于该设备的一个或多个数据点有关的信息;以及从与该一个或多个数据点有关的该信息和所请求的多个数据点的所接收部分,来生成用于该设备的设备指纹,其中该设备指纹识别该设备。
[0089]示例24。示例23的计算机可读存储介质,进一步利用指令编码,以用于促使一个或多个处理器:向安全服务发送该设备的设备指纹;从该安全服务接收该设备是否是已知攻击者设备的指示;以及基于该指示,选择性地管理指向由该安全设备所保护的该一个或多个计算设备并且从该设备所接收的附加网络业务。
[0090]示例25。一种方法包括:利用安全系统从多个安全设备中的第一安全设备接收与一个设备相关联的设备指纹信息;利用该安全系统,并且基于所接收的设备指纹信息,确定该设备是否是已知攻击者设备;以及响应于确定该设备是已知攻击者设备,由该安全系统向该多个安全设备中的其他安全设备发送该设备指纹信息。
[0091]可以至少部分地采用硬件、软件、固件或者它们的任意组合来实施本公开内容中所描述的技术。例如,可以在一个或多个处理器内实施所描述的技术的各个方面,该一个或多个处理器包括:一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)JI场可编程门阵列(FPGA)、或者任何其他的等效集成或分立逻辑电路、以及这些组件的任意组合。术语“处理器”或“处理电路”可以一般性地指代单独的或者与其他逻辑电路组合的前述逻辑电路中的任何一种,或者任何其他的等效电路。包括硬件的控制单元也可以执行本公开内容的技术中的一项或多项技术。
[0092]可以在同一设备或者分离的设备内实施这种硬件、软件和固件,来支持本公开内容中所描述的各种操作和功能。另外,所描述的单元、模块或组件中的任何一项可以一起被实施或者分离地被实施为分立但可互操作的逻辑设备。对不同特征的描绘为模块或单元旨在突出不同的功能性方面,并且不必然暗示这种模块或单元必须由分离的硬件或软件组件来实现。相反地,与一个或多个模块或单元相关联的功能可以由分离的硬件或软件组件来执行,或者被集成在公共或分离的硬件或软件组件内。
[0093]本公开内容中所描述的技术还可以在计算机可读介质中体现或编码,该计算机可读介质诸如包含指令的计算机可读存储介质。计算机可读介质中被嵌入或被编码的指令,例如在这些指令被执行时,可以促使可编程处理器或其他处理器执行该方法。计算机可读存储介质可以包括:随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPR0M)、电可擦除可编程只读存储器(EEPR0M)、闪存、硬盘、CD-ROM、软盘、磁带、磁介质、光介质、或者其他计算机可读存储介质。应当理解,术语“计算机可读存储介质”指代物理存储介质(例如,非暂时性介质),而不是信号、载波、或者其他瞬态介质。
[0094]已经描述了各种实施例。这些实施例和其他实施例在下列权利要求的范围内。
【权利要求】
1.一种方法,包括: 由安全设备从一个设备接收指向由所述安全设备所保护的一个或多个计算设备的网络业务; 响应于接收到所述网络业务,由所述安全设备向所述设备发送对用于所述设备的多个数据点的请求,其中所述数据点包括与所述设备相关联的特性; 由所述安全设备从所述设备接收所请求的多个数据点中的至少一部分; 由所述安全设备将所请求的多个数据点中的所接收部分和与一个或多个已知攻击者设备相关联的数据点的相应集合相比较; 基于所述比较,确定与第一已知攻击者设备相关联的数据点的第一相应集合是否满足相似度阈值;以及 响应于确定与所述第一已知攻击者设备相关联的数据点的所述第一相应集合满足所述相似度阈值,由所述安全设备向安全服务发送所述设备的指纹信息,其中所述安全设备是与所述安全服务相关联的多个安全设备之一。
2.根据权利要求1所述的方法,进一步包括: 在发送对所述多个数据点的所述请求之前,将请求所述多个数据点的代码注入到从所述一个或多个计算设备中的至少一个计算设备所接收的响应中,其中由所述一个或多个计算设备中的所述至少一个计算设备响应于所述网络业务来发送所接收的所述响应。
3.根据权利要求1所述的方法,进一步包括: 分析所述网络业务来提取与关于所述设备的一个或多个数据点有关的信息;以及由所述安全设备,从与所述一个或多个数据点有关的所述信息和所请求的多个数据点的所接收部分,来生成用于所述设备的设备指纹,其中所述设备指纹识别所述设备。
4.根据权利要求3所述的方法,进一步包括, 在确定与所述第一已知攻击者设备相关联的数据点的所述第一相应集合满足所述相似度阈值之前: 向安全服务发送所述设备的所述设备指纹;以及从所述安全服务接收所述设备是否是已知攻击者设备的指示;以及基于所述指示,选择性地管理指向由所述安全设备所保护的所述一个或多个计算设备并从所述设备所接收的附加网络业务。
5.根据权利要求3所述的方法,进一步包括: 由所述安全设备基于从所述设备所接收的所述网络业务,确定所述设备是攻击者设备;以及 从所述安全设备向安全服务发送所述设备的所述设备指纹以及所述设备是所述攻击设备的指示。
6.根据权利要求3所述的方法,进一步包括: 由所述安全设备从安全服务接收设备指纹信息; 将所生成的设备指纹信息与所接收的设备指纹相比较,来确定所述设备是否是攻击者设备;以及 基于所述比较,选择性地管理指向由所述安全设备所保护的所述一个或多个计算设备并从所述设备所接收的附加网络业务。
7.根据权利要求1所述的方法,其中将所请求的多个数据点的所接收部分和与已知攻击者设备相关联的数据点的相应集合相比较包括:对所请求的多个数据点的所接收部分应用模糊散列算法。
8.根据权利要求7所述的方法,进一步包括:基于所述模糊散列算法的所述应用,确定所请求的多个数据点的所接收部分和与第一已知攻击者设备相关联的数据点的所述第一相应集合的不完全匹配满足所述相似度阈值。
9.根据权利要求1所述的方法,进一步包括: 响应于确定与所述第一已知攻击者设备相关联的数据点的所述第一相应集合不满足所述相似度阈值,准许来自所述设备的附加网络业务到达由所述安全设备所保护的所述一个或多个计算设备;以及 响应于确定与第一已知攻击者设备相关联的数据点的所述第一相应集合满足所述相似度阈值,防止附加网络业务到达由所述安全设备所保护的所述一个或多个计算设备。
10.根据权利要求1所述的方法,进一步包括: 响应于确定与第一已知攻击者设备相关联的数据点的所述第一相应集合满足所述相似度阈值,通过执行对所述附加网络业务节流、从所述附加网络业务移除一个或多个用户输入值、丢弃所述附加网络业务、以及将所述附加网络业务重定向至不同的设备中的一项或多项来管理所述附加网络业务。
11.根据 权利要 求1所述的方法,进一步包括: 响应于确定与第一已知攻击者设备相关联的数据点的所述第一相应集合满足相似度阈值,确定所述设备是已知攻击者设备; 防止所述网络业务到达由所述安全设备所保护的所述一个或多个计算设备;以及 利用所述安全设备来生成对如下网络业务的响应,所述网络业务包括对所述设备的附加数据点的请求。
12.根据权利要求1所述的方法,其中由所述安全设备将所请求的多个数据点的所接收部分和与一个或多个已知攻击者设备相关联的数据点的相应集合相比较包括: 由所述安全设备对所请求的多个数据点的所接收部分中的每个数据点应用相应权重,其中基于所述相应数据点中的变化指示所述设备与所述一个或多个已知攻击者设备不同的可能性来确定所述相应权重;以及 由所述安全设备将所请求的多个数据点的所接收部分的所述加权数据点和与所述一个或多个已知攻击者设备相关联的数据点的所述相应集合相比较。
13.—种设备,包括: 一个或多个处理器; 一个或多个网络接口卡,所述一个或多个网络接口卡从远程设备接收指向由所述设备所保护的一个或多个计算设备的网络业务;响应于接收到所述网络业务,向所述远程设备发送对所述远程设备的多个数据点的请求,其中所述数据点包括与所述远程设备相关联的特性;并且从所述远程设备接收所请求的多个数据点的至少一部分;以及 指纹模块,所述指纹模块由所述一个或多个处理器可操作为:将所请求的多个数据点的所接收部分和与已知的一个或多个攻击者设备相关联的数据点的相应集合相比较;并且基于所述比较,确定与第一已知攻击者设备相关联的数据点的第一相应集合是否满足相似度阈值;并且响应于确定与所述第一已知攻击者设备相关联的数据点的所述第一相应集合满足所述相似度阈值,向安全系统发送所述设备的指纹信息,其中所述安全设备是与所述安全系统相关联的多个安全设备之一。
14.根据权利要求13所述的设备,进一步包括:用于执行权利要求1-12中的任何一项所述的方法的装置 。
【文档编号】H04L29/08GK104052734SQ201410097670
【公开日】2014年9月17日 申请日期:2014年3月14日 优先权日:2013年3月15日
【发明者】D·J·奎因兰, K·亚当斯, O·伊巴图林, Y·T·莫拉莱斯, R·W·卡梅伦, B·伯恩斯 申请人:瞻博网络公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1