Vulnerability-wiki

硬编码凭据漏洞(Hardcoded Credentials Vulnerability)

1. 漏洞概述

硬编码凭据漏洞 是指在固件、应用程序或脚本代码中直接写死敏感凭据(如用户名、密码、API Key、加密密钥),且无法通过正常配置修改或删除。
在 IoT 环境下,这些凭据一旦被逆向提取,攻击者可直接访问设备、后台服务或云平台。

常见位置:


2. 漏洞成因

  1. 开发便利
    • 开发人员为了方便调试或内部测试,将凭据直接写入代码。
  2. 设备批量生产
    • 所有设备共用相同账号或密钥。
  3. 升级机制缺陷
    • 固件更新时未替换或清除旧凭据。
  4. 安全意识不足
    • 未考虑到固件和应用可被逆向分析。

3. 攻击原理


4. 常见攻击方式

攻击方式 描述 影响
固件提取 从设备闪存/升级包中提取文件系统,查找凭据 获取批量设备访问权限
应用逆向 分析移动 App 代码或资源文件 获取云平台 API 密钥
内存转储 运行时调试或物理访问读取内存 获取临时或永久凭据
网络抓包 若凭据还与明文传输漏洞并存,可直接嗅探 无需逆向即可利用

5. 危害


6. 典型案例

  1. Mirai IoT 僵尸网络
    • 利用设备厂商硬编码的默认 Telnet/SSH 凭据批量感染。
  2. 2018 某智能插座漏洞
    • 固件中硬编码云端 MQTT 服务器用户名密码,攻击者可批量控制设备。
  3. 2019 工控网关漏洞
    • Web 后台硬编码管理员账号密码,导致所有网关可被未授权登录。

7. 防御措施

  1. 移除硬编码凭据
    • 使用配置文件或安全存储动态加载凭据。
  2. 唯一化凭据
    • 每台设备出厂生成唯一账号/密钥。
  3. 安全存储
    • 设备端使用安全芯片(TPM、TEE、SE)存放密钥。
  4. 凭据轮换
    • 支持定期更换密码或密钥,过期作废。
  5. 固件加密与签名
    • 防止固件被轻易解包分析。
  6. 访问控制与最小权限
    • 即使凭据泄露,攻击面也有限。
  7. 检测与监控
    • 监控凭据使用行为,检测异常调用。

8. 检测方法


9. 总结

硬编码凭据漏洞在 IoT 中的危害尤为严重,因为:

防御关键: