Devocean 如何使用亚马逊 Neptune 为云原生应用程序构建漏洞修复管理平台

作者: 吉尔·马克梅尔 查尔斯·艾维 | 2023 年 4 月

在这篇文章中,我们将讨论 Devocean 如何 使用 亚马逊 海王星 为其 云应用程序漏洞修复平台提供支持。Devocean 平台提供统一的控制面板,用于管理客户云应用程序所有层面的安全事件。借助 Devocean,用户可以对风险进行优先级排序,减少警报疲劳,并与组织内的相应所有者一起更快地管理补救措施。

Devocean 是一家领先的软件即服务 (SaaS) 开发公司,为全球企业组织提供云原生应用程序漏洞修复管理和自动化解决方案。其统一平台解决方案为开发、基础设施安全和应用程序安全团队提供了单一事实来源,以实现对云资产及其关联风险的可见性和控制,从而弥合了他们之间的鸿沟。

Devocean 为其客户的云应用程序构建了虚拟蓝图,为他们提供了资产和风险如何关联以及架构偏移如何影响他们的实时可视化。

借助 Devocean,安全团队能够获得所需的背景信息,以确定风险优先级、减少噪音并与组织内的相应团队一起管理补救措施。

Devocean 被列为 亚马逊云科技 合作伙伴 。 各组织可以在 www.devocean.security上申请免费试用该软件。

Devocean 漏洞修复平台概述

下图说明了平台内的数据架构。

DevOcean platform overview

Devocean 平台使用 亚马逊云科技 无服务器微服务架构构构建。通过连接到客户云帐户并收集所有云资产及其配置和元数据来收集数据。

同时,该平台连接到客户连接的安全工具(例如CSPM、CWPP、CNAPP、代码漏洞扫描器、最低权限和其他 OSS 工具)并提取安全事件。

然后,管道将数据推送到海王星,在海王星中,智能聚类逻辑连接数据并为发现结果添加上下文。在这种背景下,Devocean提出了风险优先级建议。例如,安全工具可能会对特定的安全事件给予较高的评级,但Devocean认为其风险较低,因为该事件与测试环境中的资产有关。

Devocean 的智能集群还允许对不同工具报告的关联事件进行重复删除,同时识别根本原因事件,大大减少噪音量,减少解决单个问题所需的票证数量。

通过从数十万个不同的安全事件、工具和云资产中创建统一的安全画面,Devocean 为云原生应用程序提供管理和自动风险修复所需的上下文。

以下屏幕截图说明了 Devocean 用户界面。

DevOcean user interface

解决方案概述

Devocean 是一种无需代理的部署,可以在几分钟内将其部署到您的云端。在最初的入职阶段,它会连接到您的所有云帐户,并开始从您的所有资产中收集数据。之后,数据收集将持续进行,以维护云环境的蓝图始终处于最新状态。

这会生成大量需要存储的数据,以便将其聚集到应用程序和微服务中,从而使Devocean能够突出关系和使用情况,并生成由上下文驱动的有意义的见解。

在系统开发过程中,Devocean 团队检查了所需的数据访问模式。他们需要一个安全且易于扩展的高性能数据库,并且可以轻松集成到Devocean的无服务器架构中。当然,高水平的支持也至关重要。

很明显,图形数据库可以最有效地满足这些要求,在评估其选项之后,Devocean选择了Neptune作为运行其SecOps平台的图形数据库。

为什么是海王星?

Devocean 平台是由 亚马逊云科技 云开发套件 (亚马逊云科技 CDK ) 部署的无服务器应用程序。Devocean 使用基础设施即代码 (IaC) 来部署其后端服务。使用 亚马逊云科技 CDK 部署海王星可减少后端部署工作量。

作为一项托管服务,Neptune与其他构造Devocean后端的托管服务集成在一起,从而简化了内部服务通信。此外,在一个平台 (亚马逊云科技) 中管理所有数据库可以简化支持、调试和监控流程。

构建应用程序蓝图:将数据聚类到应用程序中

在收集过程中,原始数据将保存到 亚马逊简单存储服务 (Amazon S3) 存储 桶中,并使用海王星批量加载器加载到海王星集群。 将资源插入图表后,Devocean 平台开始通过在图(或子图)中搜索连接的资源来识别应用程序。然后,它会尝试确定这些资源是否是应用程序,以及它们是否与其他子图断开连接。

用于验证这一点的一个示例是检查应用程序资源是否构造了一个循环子图,该循环子图在其资源之间具有很高的内聚力,但与其他子图的耦合度低。如果算法找到可以回答此特定规则的应用程序,则它是一个新的应用程序。

以下屏幕截图显示了一个账户(在灰色圆圈中),里面有三个应用程序。每个应用程序都包含资产及其连接。我们的平台已将资产分组到应用程序中,因为这些资产是相互关联的。根据通信、日志、策略等在资产之间创建连接。

DevOcean account with apps

使用 Neptune 批量加载器及其快速查询引擎,集群过程需要几分钟。集群过程结束后,使用 NLP 来定义应用程序名称。

更快地生成风险意味着更快地修复风险

Devocean 平台中的风险是根据 亚马逊 E v entBridge 规则配置的,该规则可以是本地定义的,也可以是客户定义的。规则是图表上的一条路径,它结合了资源、安全事件、使用和关系以及元数据。

风险可以由规则生成,例如:如果存在安全事件 X 的 API 网关连接到数据库 Z 中存储数据的 亚马逊云科技 Lambda 函数 Y,并且该数据库存在安全事件或具有个人身份信息 (PII) 数据,则会生成风险。

为了产生这种风险,Devocean 会扫描从客户那里检索到的所有数据。扫描图形数据库中资源之间的关系比在任何其他数据库中扫描都容易得多。

利用 Neptune,Devocean 创建了一个模型,该模型将图表上的元数据和使用情况存储在查询所需的属性中,并将不可搜索的元数据存储在另一个数据库中。这样,他们可以确保他们只将数据加载到要查询的图表中。

例如,该代码的编写方式是,资源的每个字段都可以存储在图表中,除非它不可搜索,在这种情况下,它将存储在键值存储中。

IAC 部署、租户配置和灾难恢复

Devocean 的后端服务及其依赖项使用 IaC 进行配置并部署到 Devocean 的 亚马逊云科技 后端账户。也可以配置部署帐户和区域。

Neptune 使 Devocean 的 iaC 部署、租户配置和灾难恢复变得快速而轻松。作为一项托管服务,Neptune 可与 Devocean 的无服务器生态系统无缝集成,可由 亚马逊云科技 CDK 部署,从而确保 DevoCean 可以快速部署到其他地区或账户。

快速提供租户对于快速吸引新客户至关重要。Devocean 使用 亚马逊云科技 CDK 进行租户配置流程。

为了在海王星实现多租户,Devocean使用TinkerPop分区策略在海王星内部开发了虚拟租户。 创建了分区密钥,它们可以将其用作租户 ID,这些属性可以附加到任何节点或边缘。然后,租户的角色只能访问此密钥。无需手动配置,因此可以快速配置新租户。这使用基于角色的访问控制实现了租户隔离。

借助 Neptune 租户策略及其基于后端角色的访问控制,他们可以确保租户在 Neptune 集群中分离。

作为对此的改进,Devocean目前正在努力利用 亚马逊Ne ptune Serverless的优势,以便将来每位客户都可以拥有自己的海 王星集群。

帮助Devocean选择海王星的另一项关键功能是灾难恢复,这要归功于他们的iAC策略和海王星的能力。

例如,如果发生灾难,Devocean 需要在不同的地区重新创建客户的账户。此外,在灾难恢复方面,除了快速重新部署之外,海王星还有其他好处。它还有助于确保不会丢失任何数据。Devocean 使用 Neptune 快照并在每个客户收集过程中备份数据,以确保不会丢失任何数据。重新创建环境时,系统会检查最近是否有快照,如果有,则将它们加载到 Neptune 中。几分钟之内,客户的账户就充满了最新数据。

下图说明了这种架构。

DevOcean customer solution architecture

Devocean 的后续步骤

亚马逊 S ageMaker 托管的 Jupyter 笔记本可以轻松连接、查询和可视化海王星图表。将来,Devocean计划构建一个预测引擎,该引擎将检查常见的攻击向量,通过搜索各种安全工具中相似的常见噪音或安全事件来更好地识别潜在的风险和攻击趋势。有关更多信息,请参阅 使用 Neptune 图形笔记本快速入门

摘要

在这篇文章中,我们探讨了Devocean如何使用Neptune为云原生应用程序构建修复平台,通过丰富的背景将云资产与风险关联起来。对于组织而言,获取云原生应用程序风险的可见性和背景信息不再是一个复杂的手动过程。借助 Devocean,安全团队可以在单个平台中管理来自各个孤立工具的合并安全警报并确定其优先级。

借助此产品,Devocean 正在为其客户简化云原生风险管理和自动化。由于整个解决方案架构都在 亚马逊云科技 中构建,使用 Neptune 对数据进行群集可以轻松地从不连贯的数据中获得见解。结果是云原生应用程序的实时蓝图,该蓝图显示了每种风险及其关联资产。

要了解有关 Neptune 集群备份和恢复的更多信息,请参阅 备份和恢复 Neptune 数据库集群 概述


作者简介

吉尔·马克梅尔 是Devocean Security的首席技术官兼联合创始人。他拥有计算机科学学士学位,并且是以色列国防军精锐的8200情报部队的资深人士。

查尔斯·艾维 是 亚马逊云科技 亚马逊 Neptune 团队的高级图形架构师。十多年来,他一直使用知识图谱技术设计、实施和领导解决方案。