Data-Only攻击:比想象中更容易
Data-Only Attacks Are Easier Than You Think

传统观点认为,不改变程序控制流的Data-Only攻击过于复杂且特定,难以构成实际威胁。然而,Brian Johannesmeyer等研究人员开发的Einstein工具证明,利用内存安全漏洞生成此类攻击其实轻而易举。该工具无需深入理解应用语义,只需追踪数据流,即可自动构造出能执行任意代码的利用方案。这意味着,即使是低效攻击者也能轻易绕过DEP、CFI等防御机制,通过篡改数据而非代码来危害系统安全,迫使厂商重新审视现有的缓解策略。
那些不改变程序控制流的Data-Only攻击,长期以来一直被认为过于复杂和冷门,无法构成实际威胁。
HN 评论区
43- mgaldys4
纯数据攻击某种程度上是垂手可得的果实。在 AI 变得如此强大之前,传统的静态分析本就能发现它们,而大语言模型(LLMs)让识别变得更容易。但真正的威胁在于埋藏在业务逻辑中的风险,尤其是对正常业务逻辑的滥用。以电商退款滥用为例。漏洞猎人甚至不会将其视为风险,但欺诈团伙却利用这类逻辑套利了数百万美元。而且,因为这是合法的业务逻辑,所以极难被检测到。
- miellaby
> 纯数据攻击(即不影响程序控制流的攻击)长期以来被认为过于复杂且小众,构不成实际威胁。
利用用户数据来实施恶意行为是解释器 eval 注入(php, js, perl, shell 调用, SQL 等)的基础。这类攻击已经存在 50 年了。我漏掉了什么吗?
- Terr_
> 该攻击实际上仅修改了 execve 系统调用的参数
我觉得这份 shell 工具清单 [0] 很相关,尽管它的侧重点更多在于 setuid 的危险性,因为你可能不知道别人会提供哪些更复杂的参数。
> GTFOBins 是一个精选的类 Unix 可执行文件列表,可用于在配置错误的系统中绕过本地安全限制。
- gumby
> 纯数据攻击……长期以来被认为过于复杂且小众,构不成实际威胁。
我以为模糊测试(fuzzing)的整个意义就是寻找纯数据攻击的一个例子。
- probably_wrong
我觉得解释中缺了一个关键部分。
如果“服务器存在内存安全漏洞,允许恶意客户端溢出某个缓冲区并覆盖,例如 cgi_bin_path 变量的内容”,那么为什么这算是纯数据攻击?难道不是需要像“传统方式”那样先溢出缓冲区吗?