CN108886512A - 用于应用程序网络活动的自动分类的***和方法 - Google Patents
用于应用程序网络活动的自动分类的***和方法 Download PDFInfo
- Publication number
- CN108886512A CN108886512A CN201680082880.9A CN201680082880A CN108886512A CN 108886512 A CN108886512 A CN 108886512A CN 201680082880 A CN201680082880 A CN 201680082880A CN 108886512 A CN108886512 A CN 108886512A
- Authority
- CN
- China
- Prior art keywords
- network flow
- keyword
- network
- vocabulary
- application program
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/567—Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
-
- 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/06—Generation of reports
- H04L43/062—Generation of reports related to network traffic
-
- 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
- H04L47/20—Traffic policing
-
- 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/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
- H04L63/1416—Event detection, e.g. attack signature detection
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了用于应用程序网络活动的自动分类的计算机实现的方法,所公开的计算机实现的方法可包括(1)构建包括词汇关键字的词汇字典,其中其标题包含给定词汇关键字的网络流表示与所述词汇字典中的所述给定词汇关键字相关联的活动类型的通信;(2)在网络有利位置处识别表示应用程序和服务器之间的通信的网络流;(3)通过使用所述词汇字典的词汇分析,从所述网络流的一个或多个标题字段中提取一组关键字;以及(4)基于与从所述网络流的所述标题字段中提取的所述组关键字中的每个关键字相关联的活动类型来对所述网络流进行分类。本发明还公开了各种其他方法、***和计算机可读介质。
Description
背景技术
随着越来越大量的信息通过网络数字地传输,个人和组织可寻求改进的方法来控制和/或分析这样的网络流量。控制网络流量的一些方法依赖于根据由该网络流承载的信息类型对各种网络流进行分类的能力。对网络流量进行分类可在各种情景中使用,包括网络流量策略的实施和/或恶意软件的识别。例如,组织可阻止在“社交媒体”类别下分类的网络流。
遗憾的是,用于识别和分类网络流的传统方法可能需要事先了解生成网络流的应用程序,以便正确地识别和分析网络流。用于识别和分类网络流的其他传统方法可能需要软件代理存在于生成网络流的端点设备上。此外,用于分类网络活动的传统方法可简单地基于生成网络流的应用程序来对网络流量进行分类,并且因此无法提供足够精细的控制,该控制允许管理员根据具体情况来控制网络流量。因此,本公开识别并解决了对用以自动分类应用程序网络活动的改进***和方法的需求。
发明内容
如下文将更详细地描述,本公开描述了用于通过基于从那些流的标题中提取的关键字将分类分配给网络流来自动分类应用程序网络活动的各种***和方法。在一个示例中,用于应用程序网络活动的自动分类的计算机实现的方法可包括(1)构建包括词汇关键字的词汇字典,(2)在网络有利位置处识别表示应用程序和服务器之间的通信的网络流,(3)通过使用词汇字典的词汇分析,从网络流的一个或多个标题字段中提取一组关键字,以及(4)基于与从网络流的标题字段中提取的该组关键字中的每个关键字相关联的活动类型来对网络流进行分类。其标题包含给定词汇关键字的网络流可表示与词汇字典中的给定词汇关键字相关联的活动类型的通信。在一个实施方案中,网络流可包括超文本传输协议(HTTP)流。另外,在一些实施方案中,网络有利位置可包括路由器、服务器、网关、交换机、网络接口设备和/或网络集线器。
在一些示例中,构建词汇字典可包括在沙箱环境中执行已知的应用程序,通过对应用程序执行动作来使得已知应用程序生成网络流,从所生成的网络流的标题中提取至少一个关键字,以及将观察到的关键字与使得已知应用程序生成所生成的网络流的动作相关联。此外,构建词汇字典可包括将用户定义的词汇关键字添加到词汇字典。除此之外或作为另外一种选择,构建词汇字典可包括将词汇关键字和活动类型之间的用户定义的关联添加到词汇字典。
在一些实施方案中,从一个或多个标题字段中提取一组关键字可包括使标题字段标记化。在一些示例中,使标题字段标记化可包括沿着非字母数字界定字符使标题字段标记化。
本文所述的方法能够以各种方式对网络流进行分类。在一些示例中,对网络流进行分类可包括基于从网络流的标题字段中提取的不止一个特定关键字的存在来将特定分类分配给网络流。此外,计算机实现的方法可包括将网络流的分类添加到应用程序的状态简档,该状态简档在特定时刻描述由应用程序生成的不止一个网络流的分类。
在一些示例中,计算机实现的方法还可包括将网络流的分类提供给实施网络流量策略的网络管理***。除此之外或作为另外一种选择,计算机实现的方法还可包括将网络流的分类提供给保护计算***免受恶意软件影响的软件安全***。
在一个实施方案中,用于实现上述方法的***可包括(1)存储在存储器中的构建模块,该构建模块构建包括词汇关键字的词汇字典,(2)存储在存储器中的识别模块,该识别模块在网络有利位置处识别表示应用程序和服务器之间的通信的网络流,(3)存储在存储器中的提取模块,该提取模块通过使用词汇字典的词汇分析,从网络流的一个或多个标题字段中提取一组关键字,(4)存储在存储器中的分类模块,该分类模块基于与从网络流的标题字段中提取的该组关键字中的每个关键字相关联的活动类型来对网络流进行分类,以及(5)至少一个物理处理器,该物理处理器被配置为执行构建模块、识别模块、提取模块和分类模块。
在一些示例中,可将上述方法编码为非暂态计算机可读介质上的计算机可读指令。例如,计算机可读介质可包括一个或多个计算机可执行指令,当由计算设备的至少一个处理器执行时,该计算机可执行指令可使得计算设备(1)构建包括词汇关键字的词汇字典,(2)在网络有利位置处识别表示应用程序和服务器之间的通信的网络流,(3)通过使用词汇字典的词汇分析,从网络流的一个或多个标题字段中提取一组关键字,以及(4)基于与从网络流的标题字段中提取的该组关键字中的每个关键字相关联的活动类型来对网络流进行分类。
来自上述实施方案中的任何一者的特征可根据本文所述的一般原理彼此结合地使用。通过结合附图和权利要求阅读下面的详细描述,将会更充分地理解这些和其他实施方案、特征和优点。
附图说明
附图示出了多个示例性实施方案并且为说明书的一部分。这些附图结合下面的描述展示并且说明本公开的各种原理。
图1是用于应用程序网络活动的自动分类的示例性***的框图。
图2是用于应用程序网络活动的自动分类的附加示例性***的框图。
图3是用于应用程序网络活动的自动分类的示例性方法的流程图。
图4是用于创建词汇字典的示例性计算***的框图。
图5是用于应用程序网络活动的自动分类的示例性计算***的框图。
图6是能够实现本文所描述和/或例示的一个或多个实施方案的示例性计算***的框图。
图7是能够实现本文所描述和/或例示的一个或多个实施方案的示例性计算网络的框图。
在全部附图中,相同引用字符和描述指示类似但未必相同的元件。虽然本文所述的示例性实施方案可以接受进行各种修改和替代形式,但在附图中以举例的方式示出了特定实施方案并且将在本文详细描述这些实施方案。然而,本文所述的示例性实施方案并非旨在限于所公开的特定形式。相反,本公开涵盖落在所附权利要求范围内的所有修改形式、等同形式和替代形式。
具体实施方式
本公开整体涉及用于应用程序网络活动的自动分类的***和方法。如下文将更详细地解释,本文所述的***和方法可基于从那些流的标题中提取的关键字来实现网络流的分类。这样的分类可在不存在任何端点设备的情况下进行,而且无需了解网络流的来源。
下面将参考图1-图2提供用于应用程序网络活动的自动分类的示例性***的详细描述。还将结合图3提供对应计算机实现的方法的详细描述。将结合图4提供用于创建词汇字典的示例性***的详细描述。将结合图5提供用于自动分类应用程序网络活动的示例性***的进一步详细描述。此外,将分别结合图6和图7提供能够实现本文所述实施方案中的一个或多个的示例性计算***和网络体系结构的详细描述。
图1是用于应用程序网络活动的自动分类的示例性***100的框图。如该图所示,示例性***100可包括用于执行一个或多个任务的一个或多个模块102。例如,并且如下文将更详细地解释,示例性***100可包括构建包括词汇关键字的词汇字典120的构建模块104。其标题包含给定词汇关键字的网络流可表示与词汇字典120中的给定词汇关键字相关联的活动类型的通信。示例性***100可另外包括识别模块106,该识别模块在网络有利位置处识别表示应用程序和服务器之间的通信的网络流。示例性***100还可包括提取模块108,该提取模块通过使用词汇字典120的词汇分析,从网络流的一个或多个标题字段中提取一组关键字。此外,示例性***100可包括分类模块110,该分类模块基于与从网络流的标题字段中提取的该组关键字中的每个关键字相关联的活动类型来对网络流进行分类。尽管被示为独立元件,但图1中的模块102中的一者或多者可表示单个模块或应用程序的部分。
在某些实施方案中,图1中的模块102中的一者或多者可表示一个或多个软件应用程序或程序,所述软件应用程序或程序在被计算设备执行时,可使计算设备执行一个或多个任务。例如,并且如将在下文更详细地描述,模块102中的一个或多个可表示存储在一个或多个计算设备上并且被配置为在一个或多个计算设备上运行的软件模块,所述计算设备诸如为图2中示出的设备(例如,计算设备202和/或服务器206)、图6中的计算***610和/或图7中的示例性网络体系结构700的部分。图1中的模块102中的一者或多者还可表示被配置为执行一个或多个任务的一台或多台专用计算机的全部或部分。
图1中的示例性***100可用多种方式来实现。例如,示例性***100的全部或一部分可表示图2中的示例性***200的部分。如图2所示,***200可包括经由网络204与服务器206通信的计算设备202。在一个示例中,计算设备202可用模块102中的一个或多个进行编程。除此之外或作为另外一种选择,服务器206可用模块102中的一个或多个来进行编程。
在一个实施方案中,来自图1的模块102中的一个或多个在通过计算设备202的至少一个处理器和/或服务器206执行时,使计算设备202和/或服务器206能够基于存在于网络流的标题中的关键字来对网络流进行分类。例如,并且如下文将更详细地描述,模块102中的一个或多个可使得计算设备202和/或服务器206自动化应用程序网络活动的分类。例如,并且如下文将更详细地描述,构建模块104可构建包括词汇关键字220的词汇字典120。其标题包含给定词汇关键字的网络流表示与词汇字典120中的给定词汇关键字相关联的活动类型的通信。识别模块106可在网络有利位置210处识别表示应用程序214和服务器206之间的通信的网络流212。提取模块108可通过使用词汇字典120的词汇分析,从网络流212的标题字段218中提取一组关键字220。分类模块110可基于与从网络流212的标题字段中提取的该组关键字220中的每个关键字相关联的活动类型来对网络流212进行分类。
计算设备202通常表示能够读取计算机可执行指令的任何类型或形式的计算设备。计算设备202的示例包括而不限于笔记本电脑、平板电脑、台式机、服务器、蜂窝电话、个人数字助理(PDA)、多媒体播放器、嵌入式***、可穿戴设备(例如,智能手表、智能眼镜等)、游戏控制台、这些设备中一个或多个的组合、图6中的示例性计算***610或任何其他合适的计算设备。
服务器206通常表示能够从网络流的标题中提取关键字的任何类型或形式的计算设备。服务器206的例子包括但不限于被配置为提供各种数据库服务和/或运行某些软件应用程序的应用程序服务器和数据库服务器。
网络204通常表示能够促进通信或数据传输的任何介质或体系结构。网络204的示例包括而不限于内联网、广域网(WAN)、局域网(LAN)、个域网(PAN)、互联网、电力线通信(PLC)、蜂窝网络(例如,全球移动通信***(GSM)网络)、图7中的示例性网络体系结构700等等。网络204可使用无线或有线连接来促进通信或数据传输。在一个实施方案中,网络204可促进计算设备202与服务器206之间的通信。
如本文所用,术语“网络有利位置”通常是指提供在许多端点之间的网络流量视图的任何设备、硬件和/或软件。例如,网络有利位置可以是路由器、服务器、网关、交换机、网络接口设备、网络集线器,其中一个或多个的虚拟化变体,其中一个或多个的组合,或控制并且/或者促进设备和/或应用程序之间的基于网络的通信的任何其他合适的设备和/或软件。
如本文所用,术语“字典”、“词汇字典”及其派生词通常是指短文本串的集合,通常是可用于识别网络流的标题字段中的有意义的元素的单个词或首字母缩略词。这些短文本串和有意义的元素在本文中也可称为“词汇关键字”或“关键字”。存储在词汇字典中的每个词汇关键字可与网络流分类、应用程序动作和/或任何其他相关信息相关联地存储。本文所述的***和方法可将词汇字典的全部或一部分存储在数据库中。
图3是用于应用程序网络活动的自动分类的示例性计算机实现的方法300的流程图。图3中示出的步骤可通过任何合适的计算机可执行代码和/或计算***来执行。在一些实施方案中,图3中示出的步骤可通过图1中的***100、图2中的***200、图6中的计算***610和/或图7中的示例性网络体系结构700的部分的组件中的一个或多个执行。
如图3所示,在步骤302处,本文所述的***中的一个或多个可构建包括词汇关键字的词汇字典。其标题包含给定词汇关键字的网络流可表示与词汇字典中的给定词汇关键字相关联的活动类型的通信。例如,作为图2中的计算设备202的一部分,构建模块104可构建可包括词汇关键字220的词汇字典120。
构建模块104可使用完全和/或部分自动化的方法来构建词汇字典120。例如,构建模块104可通过以下方式来构建词汇字典:在沙箱环境中执行已知的应用程序,通过对应用程序执行动作来使得已知应用程序生成网络流。构建模块104还可对应用程序执行各种动作,诸如打开应用程序,关闭应用程序,使得应用程序打开文件等。构建模块104然后可从所生成的网络流的标题中提取观察到的关键字,并且将观察到的关键字与使得已知应用程序生成所生成的网络流的动作相关联。
作为特定示例,构建模块104可在沙箱环境中执行社交媒体程序,诸如SKYPE。构建模块104然后可对SKYPE执行各种动作,诸如发出“添加联系人”请求,发起语音呼叫,发送文本消息,或作为SKYPE的预期行为和/或功能的一部分的任何其他合适的动作。这些动作可使得SKYPE在尝试处理由构建模块104执行的动作时生成网络流。构建模块104然后可从每个网络流的标题中提取关键字,并且将从每个网络流的标题中提取的关键字与使得SKYPE生成网络流的动作相关联。在一些实施方案中,单个用户发起的动作可使得应用程序响应于用户发起的动作来执行多个动作。例如,“添加联系人”用户发起的请求可使得SKYPE生成多个网络流:向联系人请求的接收者发送的消息,发起请求的用户的数据库更新,和/或确保发起联系人请求的用户是他们声称的人的认证请求。在此类示例中,构建模块104可将所得的网络流与用户发起的动作、应用程序的响应动作或这两者相关联。
除此之外或作为另外一种选择,构建模块104可通过将用户定义的词汇关键字添加到词汇字典120来构建词汇字典120。例如,管理员可以知道在网络流标题中经常发现的某些关键字,并且因此将这些关键字添加到词汇字典120。此外,构建模块104可将词汇关键字和活动类型之间的用户定义的关联添加到词汇字典120。再者,管理员可事先了解词汇关键字和网络流分类之间的关联,并且因此将这些关联添加到词汇字典120。作为上述过程的特定示例,***管理员可事先了解发往网络地址“http://media.admob.com”的网络流包含词汇关键字“admob”,这表示网络流可与应用程序中的广告功能有关。因此,管理员可使得构建模块104将关键字“admob”与分类“广告”相关联地添加到词汇字典120。
结合图4提供字典创建过程的图示示例。如图4所示,本文所述的***和方法可在沙箱402中执行应用程序214,并且对应用程序214执行动作404。对应用程序214执行动作404可使得应用程序214生成网络流,该网络流被示为生成的流406。生成的流406可包括标题408,该标题包含各种词汇关键字。在该示例中,构建模块104(在图4中未示出)可从生成的流406的标题408中提取关键字410,将关键字410与动作404相关联,并且将相关联的关键字和动作存储在词汇字典120中。
在图3的步骤304处,本文所述的***中的一个或多个可在网络有利位置处识别表示应用程序和服务器之间的通信的网络流。例如,作为图2中的计算设备202的一部分,识别模块106可在网络有利位置210处识别表示应用程序214和服务器206之间的通信的网络流212。
识别模块106能够以各种方式来识别各种网络流。在一个实施方案中,网络流可表示超文本传输协议(HTTP)流。HTTP流通常包括根据特定惯例格式化的标题。也就是说,HTTP流的给定标题字段可能包含与不同HTTP流的标题中的相同字段类似的信息。该知识可允许本文所述的***和方法基于从哪个字段中提取词汇关键字来为所提取的词汇关键字分配重要性。自然地,本文所述的***和方法不限于仅分析HTTP网络流。例如,识别模块106可识别文件传输协议(FTP)流、简单邮件传输协议(SMTP)流、或任何其他合适的网络流。在一些实施方案中,识别模块106可具体地识别特定类型的网络流,同时忽略其他类型的网络活动。例如,识别模块106可优先识别HTTP流,同时忽略FTP流。
此外,识别模块106可在各种情景中识别网络流。例如,识别模块106可识别网络流,该网络流经过网络路由器,该网络路由器被放置成处理特定地理区域(诸如办公楼)的大多数或全部网络流量。在此类示例中,识别模块106可作为促进路由器操作的防火墙或其他操作软件的一部分来操作。类似地,识别模块106可作为服务于特定区域的接入点的一部分来操作。除此之外或作为另外一种选择,识别模块106可在更精细级别上操作。具体地讲,识别模块106可识别传入和/或传出单个计算设备(诸如移动电话)的网络流。在此类示例中,识别模块106可作为安装在计算设备上的安全应用程序的一部分来操作。
在图3中的步骤306处,本文所述的***中的一个或多个可通过使用词汇字典的词汇分析,从网络流的一个或多个标题字段中提取一组关键字。例如,作为图2中的计算设备202的一部分,提取模块108可通过使用词汇字典120的词汇分析,从网络流212的标题字段218中提取关键字220。
提取模块108可以各种方式从标题字段218中提取关键字。在一些示例中,提取模块108可通过使标题字段标记化来从一个或多个标题字段中提取一组关键字。因为许多网络流标题包含遵循完善建立的协议的网络地址,所以使标题字段标记化可包括沿着非字母数字界定字符使标题字段标记化。例如,标题字段可包含统一资源定位符(URL),诸如“media.admob.com”作为文本串。提取模块108可通过沿着非字母数字字符将该文本串分成词汇关键字“media”、“admob”和“com”来使该文本串标记化。除此之外或作为另外一种选择,提取模块108可施加一系列正则表达式,该正则表达式匹配来自词汇字典120的已知词汇关键字,并且使用标题字段218中的一组文本串,该组文本串匹配正则表达式中的一个或多个作为关键字220。一般来讲,提取模块108可使用任何合适的文本分析方法来从标题字段中提取关键字。
返回图3,在步骤308处,本文所述的***中的一个或多个可基于与从网络流的标题字段中提取的一组关键字中的每个关键字相关联的活动类型来对网络流进行分类。例如,作为图2中的计算设备202的一部分,分类模块110可基于与从网络流212的标题字段218中提取的关键字220相关联的活动类型来对网络流212进行分类。
分类模块110能够以各种方式对网络流212进行分类。例如,分类模块110可基于关键字220和网络流的特定类别之间的关联来将分类分配给网络流212。在一些实施方案中,词汇字典120可将每个词汇关键字映射到网络流的特定值或分类。因此,分类模块108可使用关键字220中的一个或多个作为用以查找相关联的值或相关联的应用程序活动的类型的关键。作为特定示例,词汇字典120可将关键字“oauth”映射到值“认证”。因此,分类模块108可将其标题包含“oauth”词汇关键字的网络流分类为认证型应用程序活动。
分类模块110可通过基于从网络流的标题字段中提取的不止一个特定关键字的存在将特定分类分配给网络流来对网络流进行分类。例如,分类模块110可基于从网络流212的标题中提取的每个关键字来对网络流212进行分类。作为这样的示例的特定实例,模块102中的一个或多个可从网络流212中提取对应于“社交媒体”和“聊天请求”的关键字。因此,分类模块110可将网络流212分类为“社交媒体”类别流以及“聊天请求”类别流。除此之外或作为另外一种选择,分类模块110可将层次分类分配给网络流212。例如,“聊天请求”可以是“社交媒体”类网络流的子类。因此,将网络流212分类为“聊天请求”流还可固有地将网络流212分类为“社交媒体”类网络流。
在一些实施方案中,分类模块110可将其结果的全部或一部分提供给外部***。例如,分类模块110可将网络流的分类提供给实施网络流量策略的网络管理***。这些***可使用由分类模块110提供的分类来执行各种任务。例如,网络管理***可通过阻止特定分类的网络流来实施数据丢失防护(DLP)策略。对网络流量的这样的精细控制可允许应用程序进行网络活动,从而可访问更广泛的功能,否则在使用传统方法来实施网络流量策略时可能会阻止这些功能。作为特定示例,在计算设备上执行的第一应用程序和第二应用程序可各自生成两个网络流。第一应用程序可生成上传网络流和下载网络流,而第二应用程序可生成下载网络流和广告相关的网络流。然而,网络流量控制器可阻止计算设备进行下载活动,并且因此阻止由第一应用程序和第二应用程序生成的下载流。网络流量控制器可传递来自第一应用程序的上传网络流和来自第二应用程序的广告相关的网络流,从而在使用不太精细的网络流量管理方法时,允许应用程序具有比它们可能本来具有的更多功能。
作为附加示例,分类模块110可将网络流的分类提供给保护计算***免受恶意软件影响的软件安全***。软件安全***可使用网络流的分类作为分析的一部分来确定应用程序是否表现出可能对计算***有害的行为。作为特定示例,软件安全***可意识到文字处理应用程序不太可能创建文件传输网络流。因此,如果软件安全***确定特定网络流被分类为文件传输网络流并且由文字处理应用程序生成,则软件安全***可确定文字处理应用程序表现出潜在的恶意行为并且相应地作出响应。
此外,本文所述的***可包括将网络流的分类添加到应用程序的状态简档,该状态简档在特定时刻描述由应用程序生成的不止一个网络流的分类。各种其他***和/或方法可将这样的状态简档用于各种目的,包括但不限于恶意软件检测和/或其他形式的软件分析。结合图5提供了将分类添加到状态简档的分类模块110的图示示例。如图所示,应用程序502可生成网络流504、506和508。如上所述,模块102中的一个或多个可识别这些网络流,从标题中提取关键字,并且基于从标题中提取的关键字来对网络流进行分类。因此,作为图5中的模块102的一部分,分类模块110分别将分类514、516和518分配给网络流504、506和508,并且将这些分类添加到状态简档520,该状态简档在给定时间点描述了由应用程序502生成的活动网络流的分类。
如上文更详细地描述,本文所述的***和方法可使计算设备能够分析并分类网络流,即使在托管生成网络流的应用程序的端点设备不存在的情况下也是如此。本文所述的***和方法可通过从网络流的标题中提取词汇关键字来实现这一点。这些关键字然后可用于根据存储在先前生成的词汇字典中的信息对网络流进行分类,该词汇字典存储与关键字所表示的网络流的类别相关联的词汇关键字。
图6为能够实现本文描述和/或例示的实施方案中的一个或多个的示例性计算***610的框图。例如,计算***610的全部或一部分可单独地或与其他元件结合来执行本文所述的步骤中的一个或多个(诸如图3所示的步骤中的一个或多个)和/或作为用于执行的装置。计算***610的全部或一部分也可执行本文描述和/或例示的任何其他步骤、方法或过程和/或作为用于执行的装置。
计算***610在广义上表示能够执行计算机可读指令的任何单处理器或多处理器计算设备或***。计算***610的示例包括而不限于:工作站、笔记本电脑、客户端方终端、服务器、分布式计算***、手持设备或任何其他计算***或设备。在其最基本的配置中,计算***610可包括至少一个处理器614和***存储器616。
处理器614通常表示能够处理数据或解译和执行指令的任何类型或形式的物理处理单元(例如,硬件实现的中央处理单元)。在某些实施方案中,处理器614可接收来自软件应用程序或模块的指令。这些指令可使处理器614执行本文描述和/或例示的一个或多个示例性实施方案的功能。
***存储器616通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的易失性或非易失性存储设备或介质。***存储器616的示例包括而不限于:随机存取存储器(RAM)、只读存储器(ROM)、闪存存储器或任何其他合适的存储器设备。尽管不是必需的,但在某些实施方案中,计算***610可包括易失性存储器单元(诸如,例如,***存储器616)和非易失性存储设备(诸如,例如,主存储设备632,如下详述)两者。在一个示例中,图1的模块102中的一个或多个可加载到***存储器616中。
在某些实施方案中,除处理器614和***存储器616之外,示例性计算***610还可包括一个或多个组件或元件。例如,如图6所示,计算***610可包括存储器控制器618、输入/输出(I/O)控制器620和通信接口622,它们中的每一个都可经由通信基础结构612互连。通信基础结构612通常表示能够促进计算设备的一个或多个组件之间的通信的任何类型或形式的基础结构。通信基础结构612的示例包括而不限于:通信总线(诸如工业标准体系结构(ISA)、***组件互连(PCI)、PCI Express(PCIe)或类似的总线)和网络。
存储器控制器618通常表示能够处理存储器或数据或者控制计算***610的一个或多个组件之间的通信的任何类型或形式的设备。例如,在某些实施方案中,存储器控制器618可经由通信基础结构612来控制处理器614、***存储器616和I/O控制器620之间的通信。
I/O控制器620通常表示能够协调和/或控制计算设备的输入和输出功能的任何类型或形式的模块。例如,在某些实施方案中,I/O控制器620可控制或促进计算***610的一个或多个元件之间的数据传输,这些元件是诸如处理器614、***存储器616、通信接口622、显示适配器626、输入接口630和存储接口634。
通信接口622在广义上表示能够促进示例性计算***610与一个或多个另外设备之间的通信的任何类型或形式的通信设备或适配器。例如,在某些实施方案中,通信接口622可促进计算***610与包括另外计算***的专用或公共网络之间的通信。通信接口622的示例包括而不限于:有线网络接口(诸如网络接口卡)、无线网络接口(诸如无线网络接口卡)、调制解调器和任何其他合适的接口。在至少一个实施方案中,通信接口622可经由与网络,诸如互联网的直接链路来提供与远程服务器的直接连接。通信接口622也可通过例如局域网(诸如以太网网络)、个人区域网、电话或电缆网络、蜂窝电话连接、卫星数据连接或任何其他合适的连接来间接提供此类连接。
在某些实施方案中,通信接口622还可表示主机适配器,该主机适配器被配置为经由外部总线或通信信道来促进计算***610与一个或多个另外网络或存储设备之间的通信。主机适配器的示例包括但不限于:小型计算机***接口(SCSI)主机适配器、通用串行总线(USB)主机适配器、电气与电子工程师协会(IEEE)1394主机适配器、高级技术附件(ATA)、并行ATA(PATA)、串行ATA(SATA)和外部SATA(eSATA)主机适配器、光纤通道接口适配器、以太网适配器等。通信接口622还可允许计算***610参与分布式或远程计算。例如,通信接口622可接收来自远程设备的指令或将指令发送到远程设备以供执行。
如图6所示,计算***610也可包括至少一个显示设备624,该显示设备经由显示适配器626联接到通信基础结构612。显示设备624通常表示能够以可视方式显示由显示适配器626转发的信息的任何类型或形式的设备。类似地,显示适配器626通常表示被配置为转发来自通信基础结构612(或来自帧缓冲器,如本领域中已知)的图形、文本和其他数据以在显示设备624上显示的任何类型或形式的设备。
如图6所示,示例性计算***610还可包括经由输入接口630联接到通信基础结构612的至少一个输入设备628。输入设备628通常表示能够向示例性计算***610提供输入(由计算机或人生成)的任何类型或形式的输入设备。输入设备628的示例包括而不限于:键盘、指示设备、语音识别设备或任何其他输入设备。
如图6所示,示例性计算***610还可包括主存储设备632和经由存储接口634联接到通信基础结构612的备份存储设备633。存储设备632和633通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。例如,存储设备632和633可为磁盘驱动器(例如,所谓的硬盘驱动器)、固态驱动器、软盘驱动器、磁带驱动器、光盘驱动器、闪存驱动器等。存储接口634通常表示用于在存储设备632和633与计算***610的其他组件之间传输数据的任何类型或形式的接口或设备。
在某些实施方案中,存储设备632和633可被配置为对被配置为存储计算机软件、数据或其他计算机可读信息的可移除存储单元执行读取和/或写入。合适的可移除存储单元的示例包括但不限于:软盘、磁带、光盘、闪存存储器设备等。存储设备632和633还可包括允许将计算机软件、数据或其他计算机可读指令加载到计算***610内的其他类似结构或设备。例如,存储设备632和633可被配置为读取和写入软件、数据或其他计算机可读信息。存储设备632和633还可为计算***610的一部分,或者可为通过其他接口***进行访问的独立设备。
可将许多其他设备或子***连接到计算***610。相反地,无需图6中示出的所有组件和设备都存在,亦可实践本文描述和/或例示的实施方案。上文提及的设备和子***也可通过不同于图6所示的方式互连。计算***610也可采用任何数量的软件、固件和/或硬件配置。例如,本文所公开的一个或多个示例性实施方案可被编码为计算机可读介质上的计算机程序(也称为计算机软件、软件应用程序、计算机可读指令或计算机控制逻辑)。如本文所用,术语“计算机可读介质”通常指能够存储或携带计算机可读指令的任何形式的设备、载体或介质。计算机可读介质的示例包括而不限于:传输型介质(诸如载波)和非暂态型介质(诸如磁存储介质,例如,硬盘驱动器、带驱动器和软盘)、光存储介质(例如,光盘(CD)、数字视频盘(DVD)和蓝光光盘)、电子存储介质(例如,固态驱动器和闪存介质)和其他分配***。
可将包含计算机程序的计算机可读介质加载到计算***610中。然后可将计算机可读介质上存储的全部或部分计算机程序存储在***存储器616和/或存储设备632和633的各个部分中。当由处理器614执行时,加载到计算***610中的计算机程序可使处理器614执行本文描述和/或例示的示例性实施方案中的一个或多个的功能和/或作为用于执行其的装置。除此之外或作为另外一种选择,可在固件和/或硬件中实现本文描述和/或例示的示例性实施方案中的一者或多者。例如,计算***610可被配置为适于实现本文所公开的示例性实施方案中的一个或多个的专用集成电路(ASIC)。
图7为示例性网络体系结构700的框图,其中客户端***710、720和730以及服务器740和745可联接到网络750。如上所详述,网络体系结构700的全部或一部分可单独地或与其他元件结合来执行本文所公开的步骤中的一个或多个(诸如图3所示的步骤中的一个或多个)和/或作为用于执行其的装置。网络体系结构700的全部或一部分还可用于执行本公开中阐述的其他步骤和特征和/或作为用于执行其的装置。
客户端***710、720和730通常表示任何类型或形式的计算设备或***,诸如图6中的示例性计算***610。类似地,服务器740和745通常表示被配置为提供各种数据库服务和/或运行某些软件应用程序的计算设备或***,诸如应用程序服务器或数据库服务器。网络750通常表示任何电信或计算机网络包括,例如,内联网、WAN、LAN、PAN或互连网。在一个示例中,客户端***710、720和/或730和/或服务器740和/或745可包括来自图1的***100的全部或一部分。
如图7所示,一个或多个存储设备760(1)-(N)可直接附接到服务器740。类似地,一个或多个存储设备770(1)-(N)可直接附接到服务器745。存储设备760(1)-(N)和存储设备770(1)-(N)通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。在某些实施方案中,存储设备760(1)-(N)和存储设备770(1)-(N)可表示被配置为使用各种协议(诸如网络文件***(NFS)、服务器消息块(SMB)或通用互联网文件***(CIFS))与服务器740和745进行通信的网络附接存储(NAS)设备。
服务器740和745也可连接到存储区域网络(SAN)架构780。SAN架构780通常表示能够促进多个存储设备之间的通信的任何类型或形式的计算机网络或体系结构。SAN架构780可促进服务器740和745与多个存储设备790(1)-(N)和/或智能存储阵列795之间的通信。SAN架构780还可通过网络750以及服务器740和745以这样的方式促进客户端***710,720和730与存储设备790(1)-(N)和/或智能存储阵列795之间的通信:设备790(1)-(N)和阵列795呈现为客户端***710,720和730的本地附接设备。与存储设备760(1)-(N)和存储设备770(1)-(N)相同,存储设备790(1)-(N)和智能存储阵列795通常表示能够存储数据和/或其他计算机可读指令的任何类型或形式的存储设备或介质。
在某些实施方案中,并参照图6的示例性计算***610,通信接口(诸如图6中的通信接口622)可用于在每个客户端***710、720和730与网络750之间提供连接性。客户端***710、720和730可能能够使用例如网页浏览器或其他客户端软件来访问服务器740或745上的信息。此类软件可允许客户端***710、720和730访问由服务器740、服务器745、存储设备760(1)-(N)、存储设备770(1)-(N)、存储设备790(1)-(N)或智能存储阵列795托管的数据。尽管图7示出了使用网络(诸如互联网)来交换数据,但本文描述和/或例示的实施方案并非限于互联网或任何特定的基于网络的环境。
在至少一个实施方案中,本文所公开的一个或多个示例性实施方案中的全部或一部分可被编码为计算机程序并加载到服务器740、服务器745、存储设备760(1)-(N)、存储设备770(1)-(N)、存储设备790(1)-(N)、智能存储阵列795或它们的任意组合上并加以执行。本文所公开的一个或多个示例性实施方案中的全部或一部分也可被编码为计算机程序,存储在服务器740中,由服务器745运行,以及通过网络750分配到客户端***710、720和730。
如上所详述,计算***610和/或网络体系结构700的一个或多个部件可单独或与其他元件结合来执行用于应用程序网络活动的自动分类的示例性方法的一个或多个步骤并且/或者可以是用于执行其的装置。
虽然上述公开内容使用特定框图、流程图和示例阐述了各种实施方案,但每个框图组件、流程图步骤、操作和/或本文描述和/或例示的组件可使用多种硬件、软件或固件(或其任何组合)配置单独和/或共同地实现。此外,包含在其他组件内的组件的任何公开内容应当被视为在本质上是示例性的,因为可实施许多其他体系结构来实现相同功能。
在一些示例中,图1中的示例性***100的全部或一部分可表示云计算环境或基于网络的环境的部分。云计算环境可通过互联网提供各种服务和应用程序。这些基于云的服务(例如软件即服务、平台即服务、基础结构即服务等)可通过网页浏览器或其他远程接口进行访问。本文所述的各种功能可通过远程桌面环境或任何其他基于云的计算环境提供。
在各种实施方案中,图1中的示例性***100的全部或一部分可促进基于云的计算环境内的多租户。换句话讲,本文所述的软件模块可配置计算***(例如,服务器)以促进本文所述功能中的一个或多个的多租户。例如,本文所述软件模块中的一个或多个可对服务器进行编程以允许两个或更多个客户端(例如,顾客)共享正在服务器上运行的应用程序。以这种方式编程的服务器可在多个顾客(即,租户)之间共享应用程序、操作***、处理***和/或存储***。本文所述模块中的一个或多个还可为每个顾客分割多租户应用程序的数据和/或配置信息使得一个顾客不能访问另一个顾客的数据和/或配置信息。
根据各种实施方案,图l中的示例性***100的全部或一部分可在虚拟环境内实现。例如,本文所述模块和/或数据可在虚拟机内驻留和/或执行。如本文所用,术语“虚拟机”通常指由虚拟机管理器(例如,虚拟机监控程序)从计算硬件中抽象出来的任何操作***环境。除此之外或作为另外一种选择,本文所述的模块和/或数据可在虚拟化层内驻留和/或执行。如本文所用,术语“虚拟化层”通常指覆盖操作***环境和/或从操作***环境中抽象出来的任何数据层和/或应用层。虚拟化层可由软件虚拟化解决方案(例如,文件***过滤器)管理,软件虚拟化解决方案将虚拟化层呈现为就好像它是底层基本操作***的一部分。例如,软件虚拟化解决方案可将最初定向至基本文件***和/或注册表内的位置的调用重定向至虚拟化层内的位置。
在一些示例中,图1中的示例性***100的全部或一部分可表示移动计算环境的部分。移动计算环境可由多种移动计算设备来实现,这些设备包括移动电话、平板电脑、电子书阅读器、个人数字助理、可穿戴计算设备(例如,具有头戴式显示器的计算设备、智能手表等),等等。在一些示例中,移动计算环境可具有一个或多个区别特征,包括例如对电池供电的依赖、在任何给定时间只呈现一个前台应用程序、远程管理特征、触摸屏特征、(例如,由全球定位***、陀螺仪、加速度计等提供的)位置和移动数据、限制对***级配置的修改和/或限制第三方软件检查其他应用程序的行为的能力的受限平台、限制应用程序的安装的控制装置(例如,仅安装来源于经批准的应用程序商店的应用程序)等等。本文所述的各种功能可被提供用于移动计算环境和/或可与移动计算环境交互。
此外,图1中的示例性***100的全部或一部分可表示一个或多个信息管理***的部分,与一个或多个信息管理***交互,使用由一个或多个信息管理***产生的数据和/或产生被一个或多个信息管理***使用的数据。如本文所用,术语“信息管理”可指数据的保护、组织和/或存储。信息管理***的示例可包括但不限于:存储***、备份***、存档***、复制***、高可用性***、数据搜索***、虚拟化***等。
在一些实施方案中,图1中的示例性***100的全部或一部分可表示一个或多个信息安全***的部分,产生受一个或多个信息安全***保护的数据和/或与一个或多个信息安全***通信。如本文所用,术语“信息安全”可指对受保护数据的访问的控制。信息安全***的示例可包括而不限于:提供受管理的安全服务的***、数据丢失防护***、身份认证***、访问控制***、加密***、策略遵循***、入侵检测与防护***、电子发现***等等。
根据一些示例,图1中的示例性***100的全部或一部分可表示一个或多个端点安全***的部分、与一个或多个端点安全***通信和/或受一个或多个端点安全***保护。如本文所用,术语“端点安全”可指保护端点***免遭未经授权和/或非法使用、访问和/或控制。端点保护***的示例可包括而不限于:反恶意软件***、用户认证***、加密***、保密***、垃圾邮件过滤服务,等等。
本文描述和/或例示的过程参数和步骤序列仅通过举例的方式给出并且可根据需要改变。例如,虽然本文示出和/或描述的步骤能够以特定顺序示出或讨论,但这些步骤不一定需要按例示或讨论的顺序来执行。本文描述和/或例示的各种示例性方法也可省略本文描述或例示的步骤中的一个或多个,或除了所公开的那些步骤之外还包括另外步骤。
虽然在全功能计算***的背景中描述和/或例示了各种实施方案,但这些示例性实施方案中的一个或多个可作为各种形式的程序产品来分配,而不顾及用于实际执行分配的计算机可读介质的特定类型。本文所公开的实施方案也可使用执行某些任务的软件模块来实现。这些软件模块可包括脚本、批文件或可存储在计算机可读存储介质上或计算***中的其他可执行文件。在一些实施方案中,这些软件模块可将计算***配置为执行本文所公开的示例性实施方案中的一个或多个。
此外,本文所述的模块中的一个或多个可将数据、物理设备和/或物理设备的表示从一种形式转换为另一种形式。例如,本文所述的模块中的一个或多个可识别要转换的网络流,从网络流中提取标题信息,从标题中提取关键字的集合,将关键字的集合转换为网络流的分类,将分类施加到表示由应用程序生成的网络活动的状态简档,将分类的结果存储在数据库中,将分类的结果提供给恶意软件检测***,并且/或者将分类的结果提供给网络流量控制***。除此之外或作为另外一种选择,本文所述模块中的一个或多个可通过在计算设备上执行、在计算设备上存储数据和/或以其他方式与计算设备交互,来将处理器、易失性存储器、非易失性存储器、和/或物理计算设备的任何其他部分从一种形式转换为另一种形式。
提供前面描述的目的是使本领域的其他技术人员能够最好地利用本文所公开的示例性实施方案的各种方面。该示例性描述并非旨在是详尽的或局限于所公开的任何精确形式。在不脱离本发明实质和范围的前提下,可进行许多修改和变化。本文所公开的实施方案在所有方面均应被视为示例性的而非限制性的。应当参考所附权利要求及其等同形式来确定本发明的范围。
除非另有说明,否则在本说明书和权利要求中使用的术语“连接到”和“联接到”(以及其衍生形式)应该理解为允许直接和间接(即,经由其他元件或组件)连接。此外,在本说明书和权利要求中使用的术语“一”或“一个”应当理解为表示“...中的至少一者”。最后,为了易于使用,在本说明书和权利要求中使用的术语“包括”和“具有”(以及其衍生形式)与词语“包含”可互换并且与词语“包含”具有相同含义。
Claims (20)
1.一种用于应用程序网络活动的自动分类的计算机实现的方法,所述方法的至少一部分由包括至少一个处理器的计算设备来执行,所述方法包括:
构建包括词汇关键字的词汇字典,其中其标题包含给定词汇关键字的网络流表示与所述词汇字典中的所述给定词汇关键字相关联的活动类型的通信;
在网络有利位置处识别表示应用程序和服务器之间的通信的网络流;
通过使用所述词汇字典的词汇分析,从所述网络流的一个或多个标题字段中提取一组关键字;
基于与从所述网络流的所述标题字段中提取的所述组关键字中的每个关键字相关联的活动类型来对所述网络流进行分类。
2.根据权利要求1所述的方法,其中构建所述词汇字典包括:
在沙箱环境中执行已知的应用程序;
通过对所述应用程序执行动作来使得所述已知应用程序生成所生成的网络流;
从所述生成的网络流的所述标题中提取至少一个观察到的关键字;
将所述观察到的关键字与使得所述已知应用程序生成所述生成的网络流的所述动作相关联。
3.根据权利要求1所述的方法,其中构建所述词汇字典包括将用户定义的词汇关键字添加到所述词汇字典。
4.根据权利要求1所述的方法,其中构建所述词汇字典包括将词汇关键字和活动类型之间的用户定义的关联添加到所述词汇字典。
5.根据权利要求1所述的方法,还包括将所述网络流的所述分类添加到所述应用程序的状态简档,所述状态简档在特定时刻描述由所述应用程序生成的不止一个网络流的所述分类。
6.根据权利要求1所述的方法,其中分类所述网络流包括基于从所述网络流的所述标题字段中提取的不止一个特定关键字的存在将特定分类分配给所述网络流。
7.根据权利要求1所述的方法,其中从所述一个或多个标题字段中提取所述组关键字包括使所述标题字段标记化。
8.根据权利要求7所述的方法,其中使所述标题字段标记化包括沿着非字母数字界定字符使所述标题字段标记化。
9.根据权利要求1所述的方法,其中所述网络流包括超文本传输协议(HTTP)流。
10.根据权利要求1所述的方法,还包括将所述网络流的所述分类提供给实施网络流量策略的网络管理***。
11.根据权利要求1所述的方法,还包括将所述网络流的所述分类提供给保护计算***免受恶意软件影响的软件安全***。
12.根据权利要求1所述的方法,其中所述网络有利位置包括以下各项中的至少一个:
路由器;
服务器;
网关;
交换机;
网络接口设备;
网络集线器。
13.一种用于应用程序网络活动的自动分类的***,所述***包括:
构建模块,所述构建模块存储在存储器中,并且构建包括词汇关键字的词汇字典,其中其标题包含给定词汇关键字的网络流表示与所述词汇字典中的所述给定词汇关键字相关联的活动类型的通信;
识别模块,所述识别模块存储在存储器中,并且在网络有利位置处识别表示应用程序和服务器之间的通信的网络流;
提取模块,所述提取模块存储在存储器中,并且通过使用所述词汇字典的词汇分析,从所述网络流的一个或多个标题字段中提取一组关键字;
分类模块,所述分类模块存储在存储器中,并且基于与从所述网络流的所述标题字段中提取的所述组关键字中的每个关键字相关联的活动类型来对所述网络流进行分类;
至少一个物理处理器,所述物理处理器被配置为执行所述构建模块、所述识别模块、所述提取模块和所述分类模块。
14.根据权利要求13所述的***,其中所述构建模块通过以下方式来构建所述词汇字典:
在沙箱环境中执行已知的应用程序;
通过对所述应用程序执行动作来使得所述已知应用程序生成所生成的网络流;
从所述生成的网络流的所述标题中提取至少一个观察到的关键字;
将所述观察到的关键字与使得所述已知应用程序生成所述生成的网络流的所述动作相关联。
15.根据权利要求13所述的***,其中所述构建模块通过将用户定义的词汇关键字添加到所述词汇字典来构建所述词汇字典。
16.根据权利要求13所述的***,其中所述构建模块通过将词汇关键字和活动类型之间的用户定义的关联添加到所述词汇字典来构建所述词汇字典。
17.根据权利要求13所述的***,其中所述分类模块将所述网络流的所述分类添加到所述应用程序的状态简档,所述状态简档在特定时刻描述由所述应用程序生成的不止一个网络流的所述分类。
18.根据权利要求13所述的***,其中所述分类模块通过基于从所述网络流的所述标题字段中提取的不止一个特定关键字的所述存在将特定分类分配给所述网络流来对所述网络流进行分类。
19.根据权利要求13所述的***,其中所述提取模块通过使所述标题字段标记化来从所述一个或多个标题字段中提取所述组关键字。
20.一种非暂态计算机可读介质,包括一个或多个计算机可读指令,所述计算机可读指令在由计算设备的至少一个处理器执行时,使所述计算设备:
构建包括词汇关键字的词汇字典,其中其标题包含给定词汇关键字的网络流表示与所述词汇字典中的所述给定词汇关键字相关联的活动类型的通信;
在网络有利位置处识别表示应用程序和服务器之间的通信的网络流;
通过使用所述词汇字典的词汇分析,从所述网络流的一个或多个标题字段中提取一组关键字;
基于与从所述网络流的所述标题字段中提取的所述组关键字中的每个关键字相关联的活动类型来对所述网络流进行分类。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/064629 | 2016-03-09 | ||
US15/064,629 US10430442B2 (en) | 2016-03-09 | 2016-03-09 | Systems and methods for automated classification of application network activity |
PCT/US2016/069025 WO2017155592A1 (en) | 2016-03-09 | 2016-12-28 | Systems and methods for automated classification of application network activity |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108886512A true CN108886512A (zh) | 2018-11-23 |
Family
ID=57890901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680082880.9A Pending CN108886512A (zh) | 2016-03-09 | 2016-12-28 | 用于应用程序网络活动的自动分类的***和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10430442B2 (zh) |
EP (1) | EP3427460B1 (zh) |
JP (1) | JP2019512133A (zh) |
CN (1) | CN108886512A (zh) |
WO (1) | WO2017155592A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10430442B2 (en) | 2016-03-09 | 2019-10-01 | Symantec Corporation | Systems and methods for automated classification of application network activity |
US10666675B1 (en) | 2016-09-27 | 2020-05-26 | Ca, Inc. | Systems and methods for creating automatic computer-generated classifications |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10366234B2 (en) * | 2016-09-16 | 2019-07-30 | Rapid7, Inc. | Identifying web shell applications through file analysis |
US20180315414A1 (en) * | 2017-04-26 | 2018-11-01 | International Business Machines Corporation | Adaptive digital assistant and spoken genome |
CN110389932B (zh) * | 2019-07-02 | 2023-01-13 | 华北电力科学研究院有限责任公司 | 电力文件自动分类方法及装置 |
CN112787880B (zh) * | 2019-11-08 | 2024-05-31 | 阿里巴巴集团控股有限公司 | 回放数据获取与流量回放方法、设备及存储介质 |
KR102287394B1 (ko) * | 2020-12-21 | 2021-08-06 | 한국인터넷진흥원 | 익스플로잇 공격 유형 분류 방법 및 그 장치 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030105976A1 (en) * | 2000-11-30 | 2003-06-05 | Copeland John A. | Flow-based detection of network intrusions |
US7971054B1 (en) * | 2006-09-19 | 2011-06-28 | Bsecure Technologies, Inc. | Method of and system for real-time form and content classification of data streams for filtering applications |
US8631498B1 (en) * | 2011-12-23 | 2014-01-14 | Symantec Corporation | Techniques for identifying potential malware domain names |
Family Cites Families (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8584239B2 (en) * | 2004-04-01 | 2013-11-12 | Fireeye, Inc. | Virtual machine with dynamic data flow analysis |
US8615800B2 (en) | 2006-07-10 | 2013-12-24 | Websense, Inc. | System and method for analyzing web content |
US8700788B2 (en) | 2006-08-18 | 2014-04-15 | Smarticon Technologies, Llc | Method and system for automatic login initiated upon a single action with encryption |
US7809602B2 (en) | 2006-08-31 | 2010-10-05 | Opinionlab, Inc. | Computer-implemented system and method for measuring and reporting business intelligence based on comments collected from web page users using software associated with accessed web pages |
US8087088B1 (en) | 2006-09-28 | 2011-12-27 | Whitehat Security, Inc. | Using fuzzy classification models to perform matching operations in a web application security scanner |
WO2008134708A1 (en) | 2007-04-30 | 2008-11-06 | Etelemetry, Inc. | Method and system for activity monitoring and forecasting |
US8291495B1 (en) | 2007-08-08 | 2012-10-16 | Juniper Networks, Inc. | Identifying applications for intrusion detection systems |
US7644150B1 (en) * | 2007-08-22 | 2010-01-05 | Narus, Inc. | System and method for network traffic management |
US8010524B2 (en) | 2007-10-29 | 2011-08-30 | International Business Machines Corporation | Method of monitoring electronic media |
JP5050781B2 (ja) * | 2007-10-30 | 2012-10-17 | 富士通株式会社 | マルウエア検出装置、監視装置、マルウエア検出プログラム、およびマルウエア検出方法 |
US8494985B1 (en) | 2011-05-17 | 2013-07-23 | Narus, Inc. | System and method for using network application signatures based on modified term transition state machine |
US9985978B2 (en) | 2008-05-07 | 2018-05-29 | Lookingglass Cyber Solutions | Method and system for misuse detection |
US7864764B1 (en) | 2008-09-16 | 2011-01-04 | Juniper Networks, Inc. | Accelerated packet processing in a network acceleration device |
US8620845B2 (en) | 2008-09-24 | 2013-12-31 | Timothy John Stoakes | Identifying application metadata in a backup stream |
US8572717B2 (en) | 2008-10-09 | 2013-10-29 | Juniper Networks, Inc. | Dynamic access control policy with port restrictions for a network security appliance |
US8683584B1 (en) | 2009-04-25 | 2014-03-25 | Dasient, Inc. | Risk assessment |
US20110004504A1 (en) | 2009-07-01 | 2011-01-06 | Edward Ives | Systems and methods for scoring a plurality of web pages according to brand reputation |
US20110066648A1 (en) | 2009-09-14 | 2011-03-17 | Raj Vasant Abhyanker | Simultaneous reservation of brand identity |
US9443245B2 (en) | 2009-09-29 | 2016-09-13 | Microsoft Technology Licensing, Llc | Opinion search engine |
US8776168B1 (en) | 2009-10-29 | 2014-07-08 | Symantec Corporation | Applying security policy based on behaviorally-derived user risk profiles |
US8661076B2 (en) | 2010-09-23 | 2014-02-25 | Salesforce.Com, Inc. | Business networking information feed alerts |
CN102567393A (zh) | 2010-12-21 | 2012-07-11 | 北大方正集团有限公司 | 一种处理舆情话题的方法、装置和*** |
US20120239667A1 (en) | 2011-03-15 | 2012-09-20 | Microsoft Corporation | Keyword extraction from uniform resource locators (urls) |
US20120290330A1 (en) | 2011-05-09 | 2012-11-15 | Hartford Fire Insurance Company | System and method for web-based industrial classification |
US8600984B2 (en) | 2011-07-13 | 2013-12-03 | Bluefin Labs, Inc. | Topic and time based media affinity estimation |
US8578024B1 (en) | 2012-01-05 | 2013-11-05 | Narus, Inc. | Network application signatures for binary protocols |
US8819227B1 (en) | 2012-03-19 | 2014-08-26 | Narus, Inc. | Discerning web content and services based on real-time DNS tagging |
US9589129B2 (en) | 2012-06-05 | 2017-03-07 | Lookout, Inc. | Determining source of side-loaded software |
US20180047071A1 (en) | 2012-07-24 | 2018-02-15 | Ebay Inc. | System and methods for aggregating past and predicting future product ratings |
US20140058913A1 (en) | 2012-08-24 | 2014-02-27 | International Business Machines Corporation | Graph partitioning for dynamic securitization |
US9461876B2 (en) | 2012-08-29 | 2016-10-04 | Loci | System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction |
US8843627B1 (en) | 2012-10-19 | 2014-09-23 | Narus, Inc. | System and method for extracting signatures from seeded flow groups to classify network traffic |
US9043264B2 (en) | 2012-12-14 | 2015-05-26 | International Business Machines Corporation | Scanning data streams in real-time against large pattern collections |
US20140172495A1 (en) | 2012-12-16 | 2014-06-19 | Mcafee, Inc. | System and method for automated brand protection |
US8843267B2 (en) | 2013-01-10 | 2014-09-23 | Infineon Technologies Ag | Wheel localizer, wheel localization device, system, method and computer program for locating a position of a wheel |
US20140282493A1 (en) | 2013-03-15 | 2014-09-18 | Quixey, Inc | System for replicating apps from an existing device to a new device |
US20140321290A1 (en) | 2013-04-30 | 2014-10-30 | Hewlett-Packard Development Company, L.P. | Management of classification frameworks to identify applications |
US9271325B2 (en) | 2013-04-30 | 2016-02-23 | Seven Networks, Llc | Detection and reporting of keepalive messages for optimization of keepalive traffic in a mobile network |
WO2015023256A1 (en) | 2013-08-12 | 2015-02-19 | Hewlett-Packard Development Company, L.P. | Application-aware network management |
US9299113B2 (en) | 2013-09-13 | 2016-03-29 | Microsoft Technology Licensing, Llc | Social media driven information interface |
US9727371B2 (en) | 2013-11-22 | 2017-08-08 | Decooda International, Inc. | Emotion processing systems and methods |
US10721244B2 (en) * | 2014-03-19 | 2020-07-21 | Nippon Telegraph And Telephone Corporation | Traffic feature information extraction method, traffic feature information extraction device, and traffic feature information extraction program |
US10038616B2 (en) * | 2014-09-25 | 2018-07-31 | Microsoft Technology Licensing, Llc | Managing classified network streams |
US20160110819A1 (en) | 2014-10-21 | 2016-04-21 | Marc Lauren Abramowitz | Dynamic security rating for cyber insurance products |
US9544325B2 (en) | 2014-12-11 | 2017-01-10 | Zerofox, Inc. | Social network security monitoring |
US20160352805A1 (en) | 2015-05-28 | 2016-12-01 | Bizhive, Llc | Online reputation monitoring and intelligence gathering |
US10430442B2 (en) | 2016-03-09 | 2019-10-01 | Symantec Corporation | Systems and methods for automated classification of application network activity |
US10108803B2 (en) | 2016-03-31 | 2018-10-23 | International Business Machines Corporation | Automatic generation of data-centric attack graphs |
US20170331840A1 (en) | 2016-05-11 | 2017-11-16 | Symantec Corporation | Systems and methods for determining security risk profiles |
-
2016
- 2016-03-09 US US15/064,629 patent/US10430442B2/en active Active
- 2016-12-28 JP JP2018545145A patent/JP2019512133A/ja active Pending
- 2016-12-28 WO PCT/US2016/069025 patent/WO2017155592A1/en active Application Filing
- 2016-12-28 EP EP16831553.9A patent/EP3427460B1/en active Active
- 2016-12-28 CN CN201680082880.9A patent/CN108886512A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030105976A1 (en) * | 2000-11-30 | 2003-06-05 | Copeland John A. | Flow-based detection of network intrusions |
US7971054B1 (en) * | 2006-09-19 | 2011-06-28 | Bsecure Technologies, Inc. | Method of and system for real-time form and content classification of data streams for filtering applications |
US8631498B1 (en) * | 2011-12-23 | 2014-01-14 | Symantec Corporation | Techniques for identifying potential malware domain names |
Non-Patent Citations (1)
Title |
---|
HONGYI YAO ET AL: "SAMPLES: Self Adaptive Mining of Persistent Lexical Snippets for Classifying Mobile Application Traffic", 《MOBICOM,15》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10430442B2 (en) | 2016-03-09 | 2019-10-01 | Symantec Corporation | Systems and methods for automated classification of application network activity |
US10666675B1 (en) | 2016-09-27 | 2020-05-26 | Ca, Inc. | Systems and methods for creating automatic computer-generated classifications |
Also Published As
Publication number | Publication date |
---|---|
US10430442B2 (en) | 2019-10-01 |
US20170262522A1 (en) | 2017-09-14 |
JP2019512133A (ja) | 2019-05-09 |
EP3427460B1 (en) | 2023-03-15 |
WO2017155592A1 (en) | 2017-09-14 |
EP3427460A1 (en) | 2019-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108886512A (zh) | 用于应用程序网络活动的自动分类的***和方法 | |
US11178170B2 (en) | Systems and methods for detecting anomalous behavior within computing sessions | |
US10313352B2 (en) | Phishing detection with machine learning | |
US9245123B1 (en) | Systems and methods for identifying malicious files | |
US9083729B1 (en) | Systems and methods for determining that uniform resource locators are malicious | |
US9992211B1 (en) | Systems and methods for improving the classification accuracy of trustworthiness classifiers | |
US10250617B1 (en) | Systems and methods for detecting malware using machine learning | |
US9985916B2 (en) | Moderating online discussion using graphical text analysis | |
US11036800B1 (en) | Systems and methods for clustering data to improve data analytics | |
US10339423B1 (en) | Systems and methods for generating training documents used by classification algorithms | |
CN107077570A (zh) | 用于检测通过数据分发通道发送敏感信息的尝试的***和方法 | |
CN108292133A (zh) | 用于在工业控制***内识别已泄密设备的***和方法 | |
CN105874464A (zh) | 用于在子***输出信号中引入变化以防止设备指纹分析的***和方法 | |
CN106030527B (zh) | 将可供下载的应用程序通知用户的***和方法 | |
US11449637B1 (en) | Systems and methods for providing web tracking transparency to protect user data privacy | |
US10546123B1 (en) | Systems and methods for identifying malicious computer files | |
CN114338064B (zh) | 识别网络流量类型的方法、装置、***、设备和存储介质 | |
US20170075584A1 (en) | System and method for generating backup of personalized user data | |
US11144656B1 (en) | Systems and methods for protection of storage systems using decoy data | |
CN112602084B (zh) | 用于识别数据外泄的***和方法 | |
US20200402061A1 (en) | Cryptocurrency transaction pattern based threat intelligence | |
US10944781B1 (en) | Systems and methods for identifying malicious domain names from a passive domain name system server log | |
US10216933B1 (en) | Systems and methods for determining whether malicious files are targeted | |
US11651097B2 (en) | Document security enhancement | |
US11461462B1 (en) | Systems and methods for producing adjustments to malware-detecting services |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200106 Address after: California, USA Applicant after: CA,INC. Address before: California, USA Applicant before: Symantec Corporation |
|
TA01 | Transfer of patent application right | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181123 |
|
WD01 | Invention patent application deemed withdrawn after publication |