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]. 为了解决这些问题,大量智能交通系统(intelligent transportation systems,ITSs)被广泛地部署,用于城市交通感知和监控[2]. 例如,澳大利亚新南威尔士州构建交通流量监控系统(taffic volume viewer system, TVVS)[3],部署超过600个交通感知站点. 然而,由于设备故障、数据传输和系统供电等问题,感知数据缺失问题在ITSs中普遍存在[4]. 例如,文献[5]统计分析发现,澳大利亚TVVS系统中约25%的站点感知数据缺失率超过60%,严重影响该系统的正常使用. 因此,准确实时地恢复大规模ITSs缺失感知数据对实现智慧城市的智能交通至关重要.

    本文提出基于边缘智能计算的大规模交通缺失感知数据恢复系统,既利用大量不同交通站点感知数据之间的相关性,又利用部署在感知站点附近的边缘节点强大的计算处理能力,从而实现大规模交通感知数据的精确自适应恢复. 但是,要实现该系统,需要解决2方面的挑战:

    1) 高计算复杂性的边缘节点部署. 边缘节点部署,既需要考虑部署在不同交通感知站点的成本与收益各不相同,还与交通感知数据分配策略紧密相关,从而使边缘节点最优部署问题更加复杂,在2.2节被证明是NP-hard问题. 所以,如何解决这个高计算复杂性问题以实现最优部署非常具有挑战性.

    2) 高时空动态的感知数据相关性. 交通感知数据的时空相关性具有动态性、时变性和复杂性,经常受道路拓扑、感知站点位置、天气以及社会事件等多方面因素的影响[6]. 因此,如何基于该动态的、时变的、难建模的时空相关性实现感知数据的精确恢复非常具有挑战性. 进一步地,数据之间的相关性影响各个交通感知站点的数据分配策略,如当感知数据之间的相关性较差时,需要增加边缘节点的分配数据量,以保证数据恢复的鲁棒性. 但是感知数据之间的高时空动态相关性使保证感知数据恢复精度的鲁棒性非常困难.

    为了解决上述2个挑战,本文提出基于边缘智能计算的城市交通感知数据自适应恢复系统,主要包括2部分:

    1) 具有理论下界的边缘节点次优部署分配. 针对挑战1,首先,通过问题等价转化,解耦边缘节点部署和感知数据分配之间的复杂关系. 然后,通过理论证明该问题具有非负的、单调的和子模的目标函数,以及p-独立系统的约束条件. 最后,基于该问题的性质分析,提出基于子模理论的边缘节点次优部署算法,能够在多项式时间复杂度内获得具有理论下界的近似最优解.

    2) 基于低秩理论的感知数据自适应精确恢复. 针对挑战2,首先,基于实际交通感知数据集,对感知数据进行时空维度的低秩分析;然后,基于该分析结果,提出基于低秩理论的时空维度联合数据恢复算法;最后,针对感知数据相关性的高时空动态变化,提出基于奇异值分解的感知数据非缺失下限估计. 基于该下限估计反馈,自适应地调整各交通感知站点的感知数据分配比例,以保证感知数据的精确恢复,从而提高系统数据恢复性能的鲁棒性.

    综上所述,本文主要具有3方面的创新和贡献:

    1) 提出基于边缘智能计算的城市交通感知数据自适应恢复系统,既利用基于子模优化理论的边缘计算,又利用基于低秩理论的智能计算,还基于非缺失下限估计反馈,自适应地调整交通站点感知数据分配比例,从而实现交通感知数据的“闭环”处理,提高系统的鲁棒性.

    2) 针对边缘节点部署NP-hard问题,基于子模优化理论,通过问题解耦转化和性质分析,提出近似比为1/(2+max的边缘节点次优部署分配算法,其中{c_{js}}表示任意一个边缘节点{e_s}部署在任意一个感知站点{\lambda _j}处的成本. 同时,提出缺失交通感知数据的自适应恢复算法,利用基于低秩理论的感知数据恢复,以及基于奇异值分解的非缺失下限估计反馈调整,实现缺失感知数据的自适应精确恢复.

    3) 基于澳大利亚600个交通感知站点1年的实际感知数据构建原型系统,并基于该系统进行全面且深入的实验评估. 结果表明,所提算法的边缘节点部署性能达到最优性能的90%以上,缺失数据恢复精度比3种方法至少提高43. 8%. 同时,自适应数据恢复精度平均提高40. 3%.

    为保障智能交通系统的正常运行,促进智慧城市的进一步发展,大量工作开始致力于研究城市交通感知数据的精确恢复. 因此本文提出了基于边缘智能计算的城市交通感知数据自适应恢复系统,所以下面将主要介绍交通感知数据恢复和边缘节点部署方面的研究工作.

    1) ITSs交通感知数据恢复. 智能交通系统在城市化进程不断深入的当下起着越来越重要的作用,然而交通感知数据的普遍缺失却极大地影响了ITSs的效用,为此越来越多的研究工作开始致力于交通感知数据的精确恢复. 例如,文献[7]利用真实数据和仿真数据,同时结合生成式对抗网络对交通感知数据进行恢复. 文献[8]中以高速公路交通数据为例,提出了一种数据融合方法,通过挖掘感知数据内在特性以重构缺失数据. 文献[9]中通过将交通感知数据恢复问题建模为一个高维张量补全问题,并采用奇异值分解来进一步了解感知数据的内在联系,以达到缺失数据补全的目的. 文献[4]将城市交通感知区域建模成一个具有时空相关性的张量,同时结合交通感知数据的城市特性完成对缺失数据的填补. 文献[10]中提出一种联合空间多核学习和非负矩阵分解的策略机制,去补全缺失感知数据. 该机制充分考虑了多感知区域间多层面的相关性,使得其能获得一个较好的数据恢复精度. 有别于文献[4, 7-10]的工作,本文提出基于边缘智能计算的城市交通感知数据自适应恢复系统,实现了交通感知数据的自适应动态精确恢复.

    2) 边缘计算中的节点部署. 由于感知数据恢复存在规模庞大和计算密集等问题,本文提出通过边缘计算来解决这一难题,充分利用边缘服务器强大的计算能力来完成对感知数据及时精准的恢复. 目前,也有很多其他关于边缘计算应用的研究. 例如,文献[11-12]中提出利用云端服务器和边缘节点协同处理任务;文献[13]中研究多个边缘节点协作优化任务卸载和服务缓存,以达到降低整体任务时延的目的;文献[14]中提出利用边缘计算来存储整理车辆的道路感知信息,以此为无人驾驶汽车提供及时准确的道路信息,确保驾驶的安全;文献[15]中研究了云服务和端服务之间通过事件机制进行的服务适配,并结合图论和排队论方法实现了服务的平均响应时间最小. 此外,关于边缘节点的相关研究也有很多,例如文献[16-17]中研究了关于节点部署成本最小的问题,文献[18-20]中也研究了在站点容量约束和带宽约束下最小化边缘节点部署成本的问题. 本文提出的部署方案主要为处理缺失感知数据而提出,对每个边缘节点都有一定的数据上传量下限要求. 因此,前人的研究成果并不适用于本文的研究. 虽然文献[5]中提出了一种边缘节点部署和数据恢复算法,但是没有考虑数据恢复结果对于边缘节点处的反馈. 与该工作不同,本文提出一种基于边缘智能计算的缺失感知数据自适应恢复系统,基于恢复结果的反馈,自适应调整恢复过程,从而保证数据恢复精度,提高系统恢复的鲁棒性.

    为解决大规模ITSs系统的感知数据缺失问题,本文提出基于边缘智能计算的大规模交通缺失感知数据动态自适应恢复系统模型架构,主要包括交通感知站点、边缘节点和云服务器.

    1) 交通感知站点. 在智能交通系统中,交通感知站点被部署在城市的各条道路或其交叉路口上,感知和监测道路实时的交通信息,如车流量、车速等[21] . 假设有N个站点,用{\lambda _i}表示第i个站点,其中i \in \{ 1, 2, … ,N\}. 此外,用{w_i}表示{\lambda _i}的感知数据规模大小. 表1给出本文主要数学符号说明.

    表  1  主要数学符号的说明
    Table  1.  Main Mathmatics Notations Description
    符号符号含义
    N,{\lambda _i},{w_i}交通站数量、第i个交通站点和其数据量
    S,{e_s},{d_s}边缘节点数量、第s个边缘节点和其容量上限
    {x_{js}},{c_{js}}表示边缘节点{e_s}是否被部署到交通站点{\lambda _j}和其部署成本
    {l_{ij}},{y_{ij}} {\lambda _i} 是否在{\lambda _j}覆盖范围内、分配数据量比例
    {\boldsymbol{x} },{\boldsymbol{y} }{\boldsymbol{x} } = ({x_{js} }){\boldsymbol{y} } = ({y_{ij} })
    \mathcal{G},\mathcal{A}交通站点和边缘节点配对集、可行的配对集
    { {\boldsymbol{M} }_{js} },{m_j}在交通站点{\lambda _j}处边缘节点{e_s}的缺失矩阵及其非缺失下限
    下载: 导出CSV 
    | 显示表格

    2) 边缘节点. 所有交通感知数据被传送至边缘节点进行缺失数据恢复处理. 考虑到部署的便捷性及部署成本问题,边缘节点将被部署在交通感知站点处. 假设共有S个边缘节点,用{e_s}表示第s个边缘节点,其中s \in \{ 1, 2, … ,S\}. 用{x_{js}} = 1或0表示边缘节点{e_s}是否被部署到交通站点{\lambda _j}处,{x_{js}} = 1表示被部署,否则{x_{js}} = 0. 每个节点的部署需耗费一定成本,用{c_{js}}表示边缘节点{e_s}部署到交通站点{\lambda _j}的成本. 不同的边缘节点有不同的计算存储容量,用{d_s}表示{e_s}的计算存储容量. 此外,用{y_{ij}}表示交通站点{\lambda _i}传输到部署在{\lambda _j}处边缘节点的数据比例,即{y_{ij}} \in [0,1]. 为方便处理,在进行缺失数据恢复时,边缘节点首先将各个站点上传的感知数据整合成一个含缺失数据的矩阵,即缺失矩阵,用 {{\boldsymbol{M}}_{js}} 表示{\lambda _j}处边缘节点e_s 整合的缺失矩阵. 同时,为保证恢复精度,缺失矩阵的元素缺失程度不能太大,即传送到边缘节点的非缺失感知数据量需满足一定下限,用{m_j}表示{\lambda _j}处边缘节点整合矩阵的非缺失下限. 特别地,矩阵非缺失下限值与矩阵的秩大小密切相关,具体见3.2.2节. 此外,由于外界因素,如环境、天气、节假日等的影响,感知数据矩阵的秩也将随之变化,进一步地将影响到数据最后的恢复精度. 为保证在变动的外界因素下,缺失数据的恢复精度依然能满足一定要求,边缘节点将依据恢复结果计算相应非缺失下限值,并基于非缺失下限值调整各交通站点的感知数据分配比例,以保证感知数据的自适应精确恢复. 此外,为提高恢复效率,边缘节点应能同时处理尽可能多的感知数据.

    3) 云服务器. 云服务器在整个系统中主要有2个功能: ①管理和控制边缘节点. 连接所有边缘节点,并灵活高效地控制和管理各个交通感知站点和边缘节点之间的数据传输和调度[22]. 具体地,首先,所有边缘节点根据恢复结果,计算非缺失下限值,并将该值发送至云服务器;然后,云服务器根据各个边缘节点上传的非缺失下限值重新计算感知数据分配方案,并反馈回各个边缘节点;最后,边缘节点通知各个交通感知站点新的感知数据分配比例. ②复杂的大规模数据处理[23-25]. 当边缘节点恢复缺失感知数据之后,利用完整的交通感知数据进一步地进行复杂的大规模数据分析和挖掘,如基于深度学习的交通感知大数据态势分析和挖掘等[26-27].

    基于2.1节所述的系统模型,本文研究的问题主要包括:1) 如何在部署成本约束下设计边缘节点部署方案,提高部署性能使其能更好地服务感知数据恢复,即能同时处理尽可能多的感知数据. 2) 如何基于边缘节点部署实现感知数据的动态自适应恢复.

    1) 子问题P1——边缘节点的次优部署. 已知边缘节点的计算存储容量\{ {d_s}|s \in \{1,2,…,S\}\}和交通感知站点的感知数据规模\{ {w_i}|i \in \{1,2,…,N\}\},如何设计S个边缘节点部署到N个交通感知站点的部署策略{\boldsymbol{x}} = ({x_{js}}{\text{|}}\forall j \in \{ 1,2, … ,N\} , \forall s \in \{ 1,2, … ,S\} ),和N个交通感知站点传输到已部署边缘节点的感知数据量分配方案{\boldsymbol{y}} = ({y_{ij}}{\text{|}}\forall i,j \in \{ 1,2, … ,N\} ),以在总部署成本预算{C_0}约束下,最大化所有部署边缘节点处理总数据量,即交通感知站点总上传数据量.

    ({\text{P1}})\mathop {\max }\limits_{{\boldsymbol{x}},{\boldsymbol{y}}} {\text{ }}\mathop \sum \limits_{i = 1}^N \mathop \sum \limits_{j = 1}^N {w_i}{y_{ij}}, (1)
    {\rm{s.t.}}\;\sum\limits_{j = 1}^N {{y_{ij}}} \leqslant 1,\forall i \in \{ 1,2, … ,N\} , (2)
    \sum\limits_{j = 1}^N {{x_{js}}} \leqslant 1,\forall s \in \{ 1,2,… ,S\} , (3)
    \sum\limits_{i = 1}^N {{w_i}} {y_{ij}} \leqslant \sum\limits_{s = 1}^S {{x_{js}}} {d_s},\forall j \in \{ 1,2, … ,N\} , (4)
    \sum\limits_{i = 1}^N {{w_i}} {y_{ij}} \geqslant \mathop \sum \limits_{s = 1}^S {x_{js}}{m_j},\forall j \in \{ 1,2, … ,N\} , (5)
    \sum\limits_{s = 1}^S {\sum\limits_{j = 1}^N {{x_{js}}} } {c_{js}} \leqslant {C_0},\;\;\: (6)
    {y_{ij}} \leqslant {l_{ij}},\forall i,j \in \{ 1,2, …,N\} . (7)

    其中:式(1)中\displaystyle\sum \limits_{i = 1}^N \displaystyle\sum \limits_{j = 1}^N {w_i}{y_{ij}}表示所有部署边缘节点同时处理的总数据量;式(2)表示{\lambda _j}将部分或全部感知数据上传到边缘节点进行处理;式(3)表示1个边缘节点最多被部署到1个交通站点处;式(4)表示{\lambda _j}处边缘节点接收到的总处理数据量不超过其计算存储容量上限;式(5)表示{\lambda _j}处边缘节点整合的感知数据矩阵其缺失数据量要满足一定的下限约束,以避免因缺失程度太大而导致无法精确地恢复;式(6)表示所有边缘节点的总部署成本需满足成本预算限制,特别地,由于通信成本远小于部署成本[28],所以本文不考虑数据传输带来的成本;式(7)表示交通感知站点之间距离较远时,其数据之间的空间相关性比较弱,对缺失数据恢复作用非常小[29],为此,只考虑作用范围内的感知站点,用{l_{ij}} = 1(0)表示{\lambda _i}是否在{\lambda _j}的作用范围内,如果是,则{l_{ij}} = 1,否则{l_{ij}} = 0.

    2) 子问题P2——感知数据的自适应恢复. 如何基于边缘节点整合的缺失矩阵,通过矩阵中完整元素恢复缺失元素. 同时基于恢复结果,估计当前感知数据相关性程度,通过该相关性程度大小计算保证精确恢复所需的非缺失感知数据下限值,从而基于下限值调节感知站点上传至各边缘节点感知数据比例,达到动态自适应精确恢复的目的. 用T表示矩阵 {{\boldsymbol{M}}_{js}} 的元素个数,用{v_t} {\hat v_t} 分别表示该矩阵第t个元素的实际值和估计值,t\in \{1,2,…,T\} . 因此,感知数据恢复问题可描述为:如何设计矩阵恢复函数 {\varPhi _t}( \cdot ) ,使得所有缺失感知数据的估计值与真实值之间的误差最小,形式化表示为:

    ({\text{P2}})\mathop {\min }\limits_{{\varPhi _t}( \cdot )} {\text{ }}\frac{1}{T}\sum\limits_{t = 1}^T {\left| {{v_t} - {{\hat v}_t}} \right|} , (8)
    {\rm{s.t.}}\;{\hat v_t} = {\varPhi _t}({{\boldsymbol{M}}_{js}}),\forall t \in \{ 1,2,…,T\} . (9)

    其中:式(8)表示感知数据的估计误差,即平均绝对值误差[30];式(9)表示感知数据的估计恢复, {\varPhi _t}({{\boldsymbol{M}}_{js}}) 表示利用矩阵恢复函数,基于 {{\boldsymbol{M}}_{js}} 中所有非缺失数据估计其第t个元素的值. 同时,为达到动态自适应精确恢复的目的,还需依据P2恢复结果,更新非缺失下限值,以保证感知数据的恢复精度.

    定理1. 边缘节点的最优部署分配问题{\text{P1}}是NP-hard问题.

    证明. 当每个交通站点的感知数据量规模\{ {w_i}\} 足够大,远大于所有边缘节点的存储容量上限\{ {d_s}\}时,式(2)(5)可被松弛. 原问题简化为

    \begin{aligned} &\mathop {\max }\limits_{\boldsymbol{x}} {\text{ }}\mathop \sum \limits_{s = 1}^S \mathop \sum \limits_{j = 1}^N {x_{js}}{d_s},\\ &{\rm{s.t.}}\;\; 式(3)(6) .\end{aligned} (10)

    S个边缘节点与N个交通站点的所有配对看成S\times N个物品\{ (j,s)|\forall s \in \{ 1,2, … ,S\} ,\forall j \in \{ 1,2, … ,N\} \},并将每个节点的配对集合分为一组,共S组. 因此,原问题可规约为一个经典的0-1背包问题:已知每个物品(j,s)的价值和成本分别为{d_s}{c_{js}}, 如何从每组物品中至多选择1个物品,使在总成本{C_0}约束下最大化物品价值\displaystyle\sum \limits_{s = 1}^S \displaystyle\sum \limits_{j = 1}^N {x_{js}}{d_s}. 因为该0-1背包问题是NP-hard问题[31],所以,问题{\text{P1}}也是NP-hard问题,证毕.

    为了解决2.2节所述的子问题P1和P2,本文提出基于边缘智能计算的城市交通感知数据动态自适应恢复系统. 如图1所示,该系统基于交通感知站点中存在缺失的交通感知数据和交通感知站点的交通拓扑网络图,利用边缘智能计算进行感知数据的动态自适应恢复,从而得到精确完整的交通感知数据. 具体地,该系统主要包括2个模块:

    图  1  基于边缘智能计算的城市交通感知数据自适应恢复系统
    Figure  1.  Intelligent edge computing-empowered adaptive urban traffic sensing data recovery system

    1) 具有理论下界的边缘节点次优部署(3.1节). 首先,通过问题等价转化,在3.1.1节分析{\text{P1}}问题的目标函数和约束条件性质;然后,基于理论分析结果,在3.1.2节提出基于子模理论的边缘节点次优部署算法,在多项式时间内能获得该NP-hard问题的具有理论下界的近似最优解.

    2) 基于低秩理论的感知数据自适应恢复(3.2节). 首先,分析交通感知数据的时空维度近似低秩特性,在3.2.1节提出基于低秩理论的交通感知数据恢复算法;然后,基于恢复结果,在3.2.2节利用奇异值分解和矩阵自由度理论估计交通感知数据的非缺失下限,依据此下限值更新感知数据分配比例,保证感知数据的精确恢复.

    1) 问题等价转化. 问题P1包含2类决策变量,即边缘节点部署决策变量{\boldsymbol{x}}和感知数据分配变量{\boldsymbol{y}}. 用{{\boldsymbol{y}}^*}({\boldsymbol{x}})表示给定边缘节点部署规划{\boldsymbol{x}}的最优感知数据分配方案. 通过理论分析,可得引理1.

    引理1. 对于问题P1,如果给定边缘节点部署方案,能够在多项式时间内获得最优的感知数据分配方案{\boldsymbol{y}}.

    证明. 给定任意的边缘节点部署策略{{\boldsymbol{x}}^0} = (x_{js}^0),问题P1转化为只关于{\boldsymbol{y}}的感知数据分配问题{\text{P}}{{\text{1}}' }

    \begin{aligned} &({\rm{P1'}})\mathop {\max }\limits_{\boldsymbol{y}} \displaystyle\sum \limits_{i = 1}^N \displaystyle\sum \limits_{j = 1}^N {w_i}{y_{ij}},\\ &{\text{ s}}{\text{.t}}{\text{.}}\;\;式(2)(7), \end{aligned} (11)
    \sum\limits_{i = 1}^N {{w_i}} {y_{ij}} \leqslant \sum\limits_{s = 1}^S {x_{js}^0} {d_s},\forall j \in \{ 1,2, … ,N\} , (12)
    \sum\limits_{i = 1}^N {{w_i}} {y_{ij}} \geqslant \sum\limits_{s = 1}^S {x_{js}^0} {m_j},\forall j \in \{ 1,2, … ,N\} . (13)

    {\text{P}}{{\text{1}}^\prime }是一个简单的线性规划问题,可利用多种经典的线性规划方法[32]在多项式时间内求得最优解,证毕.

    H({\boldsymbol{x}},{\boldsymbol{y}})表示问题P1的目标函数. 因此,根据引理1,可以将H({\boldsymbol{x}},{\boldsymbol{y}})转化为只关于决策变量{\boldsymbol{x}}的目标函数H({\boldsymbol{x}},{{\boldsymbol{y}}^*}({\boldsymbol{x}})). 进一步地,定义集合函数\mathcal{G}: = \{ (j,s)\mid \forall j \in \{ 1,2,… ,N\} ,s \in \{ 1,2,… ,S\} \}\mathcal{A}: = \{ (j,s)|{x_{js}} = 1,\forall j \in \{ 1, 2,… ,N\} ,s \in \{ 1,2,… ,S\} \} ,\;\;\:F(\mathcal{A}): =H({\boldsymbol{x}},{{\boldsymbol{y}}^*}({\boldsymbol{x}})). 因此,可将问题P1等价转化为集合函数优化问题{\text{P}}{{\text{1}}^{\prime \prime }}

    ({\text{P}}{{\text{1}}''})\mathop {\max }\limits_{\mathcal{A} \subseteq \mathcal{G}} {\text{ }}F(\mathcal{A}), (14)
    {\text{s}}{\text{.t}}{\text{. }}\sum\limits_{j:(j,s) \in \mathcal{A}} {} {1}_{(j,s) \in \mathcal{A}} \leqslant 1,\forall s \in \{ 1,2,… ,S\} , (15)
    \sum\limits_{(j,s) \in \mathcal{A}} {\;\;\:{c_{js}}} \leqslant {C_0}, (16)

    其中1( \cdot )表示指示函数.

    2) 问题性质分析. 下面基于定义1和定义2分别分析问题{\text{P}}{{\text{1}}^{\prime \prime }}的目标函数性质(如引理2)和约束条件性质(如引理3).

    定义1. 非负性、单调性和子模性[33]. 对于一个集合函数F( \cdot ):{2^\mathcal{R}} \to \mathbb{R}\mathcal{R}是一个有限集),如果F(\varnothing) = 0并且F(\mathcal{A}) \geqslant 0\;\;\:(\forall \mathcal{A} \subset \mathcal{R}),则集合函数F( \cdot )是非负的;如果\forall {\mathcal{A}_1} \subseteq {\mathcal{A}_2} \subseteq \mathcal{R}F({\mathcal{A}_1}) \leqslant F({\mathcal{A}_2}),则F( \cdot )是单调的;当且仅当\forall {\mathcal{A}_1} \subseteq {\mathcal{A}_2} \subseteq \mathcal{R}\forall e \in \mathcal{R}\backslash {\mathcal{A}_2}F({\mathcal{A}_1} \cup \{ e\} ) - F({\mathcal{A}_1})\geqslant F({\mathcal{A}_2} \cup \{ e\} )-F({\mathcal{A}_2})F( \cdot ) 是子模的.

    引理2. {\text{P}}{{\text{1}}^{\prime \prime }}的目标函数F(\mathcal{A})(\mathcal{A} \subseteq \mathcal{G})是非负的、单调的和子模的.

    证明. 首先,由于F(\mathcal{A})的物理含义是感知数据量,所以易证其是非负的和单调的.

    其次,证明F(\mathcal{A})是子模的. 根据定义1,要证其是子模的,需证明\forall {\mathcal{A}_1} \subseteq {\mathcal{A}_2} \subseteq \mathcal{G}\forall ({j_1},{s_1}) \in \mathcal{G}\backslash {\mathcal{A}_2},下列不等式恒成立:

    F({\mathcal{A}_1} \cup \{ ({j_1},{s_1})\} ) - F({\mathcal{A}_1}) \geqslant
    F({\mathcal{A}_2} \cup \{ ({j_1},{s_1})\} ) - F({\mathcal{A}_2}). (17)

    {{\boldsymbol{y}}^{(1)}} = (y_{ij}^{(1)}){\hat {\boldsymbol{y}}^{(1)}} = (\hat y_{ij}^{(1)}){{\boldsymbol{y}}^{(2)}} = (y_{ij}^{(2)}){\hat{\boldsymbol{ y}}^{(2)}} = (\hat y_{ij}^{(2)})分别表示基于部署方案{\mathcal{A}_1}{\mathcal{A}_1} \cup \{ ({j_1},{s_1})\} ,{\mathcal{A}_2}{\mathcal{A}_2} \cup \{ ({j_1},{s_1})\} ,求解问题{\text{P}}{{\text{1}}^\prime }所得到的最优感知数据分配解. 为便于后续表述,用{{\boldsymbol{z}}^{(1)}} = (z_{ijs}^{(1)}){{\hat {\boldsymbol z}}^{(1)}}_{} = ({\hat z^{(1)}}_{ijs}), {{\boldsymbol{z}}^{(2)}} = (z_{ijs}^{(2)}){\hat{\boldsymbol{ z}}^{(2)}}_{} = ({\hat z^{(2)}}_{ijs}),等价表示{{\boldsymbol{y}}^{(1)}} = (y_{ij}^{(1)}){\hat{\boldsymbol{ y}}^{(1)}}_{} = (\hat y_{ij}^{(1)}){{\boldsymbol{y}}^{(2)}} = (y_{ij}^{(2)}){\hat{\boldsymbol{ y}}^{(2)}}_{} = (\hat y_{ij}^{(2)}). 其中{z_{ijs}}表示交通感知站点{\lambda _i}上传至部署在{\lambda _j}处边缘节点{e_s}的感知数据比例. 因此可得

    F({\mathcal{A}_1} \cup \{ ({j_1},{s_1})\} ) - F({\mathcal{A}_1}) = \displaystyle\sum\limits_{(j,s) \in {\mathcal{A}_1}} {\displaystyle\sum\limits_{i = 1}^N {{w_i}} } ({\hat z_{ijs}}^{(1)} - z_{ijs}^{(1)}) + \displaystyle\sum\limits_{i = 1}^N {{w_i}} \hat z_{i{j_1}{s_1}}^{(1)}.

    同理可得

    F({\mathcal{A}_2} \cup \{ ({j_1},{s_1})\} ) - F({\mathcal{A}_2}) = \displaystyle\sum\limits_{(j,s) \in {\mathcal{A}_2}} {\displaystyle\sum\limits_{i = 1}^N {{w_i}} } ({\hat z_{ijs}}^{(2)} - z_{ijs}^{(2)}) + \displaystyle\sum\limits_{i = 1}^N {{w_i}} \hat z_{i{j_1}{s_1}}^{(2)}.

    特别地,由于问题{\text{P}}{{\text{1}}^\prime }是线性规划问题,它的最优感知数据分配解可能不唯一. 因此,为了分析方便,定义{{\boldsymbol{\hat z}}^{(1)}}_{} = ({\hat z^{(1)}}_{ijs}){{\boldsymbol{\hat z}}^{(2)}}_{} = ({\hat z^{(2)}}_{ijs})为所有最优分配解中节点({j_1},{s_1})上感知数据最小的解. 为证明不等式(17)成立,下面证明2个结论.

    1)证明

    \displaystyle\sum\limits_{(j,s) \in {\mathcal{A}_1}} {\displaystyle\sum\limits_{i = 1}^N {{w_i}} } ({\hat z_{ijs}}^{(1)} - z_{ijs}^{(1)}) =\displaystyle\sum\limits_{(j,s) \in {\mathcal{A}_2}} {\displaystyle\sum\limits_{i = 1}^N {{w_i}} } ({\hat z_{ijs}}^{(2)} - z_{ijs}^{(2)}).

    \displaystyle\sum\limits_{(j,s) \in {\mathcal{A}_1}} {\displaystyle\sum\limits_{i = 1}^N {{w_i}} } ({\hat z_{ijs}}^{(1)} - z_{ijs}^{(1)})\displaystyle\sum\limits_{(j,s) \in {\mathcal{A}_2}} {\displaystyle\sum\limits_{i = 1}^N {{w_i}} } ({\hat z_{ijs}}^{(2)} - z_{ijs}^{(2)}) 分别表示加入部署新节点({j_1},{s_1})后原部署方案{\mathcal{A}_1} {\mathcal{A}_2} 中边缘节点变化的感知数据量.

    首先,证明

    \displaystyle\sum\limits_{(j,s) \in {{\mathcal{A}}_1}} {\displaystyle\sum\limits_{i = 1}^N {{w_i}} } ({\hat z_{ijs}}^{(1)} - z_{ijs}^{(1)})=0.

    因为(z_{ijs}^{(1)})是部署方案{\mathcal{A}_1}所对应的最优感知数据分配解,所以

    \displaystyle\sum\limits_{({j_1},{s_1}) \in {{\mathcal{A}}_1}} {\displaystyle\sum\limits_{i = 1}^N {{w_i}} } (\hat z_{ijs}^{(1)} - z_{ijs}^{(1)}) \leqslant 0.

    然后利用反证法可证明

    \displaystyle\sum\limits_{({j_1},{s_1}) \in {{\mathcal{A}}_1}} {\displaystyle\sum\limits_{i = 1}^N {{w_i}} } (\hat z_{ijs}^{(1)} - z_{ijs}^{(1)}) \geqslant 0.

    具体证明:假设该结论不成立,即

    \displaystyle\sum\limits_{({j_1},{s_1}) \in {{\mathcal{A}}_1}} {\displaystyle\sum\limits_{i = 1}^N {{w_i}} } (\hat z_{ijs}^{(1)} - z_{ijs}^{(1)}) < 0.

    因此,该不等式表明加入节点({j_1},{s_1})后,{\mathcal{A}_1}中边缘节点的感知数据量减少. 然而,根据目标函数的单调非减性可知, {\mathcal{A}_1} \cup \{ ({j_1},{s_1})\} 中节点的感知数据量不会减少. 因此,节点({j_1},{s_1})的感知数据量增加,所以可调整节点({j_1},{s_1})的感知数据到{\mathcal{A}_1}中的边缘节点. 所以 {\mathcal{A}_1} \cup \{ ({j_1},{s_1})\} 对应的感知数据分配解不是所有最优解中({j_1},{s_1})数据量最小的解. 与结论的前提条件矛盾,即{{\boldsymbol{\hat z}}^{(1)}}_{} = ({\hat z^{(1)}}_{ijs})是所有最优解中({j_1},{s_1})数据量最小的解. 所以假设不成立,原结论成立,即

    \displaystyle\sum\limits_{({j_1},{s_1}) \in {{\mathcal{A}}_1}} {\displaystyle\sum\limits_{i = 1}^N {{w_i}} }(\hat z_{ijs}^{(1)} - z_{ijs}^{(1)}) \geqslant 0.

    进一步地,因为

    \displaystyle\sum\limits_{({j_1},{s_1}) \in {{\mathcal{A}}_1}} {\displaystyle\sum\limits_{i = 1}^N {{w_i}} } (\hat z_{ijs}^{(1)} - z_{ijs}^{(1)}) \leqslant 0.

    所以,

    \displaystyle\sum\limits_{({j_1},{s_1}) \in {{\mathcal{A}}_1}} {\displaystyle\sum\limits_{i = 1}^N {{w_i}} } (\hat z_{ijs}^{(1)} - z_{ijs}^{(1)}) = 0.

    同理可证

    \displaystyle\sum\limits_{(j,s) \in {\mathcal{A}_2}} {\displaystyle\sum\limits_{i = 1}^N {{w_i}} } ({\hat z_{ijs}}^{(2)} - z_{ijs}^{(2)}) = 0.

    综上,结论1)成立.

    2)证明

    \displaystyle\sum\limits_{i = 1}^N {{w_i}} \hat z_{i{j_1}{s_1}}^{(1)} \geqslant \displaystyle\sum\limits_{i = 1}^N {{w_i}} \hat z_{i{j_1}{s_1}}^{(2)}.

    \displaystyle\sum\limits_{i = 1}^N {{w_i}} \hat z_{i{j_1}{s_1}}^{(1)}\displaystyle\sum\limits_{i = 1}^N {{w_i}} \hat z_{i{j_1}{s_1}}^{(2)}分别表示在部署方案{\mathcal{A}_1}{\mathcal{A}_2}下新节点({j_1},{s_1})分配的感知数据量. 因为{\mathcal{A}_1} \subseteq {\mathcal{A}_2},所以{\mathcal{A}_1} \cup \{ ({j_1},{s_1})\} \cup ({\mathcal{A}_2}\backslash {\mathcal{A}_1})= {\mathcal{A}_2} \cup \{ ({j_1},{s_1})\}. 由结论1)可得,在 {\mathcal{A}_1} \cup \{ ({j_1},{s_1})\} 中加入{\mathcal{A}_2}\backslash {\mathcal{A}_1}后, {\mathcal{A}_1} \cup \{ ({j_1},{s_1})\} 感知数据量不变. 因此,利用反证法可证明

    \displaystyle\sum\limits_{i = 1}^N {{w_i}} \hat z_{i{j_1}{s_1}}^{(1)} \geqslant \displaystyle\sum\limits_{i = 1}^N {{w_i}} \hat z_{i{j_1}{s_1}}^{(2)}.

    具体证明:假设该结论不成立,即

    \displaystyle\sum\limits_{i = 1}^N {{w_i}} \hat z_{i{j_1}{s_1}}^{(1)} < \displaystyle\sum\limits_{i = 1}^N {{w_i}} \hat z_{i{j_1}{s_1}}^{(2)}.

    因此,该不等式表明 {\mathcal{A}_1} \cup \{ ({j_1},{s_1})\} 加入{\mathcal{A}_2}\backslash {\mathcal{A}_1}后,节点({j_1},{s_1})的感知数据量增加. 由于 {\mathcal{A}_1} \cup \{ ({j_1},{s_1})\} 中边缘节点的感知数据量在{\mathcal{A}_2}\backslash {\mathcal{A}_1}加入前后保持不变,所以可调节({j_1},{s_1})上的感知数据到{\mathcal{A}_1}方案中的边缘节点. 所以, {\mathcal{A}_2} \cup \{ ({j_1},{s_1})\} 对应的感知数据分配解不是所有最优解中({j_1},{s_1})数据量最小的解. 所以假设不成立,原结论成立,即

    \displaystyle\sum\limits_{i = 1}^N {{w_i}} \hat z_{i{j_1}{s_1}}^{(1)} \geqslant \displaystyle\sum\limits_{i = 1}^N {{w_i}} \hat z_{i{j_1}{s_1}}^{(2)}.

    结论2)成立.

    基于上述2个结论,可得不等式(17)成立. 因此,F(\mathcal{A})是子模的. 证毕.

    定义2. p-独立系统[34]. 给定一个任意有限集合\mathcal{G},用\mathcal{I}表示\mathcal{G}的子集构成的集合族,即\mathcal{I} \subseteq {2^\mathcal{G}}. 则集合对(\mathcal{G},\mathcal{I})被称为独立系统,当且仅当满足2个条件:①\varnothing \in \mathcal{I};②如果\mathcal{A} \subseteq \mathcal{B} \in \mathcal{I},则\mathcal{A} \in \mathcal{I}.

    说明:\mathcal{I}中的元素被称为独立集. 同时,\forall \mathcal{A} \subseteq \mathcal{G},如果\mathcal{A}中的某个独立集不是\mathcal{A}中的任何一个独立集的子集,那么该独立集被称为\mathcal{A}的基. 用r(\mathcal{A})l(\mathcal{A})分别表示\mathcal{A}的最大基和最小基元素的个数. 对于一个任意独立系统(\mathcal{G},\mathcal{I})和任意集合\mathcal{A} \subseteq \mathcal{G},如果{\max\limits_{\mathcal{A} \subseteq \mathcal{G}}}(r(\mathcal{A})/l(\mathcal{A})) \leqslant p,则独立系统(\mathcal{G},\mathcal{I})被称为p-独立系统.

    引理3. 式(15)(16)构成p-独立系统,且p = 1 + \left\lceil {\max \{ {c_{js}}\} /\min \{ {c_{js}}\} } \right\rceil,其中{c_{js}}表示任意一个边缘节点{e_s}部署在任意一个交通站点{\lambda _j}的成本,\forall j \in \{ 1, 2, … ,N\} , \forall s \in \{ 1,2, … ,S\}.

    证明. 由定义2可知原证明等价于证明(\mathcal{G},{\mathcal{I}_p})构成p-独立系统,其中\mathcal{G}表示边缘节点和交通站点所有可能的配对集合,{\mathcal{I}_p}表示所有可行部署方案的集合. 首先,显然有\varnothing \in {\mathcal{I}_p}. 此外,对于任意2个部署方案\mathcal{X},\mathcal{Y},若其满足\mathcal{X} \subseteq \mathcal{Y} \in {\mathcal{I}_p},则由于满足问题约束条件的可行解的子集也必定满足约束条件,所以任意可行解的子集也必为可行解. 所以必有\mathcal{X} \in {\mathcal{I}_p}. 所以,根据定义2,(\mathcal{G},{\mathcal{I}_p})是一个独立系统.

    考虑任意集合\mathcal{A} \subseteq \mathcal{G},因为{\mathcal{I}_p}是可行解集合. 所以\mathcal{A}中独立集都是可行解. 用{\mathcal{A}_1}{\mathcal{A}_2}分别表示\mathcal{A}中任意2个最大可行解(即满足全部约束已无法再加入元素),现如果向{\mathcal{A}_2}中增加元素(j,s) \in {\mathcal{A}_1}\backslash {\mathcal{A}_2},就需要在{\mathcal{A}_2}中拿出一些元素来满足约束. 为满足式(15),需取出至多1个元素. 为了满足式(16),需取出至多\left\lceil {\max \{ {c_{js}}\} /\min \{ {c_{js}}\} } \right\rceil 个元素. 如此循环直到{\mathcal{A}_2} = {\mathcal{A}_1}. 当最差情况发生时,换入|{\mathcal{A}_1}|个元素需至多换出p|{\mathcal{A}_1}|个元素,即{\mathcal{A}_2}中元素个数至多为 {\mathcal{A}_1} 中元素个数的p倍,所以,根据定义2可得式(15)(16)构成p-独立系统.证毕.

    根据引理2和引理3可得,子问题P1具有非负的、单调的、子模的目标函数,以及p-独立系统的约束条件. 因此,基于文献[35]的启发,为求解子问题P1,本文提出基于子模理论的边缘节点次优部署算法. 如算法1所示.

    算法1. 具有理论下界的边缘节点次优部署算法.

    输入:边缘节点容量上限\{ {d_s}|s \in \{1,2,…,S\}\},交通站点数据规模\{ {w_i}| i\in \{1,2,…,N\}\} ,边缘节点部署成本集合\{ {c_{js}}\} , 总成本预算{C_0}

    输出:边缘节点部署方案{\boldsymbol{x}} = ({x_{js}}),感知数据分配方案{\boldsymbol{y}} = ({y_{ij}}).

    ① 初始化 \mathcal{G} = \{ {x_{js}} = 0|\forall j,s\}

    ② 初始化\mathcal{A} = \varnothing ,\mathcal{B} = \varnothing

    ③ while \mathcal{B} \ne \mathcal{G}

    ④  v=\underset{e\in \mathcal{G}\backslash \mathcal{B}\;\text{satisfying }(15)(16)}{\mathrm{arg}\;\mathrm{max}}F(\mathcal{A}\cup \{e\})

    ⑤  \mathcal{A} = \mathcal{A} \cup \{ v\} ,\mathcal{B} = \mathcal{B} \cup \{ v\}

    ⑥  for \forall e \in \mathcal{G}\backslash \mathcal{B}

    ⑦   if \mathcal{A} \cup \{ e\} 不满足式(15)或式(16)

    ⑧   \mathcal{B} = \mathcal{B} \cup \{ e\}

    ⑨   end if

    ⑩  end for

    ⑪ end while

    ⑫ 令 {x}_{js}=1,\forall (j,s)\in \mathcal{A};

    ⑬ 基于{\boldsymbol{x}} = ({x_{js}}),利用线性规划方法计算{\boldsymbol{y}}

    ⑭ 返回{\boldsymbol{x}},{\boldsymbol{y}}.

    算法1的核心思想是在每次迭代中,贪心地选择当前满足约束的、边际效益值最大的边缘节点部署方案. 具体主要包含2步:

    1) 添加新元素 (行④⑤). 计算\mathcal{G}\backslash \mathcal{B}中所有元素边际效益值,将其中边际效益值最大的元素加入解集\mathcal{A}中. 其中,\mathcal{B}表示当前加入\mathcal{A}中不满足约束的元素集合.

    2) 剔除冲突元素(行⑥~⑩). 在每次向解集\mathcal{A}中添加新元素后,遍历\mathcal{G}\backslash \mathcal{B},将当前无法再被添加至\mathcal{A}中的元素全添加至\mathcal{B}中. 当\mathcal{B} = \mathcal{G}时,表明当前已无可添加至解集\mathcal{A}的元素. 此时得到的\mathcal{A}即为最终解,而后基于\mathcal{A},进一步计算边缘部署方案{\boldsymbol{x}}和感知数据分配方案{\boldsymbol{y}}.

    分析算法1的时间复杂度及解最优性,可得定理2.

    定理2. 算法1能够在多项式时间内获得近似比为 1/(2 + \left\lceil {\max \{ {c_{js}}\} /\min \{ {c_{js}}\} } \right\rceil ) 的近似最优解.

    证明. 基于引理2和3,子问题{\text{P1}}是具有非负、单调和子模的目标函数及p-独立系统约束的优化问题. 由文献[35]可得,基于算法1,可求得近似比为1/ (1 + p)的近似最优解. 根据引理3得p = 1 + \left\lceil \max \{ {c_{js}}\} / \right. \left.\min \{ {c_{js}}\} \right\rceil,因此,算法1可获得近似比为1/(2 + \left\lceil \max \{ {c_{js}}\} /\right. \left.\min \{ {c_{js}}\} \right\rceil )的近似最优解. 此外,算法1最多迭代S次,每次迭代的时间复杂度为O(NS\Gamma ),其中,NS分别表示交通感知站点和边缘节点的数量,\Gamma 表示求解线性规划问题{\rm{P1}}'的多项式时间耗费[32]. 因此,算法1具有多项式时间复杂度,即O(N{S^2}\Gamma ),证毕.

    1) 基于低秩分析的问题转化. 利用实际智能交通感知数据集(详见4. 1节),分别基于时间维度和空间维度,分析不同时间和不同站点交通感知数据的低秩性. 首先,分析在时间维度上的低秩特性. 从数据集中随机选取4个交通站点52h的感知数据组成矩阵,并对该矩阵进行奇异值分解. 如图2(a)所示,矩阵前10个最大奇异值占全部奇异值之和的85%以上,即奇异值累积贡献率为85%. 类似地,分析交通感知数据在空间维度的低秩特性. 对25个交通站点感知数据构成的矩阵进行奇异值分解,如图2(b)所示,前5个最大奇异值占全部奇异值之和的90%以上. 根据低秩理论[36]:如果矩阵中存在少量奇异值之和占所有奇异值总和的比值较大,则该矩阵可以近似认为低秩矩阵. 因此分析可得,交通感知数据矩阵在时间维度和空间维度上都是近似低秩的.

    图  2  在时空维度下基于奇异值分解的交通感知数据低秩分析
    Figure  2.  Low-rank analysis of traffic sensing data matrix based SVD in terms of temporal and spatial dimensions

    基于上述结论可得, {{\boldsymbol{M}}_{js}} 在时空维度是近似低秩的. 由文献[37]可知,如果矩阵是近似低秩的,则通过采样其元素可以找到另一个低秩矩阵{\boldsymbol{X}}来近似表示该矩阵. 因此子问题{\text{P2}}可等价转化为:

    ({\text{P2}}')\min \;\:{\rm{rank}}({\boldsymbol{X}}), (18)
    {\text{s}}{\text{.t.}}\;\;{P_\varOmega }({\boldsymbol{X}}) = {P_\varOmega }({{\boldsymbol{M}}_{js}}), (19)

    其中{\rm{rank}}( · )表示矩阵的秩函数,{P_\varOmega }( · )表示投影采样算子. 因为该秩函数是非连续和非凸的,求解非常困难,且最小化矩阵秩即最小化矩阵非零奇异值个数,可近似看作最小化矩阵奇异值总和(即核范数最小)[37]. 因此,为便于求解,可用核范数\|{\boldsymbol{X}}\|^{*}函数近似代替目标秩函数{\rm{rank}}({\boldsymbol{X}}).

    2) 感知数据精确恢复. 受文献[38]启发,本文提出基于奇异值阈值截断(singular value thresholding, SVT)的缺失数据迭代恢复算法. 该算法的核心思想是在每次迭代中对矩阵进行奇异值分解,然后将较小奇异值置为0,构造新矩阵进行下一轮奇异值分解. 如算法2所示.

    算法2. 基于低秩理论的感知数据自适应恢复算法.

    输入:边缘节点整合的含缺失数据的矩阵{{\boldsymbol{M}}_{js}}

    输出:完整交通感知数据矩阵{{\boldsymbol{X}}^{{\rm{opt}}}}.

    ① 根据矩阵{{\boldsymbol{M}}_{js}}及其缺失元素生成投影采样算    子{P_\varOmega }({{\boldsymbol{M}}_{js}})

    ② 初始化{{\boldsymbol{Y}}^0} = {k_0}\delta {P_\varOmega }({{\boldsymbol{M}}_{js}})

    ③ for k = 1 to {k_{\max }}

    ④ 基于矩阵{{\boldsymbol{Y}}^{k - 1}}的奇异值分解,得到{{\boldsymbol{U}}^{k - 1}},{{\boldsymbol{\varSigma }}^{k - 1}},       {{\boldsymbol{V}}^{k - 1}}

    ⑤ 基于{{\boldsymbol{U}}^{k - 1}},{{\boldsymbol{\varSigma }}^{k - 1}},{{\boldsymbol{V}}^{k - 1}},根据式(21)(22)计算新     矩阵{{\boldsymbol{X}}^k}

    ⑥  if \Vert {P}_{\varOmega }({{\boldsymbol{X}}}^{k}-{{\boldsymbol{M}}}_{js}){\Vert }_{\text{F}}/\Vert {P}_{\varOmega }({{\boldsymbol{M}}}_{js}){\Vert }_{\text{F}}\le \varepsilon

    ⑦   {{\boldsymbol{X}}^{{\text{opt}}}} = {{\boldsymbol{X}}^k}

    ⑧   break;

    ⑨  else

    ⑩  根据式(20)计算新矩阵{{\boldsymbol{Y}}^k}

    ⑪  end if

    ⑫ end for

    ⑬ 基于{{\boldsymbol{X}}^{{\rm{opt}}}},根据式(26)估计恢复矩阵秩{r_{js}}

    ⑭ 根据矩阵的秩估计{r_{js}},计算非缺失下限{m_j},    反馈调整数据分配,更新矩阵{{\boldsymbol{M}}_{js}}.

    算法2主要包括2步:

    1)奇异值分解 (行④). 对{{\boldsymbol{Y}}^{k - 1}}进行奇异值分解为{{\boldsymbol{U}}^{k - 1}},{{\boldsymbol{\varSigma }}^{k - 1}},{{\boldsymbol{V}}^{k - 1}}.

    2)新矩阵构造(行⑤~⑩). 首先,用 \delta _b^{k - 1} 表示{{\boldsymbol{\varSigma }}^{k - 1}}中第b个对角元素即奇异值(总个数为B);然后,根据式(20),基于{{\boldsymbol{U}}^{k - 1}},{{\boldsymbol{\varSigma }}^{k - 1}},{{\boldsymbol{V}}^{k - 1}}构造用于下次迭代的新矩阵{{\boldsymbol{Y}}^k},其中\varOmega 为采样元素索引集合.

    {\boldsymbol{Y}}_{a,b}^k = \left\{ \begin{array}{*{20}{c}} {0,} & {\forall (a,b) \notin \varOmega ,}\\ {{\boldsymbol{Y}}_{a,b}^{k - 1} + \delta ({{({{\boldsymbol{M}}_{js}})}_{a,b}} - {\boldsymbol{X}}_{a,b}^k),} &{\forall (a,b) \in \varOmega ,} \end{array}\right. (20)
    {{\boldsymbol{X}}^k} = \displaystyle\sum_{b = 1}^B(\delta _b^{*k - 1} - \tau ){\boldsymbol{U}}_b^{k - 1}{\boldsymbol{V}}_b^{k - 1}, (21)
    \delta _b^{*k - 1} = \left\{ {\begin{aligned} &{0,}\quad {\forall \delta _b^{k - 1} \leqslant \tau ,} \\ &{\delta _b^{k - 1},} \quad {\forall \delta _b^{k - 1} > \tau . } \end{aligned}} \right. (22)

    以上2步相互迭代,直至满足以下任意一个迭代停止条件:①迭代达到最大次数{k_{\max }}(即行③);②恢复得到的矩阵 {{\boldsymbol{X}}^k} 与原矩阵{{\boldsymbol{M}}_{js}}误差不大于 \varepsilon (即行⑥).

    {{\boldsymbol{M}}_{js}}中缺失元素过多,即边缘节点{e_s}处感知数据量较少,而感知数据间的相关性程度又较小时,很难精确地进行缺失数据恢复. 因此,为保证数据恢复精度,每个边缘节点分配到的感知数据量需满足一定下限,即非缺失下限. 根据矩阵自由度理论[39],精确恢复一个含有缺失元素的矩阵需要的最少采样元素个数为

    N \geqslant r({n_1} + {n_2} - r), (23)

    其中r表示该矩阵的秩即元素间相关性程度,{n_1}{n_2}分别表示该矩阵的行列数. 由式(23)可知,矩阵元素间相关性程度越小,精确恢复缺失数据所需的最少采样元素个数越多.

    根据式(23),当计算基于算法2恢复得到的完整矩阵{{\boldsymbol{X}}^{{\rm{opt}}}}的非缺失下限{m_j}时,{n_1}{n_2}很容易基于其行列数得到. 而矩阵的秩{r_{js}}需进行估计,下面基于奇异值分解估计矩阵{{\boldsymbol{X}}^{{\rm{opt}}}}的秩{r_{js}}

    首先对矩阵{{\boldsymbol{X}}^{{\text{opt}}}}进行奇异值分解为

    {{\boldsymbol{X}}^{{\text{opt}}}} = {{\boldsymbol{U}}_{m \times m}}{{\boldsymbol{\varSigma }}_{m \times n}}{\boldsymbol{V}}_{n \times n}^{\text{T}}, (24)
    {\boldsymbol{\varSigma }} = \left( {\begin{array}{*{20}{c}} {{\sigma _1}}&{\;\;\:}&{\;\;\:} \\ {\;\;\:}& \ddots &{\;\;\:} \\ {\;\;\:}&{\;\;\:}&{{\sigma _n}} \end{array}} \right), (25)

    其中{\sigma }_{1}\geqslant {\sigma }_{2}\geqslant \cdots\geqslant {\sigma }_{n}\geqslant 0.

    由于矩阵的低秩性,因此,可用占全部奇异值总和比例为\eta {\text{ }}(\eta \in [0,1])的最少奇异值个数作为矩阵秩的估计值:

    {r}_{js}=\mathrm{min}\left\{{r\left|\frac{{\displaystyle \sum _{b=1}^{r}{\sigma }_{b}}}{\displaystyle\sum_{b=1}^{B}{\sigma }_{b}}\geqslant \eta\right.} \right\}, (26)

    其中B为矩阵非零奇异值总个数.

    最后,根据矩阵秩的估计值{r}_{js} ,基于式(23)计算非缺失下限,并将该结果反馈至云服务器重新调整感知数据分配方案(子问题{\text{P}}{{\text{1}}^\prime }),以保证缺失感知数据的精确恢复.

    1) 大规模智能交通感知数据集介绍. 本文利用澳大利亚新南威尔士州的交通流量监控系统TVVS的感知数据集进行实验评估. 该感知数据集由部署在道路旁的大约600个交通感知站点的交通监控感知系统产生,基本覆盖整个新南威尔士州. 本文主要采用每个交通站点的交通流量感知数据,采样间隔为1h,采样时间长度为12个月,即2018-01-01—2018-12-31.

    2) 实验方法介绍. 为评估边缘节点部署性能,本文参照实际场景,设定交通站点数据量规模和边缘节点容量等其他参数,同时通过变化交通站点数据量规模、边缘节点容量及部署成本预算,分别评估3种因素对边缘节点部署性能,即所有节点能同时处理的总感知数据量的影响. 在实验评估中,同时考虑了2种不同规模的网络,即大规模网络(N = 100, S = 20)和小规模网络(N = 10,S = 5).

    为了充分地评估交通感知数据恢复的性能,随机地选择24个交通感知站点,将它们中无缺失的感知数据组成实验数据矩阵. 进一步地,在评估过程中,首先变化缺失数据长度(即矩阵缺失元素个数);然后固定缺失数据长度,变化交通感知站点的数量,以评估站点数量对缺失感知数据恢复性能的影响.

    与当前多数边缘节点部署工作[19, 28,40]类似,为了全面地评估边缘节点的部署性能,本文采用3种性能不同的典型对比算法,即最优的、近似最优的、一般的对比算法. 1) OPT. 即最优的边缘节点部署方案,基于暴力搜索对所有可能的部署方案进行穷举以获得最优解. 由于本文的边缘节点部署问题是NP-hard问题,因此,OPT具有指数级计算复杂度,只能适用于小规模网络. 2) HEU[41]. 即基于遗传算法的近似最优启发式算法,将部署方案类比成生物种群,初始化若干方案,并通过模拟自然界种群进化的过程(即遗传、交叉和变异),不断迭代更新以得到近似最优解. 3) RAN. 即随机部署算法,将边缘节点随机地部署在任意交通站点处.

    为了充分评估缺失感知数据恢复性能,采用3种常用的数据恢复算法作为对比算法:1) MR. 即基于回归拟合的缺失数据恢复算法,利用非缺失数据拟合多项式,从而基于该多项式补全缺失数据. 2) KNN[42]. 基于K近邻的缺失数据恢复算法,利用感知数据的时空相关性,通过距离缺失元素最近的k个数据的平均值来估计该缺失值. 3) RF[43]. 基于随机森林回归的缺失感知数据恢复算法,即基于无缺失数据训练随机森林模型,用该模型预测缺失数据.

    在实验评估中,本文采用3种评估指标:1) 边缘节点处理总数据量,即所有部署边缘节点接收到的总感知数据量,如式(1);2) 平均绝对误差(mean absolute error, MAE),即补全数据矩阵元素的估计值与真值之间误差的绝对平均值,如式(27);3) 平均绝对百分比误差(mean absolute percentage error, MAPE),即补全数据矩阵元素的估计误差与真值的百分比平均值,如式(28).

    {{{{MAE}}}} = \frac{1}{T}\mathop \sum \limits_{t = 1}^T |{v_t} - {\hat v_t}|, (27)
    {{{{MAPE}}}} = \frac{1}{T}\mathop \sum \limits_{t = 1}^T \left|\frac{{{v_t} - {{\hat v}_t}}}{{{v_t}}}\right|. (28)

    1) 边缘节点部署性能评估

    ①评估不同交通感知站点的感知数据规模对边缘节点部署性能的影响. 如图3所示,变化交通站点数据规模为实际规模的1.0~2.0倍. 实验结果表明,在小规模网络场景下本文算法比RAN算法性能平均提升25%. 同时,本文算法与HEU算法都能达到OPT算法的95%以上. 主要原因是小规模网络场景中,满足约束的可行部署方案较少,使得HEU算法有较大概率获得性能较优的解,从而性能与本文算法以及OPT算法接近. 但是,在大规模网络场景中,本文算法比HEU算法平均提升性能8.8%,比RAN算法平均提升性能31.6%.

    图  3  不同交通站点感知数据规模对边缘节点部署性能的影响
    Figure  3.  Impact of different sensing data scales of traffic stations on the performance of edge node deployment

    ②评估不同边缘节点容量对边缘节点部署性能的影响. 如图4所示,本文算法比RAN算法,在小规模和大规模网络场景中性能分别平均提升25.9%和28.1%. 虽然本文算法和HEU算法在小规模网络场景中较为接近,都达到了OPT性能的95%以上,但是在大规模场景下本文算法比HEU性能平均提升10.3%.

    图  4  不同边缘节点容量对边缘节点部署性能的影响
    Figure  4.  Impact of different edge node capacities on the performance of edge node deployment

    ③评估不同部署成本预算对边缘节点部署性能的影响. 如图5所示,本文算法比RAN算法,在小规模和大规模网络场景中性能分别平均提升45.2%和32.5%. 同时,在小规模场景中,本文算法和HEU算法都能达到OPT性能的92%. 但是,在大规模网络场景下,本文算法的性能比HEU算法平均提高11.9%.

    图  5  不同总耗费预算对边缘节点部署性能的影响
    Figure  5.  Impact of different total consumption budgets on the performance of edge node deployment

    2) 交通感知数据恢复精度评估

    为了评估本文所提缺失感知数据恢复算法的性能,分别与3种常见缺失数据恢复算法在变化缺失长度和交通站点数量情况下进行比较.

    ①评估不同感知数据缺失长度对缺失数据恢复精度的影响. 如图6所示,实验结果表明,随着感知数据缺失长度的增大,缺失数据恢复的精度也不断降低. 该结果符合常理,即缺失的感知数据量越大,则数据所包含信息量就越小,因此,数据恢复的精度也就越差. 同时,与RF算法、MR算法和KNN算法比较,本文算法的MAE指标分别平均降低48.0%,65.1%, 74.8%,MAPE指标分别平均降低47.8%,62.4%,78.9%.

    图  6  不同缺失数据长度对缺失感知数据恢复精度的影响
    Figure  6.  Impact of different missing data lengths on the accuracy of missing sensing data recovery

    此外,当缺失数据长度较大时,MR和KNN算法恢复的结果不够理想,这是因为基于均值恢复和多项式拟合恢复数据的算法对数据的非缺失程度要求较高,所以当数据缺失程度较大时,选择SVT算法能够保证较好的补全精度.

    ②评估不同交通站点数量对缺失数据恢复精度的影响. 如图7所示,实验结果表明,随着交通站点数量的增多,缺失数据的恢复精度也不断提高. 这是因为随着交通站点数量的增加,矩阵中非缺失元素的比例增加,从而使得缺失数据的恢复精度也不断提高. 此外,与RF算法、MR算法和KNN算法比较,本文算法的MAPE指标分别平均降低50.2%,60.9%,43.8%,MAE指标分别平均降低51.2%,64.5%,47.1%. 同理,由于KNN和MR算法对矩阵中元素非缺失程度的依赖性,使得其在交通站点数量较少时表现出来的性能不够理想.

    图  7  不同交通站点数量对缺失感知数据恢复精度的影响
    Figure  7.  Impact of different number of traffic stations on the accuracy of missing sensing data recovery

    此外,本文还对SVT算法的收敛性进行了验证. 首先,随机选择24个交通站点24天的感知数据组成实验数据矩阵;然后,利用SVT算法,设定不同迭代次数对矩阵进行恢复,得到的结果如图8(a)所示. 可以发现当迭代次数达到90次后,感知数据的恢复精度基本保持不变.

    图  8  SVT 收敛性分析和交通感知数据矩阵秩的变化趋势
    Figure  8.  Convergence analysis of SVT and the trend of rank for traffic sensing data matrix

    ③评估缺失感知数据自适应恢复的性能. 具体地,随机选择16个交通站点14天内的感知数据组成组成实验数据矩阵.

    首先,在实验前,先探究了该矩阵秩随时间变化的情况,结果如图8(b)所示. 可以发现,矩阵秩大小会随时间而产生波动,如第3天(4月25日,澳大利亚退伍老兵日)、第6天和第7天(周末)的感知数据矩阵秩产生了较明显的下降.

    然后,分别采用本文提出的自适应缺失数据恢复算法,即根据恢复结果,计算非缺失下限并调整采样率和非自适应恢复算法,即采样率不随恢复结果自适应变化,对该矩阵进行数据恢复. 实验结果如图9所示,自适应恢复算法比非自适应恢复算法的MAE指标和MAPE指标分别平均降低40.3%和40.4%. 主要原因是感知数据矩阵的秩在随时间波动,即感知数据的相关性程度随时间发生了变化. 而非自适应恢复算法并没有根据相关性程度变化及时调整元素采样率,如当相关性程度减小时,提高采样率,增加非缺失元素的比例. 而本文所提的自适应恢复算法充分考虑了这一因素,因此保证了数据的恢复精度,提高了系统恢复性能的鲁棒性.

    图  9  缺失交通感知数据自适应恢复性能评估
    Figure  9.  Evaluation of adaptive recovery performance of missing traffic sensing data

    此外,本文基于澳大利亚TVVS系统中600个交通站点的感知数据,构建基于边缘智能计算的大规模交通感知数据恢复原型系统,如图10所示.

    图  10  大规模交通感知数据恢复原型系统
    Figure  10.  Large-scale traffic sensing data recovery prototype system

    本文提出一种基于边缘智能计算的城市交通感知数据自适应恢复系统,以解决高计算复杂度的边缘节点部署和高时空动态性的交通感知数据恢复问题. 首先,提出具有理论下界的边缘节点次优部署算法,以解决边缘节点部署这个NP-hard问题. 然后,提出基于低秩理论的缺失感知数据自适应恢复算法,利用低秩理论和奇异值分解,基于恢复结果估计感知数据矩阵的非缺失下限,并根据非缺失下限值的反馈,自适应调整交通站点感知数据分配,从而提高数据恢复的精确性和鲁棒性. 最后,基于实际大规模交通感知数据集构建原型系统,并进行实验评估,实验结果验证所提算法的有效性和鲁棒性.

    在将来的工作中,进一步改进和完善本文存在的缺点和不足,主要包括3个方面:1) 交通站点的拓扑关系与它们感知数据的相关性有关,因此,如何利用交通站点道路拓扑图来进一步提高缺失感知数据精度是下一步的研究工作. 2) 本文只是以交通流量这种典型的交通感知数据作为例子研究交通感知数据恢复且只考虑了来自静态交通感知站点的感知数据. 下一步将延伸和扩展到更多不同来源种类的感知数据,如来自无人机感知[44]和人群感知[45]的城市感知数据等. 3) 本文在恢复交通感知数据时,主要利用感知数据之间的时空相关性,但这些感知数据之间还存在其他多维度的联系,如数据类型等. 下一步将结合其他多维相关性进一步提高恢复精度.

    致 谢 感谢重庆大学计算机学院张乃凡、程梁华、李耀宇对本文所做的贡献!

    作者贡献声明:向朝参和程文辉提出了论文创新点,设计了论文实验方案,并撰写了论文;张昭实现了论文算法;焦贤龙、屈毓锛、陈超和戴海鹏指导了论文写作.

  • 图  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

  • 期刊类型引用(0)

    其他类型引用(1)

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

目录

/

返回文章
返回