Loading...
在这篇文章中,我们将介绍三种模式,旨在帮助企业有效地集中管理来自多种来源的日志数据。这将有助于安全团队在面对不断发展的安全威胁时,能够更快速地监测、响应和减轻安全问题。我们提供的模式将使用 Amazon Security Lake 进行日志数据的提取、转换和加载ETL,并且附带相应的示例代码及映射文件。通过这些内容,您可以聚焦于威胁分析、异常检测和提升整体安全态势。
随着安全最佳实践的不断演进,安全遥测选项也不断增加。客户需要处理来自多个工具、技术和供应商生成的,与安全相关的遥测和日志数据,从而监控、检测、响应和缓解新旧安全问题。在本篇文章中,我们提供了三种模式,以集中处理来自各种来源的日志数据到 Amazon Security Lake。利用这些模式,您可以简化安全日志数据的提取、转换和加载ETL过程,专注于分析威胁、检测异常并改善整体安全态势。同时,我们还会提供对应的代码和映射,您可以在 amazonsecuritylaketransformationlibrary 中找到。
飞鸟加速器官方Security Lake 会自动将安全数据集中到您组织内部专门构建的数据湖中,并支持从多个来源收集日志信息,包括本地 AWS 服务、软件即服务SaaS提供商、内部系统以及云来源。
在分布式和混合 IT 环境中,集中日志收集能够帮助简化流程,但不同日志源生成的日志格式差异很大,导致安全团队在日志事件关联以进行有效事件响应和调查时,需要花费大量时间构建基于日志模式的自定义查询。您可以利用本文提供的模式,构建可扩展且灵活的数据管道,通过 开放网络安全模式框架OCSF 转换日志数据,并将转换后的数据流入 Security Lake。
您可以配置 自定义源,将您的安全数据导入到 Security Lake。企业安全团队通常需要花费大量时间发现各种格式的日志源,并将其关联以进行安全分析。自定义源配置能够帮助安全团队将分散的日志源集中并统一格式,从而显著提高进行安全分析时的效率。Security Lake 中的安全数据会被集中和归一化为 OCSF 格式,并以开源的列式 Apache Parquet 格式进行压缩,以优化存储和查询效率。将日志源集中在一个地方并统一格式,可以显著改善安全团队在进行安全分析时的时效性。使用 Security Lake,您可以完全拥有存储在您账户中的安全数据,并享有完全的分析自由度。在详细讨论如何创建自定义源之前,了解 OCSF 核心模式是非常重要的,这将帮助您映射属性并构建所选自定义源的转换功能。
OCSF 是一种供应商中立的开源标准,旨在解决安全日志收集和分析中的复杂与异构问题。您可以根据 IT 环境、应用程序或解决方案的多种用例扩展和调整 OCSF 核心安全模式。截至本文撰写时,模式的最新主要版本为 v120,包含六个 类别:系统活动、发现、身份和访问管理、网络活动、查找和应用活动。每个类别的活动类型有不同的 类,每个类有一个独特的类 UID。例如,文件系统活动的类 UID 为 1001。
截至目前,Security Lake版本 1支持 OCSF v110。随着 Security Lake 继续支持 OCSF 的新版本,您可以继续使用本文中的模式。然而,您应该在使用过程中查看映射,以防您使用的类发生更改。
为了将日志数据导入 Amazon Security Lake,您需要满足以下先决条件。每种模式有相关于自定义日志源数据管道的特定先决条件:
AWS Organizations已在您的 AWS 环境中配置。 AWS Organizations 是一个 AWS 账户管理服务,提供账户管理和集中计费功能,您可以用来集中管理多个 AWS 账户。已激活 Security Lake 并配置 委托管理员身份。 打开 AWS 管理控制台,导航到 AWS Organizations。设置一个组织,创建一个 日志归档账户。日志归档账户将用作设置 Security Lake 的委托管理员账户。有关在多账户环境中部署完整的 AWS 安全服务的更多信息,请参见 AWS 安全参考架构。通过使用 AWS 身份和访问管理IAM角色配置 Security Lake 管理员访问权限。该角色应由您的安全团队用于管理 Security Lake 配置,包括自定义源。在您选择的区域于日志归档账户中启用 Security Lake。在配置 Security Lake 时,您可以定义收集目标,包括希望收集的日志源、要收集日志源的区域以及要分配给日志源的生命周期策略。 Security Lake 使用 Amazon S3 作为日志数据的底层存储。Amazon S3 是一个对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能。S3 被设计为可以几乎从任何地方存储和检索数据。Security Lake 在日志归档账户的每个收集目标区域中创建和配置单独的 S3 存储桶。在本文中,我们发布了 amazonsecuritylaketransformationlibrary 项目,以帮助映射自定义日志源。转化代码以 AWS Lambda 函数的形式部署。您可以在 解决方案库 中找到使用 AWS CloudFormation 的部署自动化。
使用转换库时,您应了解如何构建映射配置文件。映射配置文件保存从原始事件到 OCSF 格式日志的映射信息。转换函数基于映射文件中的属性构建 OCSF 格式日志,并将其流式传输到 Security Lake 的 S3 存储桶。
解决方案部署为四个步骤:
更新映射配置在 Security Lake 中添加自定义源部署日志转换基础设施更新默认的 AWS Glue 爬虫映射配置文件为 JSON 格式,供转换函数评估原始日志的属性并将其映射到相关的 OCSF 类属性。配置基于表 3 中识别的映射文件系统活动类映射,并扩展到过程活动类。文件通过 表示法标识需要从事件中评估的属性。
json{ customsourceevents { sourcename windowssysmon matchedfield EventId ocsfmapping { 1 { schema processactivity schemamapping { metadata { profiles host version v110 product { name System Monitor (Sysmon) vendorname Microsoft Sysinternals version v150 } } severity Informational severityid 1 categoryuid 1 categoryname System Activity classuid 1007 classname Process Activity typeuid 100701 time DescriptionUtcTime activityid { enum { evaluate EventId values { 1 1 5 2 7 3 10 3 19 3 20 3 21 3 25 4 } other 99 } } actor { process DescriptionImage } device { typeid 6 instanceuid UserDefinedsourceinstanceid } process { pid DescriptionProcessId uid DescriptionProcessGuid name DescriptionImage user DescriptionUser loadedmodules DescriptionImageLoaded } unmapped { rulename DescriptionRuleName } } } } }}
配置文件中的内容存储在 customsourceevents 键下。您必须保持 sourcename 的值与您在 Security Lake 中添加的自定义源的名称一致。matchedfield 是转换函数用于遍历日志事件的关键字。上面的示例中,迭代器1是 Sysmon 事件 ID,后面的数据结构是 OCSF 属性映射。
一些 OCSF 属性是对象数据类型,其值的映射基于事件签名,如 activityid。您可以在映射配置中如下表示这些属性:
jsonactivityid { enum { evaluate EventId values { 2 6 11 1 15 1 24 3 23 4 } other 99 } }
在上面的示例中,您可以看到 enum 和 evaluate 两个关键词。这些关键词告诉底层映射函数,结果将是根据 values 中定义的映射获取的值,而评估键是列出的 EventId,即 evaluate 键的值。您可以基于自己的自定义源和映射构建自己的转换函数,或者通过本文提供的函数进行扩展。

我们在本文中讨论的第一个模式是从混合来源如通过 System Monitor (Sysmon) 收集的微软 Windows 操作系统日志收集日志数据。Sysmon 是一个监控和记录系统活动的服务,能够将信息记录到 Windows 事件日志。它是客户在 Windows 操作系统环境中使用的日志收集工具之一,因为它提供了关于过程创建、网络连接和文件修改的详细信息。这些主机级信息在威胁狩猎场景和安全分析中至关重要。
该模式的解决方案使用 Amazon Kinesis 数据流 和 Lambda 来实现模式转换。Kinesis 数据流是一种无服务器流式服务,方便您在任何规模捕获和处理数据。您可以配置流消费者例如 Lambda 函数操作流中的事件并将其转换为需要的格式如 OCSF,以便分析而无需维护处理基础设施。Lambda 是一种无服务器事件驱动计算服务,您可以用它运行各种应用程序或后台服务的代码,而无需预配置或管理服务器。此解决方案将 Lambda 与 Kinesis 数据流集成,以在流中的事件上启动转换任务。
要从主机流式传输 Sysmon 日志,您使用 Amazon Kinesis Agent for Microsoft Windows。您可以在本地或云环境中运行在一组 Windows 服务器上安装此代理。
图1:Sysmon事件日志自定义源的架构图
图1展示了构建自定义源提取的服务互动。生成日志的服务器和实例运行 Kinesis Agent for Windows,将日志数据流式传输至 Kinesis 数据流,这将触发一个消费者 Lambda 函数。Lambda 函数根据配置文件中提供的映射,将日志数据转换为 OCSF 格式,并将转换后的日志数据放入 Security Lake 的 S3 存储桶。我们将在本文后面介绍解决方案的实现,但首先让我们回顾如何通过 Kinesis 数据流将 Sysmon 事件流映射到相关的 OCSF 类。您可以使用 AWS 无服务器应用模型AWS SAM 模板 部署基础设施。AWS SAM 是 AWS 命令行界面AWS CLI的扩展,增加了构建和测试使用 Lambda 函数的应用程序的功能。
Windows Sysmon 事件映射到不同的 OCSF 类。要构建 Sysmon 事件的转换,需要处理与相关 OCSF 类的事件映射。Sysmon 的最新版本v1514定义了 30 个事件,包括一个通用错误事件。
Sysmon 事件 ID事件详细信息映射的 OCSF 类1过程创建过程活动2进程更改了文件创建时间文件系统活动3网络连接网络活动4Sysmon 服务状态已更改过程活动5进程终止过程活动6驱动程序已加载核心活动7图像已加载过程活动8CreateRemoteThread网络活动9RawAccessRead内存活动10过程访问过程活动11FileCreate文件系统活动12RegistryEvent (对象创建和删除)文件系统活动13RegistryEvent (设置值)文件系统活动14RegistryEvent (重命名键和值)文件系统活动15FileCreateStreamHash文件系统活动16ServiceConfigurationChange过程活动17PipeEvent (管道创建)文件系统活动18PipeEvent (管道连接)文件系统活动19WmiEvent (检测到 WmiEventFilter 活动)过程活动20WmiEvent (检测到 WmiEventConsumer 活动)过程活动21WmiEvent (检测到 WmiEventConsumerToFilter 活动)过程活动22DNSEvent (DNS 查询)DNS 活动23FileDelete (文件删除归档)文件系统活动24ClipboardChange (剪贴板中新内容)文件系统活动25ProcessTampering (进程映像更改)过程活动26FileDeleteDetected (文件删除记录)文件系统活动27FileBlockExecutable文件系统活动28FileBlockShredding文件系统活动29FileExecutableDetected文件系统活动255Sysmon 错误过程活动表1:Sysmon 事件与 OCSFv110类的映射
首先,将 Sysmon 事件映射到相关的 OCSF 类,如表1所示,然后再将它们添加到用于转换库的映射配置文件中。这个映射是灵活的;您可以根据安全工程职能中定义的标准,选择将一个事件映射到不同的事件类。根据我们所做的映射,表1 指出, Sysmon 报告的绝大多数事件与 文件系统活动 或 过程活动 类对接。注册事件的映射更好地与 注册密钥活动 和 注册值活动 类对接,但这些类在 OCSF v
2026-01-27 14:59:24
2026-01-27 14:44:41
2026-01-27 14:29:58
2026-01-27 14:15:16
2026-01-27 14:00:33
2026-01-27 13:45:26
使用 Amazon SageMaker JumpStart 的 LLMs 进行信息提取 机器学习博客
使用 Amazon SageMaker JumpStart 的大语言模型进行信息提取关键要点大语言模型LLMs能够高效提取非结构化文本数据中的信息。在使用 Amazon SageMaker JumpS...
宣布即将对 AWS 安全令牌服务全球端点进行的更改 安全博客
AWS安全令牌服务全球端点即将变更关键要点AWS安全令牌服务STS将更新全球端点,以提高应用程序的可用性和性能。从2025年初开始,全球端点的请求将根据您使用的AWS区域进行处理,而不是仅限于美国东部...