基于行为指纹的网络设备识别方法

2023-04-07 07:01史桢港崔竞松
武汉科技大学学报 2023年1期
关键词:固件网络设备路由器

刘 芹,史桢港,崔竞松

(1.武汉大学空天信息安全与可信计算教育部重点实验室,湖北 武汉,430079;2.武汉大学国家网络安全学院,湖北 武汉,430079)

随着信息技术的深入发展,网络安全形势日益严峻。由于网络的开放性,导致各种未知设备可以轻松地接入网络,进而实施假冒设备攻击以非法获取敏感信息。为防范上述攻击,许多研究通过提取网络设备的静态特征来实现对设备身份的识别。文献[1-5]基于传感器制造业的差异,利用加速传感器、麦克风、扬声器、时钟差异等特征实现对设备的唯一性识别。文献[6-12]基于无线射频设备的硬件轻微缺陷来提取设备的射频特征,获得了较高的识别准确率。为了改善设备硬件指纹的鲁棒性,文献[13-18]利用能反映设备信道状态的特征来构建设备硬件指纹,与射频指纹相比,通过粒度更细的信道状态信息(channel state information, CSI)特征构建的信道指纹的鲁棒性更优,但是CSI指纹会随终端的位置和所处环境变化而改变。文献[19]研究发现,将CSI指纹与数据包到达时间间隔分布(packetarrival

interval distribution, PAID)指纹相融合可弥补CSI指纹的缺陷,这种指纹本质上也反映的是设备硬件特征。另外一种类型的设备指纹是基于从网络中获取的设备软件特征。文献[20-22]通过调用目标设备的API等工具获取目标设备安装的字体、位置信息等特征属性构成设备指纹,这些主动获取的静态特征很容易被篡改,因此这类指纹存在严重的安全问题,应用场景很少。文献[23-27]从网络中分析数据包的内容,获取OSI模型中每一层的协议特征,据此构建设备指纹,这类指纹依据不同类型的设备在配置和功能上存在的差异性以及通信时生成的数据流量来唯一标识该设备。

然而上述研究忽略了一个重要的问题,即待接入设备自身的安全性,包括设备固件版本对设备安全性的影响,例如TL-WDR4310(V2.0)需要将固件版本升级到 V2 _130318才可以安全地传输数据[28],因此网络设备的固件版本识别也是设备身份识别的重要组成部分。

由于不同的网络设备制造商使用不同品质(档次)的硬件以及不同的软件,故而网络设备处理时延具有可分辨性;同时,恶意代码的执行通常需要额外消耗一定的时间,当网络设备后门被激活或者被恶意代码入侵时,与正常状态下相比,网络设备处理数据包的时延会发生一定的变化,这种变化是难以隐藏的,上述特性为评估网络设备行为特征提供了可能。

本文针对静态指纹无法识别设备固件版本的缺陷,设计了一种新的基于行为指纹的网络设备识别方法。首先采集路由器等网络设备的处理时延数据,提取时延分布特征;然后构建网络设备的行为指纹,并据此生成设备的标准行为指纹;最后依托标准行为指纹实现对设备的分类与识别。该方法提取的是时间维度上的网络设备信息,其特征能动态反映设备的行为变化,既可用于识别设备型号,也可以用于识别设备的固件版本。

1 基于行为指纹的网络设备识别方法设计

基于行为指纹的网络设备识别方法如图1所示,其分为指纹录入和识别两个阶段。下面将从时延数据采集、数据预处理、行为指纹特征提取、标准行为指纹生成和指纹特征识别几个方面进行详细介绍。

图1 基于行为指纹的网络设备识别框架

1.1 设备处理时延数据采集

为了使基于网络设备处理时延的行为指纹具有更好的分辨性,需要一种高精度的时延测量方案。综合考虑测量成本、测量精度与测量方案的复杂程度,本文选用刘经南等[29]研制的网络信号传输时延纳秒级时间精度测量方法。

1.1.1 网络设备处理时延提取设备—GNSS时戳机

首先需要确定在网络中的哪一层获取时间戳信息,几种可能的方案如图2所示。相比于A和B,在C处标记的时间戳信息更接近实际的网络连接,不会受到操作系统、协议栈和路由器系统内核的影响,故而时间测量精度更高。

图2 时间戳在网络中的标记位置

当测量设备检测到新的数据帧时就可以记录该数据达到设备的准确时间。GNSS时戳机工作原理如图3所示,其包含数据包转发模块、以太网帧头检测模块、GNSS纳秒级授时模块以及时间戳生成模块,在转发数据包的同时也生成一个时戳数据包。数据包转发模块负责维持正常的网络通信;以太网帧头检测模块在检测到有效的以太帧抵达后及时发出计时触发信号;GNSS纳秒级授时模块负责提供纳秒级精度的时间信息;时间戳生成模块负责将授时模块提供的时间信息打包成时戳数据包后加入上报队列。

图3 GNSS时戳机工作原理

1.1.2 基于高精度授时的设备处理时延测量

当测试人员无法接近已在机房中部署完成的待测设备时,设备输入端口与输出端口的距离较远,依靠本地时钟的时间同步方案会降低时间测量精度;而GNSS授时模块通过卫星进行时间同步,精度较高,在可以接收到卫星信号的地方就可以实现时间同步。网络设备时延数据采集方案如图4所示。将两台GNSS时戳机(GS1与GS2)部署在待测设备两端,当待测设备处理数据包时,两台机器分别记录数据包经过的准确时间,并将生成的时戳数据包流通过Internet发送到分析机。因此,给GS1和GS2配置GNSS授时后,就可以保证本文提出的测量方案在各种实际场景中的应用效果。

图4 时延测量原理

1.1.3 设备处理时延的生成

在实际应用中,许多重要节点上的网络设备通常在大吞吐量的环境下工作。为了准确测量网络设备的转发时延,时戳机通过纯硬件电路快速记录每个数据包经过的时间。为了降低硬件设计的复杂度以减轻GNSS时戳机的负载,GNSS时戳机不提取数据包的标记,时戳数据包中只包含两个信息,即时戳机编号(id)与时间(t)。另外,经过Internet传输的数据流只能保证同一数据流的数据包有序,但在两个数据流之间有可能出现数据包混杂的情况,因此需要设计一个设备处理时延的生成算法来实现两个数据流中对应数据包的匹配。

以三个连续的数据包i、j、k为例,数据流flow1中的时间数据为ti1、tj1、tk1,数据流flow2中的时间数据为ti2、tj2、tk2。算法需要处理两类情况:

(1)数据流按以下顺序交替到达:ti1、ti2、tj1、tj2、tk1、tk2,由于abs(tj1-ti2)≫abs(ti2-ti1),此时算法只需保存abs(ti2-ti1);

(2)数据流到达顺序出现混杂:ti1、ti2、tj2、tk2、tj1、tk1,分析机发现连续的几个数据均属于同一数据流,于是丢弃之前的数据,此时数据流就变为ti1、tk2、tk1,由于abs(tk2-tk1)≪abs(tk2-ti1),因此算法只需要保存abs(tk2-tk1)。

具体的算法流程如图5所示,其中,last_de-

图5 处理时延的生成算法流程

lay表示上一次计算的数据包转发时延,delay表示当前计算的数据包转发时延,Long.MAX_VALUE表示长整型的最大取值数,MAX_NUMBER表示采集时延数据的个数。

1.2 设备处理时延数据预处理

当路由器等网络设备出现丢包、时戳数据包匹配错误等情况时,计算的时延数据会明显变大,因此需要对1.1.3节生成的设备处理时延数据中的异常值进行清洗。图6为待清洗的数据示例。由图6可以发现,异常时延数据的特征是数据量少且数值大,因此本文根据区间长度和区间数据量两个指标对时延数据进行预处理。

图6 待清洗时延数据示例

数据预处理算法流程如图7所示。首先将整个时延数据向量DELAY的取值区间划分为n个小区间,统计各小区间内的数据量,其最大值记为h。设置参数α(0<α<1),根据各区间数据量的相对关系,将数据量小于h×α%的区间认定为异常时延数据所在区间。在清洗完异常区间的时延数据后,根据区间长度l的变化来判断是否清洗完成,其中l=max(DELAY)-min(DELAY)。每清洗一次数据后获得新的时延数据向量DELAY′,并计算新的区间长度l′。设置参数β(0<β<1),如果l′≤lβ,则表明大部分异常数据已经被删除,清洗步骤可以停止。图6中的数据经过时延预处理算法清洗后得到最终的数据分布如图8所示。

图7 时延预处理算法流程

图8 清洗完成后的时延数据分布

将清洗完成后的数据以Nns为间隔重新分区,N代表了实际测量精度。统计各区间的数据量,得到一组时延-频次向量H:

H={〈t1,h1〉,…,〈ti,hi〉,…,〈tn,hn〉}

其中,ti为区间的中值,〈ti,hi〉表示区间[ti-N/2,ti+N/2)内数据包的数量为hi。

1.3 设备行为指纹特征提取

不同类型的网络设备在处理数据包时消耗的时间存在差异,这种差异可作为设备的行为指纹,用于对该类设备进行唯一标识。本文以图8中的时延-频次数据为示例进行特征提取,该数据具有高斯多峰分布特征,首先要提取时延分布中的波峰数量,然后借助遗传算法提取设备行为指纹特征。

1.3.1 波峰数量提取算法

由于不同网络设备的时延-频次分布中峰的数量不同,为了便于遗传算法确定待拟合的参数量,本文利用MATLAB中的findpeaks函数设计了波峰数量提取算法,其主要思路是根据某个波峰与其他波峰之间的高度差和距离来判断该峰是一个独立的分布还是一个“噪声”,算法流程如下:

(1)输入频次向量w,利用findpeaks函数初步找到数据中波峰的位置以及峰的高度,令[val,loc]=findpeaks(w,step,max(w)·γ),其中,step限制两个峰之间的最小距离,0<γ<1, max(w)·γ限制了波峰的最小高度,val数组返回各峰的高度值,loc数组返回各峰的位置值。

(2)如果abs(val(i)-val(i-1))

(3)当i≥length(val)时,算法结束,频次向量w中波峰的数量即为length(val)。

1.3.2 基于遗传算法的特征提取

遗传算法具有较好的全局搜索能力,本文通过遗传算法对时延数据的多峰正态分布模型进行拟合并提取其特征向量,算法主要流程如下:

(1)编码。对一个具有m个峰的多峰正态分布模型进行编码需要3m+1个浮点数,其中每个单峰对应3个参数〈μi,δi,pi〉,μi和δi分别表示第i个高斯单峰对应的均值和方差,pi表示该峰在整体中所占的权重,最后还有一个参数number代表拟合数据的总数据量,因此单个个体的染色体由一个长度为3m+1的浮点数数组表示。

(2)初始化种群。随机生成P个个体,构成初始种群。

(3)评估个体。根据适应度函数对个体进行评估。

首先,按式(1)计算频次h′i,得到新的向量H′={〈t1,h′1〉,…,〈ti,h′i〉,…,〈tn,h′n〉}。

h′i=

(1)

然后,通过两个向量的距离fitness=sqrt

(4)选择。通过轮盘赌的方式选出种群中适应度较好的个体,个体淘汰概率与fitness的大小成正比。

(5)交叉。根据给定的概率进行单点交叉,随机选择交叉点位置,将两个个体在交叉点后的基因互换,生成新的个体。

(6)变异。根据给定的概率对个体进行变异操作生成新的个体,随机产生变异点,将该点位的原基因值取反。

(7)替换。从父代种群和由交叉、变异操作生成的后代种群中选出P个个体组成下一代的初始种群。

(8)不断迭代,直至达到最大迭代次数或最优解不再变化。

(9)从拟合结果中抽取出特征向量v={μ1,p1,…,μi,pi,…,μm,pm}。

定义1网络设备的行为指纹。从网络设备转发数据包的时延分布中提取特征,构成网络设备的行为指纹v={μ1,p1,…,μi,pi,…,μm,pm}。

1.4 基于设备行为指纹的标准行为指纹生成

鉴于时延测量和遗传算法的不稳定性,提取的网络设备行为指纹也可能存在一定的误差,因此本文在对网络设备的行为指纹进行多次测量后构建标准行为指纹,用于设备识别。

定义2网络设备的标准行为指纹。一个具有m个峰的多峰时延分布的网络设备标准行为指纹定义为以<μ′1,…,μ′i,…,μ′m>为中心、R为半径的区间,即v标准={μ′1,…,μ′i,…,μ′m,R}。

具体而言,多次采集并提取该网络设备的行为指纹集合S={v1,…,vj,…,vn},其中每条行为指纹的表示形式为vj={μj1,pj1,…,μji,pji,…,μjm,pjm},基于遗传算法的标准行为指纹构建流程如下:

(1)编码。单个个体的编码由一个长度为m的浮点数数组组成,表示标准行为指纹定义的中心。

(2)初始化种群。随机生成P个个体,构成初始种群。

(3)评估个体。适应度函数设计为个体满足与行为指纹集合S的距离R的最小化约束,其计算方法如式(2)所示:

R=minj=1,…,nsqrt[(μ′1-μj1)2pj1+…+

(μ′i-μji)2pji+…+(μ′m-μjm)2pjm]

(2)

适应度值R越小表示标准行为指纹的半径越小,且标准行为指纹对网络设备的识别能力越强。

(4)选择。通过轮盘赌的方式选出种群中适应度较好的个体,个体淘汰概率与R的大小成正比。

(5)交叉。根据给定的概率进行单点交叉,随机选择交叉点位置,将两个个体在交叉点后的基因互换,生成新的个体。

(6)变异。根据给定的概率对个体进行变异操作生成新的个体,随机产生变异点,将该点位的原基因值取反。

(7)替换。从父代种群和由交叉、变异操作生成的后代种群中选出P个个体组成下一代的初始种群。

(8)不断迭代,直至达到最大迭代次数或最优解不再变化。

(9)从拟合结果中抽取出特征向量{μ′1,…,μ′i,…,μ′m}与最终的适应度值R构成该网络设备的标准行为指纹v标准={μ′1,…,μ′i,…,μ′m,R}。

1.5 基于标准行为指纹的设备识别

根据离线的设备处理时延数据构建出设备的标准行为指纹v标准={μ′1,…,μ′i,…,μ′m,R},采集该网络设备的实时时延数据得到行为指纹v={μ1,p1,…,μi,pi,…,μm,pm},然后计算r=sqrt[(μ′1-μ1)2p1+…+(μ′m-μm)2pm]。当r≤R时,表示该条待测行为指纹满足该网络设备的标准行为指纹距离R的最小化约束,即行为指纹落在其标准行为指纹构建的约束平面区间内,设备识别成功;否则,设备识别失败。

2 实验与结果分析

2.1 实验配置

以广泛使用的网络设备之一路由器为实验对象,测量路由器的处理时延,提取其行为指纹并进行设备识别。实验网络拓扑结构如图9所示,实验设备及其功能如表1所示,在实际使用时,分析机1、2、3可以为同一台设备。

图9 实验网络拓扑结构

表1 实验设备及其功能

2.2 路由器处理时延测量

本文对6款常见的家用路由器(型号:netcore N3、TL-WR886N、Tenda N300、FW300R、360F5C、Magic R100)的转发时延进行了测量,将发包程序的发包间隔设为1 ms,数据包大小设为60 B,每次实验采集20 000个数据包的时延。在数据预处理过程中,算法参数设置为区间数n=100,α=0.1,β=0.7;数据预处理后,以N=50 ns的间隔得到各个路由器的时延分布如图10所示。

2.3 路由器行为指纹特征提取

将波峰提取算法中的各参数设置为:step=1,γ=0.1,valThreshold=max(val(i),val(i-1))×0.5 ,locThreshold=length(w)×0.1。本文通过遗传算法,利用多峰正态分布模型对时延数据进行拟合,解出每个峰对应的〈μi,δi,pi〉。6款路由器时延数据的拟合结果如图11所示。

为了验证本文提出的行为指纹特征提取方案的可靠性,按2.2节的设置对每款路由器均重复进行100次实验并拟合出行为指纹,图12为TL-WR886N路由器的拟合结果统计,可见看到,多次实验中得到的两个单峰对应的时延数值变化很小,体现出拟合结果的稳定性。

图12 TL-WR886N路由器的拟合结果统计

进一步对上述6款路由器时延数据拟合曲线中各峰的位置进行定量分析,按式(3)建立拟合结果的稳定性评价指标W,数值越接近1,则表明拟合性能越稳定,最终的计算结果如表2所示。

(3)

式中:Vmax、Vmin和Vavg分别为各峰对应的时延最大值、最小值和平均值。

表2 6款路由器时延数据拟合稳定性指标

从表2可以发现,6款路由器的稳定性评价指标W均大于0.98,证明本文基于遗传算法利用多峰正态分布模型对设备处理时延分布进行拟合的效果较好,其结果稳定可靠。

2.4 环境变量对设备行为指纹的影响

上文实验中,在测量路由器的转发时延时,设置了固定的发包周期(1 ms)与数据包大小(60 B)。实际应用中,这两个环境变量是会变化的,因此需要考虑它们对设备行为指纹的影响。

首先以FW300R路由器为例,探究发包周期对行为指纹的影响。将数据包大小固定为60 B,发包周期分别设为1、5、10、20、25、30 ms,每次采集10 000个数据包,然后提取设备行为指纹,实验结果如图13所示。根据式(3)计算得到发包周期改变时,FW300R路由器行为指纹中两个峰的位置稳定性指标为0.98和0.99,这表明发包周期的改变对设备行为指纹的影响很小。

图13 FW300R路由器行为指纹与发包周期的关系

接下来探究数据包大小对行为指纹的影响。仍以FW300R路由器为例,将发包周期设为1 ms,数据包大小分别设为60、100、200、300、400、500 B,每次采集10 000个数据包,提取设备行为指纹,实验结果如图14所示。

图14 FW300R路由器行为指纹与数据包大小的关系

对图14中的数据进行线性回归拟合,最大误差为0.073%,这表明随着数据包的增大,路由器处理时延也在线性增长,因此可以根据线性回归方程,用数据包大小为60 B时的时延值来预估数据包大小不等于60 B时的时延值。也就是说,可以利用发包周期为1 ms、数据包大小为60 B时的行为指纹来构建标准行为指纹,在实际应用时,将不同环境条件下的设备处理时延特征规约到60 B数据包的处理时延上,然后再进行设备识别。下面设置了发包周期和数据包大小不同的12组实验,采用上述方法对FW300R路由器进行行为指纹匹配,每组实验各重复100次,结果如表3所示。由表3可见,每组实验的行为指纹识别率均不低于96%,这表明在路由器处理不同规格的数据包时,其行为指纹的变化是可预期的。

表3 路由器处理不同规格数据包时的行为指纹识别结果

2.5 基于标准行为指纹的网络设备识别

2.5.1 对不同类型网络设备的识别

在前述6款路由器处理的发包周期为1 ms、数据包大小为60 B的UDP数据流中,每次分别采集100、1000、5000、10 000个数据包的时延,每个设备重复采集200次,获得实验数据集,其中,70%的数据用于构建各路由器的标准行为指纹,30%的数据作为验证集。各款路由器的识别准确率如表4所示。

表4 6款路由器的识别结果

由表4可以发现,识别准确率与待测设备时延分布的复杂度呈负相关,与采集的数据包数量呈正相关。为了方便后续实验,本文进一步测试了6款路由器达到95%以上的识别准确率所需要的数据包数量,实验结果如表5所示。

表5 6款路由器达到95%识别准确率所需的数据包数量

基于GNSS的授时方案会受卫星信号强弱等因素的影响,导致授时精度出现偏差。为了验证基于标准行为指纹的网络设备识别方案的鲁棒性,本文还对早期采集的数据进行了分析。历史数据采集时的实验条件相同,发包间隔为1 ms,数据包大小为60 B,每款路由器约有300万条的时延数据。按照表5的实验结果,从历史数据中随机选择连续的多条数据构建不同设备的行为指纹,并保证所选的数据之间不会产生交集,每款路由器均构建了100条行为指纹,最终的路由器识别准确率如表6所示。

表6 基于历史数据的6款路由器识别结果

设备的行为指纹特征会随着时延数据采集时间的不同而出现一定的波动,但根据表6中的结果可知,采用本文方案对不同类型路由器的识别准确率均在90%以上。设备的射频指纹与信道状态指纹会随着设备位置、工作环境等因素的改变而变化,相比较而言,设备行为指纹的鲁棒性更好。

2.5.2 对同型号、同硬件版本、同固件版本的设备识别

型号、硬件版本和固件版本均相同的网络设备具有一致的标准行为指纹。为了验证这一观点,下面针对6个硬件和固件版本完全相同的FW300R路由器进行实验,发包周期设为1 ms,数据包大小设为60 B,数据包个数为10 000,对每个路由器均采集100组数据。随机选择1个路由器的数据构建标准行为指纹,据此对其他5个路由器进行识别,实验结果如表7所示。表7中数据表明,本文构建的行为指纹不会区分型号、硬件版本和固件版本均相同的多个网络设备。

表7 对型号、硬件版本和固件版本相同的路由器的识别结果

2.5.3 对同型号、同硬件版本、不同固件版本的设备识别

本节针对型号和硬件版本相同而固件版本不同的路由器进行设备识别。以6个netcore N3路由器为实验对象,其硬件版本均为V3.2,路由器中编号为a、b、c的设备固件版本为V3.0.1.59043,编号为d、e、f的设备固件版本为V3.0.4.59479。对每个路由器在发包间隔为1 ms、数据包大小为60 B的UDP数据流中,每次采集10 000个数据包的时延,并重复100次,然后基于遗传算法对设备的时延分布进行特征提取。实验时将路由器f的采样数据用于构建负样本的标准行为指纹,正样本标准行为指纹采用2.5.1节中构建的netcore N3路由器的标准行为指纹。

将本文提出的基于标准行为指纹的识别算法与支持向量机(SVM)算法进行对比。在分类过程中,将路由器a、b、c看作正样本,路由器d、e看作负样本。在SVM算法的训练过程中只对正样本数据进行训练,相当于是一个单分类的SVM算法。实验结果如表8所示,其中TP表示正样本被准确识别;FN表示正样本被识别为负样本;FP表示负样本被识别为正样本;TN表示负样本被准确识别。由于本文方法只能判断设备行为指纹是否属于正、负样本的标准行为指纹,因此第二列中的TP+FN或TN+FP不一定为100。

表8 对同型号、同硬件版本、不同固件版本路由器的识别结果

从表8中数据可以发现,单分类SVM算法对负样本的分类准确率最高仅为19%,几乎无法分辨正、负样本;而本文提出的基于标准行为指纹的识别算法可以较好地发现不同固件版本路由器的设备行为指纹之间的边界,更适合于该场景下的设备识别。

2.6 与相关工作的比较

本文提出的行为指纹与其他文献提出的静态指纹在设备识别中的应用特点如表9所示。由于无线网络设备中不同的硬件在射频特征和信道状态特征上存在差异,文献[6-18]中基于这些硬件特征构建的静态指纹可以区分每一款设备;而从同一型号的路由器中提取的协议类型特征是相同的,因此文献[23-27]中的方法只能实现对不同类型路由器的识别。更改设备的固件版本不会影响设备的硬件,因此文献[6-18]中的方法无法分辨设备的固件版本是否发生变化;同时,改变设备的固件版本不会改变路由器通信时使用的协议等信息,即不会改变文献[23-27]中提取的特征,因此采用相应的方法也无法区分设备固件版本的变化。本文提出的行为指纹不仅能区分不同型号的设备,而且根据表7和表8的实验结果可知,尽管行为指纹不会区分型号、硬件版本和固件版本均相同的网络设备,但当设备的固件版本发生变化时,其转发数据包的时延分布也会明显不同,基于标准行为指纹的设备识别方案可以发现这个改变,进而实现对设备的准确识别。

表9 设备识别中的行为指纹与静态指纹比较

3 结语

针对现有静态指纹只能识别网络设备本身的真伪而无法分辨设备行为变化的不足,本文提出了一种基于网络设备处理时延的行为指纹识别方案。通过遗传算法进行时延分布特征提取并构建标准行为指纹,实现了对网络设备的快速识别。本文方法可以发现网络设备固件版本的变化,相比于硬件指纹能更好地反映设备的行为安全性。未来将从以下三个方面进一步开发网络设备行为指纹的应用价值:

(1)对标准行为指纹进行深入研究,探讨用行为指纹来映射设备工作机理的方法,比如反映路由器中某个核心算法的特征。

(2)拓展研究模型,使得研究对象不再局限于处理时延服从多峰正态分布的路由器。

(3)将应用领域扩展到结构更复杂、干扰因素更多的网络设备或通信链路。

猜你喜欢
固件网络设备路由器
买千兆路由器看接口参数
网络设备的安装与调试课程思政整体设计
维持生命
路由器每天都要关
路由器每天都要关
一种基于C# 的网络设备自动化登录工具的研制
基于固件的远程身份认证
提取ROM固件中的APP
一种通过USB接口的可靠固件升级技术
基于列车监测网络设备的射频功放模块设计