-
摘要:
近年来,随着物联网(Internet of things, IoT)设备的大规模部署,针对物联网设备的恶意代码也不断出现,物联网安全面临来自恶意代码的巨大威胁,亟需对物联网恶意代码检测技术进行综合研究. 随着人工智能(artificial intelligence, AI)在计算机视觉和自然语言处理等领域取得了举世瞩目的成就,物联网安全领域也出现了许多基于人工智能的恶意代码检测工作. 通过跟进相关研究成果,从物联网环境和设备的特性出发,提出了基于该领域研究主要动机的分类方法,从面向物联网设备限制缓解的恶意代码检测和面向性能提升的物联网恶意代码检测2方面分析该领域的研究发展现状. 该分类方法涵盖了物联网恶意代码检测的相关研究,充分体现了物联网设备独有的特性以及当前该领域研究存在的不足. 最后通过总结现有研究,深入讨论了目前基于人工智能的恶意代码检测研究中存在的问题,为该领域未来的研究提出了结合大模型实现物联网恶意代码检测,提高检测模型安全性以及结合零信任架构3个可能的发展方向.
Abstract:In recent years, with the large-scale deployment of Internet of things (IoT) devices, there has been a growing emergence of malicious code targeting IoT devices. IoT security is facing significant threats from malicious code, necessitating comprehensive research on IoT malware detection techniques. Following the remarkable achievements of artificial intelligence (AI) in fields such as computer vision (CV) and natural language processing (NLP), the IoT security field has witnessed numerous efforts in AI-based malware detection as well. By reviewing relevant research findings and considering the characteristics of IoT environments and devices, we propose a classification method for the primary motivations behind research in this field and analyze the research development in IoT malware detection from two perspectives: malware detection techniques towards IoT device limitation mitigation and IoT malware detection techniques towards performance improvement. This classification method encompasses the relevant research in IoT malware detection, which also highlights the unique characteristics of IoT devices and the current limitations of the IoT malware detection field. Finally, by summarizing existing research, we extensively discuss the challenges present in AI-based malware detection and present three possible directions for future research that consists of combining foundation models in IoT malware code detection, improving the safety of detection models, and combining zero trust architecture in this field.
-
无人机(unmanned aerial vehicle, UAV)的飞行依赖于传感器对环境的测量感知,以确定无人机所处的状态. 准确地对系统状态做出估计是无人机系统可靠安全(safety)决策的前提[1],然而,无人机飞行控制系统的状态估计面临严重的传感器注入攻击威胁[2],攻击者通过干扰被感知的物理环境或者从物理上损害传感器等手段,误导无人机传感器接受恶意输入,估计出错误系统状态,从而使无人机控制器产生错误输出并导致飞行异常. 与物理层拒绝功能的阻塞干扰(jamming)攻击[3]不同,传感器注入的目的是通过错误的信号或数据改变无人机传感器对环境的感知,以在控制系统层面改变无人机行为,故亦称为传感器欺骗. 传感器注入攻击在诸多领域有着广泛应用,如针对植入式医疗设备的音频攻击[4]、对汽车防抱制动系统(antilock braking systems,ABS)的磁场注入[5]和对自动驾驶车辆的激光雷达数据欺骗[6]均说明此类攻击的有效性.
在传感器注入攻击检测和缓解方面,针对单一传感器数据特性(如GPS 信号)的研究相对较多[7],而对不局限于特定数据/信号特性的通用传感器注入攻击缓解技术的研究则相对较少,一些现有方法还依赖于辅助传感器的正常工作[8]或要求增加特定硬件[9]. 特别地,如何基于无人系统的有限计算资源对传感器注入攻击进行准确地在线检测和缓解,仍是亟待解决的问题. 在这方面,基于系统识别的攻击检测框架[10]和基于非线性物理不变量拟合的检测方案[11]通过在线检查所感知的物理状态是否与控制模型确定的预期状态一致来检测外部传感器攻击,检测效果因控制模型精度不同而存在差异. 后续的恢复方法[12-13]对受攻击无人机的系统状态进行恢复,但由于无人机系统本身属于非线性系统,因此基于系统识别得到的线性模型恢复出的系统状态[12]的准确性有限,仅能提供无人机进入失效保护(failsafe)模式之前的短暂恢复,而基于机器学习的抗攻击前馈控制器[13]监控无人机的主控制器,在攻击下代替无人机主控制器恢复无人机,相比模型预测结果参与传感器融合的恢复机制[12]而言,这种前馈恢复机制缺乏稳定性和持续性.
本文的基本思想是利用机器学习模型对非线性系统的准确刻画能力,结合容忍预测误差短时振荡的攻击检测及恢复算法,在无人机飞行控制系统软件层面实现准确的传感器注入攻击检测和系统状态恢复. 同时通过对轻量级机器学习模型的设计和选择,克服无人机计算资源对非线性系统模型的运行时开销的限制. 具体地,本文提出的基于机器学习的无人机传感器攻击在线检测和恢复方法LDR建立了不同传感器相对应的轻量级机器学习预测模型,该模型可预测出对应传感器下一时刻的状态. 飞控内嵌的LDR系统通过比对模型预测值和传感器测量值,准确检测并及时隔离受攻击的具体传感器,防止攻击者继续误导或破坏传感器,并使用机器学习模型的预测值替代传感器测量值参与无人机后续控制过程,使得无人机在受攻击后的一段时间内能够正常飞行. 本文的主要贡献包括3个方面:
1) 提出的LDR利用轻量级机器学习预测模型对陀螺仪、加速度计、GPS、磁力计等多种传感器的注入攻击进行有效检测和传感器度量恢复.
2) 提出的LDR攻击检测及恢复算法利用误差超限计数阈值和恢复有效计数阈值容忍传感器模型预测误差振荡导致的误报,相比现有检测和恢复方法提升了传感器度量的恢复效果.
3) 在开源飞控系统ArduPilot 4.1.0上的实验说明了LDR在线检测和恢复的开销满足飞控系统运行时的要求,LDR系统在正常飞行下的误报满足飞行可靠性要求,LDR预测模型有效,LDR系统针对GPS传感器攻击和陀螺仪读数攻击的在线检测和恢复效果相比现有工作[12-13]更好.
1. 相关工作
Nassi 等人[14]将无人机系统所面临的攻击归纳为直接物理访问攻击(包括针对无人机固件的供应链攻击)、临近物理侧攻击(包括针对相机数据、陀螺仪/加速度计/罗盘等传感器数据、GPS 信号的欺骗和抑制攻击)、无线信道攻击(包括网络边信道攻击、传统WiFi攻击). 本文主要针对临近物理侧的传感器注入攻击进行检测和恢复,此类攻击利用的相关目标传感器包括GPS接收器、相机、加速度计、陀螺仪、磁力计等.
从控制模型理论分析和仿真的角度研究无人机系统错误数据注入攻击和检测的工作通常难以从系统安全的视角考虑具体控制系统软件和攻击在具体系统上的可实现性,如将无人机抽象为线性非时变控制系统模型[15-16],将隐蔽攻击序列(包括直接控制获取攻击和机载导航攻击[16])均抽象为从理论上直接注入系统模型. 此外,还可以直接将传感器抽象为非线性系统并构建用于攻击检测的非线性模型结构[17].
而从系统安全的视角,典型GPS欺骗攻击[18-19]能够引入位置、导航和时间计算方面的错误,导致无人机偏离预定轨迹. 通过分析无人机飞控软件的GPS 失效保护模式,能够给出针对不同类型无人机实施有效GPS欺骗的攻击策略[20]. 无人机的微机电系统(micro-electromechanical systems,MEMS)陀螺仪可在声音频段共振,这种声学干扰引起陀螺仪性能衰减,利用这种性能衰减在飞控软件中的传播可导致无人机坠毁[21],类似的攻击还被应用在MEMS 加速度计上[22]. 利用光线对光流传感器的输入进行欺骗攻击,能够控制无人机在定点悬停模式下的侧向速度[23]. 现有的攻击方案还考虑了无人机具备扩展卡尔曼滤波(extended Kalman filter,EKF)或控制不变量[10]等基于先验不变量的异常检测机制,如当前已实现的错误数据注入、人为延迟、飞行模式切换攻击[2]能够推断检测阈值并据此构造隐蔽的传感器攻击. 针对ArduPilot飞控系统的数据融合实施的错误数据注入能够绕过EKF异常检测机制操作磁力计读数,在无人机无法接收地面站或GPS 信号时导致无人机偏航[24].
已有针对传感器攻击提出的多种防御方案[2,18-19,21-22,24],然而这些方案或仅针对特定传感器,或对控制系统硬件和算力有很高要求. 在惯性测量单元(inertial measurement unit,IMU)受攻击产生故障时,现有容错方案[8]使用其余传感器估计的位置和航向信息来恢复受损的姿态状态,使无人机在没有IMU读数的情况下稳定飞行一定时长. 对Lucas-Kanade光流传感方法的传感器输入欺骗攻击(包括图像欺骗和激光欺骗等),随机采样一致性(random sample consensus,RANSAC)算法能够合成缓解攻击的传感器输出[23]. DeepSIM[25]通过比较本机航拍照片和预存卫星图片进行位置验证,实现了一种高成本、高鲁棒性的GPS 欺骗检测. BlueBox[9]的跨层安全架构利用外部独立的软硬件计算单元进行异常检测和恢复,硬件冗余使得BlueBox 具有相对于传统模型更强的恢复能力. 基于单分类器的入侵检测方法[26]利用多种单分类器(包括单类支持向量机、自动编码器和局部离群因子算法)进行异常检测,检测的精度较差,且未实现系统状态恢复.
对硬件算力的限制和对安全机制的通用性要求促使了面向多种传感器攻击的飞控内嵌的通用运行时检测和恢复机制的发展. 使用系统识别方法能够生成反映无人机物理特性、控制算法和外部物理定律的控制不变量模型[10],控制不变量模型在运行时利用其前序预测结果与无人机当前目标状态预测出对传感器的当前期望值,若时间窗口内无人机传感器的测量值和期望值的差异大于阈值,则检测出外部攻击异常. 后续提出的系统恢复方案[12]利用这种控制不变量模型的物理状态预测值,为每个传感器设计一个软件传感器,软件传感器预测传感器测量值并替换潜在被攻击的实际传感器测量值,该方案对传感器测量值的恢复持续时间较短且对个别传感器类型的恢复效果有限. SAVIOR[11]使用非线性物理不变量拟合的无人机系统模型相比控制不变量线性模型更准确,但该方法尚不支持攻击恢复. PID-Piper[13]基于长短期记忆(long short term memory,LSTM )实现了一种抗攻击的前馈控制器,将LSTM模型控制器以C++代码形式嵌入飞控,深度模型在线根据控制器输出的偏移量大小决定是否接管PID 控制器,尽管无法判断传感器是否存在异常(即不存在一般意义的检测机制),PID-Piper仍能够根据控制误差启动恢复,该方案的实际恢复稳定性和持续性不及文献[12]的攻击恢复方案. LDR能够对计算资源受限的无人机及其开源飞控系统进行有效的在线攻击检测和恢复,达到优于文献[12-13]的检测和恢复效果. 方案特点对比如表1所示.
2. LDR检测和恢复方案设计
本节介绍LDR的具体方案. 方案保护的典型传感器包括GPS、陀螺仪、加速度计和磁力计.
2.1 总体框架
考虑到EKF的传感器噪声矫正效果不利于攻击检测且传感器融合过程不利于攻击影响的隔离,LDR选择在传感器测量值进入EKF传感器融合过程之前插入LDR传感器预测模块及相应的恢复开关机制,插入预测模块的无人机飞控系统整体运行架构如图1所示. 由于不同传感器的测量值以一定的顺序接入EKF传感器融合过程,因此图1中虚线内部分实际上在传感器融合过程中存在多个实例,每个实例对应于1个传感器,其中的LDR传感器预测模块对不同的传感器使用不同的预测模型(具体见2.2节).
原始飞控系统的多个传感器的测量值在融合后会与系统目标状态一起输入控制器. 引入LDR传感器预测模块后,该模块依据目标状态实时运行,并使用检测算法(具体见2.3节)检测各传感器状态是否受到攻击,当检测到传感器攻击时,开启恢复开关,隔离被攻击的传感器;同时进入恢复状态,用LDR传感器预测模块对传感器读数的预测值替代被攻击传感器的测量值用于EKF传感器融合. 未被攻击的传感器则继续工作. 如受攻击传感器的测量值与对应的LDR传感器预测模块输出的累积误差在特定时间窗口内小于特定恢复阈值,则认为攻击已停止,关闭恢复开关,无人机继续使用正常的传感器测量值进行飞行控制.
LDR传感器预测模块的内部构造如图2所示. 其中,机器学习模型将前一时刻该机器学习模型的预测值和无人机系统的目标状态值作为输入,迭代输出当前时刻的预测值. 由于每个机器学习模型对应于一个特定的无人机状态变量(具体见2.2节),而状态变量可能不能与真实传感器测量值直接比较(如表2中加速度计传感器预测模型预测的速度矢量不能与测量出的加速度直接比较),因此对于机器学习模型的预测输出,先通过适当转换处理,生成当前时刻LDR传感器预测模块对传感器的预测输出;对于无需转换处理的模型预测输出,直接作为传感器预测输出使用. 在攻击检测时(见2.3节),将传感器预测输出与真实传感器测量值进行比对. 当1个检测窗口时间内,传感器测量值与对应的传感器预测输出的累积误差多次超过相应的误差阈值(不同传感器误差阈值不同),则检测到攻击存在,触发恢复开关开启信号,由传感器的预测输出代替测量值参与后续传感器的融合和控制流程.
表 2 传感器预测模型和对应的系统状态变量及预测输出Table 2. Sensor’s Prediction Model and Corresponding System State Variables and Prediction Output传感器 无人机
状态变量目标
状态值预测输
出转换传感器
预测输出陀螺仪 角速度矢量
{ωx,ωy,ωz}目标角速度矢量 角速度矢量 加速度计 速度矢量
{vx,vy,vz}目标速度矢量 速度→
加速度加速度矢量 GPS 位置矢量
{px,py,pz}目标位置矢量 位置矢量 磁力计 偏航角ψ 目标偏航角 偏航角 2.2 预测模型构建
由于本文的目标是构建可内嵌于飞控的在线检测和恢复机制,因此对机器学习模型有严格的效率要求. 本文使用简单神经网络模型(包括单层感知机和多层感知机)训练各个传感器所需的预测模型,解决无人机传感器输出的时间序列预测问题.
本文针对四旋翼无人机的10个状态变量分别构建机器学习预测模型,陀螺仪、加速度计、GPS、磁力计分别使用这些模型进行预测. 状态变量与使用该变量的传感器的对应关系如表2所示. 在状态变量集合{px,py,pz,ψ,ωx,ωy,ωz,vx,vy,vz}中,每一种状态变量在任一时刻的目标状态值都能够在无人机飞行时从PID姿态控制器获取. 特别是飞控系统中无法直接获得加速度的目标状态值,因而,LDR加速度计预测模块对无人机加速度的预测需要先使用机器学习模型预测速度,再将每一时刻的预测速度矢量在线转换处理为预测加速度矢量,用于与加速度计的测量值进行比较. 而对于磁力计,飞控系统亦无法获得磁力矢量的目标状态值,因而LDR磁力计预测模块使用机器学习模型预测偏航角(yaw),记作ψ. 但与LDR加速度计预测模块的预测输出转换(从速度预测值转换为加速度预测值)不同,LDR磁力计预测模块直接使用预测出的偏航角执行攻击检测. 磁场测量值向偏航角测量值的转换基于公式[27]:
ψ=arctan(−my⋅cosϕ−mz⋅sinϕmx⋅cosθ+my⋅sinθ⋅sinϕ+mz⋅sinθ⋅cosϕ), 其中,mx、my、mz分别为机体坐标系沿x、y、z轴的磁场测量值,ϕ和θ分别为翻滚角(roll)和俯仰角(pitch)的测量值. 对于磁力计受攻击情况下的恢复,由于无人机磁力计度量的作用是矫正姿态四元数,LDR直接将预测得到的偏航角引入EKF传感器融合过程以实现对姿态的矫正,而不再将预测偏航角转化为磁力计读数的预测值.
模型的训练过程使用无人机正常飞行过程中的目标状态值和测量值数据进行. 具体地,使用状态变量当前时刻的测量值和无人机目标状态值作为输入特征,使用状态变量下一时刻的测量值作为输出特征,以使模型学习到正常飞行时状态变量测量值的时序特征. 对于不同机器学习预测模型,需要收集不同的状态变量测量值和目标状态值的时间序列数据,作为预测模型训练所使用的输入特征和输出特征. 因此,我们在无人机正常(仿真)飞行过程中收集状态变量测量值和目标状态值的时间序列数据,然后应用具体机器学习预测模型的训练过程(使用的神经网络结构见3.1节). 特别地,为训练LDR加速度计预测模块所使用的速度预测模型,需要获得速度测量值的时间序列,本文从控制器内部直接获取速度测量值序列用于预测模型的训练. 为训练LDR磁力计预测模块所使用的偏航角预测模型,将磁力矢量的测量值序列转化为偏航角测量值序列,用于预测模型训练.
本文的机器学习模型与飞控系统中的EKF都是基于前一时刻估计量进行下一时刻状态估计,但飞控系统的EKF实现需要IMU传感器的测量值方可执行状态估计,而本文机器学习模型在完成初始状态设置后即可独立运行,无需传感器提供输入. 当特定传感器不可用时,本文机器学习模型可作为替换,维持EKF的正常运行.
2.3 检测及恢复算法
图1所示LDR传感器预测模块及恢复开关的运行时功能可由算法1描述. 算法1在传感器的每个采样周期上的输出是由本文LDR检测和恢复机制处理后的传感器读数的参考值,该值在攻击未检出时即为传感器的真实测量值,而在攻击检出时改为使用恢复机制提供的预测模型输出值. 算法接受当前时刻的传感器目标状态值、传感器测量值以及上一时刻机器学习预测模型的预测值作为输入,首先获得机器学习预测模型当前时刻的预测值,并转换为LDR传感器预测模块在当前时刻对传感器的预测输出predi. WinTH表示检测窗口阈值,即检测窗口包含的时间片数量. 如果当前时刻是一个检查点(新检测窗口开始),重置当前检测窗口内的时间片计数i、误差计数errCnt、测量值与预测值的累积误差errSum,并判断恢复模式是否已启动(recovSig是否为true). 若未启动,则使用当前传感器测量值sensi重置预测输出pred0,这样在下一轮可以校准预测模型的输出. 此后,计算预测输出与传感器测量值的均方误差并计入累积误差errSum中,进而得出当前检测窗内的平均累计误差err. 设计误差阈值ErrTH和误差超限计数阈值ErrCntTH,当检查到平均累计误差err连续大于设定的误差阈值ErrTH的次数超过ErrCntTH次时,认为无人机受到了传感器攻击,开启恢复模式并发出受到传感器攻击的警报. 在恢复模式下(recovSig为true),实际传感器的测量值sensi被替换为传感器的预测输出predi. 设计恢复阈值RecovTH和恢复有效计数阈值RecovCntTH,当累积误差连续小于设定的恢复阈值RecovTH的次数超过RecovCntTH次时,则认为攻击已结束,关闭恢复模式,无人机将继续使用真实传感器的值.
算法1. 攻击检测及恢复算法
输入:当前时刻i的传感器目标状态tgti,传感器测量值sensi,上一时刻机器学习预测模型的预测值predi−1;
输出:每一个传感器采样周期传感器读数的参考值sensi.
① recovSig←false, errCnt←0, errSum←0, recovCnt←0, i←0; /*初始化*/
② procedure DetectRecovery(tgti,sensi,predi−1);
/*获取并处理预测结果*/
③ rawi←prediction(predi−1,tgti);
④ predi←convert(rawi);
⑤ if i⩾WinTH then
⑥ if !recovSig then
⑦ pre{d_0} \leftarrow sen{s_i} ;
⑧ end if
⑨ tg{t_0} \leftarrow tg{t_i}, sen{s_0} \leftarrow sen{s_i};
⑩ errCnt \leftarrow 0 , errSum \leftarrow 0 ;
⑪ i \leftarrow 0 ;
⑫ end if
⑬ errSum \leftarrow errSum + {(pre{d_i} - sen{s_i})^2}
⑭ err \leftarrow errSum/i ;
⑮ if err > ErrTH then /*判断恢复是否启动*/
⑯ errCnt + + ;
⑰ end if
⑱ if errCnt > ErrCntTH then
⑲ recovSig \leftarrow {\text{true}} ;
⑳ recovCnt \leftarrow 0 ;
㉑ attackAlert() ; /*攻击报警*/
㉒ end if
㉓ if recovSig then
㉔ sen{s_i} \leftarrow pre{d_i} ; /*执行恢复操作*/
㉕ if errSum < RecovTH then
㉖ recovCnt + + ;
㉗ end if
㉘ if recovCnt > RecovCntTH then
㉙ recovSig \leftarrow {\text{false}} ; /*恢复关闭*/
㉚ end if
㉛ end if
㉜ i + + ;
㉝ end procedure.
特别地,算法1的启动需要初始预测值pre{d_{ - 1}}参与;在现实中,使用无人机未受攻击的状态下的一个特定时刻传感器测量值作为初始pre{d_{ - 1}}. 算法1的复杂度在单个时间片内由行③④的预测过程和转换过程决定,转换过程相比预测过程更为简单. 除这2个过程外,其余部分复杂度为O(1). 因此,在实现中选择高效的机器学习预测模型尤为重要(见第3.1节). 相比于文献[12-13]的算法,算法①由于引入了误差超限计数阈值ErrCntTH和恢复有效计数阈值RecovCntTH,使得算法①能够更好地应对急转等预测振荡情况,防止由于短时的预测误差振荡所导致的误报,第3.2节攻击恢复效果实验显示本文LDR攻击检测和恢复方法在恢复持续时间上有优势.
3. 实现与评价
3.1 LDR方案实现
1) 机器学习模型结构及训练
本文使用无人机执行20次飞行任务的日志,在Keras框架下训练本文的机器学习预测模型. 飞行任务为无人机在多个随机的位点进行起飞、降落、转弯等机动操作. 数据采样频率为400 Hz时,所有任务的数据量约为70万条,每一条数据包括所有传感器所需收集的信息. 训练数据以覆盖无人机在各种飞行模式和典型环境下的姿态特征为核心要求. 在训练集与测试集数据量比例为7∶3下,对于表2中每个无人机状态变量所对应的机器学习模型,单个模型从模型的训练到模型的测试完成1次所需时间平均仅约30 s. 由于模型训练所需资源较少,因而本文使用一个自动化程序来遍历搜索不同的模型参数的组合,模型参数包括每层神经元数量、神经网络层数、批次大小(batch size)等. 在每一个参数组合下自动训练、测试机器学习模型,从而找到适合不同传感器的神经网络结构. 最终得到的每个无人机状态变量对应的机器学习预测模型结构如表3所示,所有模型均使用Adam优化器,损失函数选择均方差(mean square error,MSE)损失,激活函数选择ReLU.
表 3 无人机状态变量和对应的机器学习预测模型结构Table 3. UAV State Variables and Corresponding Structures of Machine Learning Prediction Models状态变量 神经网络层数 每层神经元个数 1次训练样本数 第一层 第二层 第三层 角速度 {\omega _x} 2 2 1 1024 {\omega _y} 2 2 1 1024 {\omega _{\textit{z}}} 2 4 1 128 速度 {v_x} 2 2 1 256 {v_y} 2 2 1 256 {v_{\textit{z}}} 3 4 2 1 256 位置 {p_x} 2 2 1 256 {p_y} 2 4 1 256 {p_{\textit{z}}} 2 2 1 512 偏航角 \psi 3 2 2 1 256 2) 加速度预测的去噪
为检测加速度计攻击和恢复加速度状态而引入的预测输出“速度→加速度”转换(见表2),要求将每一时刻的预测速度矢量v(t)在线转换处理为预测加速度矢量a(t),转换方式是求解采样时间间隔内的平均加速度,即a(t) = \Delta v_{t - \Delta t}^t/\Delta t. 计算得到的加速度会包含大量高频噪声,从而使其在与真实传感器测量值直接比较时会有大量的错误警报. 本文使用一阶低通数字滤波器[28]对预测输出转换得到的加速度进行过滤,衰减高频频率使得最后得到的加速度变化更加平滑. 具体地,滤波后加速度的输出值 Y 定义为
Y(t) = \alpha a(t) + (1 - \alpha )Y(t - 1) , \alpha = {{\rm{T}}_{\rm{s}}}/\left({T_{\rm{s}}} + \frac{1}{{2\pi {f_{\rm{c}}}}}\right), 其中, a 为通过加速度公式直接计算的加速度, {f_{\rm{c}}} 为低通滤波器的截止频率, {T_{\rm{s}}} 为采样周期.
3) 系统参数选择
算法1所述攻击检测与恢复算法的有效运行依赖于合适的检测窗口阈值WinTH、误差阈值ErrTH、恢复阈值RecovTH、误差超限计数阈值ErrCntTH和恢复有效计数阈值RecovCntTH. 在飞控运行过程中,相对于传感器测量值的实际变化,模型预测的变化趋势可能存在超前或滞后. 因此,本文采用动态时间规整算法[29],从正常飞行数据集中计算出最大时间位移,计算模型预测值序列和测量值数据序列的最佳对齐方式,并将该时间位移的长度作为检测窗口阈值WinTH. 确认了检测窗口阈值WinTH后,可从检测窗口观察到预测模型输出与真实传感器测量值之间的最大误差,从而计算出误差阈值ErrTH. 误差阈值ErrTH应尽可能小,以规避漏报,同时要略大于所有正常飞行数据中观测到的最大均方误差MaxError,从而容忍突然的风力增加等外部因素引起的一些意外误差,减少误报的可能性. 由于攻击者对无人机传感器发起攻击引起的外部误差远大于外部因素引起的暂时性误差,并且攻击者无法生成与无人机飞行时目标状态紧密相关的恶意信号序列,本文进一步设置恢复阈值RecovTH,且有 MaxError < RecovTH ≤ ErrTH. 当传感器真实值与预测输出的差值在一个检测窗口内多次处于恢复阈值之下时,可认为攻击已停止. 在获得检查窗口阈值WinTH和误差阈值ErrTH后,通过实验观测在实际飞行时,1个检测窗口时间内有可能的真实传感器检测值与预测模型输出的差值超过误差阈值ErrTH的次数,将误差超限计数阈值ErrCntTH设置为大于这个次数值. 在获得检查窗口阈值WinTH和恢复阈值RecovTH后,通过实验观测从传感器注入攻击停止时起,1个检测窗口时间内有可能的真实传感器检测值与预测模型输出的差值超过恢复阈值的次数,将恢复有效计数阈值RecovCntTH设置为大于这个次数值.
4) 模型加载与插入位置
由于本文实验所使用的ArduPilot由C++编写,因此本文使用的基于C++的开源机器学习实现框架frugally-deep[30]运行适用于飞控性能约束的机器学习预测模型. frugally-deep能快速、高效运行深度神经网络,可以加载Keras训练好的预测模型,并提供了轻量级的推理和预测功能;可以在资源受限的环境中使用,保证模型在无人机上运行时预测效率不影响正常飞行,达到预期的在线检测和恢复效果.
将每个传感器上的攻击检测和恢复算法实现为具体函数模块,将传感器对应的LDR预测和恢复模块插入该传感器测量的对应函数中. 其中,将GPS对应的位置矢量预测和恢复模块插入函数NavEKF2_core::readGpsData()中;将磁力计对应的偏航角预测和恢复模块插入函数NavEKF2_core:: SelectMagFusion()中;将陀螺仪对应的角速度矢量预测和恢复模块、加速度计对应的加速度矢量预测和恢复模块均插入函数NavEKF2_core::readIMUData()中.
3.2 实验评估
本节首先介绍评估LDR系统的实验设置,然后评估LDR系统的运行效率、正常飞行下可靠性、预测模型的有效性对2种公开攻击(GPS传感器攻击和陀螺仪读数攻击)的恢复效果及优势.
1) 实验设置与攻击设置
本文使用2个四旋翼无人机系统评估实现的LDR系统. 其中,ArduPilot Mega SITL为软件在环仿真环境,真实无人机则使用雷迅V5+作为飞控硬件. 表4列出了本文所使用的无人机的控制软件版本及各类传感器数量. 仿真环境的主机配置为Intel CoreTMi5-11400@2.60 GHz CPU,6 GB RAM. 真实飞控硬件配置包括ARM Cortex-M7处理器(时钟频率216 MHz),512 KB RAM,以及2 MB用以存储飞控二进制文件的闪存. 表5列出了真实无人机传感器的具体配置,无人机与地面站通信频率为840~845 MHz,数据传输速率为345 Kbps.
表 4 评估用无人机类型及传感器数量Table 4. UAV Types and Number of Sensors for Evaluations飞控硬件 控制软件 传感器数量 GPS 陀螺仪 加速度计 磁力计 ArduPilot Mega
SITLArduCopter 4.1.0 1 2 2 1 雷迅V5+ ArduCopter 4.1.0 1 3 3 1 表 5 真实无人机的传感器配置Table 5. Sensor Configuration of Real UAV传感器 型号 传感器数量 GPS Neo V2 1 IMU
(每单元含1个加速度计
和1个陀螺仪)ICM20602 1 ICM20689 1 BMI055 1 磁力计 IST8310 1 由于真实传感器攻击需要特殊攻击设备,难以在实验环境下直接实施,因而本文沿用当前主流的攻击模拟方式[12-13],使用软件实现的攻击模块模拟了传感器受到攻击的效果,并将攻击模块直接插入飞控代码中. 具体地,在各类型传感器代码中添加一段恶意攻击代码,该段攻击代码在无人机运行时可以修改传感器的测量值,以模仿传感器实际受到攻击时的传感器读数效果. 为使得传感器攻击能受控生效,使用MAVLink命令从地面站远程开启和关闭攻击. 本文所设置的攻击来自文献[12-13],攻击包括:GPS传感器攻击,可以让无人机偏离原定航线;陀螺仪读数攻击,会使得无人机坠毁.
2) LDR检测与恢复开销
本节比较添加LDR系统之前和之后的飞控主循环的每一次迭代运行时间,以评估时间开销,所有时间开销在仿真环境下测得. 具体地,首先测量原始飞控软件运行1次主循环的时间开销;然后以此为基准,依次插入每个传感器对应的LDR检测和恢复模块,包括运行代码所依赖的库;随后分别测量主循环运行1次的时间开销;最后,将所有的传感器对应的LDR检测和恢复模块同时插入测量总时间开销.
图3为同一飞行任务上,飞控系统在未插入任何传感器的LDR检测和恢复机制时(图3(a))、插入单一类型传感器的LDR检测和恢复模块时(图3(b)~(e)),以及插入全部传感器的LDR检测和恢复模块时(图3( f )),其主控制循环的时间开销比较. 纵轴为每次主循环运行的时间开销. 在ArduCopter中,原始飞控软件的系统循环执行频率为400 Hz,调度程序在每个执行周期(2.5 ms)内执行1次控制功能,并使用执行周期内的剩余时间调度辅助任务. 由于飞控软件对不同传感器的采样频率不同(如对磁力计的采样频率常为100 Hz),不同的LDR检测和恢复模块也需分别运行在相应频率上,而陀螺仪和加速度计的运行频率高(400 Hz),因而导致对应的LDR模块的时间开销最高. 经实验测量,原始飞控软件运行1次主循环的平均时间开销为0.026 ms,向所有传感器插入LDR系统后的飞控软件运行1次主循环的平均时间开销为0.180 ms. 虽然主循环平均时间开销有明显增长,但由于主循环平均时间开销相比执行周期(2.5 ms)仍仅占较小比例,且峰值时间开销也在2.5 ms以内,因而添加LDR系统后,所有控制功能及辅助任务均能在执行周期内完成,因此添加LDR系统导致的时间开销增长可接受,不影响无人机正常飞行操作.
本文还比较了添加LDR系统前后ArduCopter进程运行时的内存消耗峰值,以评估空间开销. 在仿真环境下,通过记录20次飞行任务过程中测量的内存消耗峰值,发现添加LDR系统后,内存消耗仅增长7.25%,可见LDR的检测和恢复机制对飞控运行时的内存消耗影响非常小.
由于本文方案和PID-Piper均使用神经网络模型进行预测,且模型运算是方案的主要开销,因此我们从浮点运算数(floating-point operand,FLOP)指标出发,比较这2种方案的机器学习模型计算开销. FLOP的大小取决于模型结构内部的连接数量. 每条连接均需执行一次加法运算和一次乘法运算,因此,模型的浮点运算数是连接数量的倍增. PID-Piper仅为计算3个姿态角,即翻滚角、俯仰角和偏航角,就部署了3个结构相同的神经网络模型. 这些模型的层数和神经元数量均多于本文使用的模型,其总浮点运算数达到约50000. 相比之下,本文模型不仅层数更少,涵盖的状态数量更多,且所有模型的浮点运算数总和仅有120,远低于PID-Piper的计算开销. 由于计算时延与网络层数和浮点运算数正相关,因此,本文模型相比PID-Piper的机器学习模型是更轻量级的,具有更低的计算开销和时延.
3) 正常飞行下的可靠性和预测有效性
本文测试了在没有攻击的情况下实际飞行时LDR的运行情况,以说明LDR检测和恢复机制在没有攻击下的可靠性. 本文随机选择了10个飞行任务,与机器学习模型训练用任务不同,用于检验可靠性的任务动作包括起飞、降落、转弯等,飞行模式设置为auto模式,每个任务时间为3 min,所有任务的总时间为30 min. 测试结果发现,这10个任务中有2个任务激活了LDR检测和恢复系统,这2个任务均激活了陀螺仪传感器LDR检测和恢复机制,即出现了检测误报. LDR检测和恢复功能激活后,使得任务失败的次数为0,在2次出现误报的任务中,无人机飞行平稳后LDR系统的警报都能自动关闭.
进一步地,在仿真环境下验证无人机在一个随机的测试飞行任务过程中,无人机LDR预测的传感器读数与真实传感器的测量值的吻合程度,以说明LDR的机器学习模型预测的有效性. 如图4所示,模型的预测结果与真实传感器的测量结果基本吻合,磁力计对应的偏航角的预测值与真实测量值的抖动是计数方式上产生的0°与359°之间的微小偏航角变化,在物理上不存在无人机偏航角的大幅度变化.
4) LDR对公开攻击的检测和恢复效果
为了测试LDR在检测公开攻击和从公开攻击中恢复飞控状态的有效性,本文首先在仿真环境下针对陀螺仪和GPS分别发起攻击,测量了在攻击发起后LDR对攻击的检测用时(time to detection,TTD)和恢复效果;然后在真实无人机上测试LDR系统对GPS攻击的恢复效果. 检测用时的计算方法为:
TTD = {t_{{\rm{detect}}}} - {t_{{\rm{attack}}}}, 其中,{t_{{\rm{detect}}}}为LDR系统首次报告检测出攻击的时刻,{t_{{\rm{attack}}}}为攻击实际发起的时刻.
本文GPS攻击实验通过对GPS测量的位置信息注入偏差来达到攻击的目的,攻击在无人机飞行途中发起,通过攻击代码缓慢地对GPS注入攻击偏移,无人机的降落点将会偏离计划航点约55 m. 针对这一攻击,LDR系统的平均检测用时为0.88 ms. 图5(a)三维图给出了无人机在未受攻击情况下的行进路线、无人机从特定点开始受到持续GPS攻击的行进路线,以及LDR系统生效的无人机在受GPS攻击后的行进路线. 相应地,图5(b)为无人机GPS传感器在未受攻击、受攻击、受攻击且LDR系统生效这3种情况下,位置信息测量值的y轴变化差异;图5(c)为受攻击、受攻击且LDR系统生效2种情况下,GPS传感器测量值(或LDR对GPS的预测值)相比未受攻击时的GPS测量值的偏移量比较.
本文陀螺仪读数攻击实验在无人机飞行途中对无人机的陀螺仪读数进行注入. 图6(a)三维图给出了无人机在未受攻击情况下的行进路线、无人机从特定点开始受到陀螺仪读数攻击的行进路线,以及LDR系统生效的无人机在受到陀螺仪读数攻击后的行进路线. 针对这一攻击,LDR系统的平均检测用时为1.24 ms. 可见在LDR系统未生效的情况下,无人机受到攻击后很快坠毁;而在LDR系统的恢复下,无人机还可正常运行约5.1 s,此时长即为有效恢复持续时间. 尽管LDR系统成功阻止了传感器攻击,防止了无人机立即坠毁,但由于预测误差的原因,LDR系统无法永久或长期替换物理传感器,因此需要在有效恢复持续时间内使用其他控制信道接管无人机. 图6(b)为无人机姿态翻滚角变化曲线,可见攻击注入会使无人机翻滚角发生高频变化,从而导致无人机坠毁,而LDR系统生效的无人机的翻滚角变化相比无攻击情况下的无人机翻滚角相差不大. 图6(c)为受攻击、受攻击且LDR系统生效2种情况下无人机翻滚角相比未受攻击时的翻滚角的偏移量曲线比较,可见引入LDR系统使得翻滚角偏移量显著减小.
本文在真实无人机上测试LDR的恢复效果. 虽然LDR恢复机制能在陀螺仪读数攻击下延缓无人机失控,但使用地面站对攻击生效后的无人机进行控制接管仍存在一定概率失败,因此在真实无人机上本文仅进行GPS传感器攻击的注入. 本文设计一个距离为13.51 m的直线折返飞行任务,即无攻击情况下无人机起飞后沿该路线折返2次后回到起飞位置. 我们在无人机第1次开始折返时,给无人机注入(0.05~0.15 )m/20 ms的GPS传感器攻击,测得无人机完成飞行任务时距离起飞点的距离为4.37 m. 在同样的攻击下,在起飞后第1次开始折返时开启LDR系统,无人机完成飞行任务时距离起飞点的距离为0.89 m. 实验说明LDR检测系统在实际无人机飞行任务上有效.
5) LDR与其他传感器攻击恢复方案的比较
以下对比LDR与其他无人机传感器攻击在线恢复方案,包括软件传感器SW-Sensor[12]、PID-Piper[13]的恢复效果差异. 由于文献[10-11]仅支持检测而不支持对传感器测量值和无人机状态的恢复,因此本文不与文献[10-11]比较. 由于文献[12]未开源实现,本文尽最大努力使用Matlab的系统识别工具对该方案进行了复现,并使用训练数据推导出模型,使用测试数据验证其模型的准确性. PID-Piper提供了在ArduCopter 3.7.0上的开源实现,本文使用该公开版本进行对比试验,进行相同的攻击实现、攻击测试并记录下相同的传感器数值变化.
实验结果显示,SW-Sensor[12]、PID-Piper[13]和LDR都能够对GPS传感器攻击和陀螺仪读数攻击做出响应. 在对受攻击的无人机进行恢复方面,图7为GPS攻击下3种恢复方案的效果对比. 受GPS攻击且无恢复机制的无人机的GPS传感器测量值相比未受攻击时的偏移量随时间逐渐增加. 对于LDR、SW-Sensor、PID-Piper,偏移量增大后逐渐减小. GPS的预测值相比未受攻击时的偏移量更大,说明受攻击后的无人机偏离预定轨迹的幅度越大. 可见,LDR相比SW-Sensor的恢复(偏移量趋向0)更迅速,无人机受到攻击后偏离幅度更小. 而PID-Piper的实际恢复效果较差,无法阻止无人机的持续性偏离.
图8为陀螺仪读数攻击下,3种恢复方案在无人机姿态翻滚角指标上的恢复效果对比. 图8(a)(b)给出了LDR预测得到的翻滚角与未受攻击状态下的翻滚角相比的偏差绝对值曲线. 图8(a)给出了SW-Sensor预测得到的翻滚角与未受攻击状态下的翻滚角相比的偏差绝对值曲线. 图8(b)给出了PID-Piper预测得到的翻滚角与未受攻击状态下的翻滚角相比的偏差绝对值曲线. 翻滚角的偏差绝对值越大,代表无人机受到攻击后机体摆动幅度越大. 由图8结合图6(c)结果可见,SW-Sensor和PID-Piper在无人机受到陀螺仪读数攻击后翻滚角偏差和振荡非常大,与没有应用任何恢复机制时的偏差相比(见图6(c)),机体摆动幅度减小不明显. 而LDR系统检测到陀螺仪读数攻击后,翻滚角保持了一段时间的平稳,且相比SW-Sensor和PID-Piper的翻滚角偏差有显著减小,表明在受到攻击后LDR仍能有效恢复陀螺仪读数,使无人机保持一段时间较为平稳地飞行.
4. 讨 论
本文主要考虑针对传感器实施的攻击,由于本文检测和恢复机制皆依赖于模型预测结果,攻击者可能会尝试通过操纵模型决策或模型输入输出的方式来绕过本文方案. 然而,决策和数据皆位于飞控软件内部. 攻击者要达成意图,需要借助软件层面(如控制流劫持)或网络层面的攻击手段. 这些攻击手段的攻击面正交于本文所关注的传感器攻击,因而超出了本文的研究范畴. 此外,本文可以借助已有的软件安全机制应对这些安全威胁. 如将飞控系统部分实现为可信执行环境中的可信应用[31],以阻止攻击者操纵飞控的数据流和控制流,从而确保模型决策和预测结果的可靠性.
此外,无人机在实际运行中可能会因部件磨损、使用环境改变等因素导致系统行为改变,致使模型不再准确可靠. 对此,可以定期在安全受控环境下对无人机进行飞行测试,收集飞行日志进行分析,并按需更新模型以适应新的系统行为模式. 由于本文模型训练时间短、训练开销小,仅需通用PC机即可完成,因此更新模型不会引入难以承担的时间开销和算力开销.
飞控系统本身的基于EKF的传感器融合机制能够提供一定程度的抗干扰能力,使无人机的传感器测量值在无人机机体正常抖动、噪声等扰动下正常飞行. 这些噪声和干扰也确实会一定程度上影响本文机器学习模型的训练和检测,本文使用的缓解方法是通过实施真实无人机上的硬件手段(减震板等降噪措施)和软件手段(如滤波)减轻其影响.
更低的攻击频率和更小的攻击幅度可能会对本文的检测和恢复产生影响,使得本文的检测算法需要使用更紧的阈值,收紧阈值也可能导致潜在的漏报产生,我们虽然证明了本文提出的检测及恢复算法在2种典型公开攻击下的有效性,但针对隐蔽攻击的检测和恢复效果仍有待进一步验证.
5. 结 论
本文提出了一种基于机器学习的无人机传感器攻击在线检测和恢复方案LDR. 证明了针对2类典型的传感器注入攻击,由机器学习模型的非线性系统表征能力、所提出的检测和恢复算法对短时预测振荡导致的误报的缓解能力,以及轻量级机器学习模型的有限运行时开销所带来的检测恢复效果,达到了相比现有在线传感器攻击检测和恢复方案更好的检测和恢复效果. 未来的工作包括3个方面:1)将本文方案应用于其他的开源无人机飞控系统,如PX4;2)将本文方案应用于更多的传感器注入攻击形式,特别是一些攻击注入量较小的隐蔽攻击,并讨论不同机器学习模型和检测算法的检测敏感程度差异;3)尝试引入其他非线性控制模型用于无人机系统状态恢复.
作者贡献声明:孙聪提出了论文核心思想并撰写论文;曾荟铭设计检测算法、实现论文软件并进行主要实验;宋焕东实施部分对比试验;王运柏实现部分对比方案;张宗旭协助部分软件功能实现;马建峰提出指导意见并修改论文.
-
表 1 开源物联网恶意代码数据集
Table 1 Open Source IoT Malware Datasets
数据类型 数据集 支持的CPU架构 数据收集方式 可执行文件 TWISC[32] MIPS,ARM,PPC,SPARC,X86,X86_64 互联网下载 Badthings[26] MIPS,ARM,PPC,SPARC,SH4 互联网下载 firmware[33] MIPS,ARM,PPC,SPARC,X86,X86_64 互联网下载 IoTPoT[6] MIPS,ARM,PPC,SPARC,X86,X86_64,m68k 部署蜜罐捕获 VirusTotal[34] 多种常见物联网CPU架构 用户自主提交 VirusShare[35] 多种常见物联网CPU架构 部署检测设备捕获 流量数据包 IoT-23[36] 多种常见物联网CPU架构 真实环境捕获 Bot-IoT[37] 多种常见物联网CPU架构 实验室模拟 ToN_IoT[38] 多种常见物联网CPU架构 真实环境捕获 MedBIoT[39] 多种常见物联网CPU架构 真实环境捕获 Kitsune[40] 多种常见物联网CPU架构 实验室模拟 表 2 基于人工智能的跨架构物联网恶意代码检测技术对比
Table 2 Comparison of AI-based Cross-Architecture IoT Malware Detection Techniques
数据来源 特征类别 人工智能算法 数据集 支持的架构 年份 文献[25] 操作码及API SVM,kNN IoTPOT ARM,MIPS,MIPSE 2019 文献[52] 操作码及API SVM,kNN IoTPOT ARM,MIPS,MIPSEL 2018 文献[59] 操作码及CFG SVM firmware ARM,MIPS,PPC,SPARC,X86,X86_64 2019 文献[63] 操作码及ELF文件特征 CNN VirusTotal ARM,MIPS,PPC,SPARC 2020 文献[58] 操作码及IG RNN-CNN IoTPoT,VirusShare ARM,MIPS,PPC 2020 文献[68] 字节序列 SVM VirusTotal ARM,MIPS,PPC,SPARC,X86、X86_64 2020 文献[69] 字节序列 SVM VirusTotal ARM,MIPS,PPC,SPARC,X86,X86_64 2020 文献[70] 字节序列 Bi-GRU-CNN TWISC ARM,MIPS,X86,SuperH4,PPC 2022 文献[50] 可打印字符串 聚类 IoTPOT ARM,MIPS,PPC,SPARC 2018 文献[27] 可打印字符串 RF,kNN,SVM VirusTotal ARM,MIPS,X86,X86-64,PPC,SPARC 2020 文献[71] 图相关特征 RF,kNN,SVM,MLP,LR VirusTotal ARM,MIPS,SPARC,X86,X86-64,PPC 2023 文献[75] 图相关特征 GNN ARM,MIPS,SPARC,PPC,X86-64 2021 文献[72] 系统调用 KMM VirusTotal ARM,Intel X86 2023 表 3 基于人工智能资源限制的物联网恶意代码检测技术对比
Table 3 Comparison of Resource-constrained AI-based IoT Malware Detection Techniques
数据来源 资源限制类别 限制缓解方案 特征选择/处理方法 人工智能算法 年份 文献[79] 计算资源限制 降低特征维度 Word2Vec MLP 2021 文献[80] 计算资源限制 降低特征维度 ACO SVM 2023 文献[81] 计算资源限制 降低特征维度 相关性分析 Random Forest,Bagging,Stacking,SVM,LR,kNN 2021 文献[82] 计算资源限制 降低特征维度 无 SVM,Random Forest,Decision Tree 2023 文献[84] 计算资源限制 降低特征维度 图像化 CNN 2023 文献[33] 计算资源限制 降低算法复杂度 N-gram CFD 2020 文献[85] 计算资源限制 降低算法复杂度 C500-CFG SVM 2019 文献[88] 内存限制 设计轻量级模型 无 LiMNet 2021 文献[87] 内存限制 设计轻量级模型 图像化 LCNN 2021 文献[91] 电力限制 设计可独立于物联网设备部署的检测 图像化 CNN 2021 文献[92] 电力限制 设计可独立于物联网设备部署的检测 过滤电信号噪声 Seq2Seq 2020 文献[93] 电力限制 设计可独立于物联网设备部署的检测 无 SVM 2018 表 4 性能提升的物联网恶意代码检测技术对比
Table 4 Comparison of Performance-enhancing IoT Malware Detection Techniques
数据来源 检测对象 技术重心 人工智能算法 数据集来源 年份 文献[96] 二进制可执行文件 提高检测准确率 CNN+LSTM VirusTotal,VirusShare 2021 文献[99] 二进制可执行文件 提高检测准确率 ResNet18+MobileNetV2+DenseNet161 未公开 2022 文献[98] 二进制可执行文件 提高检测准确率 GCNN 未公开 2023 文献[97] 二进制可执行文件 提高检测准确率 FPT VirusShare 2019 文献[101] 二进制可执行文件 检测混淆恶意代码 SVM 未公开 2020 文献[102] 二进制可执行文件 检测混淆恶意代码 Inception-v3 未公开 2022 文献[103] 二进制可执行文件 检测混淆恶意代码 Bi-LSTM+EfficientNet-B3 VirusTotal 2021 文献[111] 二进制可执行文件 检测混淆恶意代码 Bi-LSTM+SPP-Net 未公开 2022 文献[100] 二进制可执行文件 提高检测模型鲁棒性 VGAE-MalGAN 未公开 2023 文献[119] 流量数据 及时发现攻击行为 Auto-encoder 未公开 2018 文献[15] 流量数据 提高检测模型性能 ANN ToN_IoT 2022 文献[122] 流量数据 提高检测模型性能 RF IoT-23 2022 文献[114] 流量数据 提高检测模型性能 FastGRNN MedBIoT 2020 文献[120] 流量数据 及时发现攻击行为 LR,kNN,RF,AdaBoost 未公开 2019 表 5 挑战与机遇
Table 5 Challenges and Opportunities
类别 具体内容 面临的挑战 缺少针对物联网设备特性的评估指标; 缺少统一可用的动态分析环境; 缺乏对攻击的鲁棒性. 未来研究方向 结合大模型实现物联网恶意代码检测; 提高检测模型安全性; 结合零信任架构实现检测. -
[1] STATISTA. Number of Internet of things (IoT) connected devices worldwide from 2019 to 2021 [EB/OL]. [2023-05-29]. https://www.statista.com/statistics/1183457/iot-connected-devices-worldwide/
[2] Wall S. 2022 Cyber threat report[R]. Santa Clara, CA: Palo Alto Networks, 2022: 5−7
[3] Antonakakis M, April T, Bailey M, et al. Understanding the Mirai botNet[C] //Proc of the 26th USENIX Security Symp. Berkeley, CA: USENIX Association, 2017: 1093−1110
[4] Griffioen H, Doerr C. Examining Mirai’s battle over the Internet of things[C] //Proc of the 27th ACM SIGSAC Conf on Computer and Communications Security (CCS). NewYork: ACM, 2020: 743−756
[5] 国家互联网应急中心. 物联网安全威胁情报(2022年10月)[R]. 北京: 国家计算机网络应急技术处理协调中心, 2022: 1−426 CNCERT. IoT security threat intelligence report (Oct 2022)[R]. Beijing: National Computer Network Emergency Response Technical Team/Coordination Center of China, 2022: 1−426 (in Chinese)
[6] Pa Y M P, Suzuki S, Yoshioka K, et al. IoTPOT: Analysing the rise of IoT compromises[C] //Proc of the 9th USENIX Workshop on Offensive Technologies (WOOT). Berkeley, CA: USENIX Association, 2015: 1−9
[7] Breitenbacher D, Homoliak I, Aung Y L, et al. HADES-IoT: A practical host-based anomaly detection system for IoT devices[C] //Proc of the 24th ACM Asia Conf on Computer and Communications Security. New York: ACM, 2019: 479−484
[8] Çetin O, Gañán C, Altena L, et al. Cleaning up the Internet of evil things: Real-world evidence on ISP and consumer efforts to remove mirai[C] //Proc of the 26th Annual Network and Distributed System Security Symp (NDSS). Reston, VA: The Internet Society, 2019: 1−5
[9] Xu Yiwen, Jiang Yu, Yu Lu, et al. Brief industry paper: Catching IoT malware in the wild using HoneyIoT[C] //Proc of the 27th Real-Time and Embedded Technology and Applications Symp (RTAS). Piscataway, NJ: IEEE, 2021: 433−436
[10] Dang Fan, Li Zhenhua, Liu Yunhao, et al. Understanding fileless attacks on Linux-based IoT devices with honeycloud[C] //Proc of the 17th Annual Int Conf on Mobile Systems, Applications, and Services. New York: ACM, 2019: 482−493
[11] Downing E, Mirsky Y, Park K, et al. DeepReflect: Discovering malicious functionality through binary reconstruction[C] //Proc of the 30th USENIX Security Symp. Berkeley, CA: USENIX Association, 2021: 3469−3486
[12] Alrawi O, Ike M, Pruett M, et al. Forecasting malware capabilities from cyber attack memory images[C] //Proc of the 30th USENIX Security Symp. Berkeley, CA: USENIX Association, 2021: 3523−3540
[13] Wang Qi, Wajih H, Ding Li, et al. You are what you do: Hunting stealthy malware via data provenance analysis[C] //Proc of the 27th Annual Network and Distributed System Security Symp (NDSS). Reston, VA: The Internet Society, 2020: 1−17
[14] Chen Jinyin, Hu Keke, Yu Yue, et al. Software visualization and deep transfer learning for effective software defect prediction[C] //Proc of the ACM/IEEE 42nd Int Conf on Software Engineering. New York: ACM, 2020: 578−589
[15] Jamal A, Hayat M F, Nasir M. Malware detection and classification in IoT network using ANN[J]. Mehran University Research Journal Of Engineering & Technology, 2022, 41(1): 80−91
[16] 张书钦,白光耀,李红,等. 多源数据融合的物联网安全知识推理方法[J]. 计算机研究与发展,2022,59(12):2735−2749 doi: 10.7544/issn1000-1239.20210954 Zhang Shuqin, Bai Guangyao, Li Hong, et al. IoT security knowledge reasoning method of multi-source data fusion[J]. Journal of Computer Research and Development, 2022, 59(12): 2735−2749 (in Chinese) doi: 10.7544/issn1000-1239.20210954
[17] 张玉清,周威,彭安妮. 物联网安全综述[J]. 计算机研究与发展,2017,54(10):2130−2143 doi: 10.7544/issn1000-1239.2017.20170470 Zhang Yuqing, Zhou Wei, Peng Anni. Survey of internet of things security[J]. Journal of Computer Research and Development, 2017, 54(10): 2130−2143 (in Chinese) doi: 10.7544/issn1000-1239.2017.20170470
[18] 杨毅宇,周威,赵尚儒,等. 物联网安全研究综述:威胁,检测与防御[J]. 通信学报,2021,42(8):188−205 doi: 10.11959/j.issn.1000-436x.2021124 Yang Yiyu, Zhou Wei, Zhao Shangru, et al. Survey of IoT security research: Threats, detection and defense[J]. Journal on Communications, 2021, 42(8): 188−205 (in Chinese) doi: 10.11959/j.issn.1000-436x.2021124
[19] Chen Jiongyi, Diao Wenrui, Zhao Qingchuan, et al. IoTFuzzer: Discovering memory corruptions in IoT through app-based fuzzing[C] //Proc of the 25th Annual Network and Distributed System Security Symp (NDSS). Reston, VA: The Internet Society, 2018: 1−15
[20] Symantec. Symantec: Security response [EB/OL]. [2023-05-16]. https://www.symantec.com/connect/blogs/iot-devicesbeing-increasingly-used-ddos-attacks
[21] Egg S. Standing egg chooses MIPS CPUs for sensor hubs targeting mobile, IoT, wearables and automotive [EB/OL]. [2023-05-29]. https://electroiq.com/files/files/ables-and-automotive_xqh4b2rmudu6skntuhhadd/
[22] 彭安妮,周威,贾岩,等. 物联网操作系统安全研究综述[J]. 通信学报,2018,39(3):22−34 Peng Anni, Zhou Wei, Jia Yan, et al. Survey of the Internet of things operating system security[J]. Journal on Communications, 2018, 39(3): 22−34 (in Chinese)
[23] Hackett R. Why a hacker dumped code behind colossal website trampling botnet [EB/OL]. [2023-05-16]. https://finance.yahoo.com/news/why-hacker-dumped-code-behind-145847907.html?
[24] Shekari T, Cardenas A A, Beyah R. MaDIoT 2.0: Modern high-wattage IoT botnet attacks and defenses[C] //Proc of the 31st USENIX Security Symp. Berkeley, CA: USENIX Association, 2022: 3539−3556
[25] Ban T, Isawa R, Huang S Y, et al. A cross-platform study on emerging malicious programs targeting IoT devices[J]. IEICE Transactions on Information and Systems, 2019, 102(9): 1683−1685
[26] Alrawi O, Lever C, Valakuzhy K, et al. The circle of life: A large-scale study of the IoT malware lifecycle[C] //Proc of the 30th USENIX Security Symp. Berkeley, CA: USENIX Association, 2021: 3505−3522
[27] Lee Y T, Ban T, Wan T L, et al. Cross platform IoT-malware family classification based on printable strings[C] //Proc of the 19th Int Conf on Trust, Security and Privacy in Computing and Communications (TrustCom). Piscataway, NJ: IEEE, 2020: 775−784
[28] Clements A A, Almakhdhub N S, Saab K S, et al. Protecting bare-metal embedded systems with privilege overlays[C] //Proc of the 2017 IEEE Symp on Security and Privacy (SP). Piscataway, NJ: IEEE, 2017: 289−303
[29] Xu Yiwen, Yin Zijing, Hou Yiwei, et al. MIDAS: Safeguarding IoT devices against malware via real-time behavior auditing[J]. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 2022, 41(11): 4373−4384 doi: 10.1109/TCAD.2022.3200908
[30] Zhou Jie, Du Yufei, Shen Zhuojia, et al. Silhouette: Efficient protected shadow stacks for embedded systems[C] //Proc of the 29th USENIX Security Symp. Berkeley, CA: USENIX Association, 2020: 1219−1236
[31] Imteaj A, Thakker U, Wang Shiqiang, et al. A survey on federated learning for resource-constrained IoT devices[J]. IEEE Internet of Things Journal, 2021, 9(1): 1−24
[32] TWISC Research Centers. IoT-based end-to-end system security [EB/OL]. [2023-05-29].https://www.twisc.org/research-centers/
[33] Phu T N, Tho N D, Hoang L H, et al. An efficient algorithm to extract control flow-based features for IoT malware detection[J]. The Computer Journal, 2020, 64(4): 599−609
[34] VirusTotal. VirusTotal [EB/OL]. [2023-05-19]. https://www.virustotal.com/gui/home/upload
[35] VirusShare. VirusShare [EB/OL]. [2023-05-26]. https://virusshare.com/
[36] Parmisano A, Garcia S, Erquiaga M J. A labeled dataset with malicious and benign IoT network traffic[EB/OL]. [2023-06-04]. https://www.stratosphereip.org/datesets-iot23
[37] Koroniotis N, Moustafa N, Sitnikova E, et al. Towards the development of realistic botnet dataset in the Internet of things for network forensic analytics: Bot-IoT dataset[J]. Future Generation Computer Systems, 2019, 100: 779−796 doi: 10.1016/j.future.2019.05.041
[38] Moustafa N. The ToN_IoT datasets [EB/OL]. [2023-05-24]. https://www.unsw.adfa.edu.au/unsw-canberra-cyber/cybersecurity/ADFA-ton-iot-Datasets/
[39] Guerra-Manzanares A, Medina-Galindo J, Bahsi H, et al. MedBIoT: Generation of an IoT botnet dataset in a medium-sized IoT network[C] //Proc of the 6th Int Conf on Information Systems Security and Privacy (ICISSP). Setúbal, Portugal: Scitepress, 2020: 207−218
[40] Mirsky Y, Doitshman T, Elovici Y, et al. Kitsune: An ensemble of autoencoders for online network intrusion detection[J]. arXiv preprint, arXiv: 1802.09089, 2018
[41] Vailshery L S. Malware for network devices [EB/OL]. [2023-05-29]. https://www.statista.com/statistics/1183457/iot-connected-devices-worldwide/
[42] Ronen E, Shamir A, Weingarten A O, et al. IoT goes nuclear: Creating a ZigBee chain reaction[C] //Proc of the 2017 IEEE Symp on Security and Privacy (S&P). Piscataway, NJ: IEEE, 2017: 195−212
[43] Costin A, Zaddach J. IoT malware: Comprehensive survey, analysis framework and case studies[R]. Las Vegas, LA: Black Hat, 2018: 1−9
[44] Raju A D, Abualhaol I Y, Giagone R S, et al. A survey on cross-architectural IoT malware threat hunting[J]. IEEE Access, 2021, 9: 91686−91709 doi: 10.1109/ACCESS.2021.3091427
[45] Ngo Q D, Nguyen H T, Le V H, et al. A survey of IoT malware and detection methods based on static features[J]. ICT Express, 2020, 6(4): 280−286 doi: 10.1016/j.icte.2020.04.005
[46] Clincy V, Shahriar H. IoT malware analysis[C] //Proc of the 43rd Annual Computer Software and Applications Conf (COMPSAC). Piscataway, NJ: IEEE, 2019: 920−921
[47] Imteaj A, Mamun Ahmed K, Thakker U, et al. Federated learning for resource-constrained IoT devices: Panoramas and state of the art[J]. Federated and Transfer Learning, 2022, 27: 7−27
[48] Venkatasubramanian M, Lashkari A H, Hakak S. IoT malware analysis using federated learning: A comprehensive survey[J]. IEEE Access, 2023, 11: 5004−5018 doi: 10.1109/ACCESS.2023.3235389
[49] Vignau B, Khoury R, Hallé S, et al. The evolution of IoT malwares, from 2008 to 2019: Survey, taxonomy, process simulator and perspectives[J]. Journal of Systems Architecture, 2021, 116: 102143 doi: 10.1016/j.sysarc.2021.102143
[50] Alhanahnah M, Lin Qicheng, Yan Qiben, et al. Efficient signature generation for classifying cross-architecture IoT malware[C] //Proc of the Conf on Communications and Network Security (CNS). Piscataway, NJ: IEEE, 2018: 1−9
[51] Cozzi E, Graziano M, Fratantonio Y, et al. Understanding Linux malware[C] //Proc of the 2018 IEEE Symp on Security and Privacy (S&P). Piscataway, NJ: IEEE, 2018: 161−175
[52] Ban T, Isawa R, Yoshioka K, et al. A cross-platform study on IoT malware[C] //Proc of the 11th Int Conf on Mobile Computing and Ubiquitous Network (ICMU). Piscataway, NJ: IEEE, 2018: 1−2
[53] Davie H. Assemblers and Loaders: DW Barron, Macdonald and Janes Computer Monographs[M]. Amsterdam, Netherlands: Elsevier, 1979
[54] Bilar D. Opcodes as predictor for malware[J]. International Journal of Electronic Security and Digital Forensics, 2007, 1(2): 156−168 doi: 10.1504/IJESDF.2007.016865
[55] Yewale A, Singh M. Malware detection based on opcode frequency[C] //Proc of the 2016 Int Conf on Advanced Communication Control and Computing Technologies (ICACCCT). Piscataway, NJ: IEEE, 2016: 646−649
[56] Santos I, Brezo F, Nieves J, et al. Idea: Opcode-sequence-based malware detection[C] //Proc of the Engineering Secure Software and Systems: Second Int Symp (ESSoS). Berlin: Springer, 2010: 35−43
[57] Venkatraman S, Alazab M. Use of data visualisation for zero-day malware detection[J]. Security and Communication Networks, 2018, 2018: 1−13
[58] Vasan D, Alazab M, Venkatraman S, et al. MTHAEL: Cross-architecture IoT malware detection based on neural network advanced ensemble learning[J]. IEEE Transactions on Computers, 2020, 69(11): 1654−1667 doi: 10.1109/TC.2020.3015584
[59] Phu T N, Hoang L H, Toan N N, et al. CFDVex: A novel feature extraction method for detecting cross-architecture IoT malware[C] //Proc of the 10th Int Symp on Information and Communication Technology. New York: ACM, 2019: 248−254
[60] O’Kane P, Sezer S, McLaughlin K, et al. SVM training phase reduction using dataset feature filtering for malware detection[J]. IEEE Transactions on Information Forensics and Security, 2013, 8(3): 500−509 doi: 10.1109/TIFS.2013.2242890
[61] Zhang Jixin, Qin Zheng, Yin Hui, et al. A feature-hybrid malware variants detection using CNN based opcode embedding and BPNN based API embedding[J]. Computers & Security, 2019, 84: 376−392
[62] Lyda R, Hamrock J. Using entropy analysis to find encrypted and packed malware[J]. IEEE Security & Privacy, 2007, 5(2): 40−45
[63] Tien C W, Chen S W, Ban T, et al. Machine learning framework to analyze IoT malware using elf and opcode features[J]. Digital Threats: Research and Practice, 2020, 1(1): 1−19
[64] Nethercote N, Seward J. Valgrind: A framework for heavyweight dynamic binary instrumentation[J]. ACM Sigplan Notices, 2007, 42(6): 89−100 doi: 10.1145/1273442.1250746
[65] Shoshitaishvili Y, Wang Ruoyu, Salls C, et al. Sok: (State of) the art of war: Offensive techniques in binary analysis[C] //Proc of the 2016 IEEE Symp on Security and Privacy (S&P). Piscataway, NJ: IEEE, 2016: 138−157
[66] Raff E, Barker J, Sylvester J, et al. Malware detection by eating a whole exe[J]. arXiv preprint, arXiv: 1710.09435, 2017
[67] Yakura H, Shinozaki S, Nishimura R, et al. Neural malware analysis with attention mechanism[J]. Computers & Security, 2019, 87: 101592
[68] Wan T L, Ban T, Lee Y T, et al. IoT-malware detection based on byte sequences of executable files[C] //Proc of the 15th Asia Joint Conf on Information Security (AsiaJCIS). Piscataway, NJ: IEEE, 2020: 143−150
[69] Wan T L, Ban T, Cheng S M, et al. Efficient detection and classification of Internet-of-things malware based on byte sequences from executable files[J]. IEEE Open Journal of the Computer Society, 2020, 1: 262−275 doi: 10.1109/OJCS.2020.3033974
[70] Chaganti R, Ravi V, Pham T D. Deep learning based cross architecture Internet of things malware detection and classification[J]. Computers & Security, 2022, 120: 102779
[71] Wu C Y, Ban T, Cheng S M, et al. IoT malware classification based on reinterpreted function-call graphs[J]. Computers & Security, 2023, 125: 103060
[72] Zhao Yang, Kuerban A. MDABP: A novel approach to detect cross-architecture IoT malware based on PaaS[J]. Sensors, 2023, 23(6): 3060
[73] pancake. Radare2 [EB/OL]. [2023-05-29]. https://rada.re/r/
[74] Narayanan A, Chandramohan M, Venkatesan R, et al. Graph2vec: Learning distributed representations of graphs[J]. arXiv preprint, arXiv: 1707.05005, 2017
[75] Li Chuangfeng, Shen Guangming, Sun Wei. Cross-architecture Intenet-of-things malware detection based on graph neural network[C] //Proc of the 2021 Int Joint Conf on Neural Networks (IJCNN). Piscataway, NJ: IEEE, 2021: 1−7
[76] He Tianxiang, Han Chansu, Isawa R, et al. Scalable and fast algorithm for constructing phylogenetic trees with application to IoT malware clustering[J]. IEEE Access, 2023, 11: 8240−8253 doi: 10.1109/ACCESS.2023.3238711
[77] Redini N, Machiry A, Wang Ruoyu, et al. Karonte: Detecting insecure multi-binary interactions in embedded firmware[C] //Proc of the 2020 IEEE Symp on Security and Privacy (S&P). Piscataway, NJ: IEEE, 2020: 1544−1561
[78] 中国信息通信研究院. 物联网安全白皮书(2018)[R]. 北京: 中国信息通信研究院, 2018: 1−426 CAICT. IoT security white paper (2018) [R]. Beijing: China Academy of Information and Communications Technology, 2018: 1−426(in Chinese)
[79] Qiao Yanchen, Zhang Weizhe, Du Xiaojiang, et al. Malware classification based on multilayer perception and Word2Vec for IoT security[J]. ACM Transactions on Internet Technology, 2021, 22(1): 1−22
[80] El-Ghamry A, Gaber T, Mohammed K K, et al. Optimized and efficient image-based IoT malware detection method[J]. Electronics, 2023, 12(3): 708
[81] Yaokumah W, Appati J K, Kumah D. Machine learning methods for detecting Internet-of-things (IoT) malware[J]. International Journal of Cognitive Informatics and Natural Intelligence, 2021, 15(4): 1−18
[82] Lee H, Kim S, Baek D, et al. Robust IoT malware detection and classification using opcode category features on machine learning[J]. IEEE Access, 2023, 11: 18855−18867 doi: 10.1109/ACCESS.2023.3247344
[83] Mikolov T, Chen Kai, Corrado G, et al. Efficient estimation of word representations in vector space[J]. arXiv preprint, arXiv: 1301.3781, 2013
[84] Dhanya K, Vinod P, Yerima S Y, et al. Obfuscated malware detection in IoT Android applications using Markov images and CNN[J]. IEEE Systems Journal, 2023, 17(2): 2756−2766
[85] Phu T N, Hoang L, Toan N N, et al. C500-CFG: A novel algorithm to extract control flow-based features for IoT malware detection[C] //Proc of the 19th Int Symp on Communications and Information Technologies (ISCIT). Piscataway, NJ: IEEE, 2019: 568−573
[86] 云安全联盟大中华区. 物联网安全关键技术白皮书[R]. 香港: 云安全联盟大中华区, 2023 CSA GCR. IoT security key technologies white paper[R]. Hong Kong, CSA GCR, 2023(in Chinese)
[87] Yuan Baoguo, Wang Junfeng, Wu Peng, et al. IoT malware classification based on lightweight convolutional neural networks[J]. IEEE Internet of Things Journal, 2021, 9(5): 3770−3783
[88] Giaretta L, Lekssays A, Carminati B, et al. LiMNet: Early-stage detection of IoT botnets with lightweight memory networks[C] //Proc of the 26th European Symp on Research in Computer Security. Berlin: Springer, 2021: 605−625
[89] Ma Ningning, Zhang Xiangyu, Zheng Haitao, et al. ShuffleNet V2: Practical guidelines for efficient cnn architecture design[C] //Proc of the European Conf on Computer Vision (ECCV). Berlin: Springer, 2018: 116−131
[90] Javed F, Afzal M K, Sharif M, et al. Internet of things (IoT) operating systems support, networking technologies, applications, and challenges: A comparative review[J]. IEEE Communications Surveys & Tutorials, 2018, 20(3): 2062−2100
[91] Pham D P, Marion D, Mastio M, et al. Obfuscation revealed: Leveraging electromagnetic signals for obfuscated malware classification[C] //Proc of the Annual Computer Security Applications Conf. New York: ACM, 2021: 706−719
[92] Ding Fei, Li Hongda, Luo Feng, et al. DeepPower: Non-intrusive and deep learning-based detection of IoT malware using power side channels[C] //Proc of the 15th ACM Asia Conf on Computer and Communications Security. New York: ACM, 2020: 33−46
[93] Azmoodeh A, Dehghantanha A, Conti M, et al. Detecting crypto-ransomware in IoT networks based on energy consumption footprint[J]. Journal of Ambient Intelligence and Humanized Computing, 2018, 9: 1141−1152 doi: 10.1007/s12652-017-0558-5
[94] Maxfield C. Embedded markets study-Integrating IoT and advanced technology designs, application development & processing environments[R]. Cambridge, MA: AspenCore, 2017
[95] Samantray O P, Tripathy S N. IoT-malware classification model using byte sequences and supervised learning techniques[C] //Proc of Int Conf on the Next Generation of Internet of Things (ICNGIoT 2021). Berlin: Springer, 2021: 51−60
[96] Dib M, Torabi S, Bou-Harb E, et al. A multi-dimensional deep learning framework for IoT malware classification and family attribution[J]. IEEE Transactions on Network and Service Management, 2021, 18(2): 1165−1177 doi: 10.1109/TNSM.2021.3075315
[97] Dovom E M, Azmoodeh A, Dehghantanha A, et al. Fuzzy pattern tree for edge malware detection and categorization in IoT[J]. Journal of Systems Architecture, 2019, 97: 1−7 doi: 10.1016/j.sysarc.2019.01.017
[98] Alsubaei F S, Alshahrani H M, Tarmissi K, et al. Graph convolutional neural network based malware detection in IoT-cloud environment[J]. Intelligent Automation & Soft Computing, 2023, 36(3): 2897−2914
[99] Atitallah S B, Driss M, Almomani I. A novel detection and multi-classification approach for IoT-malware using random forest voting of fine-tuning convolutional neural networks[J]. Sensors, 2022, 22(11): 4302−4324 doi: 10.3390/s22114302
[100] Yumlembam R, Issac B, Jacob S M, et al. IoT-based Android malware detection using graph neural network with adversarial defense[J]. IEEE Internet of Things Journal, 2023, 10(10): 8432−8444 doi: 10.1109/JIOT.2022.3188583
[101] Darabian H, Dehghantanha A, Hashemi S, et al. An opcode-based technique for polymorphic Internet of things malware detection[J]. Concurrency and Computation: Practice and Experience, 2020, 32(6): 5173
[102] Naeem H, Alshammari B M, Ullah F. Explainable artificial intelligence-based IoT device malware detection mechanism using image visualization and fine-tuned CNN-based transfer learning model[J]. Computational Intelligence and Neuroscience, 2022, 7: 1−17
[103] Baek S, Jeon J, Jeong B, et al. Two-stage hybrid malware detection using deep learning[J]. Human-Centric Computing and Information Sciences, 2021, 11(27): 10−22967
[104] Alasmary H, Anwar A, Park J, et al. Graph-based comparison of IoT and Android malware[C] //Proc of the 7th Int Conf on CSoNet. Berlin: Springer, 2018: 259−272
[105] Alasmary H, Khormali A, Anwar A, et al. Analyzing and detecting emerging Internet of things malware: A graph-based approach[J]. IEEE Internet of Things Journal, 2019, 6(5): 8977−8988 doi: 10.1109/JIOT.2019.2925929
[106] He Kaiming, Zhang Xiangyu, Ren Shaoqing, et al. Deep residual learning for image recognition[C] //Proc of the IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2016: 770−778
[107] Sandler M, Howard A, Zhu Menglong, et al. MobileNetV2: Inverted residuals and linear bottlenecks[C] //Proc of the IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2018: 4510−4520
[108] Huang Gao, Liu Zhuang, Van Der Maaten L, et al. Densely connected convolutional networks[C] //Proc of the IEEE Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2017: 4700−4708
[109] Senge R, Hüllermeier E. Top-down induction of fuzzy pattern trees[J]. IEEE Transactions on Fuzzy Systems, 2010, 19(2): 241−252
[110] Tan Mingxing, Le Quoc. EfficientNet: Rethinking model scaling for convolutional neural networks[C] //Proc of the Int Conf on Machine Learning. New York: PMLR, 2019: 6105−6114
[111] Jeon J, Jeong B, Baek S, et al. Hybrid malware detection based on Bi-LSTM and SPP-Net for smart IoT[J]. IEEE Transactions on Industrial Informatics, 2022, 18(7): 4830−4837 doi: 10.1109/TII.2021.3119778
[112] He Kaiming, Zhang Xiangyu, Ren Shaoqing, et al. Spatial pyramid pooling in deep convolutional networks for visual recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(9): 1904−1916 doi: 10.1109/TPAMI.2015.2389824
[113] Cozzi E, Vervier P A, Dell’Amico M, et al. The tangled genealogy of IoT malware[C] //Proc of the Annual Computer Security Applications Conf. New York: ACM, 2020: 1−16
[114] Alzahrani H, Abulkhair M, Alkayal E. A multi-class neural network model for rapid detection of IoT botnet attacks[J]. International Journal of Advanced Computer Science and Applications, 2020, 11(7): 688−696
[115] Puri R. Bots & botnet: An overview[J]. SANS Institute, 2003, 3: 58
[116] Kolias C, Kambourakis G, Stavrou A, et al. DDoS in the IoT: Mirai and other botnets[J]. Computer, 2017, 50(7): 80−84 doi: 10.1109/MC.2017.201
[117] Bertino E, Islam N. BotNets and Internet of things security[J]. Computer, 2017, 50(2): 76−79 doi: 10.1109/MC.2017.62
[118] Hallman R, Bryan J, Palavicini G, et al. IoDDoS-the Internet of distributed denial of sevice attacks[C] //Proc of the 2nd Int Conf on Cnternet of Things, Big Data and Security. Setúbal, Portugal: Scitepress, 2017: 47−58
[119] Meidan Y, Bohadana M, Mathov Y, et al. N-BaIoT—network-based detection of IoT botnet attacks using deep autoencoders[J]. IEEE Pervasive Computing, 2018, 17(3): 12−22 doi: 10.1109/MPRV.2018.03367731
[120] Kumar A, Lim T J. EDIMA: Early detection of IoT malware network activity using machine learning techniques[C] //Proc of the 5th World Forum on Internet of Things (WF-IoT). Piscataway, NJ: IEEE, 2019: 289−294
[121] Ozawa S, Ban T, Hashimoto N, et al. A study of IoT malware activities using association rule learning for darknet sensor data[J]. International Journal of Information Security, 2020, 19: 83−92 doi: 10.1007/s10207-019-00439-w
[122] Alharbi A, Hamid M A, Lahza H. Predicting malicious software in IoT environment based on machine learning and data mining techniques[J]. International Journal of Advanced Computer Science and Applications, 2022, 13(8): 497−506
[123] Waqas M, Kumar K, Laghari A A, et al. Botnet attack detection in Internet of things devices over cloud environment via machine learning[J]. Concurrency and Computation:Practice and Experience, 2022, 34(4): e6662
[124] Uhříček D, Hynek K, Čejka T, et al. BOTA: Explainable IoT malware detection in large networks[J]. IEEE Internet of Things Journal, 2023, 10(10): 8416−8431 doi: 10.1109/JIOT.2022.3228816
[125] Agrawal R, Imieliński T, Swami A. Mining association rules between sets of items in large databases[C] //Proc of the 1993 ACM SIGMOD Int Conf on Management of Data. New York: ACM, 1993: 207−216
[126] Kusupati A, Singh M, Bhatia K, et al. FastGRNN: A fast, accurate, stable and tiny kilobyte sized gated recurrent neural network[J]. Advances in Neural Information Processing Systems, 2018, 31: 9031−9042
[127] Hu Weiwei, Tan Ying. Generating adversarial malware examples for black-box attacks based on GAN[J]. arXiv preprint, arXiv: 1702.05983, 2017
[128] Anderson H S, Kharkar A, Filar B, et al. Learning to evade static PE machine learning malware models via reinforcement learning[J]. arXiv preprint, arXiv: 1801.08917, 2018
[129] Suciu O, Coull S E, Johns J. Exploring adversarial examples in malware detection[C] //Proc of the 2019 IEEE Security and Privacy Workshops (S&PW). Piscataway, NJ: IEEE, 2019: 8−14