固鉴固件安全检测平台
四年长成 16 亿美元独角兽,15 万台摄像头铺进学校、医院与监狱,连特斯拉工厂也在其中。这是它最高光的时刻。
2016 年,Verkada 在硅谷创立。造型现代、即插即用、云端集中管理,被看作下一代安防方案。资本和客户都很买账:四年,公司估值 16 亿美元;三年,超过 15 万台设备装进学校、医院、监狱和警局,包括特斯拉的工厂。这些地方,全是摄像头最不该出事的场景。
但 2021 年 3 月,故事急转直下。
下一章 · 裂痕彭博社率先报道。攻击者靠一组暴露在互联网上的超级管理员账户,长驱直入。后果层层升级:先是被看,再是被偷,最后是被控。

攻击者进入了摄像头网络。精神病院的病人、妇女健康诊所的女性、牢房里的在押人员,都被实时围观。监控截图还被公开发到了社交媒体上。

「公之于众」只是开始。攻击者把大量客户数据打包带走:客户信息、访问凭据、内部文档,随后公开散发,引发更大范围的连锁反应。

攻击者远程向摄像头下达指令,拿到了设备的最高管理权限。从这一刻起,设备听谁的,不再由厂商和客户说了算。
设备卖出去的那一刻,责任才刚刚开始。安全欠下的账到期时,需要支付的不只是金钱。

彭博社头条,全球媒体跟进。一家以安全为卖点的公司,以最狼狈的方式出了圈。品牌信任,遭受重创。

FTC 与司法部提起诉讼,换来一纸 20 年强制整改令:每两年接受一次独立第三方评估,每年由高管签字证明合规,发生重大数据事件,10 天内必须报告 FTC。

得知自家摄像头被入侵后,Cloudflare 迅速切断了旧金山、奥斯汀、纽约、伦敦、新加坡等全球办公室所有 Verkada 摄像头的网络。
回头看,攻破一套系统,不需要处处得手,找到一个薄弱点就够了。
那么,这个薄弱点通常藏在哪里?
下一章 · 病根这不是某一家公司、某一类设备的问题。下面九项隐患,是智能网联设备最常见的出厂薄弱点。它们和事故之间,是「必要而不充分」的关系。逐项对照,看它们可能造成什么后果。
攻击者拿着公开口令表,批量尝试设备的默认口令和没清理的测试账户,成本几乎为零。
无需任何高深漏洞,直接以管理员身份登录设备,取得最高权限。
一台被破,万台沦陷。同型号设备共用同一组默认口令,攻击者批量登录,敏感数据与控制权批量失守。
默认账户使用弱密码,且用户很少修改。攻击者利用公开口令表,即可批量攻陷设备。
研发时使用的测试账户未及时清理,攻击者可利用此类特权账户,直接获取设备最高权限。
为方便后期运维预留的后门账户一旦暴露,攻击者可借此批量控制同型号设备。
对照 CVE 漏洞库检索设备组件的已知漏洞,或直接向暴露的调试接口注入命令。
远程执行任意命令,绕过登录直接进入系统底层。一台被突破,同型号皆可复制。
一台被控,万台易主。攻击者远程取得设备最高权限,可以随意关停、挟持、改写设备功能。设备还在线,却不再为你工作。
开源组件缺乏统一维护,攻击者可对照 CVE 漏洞库检索已知漏洞,进而获取设备访问权限。
自研应用易残留命令注入、内存溢出等缺陷,攻击者可利用这些缺陷实现远程命令执行。
软件配置文件中调试接口开启、敏感端口暴露,为攻击者留出了可直接利用的突破口。
逆向任意一台在售设备提取硬编码密钥,或用公开工具破解弱算法保护的认证数据。
伪造「合法」身份:假冒服务器下发指令,或伪造设备接入云平台。防线从内部瓦解。
一次提取,全线失守。泄露的密钥会变成伪造身份的通行证:攻击者可反向入侵云平台,同型号设备无一幸免。
密钥被硬编码在系统中,攻击者逆向任意一台设备即可提取,进而伪造身份、解密通信,且泄露后难以更换。
开发时使用的私钥不慎被打包进固件,攻击者下载固件即可提取,用于假冒服务器或伪造设备接入云平台。
采用 DES、MD5 等已被破解的弱算法,或用自研加密算法保护认证数据。看似有防护,实际可被轻易破解还原。
把安全检查前置到研发阶段,成本最小,收益最大。我们在出厂前对整机做一次彻底的安全体检:逐项枚举、分级标记、给出处置方案。下面这份可交互的控制台报告,就是这台摄像头本该在出厂前拿到的结果。
| 用户名 | 用户组 | 权限 | Shell | 风险识别 |
|---|---|---|---|---|
| root | root | 超级管理员 | /bin/bash | 弱口令:p***d |
| admin | admin | 超级管理员 | /bin/bash | 弱口令:a***3 |
| test_dev | dev | 普通用户 | /bin/bash | 疑似测试账户 |
| fw_support | root | 普通用户 | /bin/bash | 异常用户组 |
| viewer | guest | 普通用户 | /bin/bash | 空口令 |
| streamd | streamd | 系统用户 | /bin/bash | 异常 Shell |
| ota-agent | ota-agent | 系统用户 | /usr/sbin/nologin | 正常 |
| operator | ops | 普通用户 | /bin/bash | 正常 |
| 名称 | 类型 | 路径 | 风险识别 |
|---|---|---|---|
| streamd.service | 系统服务 | /etc/systemd/system/streamd.service | 正常 |
| ota-agent.service | 系统服务 | /etc/systemd/system/ota-agent.service | 正常 |
| watchdog.timer | 计划任务 | /lib/systemd/system/watchdog.timer | 正常 |
| debug-shell.sh | 自启动脚本 | /etc/init.d/debug-shell.sh | 调试后门脚本 |
| ntp-sync.timer | 计划任务 | /lib/systemd/system/ntp-sync.timer | 正常 |
| 名称 | 版本 | 厂商 | 类型 | 风险识别 |
|---|---|---|---|---|
| OpenSSL | 1.0.2u | openssl.org | 开源 | CVE-2019-1551 等 3 项 |
| stream-server | — | 自研 | 自研 | 疑似存在内存溢出缺陷 |
| ota-client | — | 自研 | 自研 | 疑似存在命令注入缺陷 |
| BusyBox | 1.24.2 | busybox.net | 开源 | CVE-2021-42376 |
| FFmpeg | 4.1.8 | ffmpeg.org | 开源 | CVE-2021-38114 |
| libcurl | 7.64.0 | curl.se | 开源 | 正常 |
| libcrypto.so | 1.0.2u | openssl.org | 开源 | 正常 |
| libavcodec.so | 57.107.100 | ffmpeg.org | 开源 | 正常 |
| libauth.so | — | 自研 | 自研 | 正常 |
| libvenc.so | — | 自研 | 自研 | 正常 |
| 路径 | 格式 | 权限 | 最后修改 | 风险识别 |
|---|---|---|---|---|
| /etc/camera/config.ini | INI | 0644 | 2023-10-12 | 调试接口开启 |
| /etc/ssh/sshd_config | CONF | 0644 | 2023-08-30 | 允许 root 直连 |
| /etc/xinetd.d/telnet | CONF | 0644 | 2023-07-19 | 明文服务未禁用 |
| /etc/camera/rtsp.conf | CONF | 0600 | 2023-10-09 | 正常 |
| /etc/network/interfaces | CONF | 0644 | 2023-07-18 | 正常 |
| 名称 | 算法 | 风险识别 |
|---|---|---|
| A3F8***E2C1 | AES-128 | 硬编码密钥 |
| sign_md5 | MD5 | 弱算法 |
| des_session | DES | 弱算法 |
| device_key_0x3F | RSA-2048 | 正常 |
| 文件 | 类型 | 说明 | 风险识别 |
|---|---|---|---|
| /etc/ssl/private/dev-ca.key | 私钥 | — | 私钥泄露 |
| /etc/ssl/certs/ota-server.crt | 证书 | — | 正常 |
| /etc/ssl/certs/cloud-client.crt | 证书 | — | 正常 |
| /etc/ssl/private/dropbear_default.key | 私钥 | Dropbear 默认主机密钥 | 正常 |
| 类型 | 值 | 说明 | 风险识别 |
|---|---|---|---|
| URL | http://device.example:8080/debug | — | 正常 |
| IP | 192.0.2.88 | 内网地址 | 正常 |
| URL | http://localhost/cgi-bin/luci | OpenWrt LuCI 默认管理路径 | 正常 |
| 邮箱 | dev-support@example.local | — | 正常 |
无论是正在研发的新品,还是已经量产的型号,
一次彻底的出厂安全体检,现在就可以开始。