CN107241186A - 应用签名生成和分发 - Google Patents
应用签名生成和分发 Download PDFInfo
- Publication number
- CN107241186A CN107241186A CN201610473952.4A CN201610473952A CN107241186A CN 107241186 A CN107241186 A CN 107241186A CN 201610473952 A CN201610473952 A CN 201610473952A CN 107241186 A CN107241186 A CN 107241186A
- Authority
- CN
- China
- Prior art keywords
- application
- application signature
- signature
- network
- contextual information
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
- H04L9/3239—Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Abstract
本公开涉及应用签名生成和分发。本公开提供了一种网络设备,其可以接收针对应用的网络流量。该网络设备可以标识被用于网络流量的应用层协议。该网络设备可以从网络流量获得情境信息以获得情境信息项,并且该情境信息项可以基于应用层协议被选择。该网络设备可以确定情境信息项匹配被存储的情境信息项。该网络设备可以确定就被存储的情境信息项而言已经满足阈值。该网络设备可以基于情境信息项生成针对应用的应用签名。该网络设备可以向另一设备发送应用签名以准许另一设备基于应用签名标识应用。
Description
背景技术
应用标识可以支持网络安全和服务,例如应用感知防火墙、应用感知流量可见度及控制、应用感知服务质量(QOS)、应用感知速率限制、基于应用的路由等等。很多应用在开放式系统互联模型(OSI模型)的第7层(L7)应用层处或者以上。应用可以基于对网络流量的深度分组检查(DPI)被标识。DPI可以利用已经(例如由DPI商家)生成的应用签名标识已知的应用。
发明内容
根据一些可能的实现方式,网络设备可以包括一个或多个处理器以接收针对应用的网络流量。该一个或多个处理器可以标识被用于网络流量的应用层协议。该一个或多个处理器可以从网络流量获得情境信息以获得情境信息项,并且情境信息项可以基于应用层协议被选择。该一个或多个处理器可以确定情境信息项匹配被存储的情境信息项。该一个或多个处理器可以确定就被存储的情境信息项而言已经满足阈值。该一个或多个处理器可以基于情境信息项生成针对应用的应用签名。该一个或多个处理器可以向另一设备发送应用签名以准许另一设备基于应用签名标识应用。
根据一些可能的实现方式,一种非瞬态计算机可读介质可以存储一个或多个指令,该一个或多个指令当被一个或多个处理器执行时促使该一个或多个处理器接收与应用相关联的网络流量。所述一个或多个指令可以促使所述一个或多个处理器从网络流量确定正在被用于网络流量的应用层协议。所述一个或多个指令可以促使所述一个或多个处理器从网络流量获得情境信息项,并且该情境信息项可以与应用层协议相关联。所述一个或多个指令可以促使所述一个或多个处理器确定情境信息项与被存储的情境信息项匹配。所述一个或多个指令可以促使所述一个或多个处理器确定就被存储的情境信息项而言已经满足阈值。所述一个或多个指令可以促使所述一个或多个处理器基于被存储的情境信息项生成针对应用的应用签名。所述一个或多个指令可以促使所述一个或多个处理器向另一设备发送应用签名以准许另一设备基于应用签名标识应用。
根据一些可能的实现方式,一种方法可以包括由网络设备接收网络流量,并且该网络流量可以对应于应用。该方法可以包括由网络设备标识正在被用于网络流量的应用层协议。该方法可以包括由网络设备并且从网络流量获得情境信息项,并且该情境信息项可以基于应用层协议被选择。该方法可以包括由网络设备确定情境信息项匹配被存储的情境信息项。该方法可以包括由网络设备确定就被存储的情境信息项而言已经满足阈值。该方法可以包括由网络设备并且针对应用、基于情境信息项来生成应用签名。该方法可以包括由网络设备向另一设备发送应用签名以准许另一设备基于应用签名来标识应用。
附图说明
图1A-1D是这里所描述的示例实现方式的概览的图;
图2是其中这里所描述的系统和/或方法可以被实现的示例环境的图;
图3是图2的一个或多个设备的示例部件的图;以及
图4A和4B是用于应用签名生成和分发的示例过程的流程图。
具体实施方式
下面对示例实现方式的详细描述参考附图。不同附图中的相同标号可以标识相同或相似的元件。
如果不存在针对应用的应用签名,则应用可以被分类为未知应用。未知应用可能是非法入侵流量、未被标识的合法流量(例如新应用以及之前被标识的应用的新版本)、具有被错误配置的应用的流量等。应用感知安全装备的高效且有效的操作可能依赖于减少或者最小化在网络或系统上被标识的未知应用的数目。然而,新应用以及现有应用的新版本可能比应用签名提供者(例如DPI商家)可以生成并分发应用签名更快地出现。此外,应用签名提供者(例如DPI商家)可能没有意识到网络流量正在本地被各种网络设备看到。这里所描述的实现方式可以允许自动生成和分发应用签名,这可以减少从未知应用的标识到用于标识未知应用的应用签名的生成和分发的延迟。这里所描述的实现方式还可以允许在应用签名提供者感知到这些应用之前针对本地受欢迎的应用(例如可能与正在本地被各种网络设备看到的网络流量相关联的应用)生成应用签名。
减少应用签名的生成和分发的延迟以及标识本地受欢迎的应用可以提高应用感知和/或基于应用的网络安全的有效性。提高应用感知和/或基于应用的网络安全的有效性可以加速去除非法入侵流量和/或标识合法流量,这可以提高网络安全性、节约计算资源(例如处理资源和/或存储器资源)并且提高网络性能(例如吞吐量和/或延迟)。
这里所公开的一些示例基于安全套接层(SSL)协议。虽然一些实现方式可以使用SSL,但是这里所公开的示例可以使用任何安全协议,例如SSL、传输层安全(TLS)和/或其它类似类型的安全措施。此外,这里所公开的一些示例基于超文本传输协议(HTTP)。虽然一些实现方式可以使用HTTP,但是这里所公开的示例可以使用HTTP安全保障(HTTPS)(例如SSL上的HTTP或者TLS上的HTTP),例如其中网络设备可以截获安全流量(例如其中服务器证书是可用的或者其中网络设备正在用作转发代理)。
图1A-1D是这里所描述的示例实现方式100的概览的图。如图1A中所示,并且利用标号105,假设网络设备(例如路由器、网关或防火墙)正在接收包括可能与未知应用(例如针对其可能没有应用签名的应用)相关联的三个业务流的网络流量。被显示为流量A的第一业务流正在使用HTTP L7(例如应用层)协议,具有被请求的统一资源标识符(URI)http://ABC.com/page和主机名ABC.com。被显示为流量B的第二业务流正在使用SSL L7协议,具有用于服务器证书的通用名Name-CDE和服务器名扩展Server_EFG。被显示为流量C的第三业务流正在使用使用HTTP L7协议,具有被请求的URI http://XYZ.com/main和主机名XYZ.com。
如标号110所示,网络设备可以基于L7协议(例如HTTP、SSL)对网络流量进行分类并且可以从网络流量获得两个情境信息条目。要从网络流量获得的情境信息条目可以基于与流量分类相关联的规则库被确定。例如,网络设备可以由被分类为HTTP的网络流量获得被请求的URI和主机名(例如针对流量A的http://ABC.com/page和ABC.com以及针对流量C的http://XYZ.com/main和XYZ.com)。网络设备可以由被分类为SSL的网络流量获得用于服务器证书的通用名和/或服务器名扩展(例如针对流量B的Name_CDE和Server_EFG)。如标号115所示,网络设备可以在情境数据库中查找从网络流量获得的情境信息。情境数据库可以针对每个条目存储L7协议、两个所获得的情境信息条目、点击计数器和阈值(例如用于确定是否基于网络流量生成应用签名)。
如图1B中所示,并且利用标号120,假设网络设备已确定由流量A获得的情境信息与情境数据库中的现有条目不匹配。如通过标号120进一步显示的,假设网络设备已确定由流量B获得的情境信息与情境数据库中的现有条目匹配,但是没有满足阈值。如标号125所示,如果不存在与所获得的情境信息匹配的现有条目,则网络设备可以向情境数据库添加条目(例如对于流量A而言)。如标号125所示,如果存在现有条目但没有满足阈值,则网络设备可以更新点击计数器(例如针对流量B,其中点击计数值已从5增加到6,该计数值仍然在阈值10以下)。如标号130所示,网络设备可以将所获得的情境信息发送给对等设备以在网络设备和对等设备之间同步所获得的情境信息。
如图1C中所示,并且利用标号135,假设网络设备已确定由流量C获得的情境信息与情境数据库中的现有条目匹配并且已经满足阈值(例如基于与由流量C获得的情境信息相对应的附加点击)。如标号140所示,网络设备可以基于L7协议(例如HTTP)和由流量C获得的情境信息项(例如URI:http://XYZ.com/main和Hostname:XYZ.com)生成应用签名。如标号140进一步示出的,网络设备可以对应用签名进行标准化(normalize)。
如标号145所示,网络设备可以将经标准化的应用签名添加到本地应用签名数据库中。如标号150所示,网络设备可以将经标准化的应用签名发送给对等设备,该对等设备可以利用应用签名进行应用标识。如标号155所示,如果应用签名已被指定为公开的(例如应用签名可用于公开分发),则网络设备可以将经标准化的应用签名发送给签名提供者设备,该设备可以利用应用签名来支持应用标识。如标号160所示,应用提供者设备可以将经标准化的应用签名添加到应用签名数据库中。
如图1D中所示,并且利用标号165,假设签名提供者设备已接收到应用签名数据库更新。如标号170所示,网络设备可以接收来自签名提供者设备和/或对等设备的新的应用签名。
如标号175所示,网络设备可以(例如基于在经标准化的应用签名之间比较散列)确定新的应用签名是否匹配现有的应用签名。如标号180所示,如果网络设备(例如基于没有找到匹配散列)确定新的应用签名与现有应用签名不匹配,则网络设备可以将新的应用签名添加到本地应用签名数据库中(例如在新的名称空间中)。如标号185所示,如果网络设备(例如基于在应用签名之间匹配散列)确定新的应用签名与现有应用签名匹配,则网络设备可以确定新的应用签名与现有应用签名之间的优先级。网络设备可以将(新的或者现有的)更高优先级的应用签名保留在本地应用签名数据库中,一起保留来自更高优先级的应用签名的应用名和/或任何相关联的元数据(例如针对与签名相关联的应用的应用群组信息)。如标号190所示,如果现有应用签名(例如利用新的应用签名)被替换,则网络设备可以向对等设备发送通知。
按照这种方式,各种网络设备可以自动生成和分发基于被网络设备接收的网络流量的应用签名。在网络设备之间自动生成和分发应用签名可以减少与应用签名的生成和分发相关联的延迟并且可以支持对本地受欢迎的应用的标识。减少与应用签名的生成和分发相关联的延迟并且标识本地受欢迎的应用可以提高应用感知和/或基于应用的网络安全的有效性。此外,这里所描述的实现方式可以允许各种网络设备基于合适的优先级机制自动地选择性地保留被自动生成和分发的应用签名。基于合适的优先级机制选择性地保留被自动生成和分发的应用签名可以允许被各种网络设备保留的应用签名的集合汇集为一个公用的应用签名集合。汇集为一个公用的应用签名集合可以提高应用报告和策略执行的有效性。
如上所示,图1A-1D仅仅作为示例被提供。其它示例也是可能的并且可以与针对图1A-1D所描述的示例不同。
图2是其中这里所描述的系统和/或方法可以被实现的示例环境200的图。如图2中所示,环境200可以包括网络设备210、情境数据库220、本地应用签名数据库230、对等设备240、签名提供者设备250、应用签名数据库260和网络270。环境200的设备可以经由有线连接、无线连接或者有线和无线连接的组合互相连接。
网络设备210包括能够处理和/或传送与端点设备相关联的网络流量的一个或多个设备(例如一个或多个流量传送设备)。例如,网络设备210可以包括路由器、交换机、网关、防火墙、集线器、网桥、反向代理设备、客户端设备、服务器设备(例如代理服务器或执行虚拟机的服务器)、安全设备、入侵检测设备、负载均衡设备或类似设备。在一些实现方式中,网络设备210可以包括能够接收和/或提供网络流量的或者作为网络流量的源或目的地的端点设备。例如,网络设备210可以包括计算机或类似设备。在一些实现方式中,网络设备210可以使用情境数据库220和/或本地应用签名数据库230来辅助实现从网络流量获得情境信息以及应用签名生成和分发。网络设备210可以向对等设备240发送网络流量和/或接收来自对等设备240的网络流量。
在一些实现方式中,网络设备210可以包括对等设备跟踪部件。对等设备跟踪部件可以对针对网络设备210的对等设备(例如对等设备240)进行认证,维护被连接的对等设备列表,并且/或者维护与用于签名信息交换的对等设备的安全连接。在一些实现方式中,网络设备210可以从管理角度上被配置有针对一个或多个对等设备(例如对等设备240)的标识信息(例如互联网协议(IP)地址)。在一些实现方式中,网络设备210可以基于网络设备210从对等设备接收到的发现消息来发现和/或对一个或多个对等设备(例如对等设备240)进行认证。在一些实现方式中,对等设备跟踪部件可以包括可以与网络设备210兼容的一系列设备(例如对等设备240)。在一些实现方式中,(例如网络设备210与对等设备240之间的)对等设备兼容性可以基于设备特征或者可以在网络设备210和/或对等设备240上激活的应用签名数据库版本而被确定。
情境数据库220包括能够存储网络设备210从网络流量获得的情境信息的一个或多个设备。例如,情境数据库220可以包括存储器设备、服务器设备、网络设备210的存储器等。网络设备210可以使用情境数据库220所存储的情境信息来辅助生成应用签名和/或基于网络流量标识应用。情境数据库220可以是网络设备210本地的或者远程的。在一些实现方式中,情境数据库220可以是包括与一个或多个对等设备240相关联的附加情境数据库或者其部件的分布式实体。在一些实现方式中,与网络设备210和一个或多个对等设备240相关联的情境数据库220可以周期性地同步被存储在各个情境数据库220上的情境信息。在一些实现方式中,情境数据库220可以存储一个或多个规则库,网络设备210可以利用所述规则库来辅助实现从网络流量获得情境信息和应用签名生成。
本地应用签名数据库230包括能够存储应用签名的一个或多个设备。例如,本地应用签名数据库230可以包括存储器设备、服务器设备、网络设备210的存储器等。本地应用签名数据库230可以是网络设备210本地的或者远程的。本地应用签名数据库230可以存储应用签名,该应用签名可以包括由网络设备210生成的应用签名和网络设备210(例如从对等设备240和/或签名提供者设备250)接收的应用签名。网络设备210可以使用本地应用签名数据库230所存储的一个或多个应用签名来辅助实现基于网络设备210所接收、处理和/或传送的网络流量标识应用。
对等设备240包括能够处理和/或传送与端点设备相关联的网络流量的一个或多个设备(例如一个或多个流量传送设备)。例如,对等设备240可以包括路由器、交换机、网关、防火墙、集线器、网桥、反向代理设备、客户端设备、服务器设备(例如代理服务器或执行虚拟机的服务器)、安全设备、入侵检测设备、负载均衡设备或类似设备。在一些实现方式中,对等设备240可以包括能够接收和/或提供网络流量的或者作为网络流量的源或目的地的端点设备。例如,对等设备240可以包括计算机或类似设备。在一些实现方式中,对等设备240可以使用情境数据库和/或本地应用签名数据库来辅助实现应用签名生成和分发。对等设备240可以向网络设备210发送网络流量和/或接收来自网络设备210的网络流量。在一些实现方式中,对等设备240可以被实现为云计算网络的一个或多个设备。
签名提供者设备250包括能够接收、生成、存储、处理和/或提供应用签名的一个或多个设备。例如,签名提供者设备250可以包括服务器、存储设备等。在一些实现方式中,签名提供者设备250可以(例如从网络设备210和/或对等设备240)接收网络设备210和/或对等设备240所生成的一个或多个应用签名。签名提供者设备250可以接收一个或多个DPI供应商所生成的一个或多个应用签名。签名提供者设备250可以向应用签名数据库充电/放电电流路径260添加从网络设备210、对等设备240和/或一个或多个DPI供应商接收到的一个或多个应用签名。签名提供者设备250可以向网络设备210和/或对等设备240发送应用签名数据库260所存储的一个或多个应用签名。在一些实现方式中,签名提供者设备250可以被实现为云计算网络的一个或多个设备。在一些实现方式中,签名提供者设备250可以提供公开应用签名(例如可用于公开分发的应用签名)和/或受限制的应用签名(例如分发可能被局限于指定实体的应用签名)。
应用签名数据库260包括能够存储应用签名的一个或多个设备。例如,应用签名数据库260可以包括存储器设备、服务器设备、签名提供者设备250的存储器等。应用签名数据库260可以是签名提供者设备250本地的或者远程的。应用签名数据库260可以存储应用签名,该应用签名可以包括由网络设备210、对等设备240和/或一个或多个DPI供应商生成的应用签名。在一些实现方式中,应用签名数据库260中的应用签名可以由DPI供应商周期性地更新和/或发布。在一些实现方式中,应用签名数据库260可以被实现为云计算网络的一个或多个设备。在一些实现方式中,应用签名数据库260可以存储公开应用签名(例如可用于公开分发的应用签名)和/或受限制的应用签名(例如分发可能被局限于指定实体的应用签名)。在一些实现方式中,对应用签名数据库260的访问可以被局限于签名提供者设备250。
网络270包括一个或多个有线和/或无线网络。例如,网络270可以包括蜂窝网络(例如长期演进(LTE)网络、3G网络、码分多址(CDMA)网络等)、公用陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网络(例如公共交换电话网络(PSTN))、私用网络、自适应网络、内联网、互联网、基于光纤的网络、云计算网络等和/或这些或其他类型的网络的组合。
图2中所示的设备和网络的数目和布置作为示例被提供。实践中,可以存在与图2中所示的那些相比更多的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络或者不同布置的设备和/或网络。此外,图2中所示的两个或更多个设备可以被实现在单个设备内,或者图2中所示的单个设备可以被实现为多个分布式设备。作为附加或者作为选择,环境200的一组设备(例如一个或多个设备)可以执行被描述为环境200的另一组设备所执行的一个或多个功能。
图3是设备300的示例部件的图。设备300可以对应于网络设备210、对等设备240和/或签名提供者设备250。在一些实现方式中,网络设备210、对等设备240和/或签名提供者设备250可以包括一个或多个设备300和/或设备300的一个或多个部件。如图3中所示,设备300可以包括一组输入部件305、交换部件310、一组输出部件315和控制器320。设备300的部件可以经由有线连接、无线连接或者有线和无线连接的组合互相连接。
输入部件305可以是用于被连接到设备300的物理链路的附接点,并且可以是针对设备300所接收的传入流量(例如分组)的进入点。输入部件305可以处理传入流量,例如通过执行数据链路层封装或去封装。在一些实现方式中,输入部件305可以发送和/或接收分组。在一些实现方式中,输入部件305可以包括输入线路卡,该输入线路卡包括一个或多个分组处理部件(例如采用集成电路的形式),例如一个或多个接口卡(IFC)、分组转发部件、线路卡控制器部件、输入端口、处理器、存储器和/或输入队列。
交换部件310可以将输入部件305和输出部件315互联。在一些实现方式中,交换部件310可以经由一个或多个交叉开关、经由一个或多个总线和/或使用共享存储器来实现。共享存储器可以用作临时缓存来在分组最终被安排传送给输出部件315之前存储来自输入部件305的分组。在一些实现方式中,交换部件310可以允许输入部件305、输出部件315和/或控制器320进行通信。
输出部件315可以是用于被连接到设备300的物理链路的附接点,并且可以是用于设备300所发送的传出流量(例如分组)的出口点。输出部件315可以存储分组并且/或者可以安排分组在输出物理链路上传输。输出部件315可以支持数据链路层封装或去封装,和/或各种更高层的协议。在一些实现方式中,输出部件315可以发送分组和/或接收分组。在一些实现方式中,输出部件315可以包括输出线路卡,该输出线路可包括一个或多个分组处理部件(例如采用集成电路的形式),例如一个或多个IFC、分组转发部件、线路卡控制器部件、输出端口、处理器、存储器和/或输出队列。在一些实现方式中,输入部件305和输出部件315可以用同一组部件来实现(例如输入/输出部件可以是输入部件305和输出部件315的组合)。
控制器320包括采用例如中央处理单元(CPU)、微处理器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)和/或可以解析和/或执行指令的另一种处理器的形式的处理器。处理器用硬件、固件或者硬件和软件的组合来实现。在一些实现方式中,控制器320可以包括可被编程为执行功能的一个或多个处理器。
在一些实现方式中,控制器320可以包括存储供控制器320使用的信息和/或指令的随机访问存储器(RAM)、只读存储器(ROM)和/或另一种动态或静态存储设备(例如闪存、磁性存储器、光存储器等)。
在一些实现方式中,控制器320可以与被连接到设备300的其它设备、网络和/或系统通信以交换关于网络拓扑的信息。控制器320可以基于网络拓扑信息创建路由表,可以基于路由表创建转发表,并且可以将转发表转发给输入部件305和/或输出部件315。输入部件305和/或输出部件315可以使用转发表来执行针对传入和/或传出分组的路由查找。
控制器320可以执行这里所描述的一个或多个处理过程。控制器320可以响应于执行非瞬态计算机可读介质所存储的软件指令来执行这些处理过程。计算机可读介质在这里被限定为非瞬态存储器设备。存储器设备包括在单个物理存储设备内的存储器空间或者被分布在多个物理存储设备上的存储器空间。
软件指令可以经由通信接口从另一计算机可读介质或者从另一设备被读入存储器和/或与控制器320相关联的存储部件内。当被执行时,被存储在存储器和/或与控制器320相关联的存储部件中的软件指令可以使得控制器320执行这里所描述的一个或多个处理过程。作为附加或者作为替代,硬连线的电路装置可以代替软件指令或者与软件指令组合起来被使用以执行这里所描述的一个或多个处理过程。因而,这里所描述的实现方式不局限于硬连线电路装置和软件的任意特定组合。
图3中所示的部件的数目和布置作为示例被提供。实践中,设备300可以包括与图3中所示的那些相比更多的部件、更少的部件、不同的部件或者不同布置的部件。作为附加或者作为选择,设备300的一组部件(例如一个或多个部件)可以执行被描述为设备300的另一组部件所执行的一个或多个功能。
图4A和4B是用于应用签名生成和分发的示例处理过程400的流程图。在一些实现方式中,图4A和4B的一个或多个处理过程块可以由网络设备210执行。在一些实现方式中,图4的一个或多个处理过程块可以由与网络设备210分开的或者包括网络设备210的另一设备或者一组设备执行,例如情境数据库220、本地应用签名数据库230、对等设备240、签名提供者设备250和/或应用签名数据库260。
如图4A中所示,处理过程400可以包括接收网络流量(块402)。例如,网络设备210可以接收网络流量,该网络流量可以对应于一个或多个应用。如这里所使用的,应用可以指工作在应用层或应用层以上(例如在OSI模型的L7或者以上)并且其中客户端(或用户接口)可以在web浏览器中运行的软件应用(web应用)。应用的示例可以包括web邮件、在线零售网站、在线拍卖、wiki网站、即时消息服务、基于web的软件办公套件(例如在线文字处理器、电子表格和/或讲演程序)、社交网络站点等等。
网络流量可以包括一个或多个数据分组,每个数据分组可以包括头部分和数据部分(例如有效载荷)。如这里所使用的,分组可以指用于传达信息的通信结构,例如协议数据单元(PDU)、数据分组、帧、数据报、分段、消息、数据块、数据单元、帧、子帧、时隙、符号、以上结构中的任一个的一部分和/或能够经由网络被传送的另一类型的经格式化或未经格式化的数据单元。
如图4A中所进一步示出的,处理过程400可以包括对网络流量进行分类(块404)。例如,网络设备210可以基于检查网络流量的数据分组对网络流量进行分类。在一些实现方式中,网络设备210可以基于检查数据分组的数据部分(例如通过深度分组检查)和/或头部分来对网络流量进行分类。
在一些实现方式中,网络设备210可以尝试基于被用于网络流量的应用层协议(例如诸如HTTP、SSL等之类的L7协议)对网络流量进行分类。例如,网络设备210可以尝试基于检查数据分组的数据部分(例如通过深度分组检查)和/或头部分来标识被用于网络流量的应用层协议。虽然这里所描述的实现方式一般是在HTTP和/或SSL的情境中被描述的,但是网络设备210可以基于包括新开发的和/或尚待开发的应用层协议在内的任何应用层协议(例如文件传送协议(FTP)、简单邮件传送协议(SMTP)等)对网络流量进行分类。
如图4A中进一步显示的,处理过程400可以包括确定网络流量是否可以被分类到应用层协议上(块406)。例如,网络设备210可以确定网络流量是否可以基于被用于网络流量的应用层协议(例如HTTP、SSL等)被分类。在一些实现方式中,网络设备210可以确定网络流量可以基于被标识为被用于网络流量的应用层协议被分类。
在一些实现方式中,网络设备210可以确定网络流量不可以基于应用层协议被分类,例如当网络设备210不能标识被用于网络流量的应用层协议时。例如,网络设备210可能能够(例如基于对网络流量的数据分组的检查)标识被用于网络流量的传输层(例如OSI层4(L4))协议(例如传输控制协议(TCP))和网络层(例如OSI层3(L3))协议(例如互联网协议(IP)),而不能够还确定被用于网络流量的应用层(例如L7)协议。
如图4A中进一步显示的,如果网络流量不能被分类到应用层协议(块406—否),处理过程400可以包括提供分类(块408)。例如,如果网络设备210不能基于应用层协议对网络流量进行分类,则网络设备210可以提供分类(例如基于对数据分组的检查)。在一些实现方式中,网络设备210可以提供分类到网络设备210能够对网络流量进行分类的程度。例如,当网络设备210能够基于被用于网络流量的网络层(例如L3)协议和传输层(例如L4)协议(例如IP和TCP)而不基于应用层(例如L7)协议对网络流量进行分类时,网络设备210可以提供针对网络流量的分类路径IP:TCP。
如图4A中所进一步显示的,如果网络流量可以被分类到应用层协议上(块406—是),则处理过程400可以包括确定网络流量是否可以被分类到超越应用层协议(块410)。例如,网络设备210可以尝试将网络流量分类到超越被用于网络流量的应用层协议。
在一些实现方式中,网络设备210可能能够将网络流量分类到超越被用于网络流量的应用层协议。例如,网络设备210可以将网络流量分类为与在应用层协议上操作的已知应用相关联(例如基于确定网络流量与本地应用签名数据库230中的应用签名匹配)。
在一些实现方式中,网络设备210可能不能将网络流量分类为超越被用于网络流量的应用层协议。例如,网络设备210可以将网络流量分类为与未知应用相关联(例如基于确定网络流量不满足本地应用签名数据库230中的应用签名)。
如图4A中进一步显示的,如果网络流量可以被分类为超越应用层协议(块410—是),则处理过程400可以包括提供分类(块408)。例如,如果网络设备210确定网络流量与名为EXAMPLE的应用相关联,并且网络流量正在使用IP作为网络层(例如L3)协议、TCP作为传输层(例如L4)协议以及HTTP作为应用层(例如L7)协议,则网络设备210可以为网络流量提供分类路径IP:TCP:HTTP:EXAMPLE。
在一些实现方式中,网络设备210可以提供网络设备210不能分类到超越被用于网络流量的应用层协议的针对网络流量的分类路径。例如,如果网络设备210确定网络流量正在使用IP作为网络层(例如L3)协议、TCP作为传输层(例如L4)协议以及HTTP作为应用层(例如L7)协议,但是不能够标识与网络流量相关联的已知应用,则网络设备210可以为网络流量提供分类路径IP:TCP:HTTP:UNKNOWN。
如图4A中进一步显示的,如果网络流量不能被分类为超越应用层协议(块410—否),则处理过程400可以包括基于应用层协议从网络流量获得情境信息(块412)。例如,如果网络设备210基于被用于网络流量的应用层协议对网络流量进行分类,但是不能够进一步对网络流量进行分类,则网络设备210可以基于应用层协议从网络流量获得情境信息。情境信息可以包括可以从网络流量中的分组(例如通过深度层检查)获得的与应用层协议相关联的信息条目,并且所述信息条目可以被用于标识与网络流量相关联的应用。
在一些实现方式中,要从网络流量获得的特定的情境信息条目可以基于被用于网络流量的应用层协议(例如HTTP或SSL)。例如,网络设备210可以被提供有与网络设备210要针对其对网络流量进行分类的每个应用层协议相关联的至少一个规则库。每个规则库可以包括关于该规则库要结合其被使用的应用层协议的信息、要从网络流量获得的情境信息条目,应用签名的内容和格式、用于创建应用签名的阈值、针对所创建的应用签名要采取的动作、应用命名惯例等等。在一些实现方式中,网络设备210可以确定规则库是否可用于基于特定应用层协议(例如HTTP或SSL)获得情境信息。在一些实现方式中,网络设备210可以由情境数据库220获得规则库。
在一些实现方式中,网络设备210可以被提供有更新后的、附加的和/或新的规则库以允许由正在使用附加的和/或新的应用层协议的网络流量获得情境信息。在一些实现方式中,网络设备210可以被提供有更新后的、附加的和/或新的规则库以允许由基于可用于各种应用层协议的情境信息从网络流量获得情境信息,所述各种应用层协议包括网络设备210之前针对其被提供有规则库的应用层协议。更新后的、附加的和/或新的规则库可以由系统管理员、通过机器学习(例如通过网络设备210、通过对等设备240和/或通过签名提供者设备250)、通过分析或者任何其它合适的方法创建。
在一些实现方式中,规则库可以指定情境信息由正在使用HTTP应用层协议的网络流量获得。例如,可以由正在使用HTTP应用层协议的网络流量获得的情境信息可以包括HTTP请求详情和HTTP响应详情,例如正在被请求的URI(HTTP_URI)、服务器主机名(HTTP_HOST)、cookie(HTTP_COOKIE)等。在一些实现方式中,网络设备210可以由被包括在正在使用HTTP应用层协议的网络流量中的HTTP请求获得服务器主机名(HTTP_HOST)和被请求的URI(HTTP_URI)。
在一些实现方式中,规则库可以指定情境信息由正在使用SSL应用层协议的网络流量获得。例如,可以由正在使用SSL应用层协议的网络流量获得的情境信息可以包括服务器证书属性、来自客户端问候消息的参数(例如由客户端向该客户端正在尝试与之连接来进行安全通信会话的服务器发送的客户端问候(ClientHello))等等。在一些实现方式中,来自客户端问候消息的参数可以包括客户端所支持的协议版本(例如SSL)、被建议的加密套件列表、被建议的压缩方法、针对客户端正尝试连接到的服务器的服务器名扩展等等。在一些实现方式中,网络设备210可以由正在使用SSL应用层协议的网络流量获得针对服务器证书的通用名(例如存在于在证书中并且不是公用符值的情况下)和/或服务器名扩展(例如来自客户端问候消息)。
如图4A中进一步显示的,处理过程400可以包括确定情境信息是否与情境数据库中的现有条目匹配(块414)。例如,网络设备210可以在情境数据库220中查找从网络流量获得的情境信息并且确定所获得的情境信息是否与被存储在情境数据库220中的现有条目匹配。
在一些实现方式中,网络设备210可以基于与正在被用于网络流量的应用层协议相关联的规则库查找情境信息。例如,网络设备210可以在情境数据库220中查找由正在使用HTTP应用层协议的网络流量获得的服务器主机名(HTTP_HOST)和被请求的URI(HTTP_URI)。或者,网络设备210可以在情境数据库220中查找由正在使用SSL应用层协议的网络流量获得的针对服务器证书的通用名和/或服务器名扩展。
在一些实现方式中,网络设备210可以在情境数据库220中查找所获得的情境信息之前对所获得的情境信息进行标准化。例如,网络设备210可以利用合适的散列函数来对所获得的情境信息的一个或多个条目生成散列,然后将针对所获得的情境信息的散列与情境数据库220中的散列进行比较。
如图4A中进一步显示的,如果情境信息与情境数据库中的现有条目不匹配(块414—否),则处理过程400可以包括向情境数据库中添加新的条目(块416)。例如,如果网络设备210确定情境信息与情境数据库220中的现有条目不匹配,则网络设备210可以基于情境信息向情境数据库220中添加新的条目。在一些实现方式中,情境数据库220中的条目可以包括关于网络流量的各种信息。例如,情境数据库220中的条目可以包括被分配的名称、被用于网络流量的各种协议(例如网络层、传输层和应用层协议)、从网络流量获得的情境信息项、用于创建应用签名的阈值(如下面将描述的)和阈值信息(例如用于针对阈值的估价)。
在一些实现方式中,被包括在情境数据库220中的条目中的情境信息项可以被标准化。例如,情境数据库220中的条目可以包括针对情境信息项中的一个或多个、利用合适的散列函数所生成的散列。对所存储的情境信息进行标准化可以支持不同设备(例如网络设备210和对等设备240)从网络流量获得的情境信息的对比。
在一些实现方式中,网络设备210可以基于应用命名惯例为情境数据库220中的条目分配名称,所述应用命名惯例被包括在用于正在被用于网络流量的应用层协议的规则库中。例如,基于由正在使用HTTP应用层协议的网络流量获得的情境信息的条目可以基于服务器主机名和针对被请求的URI的标准化值的组合。或者,基于由正在使用SSL应用层协议的网络流量获得的情境信息的条目可以基于针对服务器证书的通用名和服务器名扩展的组合。
在一些实现方式中,情境数据库220可以包括与所获得的情境信息相关联的元数据。例如,情境数据库220可以包括诸如目的地IP地址、目的地端口标识符、虚拟路由和转发(VRF)标识符、逻辑系统(LSYS)标识符、虚拟局域网(VLAN)标识符、虚拟可扩展局域网(VXLAN)标识符、应用标识符、应用层协议标识符、情境信息标识符等之类的元数据。在一些实现方式中,元数据可以被用于辅助实现在情境数据库220中查找所获得的情境信息。基于关联的元数据在情境数据库220中查找所获得的情境信息可以允许区分指向相同位置的多个条目。区分指向相同位置的多个条目可以帮助标识情境信息将在其中被查找的明确定义的域。标识情境信息将在其中被查找的明确定义的域可以避免将类似但不同的网络流量集合在一起并且可以提供对网络流量的更一致的分类。
如图4A中进一步显示的,当情境信息与情境数据库220中的现有条目不匹配时(块414—否),处理过程400可以还包括提供分类(块408)。例如,当情境信息与情境数据库220中的现有条目不匹配时,网络设备210可以将网络流量分类为与新的未知应用相关联。在一些实现方式中,如果情境信息与情境数据库220中的现有条目不匹配,则网络设备210可以提供分类路径(例如IP:TCP:HTTP:UNKNOWN_NEW_TAG)以指示网络流量包括没有与已知应用相关联的之前未被遇到的情境信息。
如图4A中进一步显示的,如果情境信息与情境数据库中的现有条目匹配(块414—是),则处理过程400可以包括确定是否满足阈值(块418)。例如,网络设备210可以基于从网络流量获得的情境信息和/或情境数据库220中的阈值信息确定就情境数据库220中的现有条目而言已经满足是否已经满足阈值。
在一些实现方式中,阈值可以基于关于用于创建应用签名的阈值的信息,该信息被包括在用于正在被用于网络流量的应用层协议的规则库中。例如,针对情境数据库220中的条目的阈值可以是点击计数值(例如去往具有匹配的情境信息的相同服务器的会话的数目)、点击率(例如去往具有匹配的情境信息的相同服务器的会话的频率)、与点击相关联的不同的源-目的地对的数目、新的会话建立率等。阈值信息可以包括一个或多个计数器以跟踪用于与阈值比较的适当的信息(例如点击数目、点击率、不同的源-目的地对的数目或者新的会话建立率)。
在一些实现方式中,阈值可以被用于确定应用签名何时应当被生成(例如在有限次匹配之后,例如其中多个用户可能正在访问可能成为公知应用的应用)。例如,阈值可以被用于指示应用对于网络运营商来说可能是感兴趣的以使得应用签名(例如基于从网络流量获得的情境信息)应当被生成以用于标识应用。
在一些实现方式中,情境数据库220中的条目可能具有不止一个阈值。在一些实现方式中,满足至少一个阈值可能足够用以生成应用签名。在一些实现方式中,满足所有阈值对于生成应用签名来说可能是必要的。
如图4A中进一步显示的,如果没有满足阈值(块418—否),则处理过程400可以包括更新计数器并且与对等设备同步情境信息(块420)。例如,如果网络设备210确定没有满足阈值,则网络设备210可以针对情境数据库220中的适当条目更新阈值信息中的适当的计数器。网络设备210还可以向对等设备240发送从网络流量获得的情境信息,这可以将对等设备240所获得的情境信息与被存储在情境数据库220中的情境信息(例如与网络设备210所获得的情境信息)同步。
如图4A中进一步显示的,如果没有满足阈值(块418—否),则处理过程400还可以包括提供分类(块408)。例如,当没有满足阈值时,网络设备210可以将网络流量分类为与未知的但之前遇到过的应用相关联。在一些实现方式中,如果情境信息与情境数据库220中的现有条目匹配,但是针对现有条目的没有满足阈值,则网络设备210可以提供分类路径(例如IP:TCP:HTTP:UNKNOWN_TAGGED)以指示网络流量包括之前遇到过的情境信息但是不对应于已知应用。
如图4A中进一步显示的,如果满足阈值(块418—是),则处理过程400可以包括基于情境信息(块422)生成应用签名。例如,当网络设备210确定针对情境数据库220中的条目的阈值已经被满足时,网络设备210可以基于从网络流量获得的情境信息和/或来自情境数据库220中的条目的匹配情境信息来生成应用签名。在一些实现方式中,所生成的应用签名可以包括应用层协议和从网络流量获得的情境信息项中的至少一个。在一些实现方式中,网络设备210可以基于关于应用签名的内容和格式的信息生成应用签名,所述信息被包括在用于正在被用于网络流量的应用层协议的规则库中。
在一些实现方式中,规则库可以指定,应用签名的内容和格式基于由正在使用HTTP应用层协议的网络流量获得的情境信息而被生成。例如,当从网络流量获得的情境信息包括正在被请求的URI和服务器主机名时,所生成的应用签名可以包括基于应用层协议(例如应用层=HTTP)的应用标识规则以及基于被请求的URI(例如HTTP_URI=HTTP_URI值)和/或服务器主机名(例如HTTP_HOST=HTTP_Host值)的应用标识规则。在一些实现方式中,所生成的应用签名可以包括基于应用层协议、被请求的URI和服务器主机名(例如(应用层=HTTP)且(HTTP_URI=HTTP_URI值)且(HTTP_HOST=HTTP_Host值))的应用标识规则。在一些实现方式中,所生成的应用签名可以包括基于应用层协议和被请求的URI(例如(应用层=HTTP)且(HTTP_URI=HTTP_URI值))的应用标识规则。在一些实现方式中,所生成的应用签名可以包括基于应用层协议和服务器主机名(例如(应用层=HTTP)且(HTTP_HOST=HTTP_Host值))的应用标识规则。
在一些实现方式中,规则库可以指定,应用签名的内容和格式基于由正在使用SSL应用层协议的网络流量获得的情境信息而被生成。例如,当由正在使用SSL应用层协议的网络流量获得的情境信息包括针对服务器证书的通用名和服务器名扩展时,所生成的应用签名可以包括基于应用层协议(例如应用层=SSL)的应用标识规则以及基于针对服务器证书的通用名(例如Certificate_Name=Certificate_Name值)和/或服务器名扩展(例如Server_Name=Server_Name值)的应用标识规则。在一些实现方式中,所生成的应用签名可以包括基于应用层协议、针对服务器证书的通用名和服务器名扩展(例如(应用层=SSL)且(Certificate_Name=Certificate_Name值)且(Server_Name=Server_Name值))的应用标识规则。在一些实现方式中,所生成的应用签名可以包括基于应用层协议和针对服务器证书的通用名(例如(应用层=SSL)且(Certificate_Name=Certificate_Name值))的应用标识规则。在一些实现方式中,所生成的应用签名可以包括基于应用层协议和服务器名扩展(例如(应用层=SSL)且(Server_Name=Server_Name值))的应用标识规则。
在一些实现方式中,所生成的应用签名可以包括应用名。在一些实现方式中,应用名可以基于被包括在针对被用于网络流量的应用层协议的规则库中的应用命名惯例。在一些实现方式中,应用名可以基于服务器主机名(例如对于使用HTTP作为应用层协议的流量)或者针对服务器证书的通用名(例如对于使用SSL作为应用层协议的流量)。
在一些实现方式中,网络设备210可以提供导致网络设备210生成应用签名的针对网络流量的分类路径并且可以基于应用签名标识应用。例如,如果网络设备210基于由正在使用IP作为L3协议、TCP作为L4协议、HTTP作为应用层协议和XYZ作为服务器主机名(例如HTTP_HOST=XYZ)的网络流量获得的情境信息生成应用签名,则网络设备210可以基于应用签名标识应用并且为网络流量提供应用名XYZ(例如服务器主机名)和分类路径IP:TCP:HTTP:XYZ。
如图4A中进一步显示的,处理过程400可以包括对所生成的应用签名进行标准化(块424)。例如,网络设备210可以对所生成的应用签名进行标准化。
在一些实现方式中,网络设备210可以对所生成的应用签名使用合适的映射函数来对所生成的应用签名进行标准化。例如,网络设备210可以使用合适的散列函数来对所生成的应用签名生成散列。在一些实现方式中,网络设备210可以使用合适的散列函数、基于应用层协议、被用在应用签名中的情境信息项和针对被用在应用签名中的情境信息项的值来生成散列(例如该散列可以在{HTTP、HTTP_HOST、HTTP_Host值}、{SSL、Certificate_Name、Certificate_Name值}上被生成)。
在一些实现方式中,经标准化的所生成的应用签名可以包括所生成的应用签名(例如应用标识规则)以及应用名、针对所生成的应用签名的散列、签名生成信息、签名类型信息和/或关于应用签名是私用还是公开的指示。在一些实现方式中,签名生成信息可以指示应用签名是(例如由网络设备210)本地生成的还是从另一设备(例如对等设备240或签名提供者设备250)接收的。在一些实现方式中,签名类型信息可以指示应用签名是新签名(例如要被添加到本地应用签名数据库230中)还是更新签名(例如该签名应当替换本地应用签名数据库230中的应用签名)。使用基于散列的经标准化的所生成的应用签名可以允许比较不同设备(例如网络设备210、对等设备240或签名提供者设备250)针对相同应用所生成的应用签名,因为应用签名应当具有相同的散列,即使应用的命名不同。
如图4B中所示,处理过程400可以包括将经标准化的所生成的应用签名添加到本地应用签名数据库中(块426)。例如,网络设备210可以将经标准化的所生成的应用签名添加到本地应用签名数据库230中(例如基于关于针对所创建的应用签名要采取的动作的信息,该信息被包括在用于正在被用于网络流量的应用层协议的规则库中)。在一些实现方式中,经标准化的所生成的应用签名可以被添加到本地应用签名数据库230中的新的名称空间中。在一些实现方式中,网络设备210可以额外地向本地应用签名数据库230添加源自经标准化的所生成的应用签名的应用名和/或相关联的元数据(例如针对与签名相关联的应用的应用群组信息)。
如图4B中进一步显示的,处理过程400可以包括向对等设备发送经标准化的所生成的应用签名,并且如果该签名是公开的,则还向签名提供者设备提供该签名(块428)。例如,网络设备210可以向对等设备240发送经标准化的所生成的应用签名并且如果经标准化的所生成的应用签名是公开的(例如应用签名可用于公开分发),则向签名提供者设备250发送该签名。
在一些实现方式中,网络设备210可以基于关于就所创建的应用签名而言要采取的动作的信息向对等设备240发送经标准化的所生成的应用签名,所述信息被包括在用于正在被用于网络流量的应用层协议的规则库中。在一些实现方式中,对等设备240可以基于从网络设备210接收的经标准化的所生成的应用签名更新对等设备240的应用签名信息,以使得对等设备240可以将应用签名用于应用标识。在一些实现方式中,网络设备210可以向其它对等设备(例如与网络270相关联的其它安全设备)发送经标准化的所生成的应用签名,所述其它对等设备可以在网络设备210的对等设备跟踪部件中被列出或标识。向对等设备发送经标准化的所生成的应用签名可以支持在与网络270相关联的安全设备(例如网络设备210和对等设备240)中的一致的应用标识。
在一些实现方式中,当经标准化的所生成的应用签名被指示为公开的时,网络设备210可以向签名提供者设备250发送经标准化的所生成的应用签名。例如,网络设备210可以基于关于就所创建的应用签名而言要采取的动作的信息向签名提供者设备250发送经标准化的所生成的应用签名,所述信息被包括在用于正在被用于网络流量的应用层协议的规则库中。在一些实现方式中,网络设备210可以除了经标准化的所生成的应用签名以外还发送(例如从网络流量所获得的)相应的分组捕获信息。在一些实现方式中,网络设备210可以禁止向签名提供者设备250发送经标准化的所生成的应用签名和/或相应的分组捕获信息。在一些实现方式中,签名提供者设备250可以将应用签名用于应用标识。在一些实现方式中,签名提供者设备签名提供者设备250可以使得所接收到的经标准化的所生成的应用签名和/或相应的分组捕获信息可用于(例如可用于DPI商家)分析和/或包括在应用签名数据库(例如应用签名数据库260)的将来的发布中。
如图4B中进一步显示的,处理过程400可以包括从对等设备和/或签名提供者设备接收新的应用签名(块430)。例如,网络设备210可以从对等设备240和/或签名提供者设备250接收新的应用签名。在一些实现方式中,从对等设备240接收的新的应用签名可能已经由对等设备240生成。在一些实现方式中,新的应用签名可以基于对应用签名数据库260的更新而(例如从签名提供者设备250或对等设备240)被接收。例如,对等设备240可以基于对等设备240已经接收到来自签名提供者设备250的新的应用签名而向网络设备210发送新的应用签名。
在一些实现方式中,新的应用签名可能已被对等设备240和/或签名提供者设备250标准化,使得网络设备210接收到经标准化的新的应用签名。在一些实现方式中,网络设备210可以对所接收的应用签名进行标准化以生成经标准化的新的应用签名。在一些实现方式中,网络设备210可以在接收新的应用签名时一起接收针对新的应用签名的应用名和/或相关联的元数据(例如针对与签名相关联的应用的应用群组信息)。
如图4B中进一步显示的,处理过程400可以包括确定经标准化的新的应用签名是否匹配经标准化的所生成的应用签名(块432)。例如,网络设备210可以确定经标准化的新的应用签名的散列(例如被包括在经标准化的新的应用签名中的散列)是否匹配经标准化的所生成的应用签名的散列(例如被包括在经标准化的所生成的应用签名中的散列),如以上针对对所生成的应用签名进行标准化所讨论的(块424)。在一些实现方式中,将经标准化的新的应用签名与经标准化的所生成的应用签名的散列进行匹配可以指示两个签名用于相同的应用。在一些实现方式中,经标准化的新的应用签名的散列可以是基于(例如网络流量的)公开样本被生成的散列,应用签名提供者(例如DPI商家)可能已经接收到所述公开样本,并且经标准化的新的应用签名可能已经基于所述公开样本而被生成。
在一些实现方式中,网络设备210可以遍历本地应用签名数据库230中的所有应用签名(可以包括网络设备210所生成的所有应用签名),以确定经标准化的新的应用签名的散列是否匹配本地应用签名数据库230中的任意应用签名的散列。例如,网络设备210可能之前已经(例如从对等设备240和/或签名提供者设备250)接收到新的应用签名。或者,网络设备210可能还没有接收到指示(例如本地应用签名数据库230中的)签名应当被移除或替换的更新。
如图4B中进一步显示的,如果经标准化的新的应用签名的散列与经标准化的所生成的应用签名的散列不匹配(块432—否),则处理过程400可以包括将经标准化的新的应用签名添加到本地应用签名数据库中(块434)。例如,如果经标准化的新的应用签名的散列与经标准化的所生成的应用签名的散列不匹配,则网络设备210可以将经标准化的新的应用签名添加到本地应用签名数据库230中。在一些实现方式中,如果经标准化的新的应用签名的散列与本地应用签名数据库230中的任何应用签名的散列都不匹配,则网络设备210可以将经标准化的新的应用签名添加到本地应用签名数据库230中。在一些实现方式中,网络设备210可以额外地向本地应用签名数据库230添加针对经标准化的新的应用签名的应用名和/或相关联的元数据(例如应用群组信息)。
如图4B中进一步显示的,如果经标准化的新的应用签名的散列与经标准化的所生成的应用签名的散列匹配(块432—是),则处理过程400可以包括确定经标准化的新的应用签名是否具有比经标准化的所生成的应用签名更高的优先级(块436)。例如,如果经标准化的新的应用签名的散列与经标准化的所生成的应用签名的散列匹配,则网络设备210可以基于合适的优先级机制确定经标准化的新的应用签名是否具有比经标准化的所生成的应用签名更高的优先级。
确定应用签名之间(例如所接收的新的应用签名与由网络设备210在本地生成的签名之间)的优先级可以允许与网络270相关联的各种安全设备(例如网络设备210和对等设备240)汇集到一个公用的应用签名集合。这一个公用的应用签名集合可以包括具有一个公用的应用名集合的一组不同的签名,但是这个集合中的应用签名可能由不同的设备(例如网络设备210或对等设备240)生成,可能具有不同的应用命名惯例。在具有一个公用的应用名集合的情况下汇集到一个公用的应用签名集合可以支持利用与网络270相关联的各种安全设备(例如网络设备210和对等设备240)进行一致且高效的应用报告(例如基于一个公用的应用名集合)以及一致且高效的策略执行。
在一些实现方式中,合适的优先级机制可以包括给来自应用签名数据库260的应用签名赋予最高优先级。例如,可能由DPI商家生成的来自应用签名数据库260的签名可以具有比网络设备210所生成的签名更高的优先级。
在一些实现方式中,与网络270相关联的安全设备(例如网络设备210和对等设备240)所生成的应用签名可以基于与生成应用签名的设备相关联的IP地址被分配优先级。例如,具有第一范围内的IP地址的设备(例如网络设备210或对等设备240)所生成的签名可以被赋予比具有第二范围内的IP地址的设备(例如对等设备240或网络设备210)所生成的签名更高的优先级。
在一些实现方式中,应用签名可以包括指示该应用签名应当被赋予高优先级的属性。例如,应用签名可以包括指示该应用签名被包括在对应用签名数据库260的新发布的更新中的属性。
如图4B中进一步显示的,如果经标准化的新的应用签名不具有比经标准化的所生成的应用签名更高的优先级(块436—否),则处理过程400可以包括将经标准化的所生成的应用签名保留在本地应用签名数据库中(块438)。例如,当经标准化的新的应用签名不具有比与经标准化的新的应用签名具有相同散列的经标准化的所生成的应用签名更高的优先级时,网络设备210可以将经标准化的所生成的应用签名、来自经标准化的所生成的应用签名的应用名和/或任意相关联的元数据(例如应用群组信息)保留在本地应用签名数据库230中。
如图4B中进一步显示的,如果经标准化的新的应用签名具有比经标准化的所生成的应用签名更高的优先级(块436—是),则处理过程400可以包括在本地应用签名数据库中利用经标准化的新的应用签名替换经标准化的所生成的应用签名(块440)。例如,经标准化的新的应用签名具有比与经标准化的新的应用签名具有相同散列的经标准化的所生成的应用签名更高的优先级时,网络设备210可以在本地应用签名数据库230中利用经标准化的新的应用签名替换经标准化的所生成的应用签名。在一些实现方式中,当经标准化的新的应用签名具有更高的优先级时,网络设备210可以额外地在本地应用签名数据库230中利用针对经标准化的新的应用签名的应用名和/或任意相关联的元数据来替换针对经标准化的所生成的应用签名的应用名和/或任意相关联的元数据。
如图4B中进一步显示的,处理过程400可以包括通知对等设备经标准化的新的应用签名替换了经标准化的所生成的应用签名(块442)。例如,当网络设备210已经(例如利用网络设备210所接收到的经标准化的新的应用签名)替换了经标准化的所生成的应用签名时,网络设备210可以通知对等设备240。在一些实现方式中,接收到关于网络设备210已经替换了经标准化的所生成的应用签名的通知可以使得对等设备240移除对等设备240针对经标准化的所生成的应用签名的本地条目和/或利用经标准化的新的应用签名替换对等设备240针对经标准化的所生成的应用签名的本地条目。移除或替换对等设备240针对经标准化的所生成的应用签名的本地条目可以支持对等设备240和网络设备210所使用的应用签名之间的一致性,即使当对等设备240和网络设备210在不同时间接收来自签名提供者设备的更新时也一样。
虽然图4A和4B示出了处理过程400的示例过程块,但是在一些实现方式中,处理过程400可以包括比图4A和4B中所显示的那些示例过程块更多的过程块、更少的过程块、不同的过程块或者不同布置的过程块。作为附加,或者作为替换,处理过程400的两个或更多个过程块可以被并行执行。
这里所描述的实现方式可以允许基于正在被网络设备接收的网络流量由网络设备且在网络设备之间自动生成、分发和汇集应用签名。应用签名的自动生成、分发和汇集可以减少与应用签名的生成、分发和汇集相关联的延迟并且可以支持对本地受欢迎的应用的标识。减少与应用签名的生成和分发相关联的延迟、标识本地受欢迎的应用和自动汇集应用签名可以提高应用感知和/基于应用的网络安全的有效性。提高应用感知和/或基于应用的网络安全的有效可以加速去除非法入侵流量和/或标识合法流量。去除非法入侵流量可以提高网络安全性,节约计算资源(例如否则可能被非法入侵流量消耗的处理资源和/或存储器资源)并且由于从网络中去除了非法入侵流量而提高网络性能(例如吞吐量和/或延迟)。加速标识合法流量可以节约计算资源(例如否则可能被标识合法流量消耗的处理资源和/或存储器资源)并且可以由于标识合法流量的时间减少而提高针对合法流量的网络性能(例如吞吐量和/或延迟)。
之前的公开提供了图示和描述,但不希望是穷尽式的或者将实现方式限制为所公开的精确形式。修改和变形在以上公开的启发下是可能的或者可以从对实现方式的实践中得到。
如这里所使用的,术语部件意欲被宽泛地理解为硬件、固件和/或硬件和软件的组合。
一些实现方式在这里结合阈值被描述。如这里所使用的,满足阈值可以指值大于阈值、多于阈值、高于阈值、大于或等于阈值、小于阈值、少于阈值、低于阈值、少于或等于阈值、等于阈值等。
将清楚这里所描述的系统和/或非法可以按硬件、固件或硬件和软件的组合的不同形式来实现。被用于实现这些系统和/或方法的实际专用的控制硬件或软件代码不是对实现方式的限制。因而,系统和/或方法的操作和行为在这里没有参考特定的软件代码被描述,应理解为软件和硬件可以被设计为基于这里的描述实现系统和/或方法。
虽然特定的特征组合在权利要求中被引述和/或在说明书中被公开,但是这些组合不意图限制对可能的实现方式的公开。实际上,这些特征中的很多特征可以按没有专门在权利要求中引述和/或说明书中公开的方式被组合。虽然下面所列出的每个从属权利要求可以直接从属于唯一一个权利要求,但是对可能的实现方式的公开包括每个从属权利要求与权利要求集合中的每个其它权利要求的组合。
这里所使用的元件、动作或指令都不应当被诠释为至关重要或者必不可少的,除非被明确描述。此外,如这里所使用的,冠词“一个”意图包括一个或多个项,并且可以与“一个或多个”互换地使用。此外,如这里所使用的,术语“集合”意图包括一个或多个项(例如相关的项、不相关的项、相关的和不相关的项的组合等),并且可以与“一个或多个”互换地使用。在意图指只有一项的情况下,术语“单个”或类似的语言被使用。此外,如这里所使用的,术语“具有”等意为开放式术语。此外,短语“基于”意指“至少部分基于”,除非明确说明其它情况。
本发明的实施方式提供了一种网络设备,包括一个或多个处理器,用于:接收针对应用的网络流量;标识被用于网络流量的应用层协议;从网络流量获得情境信息以获得情境信息项,该情境信息项基于应用层协议被选择;确定情境信息项匹配被存储的情境信息项;确定就被存储的情境信息项而言已经满足阈值;基于情境信息项生成针对应用的应用签名;以及向另一设备发送应用签名以准许另一设备基于应用签名标识应用。
可选地,一个或多个处理器还用于在向另一设备发送应用签名之前确定应用签名是否是公开的;并且其中所述一个或多个处理器在向另一设备发送应用签名时用于:基于应用签名是否是公开的来选择性地向另一设备发送应用签名。
可选地,应用签名是第一应用签名;并且其中所述一个或多个处理器还用于:从另一设备接收第二应用签名;确定第二应用签名是否对应于第一应用签名;以及当第二应用签名不对应于第一应用签名时选择性地存储第一应用签名和第二应用签名;或者当第二应用签名对应于第一应用签名时,选择性地确定第一应用签名和第二应用签名中的更高优先级的一个应用签名,并且选择性地存储第一应用签名和第二应用签名中的更高优先级的一个应用签名。
可选地,所述一个或多个处理器还用于:在确定第二应用签名是否对应于第一应用签名之前生成基于第一应用签名的第一散列和基于第二应用签名的第二散列;并且所述一个或多个处理器在确定第二应用签名是否对应于第一应用签名时用于:确定第一散列是否匹配第二散列。
可选地,所述一个或多个处理器还用于:向另一设备发送情境信息。
可选地,应用层协议是超文本传输协议(HTTP);情境信息项包括服务器主机名或正在被请求的统一资源标识符(URI)中的至少一个;并且应用签名基于服务器主机名或者正在被请求的URI中的至少一个。
可选地,应用层协议是安全协议;情境信息项包括针对服务器证书的通用名或者来自客户端问候消息的服务器名扩展中的至少一个;并且应用签名基于针对服务器证书的通用名或服务器名扩展中的至少一个。
本发明的实施方式提供了一种存储指令的非瞬态计算机可读介质,所述指令包括一个或多个指令,该一个或多个指令被一个或多个处理器执行时促使该一个或多个处理器:接收与应用相关联的网络流量;从网络流量确定正在被用于网络流量的应用层协议;从网络流量获得情境信息项,该情境信息项与应用层协议相关联;确定情境信息项与被存储的情境信息项匹配;确定就被存储的情境信息项而言已经满足阈值;基于被存储的情境信息项生成针对应用的应用签名;并且向另一设备发送应用签名以准许另一设备基于应用签名标识应用。
可选地,所述一个或多个指令当被所述一个或多个处理器执行时促使所述一个或多个处理器:在向另一设备发送应用签名之前生成经标准化的应用签名,该经标准化的应用签名包括基于被存储的情境信息项生成的散列;并且促使所述一个或多个处理器向另一设备发送应用签名的所述一个或多个指令促使所述一个或多个处理器向另一设备发送经标准化的应用签名。
可选地,所述一个或多个指令当被所述一个或多个处理器执行时还促使所述一个或多个处理器:在向另一设备发送应用签名之前确定应用签名是否是公开的;并且促使所述一个或多个处理器向另一设备发送应用签名的所述一个或多个指令促使所述一个或多个处理器:基于应用签名是否是公开的来选择性地向另一设备发送应用签名。
可选地,应用签名是第一应用签名;并且所述一个或多个指令当被所述一个或多个处理器执行时还促使所述一个或多个处理器:存储第一应用签名;接收第二应用签名;确定第二应用签名是否对应于第一应用签名;并且当第二应用签名不对应于第一应用签名时选择性地存储第二应用签名;或者当第二应用签名对应于第一应用签名时,选择性地确定第一应用签名和第二应用签名中的更高优先级的一个,并且当第一应用签名和第二应用签名中的更高优先级的一个是第二应用签名时利用第二应用签名替换第一应用签名。
可选地,所述一个或多个指令当被所述一个或多个处理器执行时还促使所述一个或多个处理器:在确定第二应用签名对应于第一应用签名之前生成基于第一应用签名的第一散列和基于第二应用签名的第二散列;并且促使所述一个或多个处理器确定第二应用签名是否对应于第一应用签名的所述一个或多个指令促使所述一个或多个处理器:确定第一散列是否匹配第二散列。
可选地,应用层协议是超文本传输协议(HTTP);被存储的情境信息项包括服务器主机名或正在被请求的统一资源标识符(URI)中的至少一个;并且应用签名基于服务器主机名或者正在被请求的URI中的至少一个。
可选地,应用层协议是安全协议;被存储的情境信息项包括针对服务器证书的通用名或者来自客户端问候消息的服务器名扩展中的至少一个;并且应用签名基于针对服务器证书的通用名或服务器名扩展中的至少一个。
本发明的实施方式提供了一种方法,包括:由网络设备接收网络流量,该网络流量对应于应用;由网络设备标识正在被用于网络流量的应用层协议;由网络设备并且从网络流量获得情境信息项,该情境信息项基于应用层协议被选择;由网络设备确定情境信息项匹配被存储的情境信息项;由网络设备确定就被存储的情境信息项而言已经满足阈值;由网络设备并且针对应用、基于情境信息项生成应用签名;并且由网络设备向另一设备发送应用签名以准许另一设备基于应用签名来标识应用。
可选地,所述方法还包括:在向另一设备发送应用签名之前确定应用签名是否是公开的;并且其中向另一设备发送应用签名包括:基于应用签名是否是公开的选择性地向另一设备发送应用签名。
可选地,应用签名是第一应用签名;并且所述方法还包括:接收第二应用签名;生成基于第一应用签名的第一散列和基于第二应用签名的第二散列;确定第一散列是否匹配第二散列;并且当第一散列不匹配第二散列时选择性地存储第一应用签名和第二应用签名;或者当第一散列匹配第二散列时,选择性地确定第一应用签名和第二应用签名中的更高优先级的一个,并且选择性地存储第一应用签名和第二应用签名中的更高优先级的一个。
可选地,所述方法还包括:在向另一设备发送应用签名之前生成经标准化的应用签名,所述经标准化的应用签名包括基于情境信息项生成的散列;并且其中向另一设备发送应用签名包括:向另一设备发送经标准化的应用签名。
可选地,应用层协议是超文本传输协议(HTTP);情境信息项包括服务器主机名或正在被请求的统一资源标识符(URI)中的至少一个;并且应用签名基于服务器主机名或者正在被请求的URI中的至少一个。
可选地,应用层协议是安全协议;情境信息项包括针对服务器证书的通用名或者来自客户端问候消息的服务器名扩展中的至少一个;并且应用签名基于针对服务器证书的通用名或服务器名扩展中的至少一个。
Claims (13)
1.一种网络设备,包括:
用于接收针对应用的网络流量的装置;
用于标识被用于所述网络流量的应用层协议的装置;
用于从所述网络流量获得情境信息以获得情境信息项的装置,
所述情境信息项基于所述应用层协议被选择;
用于确定所述情境信息项匹配被存储的情境信息项的装置;
用于确定就所述被存储的情境信息项而言已经满足阈值的装置;
用于基于所述情境信息项生成针对所述应用的应用签名的装置;以及
用于向另一设备发送所述应用签名以准许所述另一设备基于所述应用签名标识所述应用的装置。
2.根据权利要求1所述的网络设备,还包括用于在向所述另一设备发送所述应用签名之前确定所述应用签名是否是公开的装置;并且
其中用于向所述另一设备发送所述应用签名的装置包括:
用于基于所述应用签名是否是公开的来选择性地向所述另一设备发送所述应用签名的装置。
3.根据权利要求1所述的网络设备,其中所述应用签名是第一应用签名;并且
还包括:
用于从所述另一设备接收第二应用签名的装置;
用于确定所述第二应用签名是否对应于所述第一应用签名的装置;以及
用于在所述第二应用签名不对应于所述第一应用签名时选择性地存储所述第一应用签名和所述第二应用签名两者的装置;或者
当所述第二应用签名对应于所述第一应用签名时,
用于选择性地确定所述第一应用签名和所述第二应用签名中的更高优先级的一个的装置,以及
用于选择性地存储所述第一应用签名和所述第二应用签名中的更高优先级的一个的装置。
4.根据权利要求3所述的网络设备,还包括:
用于在确定所述第二应用签名是否对应于所述第一应用签名之前生成基于所述第一应用签名的第一散列和基于所述第二应用签名的第二散列的装置;并且
其中用于确定所述第二应用签名是否对应于所述第一应用签名的装置包括:
用于确定所述第一散列是否匹配所述第二散列的装置。
5.根据权利要求1所述的网络设备,还包括:
用于向所述另一设备发送所述情境信息的装置。
6.根据权利要求1所述的网络设备,其中所述应用层协议是超文本传输协议(HTTP);
其中所述情境信息项包括服务器主机名或正在被请求的统一资源标识符(URI)中的至少一个;并且
其中所述应用签名基于所述服务器主机名或者正在被请求的所述URI中的至少一个。
7.根据权利要求1所述的网络设备,其中所述应用层协议是安全协议;
其中所述情境信息项包括针对服务器证书的通用名或者来自客户端问候消息的服务器名扩展中的至少一个;并且
其中所述应用签名基于针对所述服务器证书的通用名或所述服务器名扩展中的至少一个。
8.一种方法,包括:
由网络设备接收网络流量,
所述网络流量对应于应用;
由所述网络设备标识正在被用于所述网络流量的应用层协议;
由所述网络设备从所述网络流量获得情境信息项,
所述情境信息项基于所述应用层协议被选择;
由所述网络设备确定所述情境信息项匹配被存储的情境信息项;
由所述网络设备确定就所述被存储的情境信息项而言已经满足阈值;
由所述网络设备并且针对所述应用、基于所述情境信息项来生成应用签名;以及
由所述网络设备向另一设备发送所述应用签名以准许所述另一设备基于所述应用签名来标识所述应用。
9.根据权利要求8所述的方法,还包括:
在向所述另一设备发送所述应用签名之前确定所述应用签名是否是公开的;并且
其中向所述另一设备发送所述应用签名包括:
基于所述应用签名是否是公开的来选择性地向所述另一设备发送所述应用签名。
10.根据权利要求8所述的方法,
其中所述应用签名是第一应用签名;并且
所述方法还包括:
接收第二应用签名;
生成基于所述第一应用签名的第一散列和基于所述第二应用签名的第二散列;
确定所述第一散列是否匹配所述第二散列;并且
当所述第一散列不匹配所述第二散列时选择性地存储所述第一应用签名和所述第二应用签名两者;或者
当所述第一散列匹配所述第二散列时,
选择性地确定所述第一应用签名和所述第二应用签名中的更高优先级的一个,并且
选择性地存储所述第一应用签名和所述第二应用签名中的更高优先级的一个。
11.根据权利要求8所述的方法,还包括:
在向所述另一设备发送所述应用签名之前生成经标准化的应用签名,
所述经标准化的应用签名包括基于所述情境信息项生成的散列;并且
其中向所述另一设备发送所述应用签名包括:
向所述另一设备发送所述经标准化的应用签名。
12.根据权利要求8所述的方法,
其中所述应用层协议是超文本传输协议(HTTP);
其中所述情境信息项包括服务器主机名或正在被请求的统一资源标识符(URI)中的至少一个;并且
其中所述应用签名基于所述服务器主机名或者正在被请求的所述URI中的至少一个。
13.根据权利要求8所述的方法,
其中所述应用层协议是安全协议;
其中所述情境信息项包括针对服务器证书的通用名或者来自客户端问候消息的服务器名扩展中的至少一个;并且
其中所述应用签名基于针对所述服务器证书的通用名或所述服务器名扩展中的至少一个。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110300951.0A CN113037500B (zh) | 2016-03-29 | 2016-06-24 | 网络设备和用于网络通信的方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/083,693 | 2016-03-29 | ||
US15/083,693 US10250466B2 (en) | 2016-03-29 | 2016-03-29 | Application signature generation and distribution |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110300951.0A Division CN113037500B (zh) | 2016-03-29 | 2016-06-24 | 网络设备和用于网络通信的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107241186A true CN107241186A (zh) | 2017-10-10 |
CN107241186B CN107241186B (zh) | 2021-05-07 |
Family
ID=56263546
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110300951.0A Active CN113037500B (zh) | 2016-03-29 | 2016-06-24 | 网络设备和用于网络通信的方法 |
CN201610473952.4A Active CN107241186B (zh) | 2016-03-29 | 2016-06-24 | 网络设备和用于网络通信的方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110300951.0A Active CN113037500B (zh) | 2016-03-29 | 2016-06-24 | 网络设备和用于网络通信的方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10250466B2 (zh) |
EP (1) | EP3229407B1 (zh) |
CN (2) | CN113037500B (zh) |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10454714B2 (en) | 2013-07-10 | 2019-10-22 | Nicira, Inc. | Method and system of overlay flow control |
CA2927498A1 (en) | 2013-10-21 | 2015-04-30 | Nyansa, Inc. | A system and method for observing and controlling a programmable network using a remote network manager |
US10498652B2 (en) | 2015-04-13 | 2019-12-03 | Nicira, Inc. | Method and system of application-aware routing with crowdsourcing |
US10135789B2 (en) | 2015-04-13 | 2018-11-20 | Nicira, Inc. | Method and system of establishing a virtual private network in a cloud service for branch networking |
US20190089595A1 (en) * | 2017-09-18 | 2019-03-21 | Cyber 2.0 (2015) LTD | Automatic security configuration |
US10250466B2 (en) | 2016-03-29 | 2019-04-02 | Juniper Networks, Inc. | Application signature generation and distribution |
US10230609B2 (en) | 2016-04-18 | 2019-03-12 | Nyansa, Inc. | System and method for using real-time packet data to detect and manage network issues |
US10097670B2 (en) * | 2016-05-19 | 2018-10-09 | Adobe Systems Incorporated | Facilitating personalized video messages using peer-to-peer communications |
EP3485612B1 (en) * | 2016-07-18 | 2020-12-09 | Telecom Italia S.p.A. | Traffic monitoring in a packet-switched communication network |
US20180219765A1 (en) | 2017-01-31 | 2018-08-02 | Waltz Networks | Method and Apparatus for Network Traffic Control Optimization |
US10992568B2 (en) | 2017-01-31 | 2021-04-27 | Vmware, Inc. | High performance software-defined core network |
US20200036624A1 (en) | 2017-01-31 | 2020-01-30 | The Mode Group | High performance software-defined core network |
US11706127B2 (en) | 2017-01-31 | 2023-07-18 | Vmware, Inc. | High performance software-defined core network |
US10778528B2 (en) | 2017-02-11 | 2020-09-15 | Nicira, Inc. | Method and system of connecting to a multipath hub in a cluster |
US10476673B2 (en) | 2017-03-22 | 2019-11-12 | Extrahop Networks, Inc. | Managing session secrets for continuous packet capture systems |
US10523539B2 (en) | 2017-06-22 | 2019-12-31 | Nicira, Inc. | Method and system of resiliency in cloud-delivered SD-WAN |
US10999100B2 (en) | 2017-10-02 | 2021-05-04 | Vmware, Inc. | Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider |
US11115480B2 (en) | 2017-10-02 | 2021-09-07 | Vmware, Inc. | Layer four optimization for a virtual network defined over public cloud |
US10841131B2 (en) | 2017-10-02 | 2020-11-17 | Vmware, Inc. | Distributed WAN security gateway |
US9967292B1 (en) | 2017-10-25 | 2018-05-08 | Extrahop Networks, Inc. | Inline secret sharing |
US11223514B2 (en) | 2017-11-09 | 2022-01-11 | Nicira, Inc. | Method and system of a dynamic high-availability mode based on current wide area network connectivity |
US10666494B2 (en) | 2017-11-10 | 2020-05-26 | Nyansa, Inc. | System and method for network incident remediation recommendations |
US11184390B2 (en) | 2017-12-18 | 2021-11-23 | Akamai Technologies, Inc. | Bot detection in an edge network using transport layer security (TLS) fingerprint |
US10389574B1 (en) | 2018-02-07 | 2019-08-20 | Extrahop Networks, Inc. | Ranking alerts based on network monitoring |
US10270794B1 (en) | 2018-02-09 | 2019-04-23 | Extrahop Networks, Inc. | Detection of denial of service attacks |
US10747525B2 (en) * | 2018-03-09 | 2020-08-18 | International Business Machines Corporation | Distribution of a software upgrade via a network |
US10694248B2 (en) * | 2018-06-12 | 2020-06-23 | The Nielsen Company (Us), Llc | Methods and apparatus to increase a match rate for media identification |
US10411978B1 (en) | 2018-08-09 | 2019-09-10 | Extrahop Networks, Inc. | Correlating causes and effects associated with network activity |
US10594718B1 (en) | 2018-08-21 | 2020-03-17 | Extrahop Networks, Inc. | Managing incident response operations based on monitored network activity |
US11128564B2 (en) * | 2018-11-20 | 2021-09-21 | Citrix Systems, Inc. | Systems and methods to filter out noisy application signatures to improve precision of first packet application classification |
US10911362B2 (en) * | 2018-12-05 | 2021-02-02 | Citrix Systems, Inc. | System and methods to filter out noisy application signatures to improve precision of first packet classification |
US10965702B2 (en) | 2019-05-28 | 2021-03-30 | Extrahop Networks, Inc. | Detecting injection attacks using passive network monitoring |
US11088952B2 (en) * | 2019-06-12 | 2021-08-10 | Juniper Networks, Inc. | Network traffic control based on application path |
US11388072B2 (en) | 2019-08-05 | 2022-07-12 | Extrahop Networks, Inc. | Correlating network traffic that crosses opaque endpoints |
US10742530B1 (en) | 2019-08-05 | 2020-08-11 | Extrahop Networks, Inc. | Correlating network traffic that crosses opaque endpoints |
US11310170B2 (en) | 2019-08-27 | 2022-04-19 | Vmware, Inc. | Configuring edge nodes outside of public clouds to use routes defined through the public clouds |
US10742677B1 (en) | 2019-09-04 | 2020-08-11 | Extrahop Networks, Inc. | Automatic determination of user roles and asset types based on network monitoring |
US11411919B2 (en) * | 2019-10-01 | 2022-08-09 | EXFO Solutions SAS | Deep packet inspection application classification systems and methods |
US11611507B2 (en) | 2019-10-28 | 2023-03-21 | Vmware, Inc. | Managing forwarding elements at edge nodes connected to a virtual network |
US11394640B2 (en) | 2019-12-12 | 2022-07-19 | Vmware, Inc. | Collecting and analyzing data regarding flows associated with DPI parameters |
US11489783B2 (en) * | 2019-12-12 | 2022-11-01 | Vmware, Inc. | Performing deep packet inspection in a software defined wide area network |
US11438789B2 (en) | 2020-01-24 | 2022-09-06 | Vmware, Inc. | Computing and using different path quality metrics for different service classes |
US11477127B2 (en) | 2020-07-02 | 2022-10-18 | Vmware, Inc. | Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN |
US11363124B2 (en) | 2020-07-30 | 2022-06-14 | Vmware, Inc. | Zero copy socket splicing |
US11677668B1 (en) * | 2020-08-31 | 2023-06-13 | National Technology & Engineering Solutions Of Sandia, Llc | Transparent application-layer/os deeper packet inspector |
EP4218212A1 (en) | 2020-09-23 | 2023-08-02 | ExtraHop Networks, Inc. | Monitoring encrypted network traffic |
US11463466B2 (en) | 2020-09-23 | 2022-10-04 | Extrahop Networks, Inc. | Monitoring encrypted network traffic |
US11575591B2 (en) | 2020-11-17 | 2023-02-07 | Vmware, Inc. | Autonomous distributed forwarding plane traceability based anomaly detection in application traffic for hyper-scale SD-WAN |
US11575600B2 (en) | 2020-11-24 | 2023-02-07 | Vmware, Inc. | Tunnel-less SD-WAN |
US11601356B2 (en) | 2020-12-29 | 2023-03-07 | Vmware, Inc. | Emulating packet flows to assess network links for SD-WAN |
US11792127B2 (en) | 2021-01-18 | 2023-10-17 | Vmware, Inc. | Network-aware load balancing |
US11979325B2 (en) | 2021-01-28 | 2024-05-07 | VMware LLC | Dynamic SD-WAN hub cluster scaling with machine learning |
CN113037775B (zh) * | 2021-03-31 | 2022-07-29 | 上海天旦网络科技发展有限公司 | 网络应用层全流量向量化记录生成方法和系统 |
US11582144B2 (en) | 2021-05-03 | 2023-02-14 | Vmware, Inc. | Routing mesh to provide alternate routes through SD-WAN edge forwarding nodes based on degraded operational states of SD-WAN hubs |
US11729065B2 (en) | 2021-05-06 | 2023-08-15 | Vmware, Inc. | Methods for application defined virtual network service among multiple transport in SD-WAN |
US11489720B1 (en) | 2021-06-18 | 2022-11-01 | Vmware, Inc. | Method and apparatus to evaluate resource elements and public clouds for deploying tenant deployable elements based on harvested performance metrics |
US11349861B1 (en) | 2021-06-18 | 2022-05-31 | Extrahop Networks, Inc. | Identifying network entities based on beaconing activity |
US11375005B1 (en) | 2021-07-24 | 2022-06-28 | Vmware, Inc. | High availability solutions for a secure access service edge application |
US11296967B1 (en) | 2021-09-23 | 2022-04-05 | Extrahop Networks, Inc. | Combining passive network analysis and active probing |
US11943146B2 (en) | 2021-10-01 | 2024-03-26 | VMware LLC | Traffic prioritization in SD-WAN |
US11843606B2 (en) | 2022-03-30 | 2023-12-12 | Extrahop Networks, Inc. | Detecting abnormal data access based on data similarity |
US11909815B2 (en) | 2022-06-06 | 2024-02-20 | VMware LLC | Routing based on geolocation costs |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1905491A (zh) * | 2006-08-11 | 2007-01-31 | 杭州华为三康技术有限公司 | 一种流量统计方法及流量采集器 |
US7424744B1 (en) * | 2002-03-05 | 2008-09-09 | Mcafee, Inc. | Signature based network intrusion detection system and method |
US20090010259A1 (en) * | 2007-07-08 | 2009-01-08 | Alexander Sirotkin | Device, system, and method of classification of communication traffic |
CN101401408A (zh) * | 2006-03-06 | 2009-04-01 | 思科技术公司 | 产生用于通信会话的统一计费记录的系统和方法 |
US20090300153A1 (en) * | 2008-05-29 | 2009-12-03 | Embarq Holdings Company, Llc | Method, System and Apparatus for Identifying User Datagram Protocol Packets Using Deep Packet Inspection |
US7644150B1 (en) * | 2007-08-22 | 2010-01-05 | Narus, Inc. | System and method for network traffic management |
CN101827084A (zh) * | 2009-01-28 | 2010-09-08 | 丛林网络公司 | 网络设备的高效的应用程序识别 |
EP2472786A1 (en) * | 2010-12-30 | 2012-07-04 | Telefonaktiebolaget LM Ericsson (publ) | Automatic signature generation for application recognition and user tracking over heterogeneous networks |
CN102710504A (zh) * | 2012-05-16 | 2012-10-03 | 华为技术有限公司 | 应用识别方法和装置 |
US8578017B2 (en) * | 2006-05-11 | 2013-11-05 | Ca, Inc. | Automatic correlation of service level agreement and operating level agreement |
US8656006B2 (en) * | 2006-05-11 | 2014-02-18 | Ca, Inc. | Integrating traffic monitoring data and application runtime data |
CN104247340A (zh) * | 2012-03-22 | 2014-12-24 | 阿卡麦科技公司 | 用于执行消息交换核算的方法和系统 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6760752B1 (en) * | 1999-06-28 | 2004-07-06 | Zix Corporation | Secure transmission system |
CA2589265A1 (en) * | 2004-11-29 | 2006-06-01 | Novartis Ag | Dosage regimen of an s1p receptor agonist |
KR100622670B1 (ko) * | 2004-12-07 | 2006-09-19 | 한국전자통신연구원 | 알려지지 않은 네트워크 공격에 대한 실시간 공격 패턴 검출 시스템 및 그 방법 |
US8898308B2 (en) * | 2005-03-07 | 2014-11-25 | Microsoft Corporation | Methods, systems, and computer-readable mediums for configuring electronic messaging applications |
US8832827B2 (en) * | 2005-07-14 | 2014-09-09 | Gryphonet Ltd. | System and method for detection and recovery of malfunction in mobile devices |
CN100553206C (zh) * | 2007-12-14 | 2009-10-21 | 北京交通大学 | 基于报文采样和应用签名的互联网应用流量识别方法 |
US20100037062A1 (en) * | 2008-08-11 | 2010-02-11 | Mark Carney | Signed digital documents |
US9135154B2 (en) * | 2010-03-02 | 2015-09-15 | Microsoft Technology Licensing, Llc | Algorithm execution output cache |
WO2012048744A1 (en) | 2010-10-14 | 2012-04-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Application identification through data traffic analysis |
US20120204272A1 (en) * | 2011-02-03 | 2012-08-09 | Martin Svensson | Method, apparatus and computer program product for publishing public content and private content associated with the public content |
US8874925B1 (en) * | 2011-07-21 | 2014-10-28 | Symantec Corporation | Systems and methods to scan memory for a threat |
CN103248648B (zh) * | 2012-02-09 | 2016-03-09 | 腾讯科技(深圳)有限公司 | 一种实现共享数据编辑的方法及装置 |
CN102694733B (zh) * | 2012-06-06 | 2015-03-25 | 济南大学 | 一种获得具有准确应用类型标识的网络流量数据集的方法 |
CN103019789B (zh) * | 2012-12-17 | 2016-01-20 | 深圳市九洲电器有限公司 | 一种签名软件升级方法、装置及移动终端 |
US10015102B2 (en) * | 2013-04-11 | 2018-07-03 | Qualcomm Incorporated | Application traffic pairing |
WO2014204446A1 (en) * | 2013-06-18 | 2014-12-24 | Empire Technology Development Llc | Remediating rogue applications |
US20150288710A1 (en) * | 2014-04-08 | 2015-10-08 | Guardicore Ltd. | Application-aware signature-based intrusion detection for virtualized data centers |
US9923832B2 (en) * | 2014-07-21 | 2018-03-20 | Cisco Technology, Inc. | Lightweight flow reporting in constrained networks |
US9872178B2 (en) * | 2014-08-25 | 2018-01-16 | Smart Technologies Ulc | System and method for authentication in distributed computing environments |
CN108605039B (zh) * | 2016-01-27 | 2021-04-13 | 慧与发展有限责任合伙企业 | 在spdy连接上检测恶意软件 |
US10346406B2 (en) * | 2016-03-28 | 2019-07-09 | International Business Machines Corporation | Decentralized autonomous edge compute coordinated by smart contract on a blockchain |
US10250466B2 (en) | 2016-03-29 | 2019-04-02 | Juniper Networks, Inc. | Application signature generation and distribution |
-
2016
- 2016-03-29 US US15/083,693 patent/US10250466B2/en active Active
- 2016-06-23 EP EP16175933.7A patent/EP3229407B1/en active Active
- 2016-06-24 CN CN202110300951.0A patent/CN113037500B/zh active Active
- 2016-06-24 CN CN201610473952.4A patent/CN107241186B/zh active Active
-
2019
- 2019-03-28 US US16/368,183 patent/US10951495B2/en active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7424744B1 (en) * | 2002-03-05 | 2008-09-09 | Mcafee, Inc. | Signature based network intrusion detection system and method |
CN101401408A (zh) * | 2006-03-06 | 2009-04-01 | 思科技术公司 | 产生用于通信会话的统一计费记录的系统和方法 |
US8578017B2 (en) * | 2006-05-11 | 2013-11-05 | Ca, Inc. | Automatic correlation of service level agreement and operating level agreement |
US8656006B2 (en) * | 2006-05-11 | 2014-02-18 | Ca, Inc. | Integrating traffic monitoring data and application runtime data |
CN1905491A (zh) * | 2006-08-11 | 2007-01-31 | 杭州华为三康技术有限公司 | 一种流量统计方法及流量采集器 |
US20090010259A1 (en) * | 2007-07-08 | 2009-01-08 | Alexander Sirotkin | Device, system, and method of classification of communication traffic |
US7644150B1 (en) * | 2007-08-22 | 2010-01-05 | Narus, Inc. | System and method for network traffic management |
US20090300153A1 (en) * | 2008-05-29 | 2009-12-03 | Embarq Holdings Company, Llc | Method, System and Apparatus for Identifying User Datagram Protocol Packets Using Deep Packet Inspection |
CN101827084A (zh) * | 2009-01-28 | 2010-09-08 | 丛林网络公司 | 网络设备的高效的应用程序识别 |
EP2472786A1 (en) * | 2010-12-30 | 2012-07-04 | Telefonaktiebolaget LM Ericsson (publ) | Automatic signature generation for application recognition and user tracking over heterogeneous networks |
CN104247340A (zh) * | 2012-03-22 | 2014-12-24 | 阿卡麦科技公司 | 用于执行消息交换核算的方法和系统 |
CN102710504A (zh) * | 2012-05-16 | 2012-10-03 | 华为技术有限公司 | 应用识别方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
US20190222493A1 (en) | 2019-07-18 |
CN107241186B (zh) | 2021-05-07 |
US10250466B2 (en) | 2019-04-02 |
CN113037500A (zh) | 2021-06-25 |
US20170288987A1 (en) | 2017-10-05 |
EP3229407B1 (en) | 2019-01-23 |
EP3229407A1 (en) | 2017-10-11 |
CN113037500B (zh) | 2022-04-15 |
US10951495B2 (en) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107241186A (zh) | 应用签名生成和分发 | |
US10079846B2 (en) | Domain name system (DNS) based anomaly detection | |
Pisharody et al. | Brew: A security policy analysis framework for distributed SDN-based cloud environments | |
US10868737B2 (en) | Security policy analysis framework for distributed software defined networking (SDN) based cloud environments | |
EP3304823B1 (en) | Method and apparatus for computing cell density based rareness for use in anomaly detection | |
EP3304822B1 (en) | Method and apparatus for grouping features into classes with selected class boundaries for use in anomaly detection | |
US9948606B2 (en) | Enhancing privacy and security on a SDN network using SDN flow based forwarding control | |
CA2947325C (en) | Protocol type identification method and apparatus | |
US8584215B2 (en) | System and method for securing distributed exporting models in a network environment | |
EP3449600B1 (en) | A data driven intent based networking approach using a light weight distributed sdn controller for delivering intelligent consumer experiences | |
US20160359695A1 (en) | Network behavior data collection and analytics for anomaly detection | |
US20190166013A1 (en) | A data driven intent based networking approach using a light weight distributed SDN controller for delivering intelligent consumer experience | |
US20160241669A1 (en) | Temporal caching for icn | |
CN106936811A (zh) | 安全设备、系统和方法 | |
WO2020072215A1 (en) | Traffic visibility and segmentation policy enforcement for workloads in different address spaces | |
CN107241280A (zh) | 基于信誉的网络流量的动态优先级排序 | |
US11233703B2 (en) | Extending encrypted traffic analytics with traffic flow data | |
CN108270671A (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 |