前言
想象一下,您是一位 Endpoint 工件开发人员。 在您投入工作以确保能够防范传统 shellcode 注入或勒索软件创新之后,在将其发送到世界之前,您如何知道它确实有效?
首先,您需要设置端到端系统,其中包括设置多项服务、基础设施、网络配置等。 然后,你运行一些恶意软件;你收集的数据可以回答有关性能和功效的问题,并且可能成为未来重要的研究资源。 在花费一天时间测试和收集结果后,您可能需要在多种操作系统和机器类型上运行数百个哈希值,如果完全手动完成,这是一项艰巨的任务。
为了实现此过程的自动化并大规模测试我们的保护措施,我们构建了 Detonate,这是一个供安全研究工程师用来自动衡量我们的 Elastic Security 解决方案的有效性的系统。 我们的目标是让安全研究人员只需点击几下鼠标就能测试我们的防恶意软件保护措施。 (因此:咔哒,咔哒......嘣!)
在本系列文章中,我们将:- 介绍 Detonate 以及我们构建它的原因 - 探索 Detonate 的工作原理和技术实施细节 - 描述我们的团队如何在 Elastic 使用它的案例研究 - 讨论向社区开放我们的功效测试,以帮助世界保护他们的数据免受攻击
对 Detonate 上的其他帖子感兴趣? 查看第 2 部分 - 深入细节:我们如何运行 Detonate ,我们将在其中分析 Detonate 的工作原理并更深入地探讨技术实现。
什么是 Detonate?
从高层次来看,Detonate 在受控(即沙盒)环境中运行恶意软件和其他潜在恶意软件,其中启用了全套 Elastic Security 功能。 Detonate 接受文件哈希(通常是 SHA256)并执行以下操作:
- 准备引爆所需的所有文件,包括恶意文件
- 在沙盒环境中配置虚拟机 (VM) 实例,与外界的连接有限
- 等待文件执行完成;例如,当找到执行结果文件或 VM 实例停止或超过任务超时时间时,就会发生这种情况
- 停止正在运行的 VM 实例(如有必要)并清理沙盒环境
- 根据爆炸期间产生的遥测和警报生成事件摘要
这些爆炸的结果将提供给团队用于研究和开发目的。 通过对爆炸期间收集的日志、事件和警报进行后期处理,我们可以利用第三方情报和其他来源来丰富它们,以评估新的和现有的 Elastic Security 保护功能的有效性。
它对我们有什么帮助?
测量功效
为了打造市场上最好的 EPP,我们必须不断衡量我们的产品针对最新威胁的有效性。 Detonate 每个月用于从我们的数据源中执行数以万计的样本。 我们会自动识别覆盖范围的差距,并根据差距确定优先改进保护措施的措施。
支持现有保护措施
我们的许多保护措施都有相关工件(例如机器学习模型和规则定义),这些工件会定期更新。 这些更新需要测试,以确保我们在它们进入用户环境之前识别并修复回归。
Detonate 提供了一个框架和工具套件来自动化此测试过程中涉及的分析。 通过利用已知好软件和坏软件的哈希集,我们可以在将保护措施部署给用户之前验证它们。
威胁研究
我们的一些安全研究人员每天都会在互联网上搜索新出现的威胁。 通过为他们提供一个易于使用的平台来测试他们在野外发现的恶意软件,我们可以更好地了解 Elastic Security 如何防御这些威胁,或者我们是否需要更新我们的保护措施。
评估新的保护措施
除了测试现有的保护措施之外,新的保护措施还存在与我们现有的分层功能套件发生不利相互作用的风险。 新的保护措施可能很容易单独测试,但测试可能会隐藏与现有保护措施的意外交互或冲突。 Detonate 为我们提供了一种自定义 Elastic Stack 配置和单独保护措施的方法,以便在开发早期更容易地发现和识别此类冲突。
接下来呢?
在本出版物中,我们介绍了 Detonate 以及我们在 Elastic 中使用它的用途。 我们讨论了它在评估我们的安全工件的性能时为我们的团队带来的好处。
现在您知道它是什么了,我们将详细分析 Detonate 的工作原理。 在我们的下一篇文章中,我们将深入探讨 Detonate 的技术实现以及如何在实践中创建这种沙盒环境。