旧GPU的逆袭:安全分析与程序优化的新利器

本文探讨如何将淘汰的服务器GPU应用于计算机安全与程序分析领域,包括嵌入式平台模糊测试、随机优化、SMT求解、可达性查询等六种创新方案,为硬件资源循环利用提供技术实现路径。

如何处理旧GPU?- Trail of Bits博客

Artem Dinaburg, Peter Goodman
2024年9月5日
研究实践

(你会起身把它扔掉吗?)
[用披头士《With A Little Help From My Friends》的曲调演唱]

这里有个谜题:当新GPU持续生产、产品周期约18-24个月、且每代GPU性能翻倍(遵循黄氏定律)时,10年前的服务器GPU会流向何处?我们多方询问却无人能答;仅知它们会被踢出Google Cloud和Microsoft Azure(但AWS除外),由于新一代GPU性能呈指数级增长,这些旧卡在机器学习领域已毫无用处。

但这些仍安装在机架中、功能正常且资本成本已摊销完毕的旧GPU,总不至于直接扔进垃圾场吧……对吗?

请别这么做! 在Trail of Bits,我们希望利用旧GPU——即便是那些已过官方支持周期的——来解决有趣的计算机安全与程序分析问题。如果您正计划处置一批旧GPU,请三思!我们非常乐意探讨如何延长您资本投资的使用寿命。

如何利用旧GPU

以下是我们正在探索并希望深入研究的方案:

嵌入式平台模糊测试
GPU天生适合模糊测试任务,因为模糊测试具有高度并行性,且存在天然的分歧问题解决方案。在嵌入式领域,GPU模糊测试效果尤为显著——毕竟开发者本来就需要编写模拟器。因此,编写高速模拟器比低速模拟器更有意义。我们的GPU模糊测试原型已验证概念可行性,但存在限制实际应用的缺陷。我们正通过避免静态翻译、应用快速动态二进制翻译工具的性能优化经验等方法,致力于提升模拟器创建的实用性。

随机优化
斯坦福STOKE等随机优化器会遍历大量潜在机器指令,寻找能提升程序性能的新颖非显然转换。该方法的关键瓶颈在于搜索吞吐量,我们相信GPU能极大加速这一过程。

SMT求解
SMT(可满足性模理论)在优化和安全领域应用广泛,但算法层面难以并行化。两类特定SMT问题可通过简单有效的GPU加速获益:其一是浮点运算——现有研究使用CPU暴力搜索求解浮点SMT,我们希望通过GPU加速扩展该方案;其二是传统整数SMT理论,GPU可对常规算法难以处理的理论进行暴力并行搜索。基于GPU的搜索将与其他方法并行运行,显著提升现有技术水平。

可达性查询
程序分析的另一核心基础是可达性查询:给定(超大规模)程序,能否从代码行Y到达行X?若可行,路径为何?该问题通常具有O(n³)时间复杂度,常成为实际程序分析的瓶颈。我们相信GPU计算能使复杂可达性查询更具实用性。

Datalog加速
Datalog凭借Soufflé等工具重获新生,成为大规模程序静态分析语言。最新研究表明通过GPU加速Datalog操作具有潜力,有望打造更强大、可扩展的静态分析工具。

API层级翻译
此项并非直接使用GPU,但与GPU编程相关:我们计划利用MLIR和Trail of Bits的VAST工具,实现跨API层的透明代码编译。即源代码保持原有API(如CUDA),但在编译过程中,编译器通过MLIR方言转换将程序从CUDA语义转换为OpenCL语义。我们希望创建原型以验证该编译方案的可行性。

助力我们拯救旧GPU!

我们长期关注这些问题,并计划开发实用概念验证软件予以解决。为此,我们正在寻求研究资金和闲置GPU资源。重要的是,我们不需要最新款GPU;即将淘汰或不再适用于AI/ML应用的硬件正是我们的理想选择。若您愿意提供帮助,请联系我们!我们曾与多所高校合作应对类似研究挑战,并热切期待延续此类合作。

如果您喜欢本文,请分享至: Twitter | LinkedIn | GitHub | Mastodon | Hacker News


页面内容
如何利用旧GPU
助力我们拯救旧GPU!
近期文章
使用Deptective调查依赖项
做好准备,AIxCC评分轮已启动!
超越私钥风险的智能合约成熟度提升
Go解析器中意想不到的安全隐患
首批DKL审核经验总结
Silence Laboratories的23个库
© 2025 Trail of Bits.
使用Hugo和Mainroad主题生成

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计