打破界限:Checksec Anywhere 带来的无边界安全检查

本文介绍了一款名为Checksec Anywhere的革命性工具,它能直接在浏览器中对ELF、PE和Mach-O格式的可执行文件进行安全检查,无需上传、无需账户,完全在本地运行,提供了卓越的隐私保护和性能。

在Trail of Bits博客上:无边界构建Checksec Anywhere

Gabe Sherman 2025年11月13日 工具发布,实习项目,开源,二进制分析,夺旗赛

自2009年首次发布以来,checksec 已在软件安全社区得到广泛应用,在CTF挑战赛、安全态势评估和常规二进制分析中证明了自己的价值。该工具通过检查可执行文件来确定启用了哪些漏洞利用缓解措施(例如ASLR、DEP、栈金丝雀等),从而快速评估程序的防御加固程度。这一成功催生了众多衍生工具:一个同时期的Go语言实现、Trail of Bits针对PE二进制文件的Winchecksec,以及各种针对苹果Mach-O二进制格式的脚本。然而,这也形成了一个笨重的生态系统,安全专业人员必须同时使用多个工具,每个工具都有不同的接口、依赖项和功能集。

在我于Trail of Bits的暑期实习期间,我构建了Checksec Anywhere,旨在将这个分散的生态系统整合为一个一致且易用的平台。Checksec Anywhere 将ELF、PE和Mach-O格式的分析直接带入您的浏览器。它完全在本地运行:无需账户,无需上传,无需下载。它速度快(能在几秒钟内分析数千个二进制文件),注重隐私,并允许您通过简单的URL共享结果。

使用Checksec Anywhere

要使用Checksec Anywhere,只需直接将文件或文件夹拖放到浏览器中。结果会立即显示,并有颜色编码的信息反映发现问题的严重程度。所有处理都在您的浏览器本地进行;数据绝不会发送给Trail of Bits或任何其他方。

图1:将 /usr/bin 中的 746 个文件上传至 Checksec Anywhere

Checksec Anywhere 的主要特性

多格式分析

Checksec Anywhere 通过单一界面,对ELF、PE和Mach-O格式执行全面的二进制分析,并提供针对每个平台独特安全机制的定制分析。这包括对ELF二进制文件的传统检查(如栈金丝雀和PIE)、对PE文件的GS Cookie和控件流防护(Control Flow Guard),以及对Mach-O可执行文件的自动引用计数(ARC)和代码签名。对于熟悉传统checksec系列工具的用户,Checksec Anywhere的报告保持了与先前报告命名法的一致性。

隐私至上

与许多仅提供服务器端处理的Web界面的浏览器可访问工具不同,Checksec Anywhere通过直接在浏览器中执行所有分析,确保您的二进制文件永远不会离开您的机器。报告生成也在本地进行,可共享的链接不会泄露二进制文件内容。

性能设计

从浏览器上传到生成完整的安全报告,Checksec Anywhere旨在快速处理多个文件。由于Checksec Anywhere在本地运行,其具体性能取决于您的机器配置……但它的速度很快。在一台现代的MacBook Pro上,它可以在几秒钟内分析数千个文件。

增强的可访问性

Checksec Anywhere 通过提供完全基于浏览器的界面和旨在提高可访问性的功能,消除了安装障碍:

  • 可共享的结果:为任何报告视图生成静态URL,实现安全协作,而无需暴露二进制文件。
  • SARIF导出:生成SARIF格式的报告,以便与CI/CD管道和其他安全工具集成。这些报告同样完全在您的本地机器上生成。
  • 简单的批量处理:拖放整个目录即可进行简单的批量分析。
  • 标签式界面:通过直观的用户界面同时管理多个分析。

图2:用于管理多个分析的标签式界面

技术架构

Checksec Anywhere 利用现代Web技术,在浏览器中实现原生工具级别的性能:

  • Rust核心:Checksec Anywhere建立在checksec.rs的基础之上,使用成熟的crate,如用于二进制解析的Goblin和用于反汇编的iced_x86。
  • WebAssembly桥接:Rust代码使用wasm-pack编译为Wasm,通过干净的JavaScript API暴露底层功能。
  • 可扩展设计:按格式处理架构允许轻松添加新的二进制文件类型和安全检查。
  • 高级分析:Checksec Anywhere执行反汇编以实现更深层次的内省(例如检测PE二进制文件中的栈保护)。

请查看其开源代码库,以进一步深入研究其架构。

未来的工作

有了用于跨平台二进制分析和报告的成熟基础设施,我们可以轻松添加新功能和扩展。如果您有拉取请求(pull requests),我们很乐意审查并合并它们。

其他格式

当前的一个主要盲点是对移动二进制格式(如Android APK和iOS IPA)缺乏支持。为这些格式添加分析将应对不断扩大的移动威胁环境。同样,对固件二进制文件和引导加载程序进行专门处理,将把覆盖范围扩展到移动和嵌入式设备中关键的系统级组件。

其他安全属性

Checksec Anywhere的设计使其能够在研究人员发现新的攻击方法时添加新的检查。例如,最近的研究揭示了多种编译器优化违反恒定时间(constant-time)执行保证的机制,引发了编译器社区内的广泛讨论(例如,可参见这个LLVM讨论帖)。随着这些问题得到解决,恒定时间安全检查可以被集成到Checksec Anywhere中,从而即时反馈给定的二进制文件是否能抵抗时序攻击。

立即试用

Checksec Anywhere消除了管理特定格式安全分析工具的开销,同时提供了即时访问全面二进制安全报告的途径。无需安装,无需依赖,在隐私或性能方面没有任何妥协。请访问 checksec-anywhere.com 立即试用!

我想特别感谢我的导师 William Woodruff 和 Bradley Swain,感谢他们在我在Trail of Bits实习期间的指导和支持!

如果您喜欢这篇文章,请分享:X、LinkedIn、GitHub、Mastodon、Hacker News。

相关文章

  • Fickling的新AI/ML pickle文件扫描器(2025年9月16日)
  • 无需fork Clippy即可编写Rust lint(2021年11月9日)
  • 使用Slither-MCP提升您的Solidity LLM工具水平(2025年11月15日)

© 2025 Trail of Bits. 使用Hugo和Roadster主题生成。

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