论文标题:
- 英文:TinyAP: An intelligent Access Point to combat Wi-Fi attacks using TinyML
- 中文:TinyAP:使用TinyML对抗Wi-Fi攻击的智能接入点
作者信息:
- Anand Agrawal 和 Rajib Ranjan Maiti,来自印度特伦甘纳邦塞康德拉的BITS Pilani,海得拉巴校区,计算机科学与信息系统系。
论文出处:
- 本文接受发表于IEEE物联网杂志。DOI为10.1109/JIOT.2024.3467328。
主要内容概述:
摘要
论文提出了一个名为TinyAP的智能接入点(AP),旨在识别MAC层Wi-Fi攻击并生成警报。使用微控制器上的轻量级机器学习模型,利用TensorFlow Lite Micro(TFLite Micro)库实现。开发了一个框架,使用高效的神经架构搜索(NAS)和轻量级推理引擎来在AP级别对Wi-Fi攻击进行分类。系统由充当AP的Raspberry Pi 3 B+和作为插件的Arduino Nano 33 BLE Sense组成。Nano模块执行预训练的TinyML模型,模型在桌面PC上准备(搜索、训练和转换)。
第一节 引言
介绍了无线通信网络,特别是Wi-Fi在连接全球数十亿物联网(IoT)设备中的重要性。尽管WPA2协议是保护Wi-Fi网络的标准,但存在显著漏洞,如KRACK攻击,挑战了无线通信的安全性概念。
第二节 背景
简要描述了Wi-Fi攻击的概念和用于检测攻击的多层感知器(MLP)TinyML模型。
第三节 对抗Wi-Fi攻击
介绍了系统模型和攻击者模型,并提供了TinyAP框架的概述。该框架利用微控制器上的机器学习在AP级别检测Wi-Fi攻击。
第四节 TinyAP框架设计
详细介绍了TinyAP的架构设计。系统由八个不同的模块组成,每个模块执行一个明确定义的任务。
TinyAP框架是一个为检测Wi-Fi攻击而设计的系统,它详细分解为八个不同的模块,每个模块执行特定的任务。该框架的架构设计旨在通过在接入点(AP)级别使用轻量级机器学习模型来被动地检测Wi-Fi攻击,如DeAuth、DisAssoc、Evil Twin、RogueAP、KRACK和Kr00k。以下是TinyAP框架的详细介绍:
A. 特征选择 在训练机器学习模型之前,首先分析Wi-Fi网络流量,从管理、控制和EAPOL帧中选择重要特征。研究者从AWID3数据集中选择了六种MAC层Wi-Fi攻击追踪,每种数据集有254个特征。通过额外树分类器从其中选择了70个MAC层特征,其中最重要的特征包括RadioTap头、帧长度、时间戳、速率、信道频率、信道编号和dBm AntSignal等。
B. 有效的神经架构搜索(Effective Neural Architecture Search) 利用LSTM控制器从大量可能的架构中搜索出最佳的神经网络架构。在这个过程中,控制器参数(θ)和子模型的共享参数(ω)是两组不同的参数。神经架构搜索(NAS)通过评估每个架构在给定输入数据集上的准确性来执行,以产生最佳的架构,然后使用这些架构来构建和训练机器学习模型。
C. 多层感知器模型 使用NAS生成的五个最佳架构来创建并保存不同的多层感知器(MLP)模型。这些模型使用两个隐藏层和一个输出层,每层的神经元数量和激活函数由NAS确定。模型通过损失函数、优化器和度量参数进行编译,然后保存为Keras H5格式,之后转换为TFLite Micro版本,以便在微控制器上运行。
D. TFLite转换器 TFLite转换器将训练好的MLP模型转换为适合在微控制器上部署的格式。这一步骤涉及评估、重构和优化(包括量化),以实现更小的模型大小、更快的推理速度和更高的能效。
E. 调节器模块 调节器模块包含一个主函数,调用控制器函数,该函数将测试数据通过串行端口发送到微控制器。它确保测试数据从数据库中顺序读取,并传递到微控制器模块进行推理。
F. 预测器 预测器模块接收来自转换器模块的轻量级预训练机器学习模型,并使用这些模型对测试数据进行推理。在微控制器上实现的代码包括一个解析器来解析从调节器模块接收到的数据,以及一个TensorFlow解释器来执行推理。
G. 数据库 数据库模块用于存储从Wi-Fi网络中捕获的流量数据,以及用于训练和测试机器学习模型的数据。
H. 框架架构 TinyAP框架的架构图展示了各个模块之间的数据流和它们之间的关系。该图清晰地标识了每个模块的编号,以便于理解。
总的来说,TinyAP框架设计利用了TinyML技术,通过在AP级别集成轻量级机器学习模型,实现了对Wi-Fi攻击的有效检测。这种方法提高了检测速度,减轻了网关的负载,并为无线网络安全提供了一个创新的解决方案。
第五节 TinyAP的实现
描述了TinyAP系统的实现,该系统主要由Python编写,集成了多个模块。
TinyAP是一个由八个模块组成的系统,主要使用Python及其相关库进行编写。该系统详细实现了论文中提出的框架设计,将轻量级机器学习模型集成到一个微控制器中,使其能够在检测到Wi-Fi攻击时发出警报。以下是TinyAP各个模块的具体实现细节:
模块1:Wi-Fi数据包嗅探器
- 使用支持监视模式的Wi-Fi适配器(例如Alfa AWUS036NHA)来捕获Wi-Fi流量,并将其转换为.csv格式,也可以直接采用.csv文件作为输入。
- 这一模块负责捕获和预处理网络流量数据,为后续的特征提取和模型训练做准备。
模块2:特征提取
- 利用Python兼容的Scapy包,将输入文件转换为数据框格式,进行深入的数据包检查。
- 从捕获的Wi-Fi数据包中提取关键特征,为ML模型的训练提供必要的输入。
模块3和4:神经架构搜索和训练ML模型
- 使用TensorFlow和Keras库进行神经架构搜索,生成最佳的网络架构。
- 根据搜索到的架构训练ML模型,并将训练好的模型保存为Keras H5格式。
模块5:TFLite转换器
- 使用TensorFlow Lite转换器的高级API将Keras模型转换为TFLite模型。
- 这一步骤将模型转换为适合在微控制器上运行的格式。
模块6:调节器
- 使用Python实现,负责将测试数据记录转换为字符串,并通过串行端口将它们一个接一个地发送给微控制器进行推理。
- 调节器确保数据的顺序读取和发送,并与预测器模块同步。
模块7:预测器
- 在Arduino Nano 33 BLE Sense微控制器上实现,包括TFLite Micro模型和用于解析测试数据的C++代码。
- 利用TensorFlow解释器对测试数据进行推理,并生成关于数据是否表示攻击的推断结果。
模块8:数据库
- 用于存储从Wi-Fi网络中捕获的流量数据以及用于训练和测试ML模型的数据。
- 还用于存储模型的推断结果,以便进一步分析和评估模型性能。
系统运行方式
- 将Arduino Nano作为插件插入到AP中,使其能够检测和警告各种Wi-Fi攻击。
- 利用预先训练好的ML模型,通过微控制器进行实时推理,以检测攻击。
实现细节
- TinyAP系统在保持现有Wi-Fi路由器架构不变的情况下运行,通过在Raspberry Pi上作为Wi-Fi路由器来提取嗅探到的Wi-Fi流量特征。
- 使用高性能的桌面PC进行ML模型的训练,并将训练好的模型转换为TFLite Micro模型,然后传输到微控制器。
- Arduino Nano微控制器配备有256KB的RAM,用于执行TinyML模型。
性能和效率
- TinyAP展示了在2分类和多分类任务中的高平均准确率,证明了其在检测Wi-Fi攻击中的有效性。
- 系统能够在保持低延迟的同时,有效地在AP级别检测攻击,减轻了网关的负载。
通过这种实现,TinyAP不仅提供了对Wi-Fi攻击的实时检测和警报,而且还展示了将机器学习技术应用于网络硬件的潜力,为无线网络安全提供了一个创新的解决方案。
第六节 TinyAP在真实数据上的有效性
使用了Aegean Wi-Fi Intrusion Dataset (AWID3)来分析Wi-Fi流量,并比较了MLP模型和TinyAP模型的性能。
第七节 相关工作
讨论了网络安全领域,特别是保护无线局域网(WLAN)免受MAC层Wi-Fi攻击的相关研究。
第八节 结论
总结了TinyAP在对抗Wi-Fi攻击方面的贡献,并指出了将TinyML集成到网络安全中的潜力。