CN110768875A - 一种基于dns学习的应用识别方法及系统 - Google Patents

一种基于dns学习的应用识别方法及系统 Download PDF

Info

Publication number
CN110768875A
CN110768875A CN201911371915.2A CN201911371915A CN110768875A CN 110768875 A CN110768875 A CN 110768875A CN 201911371915 A CN201911371915 A CN 201911371915A CN 110768875 A CN110768875 A CN 110768875A
Authority
CN
China
Prior art keywords
application
identification
dns
message
model
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
Application number
CN201911371915.2A
Other languages
English (en)
Inventor
张欢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing An Polytron Technologies Inc
Original Assignee
Beijing An Polytron Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing An Polytron Technologies Inc filed Critical Beijing An Polytron Technologies Inc
Priority to CN201911371915.2A priority Critical patent/CN110768875A/zh
Publication of CN110768875A publication Critical patent/CN110768875A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/06Generation of reports
    • H04L43/062Generation of reports related to network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种基于DNS学习的应用识别方法及系统,所述方法先获取流量报文,再根据识别模型库中的识别模型匹配流量报文;并根据匹配结果,确定所述流量报文的应用识别结果;如果所述流量报文包含DNS报文,在预先建立的DNS学习表项中匹配查询所述DNS报文包含的域名信息;再结合DNS学习表项中对应的传输层协议和端口信息,生成符合所述应用首包识别模型的识别规则;最后,将新生成的识别规则添加至识别模型。所述方法可以通过DNS学习的方式自动生成识别规则,更新识别模型,提高应用识别的时效性,提高应用控制的准确率。

Description

一种基于DNS学习的应用识别方法及系统
技术领域
本申请涉及应用识别技术领域,尤其涉及一种基于DNS学习的应用识别方法及系统。
背景技术
应用识别是指通过分析用户的流量数据,确定产生流量的应用程序。通过应用识别,可以及时发现可疑应用程序,有效保证用户网络的安全。随着网络通信技术的高速发展,各种网络应用的功能越来越多样化。应用多样化给用户带来方便的同时,也给网络安全管理带来严峻的考验。由于当前网络中应用数量增多、规模庞大、架构复杂,而且应用更新非常快,应用识别工作量巨大,因此需要应用识别方案快捷有效。
为了进行应用识别,可以通过固定端口识别和DPI深度检测识别两种方式。其中,固定端口识别是通过分析数据流量通信的端口信息,并通过端口信息的隶属关系,识别当前数据流量是由哪个应用程序产生的。可见,固定端口识别方式适用于部分采用固定端口进行通信的应用。
DPI深度检测识别,是基于报文内容分析的一种深度识别方式。通过抓取数据流量报文,结合应用特征库,对报文中的有效信息进行分析检测,从而确定流量报文所对应的应用程序。DPI深度检测识别方式中所采用的应用特征库,一般是由人为分析和定义应用提取识别特征,而记录形成的应用特征库,为了保持一定的实效性,应用特征库需要定时更新发布。
可见,对于固定端口识别方式,由于只能针对采用固定端口的应用,而这种应用占比应用比重较小。如果该应用端口可变或者其他应用使用该端口,存在应用误识别的可能性。而对于DPI深度检测识别的方式,由于需要对流量报文进行深度分析所采用的应用特征库可能更新不及时,导致应用识别时效性差,会造成应用控制功能延迟或者错误。
发明内容
本申请提供了一种基于DNS学习的应用识别方法及系统,以解决应用识别方法时效性差的问题。
一方面,本申请提供一种基于DNS学习的应用识别方法,包括:
获取流量报文;
根据识别模型库中的识别模型匹配所述流量报文;所述识别模型库中包括多个识别模型并至少包括应用首包识别模型;
根据匹配结果,确定所述流量报文的应用识别结果;
如果所述流量报文包含DNS报文,在预先建立的DNS学习表项中匹配查询所述DNS报文包含的域名信息;
如果在所述DNS学习表项中匹配到所述DNS报文包含的域名信息,根据所述DNS报文包含的该域名信息对应的服务器IP地址信息,以及所述域名信息在DNS学习表项中对应的传输层协议和端口信息,生成符合所述应用首包识别模型的识别规则;
将新生成的识别规则添加至所述应用首包识别模型。
可选的,在获取流量报文前建立DNS学习表项,具体包括:
创建应用特征库文件;
根据应用行为分析器采集的DNS流量数据,记录应用所使用的域名信息、传输层协议以及端口信息;
根据所述域名信息、传输层协议以及端口信息生成识别特征和应用ID;
将所述识别特征和应用ID写入所述应用特征库文件。
可选的,所述方法还包括:
加载所述应用特征库文件;
对所述应用特征库文件进行合法校验和解压存储;
解析所述应用特征库文件,以及通过ACBM算法存储编译,获得DNS学习表项。
可选的,所述识别模型库还包括固定端口识别模型,根据识别模型库中的识别模型匹配所述流量报文的步骤,包括:
解析所述流量报文,获得所述服务器IP地址信息、端口信息以及传输层协议;
根据所述端口信息,在所述固定端口识别模型中匹配所述流量报文;
如果所述流量报文命中所述固定端口识别模型中的任一应用ID,提取命中的应用ID,输出应用识别结果;
如果所述流量报文未命中所述固定端口识别模型中的应用ID,根据所述服务器IP地址信息、端口信息和传输层协议,在所述应用首包识别模型中匹配所述流量报文。
可选的,所述识别模型库还包括DPI深度检测识别模型,根据识别模型库中的识别模型匹配所述流量报文的步骤,包括:
解析所述流量报文,获得负载信息;
根据所述负载信息,在所述DPI深度检测识别模型中匹配所述流量报文;
如果所述流量报文命中所述DPI深度检测识别模型中的任一应用ID,提取命中的应用ID,输出应用识别结果。
可选的,所述方法还包括:
获取所述应用首包识别模型中包含的识别规则的数量;
如果所述识别规则的数量大于或等于预设规则限制值,遍历所述应用首包识别模型中每个所述识别规则的调用频率和/或最近调用时间;
删除调用频率低于预设活跃值的所述识别规则,或者,删除最近调用时间长于预设活跃时间的所述识别规则。
另一方面,本申请还提供一种基于DNS学习的应用识别系统,包括相互建立通信连接的:应用行为分析器、应用识别分析器、DNS学习采集器和管控器;所述应用识别分析器、DNS学习采集器和管控器内置在上网行为管理设备中,以通过所述上网行为管理设备串行接入需要进行应用识别的网络边缘;
所述应用行为分析器被配置为:加载应用特征库,以获得DNS学习表项,以及将识别模型库加载到所述应用识别分析器,所述识别模型库中包括多个识别模型,并至少包括应用首包识别模型;
所述应用识别分析器被配置为:获取流量报文;以及,根据识别模型库中的识别模型匹配所述流量报文;根据匹配结果,确定所述流量报文的应用识别结果;
所述DNS学习采集器被配置为:如果所述流量报文包含DNS报文,在预先建立的所述DNS学习表项中匹配查询所述DNS报文包含的域名信息;如果在所述DNS学习表项中匹配到所述DNS报文包含的域名信息,根据所述DNS报文包含的该域名信息对应的服务器IP地址信息,以及所述域名信息在DNS学习表项中对应的传输层协议和端口信息,生成符合所述应用首包识别模型的识别规则;将新生成的识别规则添加至所述应用首包识别模型;
所述管控器被配置为:根据应用识别结果,对所述流量报文对应的数据流进行放行或阻断。
由以上技术方案可知,本申请提供一种基于DNS学习的应用识别方法及系统,所述方法先获取流量报文,再根据识别模型库中的识别模型匹配流量报文;并根据匹配结果,确定所述流量报文的应用识别结果;如果所述流量报文包含DNS报文,在预先建立的DNS学习表项中匹配查询所述DNS报文包含的域名信息;再结合DNS学习表项中对应的传输层协议和端口信息,生成符合所述应用首包识别模型的识别规则;最后,将新生成的识别规则添加至识别模型。所述方法可以通过DNS学习的方式自动生成识别规则,更新识别模型,提高应用识别的时效性,提高应用控制的准确率。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一种基于DNS学习的应用识别方法的流程示意图;
图2为本申请生成应用特征库文件的流程示意图;
图3为本申请生成DNS学习表项的流程示意图;
图4为本申请通过固定端口识别模型匹配流量报文的流程示意图;
图5为本申请通过DPI深度检测识别模型匹配流量报文的流程示意图;
图6为本申请删除无用识别规则的流程示意图;
图7为本申请一种基于DNS学习的应用识别系统的结构示意图。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。
本申请提供的技术方案中,所述基于DNS学习的应用识别方法的实施,依赖于一种基于DNS学习的应用识别系统,所述系统由多种设备组成。包括:多个用户终端、上网行为管理设备以及集成了应用行为分析器的设备。实际应用中,用户终端上安装有多个应用程序,用户在使用应用程序时,会产生上网流量,上网流量将以流量报文的形式向外发送,通常发送的目标为应用程序对应的服务器。
上网行为管理设备是一种帮助互联网用户控制和管理互联网的使用情况的一种设备。可对访问网页过滤、网络应用控制、带宽流量管理、信息收发审计、用户行为分析等。上网行为管理设备通过对所处网络上网行为数据的分析,可以生成多种报告日志,以供管理人员通过报告日志,了解当前网络中的运行状况。集成了应用行为分析器的设备是指能够通过抓取用户流量报文,分析用户终端中特定应用的运行特点,以根据应用特点,输出对应的识别模型。
显然,应用行为分析器可以是独立于上网行为管理设备的单独设备,而在实际应用中,与上网行为管理设备并行接在网络上;应用行为分析器也可以是集成在上网行为管理设备中的一个模块,在将上网行为管理设备串行接入需要检测的网络边缘,网络流量流经上网行为管理设备。需要说明的是,本申请提供的技术方案中,上网行为管理设备和应用行为分析器对应的设备都内置有存储器、控制器等数据处理器件。可以独立地对网络数据报文实施抓包、转化、提取和存储。
本申请提供的技术方案中,所述DNS(Domain Name System,域名系统),是互联网的一项服务,即用户通过输入域名信息,上传至DNS服务器,获取域名信息对应的服务器IP地址。实际应用中,用户终端可以通过DNS的方式访问指定网络服务器,而基于DNS服务产生的上网流量被称为DNS流量报文。所述DNS学习是通过对DNS流量报文中有用信息的提取、统计和分析,获取DNS流量报文对应应用程序的特点,从而根据不同应用程序的特点识别对应的应用程序。
参见图1,为本申请一种基于DNS学习的应用识别方法的流程示意图。由图1可知,本申请提供的基于DNS学习的应用识别方法,包括以下步骤:
S1:获取流量报文。
本申请提供的技术方案中,用户终端中的应用在使用过程中,会产生流量数据,流量数据以各种报文的形式进行发送,以便在应用的客户端与服务器之间形成会话流,在一次完整会话交互过程,会话流由一系列的交互报文组成。因此,为了对流量数据进行分析,以识别应用,可以通过对流量报文进行抓包。
S2:根据识别模型库中的识别模型匹配所述流量报文;所述识别模型库中包括多个识别模型,并至少包括应用首包识别模型。
在获取到流量报文后,可以通过上网行为管理设备中内置的应用识别分析器将流量报文与识别模型库中的识别模型进行匹配,以对流量报文所对应的应用进行识别。实际应用中,识别模型库中包括多个识别模型,识别模型是根据应用流量报文特点而建立的多种识别规则构成的集合,例如,固定端口识别模型、DPI深度检测识别模型等。模型中的每一个识别规则对应一种应用识别方式,例如,针对固定端口的应用,识别规则是确定流量报文对应的端口信息,从而识别出对应的应用。识别规则中包含对应流量数据的特征,如域名、传输层协议以及服务器等。由于同一个应用所对应的数据流量往往具有相同的特征,因此通过这些特征可以对应用进行识别。
S3:根据匹配结果,确定所述流量报文的应用识别结果。
即在实际应用中,如果当前流量报文匹配命中识别模型库中的任一识别模型,即可以通过命中的识别模型确定应用识别结果。确定应用识别结果后,可以通过识别结果确定应用ID,从而确定当前上网行为是否安全,如果不安全,可以通过上网行为管理设备对该流量报文进行阻断,保证上网行为安全。
S4:如果所述流量报文包含DNS报文,在预先建立的DNS学习表项中匹配查询所述DNS报文包含的域名信息。
在进行模型匹配后,本申请还对流量报文进行进一步分析,如果流量报文中包含DNS报文,则在预先建立的DNS学习表项中匹配查询DNS报文包含的域名信息,以通过应用行为分析器收集的DNS数据生成新的应用识别规则。其中,所述DNS学习表项为应用行为分析器针对应用采集的DNS流量数据集。
实际应用中,由于DNS为一种域名查询系统,用户终端在进行网络访问(或通过某一应用访问)时,输入的数据为域名信息,例如:www.qq.com,浏览器或应用会向DNS服务器发送该域名信息,以使DNS服务器根据域名信息确定其服务器IP地址信息,并将确定的IP地址信息返回给用户终端,以访问该IP地址信息对应的网络服务器。因此,在本申请提供的技术方案中,可以通过抓取DNS报文的方式,获取到该DNS报文包含的域名信息。更进一步地,可以从DNS报文中获取其他信息,如DNS服务器返回的IP地址信息等。
S5:如果在所述DNS学习表项中匹配到所述DNS报文包含的域名信息,根据所述DNS报文包含的该域名信息对应的服务器IP地址信息,以及所述域名信息在DNS学习表项中对应的传输层协议和端口信息,生成符合所述应用首包识别模型的识别规则。
实际应用中,DNS学习采集器首先解析获取报文的域名信息,通过获取的域名信息与上述应用行为分析器输出的DNS学习表项中的域名进行匹配查询,如果匹配命中,记录当前域名解析获取的服务器IP地址信息,并结合表项中该域名对应的传输层协议、端口信息,按照应用识别模型生成一条规则,并加入到应用首包识别模型中。通过DNS学习采集器根据应用行为分析器中数据进行不断分析,可以生成用于多种应用识别的模型,从而对后续的流量报文进行更加准确的识别。
S6:将新生成的识别规则添加至所述应用首包识别模型。
本申请提供的技术方案中,应用识别各模型都没有命中,判断如果是DNS协议,进入DNS学习采集流程,根据流量报文中的域名信息以及DNS学习表项,对表项中的域名采集服务器地址,采集到地址后结合DNS学习表项中的应用、端口及传输层协议生成一条识别规则加入到识别模型中。
由以上技术方案可知,应用行为分析器可以自动对应用上网行为中产生的DNS流量数据进行收集,并对收集的数据进行整理,建立DNS学习表项,以通过DNS学习表项存储训练数据,并利用机器学习等模型训练方式生成新的应用识别规则。可见,由于在本申请提供的技术方案中,应用行为分析器和应用识别分析器是两个相对独立数据处理模块,因此,建立DNS学习表项,以及生成识别规则的过程并不会影响到应用识别过程,既保证了应用识别的时效性,又提高了应用识别的准确率。
本申请提供的技术方案中,如图2所示,所述DNS学习表项可以由应用行为分析器根据不断收集应用的DNS流量数据而建立,因此,本申请的部分实施例中,所述方法在获取流量报文前需要建立DNS学习表项,具体包括以下步骤:
S201:创建应用特征库文件;
S202:根据应用行为分析器采集的DNS流量数据,记录应用所使用的域名信息、传输层协议以及端口信息;
S203:根据所述域名信息、传输层协议以及端口信息生成识别特征和应用ID;
S204:将所述识别特征和应用ID写入所述应用特征库文件。
本实施例中,应用行为分析器可以先创建一个应用特征文件,由于所述应用特征文件包含构建应用识别模型的规则文件,因此可以创建应用特征文件后,通过不断收集、分析应用数据,而向应用特征文件中添加分析的应用特征,而形成识别规则。具体地,可以先根据DNS报文分析应用行为,记录应用所使用的域名信息、传输层协议以及端口信息,再根据所述域名信息、传输层协议以及端口信息生成识别特征。
为了标识识别出的应用,可以通过预设应用ID的形式,为每个应用进行标记,即在本实施例中,所述应用识别本质上就是通过分析流量报文,确定流量报文形式符合的应用识别规则,从而提取出该识别规则所对应的应用ID,以通过应用ID确定应用。应用ID可以是仅有系统识别的内部代码,系统通过读取应用ID可以识别该应用,例如,应用特征库文件中标记的应用ID为TX0001,相对应的应用为“微信”。应用ID也可以直接为能够进行外部输出的文本字符,例如,通过weixin,代表对应的应用为“微信”,以便直接通过应用ID识别对应的应用。
进一步地,如图3所示,在生成应用的特征库文件后,为了能够应用生成的特征库文件进行应用识别,所述方法还包括以下步骤:
S205:加载所述应用特征库文件;
S206:对所述应用特征库文件进行合法校验和解压存储;
S207:解析所述应用特征库文件,以及通过ACBM算法存储编译,获得DNS学习表项。
实际应用中,上网行为管理设备可以通过应用行为分析器创建的应用特征库文件,进行ACBM算法存储编译,以生成对应于不同应用环境下的识别模型,例如,应用首包识别模型、固定端口识别模型以及DPI深度检测识别模型等。所述ACBM算法,是在AC自动机的基础之上,引入BM算法的多模扩展,实现的高效的多模匹配。ACBM算法不需要扫描目标文本串中的每一个字符,可以利用本次匹配不成功的信息,跳过尽可能多的字符,实现高效匹配。
可见,在本申请提供的技术方案中,应用行为分析器可以分析指定应用的行为,记录该应用所使用的域名、传输层协议以及端口信息,分析和定义该应用的识别特征及应用标识ID,把这些信息都按照指定规则写入库,并生成特征库文件。再将生成的特征库文件加载到上网行为管理设备中,上网行为管理设备可对文件进行合法校验、解压存储。在加载过程中,如果加载文件失败,直接退出;加载成功,读取加载成功的特征库文件,按照写入规则解析信息并使用ACBM算法存储编译,以便生成DNS学习表项。
本申请提供的技术方案中,所述DNS学习表项,也可以称作DNS学习采集域名表项,是根据应用行为分析器对流量报文中的应用域名、传输层协议和端口信息进行记录,而生成的用于后续模型学习的数据。
在本申请的部分实施例中,如图4所示,所述识别模型库还包括固定端口识别模型,根据识别模型库中的识别模型匹配所述流量报文的步骤,包括:
S211:解析所述流量报文,获得所述服务器IP地址信息、端口信息以及传输层协议;
S212:根据所述端口信息,在所述固定端口识别模型中匹配所述流量报文;
S213:如果所述流量报文命中所述固定端口识别模型中的任一应用ID,提取命中的应用ID,输出应用识别结果;
S214:如果所述流量报文未命中所述固定端口识别模型中的应用ID,根据所述IP地址信息、端口信息和传输层协议,在所述应用首包识别模型中匹配所述流量报文。
本实施例中,在进行匹配前,需要先对流量报文进行解析,从而获取流量报文对应的IP地址信息、端口信息以及传输层协议。在获取的信息中,可以先通过端口信息,在固定端口识别模型中匹配所述流量报文,即先筛选出固定端口的应用。如果在流量报文与固定端口识别模型中的任一应用ID相匹配,则可以提取命中的应用ID,作为应用识别的识别结果。
而如果流量报文未命中所述固定端口识别模型中的应用ID,说明当前流量报文不是固定端口应用,或者当前固定端口识别模型中未记载当前流量报文对应应用的识别规则,为了识别出应用,需要通过IP地址信息、端口信息和传输层协议,在所述应用首包识别模型中再次对流量报文进行匹配。由于固定端口识别模型的数据匹配量和识别方式相对较简单,因此,本实施例可以通过较小的数据分析,快速对固定端口的应用进行识别,从而确定出一部分应用。
在本申请的部分实施例中,如图5所示,所述识别模型还包括DPI深度检测识别模型,根据识别模型匹配所述流量报文的步骤,还包括:
S221:解析所述流量报文,获得负载信息;
S222:根据所述负载信息,在所述DPI深度检测识别模型中匹配所述流量报文;
S223:如果所述流量报文命中所述DPI深度检测识别模型中的任一应用ID,提取命中的应用ID,输出应用识别结果
在本实施例中,还可以根据负载信息,在DPI深度检测识别模型中匹配流量报文,以识别流量对应的应用。所述DPI(Deep Packet Inspection,深度包检测技术)深度检测识别模型,是在传统IP数据包检测技术的基础上,增加了对应用层数据的应用协议识别,数据包内容检测与深度解码。如果流量报文命中DPI深度检测识别模型中的任一应用ID,说明通过DPI深度检测识别模型能够识别出相应的应用,再通过提取命中的应用ID,输出应用识别结果。
而如果所述流量报文未命中所述DPI深度检测识别模型中的应用ID,说明当前流量报文对应的应用程序未包含在DPI深度检测识别模型中。
实际应用中,所述识别模型中可以包括上述三种模型,即在上网行为管理设备中,内置上述三种模型分别对流量报文进行匹配,匹配命中任一模型即可识别出对应的应用。具体地,可以在流量报文对应的数据流进入包应用识别分析模块后,首先解析获取报文对应的五元组信息、负载信息。如果获取失败,则退出应用识别流程。如果获取成功则通过其中的负载信息,在DPI深度检测识别模型中进行匹配查询,如果匹配到标识当前会话的应用ID,退出应用识别流程,输出应用识别结果。否则,再通过固定端口信息,在固定端口应用识别模型中进行匹配查询,如果匹配成功标识当前会话的应用ID,退出应用识别流程,输出应用识别结果。否则,通过五元组信息,在应用首包识别模型中进行匹配查询,如果匹配成功标识当前会话的应用ID,退出应用识别流程,输出应用识别结果。其中,所述五元组信息是指源IP地址,源端口,目的IP地址,目的端口,和传输层协议这五个量组成的一个信息集合。
另外,三种模型可以通过预先设置进行匹配的顺序,来分别对流量报文进行筛选。例如,可以先匹配固定端口模型;在固定端口模型中未命中后,再匹配应用首包识别模型;最后,在应用首包识别模型中未命中后,再匹配数据处理量较大的DPI深度检测识别模型。
本申请提供的技术方案中,如果流量报文与识别模型的匹配命中了任一识别规则,即能够通过识别模型确定当前流量报文来自于哪个应用对应的识别规则,达到识别应用的目的对于应用识别结果用应用ID表示的情况,可以在匹配命中后,提取应用ID作为应用识别结果。即在本申请的部分实施例中,所述方法还包括:
进一步地,随着系统的应用,添加至识别模型中的识别规则会不断增多,但用户终端对应的应用未必会经常运行,因此容易出现加入识别模型中的识别规则长时间无用,因此在本申请的部分实施例中,如图6所示,所述方法还包括:
S601:获取所述应用首包识别模型中包含识别规则的数量;
S602:如果所述识别规则的数量大于或等于预设规则限制值,遍历所述应用首包识别模型中每个所述识别规则的调用频率和/或最近调用时间;
S603:删除调用频率低于预设活跃值的所述识别规则,或者,删除最近调用时间长于预设活跃时间的所述识别规则。
本实施例中,首包识别模型有规格限制,避免加入的规则长时间无用,每一条规则都有超时时间。通过设置超时时间,可以减小对上网行为管理设备存储能力的要求,也减小系统中模型的体积,减少匹配数据量。
可见,通过本申请提供的技术方案,可以提高应用识别的时效性,降低因应用识别时效性带来的应用控制不准确问题。对于流量模型复杂的难以识别的应用,提高了识别率和识别性能。
基于上述应用识别方法,本申请还提供一种基于DNS学习的应用识别系统,如图7所示,所示系统包括包括相互建立通信连接的:应用行为分析器、应用识别分析器、DNS学习采集器和管控器;所述应用识别分析器、DNS学习采集器和管控器内置在上网行为管理设备中,以通过所述上网行为管理设备串行接入需要进行应用识别的网络边缘;
所述应用行为分析器被配置为:加载应用特征库,以获得DNS学习表项,以及将识别模型库加载到所述应用识别分析器,所述识别模型库中包括多个识别模型,并至少包括应用首包识别模型;
所述应用识别分析器被配置为:获取流量报文;以及,根据识别模型库中的识别模型匹配所述流量报文;根据匹配结果,确定所述流量报文的应用识别结果;
所述DNS学习采集器被配置为:如果所述流量报文包含DNS报文,在预先建立的所述DNS学习表项中匹配查询所述DNS报文包含的域名信息;如果在所述DNS学习表项中匹配到所述DNS报文包含的域名信息,根据所述DNS报文包含的服务器IP地址信息,以及所述域名信息对应在DNS学习表项中的传输层协议和端口信息,生成符合所述应用首包识别模型的识别规则;将新生成的识别规则添加至所述应用首包识别模型;
所述管控器被配置为:根据应用识别结果,对所述流量报文对应的数据流进行放行或阻断。
由以上技术方案可知,本申请提供一种基于DNS学习的应用识别方法及系统,所述方法先获取流量报文,再根据识别模型匹配流量报文;如果根据匹配结果不能确定应用识别结果,获取流量报文中的域名信息,再根据域名信息以及DNS学习表项中对应的传输层协议、端口信息生成识别规则;最后,将新生成的识别规则添加至识别模型,重复匹配,直至输出应用识别结果。所述方法可以通过DNS学习的方式自动生成识别规则,更新识别模型,提高应用识别的时效性,提高应用控制的准确率。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。

Claims (7)

1.一种基于DNS学习的应用识别方法,其特征在于,包括:
获取流量报文;
根据识别模型库中的识别模型匹配所述流量报文;所述识别模型库中包括多个识别模型并至少包括应用首包识别模型;
根据匹配结果,确定所述流量报文的应用识别结果;
如果所述流量报文包含DNS报文,在预先建立的DNS学习表项中匹配查询所述DNS报文包含的域名信息;
如果在所述DNS学习表项中匹配到所述DNS报文包含的域名信息,根据所述DNS报文包含的该域名信息对应的服务器IP地址信息,以及所述域名信息在DNS学习表项中对应的传输层协议和端口信息,生成符合所述应用首包识别模型的识别规则;
将新生成的识别规则添加至所述应用首包识别模型。
2.根据权利要求1所述的应用识别方法,其特征在于,在获取流量报文前建立DNS学习表项,具体包括:
创建应用特征库文件;
根据应用行为分析器采集的DNS流量数据,记录应用所使用的域名信息、传输层协议以及端口信息;
根据所述域名信息、传输层协议以及端口信息生成识别特征和应用ID;
将所述识别特征和应用ID写入所述应用特征库文件。
3.根据权利要求2所述的应用识别方法,其特征在于,所述方法还包括:
加载所述应用特征库文件;
对所述应用特征库文件进行合法校验和解压存储;
解析所述应用特征库文件,以及通过ACBM算法存储编译,获得DNS学习表项。
4.根据权利要求1所述的应用识别方法,其特征在于,所述识别模型库还包括固定端口识别模型,根据识别模型库中的识别模型匹配所述流量报文的步骤,包括:
解析所述流量报文,获得所述服务器IP地址信息、端口信息以及传输层协议;
根据所述端口信息,在所述固定端口识别模型中匹配所述流量报文;
如果所述流量报文命中所述固定端口识别模型中的任一应用ID,提取命中的应用ID,输出应用识别结果;
如果所述流量报文未命中所述固定端口识别模型中的应用ID,根据所述服务器IP地址信息、端口信息和传输层协议,在所述应用首包识别模型中匹配所述流量报文。
5.根据权利要求1所述的应用识别方法,其特征在于,所述识别模型库还包括DPI深度检测识别模型,根据识别模型库中的识别模型匹配所述流量报文的步骤,包括:
解析所述流量报文,获得负载信息;
根据所述负载信息,在所述DPI深度检测识别模型中匹配所述流量报文;
如果所述流量报文命中所述DPI深度检测识别模型中的任一应用ID,提取命中的应用ID,输出应用识别结果。
6.根据权利要求1所述的应用识别方法,其特征在于,所述方法还包括:
获取所述应用首包识别模型中包含的识别规则的数量;
如果所述识别规则的数量大于或等于预设规则限制值,遍历所述应用首包识别模型中每个所述识别规则的调用频率和/或最近调用时间;
删除调用频率低于预设活跃值的所述识别规则,或者,删除最近调用时间长于预设活跃时间的所述识别规则。
7.一种基于DNS学习的应用识别系统,其特征在于,包括相互建立通信连接的:应用行为分析器、应用识别分析器、DNS学习采集器和管控器;所述应用识别分析器、DNS学习采集器和管控器内置在上网行为管理设备中,以通过所述上网行为管理设备串行接入需要进行应用识别的网络边缘;
所述应用行为分析器被配置为:加载应用特征库,以获得DNS学习表项,以及将识别模型库加载到所述应用识别分析器,所述识别模型库中包括多个识别模型,并至少包括应用首包识别模型;
所述应用识别分析器被配置为:获取流量报文;以及,根据识别模型库中的识别模型匹配所述流量报文;根据匹配结果,确定所述流量报文的应用识别结果;
所述DNS学习采集器被配置为:如果所述流量报文包含DNS报文,在预先建立的所述DNS学习表项中匹配查询所述DNS报文包含的域名信息;如果在所述DNS学习表项中匹配到所述DNS报文包含的域名信息,根据所述DNS报文包含的该域名信息对应的服务器IP地址信息,以及所述域名信息在DNS学习表项中对应的传输层协议和端口信息,生成符合所述应用首包识别模型的识别规则;将新生成的识别规则添加至所述应用首包识别模型;
所述管控器被配置为:根据应用识别结果,对所述流量报文对应的数据流进行放行或阻断。
CN201911371915.2A 2019-12-27 2019-12-27 一种基于dns学习的应用识别方法及系统 Pending CN110768875A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911371915.2A CN110768875A (zh) 2019-12-27 2019-12-27 一种基于dns学习的应用识别方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911371915.2A CN110768875A (zh) 2019-12-27 2019-12-27 一种基于dns学习的应用识别方法及系统

Publications (1)

Publication Number Publication Date
CN110768875A true CN110768875A (zh) 2020-02-07

Family

ID=69341589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911371915.2A Pending CN110768875A (zh) 2019-12-27 2019-12-27 一种基于dns学习的应用识别方法及系统

Country Status (1)

Country Link
CN (1) CN110768875A (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111865724A (zh) * 2020-07-28 2020-10-30 公安部第三研究所 视频监控设备信息采集控制实现方法
CN111953706A (zh) * 2020-08-21 2020-11-17 公安部第三研究所 基于https流量信息识别移动应用的方法
CN112272123A (zh) * 2020-10-16 2021-01-26 北京锐安科技有限公司 网络流量分析方法、装置、电子设备和存储介质
CN112688884A (zh) * 2020-12-30 2021-04-20 北京安博通科技股份有限公司 加密流量自定义应用识别方法、系统、装置及存储介质
CN113326946A (zh) * 2020-02-29 2021-08-31 华为技术有限公司 更新应用识别模型的方法、装置及存储介质
CN114520775A (zh) * 2022-04-21 2022-05-20 远江盛邦(北京)网络安全科技股份有限公司 应用控制方法、装置、电子设备和存储介质
CN114694420A (zh) * 2022-03-23 2022-07-01 合肥置顶信息技术有限公司 一种可智能纠错的民航气象预报制作发布系统及方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571956A (zh) * 2012-01-09 2012-07-11 华为技术有限公司 关联识别表更新方法、关联识别方法、装置及系统
CN104796406A (zh) * 2015-03-20 2015-07-22 杭州华三通信技术有限公司 一种应用识别方法及装置
CN104901897A (zh) * 2015-05-26 2015-09-09 杭州华三通信技术有限公司 一种应用类型的确定方法和装置
CN105245551A (zh) * 2015-11-04 2016-01-13 深圳市蜂联科技有限公司 一种基于dns和包长组合的应用识别方法
JP2017139731A (ja) * 2016-10-18 2017-08-10 京セラ株式会社 通信装置、dns処理方法、およびプログラム
CN108170595A (zh) * 2017-12-25 2018-06-15 北京蓝海讯通科技股份有限公司 一种转储文件生成方法及数据探针的安装和卸载方法
CN108173705A (zh) * 2017-11-28 2018-06-15 北京天融信网络安全技术有限公司 流量引流的首包识别方法、装置、设备及介质
CN108462675A (zh) * 2017-02-20 2018-08-28 沪江教育科技(上海)股份有限公司 一种网络访问识别方法及系统
CN110430188A (zh) * 2019-08-02 2019-11-08 武汉思普崚技术有限公司 一种快速url过滤方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571956A (zh) * 2012-01-09 2012-07-11 华为技术有限公司 关联识别表更新方法、关联识别方法、装置及系统
CN104796406A (zh) * 2015-03-20 2015-07-22 杭州华三通信技术有限公司 一种应用识别方法及装置
CN104901897A (zh) * 2015-05-26 2015-09-09 杭州华三通信技术有限公司 一种应用类型的确定方法和装置
CN105245551A (zh) * 2015-11-04 2016-01-13 深圳市蜂联科技有限公司 一种基于dns和包长组合的应用识别方法
JP2017139731A (ja) * 2016-10-18 2017-08-10 京セラ株式会社 通信装置、dns処理方法、およびプログラム
CN108462675A (zh) * 2017-02-20 2018-08-28 沪江教育科技(上海)股份有限公司 一种网络访问识别方法及系统
CN108173705A (zh) * 2017-11-28 2018-06-15 北京天融信网络安全技术有限公司 流量引流的首包识别方法、装置、设备及介质
CN108170595A (zh) * 2017-12-25 2018-06-15 北京蓝海讯通科技股份有限公司 一种转储文件生成方法及数据探针的安装和卸载方法
CN110430188A (zh) * 2019-08-02 2019-11-08 武汉思普崚技术有限公司 一种快速url过滤方法及装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113326946A (zh) * 2020-02-29 2021-08-31 华为技术有限公司 更新应用识别模型的方法、装置及存储介质
WO2021169294A1 (zh) * 2020-02-29 2021-09-02 华为技术有限公司 更新应用识别模型的方法、装置及存储介质
CN111865724A (zh) * 2020-07-28 2020-10-30 公安部第三研究所 视频监控设备信息采集控制实现方法
CN111865724B (zh) * 2020-07-28 2022-02-08 公安部第三研究所 视频监控设备信息采集控制实现方法
CN111953706A (zh) * 2020-08-21 2020-11-17 公安部第三研究所 基于https流量信息识别移动应用的方法
CN112272123A (zh) * 2020-10-16 2021-01-26 北京锐安科技有限公司 网络流量分析方法、装置、电子设备和存储介质
CN112688884A (zh) * 2020-12-30 2021-04-20 北京安博通科技股份有限公司 加密流量自定义应用识别方法、系统、装置及存储介质
CN114694420A (zh) * 2022-03-23 2022-07-01 合肥置顶信息技术有限公司 一种可智能纠错的民航气象预报制作发布系统及方法
CN114694420B (zh) * 2022-03-23 2024-01-12 合肥置顶信息技术有限公司 一种可智能纠错的民航气象预报制作发布系统及方法
CN114520775A (zh) * 2022-04-21 2022-05-20 远江盛邦(北京)网络安全科技股份有限公司 应用控制方法、装置、电子设备和存储介质
CN114520775B (zh) * 2022-04-21 2022-07-08 远江盛邦(北京)网络安全科技股份有限公司 应用控制方法、装置、电子设备和存储介质

Similar Documents

Publication Publication Date Title
CN110768875A (zh) 一种基于dns学习的应用识别方法及系统
CN109063745B (zh) 一种基于决策树的网络设备类型识别方法及系统
CN107257390B (zh) 一种url地址的解析方法和系统
CN114157502B (zh) 一种终端识别方法、装置、电子设备及存储介质
CN107547490B (zh) 一种扫描器识别方法、装置及系统
CN106528393A (zh) 一种WebService的Mock测试的方法及装置
CN111949803A (zh) 一种基于知识图谱的网络异常用户检测方法、装置和设备
CN114826671B (zh) 一种基于指纹的分层匹配的网络资产识别方法及装置
CN114465741B (zh) 一种异常检测方法、装置、计算机设备及存储介质
CN114528457A (zh) Web指纹检测方法及相关设备
CN113923003A (zh) 一种攻击者画像生成方法、系统、设备以及介质
CN112565308B (zh) 基于网络流量的恶意应用检测方法、装置、设备及介质
CN110826062B (zh) 恶意软件的检测方法及装置
US20160285905A1 (en) System and method for detecting mobile cyber incident
CN107229865B (zh) 一种解析Webshell入侵原因的方法及装置
CN113032836B (zh) 数据脱敏方法和装置
CN114363059A (zh) 一种攻击识别方法、装置及相关设备
CN114817928A (zh) 网络空间数据融合分析方法、系统、电子设备及存储介质
CN104125105B (zh) 对互联网应用场所分类的方法和装置
CN113920398A (zh) 异常设备识别方法、装置、计算机设备和存储介质
CN112511643A (zh) 一种报文数据提取方法及装置
CN112597498A (zh) 一种webshell的检测方法、系统、装置及可读存储介质
CN114070819B (zh) 恶意域名检测方法、设备、电子设备及存储介质
Boillat DDoSGrid-Mining: Analyzing and Classifying DDoS Attack Traffic
CN114531307B (zh) 主动防御网关的api模型构建与防御方法及系统

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200207

RJ01 Rejection of invention patent application after publication