前言
对象存储是云厂商提供的一种用来存储海量文件的分布式存储服务,可用于大规模存储非结构化数据。因为其具有高扩展性、低成本、可靠安全等优点,所以成为许多IT产业向云原生的开发和部署模式转变过程中不可或缺的一部分。
随着云上业务的蓬勃发展,作为云原生的一项重要能力,对象存储服务同样也面临着一系列的安全挑战。纵观近些年来的云安全漏洞,与对象存储服务相关的数据泄露事件比比皆是,以2017美国国防部承包商数据泄露为例:
“Booz Allen Hamilton公司(提供情报与防御顾问服务)在使用亚马逊S3服务器存储政府的敏感数据时,由于使用了错误的配置,从而导致了政府保密信息可被公开访问。经安全研究人员发现,公开访问的S3存储桶中包含47个文件和文件夹,其中三个文件可供下载,内部包含了大量“绝密”(TOP SECRET)以及“外籍禁阅”(NOFORN)文件。”
因此,全方面的了解关于对象存储服务的攻击手段以及途径,这将有效的帮助云平台以及云租户在面对这些风险时精准的识别风险并采取相应的防护措施,保护对象存储服务以及其中存储的数据安全。
对象存储服务攻防矩阵概览
腾讯安全云鼎实验室以公开的云厂商历史漏洞数据、安全事件,以及腾讯云自身的安全数据为基础,抽象出针对云的攻防矩阵,并于2021年9月26日西部云安全峰会上发布的《云安全攻防矩阵v1.0》中首次亮相。《云安全攻防矩阵v1.0》由云服务器、容器以及对象存储服务攻防矩阵共同组成。
本文将详细介绍《云安全攻防矩阵v1.0》中关于对象存储服务攻防矩阵部分内容,以帮助开发、运维以及安全人员了解对象存储服务的安全风险。
对象存储服务攻防矩阵
初始访问
云平台主API 密钥泄露
云平台主API 密钥重要性等同于用户的登录密码,其代表了账号所有者的身份以及对应的权限。
API 密钥由SecretId和SecretKey组成,用户可以通过API密钥来访问云平台API进而管理账号下的资源。在一些攻击场景中,由于开发者不安全的开发以及配置,或者一些针对设备的入侵事件,导致云平台主API 密钥泄露,攻击者可以通过窃取到的云平台主API 密钥,冒用账号所有者的身份入侵云平台,非法操作对象存储服务并篡改、窃取其中的数据。
对象存储SDK泄露
云平台所提供的对象存储服务,除了拥有多种 API 接口外,还提供了丰富多样的SDK供开发者使用。
在SDK初始化阶段,开发者需要在SDK中配置存储桶名称、路径、地域等基本信息,并且需要配置云平台的永久密钥或临时密钥,这些信息将会被编写在SDK代码中以供应用程序操作存储桶。但是,如果这些承载着密钥的代码片段不慎泄露,比