摘要:物联网(IoT)和4G/5G无线网络增加了大量设备和新服务,商用现货(COTS)物联网设备得到了广泛部署。为了确保具备无线传输能力的这些系统的安全运作,射频(RF)监视对于监视它们在RF频谱中的活动和检测未经授权的物联网设备非常重要。具体来说,为了防止非法用户使用来自同一制造商的相同设备冒充合法用户,必须获得每个单独设备的唯一“签名”,以便唯一地标识每个设备。本研究提出一种利用深度学习侦测未授权物联网设备的入侵侦测方法。由于基于物理层的特征具有器件特异性,且难于模拟,因此本文提出的方法是基于射频指纹的。通过基于USRP的实验,从6个“相同”的ZigBee设备上收集射频信号。为了保证模型的鲁棒性,信号跨越了0~-15dB的信噪比。利用卷积神经网络从射频信号中提取特征,并对提取的特征进行降维和去相关处理。然后将简化后的特征聚类以识别物联网设备。结果表明,该方法能够识别训练过程中未观察到的设备。结果不仅强调了基于深度学习的特征提取的好处,而且显示了此方法能够区分在训练中没有观察到的新设备(类)的良好前景。

一、引言

尽管物联网(IoT)系统具有良好的优势,但由于无线传输的广播特性,这些系统、设备和具有无线接口的网络仍然容易受到各种攻击。专门维护系统安全的最后一道防线是入侵检测系统(IDS)。

图1 非法设备入侵场景

为了为这项工作提供一个环境,假设在一个安全的建筑物中部署了许多具有无线接口(如WiFi)的授权物联网设备。这些设备通常连接到接入点。有几种类型的入侵是可能的。一个具体的非法设备入侵场景如图1所示:入侵者成功地将智能手机等设备偷运进大楼,获取图片或视频等数据,并通过无线方式将数据传输到大楼外的接收设备。在这种情况下,即使入侵者不需要访问安全服务器,也会发生入侵。因此,传统的基于证书的检测方法并不能有效地防止此类入侵。

为了防止这类入侵,可在建筑物内设置无线电频率监测站,以监察射频频谱,并收集建筑物内及周围的所有射频痕迹。然后利用射频特征在物理层进行入侵检测。与其他层的标识符(如MAC地址和国际移动用户标识(IMSI)号)不同,RF特性很难模拟。

然而,这项工作也存在许多挑战:

1) 入侵者可能获取并试图使用与授权设备相同的设备。我们所说的“相同”是指同一厂家生产的同一型号的设备。这意味着从设备发出的信号特性几乎相同。

2) 大多数依赖于机器学习和深度学习的数据驱动方法需要来自所有设备类别的数据来训练模型。然而,入侵者的射频信号在实际训练中是不可用的。

3) 信道条件的变化、设备移动性和噪声等因素会导致射频信号的信噪比水平发生变化。入侵检测系统应该对这些变化具有鲁棒性。

针对这些挑战,本文提出了一种基于深度学习的检测方案。为了学习这些独特的指纹并利用它们来检测未经授权的射频设备,这篇论文提出了一种利用卷积神经网络(CNN)、降维、去相关和聚类的综合方法。CNN使用从授权设备收集的RF跟踪进行训练。目标不是为了分类,而是从RF跟踪中“提取”相关和设备的固有特征。也就是说,所提出的入侵检测器只使用CNN的特征提取部分。然后缩小特征的维数,进行聚类以区分不同的设备。因为每个设备都有独特的特性,所以聚类的数量代表射频设备的数量。当聚类数量超过授权设备数量时,将检测到未授权设备。图2显示了这篇论文提出的方法。利用从6个ZigBee设备上采集的真实信号对该方案进行了测试。一个设备的样本被排除在训练之外,并在测试期间与其他五个设备的样本混合。可以观察到,训练期间未使用的射频样本可以被识别。实验结果表明,该方法检测精度达到78%。

二、数据生成

本文所使用的射频数据是从远程模块MICAz-MPR2400获得的。它采用了符合IEEE 802.15.4标准的ZigBee-ready射频收发器,工作频率从2.4到2.48ghz。ZigBee是为无线物联网中的低成本、低功耗通信而开发的一种技术,是一种保证产品互操作性的协议,与制造商无关。它的一个核心优势是电池寿命长,由于非常小的工作周期和非常低的延迟。

使用NI USRP-293x软件定义的无线电设备,通过LabVIEW在接收器模式下捕获六个ZigBee设备的IQ两路信号。USRP具有高速模数转换器和数模转换器,用于通过10千兆以太网将基带I和Q信号流传送到主机PC。USRP-293x能够捕获频率高达4.4GHz、带宽高达20MHz的信号。在我们的实验台上,载波频率被配置在信道26上,以便在2.4GHz的ISM频带内具有最小的来自其他设备的干扰。所有六个ZigBee设备都配置为在0、-1、-5、-10和-15 dBm信噪比下传输。这是为了模拟真实生活场景,包括降级和远程信号的影响、变化的信道条件、噪声和设备移动性。此外,为了表示真实的动态环境,在传输过程中移动了所有设备。

图3 从2个ZigBee设备捕获射频数据(每秒2帧,共20帧)

图3显示了在0 dB时收集的I和Q两路数据。所有6个设备的总数据大小约为300 GB,每个ZigBee设备收集的射频数据约为50 GB。对于每一个收集的类,在每一个SNR中收集的数据加起来大约是10 GB(5分钟收集的数据)。对射频信道进行过滤,只捕捉突发传输区域;由于ZigBee传输的特殊性,每个设备使用的样本点数被限制在1亿个样本。这种过滤大大减少了数据大小。6个Zigbee无线电中有5个被认为是授权设备,而第6个无线电是入侵者。

图2 入侵检测模型训练过程

将授权的Zigbee无线电的原始RF数据过滤后,输入模型进行训练,如图2所示,该模型由特征提取、降维的深度学习模型和聚类算法组成。经过训练,得到的模型将来自授权设备的数据聚类成五个簇,每个簇对应一个授权设备。当来自第六个无线电的射频数据通过训练过的模型时,它将作为一个新的聚类(入侵者)聚集在一起。

三、模型建立

利用射频指纹对未授权物联网设备进行入侵检测并不是一项简单的任务。当需要检测(或分类)属于不属于训练的设备的数据时,问题就变得更加复杂了。深度学习是以数据输入模型为前提的;训练和测试数据都属于相同的分布,尽管这种真实的分布并不为人所知。这就是基于深度学习的入侵检测方法,如RF指纹识别的突破之处。射频指纹虽然在许多应用中非常精确,但在以前的研究中,它被表述为一个分类问题。因此,如果属于训练中没有看到的类的RF跟踪通过模型进行推理,那么这种跟踪将被错误地归类为训练中之前观察到的类之一。

为了解决这个问题,我们使用深度学习来提取特征,而不是分类。在这项工作中,深度学习与维度去相关和聚类算法结合使用。深度学习是一种具有不同结构的神经网络,由多层构成,能够学习非线性函数。多层体系结构使得在不同级别上学习数据表示成为可能。深度学习在计算机视觉、物体检测和其他应用领域已经被证明是成功的。在从RF数据自动生成相关特征方面,几乎没有其他方法比这种方法更有效。

1 特征提取

用于特征提取的深度学习模型是卷积神经网络(CNN)。CNN是一种基于权值共享概念的前馈神经网络。一层的神经元只连接到下一层的一小部分神经元,而不是所有的神经元。维数沿着输出向量的深度维数减少。CNN架构可以大致分为两个部分;(1)隐含层/特征提取部分,为进行卷积和池化的部分;(2)分类部分,为表示算法预测的概率分数部分。

虽然CNN模型通常被训练成分类模型,但是在最近的研究中已经证明了从CNN中提取特征进行聚类是可能的。将该方法应用于无线电信号的调制分类,称为监督自举法。在这种方法中,CNN首先被训练成一个分类模型。训练CNN(分类器)后,将原始I/Q样本通过前馈通道进行推理,提取相关特征。具体地说,在这项工作中,我们修改了监督引导的思想,并使用softmax层之前的层的输出作为特性。

图4 基于CNN的特征提取结构

图4为特征提取采用的结构。该网络使用原始I/Q信号进行训练,这些样本根据不同的窗口大小被分成二维。有两个2D卷积层,然后是一个全连接层和一个输出层。输出层使用softmax激活,其他所有层使用RELU非线性。为了减少过拟合,在每个卷积层之后和全连接层之前添加dropout。

2 特征去相关和降维

通过训练数据的softmax输出来评估CNN模型的准确性。网络的精度越高,特征越具有代表性。在聚类之前,对从CNN模型中提取的特征进行特征去相关和降维处理。这有两个原因。第一个原因是为了更好的聚类而减少特征之间的共线性。第二个原因是降维和更好的可视化。

采用t-分布随机邻接嵌入(t-SNE)方法进行降维。t-SNE是一种克服了主成分分析(PCA)局限性的非线性无监督学习方法。它已被证明在高维数据集的可视化方面是有效的。t-SNE创建从高维数据到低维数据的映射,同时保留高维数据的局部距离。换句话说,该模型试图保持每个输入向量之间的距离。利用t分布对低维地图中各点之间的距离进行建模,并应用改进的Kullback-Leibler散度对不对称性进行校正。

t-SNE通常用于可视化,而不是用于分类模型,因为它没有从原始空间学习到新的(较低的)维空间的功能。然而,t-SNE在与DBScan等非距离聚类算法一起使用时提供了更大的潜力。因此,我们将DBScan聚类应用于t-SNE降维阶段的输出。

3 聚类和入侵检测

在这项工作中,使用了DBScan。因为基于分区的聚类需要知道聚类的数量,这在这个应用程序中是不实际的。此外,性能比较表明,在这个应用程序中,DBScan的性能优于层次聚类方法。

DBScan使用基于密度的聚类概念,能够在有噪声的空间数据库中找到任意形状的聚类。将高密度的点分组在一起,将单独位于低密度区域的点标记为离群点。DBScan由两个参数定义;(1)点p的邻域半径;(2)给定邻域的最小点数。每个选择的窗口(feature)大小为64,选取10000个样本,80%的数据用于拟合DBScan模型,剩下的20%用于预测。

四、实验

表1显示了CNN特征提取模型的精度分数,作为窗口大小和dropout的函数。由于没有遗漏,模型在窗口大小上的表现相对比较。然而,最优的结果似乎是在窗口大小为64的情况下得到的。当在所有卷积层之后和在softmax层之前应用0.5的dropout率时,模型的性能稍好一些。这说明CNN模型具有更好的泛化性。表2给出了与表一相同参数下信号的训练时间。可以推断,计算时间随着窗口大小的增加而减少。

  • 表1 CNN对不同窗口大小和检测率的准确性评分
  • 表2 CNN训练时间以秒为单位,用于改变窗口大小和退出率

图5为从测试数据中提取的特征进行t-SNE降维的可视化示例。t-SNE模型将数据简化为两个主要维度,分别用x轴和y轴表示。测试数据包括来自5个授权设备的数据和不包含在培训中的第6个设备(入侵者,灰色)的数据。可以看出,尽管在机器学习的背景下,我们的方法被认为是一个困难的问题,但我们能够正确地对相当数量的样本进行聚类,即使其中一些样本属于未经训练的聚类。在图中可以看到,中间较大的聚类被进一步分成两个聚类。

图5 t-SNE聚集了3000个样本,其中一个类未被发现

表3显示了聚类/入侵检测阶段的性能指标。考虑的性能指标包括调整后的互信息(AMI)指数、Rand指数和培训时间。AMI是基于Shannon的信息论,利用互信息来比较不同的簇。AMI索引计算两个聚类之间的互信息(MI),并对随机进行调整。Rand Index与AMI相似,但灵感来自典型的分类问题,将分类方案与正确的分类进行比较。Rand扩展了计算所有元素(正确分类或错误分类的元素的比例)的流行性能度量。AMI和Rand指数的范围都在0到1之间,得分越高表示表现越好。

  • 表3 聚类/入侵检测的性能评估

这里的训练时间将t-SNE特征去相关和聚类/入侵检测作为一个模块,因为与t-SNE降维所需的时间相比,聚类时间几乎可以忽略不计。但是,此阶段的所有时间都是可比较的。总之,在应用我们的模型时,仍然有可能看到大多数这两个类的差异。否则,如果使用独立的分类器(如典型的RF指纹识别)、聚类甚至bootstrap (CNN+聚类),这要么是不可能的,要么会产生糟糕的结果。

图6 假定所有数据(包括入侵者的数据)都可用于训练

在这项工作中,我们还包括一个基线模型,其中假定所有数据(包括来自入侵者的数据)都可用于培训。图6为数据集中所有类都用于训练时t-SNE降维的可视化示例。从图中可以看出,神经网络产生的特征代表了从ZigBee数据中获得的RF数据,因为这些类在单独的聚类中彼此之间有适当的区别。这可能是执行设备指纹的另一种方法。

五、结论

这篇论文提出了一种基于深度学习的基于射频指纹的入侵检测模型,以提高物联网的安全性。作者利用了由无线大数据驱动的深度学习模型、降维和聚类算法的优势。在ZigBee设备采集的射频信号上,在一定信噪比范围内对模型进行测试,以保证模型对无线信道的变化条件具有鲁棒性。实验结果表明了该方法的有效性。一般来说,机器学习分类模型必须观察它要预测的每个类的示例数据。然而,在实际的入侵检测中,这通常是不正确的。如果来自入侵者的数据不能用于培训,则分类模型将进行错误分类。相反,该方法特别有前途,因为它可以识别以前未观察到的类。此外,数据收集跨越范围的信噪比水平,以确保一个稳健的模型。

有许多参数会影响性能。例如,不同的t-SNE聚类参数对降维和聚类有很大的影响。为此,正在进行的工作包括研究有效的方法,以学习最合适的超参数的t-SNE降维,以及定量分析提出的方法的可伸缩性。

六、启发

本文通过卷积神经网络从射频信号中提取信号特征,由于卷积神经网络可以自动学习到信号较为深层的特征,并且不需要大量的先验知识,这样的特征提取方法有着较为广泛的使用场景。这篇论文又通过DBScan聚类分析方法,通过计算邻域值来判定通信设备的合法性。扩展了非法设备检测方法的种类。并且也展示了此方法能够区分在训练中没有出现的新设备(类)。

参考文献:

[1]Bassey J, Adesina D, Li X, et al. Intrusion Detection for IoT Devices based on RF Fingerprinting using Deep Learning[C]//2019 Fourth International Conference on Fog and Mobile Edge Computing (FMEC). IEEE, 2019: 98-104.

基于python的入侵检测系统毕设_基于深度学习的射频指纹的物联网设备入侵检测...相关推荐

  1. 基于python的入侵检测系统毕设_基于时空特征融合的入侵检测系统模型

    期刊:COMPUTERS & SECURITY 期刊信息:JCR分区Q1:中科院分区2区:引用因子4.85 摘要: 入侵检测系统可以通过分析网络流量的特征来区分正常流量和攻击流量.近年来,神经 ...

  2. 基于深度学习的网络加密流量分类与入侵检测框架

    写在前面: 本文翻译供个人研究学习之用,不保证严谨与准确 github链接:https://github.com/WithHades/network_traffic_classification_pa ...

  3. 基于python的语料库数据处理电子版_基于 Python 自然语言处理工具包在语料库研究中的运用...

    基于 Python 自然语言处理工具包在语料库研究中的运用 刘 旭 [摘 要] 摘要:国内当前以语料库为基础的研究,在研究工具方面,多以 AntConc . PowerGREP 为主,使用 Pytho ...

  4. 基于python的网络爬虫编程_基于Python的网络爬虫程序设计

    程序设计 ●Program Design 基于 Python的网络爬虫程序设计 网络 信 息量 的迅 猛 增 长,对 如何从海量的信息中准确的搜索 到用户需要的信息提 出了极大的 挑战.网络爬 虫具有 ...

  5. 基于python的智能家居系统_基于Python Django的可扩展智能家居系统

    基于 Python Django 的可扩展智能家居系统 龚 鸣,余杨志,邓宏涛 * [摘 要] 针对现阶段智能家居系统智能化迭代开发的需求,分析当前智能家居 系统主控的相关实现技术,提出了基于 Pyt ...

  6. 基于python爬虫技术的应用_基于Python爬虫技术的应用

    办公自动化杂志 一.引言 本文主要是对 Python 爬虫技术进行阐述,基于 python 的爬虫与其他语言相比的有很多优势.通过爬去某个网站的所有新闻这个案例,来进一步阐释 Python 爬虫技术的 ...

  7. 基于python的音频播放器_基于python实现音乐播放器代码实例

    基于python实现音乐播放器代码实例,一首,函数,按钮,布局,音乐 基于python实现音乐播放器代码实例 易采站长站,站长之家为您整理了基于python实现音乐播放器代码实例的相关内容. 核心播放 ...

  8. 基于python的网络爬虫技术_基于python的网络爬虫技术的研究

    龙源期刊网 http://www.qikan.com.cn 基于 python 的网络爬虫技术的研究 作者:刘文辉 李丽

  9. 基于python的压测工具_基于Python和SIPp的自动化压力测试系统设计和实现

    信斌 王桂花 摘要:首先,分析了现有测试系统的不足,之后,介绍了软件组成和运行环境说明,最后,设计了基于Python和SIPp的自动化压力测试系统,并给出了相关代码.新的测试系统克服了现有测试系统的不 ...

最新文章

  1. linux虚拟机启动网卡命令,命令行下无法联网怎么办,vmware下安装archlinux实现网络连接,实机grub引导启动linux...
  2. LCS最大公共子序列【转载】
  3. jquery 幻灯片图像切换效果
  4. 计算机办公软件技能大赛试题,第七届计算机技能大赛办公软件操作比赛顺利举行...
  5. pytorch Tensor的操作和Numpy之间的转化(三)
  6. [蓝桥杯][算法提高VIP]因式分解
  7. 安装 Alibaba Cloud Toolkit
  8. Thinking in C++ Notes 常量
  9. python cmdb_Django之入门 CMDB系统 (一) 基础环境
  10. pytorchgpu测试_pytorch学习(十)—训练并测试CNN网络
  11. Spring依赖注入的三种方式
  12. SCI论文降重技巧盘点 - 易智编译EaseEditing
  13. leaflet 加载百度离线瓦片
  14. Dubbo错误No provider available for the service
  15. Marquee首尾相连不间断移动 开始完全显示
  16. IntelliJ IDEA2019.1.2汉化包
  17. 使用Unity编写传统ARPG游戏的人物操作方式
  18. 2022 年中回顾|一文看懂预训练模型最新进展
  19. Java通信之服务器生猛上手
  20. 欲报从速,已有56所高校选择云创大学高质量免费直播授课!

热门文章

  1. Css3 Column实现瀑布流
  2. 欧姆定律基本知识(笔记)
  3. 滚动插件jQuery Marquee
  4. linux端口转发_详解Linux网桥功能--概念、工作机制、相关命令及实例说明
  5. cnpm安装webpack_快速打造最强 Webpack 前端工具链
  6. qlabel 显示图片后大小不变_图形编程:QT使用scrollarea显示图片的解决方案
  7. 服务器系统怎么写,服务器操作系统语言写的
  8. Leecode刷题热题HOT100(6)——Z 字形变换
  9. OpenShift 4 - 应急响应Demo应用(AMQ+Knative+Quay+BPM+BDM+SSO)
  10. 使用开源ASR框架在Mono和.NET C#中进行语音识别