# 通过Security Lake构建你的安全数据湖

## 企业面临的挑战

* 不断增长的安全数据和维护难度
* 数据持久型和机密性的严格要求
* 基于角色细粒度权限控制的数据分析工具需求

## Security Lake的好处

### 1-跨企业/集团集中统一管理安全数据

安全信息和事件管理 (SIEM) 以及漏洞管理系统等多种工具收集、处理和分析海量数据。他们使用不同的分析系统针对不同的用例多次收集相同的数据，这种情况非常普遍。

它还可以由安全团队拥有，因此他们不再需要每次需要时都向不同的 IT 和软件开发团队申请数据访问权限。当安全人员拥有数据时，安全团队很可能会想出新的、创造性的方法来使用这些数据。

### 2-长期存储并且成本最优

由于隐蔽的网络攻击可能长达数月或数年不被发现，因此存储限制（如在线数据保留 90 天）会影响追溯取证调查的准确性和有效性。通过利用 S3 存储桶，亚马逊改变了数据保留的经济性，使长期数据保留更具吸引力。

### 3-自由选择分析工具

30% 的企业组织使用超过 15 种不同的工具进行安全操作，其中大多数使用自己专有的日志格式。这使得安全工程师们不得不承担数据规范化、转换和管理等任务。OCSF 可以通过创建一种安全数据通用语言来缓解这一瓶颈。

ESG 的研究显示，48% 的企业组织在其安全供应商提供的检测规则基础上开发了大量自定义检测规则。由于各个工具往往有自己的查询语言和/或检测规则语法，因此安全工具的杂乱无章又一次阻碍了它们的发展。

在开始分析数据之前，每个安全供应商都会提供一个分析工具。云检测和响应、XDR等工具，以及 Axonius、Brinqa、JupiterOne 和 Panaseer 等安全资产管理系统。这些工具将来都可以在 ASL 上运行。

## 什么是Open Cybersecurity Schema Framework (OCSF)

这是一种任何人都可采用的开放标准，以简化安全数据规范化。目前130 多家安全 ISV、政府、教育和企业机构参与其中、还有更多组织在使用 OCSF。使用OCSF可以实现<mark style="color:purple;">1）与供应商无捆绑的开源代码；2）数据摄取和数据归一更高效，节省时间；3）打破安全数据孤岛；4）可在任何环境、应用程序或第三方解决方案中中采用的开放式标准。</mark>

OCSF字段详细解释：<https://schema.ocsf.io/1.0.0-rc.3/>

[OCSF Guidelines and Conventions](https://schema.ocsf.io/1.0.0-rc.3/guidelines?extensions=)

Github <https://github.com/ocsf/ocsf-schema>

## Sagemaker的Jupyter Notebooks作为分析工具

使用Security Lake收集日志后，可以通过Sagemaker的Jupyter Notebooks作为分析工具分析日志中存在的安全风险，在发生一些安全事件比如AKSK泄漏可以排查问题的影响范围然后开展修复工作。

### 使用 Jupyter Notebooks作为分析工具的好处

在事件响应中使用 Jupyter Notebook有很多好处，包括:

* **标准化分析和响应：**&#x5728;事件响应中，经常会听到 "只有他/她知道怎么做 "或 "这全是我的想法，问我就行 "这样的话。使用 Jupyter 可以更轻松地记录、规范和共享如何执行分析和响应事件。
* **Jupyter 可以轻松处理大量数据：**&#x673A;器学习和数据科学专业人员都在使用 Jupyter，因此它可以处理大量数据。对于事件响应，这意味着您可以根据需要处理和分析数十亿条日志记录。
* **任何人都可以创建playbooks：**&#x53EA;要会写 Markdown，就能创建playbooks！它就像维基页面一样简单易用。虽然许多数据科学家使用 Jupyter 分析数据，但playbooks并不需要数据科学知识。
* **Jupyter Notebooks将文档和代码直观地结合在一起：Notebooks**由 Markdown 单元和 python 单元组成。python 单元输出代码结果，并创建图形、图表、按钮和其他可视化内容，以简化用户的分析。
* **在事件响应中，100% 自动运行的手册是不切实际的：**&#x5927;多数事件响应操作手册都要求用户在解读数据的基础上做出判断。runbooks可以自动执行数据收集步骤，让用户专注于解释数据。
* **Jupyter Notebooks非常直观：**&#x57FA;于单元格的代码编写方法非常直观、高效。您将以前所未有的速度编写 AWS SDK 代码。使用 Jupyter Notebooks不需要非常熟练的程序员。
* **支持 CLI：**&#x67D0;些 AWS CLI 命令（如 aws s3 sync）比 Boto3 SDK 更容易使用，只要在命令行前加上 bang（!），命令就会在 unix shell 中运行。
* **Notebooks可提交至源代码控制：**&#x5C06;Notebooks存储在 Git 中，以跟踪更改、批准拉取请求并集中存储运行手册。
* **Notebooks可导出为 HTML：**&#x4E;otebooks的结果可保存为 HTML 格式，从而保留每个runbook的执行历史。用户可以轻松地将手动任务的结果截图，从而简化合规性和跟踪工作。
* **Notebooks可导出到 Python：**&#x5982;果Notebooks是完全自动化的，不需要人工干预，则可将代码执行为 python 脚本，并在 lambda 函数或 SSM 自动化中运行。
* **Jupyter Notebooks可实现可预测的结果：**&#x901A;过将繁琐的任务自动化，用户可以专注于数据分析，从而获得更多可重复、可预测的结果。
* **Jupyter 是可扩展的：**&#x5982;果 Jupyter 不支持您所需的功能，那么它的生态系统中提供的插件可以支持大多数用例。如果这还不够，你还可以创建自己的插件！

## 参考资料

[6 ways Amazon Security Lake could boost security analytics](https://www.techtarget.com/searchdatamanagement/opinion/6-ways-Amazon-Security-Lake-could-boost-data-security)

—TechTarget Network

\[Github] [Amazon Security Lake Example Queries](https://github.com/awslabs/aws-security-analytics-bootstrap/blob/main/AWSSecurityAnalyticsBootstrap/amazon_security_lake_queries/ocsf/amazon_security_lake_queries_all.md#amazon-security-lake-example-queries)

\[Blog] [Generate machine learning insights for Amazon Security Lake data using Amazon SageMaker](https://aws.amazon.com/blogs/security/generate-machine-learning-insights-for-amazon-security-lake-data-using-amazon-sagemaker/)

\[Github] [cloudtrail\_demo\_queries](https://github.com/awslabs/aws-security-analytics-bootstrap/blob/main/AWSSecurityAnalyticsBootstrap/sql/dml/analytics/cloudtrail/cloudtrail_demo_queries.sql)
