大家读完觉得有帮助记得关注和点赞!!!
摘要
信息物理系统(CPS)和物联网(IoT)是工业4.0愿景中的关键技术。它们集成了传感器和执行器以与物理环境交互。然而,在创建和互连组件以形成异构智能系统架构时,这些系统在网络安全方面面临挑战。本文对基于LoRaWAN的智能照明项目的架构配置进行了实验研究,旨在验证和提高系统针对攻击的鲁棒性。我们通过在实验室和现场进行的一系列迭代实验来评估系统的鲁棒性。结果表明,大多数对LoRaWAN网络的攻击是不成功的,同时也突显了已安装产品存在的一些未解决问题。最成功的攻击是在目标几米范围内的高功率干扰攻击,对于网关而言,可以通过网关冗余来缓解此类攻击。
CCS概念
• 安全与隐私 → 系统安全;• 网络 → 网络性能评估。
关键词
智慧城市,LoRaWAN,信息物理系统,物联网,微控制器
1 引言
智能系统运行着一个由各种品牌和功能的智能设备组成的网络,以做出自主、分散的决策,这需要标准化的接口和通信。这种异构性可能导致不一致性,使系统容易受到攻击,攻击者可以利用这些缺陷窃听或降低资产的价值,从而导致虚拟和物理损失[4, 13]。因此,安全必须内置到现代架构设计中(安全设计)。
然而,在一个跨越云、边缘和物理世界的多领域环境中,不同应用相关的功能模型之间的定义和分析模型各不相同,这是一个复杂的过程。因此,安全性常常被忽视。此外,现有的架构模型通常受到来自"离线"安全世界的简化和假设的困扰。因此,有必要评估系统中的多领域漏洞,提出战略性和预防性的对策[16],或者确定可以减少或消除漏洞的纠正性缓解措施[19]。
本文对此类多领域系统进行了迭代式实验分析。我们探索了一个去中心化智能照明架构(SLA)的网络配置和通信参数,并在实验室和现场案例研究中评估其网络安全。智能照明部署由于带宽限制和在开放频段上与其他网络共存等多种限制而特别容易受到攻击[5]。其广泛分布和网络规模庞大等挑战使其面临更高的篡改和攻击风险。基于先前对目标SLA的离线分析结果[15],我们继续进行对已识别弱点的实验评估,并讨论未来可能的行动。我们的贡献包括评估智能基础设施对攻击的弹性的实验方法,以及在有无攻击者存在的情况下对城市环境中已部署架构的评估。
本文其余部分组织如下:第2和第3节介绍了相关工作以及我们的实验方法、设置和配置。在第4和第5节中,我们报告并讨论了实验结果及其影响。第6节对全文进行总结。
2 相关工作
作为一项相对较新的技术,LoRaWAN已经产生了大量讨论其局限性和能力的文章。Adelantado等人[1]关注这种低吞吐量、远距离通信方法的局限性和应用场景。他们的理论探索与Augustin等人[5]的实验评估结论相似,后者表明LoRaWAN存在共存和带宽限制问题,使其容易成为攻击目标。最近,Šabić等人[23]广泛总结并重申了这些论断,并补充说,由于LoRaWAN设备价格低廉,它们更可能成为此类攻击的目标。然而,前两者都探讨了类似ALOHA的吞吐量上限和网络的指数冲突行为,但未评论网关冗余的优势、调制鲁棒性或一般的多网关应用。引用的解决方案和场景主要集中于单网关分析和方案,忽略了廉价LoRaWan冗余设置的好处。与之不同,Georgiou和Raza[10]在他们对单网关基础设施的随机分析中发现了相同的局限性,但他们承认多个网关会改变系统的行为和吞吐量。
确实,对Semtech专有LoRa调制的深入分析表明,现有模型是不充分的,正如Afisiadis等人[2]所指出的。他们评估了LoRa在存在加性高斯白噪声和来自另一个LoRa用户(或攻击者)的干扰下的性能,且未假设完美的信号对齐。他们的数值模拟验证了该模型,表明现有的干扰模型高估了传输错误率。同样,Haxhibeqiri等人[12]对协议的冲突和重建管理进行的实验评估突显了其鲁棒性。它展示了时间和信号强度是决定两个冲突信号是否以及哪一个被接收的主要因素。因此,他们证明了LoRaWAN的可扩展性和抗攻击能力比先前假设的要好。
还有其他研究同样探索了LoRaWAN网络的漏洞。例如,Yang等人[22]分析并比较了LoRaWan 1.0.2当前的漏洞,并在单网关实验室设置中进行了概念验证测试。该工作强调了标准的逐步改进以及手动配置设备的弱点。Torres等人[21]在单网关实验室设置上进行了测试,试图检测典型的物理层漏洞。类似地,Aras等人[3]和Martinez等人[17, 18]进行了多项研究,以评估单网关LoRaWAN网络在干扰条件下的性能。然而,这些研究考虑的是单网关网络,甚至是仅根据规范进行传输的攻击者。
因此,我们将通过实验评估在存在多个网关的情况下的网络行为、弹性和干扰效率。
3 实验设置与配置
我们实施并执行实验,通过实验室设置和现场部署的SLA之间的两个测试批次周期来测量系统的鲁棒性。通过后一个试点项目,我们将在系统广泛部署之前确定能够实现更好、更安全操作的通信和架构参数。
网关和测试硬件及其位置是一项实验分析的结果,该分析旨在利用地形的凹形形状来改善覆盖范围[14],目标设备数量为1500个,每个节点至少覆盖三个网关,见图6。测试配置进一步基于SLA的硬件、软件以及先前对部署进行的离线安全分析结果[15]进行选择。在每个测试批次期间,参数在实验室环境中进行验证和调整(图1左),并在现场进行复制和验证(图1右)。其次,每个周期(无论是实验室还是现场)都通过调整和重新设计测试方法来为下一次重复提供信息。

图1:实验(再)设计与执行方法
在弹性和调整测试之后,我们进行了一组模拟典型操作场景的在线通宵测试。因此,我们将通过比较预期流量和记录流量,观察在有和无潜在攻击者引入干扰的情况下通信性能的变化。通过对网络参数的后续迭代调整,我们旨在提高此性能,并在达到至少97%的预定消息覆盖率时终止。
对已部署SLA的离线安全分析确定了以下可能的漏洞:资源约束、大规模、广泛分布、软件错误、不一致的协议、不正确的设备配置以及不一致和不完整的规范。基于此结果,我们开发了测试来评估这些漏洞在我们的SLA中是否存在。我们利用了四个漏洞𝑣𝑖,如下所示:
-
𝑣𝑎 资源约束:指网络中有限的资源,如无线电信道、网关、终端设备和服务器,这些可能成为瓶颈。有针对性的网络攻击可能耗尽通信或能源资源,阻碍网络功能。有限的可用性限制了LoRaWAN的传输容量,并便于攻击者进行信道干扰。针对性测试将旨在耗尽这些资源。
-
𝑣𝑏 大规模:指攻击面的大小。大规模网络面临信道争用和共存问题,促使使用空中时间管理和传输功率控制来减少信号范围和干扰。这些措施可能无意中帮助攻击者,因为在其范围内有多个目标,增加了他们成功的可能性。不同距离的测试将评估此类攻击的影响。
-
𝑣𝑐 广泛分布:突显了系统之系统的大规模,使得无缝的安全监控变得困难。这种分布增加了受攻击的脆弱性,因为无人看管的区域便于设备篡改、干扰和破坏。这些条件允许未经授权的物理交互,从而可能改变测量结果。即将进行的距离测试将评估受损节点是否会造成中断。它们将包括使用伪造的"加入"通信和干扰攻击的场景,无论是否使用窃取的凭证,以探索设备被捕获的影响。
-
𝑣𝑑 不正确的设备配置:可能导致由于忽略信道而造成的LoRa以太资源瓶颈。类似地,不适当的网关设置可能便于基于前导码的资源可用性攻击。人为错误,如不一致的权限方案,可能使攻击者能够访问系统或导致故障。资源耗尽攻击可以解决这些问题。
在实验过程中,我们还观察了以下漏洞是否存在:
-
𝑣𝑒 软件错误:可能授予对系统的未授权访问,并导致网络故障或异常的无线电行为。我们将通过对一个据称被恶意捕获的节点进行测试来识别此漏洞。通过进行有干扰和无干扰的长期测试,我们旨在分析系统在压力下的行为,并识别任何与此问题相关的异常响应。
-
𝑣𝑓 不一致的协议:也存在对基础设施和信息的未授权访问问题,或者可能类似地导致网络故障——测试同上。
-
𝑣𝑔 不一致和不完整的规范:可能由于联盟协议[6, 7, 9]的多个版本和适配而产生。因此,实现可能不完全遵循预期行为,导致不一致的传输或异常的无线电行为。我们将通过长期测试来验证这个潜在的弱点。

图2:实验设置示意图(包含回传链路、网关、防火墙及测试箱配置)
3.1 硬件和软件配置
该试点项目安装了81个灯柱,配备了不同代的Nordic Automation Systems (NAS) LoRaWAN转DALI照明控制器,以及六个Wirnet Station 868 Kerlink网关,如图2所示。每个控制器定期发送确认的状态报文、未确认的使用统计信息,以及在启动时发送确认的启动信息更新。确认消息需要服务器确认,并产生额外的下行链路流量。
为了模拟照明控制器,我们选择了这三种数据长度:1字节(下限)用于干扰测试,16字节用于15分钟间隔的灯具消息,以及51字节——这是在使用中继器且速度最低时LoRaWAN数据包允许的最大数据大小。
两个通过临时Wi-Fi连接同步的测试箱将自主执行实验室和现场测试。每个箱子包含五个支持LoRaWAN的微控制器和一个作为执行代理的Raspberry Pi 3 B+。这些控制器有两种类型[14]:一种模拟执行特定任务的现场传感器,即终端节点;另一种作为外部代理来重现或干扰环境,即测试节点或攻击者。前者(The Things Network Uno)具有板载LoRaWAN连接性和即用型库。此外,其内置PCB天线重现了已安装照明控制器的盒装设计。后者(MKRWan 1300)具有32位处理器和直接无线电访问功能,可进行无约束传输。
一个LorIoT Osprey 7.𝑥网络服务器记录流量数据以供分析。作为性能指标,我们使用确认传输的消息往返时间(RTT)或信号质量和成功率。前者结合了到网络服务器的传输空中时间、协议要求的暂停和重传间隔,以及响应的空中时间(取决于数据速率和重传次数,间接依赖于冲突和接收质量)。带时间戳的日志文件将捕获测试箱的输出和服务器日志。
表1:Semtech EU868 LoRaWAN 默认参数
|
参数类别 |
信道/窗口 |
频率 [MHz] |
占空比 |
数据速率 DR (扩频因子SF) |
带宽 |
|---|---|---|---|---|---|
|
上行链路 (Tx) |
发射信道 1-3 |
868.1, 868.3, 868.5 |
1% |
0 (12) 至 5 (7) |
125 kHz |
|
|
发射信道 4-8 |
867.1, 867.3, 867.5, 867.7, 867.9 |
0.1% |
0 (12) 至 5 (7) |
125 kHz |
|
|
发射信道 9 |
868.3 |
1% |
6 (7) |
250 kHz |
|
下行链路 (Rx) |
接收窗口1 (RX1) |
与发射信道1-8相同 |
- |
0 (12) |
125 kHz |
|
|
接收窗口2 (RX2) |
869.525 |
10% |
0 (12) |
125 kHz |
|
其他参数 |
|
|
|
编码率 (CR): 4/5 |
发射功率: 16档可调 (索引0至7,对应2至16 dBm),默认14 dBm (索引1) |
注释:
-
占空比:限制了设备在特定信道上传输时间的百分比,是EU868频段的监管要求。
-
数据速率 (DR) 与扩频因子 (SF):DR数值越小,数据传输速率越慢,但传输距离越远,抗干扰能力越强。SF与DR对应(如DR0对应SF12,DR5对应SF7)。
-
编码率 (CR):用于前向纠错,CR 4/5表示每4个数据位添加1个纠错位。
-
发射功率:设备可配置的发射功率等级,以dBm为单位。
3.2 LoRaWAN参数
为了测试LoRaWAN网络的性能,我们必须首先更好地了解其传输行为。LoRaWAN是一个基于LoRa物理层的松散耦合的星形网络,允许在配置的物理信道之一(即预设频率)上同时向覆盖范围内的每个网关进行无线传输。每次传输后,终端节点以伪随机方式切换到新信道。它在新信道(TX窗口)上传输,在同一信道(接收窗口RX1)上监听,最后监听第二个共享下行链路信道(接收窗口RX2)。如果设备不是电池供电,它将在可能的情况下监听后者。
一个LoRa逻辑传输信道是调制类型、频率、带宽和数据速率的集合。为了更稳健的通信,更流行的啁啾扩频(CSS)调制使用编码率(CR)进行前向纠错。它根据扩频因子(SF)将原始比特转换为符号。SF越大,可能的最大数据速率越小,但传输越稳健。在相同的CR下,可能的数据速率(DR)因此与扩频因子成反比。CSS的特殊性在于其高信道选择性,允许具有不同SF的同时传输。最近引入的概念,长距离跳频扩频(LR-FHSS),能够以较低数据速率为代价实现更稳健的上行链路通信。然而,市场上还没有非开发者的产品。
欧洲LoRaWAN规范定义了两个ISM频段:带宽和功率受限的EU433和最常被设备制造商使用的EU868[8]。它进一步通过传输占空比来规范频段共享。协议预见了固定的4/5 CR和自适应数据速率(ADR)机制,该机制通过下行链路信息在信号质量不足(降低速率)或优良(提高速率)时调整设定的数据速率(通常是网络服务器)。我们可以通过一对预分发的、手动上传的通信会话密钥(ABP)或通过空中激活(OTAA)程序加入网络。后者发送一个包含用设备特定应用密钥加密的小有效载荷的消息,以从网络(管理)服务器请求一对新的会话密钥和通信配置。
每个设备必须存储多个信道配置。EU868的规范要求每个设备必须支持三个默认的LoRaWAN物理信道(TxChn1-3),此外还有最多13个在863−870𝑀𝐻𝑧范围内的可配置信道。Semtech提出了表1中的参数,总共有49个逻辑信道,即物理信道(频率)和扩频因子的组合。对于RX1,设备可以使用相对于上行链路的DR偏移来降低上行链路和下行链路之间冲突的风险。还有其他参数定义了通信协议。例如,接收窗口持续时间和延迟定义了终端节点监听的时间和时长。这些对于电池供电系统至关重要,因为它们影响功耗。类似地,最大重传计数器、重试延迟和确认超时控制需要确认的消息的重传。然而,由于这些设置通常保持其默认值并且不会显著影响无线电交换,为简单起见,我们将保持它们不变。
4 实验
4.1 利用漏洞的攻击
在第一批测试中,我们通过定向测试处理漏洞。终端节点发送30条确认的1、16或51字节消息,从DR5和LoRaWAN功率指数1开始,我们观察消息的RTT。同时,模拟设备尝试使用各种策略(包括阻塞、干扰和资源耗尽)来破坏网络。首先,我们测试网络对频率干扰的弹性,即攻击者试图在资源——以太——上传输,但不知道确切的传输频率(间接干扰)。接下来,我们重复测试,假设攻击者知道LoRaWan频率(故意阻塞)。最后,我们测试导致资源耗尽的不同方式:用消息淹没信道、用消息淹没网关以及用看似有效的信息淹没网络服务器。

(a) 往返时间,终端节点发送1字节数据

(b) 下行信号强度 (RX1)
图3:LoRa间接干扰测试(实验室环境)
4.1.1 调整间接干扰。 在间接干扰测试期间,终端节点仅在三个默认信道868.1、868.3和868.5 MHz上运行,四个测试节点试图干扰其传输。这四个设备将在四个相邻的、部分重叠的频率和带宽上每2.5毫秒连续传输16字节有效载荷的普通LoRa编码数据包:868.0、868.2、868.4和868.6 MHz。
通过实验室效能实验,我们首先选择最有效的普通LoRa发射器配置。由于LoRaWAN的CSS调制信号对任何其他无线电信号具有高鲁棒性[11, 20],我们仅关注CSS生成的信号。通过改变扩频因子和编码率,我们得到了图3的结果。上图说明了SF12设置对空中时间以及 consequently 重传次数的影响更大。下图证实了这一点,显示基于SF12的信号比SF7引起更高的RSSI损失。两种编码率4/5和4/8呈现相似的效果。然而,CR4/8编码信号对SF7测试的更大影响表明我们主要处理的是LoRaWAN报头冲突造成的损失,该报头独立于4/5编码的有效载荷,始终以4/8编码[12]。因此,我们使用SF12和CR4/8作为后续干扰测试的默认设置。
4.1.2 间接干扰。 在图4中,我们用蓝色绘制了实验室直接干扰实验的结果。除了一次运行外,所有测量都显示重传尝试和更长的RTT。大多数在现场重复的传输未能到达目的地。尽管服务器日志中报告了多次下行链路尝试,但只有3次(共10次)传输最终到达终端节点。这些结果与图3b的调整实验相吻合,显示了特定发射器如何将传入信号的RSSI降低15𝑑𝐵𝑚。如果这种干扰足以将信号强度降低到LoRaWAN的灵敏度水平以下,将导致传输丢失。由于到网关的距离较远,现场位置的下行链路信号强度水平已经在−110𝑑𝐵𝑚左右。使用第二个接收窗口(Rx2)的进一步测试以完美得分结束,如图4b(橙色)所示。因此,这样的发射器可以中断节点的任何LoRaWAN下行链路传输,使确认消息的发送停滞。
4.1.3 远距离间接干扰。 为了证实这一结论,我们设置了一个实验,其中两个测试箱(一个作为干扰器,一个用于测量)相距10𝑚放置。我们将后者相对更近地放置在到主网关(Gratsch,图6)的视线范围内。图4将之前的近距离Rx2窗口测试与测试单元远离时的系统性能进行了比较。结果表明,10𝑚的距离足以将几乎完全的丢失恢复到RTT在10到50𝑠之间,且无丢失。此外,服务器日志显示其他网关也接收到了上行链路报文。下行链路的SNR水平现在达到了可接受的平均值-8𝑑𝐵,允许LoRaWAN有弹性的CSS调制解码下行链路数据包。因此,尽管可能会干扰单个节点或网关,但我们不能将这种攻击模式用于更大规模的攻击。
4.1.4 调整直接干扰。 接下来,我们旨在了解对手如何影响上行链路信号。为此,我们执行以下测试,主要是针对未确认的传输,即那些仅上行链路的传输。一组LoRa效能测试有助于确定在已知信道频率的情况下阻塞LoRaWAN信道的最佳设置。我们测试了不同的数据长度、针对SF和CR的有效载荷编码,以及物理参数,包括前导码长度、CRC和报头。
表2:在20dBm目标0字节LoRa干扰下,LorIoT网络服务器的未确认上行链路统计
|
数据长度 [字节] |
接收计数 [成功次数/30次] |
最佳信号强度 [接收功率dBm/信噪比dB] |
|---|---|---|
|
1 (参考,无干扰) |
30 |
-96 / 7.2 |
|
1 (有干扰) |
2 |
-102 / -2.5 |
|
16 (有干扰) |
2 |
-97 / -2.5 |
|
51 (有干扰) |
1 |
-101 / -1 |
图5显示了现场调整测试的结果。左图说明了编码率4/8比编码率4/5对传输的影响更显著。同时,较高的扩频因子没有显示出影响。中图说明较短的有效载荷对RTT有更显著的影响。这两个事实都反映了Haxhibeqiri等人(2017)[12]的发现,即与LoRaWAN报头的冲突会导致100%的传输丢失,而与其有效载荷的冲突仍可能显示90%的成功率。因此,为了获得最高影响,我们希望保持传输尽可能短(0字节,SF7),同时保持报头的编码率(𝐶𝑅 = 4/8),并可能省略前导码以缩短Tx间隙。此外,我们将手动将发射功率设置为硬件最大值以更好地代表攻击者,即20𝑑𝐵𝑚。
4.1.5 故意阻塞。 我们使用八个测试节点尝试中断上行链路传输,每个物理信道一个,并在终端设备使用上述三种数据长度传输时测量其影响。配置的设置效果如此之高,以至于几乎没有任何数据包到达其预期目的地,如表2所示。在设定的配置下,干扰测试板每毫秒发送一条消息,干扰几乎每一次上行链路。有趣的是,RSSI信号并未持续受到影响,而SNR比率却受到影响。再次,有针对性的干扰成功阻塞了资源,这次是上行链路。
4.1.6 信道耗尽。 验证了仅使用LoRaWAN耗尽物理信道的攻击效能。我们重复之前的测试,将测试设备设置为发送16字节的智能照明报文而不是普通LoRa消息。这导致在八个配置频率上每分钟大约100条消息(MPM)的速率,或者分别对应1500或12000个智能照明计数器的15分钟更新。注册的测试节点生成定期的ADR调整下行链路,增加了总体流量。为了比较与相同数据长度的LoRa消息的性能,我们将两种结果的信号强度绘制在图5c中。终端节点在两种情况下都实现了接近100%的投递率,且信号强度相似。这些结果表明两种干扰器的行为相似。然而,LoRaWAN不允许省略报头和CRC,因此无法达到第4.1.5节中看到的效果。
4.1.7 网关耗尽。 此测试使用普通LoRa发射器伪造合法的前导码,以耗尽网关的解码资源。我们调整传输参数以匹配LoRaWAN帧的前导码,并在八个信道中的每一个上,每个测试节点重复发送仅包含LoRaWAN前导码的信号,试图干扰网关的解码过程并锁定所有解码资源。尽管前导码泛滥,网关仍能管理传入消息。例如,对于16字节的上行链路传输,30次通信中只有6次丢失。在终端节点上传输1或51字节有效载荷实现了相似的性能。网关已适当配置并成功丢弃了干扰数据包。
4.1.8 网络耗尽。 试图用请求淹没加入服务器以耗尽资源。每个测试节点将在三个加入频率上使用有效或伪造的密钥连续发送OTAA或ABP"加入"请求,而终端节点将在两次测试中使用周期性OTAA加入和确认消息。结果显示出乎意料的结果。使用无效凭证重复OTAA加入不会影响终端节点的传输。

-
SF (Spreading Factor):扩频因子,值越大传输距离越远但速率越低。
-
CR (Coding Rate):编码率,用于前向纠错,值越高抗干扰能力越强但开销越大。
-
RTT (Round-Trip Time):往返时间,指从发送请求到收到响应所需的总时间。
图5:终端节点阻塞效能测试(针对变化的干扰器SF和CR(a)、有效载荷(b)及协议(c))

图6:网关与测试箱位置分布及大致距离示意图
然而,当使用有效的OTAA凭证时,OTAA加入泛洪导致网络服务器关闭网关,这可能是为了防止服务器过载。使用有效或无效凭证的ABP加入有效地中断了所有通信。服务器日志进一步表明,尽管所有上行链路报文都被接收,但在重试计数耗尽之前,没有下行链路消息到达目的地。因此,ABP加入泛洪具有与间接干扰中看到的干扰传输相同的破坏性效果,即干扰消息的内容无关紧要。由于ABP凭证是在调试时分发的,攻击者可以记录多个节点的传输并在稍后时刻重放它们,可能长时间禁用网络[22]。然而,ABP加入测试表明,帧计数器弱点已在LoRaWAN规范1.0.4[9]中被移除,要求ABP计数器在设备的整个生命周期内持续存在。
4.2 网络恢复
对于这一批次,我们对夜间运行期间的网络行为进行采样。我们旨在识别其对典型流量的响应,并对其进行参数化以增强弹性,即使在受到干扰或攻击时也是如此。首先,我们观察已部署网络在其初始架构配置下的常规运行。决定因素包括通信流量如何在夜幕降临时开始和演变,无论是在工作日还是周末。接下来,我们在有主动干扰(一个攻击者)的情况下重复记录,攻击者位于Gratsch、Marling和Labers网关之间的位置(见图6 – Untermais安装得太低,无法接收所有流量)。在此设置中,测试箱在所有八个频率上以1/𝑚𝑠的速率持续发射干扰性LoRa信号。最后,我们分析结果并尝试通过反复调整系统或架构参数来采取纠正措施,直到达到设定的标准。
一个24小时的流量日志根据每个灯具的三种消息类型(启动、状态和计数器)收集统计信息。我们想要观察的值是(a)我们收到每种消息类型的灯具数量,以及(b)它们的成功率或性能。我们通过所有灯具的第一个和最后一个启动消息到达之间的持续时间来测量启动消息性能,从而间接测量总启动时间。我们的其他性能指标将接收到的消息数量与特定灯具型号的预期消息数量进行比较。最后,为了评估网络弹性水平的潜在提高,我们通过测量每个设备或每条消息被至少两个网关覆盖的数据点数量来检查网关冗余和消息覆盖率。
4.2.1 默认配置。 分析前三个夜晚默认配置下的性能(如表3所示),我们可以立即得出三个观察结果:测试箱的干扰影响了网络,接收到的统计信息量较低,并且设备行为未遵循协议规范。
第一个问题在总启动时间上可见,该时间从大约三分钟跃升至近两小时。启动消息是设备OTAA加入后的第一条消息,因此可以代表通知服务器设备通电所花费的时间。因此,所遭受的延迟证明了攻击对默认配置架构的有效性。快速查看日志可以解释第二个观察结果。由于系统限制,在已部署的系统中,照明控制器仅在灯运行时才通电。由于控制器在断电时不存储状态,那些配置为每天发送一次数据的25个控制器将永远无法达到计数器传输的触发条件;这是一个不正确的设备配置实例 - 𝑣𝑑。最后,在最初的实验中,服务器从未从灯具接收到所有启动信息消息,导致异常高的数据丢失。这两种消息类型都是确认消息,这意味着灯具应多次重试以重新发送信息。尽管我们期望在所有三天中启动和状态信息的覆盖率接近100%,即使在无干扰情况下,也发生了至少5-12%消息丢失的不太可能的情况。
经过进一步调查,我们发现在这三天中,没有任何灯具明确请求过丢失的确认消息,因此未遵守LoRaWAN协议。下面的摘录说明了一个灯具控制器如何忽略缺失的下行链路确认以及在第二秒33发送的新设置的数据速率(额外五个数据字节);因此,软件错误 - 𝑣𝑒 的情况是明显的。对于我们的统计来说,不幸的是,这意味着所有三种消息类型的行为都像未确认的消息。
尽管存在此故障,但它揭示了另一个现象。虽然在所有三种设置中接收到的状态和计数器数量保持相似,但干扰信号导致状态覆盖率下降,而计数器覆盖率增加。这种性能转变可能是由于损坏的状态消息的减少所致。尽管我们将功能失常的确认报文描述为类似于上行链路的行为,但它们仍然会触发下行链路传输,占用信道资源。对其上行链路的成功干扰将此类消息所用时间减半,从而降低了冲突风险。这种情况在正常运行的网络中不太可能发生。
我们收集的最后一个统计数据是覆盖率数字。设备覆盖率表示连续由两个或更多网关操作的设备数量,而网关覆盖率评估到达至少两个网关的通信百分比。有趣的是,这些值在周末增加了。引入的干扰随后又使其降低,但未达到我们在工作日观察到的水平。这种可变性可能是由于工作日干扰(因为我们在免费的ISM频段上工作)、普遍不可预测性(因此缺乏确定性)或仅仅是巧合。
表3展示了默认配置下前三晚的性能结果,可立即得出三个关键观察:
-
干扰影响显著
总启动时间从约3分钟激增至近2小时(图6)。启动消息是设备OTAA加入后的首条消息,其延迟反映攻击对默认架构的有效性。
-
统计数据异常偏低
日志分析发现:由于系统限制,照明控制器仅在灯具运行时供电。25个配置为每日发送数据的控制器因断电时无法保存状态,永远无法触发计数器传输——这是设备配置错误(𝑣𝑑)的实例。
-
设备行为违反协议
服务器未收到所有灯具的启动信息消息(丢失率5-12%)。进一步排查发现:所有灯具均未按协议重传丢失的确认消息(见日志片段)。软件错误(𝑣𝑒)导致本应“确认”的消息行为类似“未确认”消息:
03:15:33.177 上行确认 | [..] 扩频因子SF12 03:15:33.378 ADR调整 DR0=>DR5 | 设备ID "70B3D5B020038857" 03:15:33.392 下行数据 | [..] 数据速率SF12BW125, 长度17字节 (设备忽略丢失的确认,未重传)
异常现象:
干扰环境下,状态消息覆盖率下降而计数器消息上升。原因是故障状态消息减少(干扰成功阻断其上行链路,半减信道占用时间,降低冲突风险)。此现象在功能正常的网络中不会出现。
覆盖率波动:
设备覆盖率(持续被≥2网关覆盖的设备比例)与网关覆盖率(被≥2网关接收的消息比例)在周末上升,干扰后虽降低但仍高于工作日水平。此波动可能源于ISM频段的工作日干扰或随机性。
4.2.2 调整数据速率
为解决默认配置问题,我们限制扩频因子(SF)范围:
-
调整方案:服务器每6次上行调整数据速率,范围限定为DR3(SF9)至DR5(SF7)。
-
结果(表3第4-5列):
-
无干扰时:消息覆盖率超90%(空中时间缩短→冲突概率降低)。
-
有干扰时:性能下降(低SF传输对干扰更敏感,且通信距离缩短)。
结论:调整参数在流量密集场景下稳定性更优。
-
遗留问题:
60分钟周期的灯具仍停滞在SF9(因ADR计数器设为6次上行,10小时夜间仅触发1次调整)。设备日志暴露两处异常:
-
设备以SF7成功加入网络后,仍使用SF12通信(违反设定)。
-
设备在1秒内发送两次Join请求(违反协议规定的退避超时机制),可能源于协议规范不一致(𝑣𝑔):
20:18:56.005 加入请求 | 扩频因子SF7, 网关ID "024B0BFFFF030FF5" 20:18:56.035 加入响应 | 数据速率SF7BW125 20:18:56.913 加入请求 | 扩频因子SF7, 网关ID "024B0BFFFF030703" // 间隔<1秒! 20:18:56.921 加入响应 | 数据速率SF7BW125
4.2.3 固定数据速率
基于上述问题,我们进行两组优化实验:
-
固定DR5(SF7)
-
ADR触发计数器设为1(即时调整)
-
结果(表3末3列):
消息覆盖率提升1.5–2%,设备网关覆盖率保持高位(但高数据速率导致网关消息覆盖率微降)。最终达成97%覆盖率目标。
-
5 实践建议总结
-
资源漏洞(𝑣𝑎)影响有限
LoRaWAN网络对干扰的鲁棒性显著:高灵敏度支持负信噪比解码,可抵抗弱于目标信号的CSS干扰(非LoRa信号干扰容限达+5~19.5dBm)。重传多因下行链路丢失(确认消息罕见,攻击影响有限)。
-
网关/加入服务器漏洞可控
网关可缓冲并丢弃大部分无效数据(攻击导致约30%数据丢失)。OTAA加入泛洪对伪造凭证无效;ABP加入泛洪虽可扰乱网络,但LoRaWAN 1.0.4已通过帧计数器持久化修复此漏洞。
-
物理防护是关键
节点间距(通常>10米)限制干扰效果(10米外干扰失效)。但若设备凭证被盗,攻击者可禁用全网网关——必须严防物理接触设备。
-
设备固件问题突出
协议违规(𝑣𝑑, 𝑣𝑔)和配置错误(𝑣𝑓)导致网络性能无法达峰。务必在部署前彻底测试终端节点固件。
表3:81盏灯具的24小时现场长期网络测试结果(各指标下的设备数量与消息覆盖率)
|
配置条件 |
默认配置 |
默认配置 (周末) |
默认配置 (含攻击者) |
SF范围限制 ADR6 |
SF范围限制 ADR6 (含攻击者) |
固定SF7 |
固定SF7且ADR1 |
固定SF7且ADR1 (周末) |
|---|---|---|---|---|---|---|---|---|
|
启动消息 (Boot) |
|
|
|
|
|
|
|
|
|
收到消息的设备数 |
72 |
75 |
77* |
75 |
80* |
81 |
76 |
73 |
|
总启动时间 [秒] |
201 |
229 |
6321 |
212 |
732 |
206 |
212 |
237 |
|
状态消息 (Status) |
|
|
|
|
|
|
|
|
|
收到消息的设备数 |
81 |
80 |
80* |
81 |
80* |
81 |
81 |
81 |
|
消息覆盖率 [%] |
90.0 |
89.7 |
87.8 |
93.0 |
86.5 |
94.7 |
96.0 |
97.2 |
|
计数器消息 (Counter) |
|
|
|
|
|
|
|
|
|
收到消息的设备数 |
54 |
56 |
56 |
56 |
56 |
56 |
56 |
56 |
|
消息覆盖率 [%] |
87.4 |
89.4 |
92.0 |
91.7 |
87.3 |
95.0 |
96.9 |
96.0 |
|
双网关覆盖 (GW2+) |
|
|
|
|
|
|
|
|
|
达到覆盖的设备数 |
7 |
17 |
13 |
12 |
10 |
14 |
17 |
14 |
|
消息覆盖率 [%] |
87.1 |
90.9 |
83.5 |
82.5 |
73.7 |
81.3 |
81.9 |
81.5 |
6 结论
本文通过压力测试评估LoRaWAN网络安全性,发现多数漏洞实际影响有限。长期监测表明:照明控制器的协议违规(如违反退避时间、重传要求)是网络拥塞主因。通过参数优化(如固定高数据速率)可将消息覆盖率提升至97%。未来工作将探索AI参数优化对大规模网络(>1000节点)的增益。
32

被折叠的 条评论
为什么被折叠?



