1. 课程导论与环境概览:LoRaWAN 安全测试的重要性、课程目标、所需硬件与软件清单、整体架构图

1.1 为什么 LoRaWAN 安全测试如此重要?

说实话,我见过太多团队把 LoRaWAN 设备直接丢到生产环境里,觉得「反正数据量小,没人会盯上」。这种想法很危险。

LoRaWAN 用的是开放频段,任何人都能买到同样的模组。你想想看,如果攻击者在你的网关旁边放一个伪造终端,不断发送恶意数据包,会发生什么?

  • 数据被窃听 — 虽然 LoRaWAN 有 AES-128 加密,但密钥管理不当就等于没锁门。
  • 重放攻击 — 我记得有个项目,客户发现温湿度数据突然跳变,查了半天才发现是有人录了一段合法报文在反复重放。
  • 拒绝服务 — 一个简单的连续入网请求就能让网关处理不过来,整个网络瘫痪。
  • 终端仿冒 — DevEUI 和 AppKey 如果硬编码在固件里,被提取出来就能克隆设备。
⚠️ 注意: 我曾在一次渗透测试中,仅用 20 分钟就克隆了一个市售的 LoRaWAN 水表。不是因为我多厉害,而是厂商把 AppKey 明文写在了固件里。这种问题在测试阶段就能发现,但很多人忽略了。

所以,安全测试不是「锦上添花」,而是「雪中送炭」。你搭建一个测试环境,就能在设备上线前把这些问题揪出来。

1.2 课程目标:30 天从入门到实战

这门课的目标很明确:让你亲手搭建一套能用的 LoRaWAN 安全测试环境,并掌握核心攻击与防御手法。

阶段 核心目标 产出物
第 1-5 章 环境搭建与基础通信 能收发 LoRaWAN 数据包
第 6-15 章 协议分析与攻击实践 完成重放、仿冒、嗅探实验
第 16-25 章 高级漏洞挖掘与防御 掌握密钥提取、固件逆向、安全加固
第 26-30 章 综合实战与报告输出 完成一次完整的安全评估

我个人习惯把课程分成这四个阶段。每个阶段都有动手实验,不是光讲理论。你跟着做一遍,比看十遍文档都管用。

1.3 硬件清单:你需要准备什么?

硬件方面,我尽量选便宜好买的。你不需要花大几千买专业设备。

设备 推荐型号 数量 用途
LoRa 网关 RAK7249 / Dragino LG01 1 台 搭建本地网络
LoRa 终端 RAK811 / Ebyte E22-900M 2 块 模拟正常与恶意设备
SDR 设备 HackRF One / RTL-SDR 1 套 抓取空中无线数据
开发板 STM32L0 / ESP32 + LoRa 模块 1 块 固件分析与调试
USB 转 TTL CH340 / FT232 1 根 串口通信与调试
💡 省钱建议: 如果你预算有限,可以先买一个 RAK7249 网关和两块 RAK811 终端,总共不到 500 元。SDR 设备可以先用 RTL-SDR(几十块钱),等后面需要更精细的抓包再升级 HackRF。

1.4 软件清单:工具链一览

软件方面,我尽量选开源或免费的。你不需要买昂贵的商业许可证。

类别 工具 版本建议 用途
网络服务器 ChirpStack v4.x 搭建本地 LoRaWAN 网络服务器
抓包分析 Wireshark + LoRaTap 最新版 解析 LoRaWAN 数据包
SDR 软件 GNU Radio / URH 3.10+ 无线信号分析与解调
固件分析 Ghidra / IDA Free 11.0+ 逆向终端固件
开发环境 STM32CubeIDE / Arduino 最新版 编写与调试终端固件
密钥管理 Python + pycryptodome 3.9+ 手动计算与验证密钥

嗯,这里要注意:ChirpStack 的版本迭代很快,我建议你直接用 v4.x 的 Docker 镜像部署,省去很多环境配置的麻烦。后面我会专门讲怎么一键部署。

1.5 整体架构图:测试环境的骨架

下面这张图展示了我们整个测试环境的逻辑架构。你看一眼就能明白各个组件怎么连。

LoRaWAN 安全测试环境整体架构 LoRa 终端节点 正常终端 (RAK811) 恶意终端 (模拟) LoRa 网关 RAK7249 上行/下行转发 网络服务器 ChirpStack 入网/数据/密钥管理 LoRa 无线 TCP/IP 攻击者工具 HackRF / RTL-SDR Wireshark + LoRaTap 分析工作站 GNU Radio / URH Ghidra / IDA 密钥管理 Python + pycryptodome AppKey / NwkSKey 计算 空中抓包 数据导入 密钥验证 📌 架构说明 • 终端通过 LoRa 无线连接网关,网关通过 TCP/IP 连接 ChirpStack 服务器 • 攻击者使用 SDR 设备抓取空中数据,导入分析工作站进行协议解析和固件逆向 • 密钥管理模块用于手动计算和验证加密密钥,辅助理解 LoRaWAN 安全机制

这张图里,我特意把「攻击者工具」和「分析工作站」放在同一层。为什么?因为在实际测试中,抓包和分析往往是交替进行的。你抓到一个可疑包,马上就能在旁边的工具里解出来看。

🔑 核心思路: 整个环境围绕「发送 → 抓取 → 分析 → 验证」这条闭环设计。你不需要一开始就搭建得很完美,先跑通最简链路,再逐步加工具。我曾经就是先搭了一个网关和一个终端,用 Wireshark 抓了几个包,才真正理解 LoRaWAN 的帧结构。

1.6 环境搭建前的最后提醒

在正式开始之前,有几点我想提前跟你说清楚:

  • 频率合规 — 中国大陆用 470-510MHz,欧洲用 868MHz,美国用 915MHz。买设备时一定要确认频段,不然可能无法合法使用。
  • 实验环境隔离 — 我建议你在实验室或家里单独搭建,不要直接连到生产网络。万一误操作,不会影响线上业务。
  • 日志记录习惯 — 每次实验都保存抓包文件和操作日志。后面写报告或者复现问题时会省很多时间。
💡 我的习惯: 我会在实验前先画一张简单的拓扑图,标注每个设备的 IP、端口、密钥。这样出问题时能快速定位。你也可以试试。