查看原文
其他

利用计算型存储实现网络安全检测的突破

常华Andy Andy730
2025-01-01

Andy Walls

IBM Fellow

闪存系统CTO及首席架构师

IBM

网络攻击,特别是勒索病毒,已成为各大组织面临的一大难题。为了应对这些威胁,业界一直在加强外围安全防护和不可变备份等策略,以便在攻击发生后能够迅速恢复。然而,即便我们竭尽全力,攻击者有时仍会突破防线。因此,快速检测这些入侵成为了至关重要的一环。

传统上,由于无法洞察数据的处理上下文,块存储的作用被认为相对有限。但IBM通过其计算型存储设备FlashCore模块,已经成功探索出如何在存储阵列中实现基于AI的勒索病毒检测的新方法。在本次演讲中,将详细解析这一方法的实现原理,并展望其未来的发展前景。

  • 题目:Breakthrough in Cyber Security Detection Using Computational Storage

  • 会议:SNIA 2024 Compute, Memory, and Storage Summit

  • 时间:2024年5月21日

-----

我将为大家介绍我们称之为“在线异常检测”(inline anomaly detection)的技术,也就是大家更为熟知的“勒索病毒检测”。

我们深知网络攻击的数量在不断增加,特别是勒索病毒和数据泄露等攻击。不幸的是,大约51%的网络攻击都属于这两类,并且这一比例还在不断上升。网络犯罪分子经过精心训练,将网络攻击视为一种收入来源,他们是有组织犯罪的一部分。从2021年到2022年,此类攻击的数量翻了一番,而2023年,又增长至之前的两倍半。遗憾的是,约66%的安全漏洞未能被组织的内部安全团队和工具检测到。这并不意味着这些团队和工具不够优秀或没有尽力,而是犯罪分子手段狡猾,他们不择手段地伤害社会并获取利益。因此,我们必须全力以赴,做好应对。

当我们谈到存储的数据韧性时,安全和数据保护始终是首要任务。持续改进网络安全、预测威胁、进行整合并防范基础设施故障和自然灾害至关重要。这可以分为两个主要部分。多年来,我们在灾难恢复方面取得了显著进展,只要组织进行定期测试并拥有良好的灾难恢复协议,我们在这方面已经做得相当不错。然而,网络攻击与此不同,我们往往无法预知它们何时发生。

首先,我们需要确保拥有不可变备份(immutable copies),即无法被挂载的备份,它们是真正不可篡改的。在IBM,我们称之为“保护副本”(safeguarded copies)。这些副本存储在存储阵列中。实际上,需要两个人的同意才能删除它,甚至可以设置为无人能删除。换句话说,它们会根据用户在创建快照时设定的设置自动过期。

这一点非常重要,但还不够。要知道何时需要恢复到这些快照之一,我们必须首先发现攻击的存在。理想情况下,我们希望在外围检测到攻击并阻止网络犯罪分子进入网络。但遗憾的是,我们都知道有时这种情况会发生。当攻击确实发生时,尽早发现它至关重要,这样我们可以迅速恢复到其中一个备份,并尽可能减少数据丢失。为了实现这一目标,我们需要实现自动化和持续测试。我们需要简化操作流程并确保这些操作易于执行且始终进行测试。

在IBM,我们利用自己的SSD产品,FlashCore模块(FlashCore Modules,FCM)。FlashCore模块的重要性在于它们不仅仅是SSD;它们是“计算型存储”设备。我们已经在计算型存储领域进行了多年的探索。

事实上,IBM自2017年就开始提供相关产品。我们的起点是透明压缩技术。透明压缩的重要性不仅在于压缩数据本身。大家可能认为压缩数据是关键,但实际上在软件数据缩减过程中真正消耗计算资源并可能影响性能的是元数据操作。这些元数据用于重新映射数据并将其存储在其他位置。由于数据被压缩后体积变小,因此无法直接写入原始位置。需要将这些压缩对象组合在一起并存储在新的位置。这就需要元数据来指示数据的映射关系。

当数据被覆盖时,还需要删除或使旧数据无效并为新数据创建新的元数据。其中,最为复杂且开销最高的是垃圾回收过程。我们需要使旧数据无效并删除它们,以释放存储空间供新数据使用。这一过程相当复杂,特别是在距离底层NAND闪存较远的控制器中执行时。然而,FlashCore模块将NAND闪存与SSD控制器紧密集成,且由于NAND闪存需要先擦除才能写入新数据,因此本身就涉及垃圾回收。

将压缩功能集成到FlashCore模块中,是一个直接且高效的方法。这样做可以将压缩和垃圾回收这两个过程合并执行,既减少了垃圾回收的开销,又提高了存储效率。通过将压缩功能集成到FCM中,并使存储控制器对压缩操作完全透明,我们取得了显著的成效,这充分展示了计算型存储的强大潜力。

当我们看到这一成功时,我们开始思考,还能在FCM中的计算型存储上做些什么呢?与此同时,勒索病毒和其他恶意软件已经泛滥成灾。我深知,堆栈中的每一个环节都需要尽到它的职责。我们不能仅仅依赖外围防御;甚至不能单纯依赖AI来判断是否有人入侵,因为不幸的是,犯罪分子也会利用AI来辅助他们确定如何以及何时入侵网络。因此,堆栈中的每一个环节都需要发挥其应有的作用。

长期以来,大家认为块存储功能有限。块存储不了解上下文;它不了解操作系统;可能也不了解文件系统。因此,当我们在探索这个领域时,一些技术专家曾告诉我:“Andy,你在块存储上做不了什么。”但这反而激发了我的斗志。我意识到,我们实际上就位于数据的旁边;有些事情我们可以做到。我们可以进行扫描;计算型存储设备可以做一些事情来帮助检测勒索病毒,同时不会对性能产生任何影响。我们开始研究勒索病毒如何影响包含FCM的系统。

以下是一个关于著名勒索病毒WannaCry的示例。我们在装有FCM的闪存系统上运行了这个勒索病毒。在运行工作负载的同时,我们注入了WannaCry病毒。图中粉色部分代表WannaCry病毒运行的时间段,可以看到病毒并不是一直在运行,而是断断续续的。绿色部分显示的是熵值,这是香农熵,熵值越高数据越随机。例如,在这里我们可以看到,虽然WannaCry在加密数据,但它并没有加密所有内容,熵值并没有达到最高的8.0。

此外,我们还从图中了解到关于工作负载的各种其他属性。最终,我们发现攻击后有28%的数据被修改。我们还对许多其他勒索病毒进行了类似的实验,并编写了我们自己的勒索病毒模拟器,称为WannaLaugh。

我们研究了勒索病毒如何影响工作负载,并查看了LBA(逻辑块地址)散点图,Y轴显示了LBA地址范围。

经过这些研究后,我们开始探索可以在FlashCore模块中收集哪些统计数据,并将这些数据发送到机器学习算法中,让算法学习勒索病毒与真实工作负载之间的区别。最终,我们得出了大约40种不同的统计数据。这些数据包括之前提到的香农熵、卡方检验、LBA地址和序列模式的统计存储、读写吞吐量的变化以及压缩统计数据。

令人欣喜的是,我们并没有对性能产生任何影响,因为我们在FPGA中进行这些操作。当我们压缩数据并引入数据时,我们在旁边进行这些操作,而不会对性能产生任何影响。这要归功于集成在FCM中的计算型存储卸载功能。

我们计算了熵值,并且在我们最新的FCM版本中,即我们称之为FCM 4的版本,并且已经投放市场,我们在全球的闪存系统中运行这些系统。我们在每一个I/O操作上保留这些统计数据,并且我们有两个小型RISC处理器在实时处理我们收集的所有统计数据的统计平均值、直方图和其他统计数据。

它们将这些数据整理成一种我们可以轻松查看的形式。首先,我们训练了一个模型,通过用许多不同类型的勒索病毒和模拟勒索病毒在许多不同的工作负载中运行,我们得到了一个AI模型,现在该模型已经加载到每一个闪存系统中。我称之为Revealer,这个Revealer是一个真正的AI模型。它占用的资源非常少;它是一个推理引擎,运行在闪存系统上。它所接收的输入是之前提到的每个FCM上收集并总结的数据。

FCM正在收集熵值、压缩变化以及我提到的其他各种统计数据,如IOPS、吞吐量、熵等,并将其发送给“总结器”(summarizers),后者将其整理成每两秒钟我们在控制器中读取的信息,即闪存系统控制器。每个卷都这样做,每个FCM也都这样做。然后它将所有这些信息汇总成按卷统计的数据,发送给Revealer。

Revealer是一个运行在核心上的推理引擎,它每两秒钟会评估是否检测到了勒索病毒。在经过一个投票窗口期后,即每两秒钟进行一次投票,并在一个设定的间隔后,我们会统计支持和反对勒索病毒的票数。如果在这个窗口期内达到了特定的票数阈值,我们就会向云中的Storage Insights发送警报,这是我们的监控软件。Storage Insights会向支持团队或客户发出警告,告知他们可能检测到了勒索病毒异常。之后,客户可以通过运行Safeguarded Copy功能,利用快照来从这一事件中恢复。

在安全软件领域,误报是一个常见的现象。有时,我们发送了警报,但实际上并没有发生勒索病毒攻击,而只是客户在进行某些操作,可能是他们不常进行的操作。因此,当我们收到警报时,我们还会将过去一小时的数据,即每个卷每两秒的数据,发送到云端的Storage Insights进行分析。然后,我们可以基于这些数据训练模型,以进一步提高检测率并减少误报。

FlashCore模块本身并不直接执行AI模型,但它们在整个过程中扮演了关键角色。我们将统计数据的收集任务卸载给它们,使它们能够在每次I/O操作中收集数据。这样,我们就可以对所有卷进行大量不同的统计,并将这些数据输入到模型中。

这种方法非常有效,充分展示了计算型存储的一个重要方面。我认为,计算型存储的核心并不是让SSD或FlashCore模块承担所有任务,而是将SSD能够高效完成的一些功能卸载给它们。SSD可以在不影响性能的情况下进行统计数据收集并汇总数据。但运行AI模型这样的任务则更适合交给处理能力更为强大的Flash系统控制器,它可以运行各种不同的模型。

未来,我们还在研究许多不同的方法来进一步优化这一过程,特别是随着勒索病毒的不断变化。计算型存储的真正定义在于明确哪些元素在不同位置上运行能够达到最佳效果。与其在软件中执行所有计算,如计算熵、计算压缩差异,这些操作会大量消耗CPU资源,不如让SSD或FCM来处理这些任务,然后让Flash系统控制器运行推理模型、推理引擎,并帮助判断是否发生了勒索病毒攻击。

我认为,安全是我们在计算型存储领域高度关注的一个领域。我们已经开始交付这项技术,并正在收集反馈,以改进误报率、分析数据并进行训练。同时,我们也对未来的发展方向充满了期待和想法。



--【本文完】---

近期受欢迎的文章:

  1. Meta:大规模AI基础设施

  2. 2024年OCP存储技术研讨会

  3. 超大容量SSD的兴起

  4. IEEE发布:存储介质技术路线图

  5. 内存技术引领计算架构重大变革



更多交流,可添加本人微信

(请附姓名/单位/关注领域

继续滑动看下一个
Andy730
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存