技术简报#

网络安全数字指纹 AI 工作流的实施使组织能够深入分析整个网络的每个帐户登录。AI 通过识别用户特定的行为反模式,而不是使用通用组织规则的传统方法,执行大规模数据过滤和减少,以实现实时威胁检测。通过数字指纹,为企业中的每个用户创建一个模型,并在用户和机器活动模式发生变化时发出警报。可以快速识别关键的行为异常,以便安全分析师可以更快地发现威胁并做出反应。

为了减少开发解决上述用例的网络安全解决方案的时间,NVIDIA 开发了数字指纹 AI 工作流。

数字指纹工作流提供了一个示例性的集成解决方案,该方案演示了如何利用 NVIDIA Morpheus(一个网络安全 AI 框架)来构建模型和管道,以从 Azure 云服务日志中提取大量用户登录数据,对其进行过滤和处理,并实时地使用 z-score 对每个数据进行分类。z-score 是指与平均值的标准差,用于标记异常事件。换句话说,z-score 表示给定事件与已建立的活动模式有多么不同。然后,异常事件将被标记并通过示例仪表板呈现给用户。用户登录数据的一个子集用于定期重新训练和微调模型,以确保所分析的行为始终是最新的和准确的。

此 NVIDIA AI 工作流包含

  • 数字指纹的训练和推理管道。

  • 生产环境中解决方案部署的参考,包括身份验证、日志记录和工作流监控等组件。

  • 云原生可部署捆绑包,打包为 helm charts

  • 关于执行 AI 解决方案的训练和自定义以适应您的特定用例的指南

注意

工作流中使用的这些组件和说明旨在用作集成的示例,并且可能如所述的那样本身尚未充分达到生产就绪状态。工作流应进行自定义并集成到自己的基础设施中,并将该工作流用作参考。

使用上述资产,此 NVIDIA AI 工作流为您提供了一个参考,使您可以以最少的准备开始构建自己的 AI 解决方案,并包括企业就绪的实施最佳实践,范围从身份验证、监控、报告和负载均衡,帮助您更快地实现所需的 AI 结果,同时仍然允许您偏离路径。

NVIDIA AI 工作流被设计为微服务,这意味着它们可以单独部署在 Kubernetes 上,也可以与其他微服务一起部署,以创建生产就绪的应用程序,从而在您的企业环境中实现无缝扩展。

以下云原生 Kubernetes 服务与此工作流一起使用

  • NVIDIA Morpheus

  • MLflow

  • Kafka

  • Prometheus

  • Elasticsearch

  • Kibana

  • Grafana

  • S3 兼容对象存储

这些组件被打包在一起,形成下面图表中描述的可部署解决方案

../_images/dfp-tb-image1.png

有关所用组件的更多信息,请参阅 数字指纹工作流指南NVIDIA 云原生服务附加组件包部署指南

这些组件用于构建和部署训练和推理管道,并与附加组件集成在一起,如下面图表所示

../_images/dfp-tb-image2.png

训练管道#

让我们首先更仔细地看一下训练管道。在执行训练之前,有一个预处理阶段。下图突出了管道内的多个阶段

../_images/dfp-tb-image3.png

在此数字指纹工作流中,为预处理提供了示例 Python 代码,开发人员可以在以下阶段进一步自定义这些代码

  • 标准化

  • 提取特征

  • 模型到 MLflow

推理管道#

Morpheus 数字指纹推理管道也具有预处理阶段和后处理阶段。如下图所示,这些阶段中的每一个阶段之间都有多个阶段。

../_images/dfp-tb-image4.png

提供了示例 Python 代码,开发人员可以在以下阶段进一步自定义这些代码

  • 标准化

  • 提取特征

  • 获取用户模型

  • 获取通用模型

  • 添加用户数据

附加组件#

以下组件作为工作流解决方案的一部分进行部署和集成

MLflow#

开源平台 MLflow 是训练和推理管道的关键要素。MLOps 平台使组织能够轻松管理其端到端的机器学习生命周期。MLflow 使用集中式模型存储,并拥有自己的一组 API 和用户界面,以便于管理。在此工作流中,MLflow 的跟踪数据库由 PostgreSQL 数据库支持,模型存储库由 S3 兼容的 MinIO 对象存储支持。经过训练的模型(每个用户唯一)通过 Python 交付到开源 MLflow 平台。还训练了一个通用模型,用于推断未知用户的事件。每个用户和通用模型都使用 MLflow 的 API 加载。

Apache Kafka#

Apache Kafka 是一个开源流平台,用于将实时数据引入数字指纹推理管道。Morpheus 数字指纹参考工作流还包括一个 Kafka 生产者,其中包含示例数据集和 Web 服务器,以及 Python 代码和自定义调试器,使开发人员可以在管道中的任何位置进行调试。可以使用在云端或本地开发和运行管道的选项。

监控#

数字指纹 AI 工作流提供了一个 Prometheus 仪表板,其中包括指示管道吞吐量统计信息的指标;按地区、浏览器和其他信息划分的可疑事件细目;以及管道的活动运行状况和状态。这些指标通过 Grafana 仪表板 查看。

../_images/dfp-tb-image5.png ../_images/dfp-tb-image6.png

当数字指纹 AI 工作流执行分析时,管道的安全事件数据将发送到 Elasticsearch,安全分析师可以在其中使用 Kibana 深入查看结果。使用 Kibana,管理员可以生成仪表板、报告并在必要时导出数据。Kibana 支持丰富的搜索语言,以帮助安全分析师定位可疑事件并关联来自不同系统的信息。

事件可以按时间序列查看

../_images/dfp-tb-image7.png

或者可以更彻底地调查单个事件

../_images/dfp-tb-image8.png

所有这些第三方开源平台组件都可以轻松地更换,以使用企业商业平台内首选的组件。有关如何执行此操作的步骤和指南,请参阅 数字指纹工作流指南NVIDIA 云原生服务附加组件包部署指南