
综述
文章平均质量分 85
综述
席八
欢迎光临
展开
-
2021 Fuzzing: Challenges and Reflections
变异器更多的软件我们如何有效地模糊更多类型的软件系统?我们已经知道如何模糊命令行工具(AFL和KLEE)和应用程序编程接口(api) (LibFuzzer)。fuzzer产生输入并观察程序的输出。社区正在积极地研究如何模糊那些具有高度结构化输入的程序,比如文件解析器或面向对象的程序。然而,作为其执行的一部分与环境进行交互的模糊网络物理系统,或由其训练数据决定行为的机器学习系统,都是一个探索不足的领域。我们如何模糊有状态的软件,比如协议实现,它可以为相同的输入产生不同的输出?大多数灰盒和白盒模糊器都是用一原创 2021-10-28 19:52:59 · 247 阅读 · 0 评论 -
2021 SoK: The Progress, Challenges, and Perspectives of Directed Greybox Fuzzing
摘要灰盒模糊已经成为最具可扩展性和实用性的软件测试方法。大多数灰盒模糊工具都是基于覆盖率的,因为代码覆盖率与bug覆盖率是紧密相关的。然而,由于大多数覆盖的代码可能不包含错误,盲目扩展代码覆盖的效率较低,特别是在角落的情况下。不像基于覆盖的fuzzer以一种无方向的方式扩展代码覆盖,有方向的fuzzer将大部分的时间预算花在到达特定的目标位置(例如,bug倾向区)而不会浪费资源去强调不相关的部分。因此,直接灰盒模糊特别适合于补丁测试、bug复制和特殊bug查找等场景。本文首次对定向灰盒模糊进行了深入的研究原创 2021-11-01 21:46:20 · 551 阅读 · 0 评论 -
2018 Survey of Directed Fuzzy Technology
摘要模糊测试技术可以有效地检测出漏洞。基于有向符号执行(DSE)模糊和有向灰盒模糊(DGF),能够快速有效地到达指定目标位置并扫描漏洞。本文介绍了有向模糊测试技术的理论知识,以及几种先进的模糊测试工具,阐述了它们的优点内容大多数定向模糊器都基于符号执行[8]。基于目标的定向模糊识别和模糊设定中的特定输入字节,以获得给定程序位置的特定值。它使用经典染色分析[9]来确定种子输入的某些部分,这些部分应优先考虑,以提高生成观察目标位置漏洞所需值的概率(例如,除法运算符分母中的零值[10]),这可以极大地减少搜原创 2021-11-02 16:11:16 · 172 阅读 · 0 评论 -
2019 A Review of Machine Learning Applications in Fuzzing
摘要在过去的几十年中,模糊在改进软件开发和测试方面发挥了重要作用。最近对模糊化的研究集中在机器学习(ML)的应用上,为克服模糊化过程中的挑战提供了有用的工具。本文综述了最大似然法在模糊化中的应用研究现状。具体来说,本综述讨论了ML在模糊化中的成功应用,简要探讨了遇到的挑战,并推动了未来解决模糊化瓶颈的研究。内容在本次调查中,我们重点关注三种主要的ML类型,每种类型都适用于不同类型的任务。监督学习用于训练模型以识别给定数据点的类标签,例如图像是否包含特定对象。这种类型的ML需要数据集,其中每个数据点都有原创 2021-11-02 19:24:24 · 293 阅读 · 0 评论 -
2020 A systematic review of fuzzing based on machine learning techniques
摘要——安全漏洞在网络安全体系中起着至关重要的作用。Fuzzing技术作为一种漏洞发现技术,被广泛应用于提前减少破坏。然而,传统的模糊技术面临许多挑战,如如何变异输入种子文件,如何增加代码覆盖率,以及如何有效地绕过验证。机器学习技术作为一种新方法被引入模糊测试,以缓解这些挑战。本文综述了近年来利用机器学习技术进行模糊测试的研究进展,分析了机器学习如何改进模糊过程和结果,并对未来的模糊测试工作进行了展望。首先,本文讨论了机器学习技术可以用于模糊场景的原因,并确定了机器学习已经被使用的六个不同阶段。然后从机器学原创 2021-11-18 20:58:58 · 8638 阅读 · 0 评论 -
2018Cybersecurity- Fuzzing: a survey
Abstract安全漏洞是网络安全威胁的根源之一。 为了发现漏洞并提前修复它们,研究人员提出了几种技术,其中模糊测试是最广泛使用的技术。 近年来,像AFL这样的模糊测试解决方案在漏洞发现方面取得了很大的进步。 本文概述了最近的进展,分析了它们如何改进模糊测试过程,并阐明了模糊测试的未来工作。 首先,我们通过比较不同的常用漏洞发现技术,讨论模糊测试流行的原因。 然后,我们概述了模糊测试解决方案,并详细讨论了一种最流行的模糊测试方法,即基于覆盖率的模糊测试。 然后,我们提出了其他技术,可以使模糊过程更智能,更原创 2021-12-27 19:26:53 · 1307 阅读 · 0 评论 -
IEEE T RELIAB2018-Fuzzing: State of the Art
摘要:模糊技术是目前最流行的软件测试技术之一,它可以通过生成大量的测试输入来发现程序中的各种缺陷,如软件bug和漏洞等。由于其有效性,模糊算法被认为是一种很有价值的bug搜索方法。在本文中,我们概述了模糊的一般过程和分类,然后详细讨论了关键的障碍和一些最新的技术,旨在克服或减轻这些障碍。我们进一步研究和分类几种广泛使用的模糊工具。我们的主要目标是让涉众更好地理解模糊化,以及改进软件测试和安全领域的模糊化方法的潜在解决方案。为启发今后的研究,本文还对未来的研究方向进行了展望。II. REVIEW METH原创 2021-12-28 18:58:53 · 2198 阅读 · 0 评论 -
2017-A Review of Fuzzing Tools and Methods
1 介绍识别软件漏洞的技术首先可以分为两种不同的方法:静态分析和动态分析。软件的静态分析涉及检查源代码或编译的二进制文件而不执行它的方法。动态分析涉及在运行时检查软件,通常在附加某种调试器之后。静态分析虽然有用,但通常会产生许多在实践中无法利用的误报,并且需要大量的手动验证工作来确定哪些问题是真正的漏洞。但是,它确实允许在检查整个应用程序时实现完整的代码覆盖率。这种方法有很多优点,因为自动化的易用性,并且能够测试代码审查过于耗时的非常大的应用程序。2 软件漏洞3 漏洞检测3.1 静态分析静态代原创 2021-12-28 20:01:56 · 1696 阅读 · 0 评论