AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

如何使用 Amazon Macie 进行安全数据自动分类和用户行为监控

  • 2019-11-08
  • 本文字数:4703 字

    阅读完需:约 15 分钟

如何使用Amazon Macie 进行安全数据自动分类和用户行为监控

概述

当我们在 Amazon S3 中存储大量内容时,识别和分类其中潜在敏感数据可能会有点像在一个非常大的干草堆中找绣花针针,整个的过程是非常低效。那么能否有一种工具可以在数据加入到 S3 后就自动的识别敏感信息并自动进行分类?


同时在我们日常的工作中,访问数据的时间间隔及物理位置相对的固定。如果发生异常的事件,例如原来某个用户一天访问一到两个文件,但如果突然在某天访问超过一百个文件,能否由系统发出告警事件提醒相关人员进行相关检查,确保安全?


本文从如下几部分介绍 Amazon Macie 服务及主要功能,同时还列出常见使用场景,以及如何配置的简要步骤。希望能给大家带来帮助。

什么是 Macie

Amazon Macie 是一种支持人工智能技术的安全服务,可以帮助您通过自动发现、分类和保护存储在 AWS 中的敏感数据来防止数据丢失。Amazon Macie 使用机器学习来识别敏感数据 (例如,个人身份信息 [PII] 或知识产权),分配业务价值,提供此数据的存储位置信息及其在组织中的使用方式信息。


Amazon Macie 可持续监控数据访问活动异常,并在检测到未经授权的访问或意外数据泄漏风险时发出警报。

为什么要使用 Macie

对现存的海量文件进行自动的分类并且根据不同的分类制定不同的监控策略,一旦发生异常的访问需要得到及时的告警,是每个组织面临的挑战。


Amazon Macie 提供了简单高效并且安全的方案,Macie 通过使用机器学习来了解存储的内容和用户行为,同时提供可视化界面,展示安全分类,从而使客户能够专注于保护敏感信息,而不是浪费时间手工的处理。


Amazon Macie 内置检测个人身份信息(PII)或敏感个人信息(SP)的常见敏感信息的引擎,可以自动识别出 S3 存储文件是否包含例如个人身份信息(PII)或其他公司财报等敏感信息,在没有 Macie 之前,这样的工作都需要手工的处理或者使用第三方平台。而现在可使用 Macie 很容易解决上述问题。


Amazon Macie 持续监控数据和账户凭证 。 在发现可疑行为或对实体或第三方应用程序进行未经授权的数据访问时撤销访问或触发密码重置策略,来防范安全威胁。当 Amazon Macie 发出警报时,您可以使用预先在 Amazon CloudWatch 设置的规则发送告警,以便迅速采取行动,保护数据。

Macie 主要功能

Amazon Macie 首先功能分为两部分,一方面是使用自然语言处理(NLP)来理解数据,Macie 可以自动对您的 S3 桶中的数据进行分类。另外一个是使用机器学习理解用户访问数据的行为,同时利用动态分析数据访问模式的预测分析算法,并使用日常访问的用户行为数据不断的训练并优化模型。

Macie 主要功能

  • 自动化处理数据:分析,分类和自动处理数据,从现有的数据和访问日志分析出有规律的历史模式,用户认证数据,用户位置信息及时间信息。

  • 数据安全和监控: 主动监控 日志数据,检测到的异常情况,转发告警信息到 CloudWatch 事件或和 Lambda 以进行后续处理,例如自动修复安全漏洞或者发送邮件通知。

  • 主动预防的数据的丢失,提供即时保护,无需手动干预。

  • 可视化分析:提供存储数据的可视化详细信息。

  • 数据研究与报告:允许用户管理配置报告。

Macie 如何运作

在数据分类过程中,Amazon Macie 识别 S3 存储桶中的对象,并将对象内容流式传输到内存中进行分析。


当需要对复杂文件格式进行更深入的分析时,Amazon Macie 将下载对象的完整副本,并在短时间内保存,直到完成对象的全面分析。Amazon Macie 对数据分类的文件内容分析完毕后,它将立即删除存储内容,仅保留未来分析所需的元数据。


Amazon Macie 持续监控分析当前的用户行为习惯并以基础形成基线,例如敏感数据在哪个 IP 地址以及何时以什么样的频率被进行访问。随后 Macie 持续监控 CloudTrail 日志并训练机器学习所使用的模型,,一旦发现可疑的访问活动,Macie 可以及时发出告警。


示意图如下:


信息分类

Amazon Macie 已经定义好信息分类标准:


  • 配置合规性 – 与合规性内容策略,配置设置,数据日志记录以及补丁级别相关​。

  • 数据合规性 – 与合规性或安全控制内容的发现相关,例如存在个人身份信息或访问密钥。

  • 文件托管 – 与恶意软件,不安全的软件或攻击者的命令和控制基础架构相关的托管主机或存储服务。

  • 服务中断 – 可能导致无法访问资源的配置更改。

  • 恶意软件或活动- 潜在的恶意软件或活动。

  • 可疑访问 – 从风险异常的 IP 地址,用户或系统访问您的资源 。

  • 身份枚举 – 一系列 API 调用或访问,枚举系统的访问级别,可能指示攻击的早期阶段或受到破坏的凭据。

  • 特权升级 – 成功或不成功的尝试,以获得对通常受应用程序或用户保护的资源的高级访问,或尝试长时间访问系统或网络。

  • 匿名访问 – 尝试从 IP 地址,用户或服务访问资源,以隐藏用户的真实身份。 例如包括使用代理服务器,虚拟专用网络和其他匿名服务,如 Tor。

  • 开放许可 – 识别受潜在过度允许访问控制机制保护的敏感资源。

  • 位置异常 – 访问尝试敏感数据的异常和危险的位置。

  • 信息丢失 – 敏感数据的异常和冒险访问。

  • 凭证丢失 – 可能损害您的凭据。

告警严重级别

Macie 内置了 5 种告警信息级别


  • 严重(Critical) – 该级别可能导致信息机密性,完整性和可用性受到损害的安全问题。建议将此安全问题视为紧急情况,并实施立即的补救或加固措施。

  • 高 –该级别可能导致信息机密性,完整性和可用性受到损害的安全问题。建议将此安全问题视为紧急情况,并实施立即的补救或加固措施。

  • 中等(Medium) – 该级别可能导致信息机密性,完整性和可用性受到中等性损害。建议在下次更新服务期间修复此问题。

  • 低(Low) -该级别可能导致信息机密性,完整性和可用性受到低等性损害。建议您将此问题作为未来服务更新的一部分。

  • 信息(Informational) – 该级别警告只描述基础架构的特定安全配置详细信息。根据相关业务和组织目标,可以简单地记录这些信息或使用它来提高系统和资源的安全性。


注:严重(Critical) 和高(High)之间的主要区别:


产生严重(Critical)警报的事件可能导致大量资源或系统受到损害。


产生高(High)警报的事件可能导致一个或多个资源或系统受到损害。

开始使用 Macie

需要配置的 IAM 角色

创建身份访问管理(IAM)角色,为 Macie 提供对您的 AWS 帐户的访问权限。这些角色只需要创建一次,以便在所有地区使用。


我们以 Oregon 区域作为例子 ,可以通过启动下面列出的 URL 中找到的 AWS CloudFormation 堆栈模板来创建这些角色和所需的策略。


https://s3-us-west-2.amazonaws.com/us-west-2.macie-redirection/cfntemplates/MacieServiceRolesMaster.template

配置 Cloud Trail 服务

首先需要建立相应 IAM Role, 确保 Amazon Macie 能够访问 S3 及 CloudTrail,另外是要启动 CloudTrail 服务以对相关的 AWS API 操作进行分析。

开始使用 Macie 服务


添加需要管理的 S3 存储桶

需要在 Macie 中添加需要访问 S3 存储桶并对其中的文件进行统计分类。


步骤如下:









          文件分类

          在 Macie 中添加需要分析的 S3 存储桶后,Macie 会自动开始分析其中的文件,稍等一段时间后,进入 Macie 的 Dashboard 页面。


          在 Dashboard 中共提供 10 种视图,为了演示本文章仅仅展示其中的两个。


          S3 文件分类统计结果



          S3 文件分类统计详细结果


          用户行为分析

          根据 CloudTrail 的日志,Macie 自动分析所有 IAM user 的相关操作。根据 Macie 预先定义的规则,把 IAM 用户分为如下四类:


          • 白金:这类 IAM 用户或角色曾有管理员或 root 用户的高风险 API 调用的历史,例如创建用户,授权安全组入口或更新策略。 应对这类帐户进行重点监控。

          • 黄金:这类 IAM 用户或角色曾有创建与基础设施相关的 API 调用的历史,这些 API 调用标志其具有高级权限,例如创建实例或拥有向 Amazon S3 写入数据的权限。 这些帐户应密切监控。

          • 白银:这类 IAM 用户或角色曾大量中等风险的 API 调用的历史,例如 Describe 和 List 操作或对 Amazon S3 的只读访问请求。

          • 青铜:这些 IAM 用户或角色通常在 AWS 环境中执行较少量的 Describe 和 List API 调用。


          Macie 使用如下的界面展示用户行为分析。


          告警管理

          Macie 内置了 40 种告警规则,我们可以根据实际情况选择启用或者禁用该规则。


          下面我们选择级别为 严重(Critical) 的告警规则进行分析。



          从上图可知该告警的规则是 “如果 IAM Policy 设置 S3 存储桶可以被任何人可读,那么触发告警”, 告警样例如下:


          添加自定义告警

          Macie 不仅仅支持内置的告警规则设置,同时也支持自定义规则的定义。


          场景:


          根据 Macie 定义的规则,如果文档中包含 “merger, acquisition, divestiture, reorganization, consolidation, demerger, restructuring, rebranding, takeover, subsidiary” 关键字,那么该文档会被分类为 “Corporate Growth Keywords”的类别。


          现在假设用户往 S3 上传了具有上述关键字文档,可能存在信息泄漏的风险,需要发送告警严重级别为 “Medium”的告警。


          下面演示如何添加自定义告警







                Alert Title: Test Customer Alert


                Description: Test Customer Alert


                Category: 选择 Information Loss


                Query: themes:” Corporate Growth Keywords ”


                Index: 选择 S3 objects


                Min number of matches:1


                Severity:Medium


                Whitelisted Users: 不选










                        注:在 Alert 中定义最关键的部分是 Query, Macie 会把 Query 中的内容使用 JavaCC 转换成 Lucene Query。有关查询语法的更多信息,请参阅 Apache Lucene – Query Parser Syntax


                        如下是常见搜索的示例:


                        • 搜索任何不是源自 Amazon IP 地址的控制台登录:


                        eventNameIsp.compound:/ConsoleLogin:~(Amazon.*)/


                        • 公共 S3 存储中的 PII(Personally Identifiable Information)


                        filesystem_metadata.bucket:”my-public-bucket” AND (pii_impact:”moderate” OR pii_impact:”high”)

                        同 AWS 其他服务集成

                        Amazon Macie 可以同其他 AWS 服务集成。如下示例如何使用 CloudWatch 和 SNS 集成。具体演示如下:







                              更改 S3 元数据(Metadata)的保存周期

                              缺省条件下,Macie 保存 S3 元数据的周期是一个月,但可以系统支持该周期最长为 12 个月。更改步骤如下:


                              1. 进入 Macie Console

                              2. 点击 Integrations -> Choose retention duration for S3 metadata –> Select a range


                              总结

                              Macie 使用机器学习算法自然语言处理 S3 中存储的数据,并且使用上下文信息对信息进行分类,并给数据分配相应的业务价值标签。自动发现分类和保护存储在 AWS 中的敏感数据,同时持续检查 S3 桶中 PUT 请求的 CloudTrail 事件,并几乎实时自动对新对象进行分类。同时监控 CloudTrail 的 API 日志,识别出日常的用户行为模式,一旦 Macie 发现异常的行为,可以及时的发出告警。


                              通过 Macie,可以方便的实现数据安全自动化,及数据可视化和数据丢失防护。


                              作者介绍


                              刘春华,AWS 解决方案架构师,AWS 的云计算方案架构的咨询和设计,同时致力于 AWS 云服务在国内和全球的应用和推广,在大规模并发应用架构、无服务器架构,人工智能与安全等方面有丰富的实践经验。 曾任 IBM 云架构师,对企业应用迁移到云及应用系统改造有深入的研究。


                              本文转载自 AWS 技术博客。


                              原文链接:


                              https://amazonaws-china.com/cn/blogs/china/how-to-use-amazon-macie-for-security-data-automatic-classification-and-user-behavior-monitoring/


                              2019-11-08 08:001318

                              评论

                              发布
                              暂无评论
                              发现更多内容

                              人手一套的K8S命令集合,它来了!

                              wljslmz

                              云计算 Kubernetes 容器 8月月更

                              Groovy语境下的Map

                              FunTester

                              如何给玩偶建模并让它跳个舞?

                              HarmonyOS SDK

                              DAPP和APP有哪些区别?多链跨链NFT铸造挖矿dapp系统开发技术原理分析

                              开发微hkkf5566

                              增强分析在百度统计的实践

                              百度Geek说

                              数据库

                              以合规交易释放数据“红利”,合合信息旗下启信宝签约福建大数据交易所首批数商

                              合合技术团队

                              数据 峰会

                              微服务性能分析|Pyroscope 在 Rainbond 上的实践分享

                              北京好雨科技有限公司

                              Kubernetes 微服务 云原生

                              开源一夏|OpenHarmony之如何实现震动

                              坚果

                              开源 OpenHarmony 8月月更

                              Android进阶(十六)子线程调用Toast报Can‘t create handler inside thread that has not called Looper.prepare() 错误

                              No Silver Bullet

                              android 8月月更 toast

                              阿里大佬 推荐的 “ Spring Cloud Alibaba项目文档 ” 正式发布

                              冉然学Java

                              Java 微服务 Spring Cloud Alibaba

                              推荐一款微软出品的开发神器,体验不输IDEA!(含参考资料和项目源码)

                              收到请回复

                              面试 springboot 应届生 金九银十 java项目实战分享

                              《数字经济全景白皮书》银行业数字普惠金融发展与优化策略分析 发布

                              易观分析

                              金融 数字经济全景白皮书 易观分析

                              StarRocks 技术内幕 | 基于全局字典的极速字符串查询

                              StarRocks

                              数据库

                              昇思MindSpore 1.8:丰富的算法集与套件,实现高性能训练,降低部署门槛

                              科技热闻

                              终究还是错付了!这2种Python字符串格式化的写法已经被淘汰了,你是不是还在用?

                              程序员晚枫

                              Python 字符串 格式化

                              属实不赖!Alibaba开源GitHub星标114K微服务架构全彩进阶手册

                              冉然学Java

                              Java 阿里巴巴 开源 微服务 微服务架构

                              一文详解特权访问管理(PAM)

                              SEAL安全

                              安全 访问权限 访问管理 特权访问

                              连流量染色都没有,你说要搞微服务?

                              得物技术

                              架构 微服务 云原生

                              业务数据迁移上云的一些技术思考

                              京东科技开发者

                              MySQL 迁移 云数据库Redis

                              开源 | WLock:高可用分布式锁设计实践

                              开源 分布式 分布式锁

                              用Rust编写的Linux内核GPU驱动程序,或将到来

                              非凸科技

                              Linux gpu rust 编程语言

                              Vue3知识点梳理(一)

                              青柚1943

                              Vue3

                              MobPush丨iOS端SDK API

                              MobTech袤博科技

                              ios API MobTech袤博科技 mobpush

                              鄢贵海:DPU发展中的四个关键问题

                              硬科技星球

                              为什么不做APP而要做小程序

                              源字节1号

                              小程序开发

                              一文搞懂│mysql 中的备份恢复、分区分表、主从复制、读写分离

                              MySQL 高并发 经验分享 签约计划第三季 8月月更

                              Linux下玩转nginx系列(八)---如何使用upsync模块实现动态负载均衡

                              anyRTC开发者

                              nginx Linux 负载均衡 音视频 服务器

                              前端监控系列2 |聊聊 JS 错误监控那些事儿

                              字节跳动终端技术

                              APM 前端监控 火山引擎 JS错误

                              创新能力加速产业发展,SphereEx 荣获“中关村银行杯”『大数据与云计算』领域 TOP1

                              SphereEx

                              数据库 开源 架构 SphereEx Apache ShardingSphere

                              基于RocksDB实现高可靠、低时延的MQTT数据持久化

                              EMQ映云科技

                              物联网 mqtt RocksDB emqx 8月月更

                              五大数据安全保障措施看这里!

                              行云管家

                              信息安全 数据安全 企业安全 数据库审计

                              如何使用Amazon Macie 进行安全数据自动分类和用户行为监控_其他_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章