使用FirmAE 对zyxel路由器固件仿真实践 | 信息安全

本文介绍了FirmAE,一个全自动的固件仿真和漏洞分析框架,通过对比Firmadyne提升仿真成功率。详细阐述了FirmAE的安装、使用方法,特别展示了如何使用FirmAE仿真zyxel路由器固件,包括在遇到自动化仿真问题时的逆向分析和解决过程,强调了FirmAE在物联网固件安全研究中的价值。
摘要由CSDN通过智能技术生成

一、FirmAE简介

FirmAE 是一个执行仿真和漏洞分析的全自动框架。FirmAE 使用五种仲裁技术显著提高仿真成功率(从Firmadyne的 16.28% 提高到 79.36%)。

832fad7e8fc718ead39765b44e055d66.png

FirmAE的整体架构为如上图所示。与Firmadyne类似,FirmAE在预先构建的自定义Linux内核和库上模拟固件镜像。它还模拟目标镜像两次,以收集各种系统日志,并利用这些信息进行进一步的仿真,前一个仿真步骤称为预仿真,后一个称为最终仿真。为了进行大规模分析,FirmAE致力于完全自动化。实际上Firmadyne的许多步骤已经自动化了,但是仍然需要一些用户交互。例如,用户必须首先使用特定选项提取目标固件的文件系统。然后,他们评估是否成功提取文件系统并检索架构信息。随后,他们为QEMU制作固件镜像并在预仿真中收集信息。最后,他们运行最终仿真的脚本并执行动态分析。FirmAE自动化了所有这些交互,并添加了一个用于网络可达性和Web服务可用性的自动评估过程。FirmAE还使用Docker 将仿真并行化,以有效评估大量固件镜像。每个固件镜像在每个容器中独立仿真,该容器配备所有所需的软件包和依赖项。这使得能够快速可靠地仿真目标镜像。更多详细细节可参考FirmAE论文。

二、FirmAE安装

Ubuntu 18.04

Clone FirmAE

$ git clone --recursive https://github.com/pr0v3rbs/FirmAE

运行download.sh 

$ ./download.sh

运行 install.sh 

$ ./install.sh

三、FirmAE使用

执行init.sh脚本。

$ ./init.sh

检查仿真

$ sudo ./run.sh -c <brand> <firmware>

分析目标固件

•分析模式,使用FirmAE分析器

$ sudo ./run.sh -a <brand> <firmware>

•运行模式,有助于测试网络服务或执行自定义分析器

$ sudo ./run.sh -r <brand> <firmware>

完成run.sh -c后,可debug固件。

用户级基本调试实用程序

$ sudo ./run.sh -d <brand> <firmware>

内核级引导调试

$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值