CN116545772A - 轻量级物联网流量的协议识别方法、装置及设备 - Google Patents

轻量级物联网流量的协议识别方法、装置及设备 Download PDF

Info

Publication number
CN116545772A
CN116545772A CN202310814797.8A CN202310814797A CN116545772A CN 116545772 A CN116545772 A CN 116545772A CN 202310814797 A CN202310814797 A CN 202310814797A CN 116545772 A CN116545772 A CN 116545772A
Authority
CN
China
Prior art keywords
application layer
internet
things
layer protocol
protocol
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
Application number
CN202310814797.8A
Other languages
English (en)
Other versions
CN116545772B (zh
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.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
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 Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN202310814797.8A priority Critical patent/CN116545772B/zh
Publication of CN116545772A publication Critical patent/CN116545772A/zh
Application granted granted Critical
Publication of CN116545772B publication Critical patent/CN116545772B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种轻量级物联网流量的协议识别方法、装置及设备,该方法包括:对于待进行应用层协议识别的物联网数据流,依据解码器的排序结果,对解码器进行遍历;其中,不同解码器对应不同的应用层协议;解码器依据所对应的应用层协议的重要性进行排序,对应的应用层协议的重要性越高,解码器的排序越靠前;依据当前遍历的解码器,对所述物联网数据流进行解析;在所述物联网数据流与当前遍历的解码器匹配成功的情况下,确定所述物联网数据流的应用层协议为目标应用层协议。该方法可以降低解码器的搜索路径长度,减少协议识别的资源消耗。

Description

轻量级物联网流量的协议识别方法、装置及设备
技术领域
本申请涉及网络安全技术领域,尤其涉及一种轻量级物联网流量的协议识别方法、装置及设备。
背景技术
网络安全设备(如流量准入、态感设备)接入网络流量的情况下,由于网络流量数量庞大,流量解析占用的设备资源巨大;且深度包解析能力的提升(解码器数量增加),会造成计算机系统资源消耗的提升。
如何提升深度包解析的性能,以减少资源消耗成为亟待解决的技术问题。
发明内容
有鉴于此,本申请提供一种轻量级物联网流量的协议识别方法、装置及设备。
具体地,本申请是通过如下技术方案实现的:
根据本申请实施例的第一方面,提供一种轻量级物联网流量的协议识别方法,包括:
对于待进行应用层协议识别的物联网数据流,依据解码器的排序结果,对解码器进行遍历;其中,不同解码器对应不同的应用层协议;解码器依据所对应的应用层协议的重要性进行排序,对应的应用层协议的重要性越高,解码器的排序越靠前;
依据当前遍历的解码器,对所述物联网数据流进行解析;
在所述物联网数据流与当前遍历的解码器匹配成功的情况下,确定所述物联网数据流的应用层协议为目标应用层协议;其中,所述目标应用层协议为当前遍历的解码器所对应的应用层协议,所述物联网数据流与当前遍历的解码器匹配成功包括:当前遍历的解码器对所述物联网数据流的输出结果为所述物联网数据流的应用层协议是所述目标应用层协议。
根据本申请实施例的第二方面,提供一种轻量级物联网流量的协议识别装置,包括:
遍历单元,用于对于待进行应用层协议识别的物联网数据流,依据解码器的排序结果,对解码器进行遍历;其中,不同解码器对应不同的应用层协议;解码器依据所对应的应用层协议的重要性进行排序,对应的应用层协议的重要性越高,解码器的排序越靠前;
解析单元,用于依据当前遍历的解码器,对所述物联网数据流进行解析;
协议识别单元,用于在所述物联网数据流与当前遍历的解码器匹配成功的情况下,确定所述物联网数据流的应用层协议为目标应用层协议;其中,所述目标应用层协议为当前遍历的解码器所对应的应用层协议,所述物联网数据流与当前遍历的解码器匹配成功包括:当前遍历的解码器对所述物联网数据流的输出结果为所述物联网数据流的应用层协议是所述目标应用层协议。
根据本申请实施例的第三方面,提供一种电子设备,包括处理器和存储器,其中,
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面提供的方法。
本申请实施例的轻量级物联网流量的协议识别方法,通过依据解码器对应的协议的重要性,对解码器进行排序,将重要性高的协议对应的解码器排在前面,对于待进行协议识别的物联网数据流,依据解码器的排序结果,对解码器进行遍历,并依据当前遍历的解码器,对物联网数据流进行解析,在物联网数据流与当前遍历的解码器匹配成功的情况下,确定物联网数据流的应用层协议为目标应用层协议,由于重要性越高的协议对应的解码器,越先进行遍历和匹配,而重要性越高的流量,其出现的概率通常也越高,因而,物联网数据流与重要性高的协议对应的解码器匹配成功的概率通常会较高,通过按照对应的协议从高到低的顺序对解码器进行排序,可以有效提高物联网数据流与排序靠前的解码器匹配成功的概率,降低解码器的搜索路径长度,减少协议识别的资源消耗。
附图说明
图1为本申请一示例性实施例示出的一种轻量级物联网流量的协议识别方法的流程示意图;
图2为本申请一示例性实施例示出的一种轻量级物联网流量的协议识别方法的流程示意图;
图3为本申请一示例性实施例示出的一种轻量级物联网流量的协议识别装置的结构示意图;
图4为本申请一示例性实施例示出的一种轻量级物联网流量的协议识别装置的结构示意图;
图5为本申请一示例性实施例示出的一种轻量级物联网流量的协议识别装置的结构示意图;
图6为本申请一示例性实施例示出的一种轻量级物联网流量的协议识别装置的结构示意图;
图7为本申请一示例性实施例示出的一种轻量级物联网流量的协议识别装置的结构示意图;
图8为本申请一示例性实施例示出的一种电子设备的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面先对本申请实施例中涉及的部分术语进行说明。
1、深度包检测(Deep Packet Inspection,简称DPI):一种特殊的网络技术,网络设备通常只会查看数据报文的IP五元组(源IP地址、目的IP地址、传输层协议类型、源端口以及目的端口),这种被称为浅数据包检测;与之对应的DPI会检查有效载荷(Payload)里面的内容,因此,可以称为深度包检测(也可以称为深度数据包检测)。
DPI可以通过硬件或者软件实现,一般采用“旁挂”的方式接入到网络。DPI会对网络中的每个数据包进行检查,识别出应用层协议,根据识别的应用层协议采取一定的措施(记录日志或者阻断连接等)。
1.1、业务识别:确定业务具体内容和信息(如:识别用户操作行为)。
1.2、业务控制:根据既定的策略对网络进行配置,实现业务流控制(如:转发流向、限制带宽、阻断、整形、丢弃)。
1.3、业务统计:针对DPI识别结果,对一定时间内的流量行为进行统计(如:流量流向、业务占比、访问网站TOPN等)。
DPI技术有三种基本的实现思路:
基于特征的:主要是使用模式匹配来匹配协议中的关键字。比如,通过GET/POST(获取/发布)关键字来匹配HTTP(HyperText Transfer Protocol,超文本传输协议)协议。
基于语义的:主要是通过尝试不同的协议规范来解码数据包,从而确定它是哪一种协议。其中又可以分为不同层级,因为有些协议是借助其它协议来传输的。比如,许多P2P协议通常会使用HTTP协议。
基于统计的:主要是针对加密数据,因为它能被观测到的信息只有数据包数、大小以及建立加密连接时的过程和参数,即根据数据包统计数据包的特征(如长度)而不是根据payload的具体内容,来进行协议识别。
2、解码器:可以理解为一个函数,函数输入是数据流,输出是该数据流是不是某个协议。比如用户使用HTTP协议访问网站,该动作产生了HTTP流量。将该流量输入HTTP解码器,解码器的输出结果为该流量是HTTP流。解码器的原理是根据协议规范进行解析,在报文不符合协议规范的情况下,输出报文不属于该解码器对应的协议。
为了识别物联网环境中的不同协议的流量,需要分别内置对应不同协议的解码器。
3、网页排名(PageRank)算法:PageRank算法作为计算互联网网页重要度的算法被提出。PageRank是定义在网页集合上的一个函数,它对每个网页给出一个正实数,表示网页的重要程度,整体构成一个向量,PageRank值越高,网页就越重要,在互联网搜索的排序中可能就被排在前面。
一个网页,在指向该网页的超链接越多的情况下,随机跳转到该网页的概率也就越高,该网页的PageRank值就越高,这个网页也就越重要。PageRank值依赖于网络的拓扑结构,一旦网络的拓扑(连接关系)确定,PageRank值就确定。
PageRank的计算可以在互联网的有向图上进行,通常是一个迭代过程。先假设一个初始分布,通过迭代,不断计算所有网页的PageRank值,直到收敛为止。
互联网有向图图节点表示超链接,边表示一个节点有一定概率(边的权重)从一个节点转移到另一个节点。算法的目标是根据图中的转移关系,计算图中各节点的排名。
4、改造的PageRank算法:用在协议解析的场景下,使用推荐算法对解码器进行重要性排序,按照排序顺序进行协议解析,提升解析的搜索效率。
5、协议簇:协议簇是指一组互相关联、相互支持的协议集合,这些协议通常是在相同的协议体系结构下,用于实现某种特定通信需求的。协议簇可以看作是一种规范,它定义了在特定环境中使用哪些协议、如何使用这些协议以及协议之间的关系等方面的规则和约定。
示例性的,同一协议簇中各协议规范均符合相同的标准,仅在部分字段有定制化的修改。
示例性的,协议簇的概念可以基于经验确定,举例来说,会话发起协议(SIP)协议簇,该簇中包含协议GB28181,GB35114。
为了使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
需要说明的是,本申请实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
此外,若未特殊说明,下文中所提及的协议指应用层协议。
请参见图1,为本申请实施例提供的一种轻量级物联网流量的协议识别方法的流程示意图,如图1所示,该轻量级物联网流量的协议识别方法可以包括以下步骤:
步骤S100、对于待进行应用层协议识别的物联网数据流,依据解码器的排序结果,对解码器进行遍历;其中,不同解码器对应不同的应用层协议;解码器依据所对应的应用层协议的重要性进行排序,对应的应用层协议的重要性越高,解码器的排序越靠前。
本申请实施例中,网络安全设备可以通过流量旁路监听的方式获取物联网流量数据,并对获取到的物联网数据流进行协议识别。
考虑到实际应用中,不同协议的重要性并不完全相同,有的协议的重要性会较高,有的协议的重要性相对会较低。
示例性的,协议的重要性可以用于表征该协议的流量出现的概率,协议的重要性越高,该协议的流量出现的概率越高,使用该协议对应的解码器对该流量进行应用识别,匹配成功的概率通常也越高。
基于此,可以依据协议的重要性,对解码器进行排序,重要性越高的协议,其对应的解码器的排序越靠前,在进行解码器匹配的情况下,可以依据解码器的排序结果进行匹配,以便重要性高的协议对应的解码器可以优先匹配,以提高匹配成功的概率,减少流量匹配的解码器的数量,进而,减少协议识别的资源消耗。
相应地,对于待进行应用层协议识别的物联网数据流,可以依据解码器的排序结果,对解码器进行遍历。
步骤S110、依据当前遍历的解码器,对待进行应用层协议识别的物联网数据流进行解析。
本申请实施例中,对于所遍历的任一解码器,可以依据该解码器对待进行协议识别的物联网数据流进行解析。
示例性的,解码器可以依据所对应协议的协议规范,对该物联网数据流的数据包进行解析,以确定该物联网数据流的数据包是否符合协议规范。
在解码器确定该物联网数据流的数据包符合协议规范的情况下,可以确定匹配成功,输出该物联网数据流为该解码器对应的协议的流量。
在解码器确定该物联网数据流的数据包不符合协议规范的情况下,可以确定匹配不成功,输出该物联网数据流不属于该解码器对应的协议的流量。
步骤S120、在待进行应用层协议识别的物联网数据流与当前遍历的解码器匹配成功的情况下,确定该物联网数据流的应用层协议为目标应用层协议;其中,目标应用层协议为当前遍历的解码器所对应的应用层协议,该物联网数据流与当前遍历的解码器匹配成功包括:当前遍历的解码器对该物联网数据流的输出结果为该物联网数据流的应用层协议是目标应用层协议。
本申请实施例中,在当前遍历的解码器对待进行协议识别的物联网数据流匹配成功的情况下,即当前遍历的解码器对该物联网数据流的输出结果为该物联网数据流为该解码器对应的协议(本文中称为目标应用层协议,简称目标协议),在该情况下,可以确定该物联网数据流的协议为目标协议。
可见,在图1所示方法流程中,通过依据解码器对应的协议的重要性,对解码器进行排序,将重要性高的协议对应的解码器排在前面,对于待进行协议识别的物联网数据流,依据解码器的排序结果,对解码器进行遍历,并依据当前遍历的解码器,对物联网数据流进行解析,在物联网数据流与当前遍历的解码器匹配成功的情况下,确定物联网数据流的应用层协议为目标应用层协议,由于重要性越高的协议对应的解码器,越先进行遍历和匹配,而重要性越高的流量,其出现的概率通常也越高,因而,物联网数据流与重要性高的协议对应的解码器匹配成功的概率通常会较高,通过按照对应的协议从高到低的顺序对解码器进行排序,可以有效提高物联网数据流与排序靠前的解码器匹配成功的概率,降低解码器的搜索路径长度,减少协议识别的资源消耗。
在一些实施例中,解码器的排序结果按照以下方式确定:
收集预设时间段内的物联网流量;
依据所收集的物联网流量,确定存在的应用层协议,并依据全部应用层协议出现的总次数,以及,各应用层协议出现的次数,确定各应用层协议出现的次数占比,依据该占比确定各应用层协议的初始权重;其中,初始权重与该占比正相关;
对于文本型应用层协议,依据同一协议簇的各应用层协议之间的相似度,对各应用层协议的初始权重进行更新,得到各文本型应用层协议的最终权重;
依据各文本型应用层协议的最终权重,以及文本型应用层协议之外的其它应用层协议的初始权重,对各应用层协议进行排序,并依据各应用层协议的排序结果得到各解码器的排序结果;其中,权重越高,排序越靠前。
示例性的,对于物联网流量,应用层协议的类型可以包括明文协议和加密协议,明文协议又可以包括文本型协议和非文本协议,即应用层协议的类型可以包括加密协议、文本型协议和非文本型协议。
其中,文本型协议的报文负载中的内容是字符串格式的,比如json(一种存储和交换文本信息的语法)串、xml(Extensible Markup Language,可扩展标记语言)串等;非文本型协议如一些工控协议,其报文内容不是ascii(一种通行的信息交换标准)码而是字节码。
为了确定各协议的重要性,可以收集一段时间内的物联网流量,并依据所收集的物联网流量,确定存在的协议,并依据全部协议出现的总次数,以及,各协议出现的次数,确定各协议出现的次数占比。
例如,假设依据所收集的物联网流量确定存在20种协议,该20种协议出现的总次数为1000次,其中,该20种协议中协议A出现的次数为100次,则协议A出现的次数占比为10%。
可以依据各协议出现的次数占比确定各协议的初始权重。
示例性的,对于文本型协议,其重要性还与协议之间的相似度有关。
对于一个文本型协议,与该协议相似(如协议之间的相似度超过一定阈值)的其它协议越多,该协议的重要性通常越高。
示例性的,文本型协议之间的相似度可以通过语义相似性来计算。
相应地,对于文本型协议,还可以依据同一协议簇的各协议之间的相似度,对各协议的初始权重进行更新,得到各文本型协议的最终权重,进而,可以依据各文本型协议的最终权重,以及文本型协议之外的其它协议(如加密协议或非文本型协议)的初始权重,对各协议进行排序,并依据各协议的排序结果得到各解码器的排序结果。
示例性的,协议的权重(文本型协议的最终权重,其他协议的初始权重)越高,协议的排序越靠前。
在一个示例中,对于目标文本型应用层协议,其初始权重为第一比例、第二比例以及第三比例三者的乘积;第一比例为依据所收集的物联网流量确定的、文本型应用层协议出现的次数在全部应用层协议出现的总次数中的占比,第二比例为目标文本型应用层协议所属协议簇出现的次数在文本型应用层协议出现的次数中的占比,第三比例为目标文本型应用层协议出现的次数在目标文本型应用层协议所属协议簇出现的次数中的占比;
上述对于文本型应用层协议,依据同一协议簇的各应用层协议之间的相似度,对各应用层协议的初始权重进行更新,可以包括:
以目标文本型应用层协议所属协议簇中各文本型应用层协议为节点,依据各节点之间的相似度,在相似度超过预设相似度阈值的节点之间构建无向边,以节点之间的相似度为边的权重,构建无向图;
依据该无向图,利用网页排名算法,确定各节点的网页排名值;
以目标文本型应用层协议的网页排名值替代第三比例,对目标文本型应用层协议的初始权重进行更新,得到目标文本型应用层协议的最终权重。
示例性的,对于任一文本型协议(可以称为目标文本型协议),其初始权重可以为文本型协议出现的次数在全部应用层协议出现的总次数中的占比(本文中称为第一比例)、目标文本型协议所属协议簇出现的次数在文本型应用协议出现的次数中的占比(本文中称为第二比例),以及,目标文本型协议出现的次数在目标文本型协议所属协议簇出现的次数中的占比(本文中称为第三比例)三者之间的乘积。
对于文本型协议,可以依据其与同一协议簇中其它协议之间的相似度,对该协议在协议簇中出现的次数占比进行更新,进而实现初始权重的更新。
示例性的,可以以目标文本型应用层协议所属协议簇中各文本型应用层协议为节点,依据各节点之间的相似度,在相似度超过预设相似度阈值的节点之间构建无向边,以节点之间的相似度为边的权重,构建无向图,并依据该无向图,利用网页排名(PageRank)算法(可以称为改造的PageRank算法),确定各节点的PageRank值。
可以以目标文本型应用层协议的网页排名值替代第三比例,对目标文本型应用层协议的初始权重进行更新,得到目标文本型应用层协议的最终权重。
其中,无向图是由一组节点和节点之间的边组成的图形表示,无向图中的边没有方向性(可以称为无向边)。
无向边是指无向图中的连接两个节点的边,无向边没有方向性,无向边连接的两个节点是对等的,可以双向传递信息或者关系(因此,无向边也可以称为双向边)。
需要说明的是,相对于传统PageRank算法,本申请实施例中的改造的PageRank算法以文本型协议替代网页中的超链接作为节点,以节点之间的相似度替代超链接之间的跳转概率作为边的权重,构建节点之间的关系图(即上述无向图),基于该关系图,可以按照PageRank算法的计算思路,确定各节点的PageRank值,其具体实现可以参考PageRank算法计算网页PageRank值的相关实现,本申请实施例在此不做赘述。
在一些实施例中,上述依据当前遍历的解码器,对物联网数据流进行解析之后,还可以包括:
在物联网数据流与当前遍历的解码器匹配不成功,且存在未遍历的解码器的情况下,继续解码器的遍历;
在物联网数据流与当前遍历的解码器匹配不成功,且不存在未遍历的解码器的情况下,确定当前遍历的解码器对物联网数据流的数据包的解码数量是否达到预设数量;
在当前遍历的解码器对所述物联网数据流的数据包的解码数量达到预设数量的情况下,确定该物联网数据流的应用层协议为未知协议,并停止对该物联网数据流进行应用层协议识别;其中,物联网数据流通过物联网数据流中的数据包的五元组信息来标识,数据包的五元组信息包括源IP地址、目的IP地址、传输层协议类型、源端口以及目的端口。
示例性的,考虑到一个数据流中的前面20%的数据包,包含80%的重要数据,因而,对于任一数据流,对该数据流的前预设数量的数据包进行解码匹配,通常就可以较为准确地识别出数据流的协议。
相应地,对于任一物联网数据流,在按照图1所示方法流程中描述的方式对该物联网数据流进行协议识别的过程中,在物联网数据流与当前遍历的解码器匹配不成功的情况下,可以确定是否存在未遍历的解码器。
示例性的,物联网数据流与当前遍历的解码器匹配不成功可以包括:当前遍历的解码器对该物联网数据流的输出结果为物联网数据流不属于该解码器对应的协议的流量。
在存在未遍历的解码器的情况下,可以继续解码器的遍历,并按照上述实施例中描述的方式进行协议识别。
在不存在未遍历的解码器的情况下,可以确定当前遍历的解码器对物联网数据流的数据包的解码数量是否达到预设数量。
示例性的,对于任一物联网数据流,可以统计并记录解码器对该物联网数据流的数据包的解码数量。
需要说明的是,考虑到通常是对解码器解码的数据流的数据包的数量的判定,通常是在按照解码器的排序结果进行了完整的解码器的遍历、且当前的物联网数据流与各解码器均匹配不成功的情况下进行的,因此,按照各解码器的排序结果,最后一个解码器对该数据流的数据包的解码数量通常也是各其它解码器对该数据流的数据包的解码数量,因而,可以统计并记录最后一个解码器对各数据流的数据包的解码数量,依据最后一个解码器对各数据流的数据包的解码数量,进行对解码器解码的数据流的数据包的数量的判定。
示例性的,在当前遍历的解码器对物联网数据流的数据包的解码数量达到预设数量的情况下,确定物联网数据流的协议为未知协议,并停止对物联网数据流进行协议识别。
示例性的,在当前遍历的解码器对物联网数据流的数据包的解码数量未达到预设数量的情况下,可以在再次获取到该物联网数据流的数据包的情况下,再次按照上述实施例中描述的方式对该物联网数据流进行协议识别。
示例性的,物联网数据流通过物联网数据流中的数据包的五元组信息来标识,数据包的五元组信息包括源IP地址、目的IP地址、传输层协议类型(如TCP(TransmissionControl Protocol,传输控制协议)或UDP(User Datagram Protocol,用户数据报协议))、源端口以及目的端口。
需要说明的是,在本申请实施例中,对于任一物联网数据流,对该物联网数据流的协议识别结果可以包括该物联网数据流的协议为某一种已知协议,或,该该物联网数据流的协议为未知协议。在确定了物联网数据流的协议识别结果的情况下,可以依据物联网数据流的协议识别结果对物联网数据流进行威胁检测和流量控制。
在一些实施例中,对于待进行应用层协议识别的物联网数据流,在依据解码器的排序结果,对解码器进行遍历之前,还可以包括:
对物联网数据流中的数据包进行解析,确定该数据包的传输层协议类型以及目的端口;
依据该数据包的传输层协议类型以及目的端口,查询预匹配规则,确定是否存在对应的应用层协议;其中,预匹配规则用于记录传输层协议、目的端口以及应用层协议之间的对应关系;
在存在对应的应用层协议的情况下,将该应用层协议确定为所述物联网数据流的应用层协议;
在不存在对应的应用层协议的情况下,确定执行上述依据解码器的排序结果,对解码器进行遍历的操作。
示例性的,考虑到实际应用中,会存在某些特定协议的数据流具有固定的传输层协议和目的端口。
例如,对于某些私有协议,用户在进行配置的情况下,会配置固定的传输层协议和目的端口。
相应地,为了提高物联网数据流协议识别的效率,可以依据传输层协议、目的端口以及应用层协议之间的对应关系,配置预匹配规则,该预匹配规则用于记录该对应关系。
基于此,对于待进行协议识别的物联网数据流,在进行解码器匹配之前,可以先依据该物联网数据流中的数据包的传输层协议类型以及目的端口,查询预匹配规则,以确定是否存在与该传输层协议类型及目的端口对应的应用层协议。
在存在对应的应用层协议的情况下,可以将该应用层协议确定为该物联网数据流的应用层协议;
在不存在对应的应用层协议的情况下,可以按照上述实施例中描述的方式,依据解码器的排序结果,对解码器进行遍历,并对该物联网数据流进行协议识别。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面结合具体场景对本申请实施例提供的技术方案进行说明。
假设物联网环境中的常用协议有m种,DPI模块内置m种解码器。物联网环境中实时平均存活的流个数为n个,流平均包含的数据包个数是l个,则DPI模块的复杂度是O(m*n*l)。
为了降低DPI模块的资源占用,包括两种改进方向:一种改进方向是减少每个数据流匹配的解码器的个数。例如,对于RTSP(Real-Time Stream Protocol,实时流协议)流,在RTSP解码器排在所有解码器的顺序中的第一位的情况下,RTSP流只需要经过一个解码器就可以结束匹配流程。另一种改进方向是减少每个解码器对同一数据流的数据包进行解码的解码个数,例如,对于一个数据流,一个解码器最多解码该数据流的N个数据包。
相应地,在该实施例中,对于一个数据流,通过检测前N个(以上述预设数量为N个为例,N>0)数据包,大大减少了资源占用;此外,依据协议在物联网环境中的占比和随机游走算法(如上述网页排名算法)对解码器进行排序,将权重较高的解码器排在前面,从而降低匹配过程中的解码器搜索路径。
其中,随机游走算法是一种基于随机过程的模型和算法,被广泛应用于计算机科学、数学、物理学等领域。它的核心思想是在一个图或网络上,从每个节点出发,以随机步数进行游走,通过不断迭代和更新,最终得到每个节点的权重或分数。
下面分别对减少每个数据流匹配的解码器的个数以及减少每个解码器的数据包解码个数的实现进行说明。
一、减少每个数据流匹配的解码器的个数
在该实施例中,为了达到这个目的,可以通过改造PageRank算法,以实现解码器排序。
示例性的,该过程可以离线进行,解码器顺序排序固定之后,可以不再进行这一步骤。
1.1、收集一段时间内物联网环境中的流量,统计当前环境中存在的协议类型、协议数量、计算各协议占比,根据该占比数值设置解码器初始权重。
例如,假设RTSP协议出现的次数是100次,全部协议出现的次数是200次,则RTSP协议的占比是50%。
1.2、将现有的解码器划分成三类:分别对应加密协议、文本型协议、非文本型协议。
示例性的,现有的物联网协议有明文协议、加密协议2种。其中明文协议又可以划分为文本型协议和非文本型协议。
相应地,可以将解码器划分成三类:分别对应加密协议、文本型协议、非文本型协议。
1.3、文本型协议根据语义相似性计算协议簇相似度。
1.4、根据协议相似度构造协议解码器关系图。
对于同一个协议簇的文本型协议,以该协议簇中各协议为节点,依据各节点之间的相似度,在相似度超过预设相似度阈值的节点之间构建无向边,以节点之间的相似度为边的权重,构建无向图(也即解码器关系图)。
例如,HTTP协议是一个家族,很多协议是基于HTTP协议的,如GA/T1400。在协议之间的相似度大于阈值T的情况下,在协议之间构造无向边,边的权重为协议之间的相似度。
1.5、根据关系图计算解码器权重。并将DPI模块中的解码器顺序按照解码器权重从大到小进行排列。
示例性的,对于文本型协议,可以依据构建的无向图,利用改造的PageRank算法,确定各节点的PageRank值,依据各节点的PageRank值更新文本型协议的权重(即得到上述最终权重)。
示例性的,非文本型协议和加密协议简单按照当前环境的占比计算权重(即上述初始权重)。
示例性的,按照上述方式产生的解码器排序结果的依据是物联网环境中协议的重要性。
举例来说,在上述步骤中产生的关系图中,若图中某个节点到其他节点的连边增加,那么该节点的PageRank值大概率是会增加的。在相同协议簇A内,假设协议a1有300个相似协议,即在关系图上有300个连边,而协议a2有30个相似协议,那么a1协议的排序比a2协议的排序要高。
二、减少每个解码器的数据包解码个数
在该实施例中,由于协议的类型通常在数据流的前几个数据包就能解析出来,因此,对于任一数据流,可以在解码器中增加检测该数据流的前N个数据包的限制,在解码器对该数据流的数据包的解码数量达到N个的情况下,可以停止对该数据流的数据包进行解码。
如图2所示,该实施例中的轻量级物联网流量的协议识别方案的实现流程可以包括:
0、解码器权重设置(即对解码器进行排序)。
示例性的,可以收集物联网环境中预设时间段内的流量,统计当前环境中各协议出现次数的占比,根据该占比数值设置解码器初始权重。
示例性的,对于文本型协议,协议重要性还可以依据该协议与其他协议的相似度确定。对于任一协议,越多其它协议与该协议相似,则该协议重要性越高。
其中,协议相似度可以依据语义相似性计算。
对于任一文本型协议簇,以该文本型协议簇中各协议为节点,在协议之间的相似度大于阈值T(即上述相似度阈值)的情况下,在协议之间构造无向边,绘制协议相关图,根据协议相关图计算解码器权重,并依据解码器权重进行解码器排序,其具体实现可以在下文中进行说明。
需要说明的是,解码器排序结果确定的情况下,在达到更新条件之前,可以不需要改变。其中,解码器排序结果可以按照时间更新,或者,出现在出现新的解码器的情况下更新。
1、流量数据监测
示例性的,可以通过流量旁路监听的方式获取物联网流量数据。针对数据流中的数据包进行拆包分析,从数据链路层和IP层获得源IP、目的IP、传输层协议类型(TCP、UDP),从传输层分析获取源端口信息、目的端口信息,构成流量五元组;根据流量五元组,统计相同流中数据包流经个数。
对于任一物联网数据流,在解码器对该数据流的数据包解码的数量超过N个,且未识别出该物联网数据流的协议的情况下,可以将该物联网数据流的协议判断成未知协议(unknow)并不再暂存该物联网数据流的数据包(即停止对该物联网数据流进行协议识别)。
2、预匹配
示例性的,对于任一物联网数据流,可以依据该数据流的传输层协议类型及目的端口匹配(比如说TCP协议,端口号8080)查询预匹配规则,确定是否存在对应的应用层协议;在存在对应的应用层协议的情况下,确定该物联网数据流的应用层协议为该对应的应用层协议;在不存在对应的应用层协议的情况下,执行步骤3。
3、解码器匹配
示例性的,按照解码器的排序结果,顺序遍历所有解码器,直到匹配了解码器或者当前物联网数据流的数据包的解码数量达到检测上限N个,结束匹配流程。
其中,在当前物联网数据流的数据包的解码数量达到检测上限N个,且各解码器均匹配不成功的情况下,确定当前物联网数据流的协议为未知协议。
4、威胁检测
示例性的,可以在解码器解析流程中增加数据包威胁检测机制,对于与解码器匹配成功的物联网数据流,解码器可以对该物联网数据流的数据包进行威胁检测。即解码器在确定物联网数据流匹配成功的情况下,并不会立即退出当前解码器,而是继续对该物联网数据流的数据包进行深度解析,确定是否存在威胁。
例如,HTTP解码器对于匹配成功的物联网数据流(即HTTP协议的物联网数据流),可以检测该物联网数据流的数据包payload中的主机名是否是DGA(Domain GenerationAlgorithm,域名生成算法)恶意域名。
5、流量控制
示例性的,可以基于针对协议识别结果和威胁检测结果进行流量控制。
举例来说,在实现了协议识别的基础上,假设确定协议A的物联网数据流存在威胁,系统需要针对物联网环境中的A协议进行阻断(阻断方式为丢弃数据包)。即在识别到某物联网数据流的应用层协议为A协议的情况下,系统可以通过丢弃该物联网数据流(通过五元组来识别)未来经过的数据包的方式进行阻断。
需要说明的是,对于协议识别结果为未知协议的物联网数据流,可以按照预设策略对其进行阻断或放行。
例如,由于未知协议的物联网数据流不存在匹配的解码器,因此,可以额外增加针对未知协议的物联网数据流的威胁检测机制(如增加用于针对未知协议的物联网数据流进行威胁检测的模块,可以称为威胁检测模块),对于协议识别结果为未知协议的物联网数据流,可以通过该模块对其进行深度解析,确定是否存在威胁,并在确定存在威胁的情况下,对该物联网数据流(通过五元组来识别)未来经过的数据包的方式进行阻断。
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:
请参见图3,为本申请实施例提供的一种轻量级物联网流量的协议识别装置的结构示意图,如图3所示,该轻量级物联网流量的协议识别装置可以包括:
遍历单元310,用于对于待进行应用层协议识别的物联网数据流,依据解码器的排序结果,对解码器进行遍历;其中,不同解码器对应不同的应用层协议;解码器依据所对应的应用层协议的重要性进行排序,对应的应用层协议的重要性越高,解码器的排序越靠前;
解析单元320,用于依据当前遍历的解码器,对所述物联网数据流进行解析;
协议识别单元330,用于在所述物联网数据流与当前遍历的解码器匹配成功的情况下,确定所述物联网数据流的应用层协议为目标应用层协议;其中,所述目标应用层协议为当前遍历的解码器所对应的应用层协议,所述物联网数据流与当前遍历的解码器匹配成功包括:当前遍历的解码器对所述物联网数据流的输出结果为所述物联网数据流的应用层协议是所述目标应用层协议。
在一些实施例中,如图4所示,轻量级物联网流量的协议识别装置还可以包括:
排序单元340,用于按照以下方式确定解码器的排序结果:
收集预设时间段内的物联网流量;
依据所收集的物联网流量,确定存在的应用层协议,并依据全部应用层协议出现的总次数,以及,各应用层协议出现的次数,确定各应用层协议出现的次数占比,依据该占比确定各应用层协议的初始权重;其中,初始权重与该占比正相关;
对于文本型应用层协议,依据同一协议簇的各应用层协议之间的相似度,对各应用层协议的初始权重进行更新,得到各文本型应用层协议的最终权重;
依据各文本型应用层协议的最终权重,以及所述文本型应用层协议之外的其它应用层协议的初始权重,对各应用层协议进行排序,并依据各应用层协议的排序结果得到各解码器的排序结果;其中,权重越高,排序越靠前。
在一些实施例中,对于目标文本型应用层协议,其初始权重为第一比例、第二比例以及第三比例三者的乘积;所述第一比例为依据所收集的物联网流量确定的、文本型应用层协议出现的次数在全部应用层协议出现的总次数中的占比,所述第二比例为所述目标文本型应用层协议所属协议簇出现的次数在文本型应用层协议出现的次数中的占比,所述第三比例为所述目标文本型应用层协议出现的次数在所述目标文本型应用层协议所属协议簇出现的次数中的占比;
所述排序单元340对于文本型应用层协议,依据同一协议簇的各应用层协议之间的相似度,对各应用层协议的初始权重进行更新,包括:
以所述目标文本型应用层协议所属协议簇中各文本型应用层协议为节点,依据各节点之间的相似度,在相似度超过预设相似度阈值的节点之间构建无向边,以节点之间的相似度为边的权重,构建无向图;
依据所述无向图,利用网页排名算法,确定各节点的网页排名值;
以所述目标文本型应用层协议的网页排名值替代所述第三比例,对所述目标文本型应用层协议的初始权重进行更新,得到所述目标文本型应用层协议的最终权重。
在一些实施例中,所述遍历单元310,还用于在所述物联网数据流与当前遍历的解码器匹配不成功,且存在未遍历的解码器的情况下,继续解码器的遍历;
所述解析单元320,还用于在所述物联网数据流与当前遍历的解码器匹配不成功,且不存在未遍历的解码器的情况下,确定当前遍历的解码器对所述物联网数据流的数据包的解码数量是否达到预设数量;
所述协议识别单元330,还用于在当前遍历的解码器对所述物联网数据流的数据包的解码数量达到所述预设数量的情况下,确定所述物联网数据流的应用层协议为未知协议,并停止对所述物联网数据流进行应用层协议识别;其中,物联网数据流通过物联网数据流中的数据包的五元组信息来标识,数据包的五元组信息包括源IP地址、目的IP地址、传输层协议类型、源端口以及目的端口。
在一些实施例中,如图5所示,轻量级物联网流量的协议识别装置还可以包括:
第一流量控制单元350,用于利用威胁检测模块对所述物联网数据流的数据包进行深度解析,确定所述物联网数据流是否存在威胁;其中,所述威胁检测模块用于针对未知协议的物联网数据流进行威胁检测;在所述物联网数据流存在威胁的情况下,对所述物联网数据流的数据包进行阻断。
在一些实施例中,如图6所示,轻量级物联网流量的协议识别装置还可以包括:
预匹配单元360,用于对所述物联网数据流中的数据包进行解析,确定该数据包的传输层协议类型以及目的端口;依据该数据包的传输层协议类型以及目的端口,查询预匹配规则,确定是否存在对应的应用层协议;其中,所述预匹配规则用于记录传输层协议、目的端口以及应用层协议之间的对应关系;在存在对应的应用层协议的情况下,将该应用层协议确定为所述物联网数据流的应用层协议;
所述遍历单元310,具体用于在所述预匹配单元确定不存在对应的应用层协议的情况下,依据解码器的排序结果,对解码器进行遍历。
在一些实施例中,如图7所示,轻量级物联网流量的协议识别装置还可以包括:
第二流量控制单元370,利用当前遍历的解码器对所述物联网数据流的数据包进行深度解析,确定所述物联网数据流是否存在威胁;在所述物联网数据流存在威胁的情况下,对所述物联网数据流的数据包进行阻断。
本申请实施例还提供一种电子设备,包括处理器和存储器,其中,存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上文描述的轻量级物联网流量的协议识别方法。
请参见图8,为本申请实施例提供的一种电子设备的硬件结构示意图。该电子设备可包括处理器801、存储有机器可执行指令的存储器802。处理器801与存储器802可经由系统总线803通信。并且,通过读取并执行存储器802中与轻量级物联网流量的协议识别逻辑对应的机器可执行指令,处理器801可执行上文描述的轻量级物联网流量的协议识别方法。
本文中提到的存储器802可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
在一些实施例中,还提供了一种机器可读存储介质,如图8中的存储器802,该机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现上文描述的轻量级物联网流量的协议识别方法。例如,所述机器可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
本申请实施例还提供了一种计算机程序产品,存储有计算机程序,并且当处理器执行该计算机程序时,促使处理器执行上文中描述的轻量级物联网流量的协议识别方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种轻量级物联网流量的协议识别方法,其特征在于,包括:
对于待进行应用层协议识别的物联网数据流,依据解码器的排序结果,对解码器进行遍历;其中,不同解码器对应不同的应用层协议;解码器依据所对应的应用层协议的重要性进行排序,对应的应用层协议的重要性越高,解码器的排序越靠前;
依据当前遍历的解码器,对所述物联网数据流进行解析;
在所述物联网数据流与当前遍历的解码器匹配成功的情况下,确定所述物联网数据流的应用层协议为目标应用层协议;其中,所述目标应用层协议为当前遍历的解码器所对应的应用层协议,所述物联网数据流与当前遍历的解码器匹配成功包括:当前遍历的解码器对所述物联网数据流的输出结果为所述物联网数据流的应用层协议是所述目标应用层协议。
2.根据权利要求1所述的方法,其特征在于,解码器的排序结果按照以下方式确定:
收集预设时间段内的物联网流量;
依据所收集的物联网流量,确定存在的应用层协议,并依据全部应用层协议出现的总次数,以及,各应用层协议出现的次数,确定各应用层协议出现的次数占比,依据该占比确定各应用层协议的初始权重;其中,初始权重与该占比正相关;
对于文本型应用层协议,依据同一协议簇的各应用层协议之间的相似度,对各应用层协议的初始权重进行更新,得到各文本型应用层协议的最终权重;
依据各文本型应用层协议的最终权重,以及所述文本型应用层协议之外的其它应用层协议的初始权重,对各应用层协议进行排序,并依据各应用层协议的排序结果得到各解码器的排序结果;其中,权重越高,排序越靠前。
3.根据权利要求2所述的方法,其特征在于,对于目标文本型应用层协议,其初始权重为第一比例、第二比例以及第三比例三者的乘积;所述第一比例为依据所收集的物联网流量确定的、文本型应用层协议出现的次数在全部应用层协议出现的总次数中的占比,所述第二比例为所述目标文本型应用层协议所属协议簇出现的次数在文本型应用层协议出现的次数中的占比,所述第三比例为所述目标文本型应用层协议出现的次数在所述目标文本型应用层协议所属协议簇出现的次数中的占比;
所述对于文本型应用层协议,依据同一协议簇的各应用层协议之间的相似度,对各应用层协议的初始权重进行更新,包括:
以所述目标文本型应用层协议所属协议簇中各文本型应用层协议为节点,依据各节点之间的相似度,在相似度超过预设相似度阈值的节点之间构建无向边,以节点之间的相似度为边的权重,构建无向图;
依据所述无向图,利用网页排名算法,确定各节点的网页排名值;
以所述目标文本型应用层协议的网页排名值替代所述第三比例,对所述目标文本型应用层协议的初始权重进行更新,得到所述目标文本型应用层协议的最终权重。
4.根据权利要求1所述的方法,其特征在于,所述依据当前遍历的解码器,对所述物联网数据流进行解析之后,还包括:
在所述物联网数据流与当前遍历的解码器匹配不成功,且存在未遍历的解码器的情况下,继续解码器的遍历;
在所述物联网数据流与当前遍历的解码器匹配不成功,且不存在未遍历的解码器的情况下,确定当前遍历的解码器对所述物联网数据流的数据包的解码数量是否达到预设数量;
在当前遍历的解码器对所述物联网数据流的数据包的解码数量达到所述预设数量的情况下,确定所述物联网数据流的应用层协议为未知协议,并停止对所述物联网数据流进行应用层协议识别;其中,物联网数据流通过物联网数据流中的数据包的五元组信息来标识,数据包的五元组信息包括源IP地址、目的IP地址、传输层协议类型、源端口以及目的端口。
5.根据权利要求4所述的方法,其特征在于,在确定所述物联网数据流的应用层协议为未知协议的情况下,所述方法还包括:
利用威胁检测模块对所述物联网数据流的数据包进行深度解析,确定所述物联网数据流是否存在威胁;其中,所述威胁检测模块用于针对未知协议的物联网数据流进行威胁检测;
在所述物联网数据流存在威胁的情况下,对所述物联网数据流的数据包进行阻断。
6.根据权利要求1所述的方法,其特征在于,对于待进行应用层协议识别的物联网数据流,在依据解码器的排序结果,对解码器进行遍历之前,还包括:
对所述物联网数据流中的数据包进行解析,确定该数据包的传输层协议类型以及目的端口;
依据该数据包的传输层协议类型以及目的端口,查询预匹配规则,确定是否存在对应的应用层协议;其中,所述预匹配规则用于记录传输层协议、目的端口以及应用层协议之间的对应关系;
在存在对应的应用层协议的情况下,将该应用层协议确定为所述物联网数据流的应用层协议;
在不存在对应的应用层协议的情况下,确定执行所述依据解码器的排序结果,对解码器进行遍历的操作。
7.根据权利要求1所述的方法,其特征在于,在所述物联网数据流与当前遍历的解码器匹配成功的情况下,所述方法还包括:
利用当前遍历的解码器对所述物联网数据流的数据包进行深度解析,确定所述物联网数据流是否存在威胁;
在所述物联网数据流存在威胁的情况下,对所述物联网数据流的数据包进行阻断。
8.一种轻量级物联网流量的协议识别装置,其特征在于,包括:
遍历单元,用于对于待进行应用层协议识别的物联网数据流,依据解码器的排序结果,对解码器进行遍历;其中,不同解码器对应不同的应用层协议;解码器依据所对应的应用层协议的重要性进行排序,对应的应用层协议的重要性越高,解码器的排序越靠前;
解析单元,用于依据当前遍历的解码器,对所述物联网数据流进行解析;
协议识别单元,用于在所述物联网数据流与当前遍历的解码器匹配成功的情况下,确定所述物联网数据流的应用层协议为目标应用层协议;其中,所述目标应用层协议为当前遍历的解码器所对应的应用层协议,所述物联网数据流与当前遍历的解码器匹配成功包括:当前遍历的解码器对所述物联网数据流的输出结果为所述物联网数据流的应用层协议是所述目标应用层协议。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
排序单元,用于按照以下方式确定解码器的排序结果:
收集预设时间段内的物联网流量;
依据所收集的物联网流量,确定存在的应用层协议,并依据全部应用层协议出现的总次数,以及,各应用层协议出现的次数,确定各应用层协议出现的次数占比,依据该占比确定各应用层协议的初始权重;其中,初始权重与该占比正相关;
对于文本型应用层协议,依据同一协议簇的各应用层协议之间的相似度,对各应用层协议的初始权重进行更新,得到各文本型应用层协议的最终权重;
依据各文本型应用层协议的最终权重,以及所述文本型应用层协议之外的其它应用层协议的初始权重,对各应用层协议进行排序,并依据各应用层协议的排序结果得到各解码器的排序结果;其中,权重越高,排序越靠前;
其中,对于目标文本型应用层协议,其初始权重为第一比例、第二比例以及第三比例三者的乘积;所述第一比例为依据所收集的物联网流量确定的、文本型应用层协议出现的次数在全部应用层协议出现的总次数中的占比,所述第二比例为所述目标文本型应用层协议所属协议簇出现的次数在文本型应用层协议出现的次数中的占比,所述第三比例为所述目标文本型应用层协议出现的次数在所述目标文本型应用层协议所属协议簇出现的次数中的占比;
所述排序单元对于文本型应用层协议,依据同一协议簇的各应用层协议之间的相似度,对各应用层协议的初始权重进行更新,包括:
以所述目标文本型应用层协议所属协议簇中各文本型应用层协议为节点,依据各节点之间的相似度,在相似度超过预设相似度阈值的节点之间构建无向边,以节点之间的相似度为边的权重,构建无向图;
依据所述无向图,利用网页排名算法,确定各节点的网页排名值;
以所述目标文本型应用层协议的网页排名值替代所述第三比例,对所述目标文本型应用层协议的初始权重进行更新,得到所述目标文本型应用层协议的最终权重;
和/或,
所述遍历单元,还用于在所述物联网数据流与当前遍历的解码器匹配不成功,且存在未遍历的解码器的情况下,继续解码器的遍历;
所述解析单元,还用于在所述物联网数据流与当前遍历的解码器匹配不成功,且不存在未遍历的解码器的情况下,确定当前遍历的解码器对所述物联网数据流的数据包的解码数量是否达到预设数量;
所述协议识别单元,还用于在当前遍历的解码器对所述物联网数据流的数据包的解码数量达到所述预设数量的情况下,确定所述物联网数据流的应用层协议为未知协议,并停止对所述物联网数据流进行应用层协议识别;其中,物联网数据流通过物联网数据流中的数据包的五元组信息来标识,数据包的五元组信息包括源IP地址、目的IP地址、传输层协议类型、源端口以及目的端口;
其中,所述装置还包括:
第一流量控制单元,用于利用威胁检测模块对所述物联网数据流的数据包进行深度解析,确定所述物联网数据流是否存在威胁;其中,所述威胁检测模块用于针对未知协议的物联网数据流进行威胁检测;在所述物联网数据流存在威胁的情况下,对所述物联网数据流的数据包进行阻断;
和/或,
所述装置还包括:
预匹配单元,用于对所述物联网数据流中的数据包进行解析,确定该数据包的传输层协议类型以及目的端口;依据该数据包的传输层协议类型以及目的端口,查询预匹配规则,确定是否存在对应的应用层协议;其中,所述预匹配规则用于记录传输层协议、目的端口以及应用层协议之间的对应关系;在存在对应的应用层协议的情况下,将该应用层协议确定为所述物联网数据流的应用层协议;
所述遍历单元,具体用于在所述预匹配单元确定不存在对应的应用层协议的情况下,依据解码器的排序结果,对解码器进行遍历;
和/或,
所述装置还包括:
第二流量控制单元,利用当前遍历的解码器对所述物联网数据流的数据包进行深度解析,确定所述物联网数据流是否存在威胁;在所述物联网数据流存在威胁的情况下,对所述物联网数据流的数据包进行阻断。
10.一种电子设备,其特征在于,包括处理器和存储器,其中,
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1~7任一项所述的方法。
CN202310814797.8A 2023-07-04 2023-07-04 轻量级物联网流量的协议识别方法、装置及设备 Active CN116545772B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310814797.8A CN116545772B (zh) 2023-07-04 2023-07-04 轻量级物联网流量的协议识别方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310814797.8A CN116545772B (zh) 2023-07-04 2023-07-04 轻量级物联网流量的协议识别方法、装置及设备

Publications (2)

Publication Number Publication Date
CN116545772A true CN116545772A (zh) 2023-08-04
CN116545772B CN116545772B (zh) 2023-09-19

Family

ID=87447427

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310814797.8A Active CN116545772B (zh) 2023-07-04 2023-07-04 轻量级物联网流量的协议识别方法、装置及设备

Country Status (1)

Country Link
CN (1) CN116545772B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0614334D0 (en) * 2006-07-19 2006-08-30 Chronicle Solutions Uk Ltd Network monitoring
RU2007137484A (ru) * 2005-03-10 2009-04-27 Квэлкомм Инкорпорейтед (US) Структура декодера для оптимизированного управления обработкой ошибок в потоковой передаче мультимедийных данных
CN101605018A (zh) * 2009-06-17 2009-12-16 中兴通讯股份有限公司 一种基于流的深度报文检测协议解码方法、设备及系统
US8351327B1 (en) * 2006-08-28 2013-01-08 Juniper Networks, Inc. Intermediate network device applying application-layer quality of service to channels within a communication session
CA2898053A1 (en) * 2013-08-05 2015-02-12 Huawei Technologies Co., Ltd. Deep packet inspection method, device, and coprocessor
CN114520838A (zh) * 2022-01-11 2022-05-20 北京交通大学 一种基于k近邻的自定义协议应用层的网络报文匹配方法
CN115037805A (zh) * 2022-06-08 2022-09-09 中国人民解放军陆军工程大学 一种基于深度聚类的未知网络协议识别方法、系统、装置及存储介质
CN115334175A (zh) * 2022-09-13 2022-11-11 浙江正泰物联技术有限公司 多协议的自适应解析方法、物联网计量装置、设备和介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2007137484A (ru) * 2005-03-10 2009-04-27 Квэлкомм Инкорпорейтед (US) Структура декодера для оптимизированного управления обработкой ошибок в потоковой передаче мультимедийных данных
GB0614334D0 (en) * 2006-07-19 2006-08-30 Chronicle Solutions Uk Ltd Network monitoring
US8351327B1 (en) * 2006-08-28 2013-01-08 Juniper Networks, Inc. Intermediate network device applying application-layer quality of service to channels within a communication session
CN101605018A (zh) * 2009-06-17 2009-12-16 中兴通讯股份有限公司 一种基于流的深度报文检测协议解码方法、设备及系统
CA2898053A1 (en) * 2013-08-05 2015-02-12 Huawei Technologies Co., Ltd. Deep packet inspection method, device, and coprocessor
CN114520838A (zh) * 2022-01-11 2022-05-20 北京交通大学 一种基于k近邻的自定义协议应用层的网络报文匹配方法
CN115037805A (zh) * 2022-06-08 2022-09-09 中国人民解放军陆军工程大学 一种基于深度聚类的未知网络协议识别方法、系统、装置及存储介质
CN115334175A (zh) * 2022-09-13 2022-11-11 浙江正泰物联技术有限公司 多协议的自适应解析方法、物联网计量装置、设备和介质

Also Published As

Publication number Publication date
CN116545772B (zh) 2023-09-19

Similar Documents

Publication Publication Date Title
Wang et al. A semantics aware approach to automated reverse engineering unknown protocols
CN109063745B (zh) 一种基于决策树的网络设备类型识别方法及系统
US10362083B2 (en) Policy-based payload delivery for transport protocols
Vlăduţu et al. Internet traffic classification based on flows' statistical properties with machine learning
US9806974B2 (en) Efficient acquisition of sensor data in an automated manner
CN109951444B (zh) 一种加密匿名网络流量识别方法
US9275224B2 (en) Apparatus and method for improving detection performance of intrusion detection system
Li et al. Netshield: massive semantics-based vulnerability signature matching for high-speed networks
Zhang et al. Proword: An unsupervised approach to protocol feature word extraction
US11888874B2 (en) Label guided unsupervised learning based network-level application signature generation
Zhang et al. Toward unsupervised protocol feature word extraction
CN102117339A (zh) 针对不安全网页文本的过滤监管方法
Meiners et al. Flowsifter: A counting automata approach to layer 7 field extraction for deep flow inspection
CN103324886A (zh) 一种网络攻击检测中指纹库的提取方法和系统
Majumder et al. Scalable regular expression matching on data streams
CN114124503A (zh) 一种逐级并发缓存优化效能的智能网络感知方法
CN116915450A (zh) 基于多步网络攻击识别和场景重构的拓扑剪枝优化方法
CN112449371A (zh) 一种无线路由器的性能评测方法及电子设备
Min et al. Online Internet traffic identification algorithm based on multistage classifier
CN116545772B (zh) 轻量级物联网流量的协议识别方法、装置及设备
Liu et al. A prefiltering approach to regular expression matching for network security systems
US20230353595A1 (en) Content-based deep learning for inline phishing detection
CN116633865B (zh) 网络流量控制方法、装置、电子设备及存储介质
Cheng et al. Cheetah: a space-efficient HNB-based NFAT approach to supporting network forensics
Sang et al. Fingerprinting protocol at bit-level granularity: A graph-based approach using cell embedding

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