2、配网安全威胁模型:常见配网攻击类型、攻击面分析、安全假设与边界
配网过程,说白了就是设备从“裸奔”到“入网”的关键一步。这一步要是被攻破了,后面所有安全措施都是白搭。我做了这么多年物联网安全,见过太多产品在配网环节翻车——有的是设计缺陷,有的是实现漏洞,还有的是压根没想过有人会这么攻击。
这一节,我们就把配网过程中可能遇到的威胁掰开揉碎了讲。我会结合自己踩过的坑,帮你建立起完整的威胁模型思维。
2.1 配网攻击的四大类型
根据攻击者在配网过程中的行为特征,我把常见攻击归纳为四类。嗯,这四类基本覆盖了我见过的所有配网攻击场景。
| 攻击类型 | 攻击目标 | 典型手法 | 危害等级 |
|---|---|---|---|
| 窃听攻击 | 配网凭证(Wi-Fi密码、Token) | 无线抓包、信道监听、侧信道分析 | 高 |
| 篡改攻击 | 配网数据包完整性 | 中间人篡改、重放攻击、数据注入 | 高 |
| 假冒攻击 | 设备/APP身份 | 伪造热点、设备克隆、证书伪造 | 极高 |
| 拒绝服务攻击 | 配网流程可用性 | 信道干扰、协议栈溢出、资源耗尽 | 中 |
核心观点:窃听和假冒是配网安全的最大威胁。一旦凭证泄露或身份被冒用,后续所有安全机制都会失效。我参与过的安全事件复盘,十有八九都跟这两类攻击有关。
2.2 攻击面分析:从APP到设备的全链路
配网攻击面,说白了就是攻击者能下手的地方。我习惯把配网链路分成三段来看:APP端、传输通道、设备端。每一段都有它自己的软肋。
2.2.1 APP端攻击面
- 本地存储泄露:APP把Wi-Fi密码明文存SharedPreferences或UserDefaults里。我曾经在一个智能灯泡的APP里,直接找到了明文存储的Wi-Fi密码——连加密都没做。
- 界面劫持:恶意APP覆盖配网界面,骗取用户输入的凭证。Android上这种攻击特别常见。
- 日志泄露:调试日志里打印了配网过程中的敏感信息。我记得有个客户的产品,Release版本居然还开着全量日志,Wi-Fi密码直接打出来了。
2.2.2 传输通道攻击面
- 无线信道监听:2.4G/5G Wi-Fi信道上,攻击者用抓包工具就能捕获配网数据包。如果没加密,那就是裸奔。
- 蓝牙/BLE嗅探:很多智能设备用BLE配网,但BLE的加密是可选的。我见过不少产品BLE配网数据是明文传输的。
- NFC中继攻击:NFC配网距离短,但攻击者可以用中继设备拉长攻击距离。
2.2.3 设备端攻击面
- 固件逆向:攻击者从设备固件里提取配网协议实现,寻找漏洞。
- 调试接口暴露:UART、JTAG、SWD接口没封死,攻击者直接物理接入。
- 安全芯片绕过:有些设备虽然用了安全芯片,但配网逻辑没走安全芯片,绕过了硬件保护。
我的经验:做攻击面分析时,别只盯着技术层面。我曾经遇到一个案例,攻击者是通过分析设备配网时的LED闪烁频率,推断出了配网状态——这属于侧信道攻击。所以,攻击面分析要全面,别漏了物理和侧信道维度。
2.3 安全假设与边界
做安全设计,最忌讳的就是“假设攻击者不会这么做”。我见过太多产品因为安全假设太理想化,结果被现实打脸。下面是我总结的几个关键安全假设,以及它们在实际中的边界。
2.3.1 常见安全假设
| 假设 | 描述 | 实际边界 |
|---|---|---|
| 配网环境可信 | 假设配网时用户处于安全网络环境 | 公共Wi-Fi、酒店网络、被攻破的家庭路由器——这些环境都不可信 |
| APP身份可信 | 假设用户安装的是官方正版APP | 应用商店审核漏洞、侧载安装、仿冒APP——APP身份需要验证 |
| 设备出厂安全 | 假设设备出厂时没有被篡改 | 供应链攻击、物流环节替换、二手设备——设备身份需要验证 |
| 用户操作正确 | 假设用户会按流程正确操作 | 用户可能误点、跳过步骤、使用弱密码——需要防误操作设计 |
警告:永远不要假设配网环境是安全的。我参与的一个智能门锁项目,最初设计时假设用户会在家里配网,结果大量用户是在公司、咖啡厅等公共环境配网的。攻击者只要在同一Wi-Fi下,就能发起中间人攻击。后来我们不得不重新设计配网协议,加入了端到端加密。
2.3.2 安全边界定义
安全边界,说白了就是“我们保护什么,不保护什么”。明确边界能帮我们聚焦资源,避免过度设计或设计不足。
- 保护目标:Wi-Fi密码、设备身份凭证、配网过程中的控制指令。
- 不保护目标:设备型号、固件版本、配网状态(成功/失败)——这些信息泄露影响不大。
- 信任根:设备出厂时预置的证书或密钥。这是整个安全体系的基石。
- 信任传递:从信任根出发,通过协议握手建立会话密钥,再保护后续通信。
2.4 配网安全威胁模型全景图
下面这张SVG图,把配网过程中的攻击面、攻击类型和安全边界串起来了。你可以把它当作一个检查清单,做配网安全设计时逐项对照。
2.5 避坑指南:我踩过的几个坑
做配网安全这么多年,有些坑是反复出现的。我挑几个典型的说说,希望能帮你少走弯路。
坑一:我曾经设计过一个配网协议,用了自定义加密算法。当时觉得“自己写的算法别人破解不了”,结果被安全团队一分析,三天就找到了漏洞。后来我学乖了,只用标准加密算法——AES-GCM、ECDH这些经过验证的方案。
坑二:有个项目为了“用户体验”,配网时允许用户跳过设备身份验证。结果上线后,攻击者伪造了设备热点,骗取了大量用户的Wi-Fi密码。从那以后,我坚持配网时必须做双向身份认证,哪怕多花几秒钟。
坑三:还有一次,我们做了很完善的安全设计,但忽略了配网超时处理。攻击者利用超时窗口发起重放攻击,成功配网了恶意设备。嗯,细节决定成败——安全设计要覆盖所有状态转换。
2.6 本章小结
配网安全威胁模型,说白了就是回答三个问题:谁可能攻击你?从哪里攻击?攻击后有什么后果?把这三个问题想清楚了,安全设计就有了方向。
我个人习惯在做任何配网协议设计之前,先画一张威胁模型图,把攻击面、攻击类型、安全假设和边界都标出来。这张图就是后续所有安全决策的依据。