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 整体架构图:测试环境的骨架
下面这张图展示了我们整个测试环境的逻辑架构。你看一眼就能明白各个组件怎么连。
这张图里,我特意把「攻击者工具」和「分析工作站」放在同一层。为什么?因为在实际测试中,抓包和分析往往是交替进行的。你抓到一个可疑包,马上就能在旁边的工具里解出来看。
🔑 核心思路: 整个环境围绕「发送 → 抓取 → 分析 → 验证」这条闭环设计。你不需要一开始就搭建得很完美,先跑通最简链路,再逐步加工具。我曾经就是先搭了一个网关和一个终端,用 Wireshark 抓了几个包,才真正理解 LoRaWAN 的帧结构。
1.6 环境搭建前的最后提醒
在正式开始之前,有几点我想提前跟你说清楚:
- 频率合规 — 中国大陆用 470-510MHz,欧洲用 868MHz,美国用 915MHz。买设备时一定要确认频段,不然可能无法合法使用。
- 实验环境隔离 — 我建议你在实验室或家里单独搭建,不要直接连到生产网络。万一误操作,不会影响线上业务。
- 日志记录习惯 — 每次实验都保存抓包文件和操作日志。后面写报告或者复现问题时会省很多时间。
💡 我的习惯: 我会在实验前先画一张简单的拓扑图,标注每个设备的 IP、端口、密钥。这样出问题时能快速定位。你也可以试试。