CN102710504A - 应用识别方法和装置 - Google Patents
应用识别方法和装置 Download PDFInfo
- Publication number
- CN102710504A CN102710504A CN2012101513848A CN201210151384A CN102710504A CN 102710504 A CN102710504 A CN 102710504A CN 2012101513848 A CN2012101513848 A CN 2012101513848A CN 201210151384 A CN201210151384 A CN 201210151384A CN 102710504 A CN102710504 A CN 102710504A
- Authority
- CN
- China
- Prior art keywords
- characteristic
- address
- state machine
- dns
- node
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种应用识别方法和装置,用以解决现有技术针对WEB2.0应用的识别匹配性能不高的问题。该方法包括对未知网络流量中的DNS请求报文和对应的DNS应答报文进行DNS解码,获得预定WEB2.0站点域名对应的IP地址;从未知网络流量分流出源地址或目的地址为所述IP地址的网络流量;将分流出的网络流量输入第一状态机进行特征匹配;输出第一状态机的匹配结果,所述匹配结果包括WEB2.0应用的标识,所述标识是与所述分流出的网络流量的特征对应的WEB2.0应用的标识。由于减小了状态机的规模、待识别流量,减少了匹配的次数,节约了运算处理资源,提升了针对WEB2.0的应用识别的性能和效率。
Description
技术领域
本发明涉及计算机及网络技术领域,尤其涉及一种应用识别方法及一种应用识别装置。
背景技术
随着互联网的普及,互联网技术也发生了日新月异的进步。WEB2.0是近年来新兴、并获得广泛推广的互联网应用程序构建技术。WEB2.0是相对于WEB1.0而言的,WEB1.0的主要特点在于用户通过浏览器从所呈现的网页中接收信息,例如在新闻网页中阅读新闻;WEB2.0则更注重互联网网页与用户的交互过程,用户既是网站内容的浏览者,也是网站内容的制造者,即用户不再仅仅是网页内容的读者,也同时作为网页内容的作者。在工作模式上,WEB2.0使得用户与网站的关系由WEB1.0中单纯的“读”向“写”、以及“相互交互”的方向发展。例如,当前非常流行的社交网站facebook、开心网、推特twitter、google+均是典型的WEB2.0技术的应用范例。
目前通常将基于WEB2.0技术构建的网站,或网站所提供的某个功能称为一个“应用”,即应用划分的最大粒度是网站。基于WEB2.0技术的应用在给人们带来乐趣和便利的同时,也引发了漏洞、攻击、隐私泄露等一系列的安全问题,例如用户在网页中发布信息,或与其他朋友共享信息时泄露企业的保密信息,或者在网页上实施脚本注入攻击等等。因此如何防范上述安全问题成为了一个研究热点,而防范上述安全问题的前提是如何识别基于WEB2.0技术的应用。
现有各种应用识别方案的基本原理较为类似,具体为:预先根据各种已知应用的特征构建特征匹配器,特征匹配器可以为状态机;安全设备将未知流量输入状态机,状态机根据已知应用的特征,对未知流量进行匹配,若未知流量符合某个应用的特征,则将该应用的标识作为匹配结果输出。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:随着各级网络出口带宽不断增长,需要进行检测识别的流量越来越大。在构建特征匹配器时,由于各种应用特征数量的增长,编译得到的用于进行匹配的状态机占用的内存量也急剧增长,导致后续对未知流量进行匹配时针对WEB2.0应用的识别匹配性能不高。
发明内容
本发明实施例提供一种应用识别方法,用以解决现有技术针对WEB2.0应用的识别匹配性能不高的问题。
对应地,本发明实施例还提供了一种应用识别装置。
本发明实施例提供的技术方案如下:
一种应用识别方法,包括:
对未知网络流量中的域名服务(DNS,Domain Name Server)请求报文和对应的DNS应答报文进行解码,获得预定WEB2.0站点域名对应的IP地址;
从所述未知网络流量分流出源地址或目的地址为所述IP地址的网络流量;
将分流出的网络流量输入第一状态机进行特征匹配,所述第一状态机是预先对WEB2.0应用的特征进行编译生成的;
输出第一状态机的匹配结果,所述匹配结果包括WEB2.0应用的标识,所述标识是与所述分流出的网络流量的特征对应的WEB2.0应用的标识。
一种应用识别装置,包括:
DNS解码器,用于对未知网络流量中的域名服务DNS请求报文和对应的DNS应答报文进行DNS解码,获得WEB2.0站点域名对应的IP地址;
分流器,用于从所述未知网络流量分流出源地址或目的地址为所述IP地址的网络流量;
所述分流器还用于将分流出的网络流量输入第一状态机进行特征匹配,所述第一状态机是预先对WEB2.0应用的特征进行编译生成的;
所述第一状态机在特征匹配完成后,输出匹配结果,所述匹配结果包括WEB2.0应用的标识,所述标识是与所述分流出的网络流量的特征对应的WEB2.0应用的标识。
本发明实施例通过DNS解码获得WEB2.0网站的IP地址,然后根据所述IP地址从未知流量中分流出部分流量,将分流出的流量输入预先根据WEB2.0应用的特征编译生成的WEB2.0状态机,输出WEB2.0状态机的匹配结果。由于减小了状态机的规模,减少了待识别流量,减少了匹配的次数,节约了运算处理资源,提升了针对WEB2.0的应用识别的性能和效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有应用识别方案的示意图;
图2a为本发明实施例的主要实现原理流程图;
图2b为本发明实施例中状态机的示意图;
图2c为本发明实施例在特征匹配过程中状态机状态转换的示意图;
图3为本发明实施例提供的应用识别方案的示意图;
图4为本发明实施例提供的应用识别方法的详细流程图;
图5为本发明实施例中DNS解码过程的详细流程图;
图6为本发明实施例提供的第一种应用识别装置的结构示意图;
图7为本发明实施例提供的应用识别装置中DNS解码器的结构示意图;
图8为本发明实施例提供的第二种应用识别装置的结构示意图;
图9为本发明实施例提供的第三种应用识别装置的结构示意图。
具体实施方式
现有应用识别方案的示意图如附图1所示,一方面,随着基于浏览器(包括WEB1.0和WEB2.0)技术的应用数量急剧增长,对各种应用的特征进行编译而得到的用于进行特征匹配的状态机的规模也快速增长,其所占用的内存空间也不断增长;另一方面,待识别的未知流量也越来越大。上述两个方面都导致对未知流量进行匹配时,识别的效率和性能都较低,使之成为网络安全管理的瓶颈,在用于进行应用识别的安全设备缓存和CPU处理资源被耗尽的情形下,一部分待匹配报文因为得不到及时处理,而造成网络延时,严重影响用户体验;而如果为了避免延时而放弃匹配,则会导致识别命中率降低。
对此,发明人经过分析研究,提出了一种应用识别方案,能够显著提高针对WEB2.0应用的识别效率和性能。
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
如图2a所示,本发明实施例的主要实现原理流程如下:
步骤10,对未知网络流量中的DNS请求报文和对应的DNS应答报文进行DNS解码,获得预定WEB2.0站点域名对应的IP地址。
所述对应的DNS应答报文是指DNS服务器针对所述DNS请求报文返回的DNS应答报文,例如,浏览器客户端发送携带有网站A域名的DNS解析请求消息(在本文中简称为DNS请求报文)packet1,该DNS请求报文被路由至DNS服务器后,DNS服务器向所述浏览器客户端回应携带有网站A的服务器的IP地址的DNS解析响应消息(在本文中简称为DNS应答报文)packet2,则packet2被称为packet1对应的DNS应答报文。
所述WEB2.0站点对应的IP地址是指用于提供可以通过所述WEB2.0站点域名来访问的网络服务的服务器的IP地址;
其中,对未知网络流量进行DNS解码的目的在于,获得敏感的(或者说管理者所关心的)WEB2.0应用的站点网际互联协议(IP,Internet Protocol)地址并缓存,然后依据获得的站点IP地址从未知网络流量中分流出待识别网络流量。
步骤20,从所述未知网络流量分流出源地址或目的地址为所述IP地址的网络流量;
步骤30,将分流出的源地址或目的地址为所述IP地址的网络流量输入第一状态机进行特征匹配,所述第一状态机是预先对WEB2.0应用的特征进行编译生成的。
其中,状态机是一个有向图形,由一组节点和一组跳转函数组成,跳转函数用于实现不同节点之间的状态跳转。
具体地,特征又被称为签名(Signature)是指某个应用的报文中或由多个报文重组而成的数据流中区别于其他应用的报文或数据流的地方,可选地,特征可以为正则表达式的形式,例如“^HTTP(1|2).0 OK”,其含义是从有效载荷起始部分开始匹配,若匹配到字符串“^HTTP(1|2).0 OK”则说明符合该特征。
编译状态机是指,根据多个特征生成上述有向图形的过程。不同方法定义的状态机,生成的过程不同,这里以Aho-Corasick(AC)状态机算法为例,简单介绍一下状态机的编译过程。其他类型状态机的编译,在这里不进行一一详述,可参阅相关文献。
AC算法的思想,是用多个字符串形式的特征建立一个确定性的树形有限状态机,以待匹配内容作为该有限状态机中跳转函数的输入,使状态机进行状态的转换,当到达某些特定的状态(即终态)时,说明发生特征匹配,即命中了某个特征。具体到本实施例中构建第一状态机的应用场景:首先对每个WEB2.0应用的特征进行分解;设置至少一个状态节点,顺序地将分解后的部分特征作为相邻状态节点之间跳转函数的输入,从而构建出有向图形,所述状态节点中包含终态节点和非终态节点,所述终态节点是指将从初始状态节点跳转至该节点的路径上所有跳转函数的输入进行顺序拼接,拼接结果与一个WEB2.0的应用特征一致的节点;每个终态节点与输入拼接结果一致的WEB2.0的应用特征相对应。
利用状态机进行匹配是指,提取待匹配报文的有效载荷部分,从所述有向图形的初始节点开始,将分解后的有效载荷逐次作为跳转函数的输入,输入状态机中,从当前的某个节点,通过跳转函数转移到下一个节点,在节点转移过程中,有可能会到达一些终态(每个终态对应着一个特征),在到达终态时,就认为命中了该终态对应的特征,此时可以输出该终态节点对应的WEB2.0应用特征的标识。当然,在进行特征匹配时,匹配的对象可以是单个报文的有效载荷部分,也可以是由多个报文重组而成的数据流的有效载荷。
由于大大减少了出现重复特征匹配的情况,所以与传统的特征列表中每个应用对应的特征记录相比较的匹配方案相比,利用状态机进行特征匹配可以有效提高匹配效率。
为了便于理解,下面给出了一个编译状态机和利用状态机进行特征匹配的实例,实际应用的状态机在复杂性方面会比该实例会高很多。
假设当前有如下特征串“he”、“she”、“his”、“hers”,根据上述多个特征串,构造的AC状态机如附图2b所示。其中的阴影节点,如节点2、节点5、节点7和节点9为终态节点,其他节点为非终态节点。
针对特征匹配过程说明如下:
1.该状态机优先按照实线标注的状态转换路径进行转换,当所有实线标注的状态转换路径条件不能满足时,按照虚线的状态转换路径进行状态转换。如:状态0时,当输入h,则转换到状态1;输入s,则转换到状态3;否则转换到状态0。实线标注的转换路径的跳转函数输入顺序拼接结果与某个特征一致;虚线连接的两个节点,跳转至这两个节点的跳转函数的输入相同。
2.匹配过程如下:从状态0开始进行状态转换,待匹配内容作为输入。比如待匹配内容为:“ushers”,状态转换的过程如附图2c所示。
3.当状态转移到节点2、节点5、节点7、节点9等阴影节点时,说明命中了节点对应的特征。比如待匹配内容为”ushers”,则在状态节点5、2、9处特征匹配成功,命中的特征串为“she”、“he”、“hers”,只需一次扫描,便可输出命中的全部特征。
在本实施例中,在编译状态机时,预先对WEB2.0应用的特征,和其他应用的特征进行区分,在将特征库(SDB,Signature Database)中的特征编译为状态机时,单独将WEB2.0应用的特征编译为一个相对较小的状态机,即第一状态机,从而减少状态机的规模,加快后续特征匹配的效率。
步骤40,输出第一状态机的匹配结果,所述匹配结果包括WEB2.0应用的标识,所述标识是与所述分流出的网络流量的特征对应的WEB2.0应用的标识。
需要说明的是,上述第一状态机和第二状态机中的“第一”和“第二”并不是表示顺序关系,而是为了区别不同的状态机。
下面将依据本发明上述发明原理,详细介绍一个实施例来对本发明方法的主要实现原理进行详细的阐述和说明。
附图3为本发明实施例提供的应用识别方案的示意图。其中,输入的未知流量可以来自于核心网网关、路由器等网络设备。输入的未知流量经分流器分流后,可以分别输入多个不同的状态机,这里仅以两个状态机进行举例说明,分别为WEB2.0状态机和综合状态机。
DNS解码器,用于对未知网络流量中的DNS请求报文和对应的DNS应答报文进行DNS解码,获得WEB2.0站点域名对应的IP地址,将获得的站点的IP地址记录在分流器中。
分流器,用于根据记录的站点的IP地址,从所述未知网络流量分流出源地址或目的地址为所述IP地址的网络流量,并将分流出的流量输入WEB2.0状态机,将分离剩余的其他流量输入综合状态机中。
各个状态机分别是根据特征库中的已有应用的特征编译生成的,其中WEB2.0状态机是根据特征库中的各种WEB2.0应用的特征生成的,综合状态机是根据特征库中除WEB2.0应用的特征之外的其他特征编译生成的。每种应用的特征是在此前的协议特征分析阶段,对截获到的已知应用的流量进行分析得到的,因此可以确认某个特征是WEB2.0应用还是非WEB2.0应用,协议分析的相关技术在此不进行详述。
附图4为本发明实施例提供的应用识别方法的详细流程图,该方法包括:
步骤401,将特征库中的特征分别编译为两个状态机,其中根据特征库中的各种WEB2.0应用的特征编译生成WEB2.0状态机,根据特征库中除WEB2.0应用的特征之外的其他特征编译生成综合状态机。
步骤402,接收输入的未知流量。
步骤403,对未知流量中的DNS请求报文和对应的DNS应答报文进行DNS解码,并将解码获得的预定WEB2.0站点域名对应的IP地址记录在分流器中。
可选地,进行DNS解码的具体过程如附图5所示。
步骤404,分流器根据记录的站点IP地址,对未知流量进行分流处理,从中分流出源地址或目的地址为所述站点IP地址的流量。
具体地,分流器对于未知流量中的每个报文,判断该报文的源地址或目的地址与记录的站点IP地址是否一致,若一致,则确认该报文属于需要分流出的待识别的流量,否则确认该报文为其他流量,从而从未知流量中分离出需要输入WEB2.0状态机进行识别的部分流量。
步骤405,分流器将分流出的流量输入WEB2.0状态机。可选地,为了能够识别出WEB2.0应用之外的其他应用,还可以将从未知流量中分流出源地址或目的地址为所述IP地址的流量之后的剩余网络流量输入综合状态机。
步骤406,WEB2.0状态机对输入的流量进行特征匹配。
具体进行特征匹配的方法请参照附图2a步骤30中的描述,在这里不再重复。
步骤407,WEB2.0状态机输出匹配结果,匹配结果中包括所述分流器分流出的网络流量的特征对应的WEB2.0应用的标识。
例如,若应用的划分粒度较大,应用是根据网站来划分的,即应用为facebook、开心网、推特twitter、google+等,在所述分流器分流出的网络流量符合facebook的特征时,输出facebook的标识;若应用的划分粒度较小,应用是根据网站提供的不同功能来划分的,例如应用为facebook视频分享、facebook交友、facebook直播等,在所述分流器分流出的网络流量符合facebook上述功能的特征时,输出facebook上述功能的标识。
步骤408,综合状态机对输入的所述剩余网络流量进行特征匹配。
具体进行特征匹配的方法请参照附图2a步骤30中的描述,在这里不再重复。
步骤409,综合状态机输出匹配结果,匹配结果中包括所述剩余网络流量的特征对应的其他应用的标识,所述其他应用是指除了WEB2.0应用之外的应用。其他应用可以是BitTorrent协议的应用、SQL Server2008等等。不同安全设备厂商自定义的应用标识可以不同。
附图5为本发明实施例中DNS解码过程的详细流程图。
步骤501,根据DNS报文的格式特征,从未知流量中提取出DNS请求报文和对应的DNS应答报文。
其中DNS报文的格式特征包括但不限于:
对于DNS请求报文而言,目的端口为53端口,协议类型为UDP。由于DNS服务器开放的DNS解析服务对应的端口为53,协议类型为UDP,从未知流量中过滤得到目的端口为53的UDP协议报文,即为DNS请求报文。
对于DNS应答报文而言,源端口为53端口,协议类型为UDP。从未知流量中过滤得到源端口为53的UDP协议报文,即为DNS请求报文。
由于请求报文源IP地址、源端口号分别与对应的应答报文的目的IP地址、目的端口号相同;请求报文目的IP地址、目的端口号分别与对应的应答报文的源IP地址、源端口号相同,据此可以确定请求报文和应答报文的对应关系。
针对每个请求报文和对应的应答报文,执行步骤502~步骤503:
步骤502,将DNS请求报文载荷中携带的域名与预定WEB2.0站点域名集合中的各WEB2.0站点域名进行比较,若比较结果一致,进入步骤503,否则进入步骤504。
具体地,预定WEB2.0站点域名集合可以采用域名列表的方式来实现,预先存储有一个包含若干域名的敏感域名列表,敏感域名是指预先输入的感兴趣的、关注的、需要进行识别的应用的域名。
首先,根据DNS报文的格式,从DNS请求报文中读取载荷部分(payload)的内容,然后从载荷部分中读取字符串形式的域名,例如,www.facebook.com。
然后,将读取的域名与敏感域名列表中的域名进行比较,若读取的域名在敏感域名列表中,即比较结果一致,说明需要进一步确定该域名对应站点的IP地址,从而进行后续的应用识别。
步骤503,从所述DNS请求报文对应的DNS应答报文中提取与所述DNS请求报文携带的站点域名对应的站点IP地址,进入步骤504。
根据DNS的实现原理:域名相对于IP地址而言,更容易被用户所记忆,但是计算机之前进行访问或发送报文必须依赖于各自的IP地址,每个域名必须对应一个IP地址。域名服务器中保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能。域名服务器为客户机/服务器模式中的服务器方。用户在访问某个网站时,当用户在浏览器中输入该网站的域名后,浏览器客户端先发送携带有该网站域名的DNS解析请求消息(在本文中简称为DNS请求报文),从DNS服务器回应的对应DNS解析响应消息(在本文中简称为DNS应答报文)从获得该网站的IP地址,然后依据该IP地址访问所述网站。
步骤504,放行所述DNS请求报文和对应的DNS应答报文。
本发明实施例提供一种应用识别方案,首先通过DNS解码获得敏感网站的IP地址,然后根据所述IP地址从未知流量中分流出源地址或目的地址为所述IP地址的流量,将分流出的流量输入预先根据WEB2.0应用的特征编译生成的WEB2.0状态机,输出WEB2.0状态机的匹配结果。一方面,由于其中使用的WEB2.0状态机是根据WEB2.0应用的特征、而不是各种应用的特征编译生成的,因此WEB2.0状态机的规模较小、占用的缓存空间较小,节约了缓存资源;另一方面,输入WEB2.0状态机的是分流出的部分流量,而不是全部未知流量,因此在状态机进行特征匹配的过程中,减少了匹配的次数,提高了缓存的命中率,节约了运算处理资源,提升了针对WEB2.0的应用识别的性能和效率。
相应地,本发明实施例还提供了一种应用识别装置,如图6所示,该装置包括DNS解码器601、分流器602和第一状态机603,具体如下:
DNS解码器601,用于对未知网络流量中的DNS请求报文和对应的DNS应答报文进行DNS解码,获得预定WEB2.0站点域名对应的IP地址;
分流器602,用于从所述未知网络流量分流出源地址或目的地址为所述IP地址的网络流量;
所述分流器602还用于将分流出的源地址或目的地址为所述IP地址的网络流量输入第一状态机603进行特征匹配,所述第一状态机603是预先对WEB2.0应用的特征进行编译生成的;
所述第一状态机603在特征匹配完成后,输出匹配结果,所述匹配结果包括WEB2.0应用的标识,所述标识是与所述分流出的网络流量的特征对应的WEB2.0应用的标识。
可选地,其中DNS解码器的结构如附图7所示,包括:
获取单元701,用于根据DNS报文的格式特征,从未知网络流量中获得DNS请求报文和对应的DNS应答报文,其中DNS报文的格式特征如方法实施例中的介绍,在这里不再重复;
比较单元702,用于将DNS请求报文载荷中携带的站点域名与预定WEB2.0站点域名集合中的各WEB2.0站点域名进行比较;
提取单元703,用于在比较单元702比较结果一致时,从对应的DNS应答报文中提取与所述DNS请求报文携带的站点域名对应的站点IP地址;
记录单元704,用于在所述分流器602中记录提取单元703提取的所述站点IP地址。
所述分流器602具体用于根据记录的所述站点IP地址,从所述未知网络流量中分流出源地址或目的地址为所述站点IP地址的流量,作为分流出的网络流量。
可选地,请参照附图8,所述应用识别装置还包括第二状态机604,
所述分流器602还用于将所述未知网络流量中分流出源地址或目的地址为所述IP地址的网络流量后的剩余网络流量,输入第二状态机604进行特征匹配,所述第二状态机604是预先对除WEB2.0应用的特征之外的其他特征进行编译生成的;
所述第二状态机604在特征匹配完成后,输出匹配结果,所述匹配结果包括与所述剩余网络流量的特征对应的其他应用的标识,所述其他应用为除WEB2.0之外的应用。
可选地,如附图9所示,所述应用识别装置还包括编译模块605,用于对WEB2.0应用的特征进行编译,生成所述第一状态机;
当利用AC算法来编译状态机时,所述编译模块605具体用于设置至少一个状态节点,顺序地将分解后的部分特征作为状态节点之间跳转函数的输入,从而构建出有向图形,所述状态节点中包含终态节点和非终态节点,所述终态节点是指将从初始状态节点跳转至该节点的路径上所有跳转函数的输入进行顺序拼接,拼接结果与一个WEB2.0的应用特征一致的节点;每个终态节点与输入拼接结果一致的WEB2.0的应用特征相对应;
当然编译模块605也可以采用其他算法来根据特征编译状态机;
基于上述方案的第一状态机603的匹配原理如下:所述第一状态机603具体用于提取单个报文的有效载荷、或由多个报文重组生成的数据流的有效载荷,从所述有向图的初始状态节点开始,将分解后的有效载荷逐次作为跳转函数的输入,在所述有向图形中进行跳转,若到达终态节点,则输出该终态节点对应的WEB2.0的应用特征的标识。
可选地,所述编译模块605还用于对除WEB2.0应用的特征之外的其他特征进行编译,生成第二状态机。
较佳地,基于图6所示的装置,图7、图8和图9中附加的辅助单元可以相互结合,得到功能更为全面的应用识别装置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如:ROM/RAM、磁碟、光盘等。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种应用识别方法,其特征在于,包括:
对未知网络流量中的域名服务DNS请求报文和对应的DNS应答报文进行DNS解码,获得预定WEB2.0站点域名对应的IP地址;
从所述未知网络流量分流出源地址或目的地址为所述IP地址的网络流量;
将分流出的网络流量输入第一状态机进行特征匹配,所述第一状态机是预先对WEB2.0应用的特征进行编译生成的;
输出第一状态机的匹配结果,所述匹配结果包括WEB2.0应用的标识,所述标识是与所述分流出的网络流量的特征对应的WEB2.0应用的标识。
2.如权利要求1所述的方法,其特征在于,所述对未知网络流量中的DNS请求报文和对应的DNS应答报文进行DNS解码,获得WEB2.0站点域名对应的IP地址,包括:
根据DNS报文的格式特征,从未知网络流量中获得DNS请求报文和对应的DNS应答报文;
将DNS请求报文载荷中携带的站点域名与预定WEB2.0站点域名集合中的各WEB2.0站点域名进行比较,若比较结果一致,则从对应的DNS应答报文中提取与所述DNS请求报文携带的站点域名对应的站点IP地址;
记录提取的所述站点IP地址。
3.如权利要求2所述的方法,其特征在于,所述格式特征包括:
目的端口为53的用户数据报UDP协议报文为DNS请求报文,源端口为53的UDP协议报文为DNS响应报文。
4.如权利要求1至3任一所述的方法,其特征在于,所述将分流出的网络流量输入第一状态机进行特征匹配之前,还包括:
对WEB2.0应用的特征进行编译,生成所述第一状态机;
所述对WEB2.0应用的特征进行编译,生成第一状态机,包括:
对所述WEB2.0应用的特征进行分解;
设置至少一个状态节点,顺序地将分解后的部分特征作为状态节点之间跳转函数的输入,从而构建出有向图形,所述状态节点中包含终态节点和非终态节点,所述终态节点是指将从初始状态节点跳转至该节点的路径上所有跳转函数的输入进行顺序拼接,拼接结果与一个WEB2.0的应用特征一致的节点;每个终态节点与输入拼接结果一致的WEB2.0的应用特征相对应;
所述将分流出的网络流量输入第一状态机进行特征匹配,包括:
提取单个报文的有效载荷、或由多个报文重组生成的数据流的有效载荷,从所述有向图的初始状态节点开始,将分解后的有效载荷逐次作为跳转函数的输入,在所述有向图形中进行跳转,若到达终态节点,则输出该终态节点对应的WEB2.0的应用特征的标识。
5.如权利要求1至3任一所述的方法,其特征在于,所述从所述未知网络流量分流出源地址或目的地址为所述IP地址的网络流量后,还包括:
将所述未知网络流量中分流出源地址或目的地址为所述IP地址的网络流量后的剩余网络流量,输入第二状态机进行特征匹配,所述第二状态机是预先对除WEB2.0应用的特征之外的其他特征进行编译生成的;
输出第二状态机的匹配结果,所述匹配结果包括与所述剩余网络流量的特征对应的其他应用的标识,所述其他应用为除WEB2.0之外的应用。
6.一种应用识别装置,其特征在于,包括:
DNS解码器,用于对未知网络流量中的DNS请求报文和对应的DNS应答报文进行DNS解码,获得WEB2.0站点域名对应的IP地址;
分流器,用于从所述未知网络流量分流出源地址或目的地址为所述IP地址的网络流量;
所述分流器还用于将分流出的网络流量输入第一状态机进行特征匹配,所述第一状态机是预先对WEB2.0应用的特征进行编译生成的;
所述第一状态机在特征匹配完成后,输出匹配结果,所述匹配结果包括WEB2.0应用的标识,所述标识是与所述分流出的网络流量的特征对应的WEB2.0应用的标识。
7.如权利要求6所述的装置,其特征在于,所述DNS解码器包括:
获取单元,用于根据DNS报文的格式特征,从未知网络流量中获得DNS请求报文和对应的DNS应答报文;
比较单元,用于将DNS请求报文载荷中携带的站点域名与预定WEB2.0站点域名集合中的各WEB2.0站点域名进行比较;
提取单元,用于在比较单元比较结果一致时,从对应的DNS应答报文中提取与所述DNS请求报文携带的站点域名对应的站点IP地址;
记录单元,用于在所述分流器中记录提取单元提取的所述站点IP地址。
8.如权利要求6或7所述的装置,其特征在于,还包括:
编译模块,用于对WEB2.0应用的特征进行编译,生成所述第一状态机;
所述编译模块具体用于设置至少一个状态节点,顺序地将分解后的部分特征作为状态节点之间跳转函数的输入,从而构建出有向图形,所述状态节点中包含终态节点和非终态节点,所述终态节点是指将从初始状态节点跳转至该节点的路径上所有跳转函数的输入进行顺序拼接,拼接结果与一个WEB2.0的应用特征一致的节点;每个终态节点与输入拼接结果一致的WEB2.0的应用特征相对应;
所述第一状态机具体用于提取单个报文的有效载荷、或由多个报文重组生成的数据流的有效载荷,从所述有向图的初始状态节点开始,将分解后的有效载荷逐次作为跳转函数的输入,在所述有向图形中进行跳转,若到达终态节点,则输出该终态节点对应的WEB2.0的应用特征的标识。
9.如权利要求6或7所述的装置,其特征在于,还包括:
所述分流器还用于将所述未知网络流量中分流出源地址或目的地址为所述IP地址的网络流量后的剩余网络流量,输入第二状态机进行特征匹配,所述第二状态机是预先对除WEB2.0应用的特征之外的其他特征进行编译生成的;
所述第二状态机在特征匹配完成后,输出匹配结果,所述匹配结果包括与所述剩余网络流量的特征对应的其他应用的标识,所述其他应用为除WEB2.0之外的应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101513848A CN102710504A (zh) | 2012-05-16 | 2012-05-16 | 应用识别方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012101513848A CN102710504A (zh) | 2012-05-16 | 2012-05-16 | 应用识别方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102710504A true CN102710504A (zh) | 2012-10-03 |
Family
ID=46903073
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012101513848A Pending CN102710504A (zh) | 2012-05-16 | 2012-05-16 | 应用识别方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102710504A (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685601A (zh) * | 2013-12-10 | 2014-03-26 | 华为技术有限公司 | 应用识别方法及装置 |
CN103701809A (zh) * | 2013-12-27 | 2014-04-02 | 山石网科通信技术有限公司 | 应用的识别方法和装置 |
CN104579795A (zh) * | 2015-01-28 | 2015-04-29 | 武汉虹信技术服务有限责任公司 | 一种用于网络数据流识别的协议特征库维护使用方法 |
CN104935526A (zh) * | 2015-06-11 | 2015-09-23 | 杭州华三通信技术有限公司 | 一种应用识别方法和设备 |
CN105959284A (zh) * | 2016-04-29 | 2016-09-21 | 上海斐讯数据通信技术有限公司 | 一种报文过滤系统及方法 |
CN106452940A (zh) * | 2016-08-22 | 2017-02-22 | 中国联合网络通信有限公司重庆市分公司 | 一种互联网业务流量归属的识别方法和装置 |
CN106513935A (zh) * | 2016-12-30 | 2017-03-22 | 唐山松下产业机器有限公司 | 燃弧状态判定方法、装置及电弧焊接设备 |
CN107241186A (zh) * | 2016-03-29 | 2017-10-10 | 瞻博网络公司 | 应用签名生成和分发 |
CN107787003A (zh) * | 2016-08-24 | 2018-03-09 | 中兴通讯股份有限公司 | 一种流量检测的方法和装置 |
CN108377211A (zh) * | 2018-01-31 | 2018-08-07 | 湖南戎腾网络科技有限公司 | 基于报文内容感知的动态规则链式递归触发方法及其系统 |
CN109889448A (zh) * | 2019-03-25 | 2019-06-14 | 武汉思普崚技术有限公司 | 一种网络流量的分流方法及装置 |
CN111182072A (zh) * | 2019-12-31 | 2020-05-19 | 奇安信科技集团股份有限公司 | 会话请求的应用识别方法、装置和计算机设备 |
CN112714078A (zh) * | 2019-10-24 | 2021-04-27 | 中兴通讯股份有限公司 | 网络流量的识别方法、装置、存储介质及服务器 |
CN114039928A (zh) * | 2021-11-02 | 2022-02-11 | 恒安嘉新(北京)科技股份公司 | 网络流量的识别方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101282362A (zh) * | 2008-05-13 | 2008-10-08 | 中兴通讯股份有限公司 | 深度报文检测方法和装置 |
CN101296224A (zh) * | 2007-04-24 | 2008-10-29 | 北京邮电大学 | 一种p2p流量识别系统和方法 |
CN101572701A (zh) * | 2009-02-10 | 2009-11-04 | 中科正阳信息安全技术有限公司 | 针对DNS服务的抗DDoS攻击安全网关系统 |
CN101605067A (zh) * | 2009-04-22 | 2009-12-16 | 网经科技(苏州)有限公司 | 网络行为主动分析诊断方法 |
CN101854342A (zh) * | 2009-03-31 | 2010-10-06 | 凹凸电子(武汉)有限公司 | 应用程序识别系统、装置以及识别网络应用程序的方法 |
CN102387135A (zh) * | 2011-09-29 | 2012-03-21 | 北京邮电大学 | 一种基于用户身份过滤的方法以及防火墙 |
EP2498467A1 (en) * | 2009-11-04 | 2012-09-12 | ZTE Corporation | Voice call processing method and apparatus thereof |
-
2012
- 2012-05-16 CN CN2012101513848A patent/CN102710504A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101296224A (zh) * | 2007-04-24 | 2008-10-29 | 北京邮电大学 | 一种p2p流量识别系统和方法 |
CN101282362A (zh) * | 2008-05-13 | 2008-10-08 | 中兴通讯股份有限公司 | 深度报文检测方法和装置 |
CN101572701A (zh) * | 2009-02-10 | 2009-11-04 | 中科正阳信息安全技术有限公司 | 针对DNS服务的抗DDoS攻击安全网关系统 |
CN101854342A (zh) * | 2009-03-31 | 2010-10-06 | 凹凸电子(武汉)有限公司 | 应用程序识别系统、装置以及识别网络应用程序的方法 |
CN101605067A (zh) * | 2009-04-22 | 2009-12-16 | 网经科技(苏州)有限公司 | 网络行为主动分析诊断方法 |
EP2498467A1 (en) * | 2009-11-04 | 2012-09-12 | ZTE Corporation | Voice call processing method and apparatus thereof |
CN102387135A (zh) * | 2011-09-29 | 2012-03-21 | 北京邮电大学 | 一种基于用户身份过滤的方法以及防火墙 |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103685601A (zh) * | 2013-12-10 | 2014-03-26 | 华为技术有限公司 | 应用识别方法及装置 |
CN103701809A (zh) * | 2013-12-27 | 2014-04-02 | 山石网科通信技术有限公司 | 应用的识别方法和装置 |
CN104579795A (zh) * | 2015-01-28 | 2015-04-29 | 武汉虹信技术服务有限责任公司 | 一种用于网络数据流识别的协议特征库维护使用方法 |
CN104579795B (zh) * | 2015-01-28 | 2017-12-26 | 武汉虹信技术服务有限责任公司 | 一种用于网络数据流识别的协议特征库维护使用方法 |
CN104935526B (zh) * | 2015-06-11 | 2018-07-24 | 新华三技术有限公司 | 一种应用识别方法和设备 |
CN104935526A (zh) * | 2015-06-11 | 2015-09-23 | 杭州华三通信技术有限公司 | 一种应用识别方法和设备 |
CN107241186B (zh) * | 2016-03-29 | 2021-05-07 | 瞻博网络公司 | 网络设备和用于网络通信的方法 |
US10951495B2 (en) | 2016-03-29 | 2021-03-16 | Juniper Networks, Inc. | Application signature generation and distribution |
CN107241186A (zh) * | 2016-03-29 | 2017-10-10 | 瞻博网络公司 | 应用签名生成和分发 |
CN105959284A (zh) * | 2016-04-29 | 2016-09-21 | 上海斐讯数据通信技术有限公司 | 一种报文过滤系统及方法 |
CN106452940A (zh) * | 2016-08-22 | 2017-02-22 | 中国联合网络通信有限公司重庆市分公司 | 一种互联网业务流量归属的识别方法和装置 |
CN107787003A (zh) * | 2016-08-24 | 2018-03-09 | 中兴通讯股份有限公司 | 一种流量检测的方法和装置 |
CN106513935A (zh) * | 2016-12-30 | 2017-03-22 | 唐山松下产业机器有限公司 | 燃弧状态判定方法、装置及电弧焊接设备 |
CN108377211A (zh) * | 2018-01-31 | 2018-08-07 | 湖南戎腾网络科技有限公司 | 基于报文内容感知的动态规则链式递归触发方法及其系统 |
CN108377211B (zh) * | 2018-01-31 | 2021-06-11 | 湖南戎腾网络科技有限公司 | 基于报文内容感知的动态规则链式递归触发方法及其系统 |
CN109889448A (zh) * | 2019-03-25 | 2019-06-14 | 武汉思普崚技术有限公司 | 一种网络流量的分流方法及装置 |
CN112714078A (zh) * | 2019-10-24 | 2021-04-27 | 中兴通讯股份有限公司 | 网络流量的识别方法、装置、存储介质及服务器 |
CN111182072A (zh) * | 2019-12-31 | 2020-05-19 | 奇安信科技集团股份有限公司 | 会话请求的应用识别方法、装置和计算机设备 |
CN114039928A (zh) * | 2021-11-02 | 2022-02-11 | 恒安嘉新(北京)科技股份公司 | 网络流量的识别方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102710504A (zh) | 应用识别方法和装置 | |
KR102029277B1 (ko) | 패킷 기반 데이터 통신의 디바이스 식별자 의존적 오퍼레이션 프로세싱 | |
KR102052520B1 (ko) | 컨텐츠 중심 네트워크에서 컨텐츠의 이동성을 지원하기 위한 노드의 통신 방법 및 노드 | |
Hernández Ramos et al. | Mqtt security: A novel fuzzing approach | |
CN105162626B (zh) | 基于众核处理器的网络流量深度识别系统及识别方法 | |
Sija et al. | A survey of automatic protocol reverse engineering approaches, methods, and tools on the inputs and outputs view | |
CN102664935B (zh) | 一种web类用户行为和用户信息的关联输出方法及系统 | |
CN103297270A (zh) | 应用类型识别方法及网络设备 | |
CN102724317A (zh) | 一种网络数据流量分类方法和装置 | |
CN102413141A (zh) | 网络消息解析方法及通信设备 | |
CN106789242B (zh) | 一种基于手机客户端软件动态特征库的识别应用智能分析方法 | |
US8572366B1 (en) | Authenticating clients | |
CN101287010A (zh) | 识别和验证消息协议类型的方法和装置 | |
CN104954234A (zh) | 一种微博数据获取方法、装置及舆情分析方法 | |
CN102006174B (zh) | 基于手机用户上网行为的数据处理方法及装置 | |
CN104113598A (zh) | 一种数据库三层审计的方法 | |
CN104994016A (zh) | 用于分组分类的方法和装置 | |
CN104506450A (zh) | 媒体资源反馈方法及装置 | |
Zhao et al. | Identifying known and unknown mobile application traffic using a multilevel classifier | |
CN102571946A (zh) | 一种基于对等网络的协议识别与控制系统的实现方法 | |
CN105491094B (zh) | 处理http请求的方法及装置 | |
Cai et al. | Analyzing Network Protocols of Application Layer Using Hidden Semi‐Markov Model | |
Asai et al. | Network application profiling with traffic causality graphs | |
Aldwairi et al. | n‐Grams exclusion and inclusion filter for intrusion detection in Internet of Energy big data systems | |
CN104954415A (zh) | 处理http请求的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20121003 |