1. 课程导入
嵌入式设备已经渗透到工业控制、智能家居、车载电子、医疗仪器、能源计量和安防监控等关键领域。它们通常以固件形式固化运行逻辑,通过串口、USB、以太网、Wi-Fi、蓝牙、Zigbee、CAN 等接口与外界交互,并在资源受限的处理器上长期无人值守地运行。正是这种“数量大、分布广、生命周期长、现场维护难”的特点,使嵌入式设备成为攻击者眼中的高价值目标。
一、安全形势:从“功能优先”到“安全必选”
过去,嵌入式产品竞争的核心是功能、成本和功耗,安全往往被放在最后。如今,形势已经发生根本变化。攻击者不再只盯着服务器和 PC,而是把目光转向固件更新通道、调试接口、默认口令、未加密的通信链路和供应链中的第三方组件。一次成功的固件篡改,可能让成千上万台设备同时变成“肉鸡”;一个未关闭的调试口,可能直接暴露设备密钥和启动流程。
常见风险可以归纳为以下几类:
- 固件与启动链风险:固件未签名、启动校验缺失、Bootloader 可被随意进入,导致恶意固件可被刷入。
- 接口与调试风险:UART、JTAG、SWD、USB 调试口未做鉴权或未在生产阶段关闭,攻击者可读取内存、提取密钥。
- 通信与协议风险:明文传输、弱加密、重放攻击、中间人攻击,常见于 MQTT、HTTP、BLE、CAN 等协议。
- 身份与口令风险:默认账号、硬编码口令、弱随机数、密钥存储于明文分区。
- 供应链与组件风险:第三方 SDK、开源库、BSP 中存在已知 CVE,且长期未更新。
- 运维与生命周期风险:无安全更新机制、无漏洞响应流程、设备退役后数据未清除。
警示:嵌入式设备一旦出货,现场修复成本极高。安全问题若不在设计阶段解决,后期往往只能通过召回、返厂或远程补丁来补救,代价可能是研发成本的数倍甚至数十倍。
二、安全基线与验收的定义
安全基线是指针对某一类嵌入式设备,在特定应用场景和合规要求下,必须满足的一组最低安全要求集合。它回答的是“至少要做到什么”。基线通常覆盖硬件、启动、固件、系统、通信、身份、日志、更新和运维等层面,并以可检查、可验证、可审计的方式表达。
安全验收是指在设备出厂、交付或上线前,依据安全基线对设备进行系统性检查、测试和证据收集,并给出“通过 / 不通过 / 有条件通过”结论的过程。它回答的是“是否真的做到了”。验收不是一次性的形式审查,而是贯穿需求、设计、开发、测试、生产和运维的闭环活动。
两者的关系可以概括为:基线是尺子,验收是用尺子量。没有基线,验收就失去依据;没有验收,基线就停留在纸面。
核心逻辑:安全基线定义“要求”,安全验收验证“符合性”,两者共同构成嵌入式设备安全可控的最小闭环。
三、课程目标与整体知识框架
本课程的目标是帮助学员建立一套可落地的嵌入式安全基线与验收方法,能够独立完成基线制定、检查表设计、测试执行、证据整理和验收结论输出。具体包括:
- 理解嵌入式设备面临的主要威胁和攻击面。
- 掌握安全基线的分层结构和编写方法。
- 熟悉固件、启动、通信、身份、日志、更新等关键领域的检查要点。
- 能够设计验收测试用例并执行常见安全测试。
- 能够输出规范的验收报告和整改建议。
整体知识框架可以按“威胁—基线—验收—改进”四条主线展开,如下图所示:
四、典型场景与常见误区
以一款智能门锁为例。研发团队在功能测试阶段一切正常,但在安全验收时发现:UART 调试口未关闭,可读取启动日志;固件升级包未做签名校验,可被替换;BLE 配网使用固定 PIN 码。这些问题在功能层面完全“可用”,但在安全层面属于高危缺陷。若在量产前未发现,后续只能通过召回或远程补丁处理,成本极高。
常见误区包括:
| 误区 | 表现 | 正确做法 |
|---|---|---|
| 把安全当功能 | 认为“能跑就行”,安全测试放在最后 | 安全需求与功能需求同步定义,基线前置 |
| 基线照搬通用标准 | 直接套用服务器或 PC 安全要求 | 结合设备资源、接口、场景裁剪基线 |
| 验收只看文档 | 只检查配置截图,不做实际测试 | 文档审查 + 工具测试 + 人工验证结合 |
| 忽略生产与运维 | 只关注研发阶段,量产和售后无管控 | 覆盖生产烧录、密钥注入、OTA 和退役 |
建议:在项目启动阶段就建立“安全基线清单 + 验收检查表”双文档,并在每个里程碑进行基线符合性评审。越早发现,修复成本越低。
本课程后续将围绕固件安全、启动安全、通信安全、身份认证、日志审计、安全更新和验收方法等主题逐步展开,帮助你把“安全基线”从概念变成可执行、可检查、可验收的工程实践。