Private Protocol Reverse Engineering Based on Network Traffic: A Survey
-
摘要:
协议逆向技术是分析私有协议的重要途径,基于少量或零先验知识推断私有协议的约束与规范.在恶意应用监管、协议模糊测试、脆弱性检测、通信行为理解等方面均具有较高的实用价值.网络流量表征协议规范,承载协议固有特征,因此基于网络流量的私有协议逆向技术更适用于发现、分析并监管网络上的私有协议.在梳理现有的基于网络流量的私有协议逆向技术基础上,首先提出包括预推理、协议格式推断、语义分析以及协议状态机推理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-3]作为一种多领域交叉的新兴网络,涉及信息通信、交通、汽车等领域,引起了国内外工业界与学术界的广泛关注. 蜂窝车联网(cellular vehicle-to-everything,C-V2X)技术是实现车联网中车与车(vehicle-to-vehicle,V2V)、车与基础设施(vehicle-to-roadside infrastructure,V2I)、车与网络(vehicle-to-network,V2N)以及车与人(vehicle-to-pedestrian,V2P)等全方位连接和通信的新一代信息通信技术,如图1所示,其中V2N是指车辆通过接入网或核心网与云平台连接,云平台与车辆之间进行数据交互,提供车辆所需要的各类应用服务[4],如车辆导航、车辆远程监控、紧急救援、信息娱乐服务等,而V2V通信侧重于车辆之间提供低延迟、高可靠、严时效的实时信息传输服务[5-6].
与传统的无线蜂窝网络相比,车联网具有高动态、时空关联、不确定特性以及严格的服务质量(quality of service,QoS)要求,这使得C-V2X通信面临着诸多特有的挑战. 从空间维度来看,多个用户同时存在于同一网络中,并相互竞争有限的无线通信资源, 适当协调用户的传输行为,处理随机噪声、衰落和干扰的联合影响是必要的;从时间维度来看,由于车联网的动态不确定特性,难以获得准确的信道状态信息(channel state information,CSI),需要自适应、快速准确地作出传输决策;从业务类型来看,不同类型链路需要支持不同QoS要求的应用. 因此,针对车联网动态不确定特性、业务类型的多元化以及无线通信资源稀缺的特点,研究V2N和V2V链路资源协同共享以保证C-V2X车联网业务的多指标需求和无线资源的有效利用,是当前车联网资源分配亟需解决的问题[7-8].
鉴于上述问题,从多目标优化(multi-objective optimization,MO)的角度研究了典型多用户C-V2X通信网络的高效传输设计. 特别地,信息年龄(age of information,AoI)是一种有效的度量信息新鲜度的方法,AoI 描述了自最新状态更新被生成以来所经过的时间[9],与传统网络性能指标(如延迟、可靠性或传输速率)不同,AoI被视为一种时效性性能指标. 与现有的大多数研究工作通常仅优化单一目标不同,进一步提出了以V2V链路的AoI为目标之一的MO问题 [10]. 在动态复杂环境下,确定跨多个时隙的V2V信道和功率,以保证V2N与V2V通信的QoS要求. 主要贡献有3个方面:
1)考虑到车联网中V2N与V2V通信的 QoS需求差异,提出了一个新的多目标优化无线资源分配(multi-objective optimization for wireless resource allocation,MO-WRA)问题,在V2N和V2V链路共存且共享频谱的复杂蜂窝车联网情况下确定信道选择和功率控制,以实现不同链路优化目标之间的权衡,同时保证V2V通信链路的AoI.
2)由于MO-WRA问题涉及动态不确定环境下信道状态信息不准确、时间相关的非凸目标和约束以及相互影响的目标,这导致了极大的决策空间. 结合进化学习,进一步设计了基于多目标深度强化学习的V2V资源分配算法,通过训练好的神经网络模型可以得到MO-WRA问题的帕累托前沿.
3)为了应对大规模V2V通信,加速决策网络提取关键环境状态信息,引入注意力机制以优化深度神经网络,提升神经网络训练速度,增强其实时决策能力.
1. 相关工作
近年来,蜂窝车联网资源分配问题得到了广泛研究. 文献[11]设计了资源分配算法,该算法在传输可靠性和排队时延的约束下,使V2V链路的总吞吐量最大化. 文献[12]提出了用于V2I和V2V链路共存的网络调度和功率控制算法,以提高系统吞吐量. 文献[13]提出了一种双时间尺度资源分配算法,该算法基于大时间尺度道路交通信息减小V2V链路传输的最大时延. 文献[14]也提出了一种基于V2V和V2I通信的随机模型,该模型结合车辆移动性、信道争用和衰落的影响,提高了通信和计算的可靠性. 尽管上述资源分配策略通过有效的资源分配来提升网络性能,但它们主要关注传统性能指标,如吞吐量、可靠性和时延等,而无法准确衡量接收端的信息新鲜度.
目前学术界提出了“信息年龄AoI”的概念[9]. AoI是一种有效度量信息新鲜度的性能指标,被定义为接收端获取的最新数据包自产生时刻到当前接收时刻所经过的时间. 通过资源分配以优化车联网中的AoI性能已成为当前的研究热点. 现有研究主要通过控制信息发送频率避免网络拥塞和降低网络传输时延以最小化系统平均AoI. 文献[15]采用李雅普诺夫(Lyapunov)优化方法设计了一种分布式年龄感知数据收集算法,该算法包括基于阈值的源车辆采样策略,可以更加及时地收集状态更新. 文献[16]结合平均场理论来分析虚拟传感器网络的网络AoI,充分考虑了车辆网络的社会特征和潜在的无线通信过程,进一步联合优化源节点处信息更新速率和传感器处的传输概率以最小化平均AoI. 文献[17]利用极值理论和Lyapunov优化方法,考虑到AoI极端事件发生概率极低的情况,提出了一种感知AoI的资源分配算法,以保证超可靠的低时延通信. 但是该算法假设每个车辆用户对中发射机和接收机之间的关联是固定的,这种假设可能会简化模型,但同时也可能忽略了车联网环境中的动态变化,从而限定了对车联网动态性的真实反映. 现有的AoI相关的研究大多采用传统的排队论建立理论模型,这种方法在处理大规模动态复杂场景存在局限. 而利用机器学习进行数据驱动建模以更准确地捕捉和模拟车联网中的动态行为,尚有很大的探索空间.
当前研究大多基于一个理想化的假设,即能够获得全局信道状态信息,然而,在车辆高速移动的场景下,信道条件的快速变化使得获取精确的信道状态信息变得极为困难[18];此外,尽管通过传统信息论方法获得较为准确的信道状态信息[19-20],但由于计算成本高,仍然难以满足动态车联网环境对于实时应用的迫切需求. 深度强化学习(deep reinforcement learning,DRL)融合了深度学习的感知和强化学习的决策2种特性, 既可从高维原始数据中直接获取动态环境特征, 又具有传统动态规划和马尔可夫决策过程的理论保障以使得网络能够通过智能体与环境的交互来学习动态资源分配策略.
文献[21]提出了一种基于信赖域策略优化的车联网联合频谱和功率分配算法,重点研究了系统平均AoI的最小化问题. 在参考文献[22]中,设计了基于多智能体强化学习的分布式资源分配算法,以最小化系统平均AoI. 文献[23]研究了一种考虑车辆数据包传输模式选择的资源分配问题,并将双时间尺度深度强化学习与谱聚类相结合以提高模型的鲁棒性. 文献[24]针对V2V复用V2I链路的频谱问题提出了基于深度Q网络(deep Q-network,DQN)的算法. 虽然该算法考虑了多个优化目标,但是仅考虑各目标权重参数给定的情况,实质上仍是单目标优化. 实际情况下,不同通信链路可能具有不同的传输能力和传输需求,存在多个不一致甚至冲突的优化目标. 在没有预先设定目标权重参数的情况下,对任何目标的优化往往不可避免地会以至少1个其他目标的性能下降为代价. 这种现象是多目标优化领域的典型特征,其中需要在多个通常相互冲突的目标之间寻找平衡点[10]. MO理论已应用于无线通信网络[25]、移动边缘计算系统[26]、车联网[27]. 同样是车联网场景,文献[27]提出了一种基于多目标优化理论的顺序传输决策算法,该算法采用了Lyapunov优化理论与加权切比雪夫(Chebyshev)方法,在保证不同消息的QoS的同时最大化链路的能量有效性. 针对现有文献的分析表明,MO理论与深度强化学习结合的研究工作尚未得到充分的探索.
与已有工作不同,本文针对蜂窝车联网复杂、动态且不确定场景,进行了深入的探讨. 除了涵盖传统网络性能指标,本文还创新性地将AoI纳入优化目标,提出了多目标优化的资源分配问题,并结合多目标进化学习设计了多目标深度强化学习算法,该算法能够实时进行决策,优化V2V无线资源的分配,以满足多样化的QoS要求.
2. 系统模型与问题描述
本节所涉及的主要符号如表1所示.
表 1 主要符号汇总Table 1. Main Notations Summary符号 解释 M V2N链路集合 K V2V链路集合 V 车辆集合 γcm 第m条V2N链路的信干噪比 gcm 第m条V2N链路的信道功率增益 ˜gvk,m 第k条V2V链路对m条V2N链路的干扰功率增益 Pcm 第m条V2N链路的传输功率 Pvk 第k条V2V链路的传输功率 ρm,k 第m条V2N链路和第k条V2V链路是否共用信道 Ccm 第m条V2N链路的传输速率 Cvk 第k条V2V链路的传输速率 γvk 第k条V2V链路的信干噪比 Ick 第k条V2V链路受到V2N链路的干扰 Ivk 第k条V2V链路受到其他V2V链路的干扰 gvk 第k条V2V链路的信道功率增益 Btk 在时隙t第k条V2V链路的剩余负载量 Utk 在时隙t第k条链路的传输延迟容限 Ltk 在时隙t第k条V2V链路的数据包延迟 Ati,j 在时隙t车辆i发送的数据在车辆j接收处的AoI 2.1 网络模型
本文研究的网络场景如图2所示,由1个基站(base station,BS)和位于基站通信覆盖范围内的车辆组成,车辆与基站、车辆与车辆之间可以相互通信. 假设基站具有计算和缓存能力. 具体而言,车辆网络包括mmax条V2N链路,以集合 M = \{ 1,2, … ,m, … ,{m_{\max }}\} 表示V2N链路序号,以及{k_{\max }}条V2V链路,以集合K = \{ 1,2, … ,k, … ,{k_{\max }}\} 表示V2V链路序号.
在设计的系统中,可以将BS通信范围建模为2维欧氏空间\psi ,在该范围内包含n个车辆,以集合 V = \{ 1,2, … ,n\} 表示车辆序号. 每个车辆 i \in V 由\{ {x_i},{y_i},{o_i}, {v_i},{V_i{\rm ^N}},{V_i{\rm ^T}},{A_i}\} 表示. 其中 {x_i} 和 {y_i} 为欧氏空间坐标,{o_i}为车辆行驶的方向,{v_i}为车辆速度,车辆邻居集合表示为 {V_i{\rm ^N}} ,车辆i的目标通信车辆集合表示为{V_i{\rm ^T}},车辆i发送的数据在其他车辆接收处的AoI表示为{A_i} = \{ {A_{i,1}},{A_{i,2}}, … ,{A_{i,n}}\} ,用以表征车辆之间所传输信息的新鲜程度.
2.2 通信模型
假设每条V2N链路已被预先分配不同的正交子信道以消除网络中V2N链路之间的干扰,即第m条V2N链路占用第m个子信道,保证了链路之间的无干扰. 为提高频谱利用率,假设V2N子信道可以被V2V链路共享,车辆的收发机采用单天线,当第k条V2V链路共享第m条V2N链路的子信道时,这条V2V链路的接收端可能会受到来自相同子信道的其他V2V链路以及V2N链路的发射端的干扰. 因此系统中可能出现3种干扰,分别为:V2N占用的子信道对共享该子信道的V2V的干扰,简称C2V(cellular user-to-vehicle)干扰;V2V占用的子信道对使用该子信道的V2N的干扰,简称V2C(vehicle-to-cellular user)干扰;V2V占用的子信道对占用相同子信道的其他V2V用户对的干扰,简称V2V干扰.
为了便于建模,将连续时间离散化,用t来表示离散化后的时隙,其中每个时隙的持续时间为{t_0}. 在每个时隙t,基站需要为车辆用户对分配传输信道和发射功率,传输信道集合O和发射功率集合P分别表示为O = \left\{ {{O_1},{O_2}, … ,{O_{\max }}} \right\}和P = \left\{ {{P_1},{P_2}, … ,{P_{\max }}} \right\}.
进一步地,定义g_k^{\text{v}}为第k条V2V链路的信道功率增益,g_m^{\text{c}}为第m条V2N链路的信道功率增益,\tilde g_{m,k}^{\text{c}}表示第m条V2N链路对复用该链路的第k条V2V链路的干扰功率增益;\tilde g_{k,k'}^{\text{v}}表示复用相同V2N链路的第k条V2V链路对第k'条V2V链路的干扰功率增益. 上述信道功率增益和干扰功率增益均由快衰落和慢衰落组成. 快衰落部分的主要成因是多径效应,慢衰落部分的主要成因包括路径损耗和阴影衰落.
以第m条V2N链路的信道功率增益g_m^{\text{c}}为例,其计算公式可表示为
g_m^{\text{c}} = h_m^{\text{c}}\alpha _m^{\text{c}}{\text{ = }}h_m^{\text{c}}{\beta _m}d_{m,{\text{B}}}^{ - \chi }, (1) 其中h_m^{\text{c}}是快衰落部分,其服从瑞利(Rayleigh)分布,不同的信道下的快衰落是独立同分布的,\alpha _m^{\text{c}}是慢衰落部分,{\beta _m}是具有标准差\xi 的对数正态阴影衰落, {d_{m,{\text{B}}}} 是信号发射机和接收机之间的欧氏距离, \chi 是路径损耗分量的衰减指数.
以V2N链路占用的子信道对共享该子信道的V2V链路的干扰为例,其干扰功率的计算公式可表示为
I_k^{\text{c}} = \displaystyle\sum\limits_{m = 1}^{{m_{\max }}} {{\rho _{m,k}}P_m^{\text{c}}\tilde g_{m,k}^{\text{c}}} , (2) 其中P_m^{\text{c}}是第m条V2N链路的发射功率,{\rho _{m,k}}表示第m条V2N链路和第k条V2V链路是否共用信道,满足式(3):
{\rho }_{m,k}=\left\{\begin{aligned} &1,\;\; 第k条\text{V}2\text{V}链路重用第m条\text{V}2\text{N}链路的子信道, \\ &0,\;\; 其他. \end{aligned}\right. (3) 对于第m条V2N链路而言,信干噪比\gamma _m^{\text{c}}(signal-to-interference-plus-noise ratio,SINR)可表示为
\gamma _m^{\text{c}} = \dfrac{{P_m^{\text{c}}g_m^{\text{c}}}}{{{\sigma ^2} + \displaystyle\sum\limits_{k = 1}^{{k_{\max }}} {{\rho _{m,k}}P_k^{\text{v}}\tilde g_{k,m}^{\text{v}}} }}, (4) 其中{\sigma ^2}表示加性高斯白噪声功率, P_m^{\text{c}} 和 P_k^{\text{v}} 分别表示第m条V2N链路和第k条V2V链路的发射功率.
对于第k条V2V链路,其SINR可表示为
\gamma _k^{\text{v}} = \dfrac{{P_k^{\text{v}}{g_k}}}{{{\sigma ^2} + I_k^{\text{c}} + I_k^{\text{v}}}}. (5) 根据上述V2N链路和V2V链路的SINR,可以得出V2V链路复用V2N链路时,第m条V2N链路的传输速率C_m^{\text{c}}和第k条V2V链路的传输速率C_k^{\text{v}}的表达式分别为
C_m^{\text{c}} = W \times {\text {lb}}\left( {1 + \gamma _m^{\text{c}}} \right), (6) C_k^{\text{v}} = W \times {\text {lb}}\left( {1 + \gamma _k^{\text{v}}} \right), (7) 其中W表示信道带宽.
因此,第k条V2V链路的有效传输概率{p_k}为
{p_k} = Pr\left\{ {R_k^{\text{v}} \geqslant {R_{\text{T}}}} \right\} = Pr\left\{ {\dfrac{1}{{{T_{\text{d}}}}}\displaystyle\sum\limits_{t = 1}^{{T_{\text{d}}}} {C_k^{{\text{v}},t} \geqslant \dfrac{{{B_0}}}{{{U_0}}}} } \right\}, (8) 其中R_k^{\text{v}}表示第k条V2V链路的有效传输速率,{R_{\text{T}}}表示有效传输速率阈值,C_k^{{\text{v}},t}表示在时隙t第k条V2V链路传输速率,{B_0}表示数据包的大小,{U_0}表示传输时延约束,时长为{T_{\rm d}}个时隙.
对于V2V链路而言,还需要关注其延迟性能. 假设只考虑数据包的传输延迟. 定义{U_0}为数据包生成时的延迟容限,U_k^t表示在时隙t第k条V2V链路的延迟容限,更新公式为
U_k^{t + 1} = U_k^t - {t_0}, (9) 其中{t_0}为1个时隙的长度. 如果在时隙t的前一个时隙内,第k条V2V链路完成了数据包传输,那么该数据包的延迟L_k^t可表示为
L_k^t{\text{ = }}{U_0} - U_k^t. (10) 如果在时隙t有U_k^t \leqslant 0,则说明该数据包的传输时间超过了延迟容限,视为传输失败,不再继续传输该数据包.
2.3 AoI演进模型
本节介绍AoI以及V2V链路平均AoI的定义及其计算方式.
定义B_k^t为时隙t第k条V2V链路传输数据包的剩余负载量,B_k^t的更新公式为
{B}_{k}^{t+1}=\left\{\begin{aligned} &{B}_{0},\;\;\;\;\quad\quad\quad {B}_{k}^{t} < {C}_{k}^{\text{v},t}{t}_{0},\\ &{B}_{k}^{t+1}-{C}_{k}^{\text{v},t}{t}_{0},\;\; 其他,\end{aligned} \right. (11) 其中{B_0}为初始负载量. 若在当前时隙t内完成了数据包的传输,则在下一个时隙t + 1将该用户的负载重置为初始负载量{B_0};否则,在B_k^{t + 1}的基础上减去时隙t内传输的数据量 C_k^{{\text{v}},t}{t_0} .
集合{A_i}表示车辆i发送的数据在其他车辆接收处的AoI,所以集合{A_i}中元素的个数即为车辆数量n,其中 {A_{i,j}} 表示V2V链路中车辆i发送的数据在车辆j接收处的AoI. A_{i,j}^t表示在时隙t车辆i发送的数据在在车辆j接收处的AoI,A_{i,j}^{t + 1}的计算如式(12)所示:
A_{i,j}^{t + 1} = \left\{ {\begin{aligned} & L_{i,j}^{t + 1}, \;\;\;\quad B_{i,j}^t \leqslant C_{i,j}^{{\text{v}},t}{t_0},\;\;d_{i,j}^{t + 1} \leqslant {d_{\text{c}}}, \\ & A_{i,j}^t + {t_0}, \;\; B_{i,j}^t > C_{i,j}^{{\text{v}},t}{t_0},\;\;d_{i,j}^{t + 1} \leqslant {d_{\text{c}}}, \\ & 0, \;\;\;\quad\quad d_{i,j}^{t + 1} > {d_{\text{c}}}, \end{aligned}} \right. (12) 其中 L_{i,j}^{t + 1}表示数据包的延迟, d_{i,j}^{t+1} 表示车辆i和车辆j之间的欧氏距离,{d_{\text{c}}}表示车辆的通信距离. 当车辆i和车辆j位于通信距离内,如果前一个时隙内有数据包传输成功, A_{i,j}^{t + 1} 为该数据包的延迟,否则A_{i,j}^{t + 1}随时隙数不断累加;当车辆i和车辆j位于通信距离外,t = 0.
V2V链路平均AoI可表示为
{{\bar A}^t} = \dfrac{1}{{cnt}}\displaystyle\sum\limits_{i = 1}^n {\displaystyle\sum\limits_{\begin{subarray}{l} j = 1 \\ j \ne i \end{subarray}} ^n {\left( {A_{i,j}^t + A_{j,i}^t} \right)} } , (13) 其中 cnt 表示AoI非0值的个数,可由式(14)计算得到:
cnt = \displaystyle\sum\limits_{i = 1}^n {\displaystyle\sum\limits_{j = 1}^n {\alpha _{i,j}^t} } , (14) 其中\alpha _{i,j}^t \in \left\{ {0,1} \right\}表示车辆i和车辆j是否位于通信距离内,若 d_{i,j}^{t + 1} \leqslant {d_{\text{c}}} ,则\alpha _{i,j}^t = 1,否则\alpha _{i,j}^t = 0.
2.4 MO-WRA问题描述
本节提出多目标优化的无线资源分配MO-WRA问题,基站根据车辆传输的状态信息,给该车辆分配信道和发射功率,以实现优化目标,如式(15)所示:
\left\{\begin{aligned} & \mathop {{\text{maximize }}}\limits_{\left\{ {P_k^{\rm v},\;{\rho _{m,k}}} \right\}} \left( {\displaystyle\sum\limits_{t = 1}^\infty {{V^t}} ,\displaystyle\sum\limits_{t = 1}^\infty {{Y^t}} ,\displaystyle\sum\limits_{t = 1}^\infty {Z_k^t} ,\displaystyle\sum\limits_{t = 1}^\infty {{S^t}} } \right) \\ & {\text{s.t.}} \left\{\begin{aligned} &{{\text{C}}_{\text{1}}}:L_k^t \leqslant {U_0},\forall k \in K,\forall t \in {\mathbb{N}_ + }; \\ & {{\text{C}}_{\text{2}}}:{p_0} \leqslant {p_k},\forall k \in K; \\ & {{\text{C}}_3}:P_k^{\rm v} \in P,\forall k \in K; \\ & {{\text{C}}_4}:{\rho _{m,k}} \in \left\{ {0,1} \right\},\forall m \in M,\forall k \in K. \end{aligned}\right. \end{aligned} \right. (15) 约束{{\rm C}_1}表示V2V链路延迟约束;约束{\rm C_2}表示V2V链路的有效传输概率约束;约束{\rm C_3}表示V2V链路发射功率约束;约束{\rm C_4}表示V2V链路是否复用V2N链路子信道.
式(15)中 P_k^{\rm v},{\rho _{m,k}} 分别表示第k条V2V链路的发射功率和频谱分配. 针对优化目标中的V2N链路传输速率、V2V链路传输速率、V2V链路延迟以及V2V链路平均AoI这4个指标,分别定义{V^t}为时隙t的V2N链路传输速率效用函数,{Y^t}为时隙t的V2V链路传输速率效用函数, Z_k^t 为时隙t的第k条V2V链路的延迟效用函数,S_k^t为时隙t的第k条V2V链路的平均AoI效用函数. {V^t}, {Y^t},Z_k^t,{S^t_k}分别表示为
{V^t} {\buildrel \Delta \over = } \displaystyle\sum\limits_{m = 1}^{{m_{\max }}} {\dfrac{{C_m^{{\text{c}},t} - C_{\min }^{\text{c}}}}{{C_{\max }^{\text{c}} - C_{\min }^{\text{c}}}}} , (16) {Y^t} {\buildrel \Delta \over = } \displaystyle\sum\limits_{k = 1}^{{k_{\max }}} {\dfrac{{C_k^{{\text{v}},t} - C_{\min }^{\text{v}}}}{{C_{\max }^{\text{v}} - C_{\min }^{\text{v}}}}} , (17) Z_k^t {\buildrel \Delta \over = } \exp \left( { - L_k^t} \right), (18) S_k^t {\buildrel \Delta \over = } \exp \left( { - \left( {{{\bar A}^t} - {{\bar A}^{t - 1}}} \right)} \right). (19) 3. 多目标深度强化学习算法
针对多目标优化的无线资源分配MO-WRA问题,本节进一步设计了基于注意力机制的多目标近端策略优化算法(multi-objective proximal policy optimization algorithm based on attention mechanism,MOPPO-AM),如3.1节所述,该算法包含2个阶段. 在第1阶段,将MO-WRA问题划分为N个单目标优化的子问题,并将该子问题表述为马尔可夫决策过程,如3.2节所述. 通过基于注意力机制的近端策略优化算法(proximal policy optimization algorithm based on attention mechanism,PPO-AM)进行训练,使用的神经网络模型如3.3节所述. 将所有训练好的子问题神经网络模型集作为第2阶段的初始种群,如3.4节所述. 在第2阶段,使用进化学习找到多目标主问题的帕累托前沿,如3.5节所述.
3.1 MOPPO-AM 算法
MOPPO-AM算法训练过程如算法1所示,该算法通过近端策略优化(proximal policy optimization,PPO)[28]算法来训练基于卷积块注意力模块(convolutional block attention module,CBAM)[29-30]的模型. 然后,将训练好的子问题模型集作为进化学习的初始种群. 进化学习使用近端变异[31]产生后代,基于非支配排序遗传算法Ⅱ(nondominated sorting genetic algorithm Ⅱ,NSGA-Ⅱ)[32]的非支配水平和拥挤距离排序选择模型,最终得到多目标优化问题的一组非支配解,也称为帕累托前沿.
算法1. MOPPO-AM算法.
输入:子问题模型集 \varPi = \left\{ {{\pi _1},{\pi _2}, … ,{\pi _N}} \right\} ,权重向量集合 \varLambda = \left\{ {{{\boldsymbol \lambda} _1},{{\boldsymbol \lambda} _2}, … ,{{\boldsymbol \lambda} _N}} \right\} ,进化学习中的最大迭代次数{I_{\max }},权重向量个数为N;
输出:优化后的模型集 {\varPi ^ * } = \left\{ {\pi _1^ * ,\pi _2^ * , … ,\pi _N^ * } \right\} .
① 随机初始化 \varPi 中的模型参数;
② for i = 1,2, … ,N do
③ 使用PPO-AM算法训练策略 {\pi _i} (3.4节);
④ end for
⑤ 使用PPO-AM算法输出的策略作为进化学习 的初始种群;
⑥ for i = 1,2, … ,{I_{\max }} do
⑦ 使用进化学习进化子问题模型(3.5节);
⑧ end for
⑨ return {\varPi ^ * } = \left\{ {\pi _1^ * ,\pi _2^ * , … ,\pi _N^ * } \right\} .
3.2 马尔可夫决策过程建模
单目标优化子问题表述为马尔可夫决策过程,通常由如下所示的五元组来表征:
(S,A,R,\gamma ,p) , (20) 其中S是状态空间,A是动作空间,R是奖励函数,\gamma \in \left( {0,1} \right)为折扣因子,其体现了智能体对即时奖励和未来奖励的权衡,转移概率p是智能体执行某个动作后从一个状态转移到下一个状态的概率.
状态 s_k^t \in S 表示在时隙t的第k条链路的状态,状态总共包含3类信息. 其中:第1类信息为整体的信道和干扰信息,包含V2V链路的信道信息{G^t}、V2N链路的信道信息{H^t}、前一个时隙的干扰功率信息 {I^{t - 1}} ,以及前一个时隙邻居车辆选择的信道信息N_k^{t - 1};第2类信息为与资源分配相关的数据包状态信息,包含待发送的信息的剩余负载 B_k^t 以及延迟容限U_k^t;第3类信息是V2V链路关联的AoI A_k^t . 综上所述,s_k^t表达式为
s_k^t{\text{ = }}\left\{ {{G^t},{H^t},{I^{t - 1}},N_k^{t - 1},O_k^t,U_k^t,A_k^t} \right\}. (21) 动作a_k^t \in A 包含信道选择O_k^c和发射功率选择P_k^c 2个维度.
a_k^t \in \left\{ {1,2, … ,3 \times \left| O \right|} \right\}. (22) 第1个维度信道数量 \left| O \right| 是有限的,第2个维度发射功率包含3个等级,因此动作空间大小为3 \times \left| O \right|. 在具体的实现过程中,使用 \left[ {1,3 \times \left| O \right|} \right] 范围内的整数对信道进行编号. 对于具体的动作a_k^t,使用a_k^t\% \left| O \right|表示选择的信道编号,使用 \left\lfloor {{{a_k^t} / {\left| O \right|}}} \right\rfloor 表示选择的发射功率在发射功率列表中的序号.
奖励函数 R\left( {s_k^t,a_k^t} \right) 表示在状态s_k^t且采取动作a_k^t的情况下,即时奖励的期望值. 在时隙t的第k条链路的即时奖励r_k^t的设计为
r_k^t = {\lambda _V}{V^t} + {\lambda _Y}{Y^t} + {\lambda _Z}Z_k^t + {\lambda _S}{S^t}. (23) 在奖励函数中,使用链路传输速率作为正向奖励,以此衡量当前决策对其余链路的干扰影响程度. V2V链路延迟计算由式(10)给出. 对于V2V链路平均AoI,将其进行差分处理,即将相邻时隙V2V链路平均AoI的变化量 {\bar A^t} - {\bar A^{t - 1}} 作为惩罚项参与奖励函数,由式(19)给出. 通过差分处理,可以减少即时奖励的方差,从而提高训练的稳定性. 与此同时,差分处理实际上将本工作的优化目标从直接最小化V2V链路平均AoI转换为最小化平均AoI的增长,这种转换可以更好地引导智能体的训练过程.
3.3 神经网络模型
为了提升算法实时决策能力,算法所采用的神经网络模型引入注意力机制,这有利于网络提取重要的状态信息. CBAM具有空间和通道注意力,可以关注关键特征,忽略无用特征,使网络更加灵活地适应不同任务和场景,以实现更迅速、更灵活的决策. 卷积神经网络生成特征图之后,CBAM通过2个独立的注意力机制,分别从通道和空间维度对特征图进行加权,以实现自适应特征强化. 这个轻量级的通用模块可以集成到各种卷积神经网络中进行端到端训练,如图3所示.
给定输入特征图{\boldsymbol{F}},通道注意力模块推断通道注意力向量,衡量每个通道的重要性. 空间注意力模块推导出3维空间注意力地图,帮助模型更好地理解和利用输入中的空间信息,从而提高了网络的性能和效率. 加权后的特征图为
{\boldsymbol{F'}} = {M_{\text{c}}}\left( {\boldsymbol{F}} \right) \otimes {\boldsymbol{F}}, (24) {\boldsymbol{F''}} = {M_{\text{s}}}\left( {{\boldsymbol{F'}}} \right) \otimes {\boldsymbol{F'}}, (25) 其中 {M_{\text{c}}} 和 {M_{\text{s}}} 分别表示基于通道的和基于空间的注意力, \otimes 表示逐元素乘法, {\boldsymbol{F'}} 和 {\boldsymbol{F''}} 分别表示进行了通道注意力和空间注意力后的输出特征图. 通道注意力模块关注输入数据中有意义的内容,表示为
{M_{\text{c}}}\left( {\boldsymbol{F}} \right) = \sigma \left( {MLP\left( {avgpool\left( {\boldsymbol{F}} \right)} \right) + MLP\left( {maxpool\left( {\boldsymbol{F}} \right)} \right)} \right), (26) 其中 \sigma (\cdot ) 表示Sigmoid函数, maxpool(\cdot ) 表示最大池化, avgpool(\cdot ) 表示平均池化, MLP(\cdot ) 表示多层感知器.
空间注意力模块关注输入数据中更有意义的位置,是对通道注意力的补充,表示为
{M_{\text{s}}}\left( {\boldsymbol{F}} \right) = \sigma \left( {conv\left( {\left[ {avgpool\left( {\boldsymbol{F}} \right);maxpool\left( {\boldsymbol{F}} \right)} \right]} \right)} \right), (27) 其中 conv(\cdot ) 表示3维卷积层.
3.4 基于PPO-AM的单目标子问题训练算法
在第1阶段,利用PPO-AM算法训练单目标子问题模型. PPO-AM是一种在线深度强化学习算法. 在线学习意味着智能体通过与环境的交互更新策略,而不是像批量学习那样积累一些经验,然后进行一次性的更新. 更新策略的过程是连续进行的,智能体通过不断地与环境交互和从经验池中获得轨迹信息以逐步地改进其策略. 在PPO-AM算法的每次迭代中,基站作为智能体,具有计算和缓存能力,能够使用当前的策略与环境交互,收集经验数据. 然后,利用这些数据,不断逼近状态价值函数和动作价值函数以寻找最优的资源分配策略,如图3所示.
PPO-AM算法是基于策略优化的PPO算法实现的. 其中PPO算法是一种基于策略优化的深度强化学习算法,是在Actor-Critic框架的基础上发展起来的,主要用于训练智能体在环境中采取最优动作策略. 2个策略网络和1个价值网络组成了PPO算法,2个策略网络即新策略和旧策略,比较新策略和旧策略之间的差异,并根据这种差异来确定策略参数的更新方向,这有助于限制策略更新的大小,维持训练的稳定性. PPO算法旨在最大化策略的累积奖励,如式(28)所示,该算法引入状态价值函数、动作价值函数和优势函数更新Actor网络和Critic网络,以找到最优任务选择策略.
\begin{split} & J({\boldsymbol \theta} ) = \\ & {E_t}\left[ {\min \left( {\dfrac{{{\pi _{\boldsymbol \theta} }({a_t}|{s_t})}}{{{\pi _{{\boldsymbol \theta} _{\text{old}}}}({a_t}|{s_t})}}{{\hat A}_t},clip\left( {\dfrac{{{\pi _{\boldsymbol \theta} }({a_t}|{s_t})}}{{{\pi _{{\boldsymbol \theta} _{\text{old}}}}({a_t}|{s_t})}},1 - {\boldsymbol \varepsilon} ,1 + {\boldsymbol \varepsilon} } \right){{\hat A}_t}} \right)} \right],\\ \end{split} (28) 其中J({\boldsymbol \theta} )是目标函数,表示期望累计奖励. {\pi _{\boldsymbol \theta} }({a_t}|{s_t}) 是在状态{s_t}下采取动作{a_t}的策略函数. {\pi _{{\boldsymbol \theta} _{\text{old}}}}({a_t}|{s_t}) 是旧策略函数,即在更新前的策略. {\hat A_t} 是优势函数,表示在状态{s_t}下采取动作{a_t}的优势. clip函数确保新策略和旧策略之间的比值在预定义的范围\left[ {1 - { \varepsilon} ,1 + { \varepsilon} } \right]内. 这有助于防止策略更新过大,从而提高训练的稳定性, { \varepsilon} 是用于限制策略更新幅度的超参数.
状态价值函数是指在状态{s_t}下,遵循策略 {\pi _{\boldsymbol \theta} } 能够获得的期望奖励,如式(29)所示:
V_{{\pi _{\boldsymbol \theta} }}^{\boldsymbol \phi} \left( {{s_t}} \right) = {E_{{\pi _{\boldsymbol \theta} }}}\left[ {\displaystyle\sum\limits_{i = 0}^\infty {{\gamma ^i}{r_{t + i + 1}}|s = {s_t}} } \right], (29) 其中 {r_{t + i + 1}} = \displaystyle\sum\limits_{k = 1}^{{k_{\max }}} {r_k^{t + i + 1}} . \gamma 是折扣因子,用于计算累计奖励,将未来的奖励进行折现. 折扣因子决定了未来奖励的重要性,较小的折扣因子会降低对未来奖励的重视,使智能体更倾向于采取即时奖励更高的动作.
动作价值函数是指在状态{s_t}下,执行动作{a_t}之后,遵循策略 {\pi _{\boldsymbol \theta} } 能够获得的期望奖励,如式(30)所示:
{Q_{{\pi _{\boldsymbol \theta} }}}\left( {{s_t},{a_t}} \right) = {E_{{\pi _{\boldsymbol \theta} }}}\left[ {\displaystyle\sum\limits_{i = 0}^\infty {{\gamma ^i}} {r_{t + i + 1}}|s = {s_t},a = {a_t}} \right]. (30) 优势函数是指当前状态下采取某个动作相对于采取平均策略的优势,计算方式如式(31)所示:
{\hat A_t} = {Q_{{\pi _{\boldsymbol \theta} }}}\left( {{s_t},{a_t}} \right) - V_{{\pi _{\boldsymbol \theta} }}^{\boldsymbol \phi} \left( {{s_t}} \right). (31) 优势函数 {\hat A_t} 越大,意味着当前动作相对于平均水平更好. 在训练过程中,智能体倾向于更频繁地选择具有更大优势的动作. 这可能表明在当前状态下采取该动作更有可能获得更高的奖励或更好的长期奖励.
网络参数{\boldsymbol \theta} 通过式(32)进行更新.
{\boldsymbol \theta} = {{\boldsymbol \theta} _{{\text{old}}}} + \delta {{\hat {\boldsymbol g}}_{\text{actor}}}, (32) 其中{\boldsymbol \theta} 和{{\boldsymbol \theta} _{{\text{old}}}}分别代表新旧策略的参数. \delta 代表参数学习率,表示参数更新的快慢. {\hat {\boldsymbol g}_{\text{actor}}} 是策略梯度,用以更新参数的依据,如式(33)所示:
\begin{split} {{\hat {\boldsymbol g}}_{\text{actor}}} = & {\nabla _{\boldsymbol \theta} }{L^{clip}}({\boldsymbol \theta} ) = \\ & {E_t}\Bigg[ {\nabla _{\boldsymbol \theta} }\Bigg( \min \Bigg( \dfrac{{{\pi _{\boldsymbol \theta} }({a_t}|{s_t})}}{{{\pi _{{\boldsymbol \theta} _{\text{old}}}}({a_t}|{s_t})}}{{\hat A}_t},clip\Bigg( \dfrac{{{\pi _{\boldsymbol \theta} }({a_t}|{s_t})}}{{{\pi _{{\boldsymbol \theta} _{\text{old}}}}({a_t}|{s_t})}},1 -\\ &{\varepsilon} ,1 + {\varepsilon} \Bigg){{\hat A}_t} \Bigg) \Bigg) \Bigg]. \\[-1pt] \end{split} (33) 函数clip的作用是将新旧策略的比值限制在区间\left[ {1 - { \varepsilon} ,1 + { \varepsilon} } \right]内,避免了更新步长过大引起的不稳定性,增强了算法的收敛性. 具体地,当优势函数{\hat A_t}为正值时,需要增大新旧策略的比值,而比值大于1 + { \varepsilon} 时,将不提供额外的激励;当优势函数{\hat A_t}为负值时,需要减少新旧策略的比值,而比值小于1 - { \varepsilon} 时,将不再提供额外的激励.
对于Critic网络,网络参数{\boldsymbol \phi} 通过式(34)更新:
{\boldsymbol \phi} ' = {\boldsymbol \phi} - \eta {\hat g_{\text{critic}}}, (34) 其中{\boldsymbol \phi} 和{\boldsymbol \phi} '分别代表Critic网络更新前后的网络参数,\eta 代表参数学习率. 关于策略梯度 {\hat {\boldsymbol g}_{\text{critic}}} ,利用均方误差进行计算,如式(35)所示:
\begin{split} {{\hat {\boldsymbol g}}_{\text{critic}}} =& {\nabla _{\boldsymbol \phi} }{L^{\rm BL}}\left( {\boldsymbol \phi} \right) = \\ & {E_t}{\nabla _{\boldsymbol \phi} }\left( {{{\left( {\displaystyle\sum\limits_{i = 0}^\infty {{\gamma ^i}} {r_{t + i + 1}} - {V_{\boldsymbol \phi} }\left( {{s_t}} \right)} \right)}^2}} \right) = \\ & {E_t}\left[ {2\left( {\displaystyle\sum\limits_{i = 0}^\infty {{\gamma ^i}} {r_{t + i + 1}} - {V_{\boldsymbol \phi} }\left( {{s_t}} \right)} \right){\nabla _{\boldsymbol \phi} }{V_{\boldsymbol \phi} }\left( {{s_t}} \right)} \right]. \end{split} (35) PPO-AM算法伪代码如下所示:
算法2. PPO-AM算法.
输入:车辆状态和信道状态的集合 S ,Actor网络参数{\boldsymbol \theta} ,Critic网络参数{\boldsymbol \phi} ,最大训练次数J,每局的时隙数 T ,V2V链路数{k_{\max }},奖励折扣因子\gamma ,学习率\alpha ,经验回放缓冲区D,经验回放缓冲区大小 {D_{\max }} ,网络参数更新次数 {L_{{\text{epoch}}}} ;
输出:训练完成的策略{\pi _{\boldsymbol \theta} }.
① 随机初始化Actor网络及其参数、Critic网络 及其参数;
② for j = 1 to J do
③ 初始化环境;
④ {\pi _{{\boldsymbol \theta} _{\text{old}}}} \leftarrow {\pi _{\boldsymbol \theta} } ;
⑤ for t = 1 to T do
⑥ for k = 1 to {k_{\max }} do
⑦ s_k^t \leftarrow getState(k);
⑧ 通过Actor网络得到策略{\pi _{\boldsymbol \theta} },进而得到 动作a_k^t;
⑨ 当前V2V链路执行动作a_k^t,计算奖励r_k^t;
⑩ 将数据 \left\{ {s_k^t,a_k^t,r_k^t,s_k^{t{\text{ + 1}}}} \right\} 存入D;
⑪ end for
⑫ end for
⑬ if \left| D \right| = {D_{\max }}
⑭ for l to {L_{{\text{epoch}}}}
⑮ 计算{Q_{{\pi _{\boldsymbol \theta} }}};/*式(30)*/
⑯ 计算 V_{{\pi _{\boldsymbol \theta} }}^{\boldsymbol \phi} ({s_t}) , {\hat A_t} ;/*式(29)(31)*/
⑰ 更新Actor网络参数{\boldsymbol \theta} 和Critic网络参 数{\boldsymbol \phi} ;/*式(32)~(35)*/
⑱ end for
⑲ end if
⑳ end for
3.5 基于进化学习的多目标主问题训练算法
在第2阶段,首先将第1阶段训练的子问题模型集作为初始种群. 在每一代,每个单独的模型通过近端变异生成1个后代,称为子模型,该后代采用SM-G-SUM(safe mutation through gradients-summed gradient variant)变异算子[33]将缩放的高斯扰动添加到模型参数 {\boldsymbol \theta} 中,如式(36)所示:
{\boldsymbol \theta} ' = {\boldsymbol \theta} + \dfrac{x}{{\boldsymbol \tau } },x \sim {{\mathcal{N}}}\left( {0,\mu } \right) , (36) 其中 \mu 是变异幅度超参数,{\boldsymbol \tau } 是子模型网络参数的敏感度向量[33].
具体来说,子问题模型集\varPi 作为初始种群输入到算法3中,\varPi 中每个模型作为进化学习中的“个体”. 然后,计算种群中个体的适应度向量(目标向量),并用适应度向量标记个体. 最后,执行基于多目标的选择. 具体地,采用NSGA-Ⅱ根据适应度向量的非支配水平和拥挤距离对所有个体进行排序,并保留N个个体. 算法3是进化学习的伪代码. 基于进化学习的训练算法过程如图4所示.
算法3. 进化学习.
输入:子问题模型集 \varPi = \left\{ {{\pi _1},{\pi _2}, … ,{\pi _N}} \right\} ,其中模型 {\pi _i} 有参数 {{\boldsymbol \theta} _i} ,训练批大小为 {B_{\rm e}} ,最大迭代次数为 {I_{\max }} ,权重向量个数为N,非支配策略集合EP;
输出:优化后的模型集 {\varPi ^ * } = \left\{ {\pi _1^ * ,\pi _2^ * , … ,\pi _N^ * } \right\} 和非支配策略集合EP.
① 初始化非支配策略集合 EP = \varnothing ;
② for i = 1,2, … ,N do
③ {{\boldsymbol{f}}_{{\pi _i}}} = Evaluate\left( {{\pi _i}} \right) ;
④ end for
⑤ for g = 1,2, … ,{I_{\max }} do
⑥ for i = 1,2, … ,N do
⑦ 对训练数据随机采样 {G_j} = RandomInstance(\; ) ,\forall j \in \left\{ {1,2, … ,{B_{\rm e}}} \right\};
⑧ 计算敏感度向量{\boldsymbol \tau} ;
⑨ {{\boldsymbol \theta} '_i} = {{\boldsymbol \theta} _i} + \dfrac{x}{{\boldsymbol \tau} } ;
⑩ 产生带有参数{{\boldsymbol \theta} '_i} 的后代{\pi'_i} ,并且 {{\boldsymbol f}_{{\pi_i'}}} = Evaluate\left( {{\pi_i'}} \right) ;
⑪ end for
⑫ 根据适应度向量的非支配水平和拥挤距离 对个体进行排序,并选择N个个体作为 下一代;
⑬ 根据 {\pi '_i} 更新非支配策略集合EP;
⑭ end for
⑮ return {\varPi ^ * } = \left\{ {\pi _1^ * ,\pi _2^ * , … ,\pi _N^ * } \right\} .
4. 实验设置与结果分析
本节包括实验环境设置、实验对比算法、实验评估指标和实验结果分析.
4.1 实验环境设置
实验基于TensorFlow 2.7框架和Python 3.9环境,采用NVIDIA GeForce GTX
1650 GPU和Intel Core i5-10400 CPU. 仿真实验中的系统道路模型参考3GPP TR 36.885[34]的城市案例设计,如表2所示. 环境中相关参数的设定参考3GPP TR36.885中曼哈顿参数,如表3所示. 参考该模型,设计得到的道路模型如图5所示.表 2 道路模型参数Table 2. Road Model Parameters参数 城市案例 车道数 每个方向2个车道,每条街道共计4个车道 车辆数量 60 车道宽度/m 3.5 道路网格大小 433\; {\text{m}} \times 250 \;{\text{m}} 仿真区域大小 1\;299\;{\text{m}} \times 750\;{\text{m}} 平均车速/(m·s−1) 15 车辆直行概率 0.5 车辆左转概率 0.25 车辆右转概率 0.25 表 3 仿真系统参数Table 3. Simulation System Parameters参数 取值 载波频率/GHz 2 信道带宽/MHz 1.5 V2V链路负载/Kb 30 快衰落模型 Rayleigh衰落 阴影衰落标准差/dB 3 阴影衰落分布 对数正态分布 基站天线高度/m 25 基站天线增益/dBi 8 基站接收噪声/dB 5 车辆天线高度/m 1.5 车辆天线增益/dBi 3 车辆接收噪声/dB 9 V2N传输功率/dBm 23,10,5 4.2 对比算法
本文设置如下的对比算法以验证所提出算法的性能:
1)随机化资源分配算法RP(random policy). 在每个时隙,智能体为车辆用户对随机分配传输信道和发射功率.
2)低延时高可靠性优化的深度强化学习资源分配算法LHP(low-latency high-reliability policy)[24]. 该算法利用深度强化学习DQN算法,在V2V与V2N共享资源的前提下,通过资源分配实现 V2V链路的延迟、可靠性以及V2N链路传输速率的优化.
3)基于AoI的低延时高可靠性优化的深度强化学习资源分配算法LHP-A(low-latency high-reliability policy based on AoI). 该算法是在文献[24]原有目标基础上添加了AoI的优化目标,使得智能体在决策时额外考虑了链路传输信息的时效性.
4)动态邻近感知资源分配算法DPP(dynamic proximity-aware policy)[35]. 该算法利用多对1匹配博弈算法实现V2V链路资源分配以最小化V2V链路的延迟.
4.3 评估指标
仿真实验所采用的性能指标如下所示:
1)V2N传输速率{C^{\rm c}}. V2N传输速率描述了V2N链路在单位时间内传输的数据量. V2N传输速率越高,表示系统在单位时间内能够传输信息就越多. 这一指标可由式(6)计算得到.
2)V2V链路平均AoI {\bar A^t} . V2V链路平均AoI表征车辆获取数据的时效性. V2V链路平均AoI值越低,表示链路传输的信息的时效性越强,即传输的信息越新鲜. 这一指标可由式(13)计算得到.
3)V2V链路传输成功率{p_{{\text{success}}}}. V2V链路传输成功率是指V2V链路传输过程中,满足延迟约束的数据包所占的比例. V2V链路数据包传输的成功率越高,表示传输越可靠、满足延迟约束的效果越好. 计算方式如式(37)所示:
{p_{{\text{success}}}} = \dfrac{1}{{{k_{\max }}}}\displaystyle\sum\limits_{k = 1}^{{k_{\max }}} {{p_k}} . (37) 4)决策延迟时间{t_{\text{d}}}[36]. 决策延迟时间是衡量智能体响应速度的性能指标,是指从发起请求到决策所经历的平均等待时间,计算方式如式(38)所示:
{t_{\text{d}}} = \dfrac{1}{{{n_{\text{d}}}}}\displaystyle\sum\limits_{i = 1}^{{n_{\text{d}}}} {\left( {t_i^{\text{s}} - t_i^{\text{e}}} \right)} , (38) 其中 t_i^{\text{s}} 和 t_i^{\text{e}} 分表代表第i次决策的发起时刻和决策时刻, {n_{\text{d}}} 表示决策的总次数.
4.4 算法性能对比
1)收敛性
图6展示了子问题各算法训练过程. 随着训练轮数的增加,各算法的累计奖励均逐渐增大. 其中LHP-A算法在400轮左右达到收敛,PPO算法在350轮左右达到收敛,PPO-AM算法在200轮左右就已收敛,较前二者分别提速约50.0%和42.9%,收敛后的平均累计奖励分别优化约5.82%和19.41%. 这主要归功于PPO-AM算法引入了注意力机制,该机制使得模型在训练过程中能够更加精准地聚焦重要的状态信息,从而加速了对环境关键特征的识别与学习. 注意力机制有效地促进了模型快速捕捉到对累积奖励优化有正面影响的特征,进而加快了整个算法的收敛性.
2)不同车辆数量下各算法性能对比
车辆数量设置为20,40,60,80,100,120,基于表2和表3中的参数,以探究在不同交通密度条件下各算法的性能表现,如图7~9所示.
图7展示了不同车辆数量下各算法的V2V链路平均AoI. 就整体而言,AoI会随着车辆数量的增多呈上升趋势,原因是车辆数量增大会不可避免地导致资源块的竞争变得更加激烈,数据包的传输时间变长,导致链路的AoI会变大. 就不同车辆数量而言,当车辆数量为20辆时,3种算法的AoI性能差别不大,这是因为车辆数量较少时,资源竞争并不明显. 当车辆数为40辆时,资源竞争开始显现,导致RP算法的性能显著下降,其AoI开始急剧上升. 相比之下,LHP-A算法虽然也表现出AoI的增长,但其增长速度相对较慢,而MOPPO-AM算法显示出在资源受限环境下更为稳健的性能. 当车辆数量继续增加时,MOPPO-AM算法仍处于较优水平,AoI增长速度最小. 就平均性能而言,MOPPO-AM算法的AoI较RP算法减少54.4%,较LHP-A算法减少12%,说明MOPPO-AM算法在满足V2V链路传输信息时效性方面存在优势.
图8展示了不同车辆数量下各算法的V2V链路传输成功率. 随着车辆数量的增加,各算法的V2V链路传输成功率均出现了不同程度的下降趋势,MOPPO-AM算法下降趋势与其他算法相比较为平稳,但在车辆数为80时,成功率出现了较大幅度的下降,原因是车辆数量过多导致不能满足时间约束的数据传输增多. 车辆数量从40直到更多,MOPPO-AM算法相较对比算法的优势更为明显,与LHP-A算法相比,V2V链路传输成功率平均高出2.1个百分点,最多可达5.1个百分点. 此外,与LHP算法和DPP算法相比,MOPPO-AM的V2V链路传输成功率分别高出3.1个百分点和4.6个百分点. 这表明在对比算法中,MOPPO-AM算法在V2V链路传输成功率方面处于较优水平,在保证V2V链路传输稳定性方面存在优势.
图9展示了不同车辆数量下各算法的V2N链路传输速率. 在不同车辆数量的环境模拟中,MOPPO-AM算法均处于较优水平:较RP算法平均提高约103%,较DPP算法提高约16.7%,较LHP算法和LHP-A算法分别提高了12.1%和16.4%.
综合图7~9可知,在环境车辆数量不断增加的情况下,MOPPO-AM算法可以将车辆数量对性能数据的影响降到最低,由此说明MOPPO-AM算法能够更好地适应不同车辆数量的交通场景.
图10展示了不同车辆数量下各算法决策延迟时间. 由图10(a)可知,在决策延迟时间方面,传统算法DPP,RP和深度强化学习算法之间存在明显差异. 随着车辆数量的不断增加,DPP算法的决策延迟时间呈现出显著增长的趋势,而深度强化学习算法的决策延迟时间则表现出较好的稳定性. 这表明深度强化学习算法在处理大规模动态场景,尤其是车辆密集的交通环境时,相较于DPP算法具有明显的优势. 深度强化学习算法能够更加迅速且准确地做出决策,这不仅提升了决策的响应速度,也有助于实现高效、智能的交通管理. 图10(b)展示的是除DPP算法以外的其他算法决策延迟时间在不同车辆数量下的变化曲线. RP算法所做出的决策都是随机的,无需与环境交互,故决策时间最短. 其他3种算法的决策延迟时间均呈现稳定态势. LHP算法和LHP-A算法的决策延迟时间稳定在8.53 ms和9.57 ms左右;MOPPO-AM算法的决策延迟时间稳定在7.63 ms左右,在对比算法中处于最优水平,较LHP算法和LHP-A算法决策时间分别缩短10.6%和20.3%左右.
3)不同链路负载下各算法性能对比
V2V链路负载设置为26 Kb,28 Kb,30 Kb,32 Kb,34 Kb,基于表2和表3中的参数评估在不同链路负载下各算法的性能表现,如图11~13所示.
随着V2V链路负载持续增加,各算法的性能指标均呈现出变差的趋势,这是因为V2V链路负载的增大意味着链路传输任务消耗的资源也随之增多,在相同传输速度情况下,完成V2V链路传输任务所耗费的时间更多. 此外,V2V链路负载的增加还加剧了链路间对有限资源的竞争,导致性能指标的进一步恶化.
图11展示了不同链路负载下各算法的V2V链路平均AoI.2种深度强化学习算法在不同的V2V链路负载的情况下均优于RP算法. 在链路负载为26 Kb和28 Kb时,MOPPO-AM算法和LHP-A算法的AoI性能接近. 但是,随着V2V链路负载不断增加,LHP-A算法的AoI有缓慢增大的趋势,而MOPPO-AM算法的AoI始终维持在0.12左右. 在AoI方面,MOPPO-AM算法较LHP-A算法平均提高15%,较RP算法平均提高58%.
图12展示了不同链路负载下各算法V2V链路传输成功率. 随着V2V链路负载的不断增加,5种算法的V2V链路传输成功率均呈现下降趋势. 其中RP算法的表现最差,平均V2V链路传输成功率只有0.83;LHP-A算法、LHP算法和DPP算法次优,分别为0.94,0.93,0.91; MOPPO-AM算法的表现最好,V2V链路传输成功率的下降速度最慢,平均水平可以达到0.96.
图13展示了不同链路负载下各算法V2N链路传输速率. 随着V2V链路负载的不断增加,V2V链路所分配的资源逐渐增多,这加剧了对V2N链路的干扰,使得V2N链路传输速率也随之降低. 但MOPPO-AM算法具有更高的V2N链路传输速率,平均值为140.16 Mbps,较次优的LHP算法平均提高12.79%.
综合图11~13可知,在V2V链路负载逐渐增加的情况下,MOPPO-AM算法仍具有较低的AoI、较高的V2V链路传输成功率和V2N链路传输速率,说明MOPPO-AM算法可以更好地完成多种负载大小的传输任务,且在完成传输任务的同时最小化对V2N链路的干扰.
4)不同信道带宽下各算法性能对比
信道带宽设置为1.00 MHz,1.25 MHz,1.50 MHz,1.75 MHz,2.00 MHz,基于表2和表3中的参数,以评估在不同信道带宽下各算法的性能表现,如图14~16所示.
随着信道带宽的不断增加,各算法的性能指标呈现出稳步提升的趋势,这是因为信道带宽的增加意味着可分配的传输资源变多,在V2V链路负载和延迟约束保持不变的情况下,V2V链路可分配到的传输资源变多,链路传输速率会有所提升,完成传输任务所需要的时间相应变短,所以性能数据呈现好转趋势.
图14展示了不同信道带宽下各算法的V2V链路平均AoI. 虽然MOPPO-AM算法的AoI下降趋势不比RP算法的明显,但MOPPO-AM算法的AoI在各种信道带宽的情况下都处于最优水平,平均值为0.122,MOPPO-AM算法较RP算法平均减少58.83%,较LHP-A算法平均减少17.72%.
图15展示了不同信道带宽下各算法的V2V链路传输成功率. 随着信道带宽的不断增加,各算法的V2V链路传输成功率均出现了不同程度的上升,其中LHP算法的涨幅最大,上涨了13.91个百分点,MOPPO-AM算法涨幅最小,上涨5.44个百分点. 但MOPPO-AM算法平均表现仍处于较优水平,平均V2V链路传输成功率为96.16%,较涨幅最大的LHP平均提高7.5个百分点.
图16展示了不同信道带宽下各算法的V2N链路传输速率. 在信道带宽较低的情况下,其他对比算法的V2N链路传输速率普遍偏低,但MOPPO-AM算法仍具有较高且稳定的V2N链路传输速率. MOPPO-AM算法在所有信道带宽下V2N链路传输速率的平均值为139.01 Mbps,在所有对比算法中处于最优水平,较RP算法平均提高118.89%,较DPP算法平均提高21.57%,较LHP算法和LHP-A算法分别平均提高13.2%和11.4%.
综合图14~16可知,在信道带宽较高、可分配的传输资源较充足的情况下,各算法的性能指标之间的差距不大. 在传输资源相对匮乏的情况下,MOPPO-AM算法的性能也出现了下降的趋势,与其他算法相比,MOPPO-AM算法性能下降幅度较小且比较稳定,在信道带宽为1.00 MHz和1.25 MHz时尤为明显. 由此可见,MOPPO-AM算法对信道带宽的变化具有更强的鲁棒性和适应性.
综上所述,实验结果充分证明了MOPPO-AM算法在学习能力和环境感知能力方面的出色表现. 该算法不仅能够有效地处理多目标优化问题,还能通过注意力机制处理与任务最相关的状态信息,从而在资源受限或竞争激烈的环境中展现显著优势,并得出3个结论:
1)注意力机制加速收敛. 基于注意力机制的PPO-AM算法能够更精准地聚焦关键状态特征,减少模型处理不相关信息的复杂度,提高数据利用效率,从而显著加快了收敛速度,有效缩短了训练周期. 同时,PPO通过截断函数clip限制策略更新的幅度,保证了训练过程的稳定性.
2)多目标优化均衡模型训练效果. 相较于传统的单目标优化算法,基于进化学习的多目标优化MOPPO-AM算法在多个关键性能指标上展现出显著优势,包括V2N链路传输速率、V2V链路传输速率、V2V链路延迟、V2V链路平均AoI以及决策延迟时间. 这是因为MOPPO-AM算法可以均衡V2V链路和V2N链路不同的优化目标,能够更好地满足车联网场景中业务类型的多样化需求.
3)大规模动态复杂场景的高效决策能力. MOPPO-AM算法结合了多目标优化和深度强化学习的优势,显著提升了智能体的探索能力和快速响应能力. 特别是在通信资源竞争加剧的情况下,MOPPO-AM算法依然展现出良好的鲁棒性和适应性,确保了决策过程的高效性和稳定性.
5. 结束语
针对蜂窝车联网环境中V2V 链路和 V2N 链路共享无线资源以满足不同性能指标的问题,建立了多目标优化无线资源分配数学规划模型,设计了一种基于进化学习的多目标深度强化学习决策框架求解该问题. 仿真结果表明,该算法保证了智能体在与环境不断交互的过程中快速学习V2V无线资源分配策略,有效解决了动态不确定蜂窝车联网环境下的资源分配问题,旨在实现优化目标V2V链路的性能(即信息年龄、延迟以及传输速率)和V2N链路传输速率之间的权衡. 研究成果不仅提高了蜂窝车联网管控的自动化与自主化效率,而且简化了管控流程与降低人员管理成本,也适用于其他大规模动态复杂网络部署与管理. 后续将研究基于多目标联邦强化学习算法,以解决车联网数据隐私保护场景下的无线资源分配问题.
作者贡献声明:李可负责指导选题、问题建模、算法设计、撰写与修改论文;马赛负责搜集文献资料、实现论文算法、整理实验数据、撰写论文;戴朋林负责指导实验实施、修改论文;任婧和范平志负责网络架构设计和修改论文.
-
表 1 协议报文聚类方法概述
Table 1 Summary of Protocol Packets Clustering
面向目标 文献 协议类型 相似度计算方法 聚类算法 对比分析 面向协议格式的报文聚类 文献[25,35] 文本类 基于最长公共子序列 长度度量 凝聚层次聚类算法 计算简单,引入最长公共子序列相似度计算方法,但相似度计算并不能反映整个报文结构. 文献[36] 通用 基于语义信息的改进序列比对算法 基于语义信息的改进UPGMA算法 考虑协议报文的语义信息较为准确,但语义信息采集较为复杂,语义信息为自定义. 文献[37] 通用 基于字段概率分布信息度量 UPGMA算法 创新性利用概率模型生成的字段分布信息计算报文相似度. 文献[38] 文本类 基于ProWord产生的报文分段点度量 粗糙集划分算法 创新性引入粗糙集划分算法,但相似度计算过分依赖ProWord算法分段点. 面向协议种类的报文聚类 文献[40] 通用 基于TFD相似度的改进序列对比算法 参数指导的DBSCAN
聚类算法实现不同类型协议报文之间的聚类,但同一类型报文间相似度差距不大.同时仅考虑报文头部字节序列计算相似度存在一定的争议,并不合适. 表 2 协议报文分段方法概述
Table 2 Summary of Protocol Packets Segmentation
分段方法 文献 协议类型 方法基础 分段算法 对比分析 基于信息论投票的报文分段 文献[39] 通用 词内熵与词边界熵 基于信息熵的无监督专家投票算法 创新性引入无监督的专家投票算法,但计算时间复杂度较高,且针对二进制类协议效果不明显. 文献[41] 二进制类 字节信息熵与互信息 考虑字节间的互信息熵,结合字节间信息熵规律性,分段点选取更加合理.但针对二进制协效果不明显,且不同种类协议信息熵规律性易变,不能作为准则. 文献[42] 二进制类 字节信息熵 基于最近邻聚类算法决定分段点 考虑字节间的相似度,结合聚类算法,但计算时间复杂度较高,且产生的分段点可靠性不高. 基于决策模型的报文分段 文献[43] 通用 隐半马尔可夫模型 基于隐半马尔可夫模型的最大似然概率估计 创新性引入隐半马尔可夫模型,且对噪声有一定的容忍度,但频繁序列会对结果造成一定的影响. 文献[45] 二进制类 贝叶斯决策模型 基于序列比对算法的贝叶斯空位分段点决策估计 创新性引入贝叶斯决策估计,但其极度依赖于序列比对算法,部分分段点无法正确得到. 文献[46-47] 二进制类 时间序列突变点检测 基于时间序列多累积和的报文分段点检测算法 创新性引入时间序列突变点检测算法,但计算较为复杂,需要正序列、反序列2次检测. 基于比特结构的报文分段 文献[48] 二进制类 位一致性 基于多种位一致性值序列极大值点决定分段点 创新性引入位一致性,计算简单,但位一致性缺乏实际理论证明. 文献[49] 二进制类 位翻转频率 基于位翻转率极大值点决定分段点 只针对简单的二进制协议较为有效,更适合物联网协议分析. 表 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方法对报文进行分段,该方法对二进制协议效果不明显,但使用重定位对分段点再次确认,适用于较为简单的工控协议. 文献[46−47] 二进制类 基于最小描述长度与位置信
息的协议关键词提取算法创新性使用时间序列突变点检测算法对协议报文进行分段,并考虑位置信息提取协议关键词,但其较为依赖分段点的准确性,可能存在冗余. 文献[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频繁项挖掘算法重点对文本类协议报文分隔符做了详细分类,以统计信息提取协议关键词. 文献[80−81] 通用 基于CSP算法的协议
格式推断将协议字段划分为4种类型,并填充协议格式,但该格式不具有代表性. 文献[82] 二进制类 基于多维度字段长度的
Apriori频繁项挖掘算法以多种字段长度为基础挖掘频繁项,尽量减少未分段或过分段的协议关键词,但算法时间复杂度较高. 基于FP-Growth算法
的挖掘文献[83] 通用 基于信息熵分段与位置信
息熵的频繁项挖掘算法核心采用ProWord方法对报文进行分段,在频繁项挖掘之前对候选协议字段进行过滤,但其无法挖掘到完整的协议格式. 文献[84] 文本类 基于频繁项挖掘的CFSM
算法与CFGM算法考虑挖掘协议关键词间的并列、顺序与层次关系,并使用树形结构予以表示. 基于
PrefixSpan
算法的挖掘文献[85] 二进制类 基于频繁项挖掘的加密
协议明文格式推断算法创新性提取加密协议明文格式,但基于位置偏移的协议关键词提取具有一定的局限性. 引入多模式匹配的挖掘 文献[87−88] 二进制类 基于AC多模式匹配的
FP-Growth频繁项挖掘算法针对无人机等简单二进制协议具有较高的可用性,无法适用文本协议. 文献[89] 二进制类 基于AC多模式匹配的
Apriori频繁项挖掘算法针对Apriori算法的时间复杂度大有改进,提高效率. 基于深度
学习的协议
格式推断基于LSTM-FCN模型
的推断文献[90] 二进制类 基于LSTM-FCN模型的
深度学习算法创新性将深度学习算法引入协议逆向,定义5种字段类型,需要大量已知公开协议关键词结合时序关系训练模型,协议格式即为字段的识别划分. 文献[92] 二进制类 定义6种字段类型,将协议报文分为多维度长度字段进行分类,针对未知协议格式推断具有一定可行性. 表 4 语义分析方法概述
Table 4 Summary of Semantic Analysis
分析
方法文献 环境参数相关语义 标识性语义 指示性语义 特殊语义 对比分析 端口 地址 时间戳 结点名 参数 计数器 ID 报文
类型长度 偏移量 偏移
指针校验码 字符串 常量 加密
字段枚举 功能
代码基于字段取值的语义分析 文献[56] ● ● ● ● ● 需要基于正确的报文分段,构建数值集合,对数值集合间关系予以描述. 文献[57] ● ● ● ● ● ● ● 文献[93−94] ● ● ● ● ● 文献[95] ● ● ● ● ● ● 对特殊语义字段具有针对性的检测方法. 文献[96] ● ● ● ● ● 文献[65] ● ● ● ● 文献[97] ● ● ● ● ● 基于模板匹配的语义分析 文献[25] ● 需要正确先验知识构建语义模板,模板具有较低的兼容性. 文献[62] ● ● ● ● 文献[98] ● ● ● ● ● ● 注:●表示该方法中提到的可推断字段语义种类. 表 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状态合并算法 提出新型协议状态机,引入数据保护的概念,对协议状态机附加协议关键词间约束与协议报文间依赖等信息,使协议状态机更加完善,但同时造成推理的时间复杂度升高. -
[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
-
期刊类型引用(4)
1. 徐孟艳,屈炎伟. 远程医疗患者信息访问的多重身份认证仿真. 计算机仿真. 2025(01): 447-451 . 百度学术
2. 蒲阳. 电网高压输电无人机巡检关键点图像融合研究. 电子设计工程. 2025(08): 150-154 . 百度学术
3. 付启银. 基于视觉传达技术的可见光与红外图像融合方法. 激光杂志. 2025(04): 128-133 . 百度学术
4. 蒋顺生. 基于视觉传达的大型船舶航行图像融合研究. 舰船科学技术. 2023(18): 178-181 . 百度学术
其他类型引用(7)