gpt4 book ai didi

security - 符号执行和污点分析之间有什么差距?

转载 作者:行者123 更新时间:2023-12-02 11:59:50 25 4
gpt4 key购买 nike

我最近读了一篇论文,标题为 "All You Ever Wanted to Know about Dynamic Taint Analysis and Forward Symbolic Execution (but Might Have Been Afraid to Ask)"通过 Dr. EJ Schwartz 。在论文中,他主要讨论了它们在二进制级别安全上下文中的应用。

我很好奇动态污点分析前向符号执行之间的确切区别。

据我所知,只要存储在 x 中的信息传输到对象,污点分析就会跟踪从对象 x(source)到对象 y(sink)的信息流y。因此,主要关注的是哪些对象可以被源传递影响。虽然符号执行将某些输入视为符号值,并尝试用符号值来表达其他变量;因此,它回答了符号输入在什么条件下影响后续程序。

我可以看到,在二进制层面,污点分析经常被提到返回地址覆盖导致的漏洞;而符号执行可以处理更多类型的易受攻击的问题,例如整数溢出运行时断言错误资源泄漏(例如内存泄漏、文件泄漏)打开/关闭),缓冲区溢出

然而,现代污点分析似乎不仅仅涉及数据流分析,大​​多数都会跟踪控制流条件;在一些漏洞检测场景中,受污染的输入也表示为符号值,并像符号执行一样传播。另一方面,由于底层约束求解器和执行/解释运行时的限制,符号执行引擎无法完全使用由不同路径条件分隔的符号值;因此,它们无法达到预期的高分支路径覆盖率。

那么在一般情况下,我们是否可以说污点分析一种粗略的符号执行,或者符号执行 一种精确的污点分析?

最佳答案

有趣的问题!这是我的 2 美分:符号执行使用一种污点分析来构建路径约束。符号执行还采用 SMT/SAT 求解器来生成变量和/或输入的具体值,以满足特定的路径约束。

由于污点分析不使用 SMT/SAT 求解器,所以我认为它不是一种符号执行。 也许可以说污点分析是符号执行的一部分

这只是一个意见。请随意挑战。

关于security - 符号执行和污点分析之间有什么差距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28811770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com