ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Fuzzing: Challenges and Reflections

2021-10-28 20:01:08  阅读:198  来源: 互联网

标签:模糊 程序 我们 Challenges 如何 Reflections 输入 bug Fuzzing


变异器

更多的软件

我们如何有效地模糊更多类型的软件系统?我们已经知道如何模糊命令行工具(AFL和KLEE)和应用程序编程接口(api) (LibFuzzer)。fuzzer产生输入并观察程序的输出。社区正在积极地研究如何模糊那些具有高度结构化输入的程序,比如文件解析器或面向对象的程序。然而,作为其执行的一部分与环境进行交互的模糊网络物理系统,或由其训练数据决定行为的机器学习系统,都是一个探索不足的领域。我们如何模糊有状态的软件,比如协议实现,它可以为相同的输入产生不同的输出?大多数灰盒和白盒模糊器都是用一种编程语言编写的。我们如何模糊使用多种语言编写的多语言软件?我们如何模糊基于gui的程序,将在用户界面上执行的事件序列作为输入?对于白盒模糊,我们已经知道符号执行如何表示基于数字或字符串的输入域的约束。然而,给定一个输入域由语法和/或协议定义的程序,符号执行工具如何有效地在这样的“结构化”输入域上形成约束呢?

更多的漏洞类型

fuzzer如何识别更多类型的漏洞?目前关于模糊的工作有很大一部分集中在简单的预言上,比如查找崩溃。我们需要研究安全关键级别的bug,这些bug不会表现为崩溃,我们需要开发能够有效检测它们的oracle。漏洞通常被编码为程序状态的断言。通过使用这样的断言,我们已经知道如何发现与内存或并发相关的错误。侧通道漏洞的发现,如信息泄露或定时、缓存或与能源相关的侧通道,是当前一个活跃的研究课题展望未来,我们应该发明技术来自动检测和调用C/ c++和其他编程语言中的特权升级、远程代码执行和其他类型的关键安全缺陷。

更困难的bug

我们如何找到“深层bug”,这些bug存在有效的oracle,但却无法被发现?尽管进行了长期的模糊活动

标签:模糊,程序,我们,Challenges,如何,Reflections,输入,bug,Fuzzing
来源: https://blog.csdn.net/qq_38239282/article/details/121021791

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有