2017年回顾:自动化漏洞挖掘、符号执行与区块链安全突破

本文回顾了Trail of Bits在2017年的技术成果,涵盖自动化漏洞挖掘工具的实际应用、符号执行工具Manticore的开源与优化、二进制翻译工具McSema的重大升级,以及在区块链安全领域的领先实践,包括智能合约审计和以太坊安全工具开发。

2017年回顾 - Trail of Bits博客

Dan Guido
2018年3月8日
年度回顾

多么跌宕起伏的一年!当然,这指的是办公室之外。在内部,2017年是非常出色的一年。

我们发布了新颖的研究,推动了自动化漏洞发现、符号执行和二进制翻译等领域的实践。在此过程中,我们改进了许多基础工具,这些工具将逐渐被越来越多的安全研究人员所依赖。我们扩大了在保护智能合约方面的工作,并确立了自己作为顶级区块链安全公司的地位。最后,与往年一样,我们分享了所能学到的经验,并支持他人做同样的事情。

无论您是客户、长期关注者,还是初露头角的安全研究人员,感谢您的关注和贡献。

以下是2017年的12个亮点;每一个都是让您在2018年继续关注的理由。

新颖研究

自动化漏洞发现进入现实世界

这一领域在2017年真正获得了动力。如果您没有密切关注,很容易错过这一系列的发展。这就是为什么我们在IT Defense、BSidesLisbon和CyCon上介绍了该领域的最新进展。

但“未使用的工具找不到漏洞”,许多障碍仍然阻碍着广泛采用。我们正在国防行业改变这一现状。我们与洛克希德·马丁公司和国防部的DIUx签订了合同,以应用和扩展我们的网络推理系统(Cyber Reasoning System)。

如果您想知道人类在安全开发生命周期中的未来角色,我们坚持认为这些工具始终需要专家操作员。

如果您正在开发自动化漏洞发现工具的团队,您会很高兴知道我们将CGC的挑战二进制文件移植到了Windows、macOS和Linux。现在您有了一个客观的基准来评估工具的性能。

Manticore改善了可访问符号执行工具的现状

我们开源了Manticore,在社区中获得了一些掌声。Manticore是一个高度灵活的符号执行工具,我们依赖它进行二进制分析和新研究技术的快速原型设计。

Manticore的部分内容支撑了我们在网络大挑战(Cyber Grand Challenge)中的符号执行能力。自那时起,它一直是我们为DARPA的LADS(利用模拟域进行安全)项目进行研究的重要组成部分。

在Manticore公开发布仅一年后,我们调整了该工具,以增强智能合约审计员的能力,并为以太坊平台的安全做出贡献。12月,我们解释了如何使用Manticore进行以太坊虚拟机(EVM)字节码的工作。当应用于以太坊时,符号执行可以自动发现编译合约中的函数,生成触发合约状态的交易,并检查失败状态。

McSema 2.0让我们更接近像处理源代码一样处理二进制文件

2017年初,我们决定给McSema进行一次全新的改造。我们清理了代码,使其更便携、更容易安装。它运行得更快。它生成的代码更好。但我们知道我们可以进一步推动它。

自从四年前发布McSema以来,程序以越来越快的速度采用现代x86功能,我们的提升目标已扩展到包括AArch64,这是现代智能手机使用的架构。

因此,我们进行了一系列重大改进。例如,我们完全将指令语义与控制流恢复分离,并创建了Remill。McSema现在是一个使用Remill库进行二进制提升的客户端。借用类比,McSema之于Remill,就像Clang之于LLVM。如果您想在自己的应用程序中使用提升功能,应该使用Remill。

接下来,我们展示了一系列McSema的用例,包括:二进制修补和修改、与KLEE的符号执行,以及重用现有的基于LLVM的工具(如libFuzzer)。

基础工具

以太坊的基础更加稳固

为了回应人们对以太坊智能合约和区块链技术兴趣的激增,我们推出了新服务并创建了工具,为社区提供可验证的安全增益。我们将Manticore调整为一个行业领先的安全工具,并开发了一套额外的工具,帮助他人编写更安全的智能合约。

在很短的时间内,我们已成为行业中最受信任的审计、工具和最佳实践提供商之一,用于保护智能合约及其相邻技术。我们保护了代币发行、去中心化应用程序和整个区块链平台。请参阅我们关于RSK和DappHub的Sai的公开报告。

我们将今年的最后一次Empire Hacking聚会集中在如何编写安全的智能合约以及如何攻击它们上。六位演讲者中有两位来自我们的团队。11月,我们第一个完成了Zeppelin的以太坊CTF,Ethernaut。

我们成为第一家加入企业以太坊联盟(EEA)的信息安全公司,EEA是世界上最大的开源区块链倡议。作为行业顶级的智能合约审计员之一,我们很高兴将我们无与伦比的专业知识和独特工具集贡献给EEA的工作组。

osquery扩展了其范围和能力

继2016年将Facebook的开源端点检测和监控代理移植到Windows之后,我们继续为osquery的开发和采用做出贡献。

我们进行了基础性增强,提高了框架的原始能力。添加基于auditd的文件完整性监控需要从头开始重新设计。结果,最终用户获得了更好的性能,没有虚假或损坏的事件,以及新的文件完整性监控。

在众多其他改进中,我们展示了osquery如何发现像CCleaner恶意软件这样的显著行业问题,并贡献了检测它们所需的功能。对于非本机操作系统功能的添加,我们创建了一个维护的osquery扩展库。

为了促进osquery的长期成功,我们分享了五家主要科技公司用户的经验、痛苦和愿望。我们希望这些发现能帮助社区规划前进的道路,并帮助犹豫不决的人决定是否以及如何在其公司中部署osquery。

“我认识@dguido和@trailofbits团队很久了,我绝对喜欢他们正在做的关于@osquery社区的博客系列。我迫不及待想阅读他们剩下的文章!”
— Mike Arpaia (@mikearpaia) 2017年11月9日

iVerify满足了iPhone用户的基本需求

我们发布了iVerify,这是一个App Store兼容的库,包含行业中最全面的iOS越狱检查。这些检查由我们的专家团队维护;他们是世界上iOS安全内部的最权威人士。

应用程序开发人员应该知道他们的应用程序何时安装在越狱手机上。然而,无效的越狱检测可能比根本没有越狱检测更糟。

iVerify目前检测iOS 10和11上的越狱。我们承诺在iOS新版本发布时更新库,并在开发出能够发现已知和未知越狱的更有效检查时进行更新。

Algo将自托管VPN服务带给大众

2016年底,我们发布了自托管的个人VPN服务器。Algo设计用于易于部署和安全性,它仅依赖现代协议和密码,仅包含您需要的最少软件,并且是免费的。

然后,在2017年,保护在线活动的兴趣爆发了。我们无法感谢FCC放松ISP商业化规则,但我们很高兴更多的人正在更多地思考他们的数字隐私。

是的,我们非常感谢:

  • 70位Github贡献者,他们对Algo核心做出了704次贡献。
  • Motherboard的认可。
  • 许多向他们的关注者推荐它的用户。
  • 引用或推广Algo的组织,包括:Github、Radical Networks、Stonybrook University、DC Legal Hackers、Georgian Partners播客和VUC直播。

我们将继续积极努力简化和自动化Algo的安装,以便那些缺乏构建和维护自己VPN技术专业知识的人不会暴露在外。

学习与分享

帮助行业部署新的漏洞利用缓解措施

在我们讨论了控制流完整性(CFI)和控制流防护(CFG)之后,我们分享了尝试通过将两者应用于osquery来比较clang的CFI实现与Visual Studio的控制流防护(CFG)。我们没有进行直接比较,而是生成了一个案例研究,说明安全缓解措施中看似小的权衡如何对可用性产生严重影响。我们的讨论向开发人员展示了如何使用这些缓解措施,并包括展示它们缓解的错误的示例程序。

几个月后,当微软因“权衡”而陷入对其用户有严重影响的困境时,我们代表软件巨头将AppJailLauncher-rs应用于Windows Defender。结果,Flying Sandbox Monster是行业第一个用于Windows的沙盒防病毒扫描程序。我们描述了创建该工具的过程和结果,以及其基于Rust的框架,用于在AppContainers中容纳不可信的应用程序。

将控制流完整性与沙盒结合对攻击者来说是一个巨大的挑战。不幸的是,它们对开发人员使用也是一个挑战!在创建上述材料时,我们降低了社区的学习曲线。

聚焦Binary Ninja

我们认为Vector35的多功能逆向平台没有得到应有的尊重。我们努力帮助他人理解Binary Ninja的能力,通过:

  • 描述Binary Ninja的低级IL(Low Level IL)基础知识,以及如何使用Python API与之交互。
  • 演示如何利用Binary Ninja的LLIL及其数据流分析轻松开发平台无关的工具。
  • 解释我们如何使用自己的Binary Ninja处理器模块分析今年的DEF CON CTF挑战,该模块现在可供任何有兴趣尝试挑战的人使用。
  • 在Infiltrate和Summercon上分享Binary Ninja如何使程序分析更易于访问和有用。

赞助我们关心的事业

下一代。 我们关心给年轻人机会在行业中学习和发展技能,因此我们继续赞助夺旗比赛,如UIUC CTF、HSCTF和CSAW。我们提供了资金支持和独特的挑战。

信息安全社区。 我们希望与更广泛的受众分享我们的研究,并帮助他人获得访问权限,因此我们赞助了如GreHack、Infiltrate和ISSISP等会议。我们提供了资金支持以及关于新技术和Manticore的研讨会。

真相。 我们关心传播准确信息,因此我们总是很高兴赞助行业最好的播客主持人:Risky Business的Patrick Gray。我们欣赏他对行业新闻的尖锐评论。请收听我们在第449集和第474集中关于漏洞利用缓解和安全工程的采访。

推进公众对安全的理解

与往年一样,当我们遇到可以改善安全状况且不受NDA覆盖的内容时,我们会分享它。为此,我们:

  • 发布了一个全新的所有公开演示的档案。
  • 为政策制定者贡献我们的专业知识,用于如《Too Connected to Fail》和《Zero Days, Thousands of Nights》等出版物。
  • 在O’Reilly Security、GreHack和NYC Python上就符号执行研究和Manticore发表演讲。
  • 在《Joy of Pwning》、《The spirit of the 90’s is still alive in Brooklyn》和《Be a binary rockstar》中分享我们推动程序分析研究极限的经验。
  • 在EkoParty上从区块链的自动化漏洞发现开始,全力支持以太坊。
  • 在IT Defense上 contextualized 自动化漏洞发现的最新进展。

团队成长

这对我们的团队来说又是美好的一年。我们扩大了规模。我们去了迈阿密的Infiltrate和Whistler进行公司 retreats。Josselin获得了博士学位。我们获得了更多的NOP认证,并接待了一些优秀的实习生。

干得好,大家!

2018年更多计划

今年,我们将继续发布更多研究,推进对开源项目的承诺,并分享更多内部开发的工具。请期待更多关于:

  • DIUx – 国防部的实验性创新单位DIUx最近授予我们一份七位数的合同,将我们的网络推理系统(CRS)提升到新水平,作为Project Voltron的一部分。
  • 区块链 – 随着这一领域成为我们业务的更大部分,期待看到更多关于智能合约安全、Solidity语言和以太坊虚拟机的安全影响的发现。
  • 开源支持 – 除了我们对osquery的重大贡献外,我们还将新的项目纳入我们的保护之下(Google Santa、Google Omaha等)。
  • iVerify – 我们计划发布一个独立版本,允许任何人检查他们的手机是否已被越狱。该服务旨在为高风险用户,如在高威胁环境中操作的记者和活动家。
  • Algo – 我们将使其更容易使用,适用于那些不想使用终端的人。
  • 可访问工具 – 通过新版本的DeepState、Manticore和fcd-remill,我们将使更多软件工程师能够使用高级工具和技术。

最后,Operation Waking Shark – 在即将到来的Empire Hacking中留意这些团队 fleeces。

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

页面内容

  • 新颖研究
    • 自动化漏洞发现进入现实世界
    • Manticore改善了可访问符号执行工具的现状
    • McSema 2.0让我们更接近像处理源代码一样处理二进制文件
  • 基础工具
    • 以太坊的基础更加稳固
    • osquery扩展了其范围和能力
    • iVerify满足了iPhone用户的基本需求
    • Algo将自托管VPN服务带给大众
  • 学习与分享
    • 帮助行业部署新的漏洞利用缓解措施
    • 聚焦Binary Ninja
    • 赞助我们关心的事业
    • 推进公众对安全的理解
  • 团队成长
  • 2018年更多计划

近期文章

  • 使用Deptective调查您的依赖项
  • 系好安全带,Buttercup,AIxCC的评分回合正在进行中!
  • 使您的智能合约超越私钥风险
  • Go解析器中意想不到的安全隐患
  • 我们审查首批DKLs之一的经验
  • Silence Laboratories的23个库

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

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