物联网(IoT,Internet-of-Things)旨在通过感测,处理和分析从异构IoT设备获得的大量数据,以无缝方式互连成千上万个智能对象/设备。面向物联网基础设施的这种快速发展,是以通过基于物
物联网(IoT,Internet-of-Things)旨在通过感测,处理和分析从异构IoT设备获得的大量数据,以无缝方式互连成千上万个智能对象/设备。面向物联网基础设施的这种快速发展,是以通过基于物联网的僵尸网络攻击和增加安全威胁为代价的。在这项工作中提出了一种基于稀疏表示框架(sparsity representation)的物联网僵尸网络攻击检测方法,该方法使用重建错误阈值规则识别来自受感染的物联网设备的边缘恶意网络流量。僵尸网络攻击检测是基于小型良性IoT网络流量数据执行的,因此没有关于恶意IoT流量数据的先验知识。在基于物联网的真实网络数据集上展示了结果,并展示了提出的技术针对基于重构错误的自动编码器方法的有效性。
0x01 Absert
物联网技术在最近的几年中出现,基于三个支柱:高度异构的物联网数据是通过网关捕获的,并可以通过安全的网络基础架构立即访问各种应用程序。物联网应用的类型从智能家居,智能城市和可穿戴设备到能源管理,预测性维护和汽车驾驶。然而,基于物联网的技术的快速增长的使用和实现是以解决重大业务和技术障碍为代价的,这体现在动态性,可扩展性,异构性和端到端安全性/隐私性上。
更具体地说,在IoT基础设施,IoT应用程序和IoT设备上遵循动态自适应行为,因此在所有IoT层中促进(半)自动行为很重要。这引起了对来自网络层以及物联网基础设施的高可扩展性的追求。此外,应通过物联网应用程序和平台内有效语义互操作性的概念来解决由于大量不同物联网设备的广泛使用和互连而导致的增强的异构行为。端到端安全性也是一个非常关键的问题,因为物联网设备,物联网应用及其支持平台可能容易受到各种攻击。
在当前工作中,重点是在IoT边缘的高效,强大和快速检测僵尸网络攻击。更具体地说,在过去的几年中,在物联网安全性和物联网网络入侵检测方面进行了大量的研究工作。入侵检测系统构成物联网系统最重要的核心组件之一,因此应在异构环境中引入新颖的适当技术,以确保安全性和私密性。
需要付出更大的努力来解决通信技术和IoT在安全中间件中的集成问题,从而能够应对已定义的保护约束以及移动设备中的IoT安全性。在集中式和分布式情况下都应考虑这些挑战,因此必须谨慎设计新的安全策略。此外,物联网设备的脆弱性导致可以构筑庞大的僵尸网络军团来执行基于物联网的DDoS攻击。 近期相关工作包括:
基于软件定义网络(SDN)的防御体系结构用于在Mirai僵尸网络假设下根据僵尸程序的扫描阶段(和流量)来检测和缓解IoT DDoS攻击,以识别受损的IoT节点;还有IoT蜜罐和沙盒框架,用于吸引和分析针对各种CPU架构上运行的各种IoT设备的Telnet攻击。
用于物联网网络中轻量级异常检测的博弈论方法,其中采用纳什均衡的概念来确定均衡状态,从而允许入侵检测系统激活异常检测过程以检测新的攻击模式;一种基于MapReduce架构的实时混合IoT入侵检测方法,该方法由基于异常和基于规范的入侵检测模块组成,用于检测沉孔和选择性转发IoT攻击;适用于物联网的自适应,知识驱动的入侵检测系统,该系统能够跨运行不同通信协议的物联网系统实时检测攻击。该系统自动收集有关受监视网络和实体的功能的信息,并利用这些知识来动态配置最有效的检测技术集。
新型的IoT入侵检测系统,重点是对路由攻击的检测,例如欺骗或更改的信息,沉陷漏洞和选择性转发。此外还有深度自动编码器僵尸网络攻击检测方法,其中提出了一种基于网络的新颖异常检测方法,该方法基于提取物联网网络的行为快照,并采用深度自动编码器来检测受感染的物联网设备发出的异常网络流量。
本文引入了一种用于即时物联网僵尸网络攻击检测的诊断机制,其最终目标是通过立即隔离位于物联网边缘的受损物联网设备来最大程度地降低攻击的影响。由于控制边缘IoT设备的计算能力有限,强烈希望提供一种算法程序,该程序使用尽可能少的训练和测试数据来实现精确的IoT僵尸网络攻击检测器。在这里,假设在训练过程中没有恶意物联网网络流量数据的先验知识。首先,基于稀疏表示框架的重构错误阈值规则用于IoT僵尸网络攻击检测,假设仅使用非常有限数量的训练和测试数据来处理低计算约束以及快速反应。其次,采用贪婪的稀疏恢复算法,称为正交匹配追踪(orthogonal matching pursuit),因为它仅涉及两个超参数调整,即阈值常数和稀疏度。
0x02 Dataset and Feature Extraction
在这里使用了N-BaIoT数据集1,该数据集对应于从九种商用IoT设备收集的实际流量数据。为了完整起见,接下来提供数据集的简短概述。
N-BaIoT数据集包含从原始IoT网络流量数据中提取的功能。更具体地,每当接收到分组时,就计算传输每个分组的协议和主机的行为快照。每个快照对应于一组统计特征中反映的数据包的上下文信息,即,每个数据包的到达会从五个时间窗口(100ms,500ms,1.5sec,10sec和1min)中提取23个统计特征,然后每个窗口中的五个23维向量被连接成单个115维向量(在本文的其余部分中,将115维向量作为样本)。
为了进行性能评估,使用了BASHLITE僵尸网络攻击期间获得的恶意样本。具体来说,使用了基于三种BASHLITE攻击类型的样本:
(I)COMBO:发送垃圾邮件数据并打开与指定IP地址和端口的连接;
(II)垃圾邮件:发送垃圾邮件数据;
(III)扫描:扫描易受攻击设备的网络。
在性能评估期间,使用了与八个物联网设备相对应的良性样本,如下表第三列所示。
0x03 Sparse Representation for IoT Botnet Attack Detection
A.稀疏表示框架
在本节中将使用少量训练和测试样本来描述用于物联网僵尸网络攻击的稀疏表示框架。令S为位于IoT边缘的IoT设备总数。然后,可以基于从第i个IoT设备提取的良性样本为每个IoT设备构建矩阵Vi,如下所示:
其中vi,j∈Rd×1表示第i个IoT设备的第j个d维样本,ni是从第i个IoT设备获得的良性训练样本的数量。良性训练样本的总数为N = n1 +··+ nS。以列形式重写每个向量vi,j:
其中v(i,j)w∈Rdw×1,w = 1,.. ,W,d = d1 +··+ dW,W表示第二部分中描述的用于计算统计特征的窗口数。根据N-BaIoT数据集描述,对于w = 1,W = 5且dw = 23,其中w = 1, . . . , W 。因此,每个子向量v(i,j)w的维数dw是常数,等于23,∀w=1,…,W(即d=d1+···+dW=d1+···+d5=23+···+23=5·23=115)
在物联网僵尸网络攻击检测中,最终目标是在观察到的样本y∈Rd×1的情况下,检测物联网网络流量数据是对应于良性还是恶意行为。考虑y是与第i个IoT设备相对应的样本。推断y是否是良性的,是从“健康”的IoT设备发出的。可以将样本y编写为与第i个IoT设备关联的良性训练样本的线性组合,如下所示:
其中ci 是根据Vi的列包含y的表示系数的向量。
总体数据矩阵V包含与从所有IoT设备提取的良性样本相对应的样本,并且被定义为所有良性数据矩阵Vi,i = 1…S,
通过组合上式,可以根据整体良性训练数据矩阵V稀疏表示y,即y = Vc,其中
表示系数向量,以下称为稀疏编码(sparse code),除与第i个IoT设备关联的元素外,其元素全为零。
给定整体数据矩阵V和观察到的样本y,可以通过正交匹配追踪(OMP)算法解决以下优化问题,以获得稀疏编码c的估计:
其中||·||2表示l2范数,||·||0是0l(伪)范数,其定义为给定矢量的非零元素数,τ表示稀疏代码cˆ的稀疏度。下面算法1总结了在给定y和V的情况下估算稀疏码c的步骤。
OMP是一种迭代的轻量级算法过程,其中在每次迭代期间,它选择V的列以包括在当前支持集Λk中(包含索引的索引)。通过最大化V列与当前残差rk-1之间的内积来实现。将新列添加到支持集后,它将解决最小二乘问题,以最大限度地减少当前支持集上的误差。结果,残差变得正交于与当前支撑集相对应的V列。算法1中的第2行指示了停止条件:当达到稀疏度τ或残差的l2范数低于给定常数时,迭代过程将停止。在当前的工作中,将τ视为超参数,而在实验评估过程中使其不变。
基本假设是,如果观察到的样本y对应于良性流量行为,则期望重构误差||y-Vcˆ||2较小,因为cˆ中非零条目的索引将对应于与V相关的V列。相反,当y对应于看不见的(恶意)流量行为时,预计会有很高的重构误差||y-Vcˆ||2,因为估计的稀疏编码cˆ不能以V来稀疏表示,因为恶意物联网流量信息未包含在总体中结果,物联网僵尸网络攻击检测阈值规则可以写为:
其中θ是决策阈值。给定仅包含良性的整体数据矩阵V,可以离线估算决策阈值。
B.决策阈值估计和超参数调整
算法2总结了在给定V的条件下找到超参数τ,θ的最佳组合的主要步骤。在当前工作中,采用代理离群值的概念来补偿超参数调整期间缺少恶意样本的情况。假定如果仅在良性样本上计算稀疏代码,则某些重构错误可能会获得较大的值。结果,选择最大重构误差作为阈值θ可能导致接受大多数恶意样本为良性。
采用四分位数的概念可以消除良性样本中存在的一定数量的代理离群值(获得较大的重构误差值)。更具体地说,首先计算所有良性训练样本的稀疏编码,然后估计相应的重构误差。给定计算出的重构误差,估计下四分位数(Q1),上四分位数(Q3)和四分位数间距(IQR = Q3 3 Q1),因此属于良性训练样本集的样本y是合格的作为代理离群值:
其中ρ是拒绝率,反映了处于非极限范围内的良性训练样本的百分比。可以去除代表虚假训练样本的重构误差的极值,因此将剩余重构误差的最大值选择为阈值θ。此外,可以通过交叉验证找到最佳的ρ值(请参见算法2)。
C.对物联网僵尸网络攻击检测的多数投票法
仅使用一个测试样本y∈R115×1来检查现实情况,以便以可靠的方式尽快检测到IoT网络流量行为。
考虑y可以分解为y^1,…,y^5的形式的五个子向量,每个子向量y^w∈R23×1反映了五个时间窗的统计特征,分别为100ms(w = 1),500ms(w = 2),1.5s(w = 3),10s(w = 4)和1分钟(w = 5)。对于w = 1,的每个子向量y^w,可以解决优化问题如下:
其中V^w∈R23×N对应于在第w个时间窗上的良性训练,因此得到一组五个稀疏编码cˆ1,…,cˆ5。接下来,计算形式为||y^w-V^wc^w||2(w = 1,…,5)的五个重构误差,导致五个决策函数。有关物联网僵尸网络攻击检测是否存在的最终决定是通过多数投票制提供的。显然,根据算法2中描述的过程,在给定Vw的情况下估计出不同的决策阈值θw(第3行,第15行和第30行的循环中存在“ for w = 1 to 5 do”形式的内部循环) )。
0x04 Experimental Evaluation
在本节中,将基于多数投票的提议的稀疏表示(SR)方法的IoT僵尸网络攻击检测性能与单个隐藏层自动编码器(AE)进行了比较,其中N-BaIoT数据集用于评估过程。对于每个物联网设备,从每个数据集的前半部分随机选择100、300和500个良性样本,以估计决策阈值,并按照3倍(CV = 3)交叉验证过程执行超参数的调整,其中τ在T = {5,10,15,20,30}变化,而ρ在P = {0.01,0.5,1,2,3}变化,并且e固定且等于0.001。
对于AE超参数调整,采用了与算法2分析的策略类似的策略(基于AE重建面向错误的决策阈值估计和超参数调整),其中历元数是固定的,等于50,而隐藏层中的节点数则在{20,30,40,50,60}变化。结果,SR和AE都分别具有一个超参数,稀疏度和节点数。在这里,使用了现成的AE实现,其中KerneScale参数设置为auto且Standardize设置为true,而其余参数保持默认值。
物联网僵尸网络攻击检测的评估结果以混淆矩阵的形式报告,如上表所示,其中TP表示正确检测到的恶意样本数量,TN表示正确检测到的良性样本数量,FN表示数量错误检测到的恶意样本数量,FP表示错误检测到的良性样本数量。在这里,基于混淆矩阵计算了以下指标,以评估所提出框架的性能:
(I)正预测值(PPV),它表示正确检测到的恶意样本在检测为恶意的总样本中所占的比例,
( II)灵敏度(检测率),显示正确检测到的恶意样本在实际恶意样本总数中的比例;
(III)F1-分数对应于PPV的谐波均值和灵敏度,
(IV)准确度(ACC)表示正确检测到的样本占检测到的样本总数的比例。
为了评估这两种方法的性能,分别形成了五个Monte Carlo运行。在每次蒙特卡洛(Monte Carlo)运行期间,都遵循“leave-one-out-device-out”的交叉验证(LOOCV)策略,其中使用S-1 IoT设备的良性样本进行调整和阈值估计,而当前(测试中)的IoT设备的良性样本和恶意样本用于测试/评估目的。重复此过程S次,并报告了所有IoT设备和所有Monte Carlo运行的总平均性能指标。此评估是与IoT设备无关的,它显示了泛化能力,因为正在测试的IoT设备未包括在调整过程中。
在评估过程中,分别使用了100、300和500个遗留的良性样本(LOOCV)进行测试,以及从每个IoT设备的COMBO恶意数据集中随机选择的200个恶意样本(1600个恶意测试样本总数)。对于“垃圾邮件”和“扫描”僵尸网络攻击,分别从每个IoT设备的恶意垃圾邮件和“扫描”数据集中使用了200、600和1000个随机选择的样本(每个评估方案中总共有1600、4800和8000个恶意测试样本)。
要注意,使用了从调整过程中使用的八个IoT设备获得的恶意样本。上图1显示了与COMBO僵尸网络攻击相对应的结果,上图2描述了在垃圾邮件僵尸网络攻击的情况下的性能,上图3相应于‘扫描’僵尸网络攻击结果。在所有图中,图例名称中的下标表示在超参数调整和决策阈值估计过程中使用的每个IoT设备的良性样本数。黑色竖线表示误差线,因为每个实验方案执行5次(Monte Carlo运行)乘以S = 8(IoT设备总数)。
显然,从灵敏度,F1分数和ACC方面考虑,所提出的SR方法具有出色的性能,而AE技术的PPV效果略好。这意味着SR在准确检测IoT网络中的恶意行为和正常行为方面具有强大的功能(与SR方法的误差线相比,与AE对应的Sensitivity,F1分数和ACC误差线更宽)。此外,SR和AE之间的时间复杂度相当且低,因此SR可用于准确,快速地物联网僵尸网络攻击检测。
0x05 Conclution
在本文中提出了一种基于少量良性训练样本的快速物联网僵尸网络攻击检测方法,并在检测过程中使用一个样本。 所提出的方法基于稀疏表示框架,其中仅使用良性训练样本来估计决策阈值。 将稀疏表示方法与单个隐藏层自动编码器进行比较。 通过实验评估表明,与自动编码器相比,该方法在F1得分,检测率和准确性方面表现更好。 作为未来的工作,打算使用更多的物联网僵尸网络攻击数据集来研究提议的方法,并与其他物联网僵尸网络攻击检测方法进行广泛的比较。