Processing math: 0%
  • 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

基于网络流量的私有协议逆向技术综述

李峻辰, 程光, 杨刚芹

李峻辰, 程光, 杨刚芹. 基于网络流量的私有协议逆向技术综述[J]. 计算机研究与发展, 2023, 60(1): 167-190. DOI: 10.7544/issn1000-1239.202110722
引用本文: 李峻辰, 程光, 杨刚芹. 基于网络流量的私有协议逆向技术综述[J]. 计算机研究与发展, 2023, 60(1): 167-190. DOI: 10.7544/issn1000-1239.202110722
Li Junchen, Cheng Guang, Yang Gangqin. Private Protocol Reverse Engineering Based on Network Traffic: A Survey[J]. Journal of Computer Research and Development, 2023, 60(1): 167-190. DOI: 10.7544/issn1000-1239.202110722
Citation: Li Junchen, Cheng Guang, Yang Gangqin. Private Protocol Reverse Engineering Based on Network Traffic: A Survey[J]. Journal of Computer Research and Development, 2023, 60(1): 167-190. DOI: 10.7544/issn1000-1239.202110722
李峻辰, 程光, 杨刚芹. 基于网络流量的私有协议逆向技术综述[J]. 计算机研究与发展, 2023, 60(1): 167-190. CSTR: 32373.14.issn1000-1239.202110722
引用本文: 李峻辰, 程光, 杨刚芹. 基于网络流量的私有协议逆向技术综述[J]. 计算机研究与发展, 2023, 60(1): 167-190. CSTR: 32373.14.issn1000-1239.202110722
Li Junchen, Cheng Guang, Yang Gangqin. Private Protocol Reverse Engineering Based on Network Traffic: A Survey[J]. Journal of Computer Research and Development, 2023, 60(1): 167-190. CSTR: 32373.14.issn1000-1239.202110722
Citation: Li Junchen, Cheng Guang, Yang Gangqin. Private Protocol Reverse Engineering Based on Network Traffic: A Survey[J]. Journal of Computer Research and Development, 2023, 60(1): 167-190. CSTR: 32373.14.issn1000-1239.202110722

基于网络流量的私有协议逆向技术综述

基金项目: 国家自然科学基金面上项目(62172093);国家重点研发计划项目(2020YFB1804604);2019年工业互联网创新发展工程项目(6709010003)
详细信息
    作者简介:

    李峻辰: 1995年生.博士研究生.主要研究方向为私有协议分析、协议逆向技术和网络测量

    程光: 1973年生.博士,教授,博士生导师.CCF高级会员.主要研究方向为网络空间安全监测和防护、网络大数据分析和网络测量

    杨刚芹: 1998年生.硕士研究生.主要研究方向为流量分析和网络测量

    通讯作者:

    程光(chengguang@seu.edu.cn

  • 中图分类号: TP393

Private Protocol Reverse Engineering Based on Network Traffic: A Survey

Funds: This work was supported by the General Program of the National Natural Science Foundation of China (62172093), the National Key Research and Development Program of China (2020YFB1804604), and the 2019 Industrial Internet Innovation and Development Project (6709010003).
  • 摘要:

    协议逆向技术是分析私有协议的重要途径,基于少量或零先验知识推断私有协议的约束与规范.在恶意应用监管、协议模糊测试、脆弱性检测、通信行为理解等方面均具有较高的实用价值.网络流量表征协议规范,承载协议固有特征,因此基于网络流量的私有协议逆向技术更适用于发现、分析并监管网络上的私有协议.在梳理现有的基于网络流量的私有协议逆向技术基础上,首先提出包括预推理、协议格式推断、语义分析以及协议状态机推理4步骤的基于网络流量的私有协议逆向技术框架,并阐述各个步骤的主要任务,提出面向研究方法本质的分类结构;其次,详细阐述各个私有协议逆向技术的方法流程,从适用协议类型、方法内核、推断算法等多个角度进行对比分析,提供现有基于网络流量的私有协议逆向技术系统概述;最后,归纳总结现有技术存在的问题以及主要影响因素,并对私有协议逆向技术的未来研究方向与应用场景进行展望.

    Abstract:

    Protocol reverse engineering is an important way to analyze private protocols, which can infer the protocol constraints and specifications with little or no prior knowledge, so protocol reverse engineering has practical value in malware supervision, protocol fuzz testing and vulnerability detection, interaction behavior understanding and so on. Network traffic characterizes protocol specifications and bears the inherent characteristics of protocol, so that the private protocol reverse engineering based on network traffic is more suitable for discovering, analyzing and monitoring the private protocol on the network. In this paper, we provide a thorough review of the existing private protocol reverse engineering based on network traffic: Firstly, the architecture of private protocol reverse engineering based on network traffic is proposed, which includes four steps of pre-inference, protocol format inference, semantic analysis, and protocol state machine inference. The main research tasks of each step are also elaborated and a classification structure oriented to the core of the research method is proposed. Secondly, the method and process of each private protocol reverse engineering are described in detail, and a comparative analysis from multiple perspectives of applicable protocol type, technology kernel, and inference algorithms etc is made. A systematic overview of existing private protocol reverse engineering based on network traffic is conducted. Finally, the shortcomings of existing research and main influencing factors are summarized, and the future research direction and application scenarios of private protocol reverse engineering are prospected.

  • 随着无线传感器网络、移动智能终端的迅速发展,基于室内位置服务的需求越来越多,例如矿井施工人员位置发现、化工厂危险源检测、智能机器人服务、停车场寻车等. 但目前室内定位方法仍存在部署难度大、设备成本高以及定位精度低等问题,无法满足上述室内定位需求.

    按照定位原理划分,目前室内定位技术可以分为基于测距的定位和基于指纹的定位两大类. 基于测距的定位方法[1]根据信号强度与传播距离之间的数学模型计算接入点与目标点之间的距离,再使用几何方法计算目标点位置. 但由于室内布局的复杂多变,人员活动频繁,信号强度与传播距离数学模型的准确度低,导致基于测距的定位方法精度较低. 在基于指纹的定位方法中,指纹特征和定位模型是影响定位精度的2个关键因素.

    基于指纹的定位方法中常用低功耗蓝牙(Bluetooth low energy, BLE)[2]、Wi-Fi[3]和ZigBee[4]等无线信号,其中接收信号强度指示(received signal strength indication, RSSI)和信道状态信息(channel state information, CSI)常被用来作为位置指纹特征.CSI采集对硬件要求较高,且数据处理较为复杂,但数据维度高,能够表征较多的位置信息;RSSI因其易采集、易处理的特性被广泛应用,但波动性强,易受环境影响[5]. 同时有文献采用可见光[6]、地磁[7]以及温湿度[8]等传感信息作为位置指纹特征来进行定位. 文献[6]使用可见光通信进行定位,虽然该方法具有较高的定位精度,但可见光通信需要专门的驱动装置对光信号进行调制,并需要光电二极管接收光信号,设备成本较高. 文献[7]使用地磁进行定位,将地磁序列中的时间特征融入到位置指纹中来弥补空间特征差异性小的不足,地磁信号虽然稳定性较高,但是不同位置之间的地磁信号的空间特征区分度不高,采用指纹法进行定位还需利用地磁序列中的时间相关性,增加了算法时间复杂度. 文献[8]在进行指纹法的定位时使用了温湿度信息,但温湿度信息只是对无线信号接收信号强度(received signal strength, RSS)的补充,由于周围环境对温湿度信息的影响比较大,单独的温湿度信息无法用于指纹法定位. 文献[5-8]研究表明,指纹法的定位中,作为位置特征的无线信号强度不稳定,单一采用无线信号强度作为指纹特征进行室内定位的精确度不高;传感信息具有稳定的优势,能够弥补无线信号的不足,达到较高的定位精度,但是单一的传感信息处理过程复杂,增加了设备复杂度或时间复杂度,并且传感信息的位置差异性不强,各位置之间指纹特征区分度不够.

    针对上述单一指纹的问题,有研究使用多种类型的指纹来构建混合特征指纹进行定位[9-11]. 通过研究发现,混合指纹能够提高数据维度和位置差异性,使用多个指纹联合进行定位能够在一定程度上提高定位精度,但单一采用Wi-Fi,BLE等无线信号进行联合或单一采用可见光、地磁场等传感信息进行联合,其波动性较大或特征差异性不强对定位精度造成的影响难以得到改善.

    定位模型的构建方法是指纹定位方法中影响定位精度的另一个重要因素.k最近邻(k-nearest neighbor, KNN)算法[12-14]是一种有效且常用的指纹匹配方法,该算法选取与目标点之间指纹欧氏距离最近的k个参考点,将这k个参考点坐标的平均值作为目标点坐标,即实现了指纹定位. 但由于KNN算法没有考虑目标点与不同参考点之间指纹欧氏距离会对结果的影响程度不同,造成定位精度的不准确,因此使用KNN方法的室内定位技术定位精度较低.

    加权k最近邻(weighted k-nearest neighbor, WKNN)算法[15]对KNN算法存在的问题进行了改进,定位精度相比于KNN有一定程度的提升.WKNN算法根据参考点与目标点之间的指纹欧氏距离对选出的k个参考点赋予了不同的权值,解决了KNN方法中存在的问题. 但当采用无线信号作为指纹特征时,无线信号的不稳定性使得该权值不能很好地反映参考点与目标点之间的匹配程度,因此对定位精度产生较大的影响[16-17].

    针对WKNN算法的问题,有研究使用卷积神经网络(convolutional neural network, CNN)来学习参考点与目标点的指纹特征[18-20],得益于CNN在特征分类方面具有很好的效果,使用CNN能够更加精准地对目标点与参考点进行匹配,相比于WKNN在精度方面有所提高. 文献[18]使用Wi-Fi信号强度作为指纹特征,采用CNN进行指纹匹配,平均定位误差为1.05 m.文献[19]使用CSI的时频矩阵作为定位特征,采用CNN对指纹特征进行匹配,将定位建模成一个分类问题,平均定位误差为1.3654 m.文献[20]采用深度CNN对Wi-Fi CSI图像进行匹配,得到目标点位置,在实验室环境中的平均定位误差为1.7882 m.但是现有CNN会对每个通道赋予相同的权重,不能有效地突出重要特征,使最终提取的特征表达能力不强,并且对于混合指纹特征,不能很好地捕获混合特征之间的相互依赖关系,无法最大限度地发挥混合指纹的优势,降低后续指纹特征匹配的准确度,进而影响定位精度.

    本文针对上述问题,提出一种基于ECA-CNN的混合指纹室内定位方法(hybrid fingerprint indoor localization method based on ECA-CNN, ECACon-HF),主要贡献有3点:

    1) 使用可见光强度和BLE RSSI构建混合特征指纹,降低BLE指纹不稳定对定位精度的影响,并且增强不同位置指纹特征的区分度,提升指纹匹配的正确率,进而提高定位精度. 本文采用的可见光强度无需使用可见光通信技术获取,大大降低了设备复杂度.

    2) 在CNN中引入高效通道注意力(efficient channel attention, ECA)模块,构建ECA-CNN定位模型,将目标点与各参考点进行匹配.ECA模块可以自适应地提取指纹中的重要信息,增强特征表达能力,抑制环境干扰等无效特征;并且ECA模块通过跨通道交互策略显式建模通道之间的相互依赖关系,捕获沿通道方向信息量最大的特征表示,融合可见光指纹与BLE指纹中的位置关联性,充分发挥混合指纹的优势,提高指纹特征匹配的正确率.

    3) 搭建实验环境,构建可见光强度和BLE RSSI混合特征指纹数据集,并在该数据集上验证了本文所提方法ECACon-HF的有效性. 实验结果表明,ECACon-HF在混合指纹上的定位精度高于在单一指纹上的定位精度,并且ECACon-HF相比其他室内定位方法,定位精度具有明显优势.

    在使用混合特征指纹方面,文献[9]使用Wi-Fi信号的RSS和CSI混合特征构建指纹,并使用克拉美-罗下界(Cramer-Rao lower bound, CRLB)证明了增加指纹类型能够提高定位精度,实验结果表明使用混合特征比使用单一特征定位精度提高了20.3%. 文献[10]使用地磁场和光强的混合指纹,并使用深度长短期记忆网络进行指纹匹配,在走廊和实验室环境下分别做了实验,实验室环境的精度大于走廊环境的精度,该文献还做了仅使用地磁数据的定位实验,证明了使用混合指纹的定位精度高于使用单一指纹的定位精度. 但是不同位置之间可见光和地磁场的指纹特征区分度不够,定位精度未能达到1 m以内,并且该文献需要处理信号序列中的时间相关性,增加了时间复杂度. 文献[11]提出了一种结合BLE和Wi-Fi的定位方法,并且在KNN的基础上提出了一种新的定位算法,称为i-KNN. i-KNN算法首先根据BLE设备与Wi-Fi RSS的距离对初始Wi-Fi数据集进行过滤,然后再使用KNN算法对过滤后的Wi-Fi指纹进行匹配,该文献并没有使用Wi-Fi与BLE构建混合特征指纹,并且Wi-Fi和BLE信号稳定性较差的问题仍然没有得到解决,该文方法的定位误差仍然在2 m以上. 文献[21]提出Magicol系统,将磁场强度和Wi-Fi RSSI结合起来构建指纹图用于定位和跟踪. 但是由于使用KNN方法进行指纹匹配会存在较大误差以及Wi-Fi信号的不稳定,该文方法中90%的定位误差在3 m以上. 文献[22]提出了一种磁场与可见光混合指纹图和一种鲁棒的扩展粒子群优化算法,但是80%的误差仅在1.7 m以内.

    在使用CNN进行在线指纹匹配方面,文献[18]实现基于CNN的室内定位方法,该文献使用Wi-Fi RSSI指纹,并且使用一种基于连续小波变换的特征提取方法,平均定位误差为1.05 m. 文献[19]提出了第1个基于CNN的Wi-Fi定位算法ConFi,该文献中CSI组织成一个类似于图像的时频矩阵,并用作定位的特征,ConFi将定位建模为一个分类问题,平均定位误差为1.365 4 m. 文献[20]提出了第1个采用深度CNN进行室内定位的系统CiFi,该系统从5 GHz Wi-Fi中提取CSI的相位数据用于估计到达角,创建估计到达角图像来训练深度CNN,平均定位误差为1.788 2 m. 文献[23]提出了一种基于CNN的Wi-Fi指纹识别方法,以解决基于深度神经网络的方法对接收信号波动(由多径引起)的敏感性,该文献中的实验证明了该方法的性能优于基于深度神经网络的方法. 文献[24]使用地磁场构建指纹数据库,并使用CNN计算位置,CNN将用户收集的地磁场数据与数据库匹配,并且设计了一种投票机制来组合来自多个CNN的预测,并最终估计用户的位置. 文献[25]使用CSI作为指纹图像来表达Wi-Fi信号的空间和时间特征,同时,提出了一种基于CNN和双因子增强变分贝叶斯自适应卡尔曼滤波器的室内定位算法,在复杂的室内环境下,利用时变测量噪声和过程噪声实现精确的位置估计. 文献[26]通过计算来自重要贡献Wi-Fi接入点的不同RSSI比率构建比率指纹,然后将比率指纹和RSSI相结合构建混合指纹,以增强室内环境特征的表达. 此外,还构建了一个CNN体系结构,用于从复杂的混合指纹中学习室内位置的重要特征. 使用CNN进行指纹匹配的方法仍然存在对指纹中的重要特征表达不突出的问题,导致指纹匹配的准确度降低,影响定位精度.

    ECA模块可以应用于特征分类、目标检测、实例分割等领域. 文献[27]提出了一种新的高效通道注意力深度密集卷积神经网络用于对胃镜图像食管疾病进行分类,使用ECA加强网络中的特征传播,以突出和提取与不同类型病变之间细微差异相关的特征. 文献[28]提出了一种有效用于小脑分割的通道注意U-Net算法,该算法加入ECA模块增强特征表示,抑制无效特征,并在不影响性能的前提下,大大减少了模型参数的数量. 文献[29]提出一种多目标跟踪方法,在主干网络中引入ECA模块,可以自适应地提取图像中的重要信息,提高目标检测的准确度.

    本文提出的方法ECACon-HF,首先利用可见光强度和BLE RSSI构建混合指纹,降低BLE指纹不稳定的影响,并解决单一指纹位置特征区分度低的问题;同时,在CNN中引入ECA模块,构建ECA-CNN定位模型,增强混合指纹特征表达能力,更有效地利用混合指纹优势,从而提高指纹特征匹配的正确率. ECACon-HF的总体框架如图1所示.

    图  1  ECACon-HF总体框架
    Figure  1.  Overall framework of ECACon-HF

    在指纹融合阶段,利用可见光强度与BLE RSSI融合构建混合指纹增强不同位置之间的特征差异性. 本文将可见光强度与BLE RSSI融合成2通道的混合指纹,以便ECA模块能够有效地捕获通道之间的相互依赖关系,提取可见光指纹与BLE指纹中的位置关联性,充分发挥混合指纹的优势. 在目标点与参考点匹配阶段,通过训练好的ECA-CNN模型得到与目标点最匹配的k个参考点,对与目标点最匹配的k个参考点坐标进行加权平均,计算出目标点坐标.

    可见光强度区别于可见光通信信号,它具有稳定性高且特征易采集的特性,但不同位置之间的特征区分度不强.BLE RSSI特征相比于CSI特征具有数据易处理和易采集的特性,同时在不同位置之间具有较高的区分度,但BLE信号易受环境影响,具有较强的波动性. 本文提出使用可见光强度和BLE RSSI构建混合特征指纹. 一方面,在混合指纹当中,有效利用可见光强度的稳定性,可以弥补BLE RSSI值波动对定位精度造成的影响;另一方面,通过使用混合特征可以增加特征维度,增强不同位置之间的特征差异性,从而改善仅使用单一可见光强度带来的不同位置之间区分度低的问题,进而提高CNN模型的定位精度,减小定位误差. 具体指纹融合方法为:

    1)将某位置的可见光光照强度数据表示为(l1, l2, …, lα),其中α为LED灯的个数,li表示第i个LED灯在该位置处的光强度,i=1, 2, …, α.

    2)将该位置的BLE RSSI数据表示为(b1, b2, …, bβ),其中β为BLE信标的个数,bj表示第j个BLE信标在该位置处的信号强度,j=1, 2, …, β.

    3)利用同一位置下采集到的可见光光照强度数据与BLE RSSI数据融合构建混合指纹FF表示为:

    {\boldsymbol{F}} = \left( {\left( {{l_1},{l_2},…,{l_\alpha }} \right)} \right.,\left. {\left( {{b_1},{b_2},…,{b_\beta }} \right)} \right) . (1)

    我们将可见光强度与BLE RSSI融合成2通道混合指纹数据,这样能够通过跨通道交互策略更加有效地获取通道之间的相互依赖关系,捕获沿通道方向信息量最大的特征表示,获取可见光指纹与BLE指纹中的位置关联性,充分发挥混合指纹的优势,使提取出来的特征具有更强的表达能力.

    为了评估混合指纹的稳定性,我们在实验场地采集了20个位置的指纹数据,即BLE RSSI数据和可见光强度数据,每个位置的样本数为10. 同时根据ECACon-HF方法构建BLE RSSI和可见光强度的混合指纹数据. 我们首先对每个样本中的数据取平均值,再计算每个位置10个样本平均值的方差,用于表示各位置指纹的稳定性. 从图2可以看出,由于可见光强度具有很高的稳定性,每个位置可见光强度指纹的方差都是最小的. 每个位置混合指纹的方差都要小于BLE指纹的方差,代表混合指纹比BLE指纹稳定,这是因为可见光强度稳定性较高,将其与BLE RSSI混合能够使混合指纹的稳定性整体高于BLE指纹.

    图  2  BLE指纹与混合指纹稳定性对比图
    Figure  2.  Stability comparison chart of BLE fingerprint and mixed fingerprint

    为了评估混合指纹的位置特征差异性,定义矩阵DD中的元素为\xi 个不同位置之间指纹的欧氏距离,D的表示如式(2)所示.

    {\boldsymbol{D}} = \left( {\begin{array}{*{20}{c}} {{d_{11}}}& \cdots& {{d_{1\xi }}} \\ \vdots &{\quad} &\vdots \\ {{d_{\xi 1}}} &\cdots& {{d_{\xi \xi }}} \end{array} } \right) , (2)

    其中dij表示位置i与位置j之间指纹的欧氏距离.

    我们同样使用这20个位置的指纹数据,通过式(2)分别针对BLE RSSI指纹、可见光强度指纹与BLE RSSI和可见光强度的混合指纹构建矩阵D的热力图,结果如图3所示. 从图3(a)可以看出,部分位置之间具有较高的特征差异性,说明BLE RSSI指纹具有一定的特征区分度;而图3(b)中不同位置之间的特征差异性较小,说明可见光强度指纹特征区分度不够明显. 从图3(c)中可以看出,BLE RSSI和可见光强度的混合指纹在大部分位置之间具有较大的差异性,只有很少部分的位置之间差异性较小,混合指纹的特征区分度要大于BLE RSSI指纹和可见光强度指纹. 因此,使用混合指纹能够增加不同位置之间的特征差异性.

    图  3  3种指纹下的矩阵D的热力图
    Figure  3.  Heat map of matrix D under three fingerprints

    ECA作为通道注意力的一种,是对挤压与激发网络(squeeze-and-excitation networks, SENet)的改进. ECA使用一种不降维的局部跨通道交互策略,该策略通过快速1维卷积有效实现,在保证性能的同时显著降低模型的复杂度[30].

    ECA的结构如图4所示. 首先,使用全局平均池化(global average pooling, GAP)获得聚合特征. 然后使用卷积核大小为K的1维卷积实现局部跨通道交互,这里K的大小决定跨通道交互的覆盖范围,K的大小是由通道数C自适应确定的,KC之间存在一个映射关系,如式(3)和式(4)所示.

    图  4  ECA结构图
    Figure  4.  Structure diagram of ECA
    C = \varPhi (K) = {2^{yK - b}} , (3)
    K = \varPsi (C) = \left| {\frac{{{\mathrm{lb}} C}}{\gamma } + \frac{b}{\gamma }} \right|_{{\mathrm{odd}}} , (4)

    其中γb为自定义参数,分别设置为γ = 2和b = 1,|\cdot|_{\mathrm{odd}}表示距离最近的奇数. 最后通过Sigmoid函数得到通道权重,将生成的通道权重与输入特征逐元素相乘得到带有注意力的特征.

    可见光强度和BLE RSSI的混合指纹融合了可见光与BLE的优势,比如混合指纹的稳定性更好、特征区分度更高,同时也会带有二者的一些劣势,比如BLE信号易受干扰而不稳定,会使混合指纹中带有环境干扰等无效特征,传统CNN在指纹匹配阶段无法对这些无效特征进行抑制,同时也不能对混合指纹的位置特征相关性进行表示. 针对这一问题,本文将ECA模块引入到CNN中,构建ECA-CNN定位模型,如图5所示.

    图  5  ECA-CNN模型结构
    Figure  5.  ECA-CNN model structure

    我们将2通道可见光强度和BLE RSSI的混合指纹作为ECA-CNN模型的输入,该模型包含4层卷积层,卷积核的大小为5×5,每个卷积层使用修正线性单元(rectified linear unit, ReLU)作为激活函数,在每个卷积层后面添加ECA模块,为每一层卷积层提取的特征添加通道注意力,2通道混合指纹经过4层卷积之后通道数分别变为16,32,64,128. 使用一层全连接层作为模型的输出层,并将全连接层的输出结果使用Softmax函数处理,得到目标点与各参考点的匹配概率. Softmax函数输出第i个参考点与目标点之间的匹配概率Pi,如式(5)所示.

    {P_i} = \dfrac{{{{\mathrm{e}}^{{z_i}}}}}{{\sum\limits_{n = 0}^R {{{\mathrm{e}}^{{z_n}}}} }} , (5)

    其中R为参考点个数,zi为全连接层中第i个参考点处的输出. 对于ECA-CNN模型的训练,使用Adam优化器以及交叉熵损失函数,选出与目标点最匹配的k个参考点r1,r2,…,rk,这些参考点与目标点之间的匹配概率分别为P1,P2,…,Pk,分别计算这k个参考点的权值,第μ个参考点的权值Wμ的计算如式(6)所示.

    {W_\mu } = \frac{{{P_\mu }}}{{\sum\limits_{j = 0}^k {{P_j}} }} . (6)

    根据上述k个参考点,计算目标点的位置坐标,如式(7)所示.

    \begin{aligned} & x = \sum\limits_{j = 0}^{k} {{W_j}{x_j^{'}}} ,\\&y = \sum\limits_{j = 0}^k {{W_j}{y_j^{'}}} , \end{aligned} (7)

    其中x_j^{'}y_j^{'}为第j个参考点的坐标值. 使用计算得到的目标点坐标(x, y)与目标点真实坐标(xδ, yδ)的欧氏距离来评估该点的定位误差,误差计算如式(8)所示:

    err = {\left| {(x,y) - ({x_\delta },{y_\delta })} \right|_2} = \sqrt {{{(x - {x_\delta })}^2} + {{(y - {y_\delta })}^2}} . (8)

    ECA模块能够增强指纹特征的表达能力,自适应地提取混合指纹中的重要信息,捕获沿通道方向信息量最大的特征. 基于此,我们将可见光强度与BLE RSSI分通道融合成2通道混合指纹,因此能够更有效地提取可见光强度指纹与BLE RSSI指纹中的位置关联性,充分发挥混合指纹的优势,提高指纹特征匹配的正确率,进而提高定位精度.

    ECACon-HF的工作流程如图6所示,该流程包括离线阶段和在线阶段.

    图  6  ECACon-HF的总体工作流程图
    Figure  6.  Overall work flow chart of ECACon-HF

    1)在离线阶段,从待定位场地采集参考点处可见光强度和BLE RSSI数据构建混合指纹,并使用参考点坐标对混合指纹进行标记,将ECA模块加入CNN中构建ECA-CNN定位模型,再用标记好的混合指纹训练ECA-CNN模型.

    2)在在线阶段,使用离线阶段训练的ECA-CNN模型对目标点与参考点进行匹配. 首先采集目标点的可见光强度和BLE RSSI数据,可见光强度与BLE RSSI数据融合构建目标点的混合指纹,将混合指纹输入离线阶段训练的ECA-CNN模型得到与目标点最匹配的一组参考点,对这组参考点的坐标进行加权平均得到目标点坐标.

    算法1给出了ECACon-HF的伪代码.

    算法1. ECACon-HF.

    1)离线阶段

    输入:根据2.1节构建的参考点可见光强度与BLE RSSI混合指纹F.

    ① 通过卷积操作提取指纹特征;

    ② 通过ECA模块为提取的指纹特征计算通道权重,对特征进行通道加权得到带有注意力的特征;

    ③ 获得训练好的ECA-CNN定位模型.

    2)在线阶段

    输入:根据本文2.1节构建的目标点可见光强度与BLE RSSI混合指纹F

    输出:目标点坐标(x, y) .

    ① ECA-CNN定位模型得到目标点与各参考点的匹配程度,z=cnn_modelF);

    ② Softmax函数将匹配程度转化成匹配概率,P = Softmax(z);

    ③ 选择与目标点之间匹配概率最大的前k个参考点r1,r2,…,rk

    ④ 根据式(6)计算这k个参考点的权值W1,W2,…,Wk

    ⑤ 根据式(7)和式(8)计算目标点坐标(x, y) 和该目标点处的定位误差err.

    为了评估本文所提出的定位方法的性能,如图7所示,在某研讨室进行了数据采集和定位实验. 选择房间内4.8 m×4 m大小的区域作为定位区域,在房顶布置6个LED灯和4个BLE节点,房间高2.7 m. 如图8所示,在定位区域选取20个参考点,参考点之间间隔1 m,选取15个测试点,测试点与参考点不重合.

    图  7  LED灯和BLE节点分布图
    Figure  7.  LED light and BLE nodes distribution diagram
    图  8  参考点和测试点分布图
    Figure  8.  Distribution diagram of reference points and test points

    使用标智GM1040B照度计测量可见光强度,使用iPhone 11手机测量BLE RSSI.对于每一个参考点,采集100个样本数据;对于每一个测试点,采集40个样本数据.

    基于3.1节所述的实验环境中获取的参考点与测试点的测量数据,分别构建单一可见光强度指纹库、单一BLE RSSI指纹库和可见光强度与BLE RSSI的混合指纹库. 可见光强度数据是在无环境光干扰的情况下采集的,考虑到实际情况中可见光强度容易受日照、时间等因素影响,本文通过给可见光强度增加高斯噪声,构建了有干扰的单一可见光强度指纹库以及有干扰的可见光强度与BLE RSSI的混合指纹库,进行实验.

    在可见光强度无干扰的情况下,采用ECACon-HF方法分别基于单一可见光强度指纹、单一BLE RSSI指纹、可见光强度与BLE RSSI的混合指纹进行定位,3组实验的累计误差分布对比如图9所示. 由实验结果可知,使用单一BLE RSSI指纹时,仅有35%的定位误差小于等于1 m;采用单一可见光强度指纹和混合指纹时均能100%达到定位误差小于等于1 m;而采用单一可见光强度指纹时,有81%定位误差小于等于0.3 m,使用混合指纹时,85%的定位误差小于等于0.3 m. 混合指纹定位精度整体高于单一可见光强度指纹.

    图  9  无干扰情况下混合指纹与单一指纹定位结果对比
    Figure  9.  Comparison of localization results of mixed fingerprint and single fingerprint without interference

    表1为在可见光强度无干扰的情况下使用3种指纹时的平均定位误差和最大定位的误差的对比. 从实验结果可以看出,使用混合指纹时平均定位误差为0.316 m,相比于单一使用可见光强度指纹时的0.325 m和单一使用BLE RSSI指纹时的1.509 m,分别减小了3%和 79%. 使用混合指纹时最大定位误差为0.705 m,其值与使用可见光指纹时的基本一致,相比于单一使用BLE RSSI指纹时的4.321 m减小了83%.

    表  1  无干扰情况下不同指纹定位误差对比
    Table  1.  Comparison of Different Fingerprint Localization Errors Without Interference m
    指纹类型平均误差最大误差
    BLE RSSI指纹1.5094.321
    可见光强度指纹(无干扰)0.3250.702
    混合指纹(无干扰)(本文)0.3160.705
    下载: 导出CSV 
    | 显示表格

    在可见光强度有干扰的情况下,我们进行了混合指纹与单一指纹的对比实验,实验结果如图10所示. 从图10可知,混合指纹相比于单一指纹的定位结果差别较大,优势更加明显,使用混合指纹时能100%达到定位误差小于等于1 m,而使用单一可见光指纹时仅有89%的定位误差在1 m以下;在高精度方面,使用混合指纹67%的定位误差都小于等于0.3 m,而使用单一可见光指纹仅有49%的定位误差小于等于0.3 m.

    图  10  有干扰情况下混合指纹与单一指纹定位结果对比
    Figure  10.  Comparison of localization results between mixed fingerprint and single fingerprint with interference

    有干扰条件下的不同指纹定位实验平均定位误差和最大定位误差如表2所示. 从实验结果可以看出,使用混合指纹时平均定位误差为0.406 m,相比于单一使用可见光强度指纹时的0.547 m和使用BLE RSSI指纹时的1.509 m,分别减小了26%和73%. 使用混合指纹时最大定位误差为0.824 m,相比于使用可见光强度指纹时的1.461 m和使用BLE RSSI指纹时的4.321 m分别减小了44%和81%.

    表  2  有干扰下不同指纹定位误差对比
    Table  2.  Comparison of Different Fingerprint Localization Errors with Interference m
    指纹类型平均误差最大误差
    BLE RSSI指纹1.5094.321
    可见光强度指纹(有干扰)0.5471.461
    混合指纹(有干扰)(本文)0.4060.824
    下载: 导出CSV 
    | 显示表格

    综上所述,在可见光强度无干扰的情况下,可见光强度较为稳定,从而导致定位模型在提取混合指纹特征时BLE RSSI特征所产生的影响很小,最终混合指纹的定位结果具有优势,但和单一可见光强度指纹的定位结果接近. 在可见光强度有干扰的情况下,基于指纹作用的互补特性,混合指纹的定位优势更为明显,结果均优于单一指纹的定位效果.

    为了验证使用混合指纹是否会增加计算复杂度,导致定位延迟增大,我们给出了使用不同类型的指纹在无干扰情况下进行定位的执行时间,如表3所示. 可以看出使用混合指纹时的执行时间和使用单一指纹时的执行时间相近,由此可以说明使用混合指纹不会导致计算复杂度大幅度增加.

    表  3  不同指纹下的执行时间
    Table  3.  Execution Time Under Different Fingerprints s
    指纹类型执行时间
    BLE RSSI指纹4.264
    可见光强度指纹(无干扰)4.281
    混合指纹(无干扰)(本文)4.283
    下载: 导出CSV 
    | 显示表格

    本节分别为ECA-CNN模型设置不同的参数进行试验. 本节及以后的实验中均采用无干扰的指纹数据. 首先比较不同的迭代次数对实验结果的影响,如表4所示,我们分别对比了迭代次数为100,200,300,400时的结果. 从实验结果中可以看到,迭代200次时定位误差最小,并且在迭代200次时模型的损失就可以降到最小,因此本文对ECA-CNN模型的训练选用200次迭代.

    表  4  不同迭代次数的影响
    Table  4.  Influence of Different Iterations
    迭代次数平均误差/m最大误差/m
    1000.3631.131
    2000.3160.705
    3000.3320.803
    4000.3610.824
    注:加粗数字表示最优值.
    下载: 导出CSV 
    | 显示表格

    此外,我们还做了对比实验,比较了不同的卷积核大小对实验结果的影响,如表5所示,我们分别将卷积核大小设置为2×2,2×3,2×5,2×6,3×3,5×5. 从实验结果中可以看出,卷积核大小为5×5时定位误差最小,并且5×5大小的卷积核能够使指纹数据的大小保持不变,因此本文将ECA-CNN模型的卷积核大小设置为5×5.

    表  5  不同卷积核大小的影响
    Table  5.  Influence of Different Convolution Kernel Sizes
    卷积核大小平均误差/m最大误差/m
    2×20.3590.821
    2×30.3980.824
    2×50.3860.824
    2×60.3550.823
    3×30.3500.824
    5×50.3160.705
    注:加粗数字表示最优值.
    下载: 导出CSV 
    | 显示表格

    最后,我们还比较了卷积层的数量对实验结果的影响,如表6所示,我们令卷积层的数量分别为2,3,4,5,6. 从实验结果可以看出,4层卷积层的定位误差最小,因此本文采用4层卷积层.

    表  6  不同卷积层数量的影响
    Table  6.  Influence of Different Number of Convolution Layers
    卷积层数量平均误差/m最大误差/m
    20.3420.822
    30.3400.823
    40.3160.705
    50.3580.955
    60.3630.824
    注:加粗数字表示最优值.
    下载: 导出CSV 
    | 显示表格

    本节使用ECACon-HF分别与不引入注意力的CNN定位方法和引入自注意力的CNN定位方法进行比较.

    首先,为了证明ECA模块的有效性,分别使用ECACon-HF与不引入注意力的CNN定位方法在混合指纹上进行了实验,实验结果如表7所示. ECACon-HF的平均定位误差和最大定位误差都要小于不引入注意力的CNN定位方法. 说明在CNN中引入ECA模块能够自适应地提取混合指纹中的重要信息,增强特征表达能力,抑制指纹中的环境干扰等无效特征. 并且能够通过跨通道交互策略捕获通道之间的相互依赖关系,更有效地提取可见光强度指纹与BLE RSSI指纹中的位置关联性,充分发挥混合指纹的优势,提高指纹特征匹配的正确率,进而提高定位精度.

    表  7  ECACon-HF与CNN、引入自注意力的CNN对比
    Table  7.  Comparison of ECACon-HF, CNN and CNN with Introducing Self Attention m
    对比模型平均误差最大误差
    CNN0.3410.796
    CNN+自注意力0.3570.823
    ECACon-HF(本文)0.3160.705
    下载: 导出CSV 
    | 显示表格

    其次,将ECACon-HF与引入自注意力的CNN定位方法进行对比,自注意力机制是注意力机制的改进,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性. 实验结果如表7所示,由于将2种指纹混合后指纹内部的相关性不能很好地表示指纹的位置特征,而本文在CNN中引入ECA模块,并将可见光强度指纹与BLE RSSI指纹进行分通道混合,因此能有效提取可见光与BLE之间的位置关联性,充分发挥混合指纹的优势,因此ECACon-HF具有更高的定位精度.

    本节将ECACon-HF与其他定位方法进行对比,为了避免由于采用不同指纹特征对精度产生的影响,所有实验结果均基于本文构建的可见光强度和BLE RSSI混合指纹库进行测试统计.

    首先将ECACon-HF与传统KNN方法、WKNN方法的定位结果进行对比,3种方法的误差累计分布如图11所示. 实验结果表明,KNN与WKNN 55%的误差小于等于1 m,而ECACon-HF测试误差均在1 m以内. 在高精度方面,KNN与WKNN都只有16%的误差小于等于0.3 m,与ECACon-HF 85%小于等于0.3 m的定位误差对比差距很大.ECACon-HF相比于KNN和WKNN定位精度都有很大的提升.

    图  11  ECACon-HF与KNN和WKNN的误差累计分布对比
    Figure  11.  Comparison of error cumulative distribution among ECACon-HF, KNN and WKNN

    其次本文将ECACon-HF与其他基于CNN的室内定位方法进行对比. 基于本文构建的无干扰混合指纹库,分别采用ECACon-HF、文献[18]中的方法、ConFi方法[19]以及CiFi方法[20]对测试点进行定位误差统计,这4种方法的累计误差分布如图12所示. 实验结果表明,文献[18]、ConFi以及ConFi分别仅有83%,84%,87%的误差小于等于1 m,相比于ECACon-HF,没有达到100%的小于等于1 m的定位精度. 同时,ECACon-HF能够达到85%的定位误差小于等于0.3 m,而文献[18]、ConFi以及ConFi分别仅有49%,59%,53%的定位误差小于等于0.3 m. ECACon-HF的定位精度相比其他3种CNN定位方法,在定位精度方面提升显著.

    图  12  ECACon-HF与其他基于CNN方法的误差累计分布对比
    Figure  12.  Comparison of error cumulative distribution among ECACon-HF and other CNN based methods

    表8为各定位方法在3种指纹上的平均误差和最大误差对比. ECACon-HF在混合指纹上的平均定位误差为0. 316 m, KNN和WKNN在混合指纹上的平均定位误差分别为1. 090 m和1. 089 m,ECACon-HF的平均定位误差相比于它们减小了71%. 不引入ECA模块的CNN定位方法平均定位误差为0. 341 m,ECACon-HF相比于它减少了7%. 文献[18]、ConFi和CiFi均基于本文所构建的混合指纹库,平均定位误差分别为0. 576 m,0. 569 m,0. 633 m,ECACon-HF的平均定位误差相比于这3种方法分别减少了46%,45%,51%. 在最大误差方面,ECACon-HF在混合指纹上的定位误差要明显小于其他方法. 由此可见,在混合指纹库上,ECACon-HF具有相对的鲁棒性.

    表  8  各方法在3种指纹上的平均误差与最大误差对比
    Table  8.  Comparison of Average Error and Maximum Error of Each Method on Three Fingerprints m
    对比方法 混合指纹 可见光强度指纹 BLE RSSI指纹
    无干扰 有干扰 无干扰 有干扰
    平均误差 最大误差 平均误差 最大误差 平均误差 最大误差 平均误差 最大误差 平均误差 最大误差
    KNN 1.090 3.256 1.104 3.329 0.339 0.707 0.425 1.217 1.591 4.326
    WKNN 1.089 3.261 1.103 3.326 0.339 0.707 0.425 1.217 1.599 4.343
    ConFi 0.569 2.115 0.629 2.121 0.377 1.108 0.505 1.536 1.483 4.425
    CiFi 0.633 2.113 0.660 2.121 0.402 0.825 0.513 1.437 1.497 4.040
    文献[18]的方法 0.576 1.962 0.705 3.143 0.358 1.073 0.480 1.399 1.576 4.718
    CNN 0.341 0.796 0.452 1.210 0.358 1.043 0.564 1.922 1.480 4.709
    ECACon-HF(本文) 0.316 0.705 0.406 0.824 0.325 0.702 0.547 1.461 1.509 4.321
    下载: 导出CSV 
    | 显示表格

    进一步分析表明,虽然ECACon-HF在无干扰情况下,单一可见光指纹和混合指纹的最大定位误差接近;但在有干扰的情况下,ECACon-HF对混合指纹处理后的最大误差仍控制在1 m以内,相比有干扰的单一可见光指纹,最大定位误差减小了44%. 同时,当可见光强度在有干扰的情况下,上述各方法的最大定位误差相比无干扰情况均有所增加. 其中定位精度较高的方法中,ECACon-HF的最大定位误差相比无干扰指纹增加了14.4%,而CNN方法增加了34.2%,文献[18]增加了37.6%;而在混合指纹上定位精度较低的KNN,WKNN,ConFi,CiFi等方法,由于对混合指纹特征不敏感,最大定位误差没有明显差异. 由此可以看出,指纹在受到干扰的影响下,对具有高定位精度的模型会产生较大影响,但ECACon-HF相比于其他方法对混合指纹的抗干扰处理具有明显优势.

    综上所述,ECACon-HF针对混合指纹库的定位精度比单一指纹库更具优势. 同时,基于混合指纹库,ECACon-HF不论是相比于传统KNN与WKNN,还是其他基于CNN的室内定位方法,定位精度均得到了提升.

    本文提出一种基于ECA-CNN的混合指纹室内定位方法(ECACon-HF). 首先,利用可见光强度和BLE RSSI混合指纹有效降低了BLE指纹不稳定的影响,并增强了不同位置间的特征差异性. 其次,将ECA模块加入CNN中构建ECA-CNN定位模型,可以自适应地提取混合指纹中的重要信息,增强特征表达能力,抑制指纹中的环境干扰等无效特征,并且能够更有效地提取可见光强度指纹与BLE RSSI指纹中的位置关联性,充分发挥混合指纹的优势. 通过实验验证了所提方法的有效性,ECACon-HF在本文构建的混合指纹库上可以达到0.316 m的定位精度,高于单一指纹上的定位精度,并且ECACon-HF相比其他室内定位方法的定位精度具有明显优势. 从本文实验结果中可以看出,在无干扰情况下,可见光强度指纹的定位精度较高,但如何避免环境对可见光强度的干扰是个问题,因此未来我们将考虑使用强化学习控制环境中的可见光强度,使光强度稳定,减少自然光与遮挡对光强度的影响进而降低可见光定位的应用场景限制.

    作者贡献声明:王正康负责论文撰写、实验和模型方案设计和算法的提出;骆冰清负责模型方案设计和算法的提出,并对论文提出修改意见.

  • 图  1   基于网络流量的私有协议逆向技术框架

    Figure  1.   Architecture of private protocol reverse engineering based on network traffic

    图  2   现有基于网络流量的私有协议逆向技术分类结构

    Figure  2.   Classification structure of private protocol reverse engineering based on network traffic

    表  1   协议报文聚类方法概述

    Table  1   Summary of Protocol Packets Clustering

    面向目标文献协议类型相似度计算方法聚类算法对比分析
    面向协议格式的报文聚类文献[25,35]文本类基于最长公共子序列 长度度量凝聚层次聚类算法计算简单,引入最长公共子序列相似度计算方法,但相似度计算并不能反映整个报文结构.
    文献[36]通用基于语义信息的改进序列比对算法基于语义信息的改进UPGMA算法考虑协议报文的语义信息较为准确,但语义信息采集较为复杂,语义信息为自定义.
    文献[37]通用基于字段概率分布信息度量UPGMA算法创新性利用概率模型生成的字段分布信息计算报文相似度.
    文献[38]文本类基于ProWord产生的报文分段点度量粗糙集划分算法创新性引入粗糙集划分算法,但相似度计算过分依赖ProWord算法分段点.
    面向协议种类的报文聚类文献[40]通用基于TFD相似度的改进序列对比算法参数指导的DBSCAN
    聚类算法
    实现不同类型协议报文之间的聚类,但同一类型报文间相似度差距不大.同时仅考虑报文头部字节序列计算相似度存在一定的争议,并不合适.
    下载: 导出CSV

    表  2   协议报文分段方法概述

    Table  2   Summary of Protocol Packets Segmentation

    分段方法文献协议类型方法基础分段算法对比分析
    基于信息论投票的报文分段文献[39]通用词内熵与词边界熵基于信息熵的无监督专家投票算法创新性引入无监督的专家投票算法,但计算时间复杂度较高,且针对二进制类协议效果不明显.
    文献[41]二进制类字节信息熵与互信息考虑字节间的互信息熵,结合字节间信息熵规律性,分段点选取更加合理.但针对二进制协效果不明显,且不同种类协议信息熵规律性易变,不能作为准则.
    文献[42]二进制类字节信息熵基于最近邻聚类算法决定分段点考虑字节间的相似度,结合聚类算法,但计算时间复杂度较高,且产生的分段点可靠性不高.
    基于决策模型的报文分段文献[43]通用隐半马尔可夫模型基于隐半马尔可夫模型的最大似然概率估计创新性引入隐半马尔可夫模型,且对噪声有一定的容忍度,但频繁序列会对结果造成一定的影响.
    文献[45]二进制类贝叶斯决策模型基于序列比对算法的贝叶斯空位分段点决策估计创新性引入贝叶斯决策估计,但其极度依赖于序列比对算法,部分分段点无法正确得到.
    文献[46-47]二进制类时间序列突变点检测基于时间序列多累积和的报文分段点检测算法创新性引入时间序列突变点检测算法,但计算较为复杂,需要正序列、反序列2次检测.
    基于比特结构的报文分段文献[48]二进制类位一致性基于多种位一致性值序列极大值点决定分段点创新性引入位一致性,计算简单,但位一致性缺乏实际理论证明.
    文献[49]二进制类位翻转频率基于位翻转率极大值点决定分段点只针对简单的二进制协议较为有效,更适合物联网协议分析.
    下载: 导出CSV

    表  3   协议格式推断方法概述

    Table  3   Summary of Protocol Format Inference

    推断方法方法基础文献协议类型推断算法对比分析
    基于序列
    比对的协议
    格式推断
    传统序列
    比对算法
    文献[25,52,54]通用基于SW相似度的渐进式
    NW序列比对算法
    创新性引入序列比对算法,但结果较为依赖对齐序列.
    文献[53]文本类基于NW序列比对算法只利用协议头部报文4个字节进行聚类,存在较多冗余,对齐结果并不准确.
    文献[55]文本类基于PI方法的增量式近
    实时协议格式推断算法
    其核心采用PI方法,推断基本协议格式,采用增量形式完善格式,但实时分析受网络环境限制,无法真正应用.
    优化对齐
    规则的序列
    比对算法
    文献[57]通用基于字段类型的NW
    序列比对算法
    基于字段的序列比对算法,对齐更加合理,但针对二进制类协议效果不明显.
    文献[58]通用基于TF-IDF与位置信息的
    DiAlign多序列比对算法
    对候选协议字段进行了初步筛选,去除冗余,优化后续序列比对算法.
    优化对齐
    矩阵的序列
    比对算法
    文献[36]通用基于语义信息的NW
    序列比对算法
    将语义信息用于改进推断结果的准确率,但需要人工参与语义信息的收集,需要较多的先验知识.
    文献[60]二进制类基于Pair-HMM的NW
    序列比对算法
    对序列比对算法的匹配规则进行创新,考虑概率对齐由概率给出得分情况,降低特殊字段造成的对齐影响.
    文献[61]二进制类基于字段间不相似度的
    Hirschberg对齐算法
    创新性考虑字段间的不相似度以适配序列比对算法,度量报文间的不相似度,从而推断协议格式.
    基于概率
    统计的协议
    格式推断
    面向协议头部
    报文格式的
    常规概率统计
    文献[63]通用基于K-S统计检验的
    格式推断算法
    提取协议关键词与协议头部报文格式,为状态机推断做准备.
    文献[64]二进制类基于字节序列统计特征的
    格式推断算法
    创新性提出以状态转移概率图形式描述协议格式,以字节序列作为状态.
    面向协议
    关键词的
    常规概率统计
    文献[39]通用基于多维属性统一度量
    排序的关键词提取算法
    度量关键词的多维属性,统一标准化排序,但部分属性对分数度量影响很大,即未平衡各个属性所占权重.
    文献[65]二进制类基于报文分段点重定位的
    协议关键词提取算法
    核心采用ProWord方法对报文进行分段,该方法对二进制协议效果不明显,但使用重定位对分段点再次确认,适用于较为简单的工控协议.
    文献[4647]二进制类基于最小描述长度与位置信
    息的协议关键词提取算法
    创新性使用时间序列突变点检测算法对协议报文进行分段,并考虑位置信息提取协议关键词,但其较为依赖分段点的准确性,可能存在冗余.
    文献[66]通用基于聚类效果直观度量的
    协议关键词概率提取算法
    创新性对聚类效果建立直观度量模型,根据聚类效果筛选最优协议关键词,从而得到最佳的报文聚类簇,推断更准确的协议格式.
    基于LDA模型
    的概率统计
    文献[69]通用基于概率分布LDA模型的
    格式推断算法
    创新性以LDA模型提取协议关键词,协议关键词筛选较为准确完整,错误冗余字段较少.
    文献[70]文本类基于概率分布LDA模型的
    FP-Growth频繁项挖掘算法
    结合频繁项挖掘算法推断协议格式,时间复杂度较高,且针对协议较为简单,分析结果得到的二进制字段无意义.
    基于HMM
    模型的
    概率统计
    文献[71,74]文本类基于时间序列与状态分类
    构建最小化HMM模型
    创新性引入HMM模型,针对文本类效果较为明显,但其仅提取协议头部报文格式,并不完整.
    文献[72]通用基于最优化报文分段HsMM模型的协议格式推断采用基于HsMM模型的报文分段算法,结合AP聚类算法对协议报文进行聚类,最终推断协议格式.
    文献[73]通用基于统计信息与HsMM
    模型的协议关键词提取算法
    在使用HsMM模型建模前,对候选协议字段初步筛选,去除冗余,构建的HsMM模型更加简洁.
    基于频繁项
    挖掘的协议
    格式推断
    基于Apriori
    算法的挖掘
    文献[78]通用基于多支持度与位置信息
    的频繁项挖掘算法
    算法需要设置支持度较多,时间复杂度较高,但格式推断较为准确,推断的状态机不具有代表性.
    文献[79]文本类基于信息熵与多支持度的
    Apriori频繁项挖掘算法
    重点对文本类协议报文分隔符做了详细分类,以统计信息提取协议关键词.
    文献[8081]通用基于CSP算法的协议
    格式推断
    将协议字段划分为4种类型,并填充协议格式,但该格式不具有代表性.
    文献[82]二进制类基于多维度字段长度的
    Apriori频繁项挖掘算法
    以多种字段长度为基础挖掘频繁项,尽量减少未分段或过分段的协议关键词,但算法时间复杂度较高.
    基于FP-Growth算法
    的挖掘
    文献[83]通用基于信息熵分段与位置信
    息熵的频繁项挖掘算法
    核心采用ProWord方法对报文进行分段,在频繁项挖掘之前对候选协议字段进行过滤,但其无法挖掘到完整的协议格式.
    文献[84]文本类基于频繁项挖掘的CFSM
    算法与CFGM算法
    考虑挖掘协议关键词间的并列、顺序与层次关系,并使用树形结构予以表示.
    基于
    PrefixSpan
    算法的挖掘
    文献[85]二进制类基于频繁项挖掘的加密
    协议明文格式推断算法
    创新性提取加密协议明文格式,但基于位置偏移的协议关键词提取具有一定的局限性.
    引入多模式匹配的挖掘文献[8788]二进制类基于AC多模式匹配的
    FP-Growth频繁项挖掘算法
    针对无人机等简单二进制协议具有较高的可用性,无法适用文本协议.
    文献[89]二进制类基于AC多模式匹配的
    Apriori频繁项挖掘算法
    针对Apriori算法的时间复杂度大有改进,提高效率.
    基于深度
    学习的协议
    格式推断
    基于LSTM-FCN模型
    的推断
    文献[90]二进制类基于LSTM-FCN模型的
    深度学习算法
    创新性将深度学习算法引入协议逆向,定义5种字段类型,需要大量已知公开协议关键词结合时序关系训练模型,协议格式即为字段的识别划分.
    文献[92]二进制类定义6种字段类型,将协议报文分为多维度长度字段进行分类,针对未知协议格式推断具有一定可行性.
    下载: 导出CSV

    表  4   语义分析方法概述

    Table  4   Summary of Semantic Analysis

    分析
    方法
    文献环境参数相关语义标识性语义指示性语义特殊语义对比分析
    端口地址时间戳结点名参数计数器ID报文
    类型
    长度偏移量偏移
    指针
    校验码字符串常量加密
    字段
    枚举功能
    代码
    基于字段取值的语义分析文献[56] 需要基于正确的报文分段,构建数值集合,对数值集合间关系予以描述.
    文献[57]
    文献[9394]
    文献[95] 对特殊语义字段具有针对性的检测方法.
    文献[96]
    文献[65]
    文献[97]
    基于模板匹配的语义分析文献[25]需要正确先验知识构建语义模板,模板具有较低的兼容性.
    文献[62]
    文献[98]
    注:●表示该方法中提到的可推断字段语义种类.
    下载: 导出CSV

    表  5   协议状态机推理方法概述

    Table  5   Summary of Protocol State Machine Inference

    推理方法文献协议类型协议状态标记方法状态机构建方法状态机简化方法对比分析
    传统协议状态机推理文献[17]二进制类基于设定最大阈值
    的协议交互式
    基于宏聚类、微聚类
    2次聚类结果的相似
    状态合并
    构建状态机方法较为简单,其采用全协议会话,生成状态机庞大,对化简造成负担.
    文献[99]二进制类基于字节的VDV筛选状态相关字段进行报文类型划分基于协议状态分裂
    算法的协议交互式
    基于制定规则的协议
    状态机化简
    定义状态分裂算法,与字节的方差分布变化,但其采用滑动窗口机制,造成的时间复杂度较高.
    文献[35]文本类基于凝聚层次聚类的协议报文类型划分协议交互式基于报文流向与
    状态唯一性的协议
    状态机化简
    该方法推断仅仅是报文序列之间顺序模型,有违协议状态机原理,并不具有代表性.
    基于概率分析的协议状态机推理文献[63]通用基于PAM算法的协
    议状态报文筛选
    基于有向图的
    概率分析
    提出扩展的概率协议状态机,包含状态间的转换概率,但并未对协议状态机进行状态合并以化简.
    文献[18,100] 通用基于最近邻聚类的
    协议报文类型划分
    基于马尔可夫
    模型的概率分析
    Moore状态机
    最小化算法
    引入马尔可夫模型,并以此生成协议状态机,状态转换附带概率信息,但协议状态机模型较为复杂,化简并不完善.
    基于启发式树形构建的协议状态机推理文献[53,101]文本类基于普通树形的
    启发式构建
    基于状态等价
    原则的树剪枝
    在构建协议状态机之前对协议会话进行过滤,删除循环报文,初步简化.
    文献[102]文本类基于最近邻聚类的
    协议报文类型划分
    基于状态兼容性
    检测的状态合并
    引入状态兼容性原则,重点关注协议状态机的简化.
    文献[103]文本类基于PTA的协议
    报文类型划分
    基于PTA的启发式
    树形构建
    基于报文类型间因果
    关系的积极状态合并
    引入PTA区分报文类型与状态机构建,考虑报文类型间的因果关系更有助于状态合并.
    文献[104]通用基于Apriori算法
    与K-means算法的
    协议报文类型划分
    K-tail状态合并算法提出新型协议状态机,引入数据保护的概念,对协议状态机附加协议关键词间约束与协议报文间依赖等信息,使协议状态机更加完善,但同时造成推理的时间复杂度升高.
    下载: 导出CSV
  • [1] 中国互联网络信息中心. 第48次中国互联网络发展状况统计报告[R/OL]. (2021-08-27) [2021-10-12]. http://www.cnnic.net.cn/hlwfzyj/hlwxzbg/hlwtjbg/202108/P020210827326243065642.pdf

    China Internet Network Information Center. The 48th China statistical report on Internet development[R/OL]. (2021-08-27) [2021-10-12]. http://www.cnnic.net.cn/hlwfzyj/hlwxzbg/hlwtjbg/202108/P020210827326243065642.pdf (in Chinese)

    [2]

    Duchene J, Le Guernic C, Alata E, et al. State of the art of network protocol reverse engineering tools[J]. Journal of Computer Virology and Hacking Techniques, 2018, 14(1): 53−68 doi: 10.1007/s11416-016-0289-8

    [3] Sija B D, Goo Y H, Shim K S, et al. A survey of automatic protocol reverse engineering approaches, methods, and tools on the inputs and outputs view[J]. Security and Communication Networks, 2018, 2018: 8370341
    [4]

    Newsome J, Brumley D, Franklin J, et al. Replayer: Automatic protocol replay by binary analysis[C] //Proc of the 13th ACM Conf on Computer and Communications Security. New York: ACM, 2006: 311−321

    [5]

    Caballero J, Yin Heng, Liang Zhenkai, et al. Polyglot: Automatic extraction of protocol message format using dynamic binary analysis[C] //Proc of the 14th ACM Conf on Computer and Communications Security. New York: ACM, 2007: 317−329

    [6]

    Dupont P, Lambeau B, Dames C, et al. The QSM algorithm and its application to software behavior model induction[J]. Applied Artificial Intelligence, 2008, 22(1/2): 77−115

    [7]

    Caballero J, Poosankam P, Kreibich C, et al. Dispatcher: Enabling active botnet infiltration using automatic protocol reverse-engineering[C] //Proc of the 16th ACM Conf on Computer and Communications Security. New York: ACM, 2009: 621−634

    [8]

    Comparetti P M, Wondracek G, Kruegel C, et al. Prospex: Protocol specification extraction[C] //Proc of the 30th IEEE Symp on Security and Privacy. Piscataway, NJ: IEEE, 2009: 110−125

    [9]

    Wang Zhi, Jiang Xuxian, Cui Weidong, et al. ReFormat: Automatic reverse engineering of encrypted messages[C] //Proc of the 14th European Symp on Research in Computer Security. Berlin: Springer, 2009: 200−215

    [10] 应凌云,杨轶,冯登国,等. 恶意软件网络协议的语法和行为语义分析方法[J]. 软件学报,2011,22(7):1676−1689 doi: 10.3724/SP.J.1001.2011.03858

    Ying Lingyun, Yang Yi, Feng Dengguo, et al. Syntax and behavior semantics analysis of network protocol of malware[J]. Journal of Software, 2011, 22(7): 1676−1689 (in Chinese) doi: 10.3724/SP.J.1001.2011.03858

    [11] Caballero J, Song D. Automatic protocol reverse-engineering: Message format extraction and field semantics inference[J]. Computer Networks, 2013, 57(2): 451−474
    [12]

    Zeng Junyuan, Lin Zhiqiang. Towards automatic inference of kernel object semantics from binary code[C] //Proc of the 18th Int Symp on Research in Attacks, Intrusions and Defenses. Berlin: Springer, 2015: 538−561

    [13] 中国信息通信研究院, 工业互联网产业联盟. 2020年上半年工业互联网安全态势综述[EB/OL]. (2020-09-19) [2021-10-12]. http://www.caict.ac.cn/kxyj/qwfb/qwsj/202009/P020200919706881804206.pdf

    The China Academy of Information and Communications Technology, Alliance of Industrial Internet. The overview of industrial Internet security situation in the first half of 2020[EB/OL]. (2020-09-19) [2021-10-12]. http://www.caict.ac.cn/kxyj/qwfb/qwsj/202009/P020200919706881804206.pdf (in Chinese)

    [14]

    IETF. RFC 8922: A Survey of the Interaction Between Security Protocols and Transport Services[S/OL]. (2019-10-04) [2021-10-12]. https://datatracker.ietf.org/doc/rfc8922/?include_text=1

    [15]

    Kleber S, Maile L, Kargl F. Survey of protocol reverse engineering algorithms: Decomposition of tools for static traffic analysis[J]. IEEE Communication Surveys and Tutorials., 2019, 21(1): 526−561 doi: 10.1109/COMST.2018.2867544

    [16]

    Cho C Y, Babic D, Shin E C R, et al. Inference and analysis of formal models of botnet command and control protocols[C] //Proc of the 17th ACM Conf on Computer and Communications Security. New York: ACM, 2010: 426−439

    [17]

    Leita C, Mermoud K, Dacier M. ScriptGen: An automated script generation tool for honeyd[C] //Proc of the 21st Annual Computer Security Applications Conf. Piscataway, NJ: IEEE, 2005: 203−214

    [18]

    Krueger T, Gascon H, Kramer N. Learning stateful models for network honeypots[C] //Proc of the 5th ACM Workshop on Security and Artificial Intelligence. New York: ACM, 2012: 37−48

    [19]

    Gascon H, Wressnegger C, Yamaguchi F, et al. PULSAR: Stateful black-box fuzzing of proprietary network protocols[C] //Proc of the 11th Int Conf on Security and Privacy in Communication Networks. Berlin: Springer, 2015: 330−347

    [20]

    Blumbergs B, Vaarandi R. Bbuzz: A bit-aware fuzzing framework for network protocol systematic reverse engineering and analysis[C] //Proc of the 36th IEEE Military Communications Conf. Piscataway, NJ: IEEE, 2017: 707−712

    [21]

    Kim J, Choi H, Namkung H, et al. Enabling automatic protocol behavior analysis for android applications[C] //Proc of the 12th Int on Conf on Emerging Networking Experiments and Technologies. New York: ACM, 2016: 281−295

    [22]

    Choi K, Son Y, Noh J, et al. Dissecting customized protocols: Automatic analysis for customized protocols based on IEEE 802.15.4[C] //Proc of the 9th ACM Conf on Security, Privacy in Wireless and Mobile Networks. New York: ACM, 2016: 183−193

    [23]

    Stute M, Kreitschmann D, Hollick M. Reverse engineering and evaluating the apple wireless direct link protocol[J]. GetMobile Mobile Computer and Communications, 2019, 23(1): 30−33 doi: 10.1145/3351422.3351432

    [24]

    Yang Zhi, Gou Xiantai, Jin Weidong, et al. Reverse engineering for UAV control protocol based on detection data[C] //Proc of the 2nd Int Conf on Multimedia and Image Processing. Piscataway, NJ: IEEE, 2017: 301−304

    [25]

    Ji Ran, Wang Jian, Tang Chaojing, et al. Automatic reverse engineering of private flight control protocols of UAVs[J]. Security and Communication Networks, 2017, 2017: 1308045

    [26]

    Wressnegger C, Kellner A, Rieck K. ZOE: Content-based anomaly detection for industrial control systems[C] //Proc of the 48th Annual IEEE/IFIP Int Conf on Dependable Systems and Networks. Piscataway, NJ: IEEE, 2018: 127−138

    [27]

    Marin E, Singelee D, Yang Bohan, et al. On the feasibility of cryptography for a wireless insulin pump system[C] //Proc of the 6th ACM on Conf on Data and Application Security and Privacy. New York: ACM, 2016: 113−120

    [28]

    Marin E, Singelee D, Yang Bohan, et al. Securing wireless neurostimulators[C] //Proc of the 8th ACM Conf on Data and Application Security and Privacy. New York: ACM, 2018: 287−298

    [29] 潘吴斌,程光,郭晓军,等. 网络加密流量识别研究综述及展望[J]. 通信学报,2016,37(9):154−167 doi: 10.11959/j.issn.1000-436x.2016187

    Pan Wubin, Cheng Guang, Guo Xiaojun, et al. Review and perspective on encrypted traffic identification research[J]. Journal on Communications, 2016, 37(9): 154−167 (in Chinese) doi: 10.11959/j.issn.1000-436x.2016187

    [30]

    Fukunaga K, Narendra P M. A branch and bound algorithm for computing k-nearest neighbors[J]. IEEE Transactions on Computers, 1975, 24(7): 750−753

    [31]

    Sokal R R, Michener C D. A statistical method of evaluating systematic relationships[J]. The University of Kansas Science Bulletin, 1958, 38(22): 1409−1438

    [32]

    Kaufman L, Rousseeuw P J. Partitioning around medoids[M] //Finding Groups in Data: An Introduction to Cluster Analysis. Hoboken, NJ: John Wiley & Sons, 2005: 68−125

    [33]

    Ester M, Kriegel H P, Sander J, et al. A density-based algorithm for discovering clusters in large spatial databases with noise[C] //Proc of the 2nd Int Conf on Knowledge Discovery and Data Mining. Palo Alto, CA: AAAI, 1996: 226−231

    [34]

    Frey B J, Dueck D. Clustering by passing messages between data points[J]. Science, 2007, 315(5814): 972−976 doi: 10.1126/science.1136800

    [35]

    Shevertalov M, Mancoridis S. A reverse engineering tool for extracting protocols of networked applications[C] //Proc of the 14th Working Conf on Reverse Engineering. New York: ACM, 2007: 229−238

    [36]

    Bossert G, Guihery F, Hiet G. Towards automated protocol reverse engineering using semantic information[C] //Proc of the 9th ACM Symp on Information, Computer and Communications Security. New York: ACM, 2014: 51−62

    [37]

    Luo Xin, Chen Dan, Wang Yongjun, et al. A type-aware approach to message clustering for protocol reverse engineering[J]. Sensors, 2019, 19(3): 716−729 doi: 10.3390/s19030716

    [38]

    Li Yihao, Hong Zheng, Feng Wenbo, et al. A message clustering method based on rough set theory[C] //Proc of the 4th Advanced Information Technology, Electronic and Automation Control Conf. Piscataway, NJ: IEEE, 2019: 1128−1133

    [39]

    Zhang Zhuo, Zhang Zhibin, Lee P P C, et al. Toward unsupervised protocol feature word extraction[J]. IEEE Journal on Selected Areas in Communications, 2014, 32(10): 1894−1906 doi: 10.1109/JSAC.2014.2358857

    [40]

    Sun Fanghui, Wang Shen, Zhang Chunrui, et al. Clustering of unknown protocol messages based on format comparison[J]. Computer Networks, 2020, 179: 107296

    [41]

    Sun Fanghui, Wang Shen, Zhang Chunrui, et al. Unsupervised field segmentation of unknown protocol messages[J]. Computer Communications, 2019, 146: 121−130

    [42]

    Jiang Dongxiao, Li Chenggang, Ma Lixin, et al. ABInfer: A novel field boundaries inference approach for protocol reverse engineering[C] //Proc of the 6th IEEE Int Conf on Big Data Security on Cloud (BigDataSecurity), IEEE Int Conf on High Performance and Smart Computing (HPSC), and IEEE Int Conf on Intelligent Data and Security (IDS). Piscataway, NJ: IEEE, 2020: 19−23

    [43] 黎敏,余顺争. 抗噪的未知应用层协议报文格式最佳分段方法[J]. 软件学报,2013,24(3):604−617

    Li Min, Yu Shunzheng. Noise-tolerant and optimal segmentation of message formats for unknown application-layer protocols[J]. Journal of Software, 2013, 24(3): 604−617 (in Chinese)

    [44]

    Yu Shunzheng. Hidden semi-Markov models[J]. Artificial Intelligence, 2010, 174(2): 215−243 doi: 10.1016/j.artint.2009.11.011

    [45]

    Tao Siyu, Yu Hongyi, Li Qing. Bit-oriented format extraction approach for automatic binary protocol reverse engineering[J]. IET Communications, 2016, 10(6): 709−716 doi: 10.1049/iet-com.2015.0797

    [46]

    Cai Jun, Luo Jianzhen, Ruan Jianliang, et al. Toward fuzz test based on protocol reverse engineering[C] //Proc of the 13th Int Conf on Information Security Practice and Experience. Berlin: Springer, 2017: 892−897

    [47]

    Luo Jianzhen, Shan Chun, Cai Jun, et al. IoT application-layer protocol vulnerability detection using reverse engineering[J]. Symmetry, 2018, 10(11): 561−574 doi: 10.3390/sym10110561

    [48]

    Kleber S, Kopp H, Kargl F. NEMESYS: Network message syntax reverse engineering by analysis of the intrinsic structure of individual messages[C/OL] //Proc of the 12th USENIX Workshop on Offensive Technologies. Berkeley, CA: USENIX Association, 2018 [2021-10-12]. https://www.usenix.org/conference/woot18/presentation/kleber

    [49]

    Marchetti M, Stabili D. READ: Reverse engineering of automotive data frames[J]. IEEE Transactions on Information Forensics and Security, 2019, 14(4): 1083−1097 doi: 10.1109/TIFS.2018.2870826

    [50]

    Needleman S B, Wunsch C D. A general method applicable to the search for similarities in the amino acid sequence of two proteins[J]. Journal of Molecular Biology, 1970, 48(3): 443−453 doi: 10.1016/0022-2836(70)90057-4

    [51]

    Smith T F, Waterman M S. Identification of common molecular subsequences[J]. Journal of Molecular Biology, 1981, 147(1): 195−197 doi: 10.1016/0022-2836(81)90087-5

    [52]

    Beddoe M A. Network protocol analysis using bioinformatics algorithms[EB/OL]. 2004 [2021-10-12]. http://phreakocious.net/PI/PI.pdf

    [53]

    Gorbunov S, Rosenbloom A. AutoFuzz: Automated network protocol fuzzing framework[J]. International Journal of Computer Science and Network Security, 2010, 10(8): 239−245

    [54]

    Razo S I V, Anaya E A, Ambrosio P J E. Reverse engineering with bioinformatics algorithms over a sound android covert channel[C] //Proc of the 11th Int Conf on Malicious and Unwanted Software (MALWARE). Piscataway, NJ: IEEE, 2016: 3−9

    [55]

    Zhang Xiaoming, Qiang Qian, Wang Weisheng, et al. IPFRA: An online protocol reverse analysis mechanism[C] //Proc of the 4th Int Conf on Cloud Computing and Security. Berlin: Springer, 2018: 324−333

    [56]

    Cui Weidong, Paxson V, Weaver N, et al. Protocol-independent adaptive replay of application dialog[C/OL] //Proc of the 13th Network and Distributed System Security Symp(NDSS). Piscataway, NJ: IEEE, 2006 [2021-10-12]. https://www.ndss-symposium.org/ndss2006/protocol-independent-adaptive-replay-application-dialog

    [57]

    Cui Weidong, Kannan J, Wang H J. Discoverer: Automatic protocol reverse engineering from network traces[C/OL] //Proc of the 16th USENIX Security Symp. Berkeley, CA: USENIX Association, 2007 [2021-10-12]. https://www.usenix.org/conference/16th-usenix-security-symposium/discoverer-automatic-protocol-reverse-engineering-network

    [58] Esoul O, Walkinshaw N. Using segment-based alignment to extract packet structures from network traces[C] //Proc of the 2017 IEEE Int Conf on Software Quality, Reliability and Security. Piscataway, NJ: IEEE, 2017: 398−409
    [59]

    Morgenstern B. DIALIGN 2: Improvement of the segment-to-segment approach to multiple sequence alignment[J]. Bioinformatics, 1999, 15(3): 211−218 doi: 10.1093/bioinformatics/15.3.211

    [60]

    Meng Fanzhi, Zhang Chunrui, Wu Guo. Protocol reverse based on hierarchical clustering and probability alignment from network traces[C] //Proc of the 3rd IEEE Int Conf on Big Data Analysis. Piscataway, NJ: IEEE, 2018: 443−447

    [61]

    Kleber S, Hejiden R W, Kargl F. Message type identification of binary network protocols using continuous segment similarity[C] //Proc of the 39th IEEE Conf on Computer Communications. Piscataway, NJ: IEEE, 2020: 2243−2252

    [62]

    Kleber S, Kargl F. Poster: Network message field type recognition[C] //Proc of the 2019 ACM SIGSAC Conf on Computer and Communications Security. New York: ACM, 2019: 2581−2583

    [63] Wang Yipeng, Zhang Zhibin, Yao Danfeng, et al. Inferring protocol state machine from network traces: A probabilistic approach[C] //Proc of the 9th Int Conf on Applied Cryptography and Network Security. New York: ACM, 2011: 1−18
    [64]

    Wang Yipeng, Li Xingjian, Meng Jiao, et al. Biprominer: Automatic mining of binary protocol features[C] //Proc of the 12th Int Conf on Parallel and Distributed Computing, Applications and Technologies. Berlin: Springer, 2011: 179−184

    [65]

    Wang Xiaowei, Lv Kezhi, Li Bo. IPART: An automatic protocol reverse engineering tool based on global voting expert for industrial protocols[J]. International Journal of Parallel, Emergent and Distributed Systems, 2020, 35(3): 376−395 doi: 10.1080/17445760.2019.1655740

    [66]

    Ye Yapeng, Zhang Zhuo, Wang Fei, et al. NETPLIER: Probabilistic network protocol reverse engineering from message traces[C/OL] //Proc of the 28th Network and Distributed Systems Security Symp(NDSS). Piscataway, NJ: IEEE, 2021 [2021-10-12]. https://www.ndss-symposium.org/ndss-paper/netplier-probabilistic-network-protocol-reverse-engineering-from-message-traces/

    [67] Blei D M, Yg A Y, Jordan M I. Latent Dirichlet allocation[J]. Journal of Machine Learning Research, 2003, 3: 993−1022
    [68]

    Baum L E, Petrie T. Statistical inference for probabilistic functions of finite state Markov chains[J]. The Annals of Mathematical Statistics, 1966, 37(6): 1554−1563 doi: 10.1214/aoms/1177699147

    [69]

    Wang Yipeng, Yun Xiaochun, Shafiq M Z, et al. A semantics aware approach to automated reverse engineering unknown protocols[C/OL] //Proc of the 20th IEEE Int Conf on Network Protocols. Piscataway, NJ: IEEE, 2012 [2021-10-12]. https://ieeexplore.ieee.org/document/6459963

    [70]

    Li Haifeng, Shuai Bo, Wang Jian, et al. Protocol reverse engineering using LDA and association analysis[C] //Proc of the 11th Int Conf on Computational Intelligence and Security. New York: ACM, 2015: 312−316

    [71]

    Whalen S, Bishop M, Crutchfield J P. Hidden Markov models for automated protocol learning[C] //Proc of the 6th Int ICST Conf on Security and Privacy in Communication Networks. Berlin: Springer, 2010: 415−428

    [72]

    Cai Jun, Luo Jianzhen, Lei Fangyuan. Analyzing network protocols of application layer using hidden semi-Markov model[J]. Mathematical Problems in Engineering, 2016, 2016: 9161723

    [73]

    Li Baichao, Yu Shunzheng. Keyword mining for private protocols tunneled over websocket[J]. IEEE Communications Letters, 2016, 20(7): 1337−1340

    [74]

    He Yunhua, Shen Jialong, Xiao Ke, et al. A sparse protocol parsing method for IIoT protocols based on HMM hybrid model[C] //Proc of the 2020 IEEE Int Conf on Communications. Piscataway, NJ: IEEE, 2020: 1−6

    [75]

    Agrawal R, Srikant R. Fast algorithms for mining association rules[C] //Proc of the 20th VLDB Conf. New York: ACM, 1994: 487−499

    [76] Han Jiawei, Pei Jian, Yin Yiwen. Mining frequent patterns without candidate generation[C] //Proc of the 2000 ACM SIGMOD Int Conf on Management of Data. New York: ACM, 2000: 1−12
    [77]

    Pei Jian, Han Jiawei, Mortazavi-Asl B, et al. Mining sequential patterns by pattern-growth: The PrefixSpan approach[J]. IEEE Transactions on Knowledge and Data Engineering, 2004, 16(11): 1424−1440 doi: 10.1109/TKDE.2004.77

    [78]

    Luo Jianzhen, Yu Shunzheng. Position-based automatic reverse engineering of network protocols[J]. Journal of Network and Computer Application, 2013, 36(3): 1070−1077 doi: 10.1016/j.jnca.2013.01.013

    [79]

    Lee M S, Goo Y H, Shim K S, et al. A method for extracting static fields in private protocol using entropy and statistical analysis[C/OL] //Proc of the 20th Asia-Pacific Network Operations and Management Symp. Piscataway, NJ: IEEE, 2019 [2021-10-12]. https://ieeexplore.ieee.org/document/8893038

    [80]

    Shim K S, Goo Y H, Lee M S, et al. Inference of network unknown protocol structure using CSP(contiguous sequence pattern) algorithm based on tree structure[C/OL] //Proc of the 2018 IEEE/IFIP Network Operations and Management Symp. Piscataway, NJ: IEEE, 2018 [2021-10-12]. https://ieeexplore.ieee.org/document/8406311

    [81]

    Goo Y H, Shim K S, Lee M S, et al. Protocol specification extraction based on contiguous sequential pattern algorithm[J]. IEEE Access, 2019, 7: 36057−36074

    [82] 秦中元,陆凯,张群芳,等. 一种二进制私有协议字段格式划分方法[J]. 小型微型计算机系统,2019,40(11):2318−2323 doi: 10.3969/j.issn.1000-1220.2019.11.014

    Qin Zhongyuan, Lu Kai, Zhang Qunfang, et al. Approach of field format extraction in binary private protocol[J]. Journal of Chinese Computer Systems, 2019, 40(11): 2318−2323 (in Chinese) doi: 10.3969/j.issn.1000-1220.2019.11.014

    [83] Li Gaochao, Qiang Qian, Wang Zhonghua, et al. Protocol keywords extraction method based on frequent item-sets mining[C] //Proc of the 2018 Int Conf on Information Science and System. New York: ACM, 2018: 53−58
    [84]

    Lin Peihong, Hong Zheng, Wu Lifa, et al. Protocol format extraction based on an improved CFSM algorithm[J]. China Communications, 2020, 17(11): 156−180 doi: 10.23919/JCC.2020.11.014

    [85] 朱玉娜,韩继红,袁霖,等. SPFPA: 一种面向未知安全协议的格式解析方法[J]. 计算机研究与发展,2015,52(10):2200−2211 doi: 10.7544/issn1000-1239.2015.20150568

    Zhu Yuna, Han Jihong, Yuan Lin, et al. SPFPA: A format parsing approach for unknown security protocols[J]. Journal of Computer Research and Development, 2015, 52(10): 2200−2211 (in Chinese) doi: 10.7544/issn1000-1239.2015.20150568

    [86]

    Aho A V, Corasick M J. Efficient string matching: An aid to bibliographic search[J]. Communications of the ACM, 1975, 18(6): 333−340 doi: 10.1145/360825.360855

    [87]

    Wang Yong, Zhang Nan, Wu Yanmei, et al. Protocol formats reverse engineering based on association rules in wireless environment[C] //Proc of the 12th IEEE Int Conf on Trust, Security and Privacy in Computing and Communications. Piscataway, NJ: IEEE, 2013: 134−141

    [88]

    Ji Ran, Li Haifeng, Tang Chaojing. Extracting keywords of UAVs wireless communication protocols based on association rules learning[C] //Proc of the 12th Int Conf on Computational Intelligence and Security. Berlin: Springer, 2016: 309−313

    [89]

    Hei Xinhong, Bai Binbin, Wang Yichuan, et al. Feature extraction optimization for bitstream communication protocol format reverse analysis[C] //Proc of the 18th IEEE Int Conf on Trust, Security and Privacy in Computing and Communications. Piscataway, NJ: IEEE, 2019: 662−669

    [90] Zhao Rui, Liu Zhaohui. Analysis of private industrial control protocol format based on LSTM-FCN model[C] //Proc of the 2020 Int Conf on Aviation Safety and Information Technology. New York: ACM, 2020: 330−335
    [91]

    Karim F, Majumdar S, Darabi H, et al. LSTM fully convolutional networks for time series classification[J]. IEEE Access, 2018, 6: 1662−1669

    [92]

    Yang Chenglong, Fu Cao, Qian Yekui, et al. Deep learning-based reverse method of binary protocol[C] //Proc of the 1st Int Conf on Security and Privacy in Digital Economy. Berlin: Springer, 2020: 606−624

    [93]

    Bermudez I, Tongaonkar A, Iliofotou M, et al. Automatic protocol field inference for deeper protocol understanding[C/OL] //Proc of the 14th IFIP Networking Conf. Piscataway, NJ: IEEE, 2015 [2021-10-12]. https://ieeexplore.ieee.org/document/7145307

    [94]

    Bermudez I, Tongaonkar A, Iliofotou M, et al. Towards automatic protocol field inference[J]. Computer Communications, 2016, 84: 40−51

    [95]

    De Carli L, Torres R, Modelo-Howard G, et al. Botnet protocol inference in the presence of encrypted traffic[C/OL] //Proc of the 36th IEEE Conf on Computer Communications. Piscataway, NJ: IEEE, 2017 [2021-10-12]. https://ieeexplore.ieee.org/document/8057064

    [96]

    Ladi G, Buttyan L, Holczer T. Message format and field semantics inference for binary protocols using recorded network traffic[C/OL] //Proc of the 26th Int Conf on Software, Telecommunications and Computer Networks. Piscataway, NJ: IEEE, 2018 [2021-10-12]. https://ieeexplore.ieee.org/document/8555813

    [97] 张蔚瑶,张磊,毛建瓴,等. 未知协议的逆向分析与自动化测试[J]. 计算机学报,2020,43(4):653−667 doi: 10.11897/SP.J.1016.2020.00653

    Zhang Weiyao, Zhang Lei, Mao Jianling, et al. An automated method of unknown protocol fuzzing test[J]. Chinese Journal of Computers, 2020, 43(4): 653−667 (in Chinese) doi: 10.11897/SP.J.1016.2020.00653

    [98] Wang Qun, Sun Zhonghua, Wang Zhangquan, et al. A practical format and semantic reverse analysis approach for industrial control protocols[J]. Security and Communication Networks, 2021, 2021: 6690988
    [99]

    Trifilo A, Burschka S, Biersack E. Traffic to protocol reverse engineering[C/OL] //Proc of the 2009 IEEE Symp on Computational Intelligence in Security and Defense Applications. Piscataway, NJ: IEEE, 2009 [2021-10-12]. https://ieeexplore.ieee.org/document/5356565

    [100]

    Krueger T, Kramer N, Rieck K. ASAP: Automatic semantics-aware analysis of network payloads [C] //Proc of Privacy and Security Issues in Data Mining and Machine Learning (Workshop of the 21st Int ECML/14th PKDD). Berlin: Springer, 2010: 50−63

    [101]

    Hsu Y, Shu Guoqiang, Lee D. A model-based approach to security flaw detection of network protocol implementations[C] //Proc of the 16th IEEE Int Conf on Network Protocols. Piscataway, NJ: IEEE, 2008: 114−123

    [102]

    Lee C, Bae J, Lee H. PRETT: Protocol reverse engineering using binary tokens and network traces[C] //Proc of the 33rd IFIP Int Conf on ICT Systems Security and Privacy Protection. Piscataway, NJ: IEEE, 2018: 141−155

    [103]

    Antunes J, Neves N, Verissimo P. Reverse engineering of protocols from network traces[C] //Proc of the 18th Working Conf on Reverse Engineering. New York: ACM, 2011: 169−178

    [104]

    Lin Yingdar, Lai Yukuen, Bui Quantien, et al. ReFSM: Reverse engineering from protocol packet traces to test generation by extended finite state machines[J]. Journal of Network and Computer Applications, 2020, 171: 102819

    [105]

    Wang Yipeng, Yun Xiaochun, Zhang Yongzheng, et al. Rethinking robust and accurate application protocol identification[J]. Computer Networks, 2017, 129(P1): 64−78

    [106]

    Liu Kaizheng, Yang Ming, Ling Zhen, et al. On manually reverse engineering communication protocols of Linux-based IoT systems[J]. IEEE Internet of Things Journal, 2021, 8(8): 6815−6827 doi: 10.1109/JIOT.2020.3036232

  • 期刊类型引用(2)

    1. 闫锋,苏忠允. 基于时频域融合和ECA-1DCNN的航空串联故障电弧检测. 科学技术与工程. 2024(05): 1937-1945 . 百度学术
    2. 徐双,文永新,刘文斌,李佳龙,李灯熬,赵菊敏. 融合多层注意力机制与CNN-LSTM的反向散射信道预测. 小型微型计算机系统. 2024(09): 2278-2284 . 百度学术

    其他类型引用(3)

图(2)  /  表(5)
计量
  • 文章访问数:  621
  • HTML全文浏览量:  113
  • PDF下载量:  262
  • 被引次数: 5
出版历程
  • 收稿日期:  2021-06-28
  • 修回日期:  2021-11-30
  • 网络出版日期:  2023-02-10
  • 刊出日期:  2022-12-31

目录

/

返回文章
返回