什么是固件、固件安全的重要性、常见固件攻击面分析。
二进制分析工具介绍(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辅助固件分析、硬件辅助安全、新型攻击面(如侧信道、物理攻击)。