🛡️

固件安全审计

从入门到精通
📚 章节 30
🎯 实战 4
⚙️ 工具 20+

什么是固件、固件安全的重要性、常见固件攻击面分析。

二进制分析工具介绍(binwalk、strings、hexdump)、固件文件结构解析。

从硬件芯片(SPI Flash、NAND)读取固件、使用工具解包常见固件格式(Cramfs、Squashfs、JFFS2)。

识别文件系统类型、挂载与分析文件系统、提取关键文件(配置文件、二进制文件、脚本)。

搜索硬编码密码、密钥、Token、API密钥,使用grep与正则表达式进行自动化搜索。

分析日志文件、配置文件、备份文件中的敏感信息,如路径泄露、版本信息、调试接口。

识别常见漏洞类型(缓冲区溢出、命令注入、路径遍历),静态分析基础。

使用QEMU模拟固件运行环境,搭建用户模式与系统模式模拟。

使用GDB进行远程调试,设置断点、单步执行、查看内存与寄存器。

分析固件中的Web服务(如uhttpd、lighttpd),寻找常见Web漏洞(XSS、CSRF、认证绕过)。

分析固件中的网络服务(SSH、Telnet、FTP、UPnP),寻找认证缺陷与后门。

分析内核模块与设备驱动,寻找内存破坏漏洞与权限提升漏洞。

分析固件加密与签名算法,寻找密钥泄露与签名绕过方法。

分析安全启动链(BootROM、Bootloader、Kernel),寻找绕过方法。

分析OTA更新流程,寻找中间人攻击、降级攻击、签名验证绕过漏洞。

识别固件中的后门账户、隐藏进程、恶意脚本,分析其行为。

编写简单的漏洞利用代码(栈溢出、堆溢出),绕过常见防护机制(ASLR、NX)。

ROP链构造、绕过栈保护(Canary)、绕过PIE。

使用AFL、LibFuzzer对固件中的二进制程序进行模糊测试。

定制模糊测试环境、编写测试用例、分析崩溃日志。

审计报告结构、漏洞描述与复现步骤、风险评级与修复建议。

OWASP IoT Top 10、IEC 62443、NIST SP 800-213。

分析第三方库与组件漏洞、软件物料清单(SBOM)的生成与分析。

安全编码规范、安全编译选项、最小权限原则。

使用CI/CD管道集成固件安全测试工具(如Firmwalker、EMBA)。

从提取到漏洞发现的全流程。

分析视频流、云平台接口、本地存储。

分析蓝牙协议、NFC通信、移动端App与固件交互。

分析Modbus协议、PLC固件、HMI接口。

AI辅助固件分析、硬件辅助安全、新型攻击面(如侧信道、物理攻击)。