论文FirmAFL固件模糊测试工具——复现之路

本文介绍了复现FirmAFL,一个针对物联网固件的模糊测试工具的过程。作者在Ubuntu16.04环境下,详细阐述了从环境搭建、依赖安装、Firmadyne和Binwalk的配置到执行模糊测试的每一步骤,包括解决遇到的各种错误和问题。旨在提供一份系统性的复现指南,便于后续学习和交流。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目前在学习研究针对IOT固件的虚拟化仿真,以及基于虚拟化技术的IOT固件模糊测试。FIRM-AFL作为USENIX安全顶会上发表的IOT固件模糊测试技术,对其进行复现和研究很有学习价值。但是在复现过程中,由于固件仿真本身的复杂性和内核环境的兼容性,遇到了很多困难。同时由于诸如firmadyne这样的上层项目维护缓慢,有很多bug无人修复,出现了很多底层的错误。

作者在参照github上的issues讨论以及网上的一些帖子后,初步完成了FIRM-AFL的复现工作,由于网上还没有关于该工作复现的系统性文章,故作此篇。用以便于之后回顾,以及与同业者交流学习。

项目简介

论文:Yaowen Zheng, Ali Davanian, Heng Yin, Chengyu Song, Hongsong Zhu, Limin Sun, “FIRM-AFL: High-throughput greybox fuzzing of IoT firmware via augmented process emulation,” in USENIX Security Symposium, 2019.

论文项目地址:https://github.com/zyw-200/FirmAFL

项目简介:FIRM-AFL 是物联网固件的第一个高通量灰盒模糊器。FIRM-AFL 解决了物联网固件模糊测试的两个基本问题。首先,它通过启用 posix 兼容固件的模糊处理来解决兼容性问题,这些固件可以在系统仿真器中仿真。其次,采用“增强进程仿真”技术解决了系统模式仿真造成的性能瓶颈。通过将系统模式仿真与用户模式仿真相结合,增强的进程仿真作为系统模式仿真提供了高兼容性,作为用户模式仿真提供了高吞吐量

项目复现

一、环境搭建

系统:Ubuntu16.04LTS(作者尝试了Ubuntu18.04、20.04,Kali20.04都未成功)

python版本:python2.7和python3.7(注意Ubuntu16.04版本自带的是python3版本是3.5,需自行更新为python3.7)

相关依赖:(参考回答

评论 60
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值