

有研究人员指出,用户在AWS创建特定服务的过程中,系统于背景自动产生的S3存储桶名称,让攻击者有可乘之机,借由在不同地区抢先注册指定帐号,从而有机会对目标用户下手
云端服务的运作相当复杂,尤其是有许多服务于背景运作,甚至有可能作为其他服务运作的其中一环,若是这些服务运作的方式不够安全,很有可能引发严重的后果。
资安业者Aqua Security的研究人员于今年2月,找到6个AWS重大层级的漏洞,并指出这些漏洞可让攻击者破坏所有帐号,有可能导致帐号遭到接管,或是远程运行任意代码、数据外泄、曝露义感数据、引发服务中断的情形。对此,AWS获报后进行相关验证,并自3月至6月逐步完成修补。研究人员也在黑帽大会上公布相关的调查结果。
这些漏洞主要偏重于「影子资源」的层面,这类资源的来源,是用户在进行AWS服务的相关设置过程里,由系统在背景自动产生的资源,因此这类资源的运作状态,一般用户往往不会特别留意。
而对于漏洞的影响范围,研究人员指出涵盖多项服务,包括:CloudFormation、Glue、EMR、SageMaker、ServiceCatalog、CodeStar。用户首次在新地点创建服务的过程里,系统会自动创建具有特定名称的S3存储桶,这个名称包含用ID、服务名称、地区。
其中一个漏洞被称做Bucket Monopoly,起因是S3存储桶使用了容易被猜到的AWS帐号ID,由于这个ID原本不被视为敏感数据,而让攻击者有机可乘。
攻击者可借由上述存储桶名称可预测的规则,抢在目标用户之前在其他地区的数据中心创建存储桶并植入恶意代码,使得受害组织试图在新区域激活服务时,恶意代码便会不知不觉在组织的环境内运行,从而让攻击者创建管理员帐号并取得控制权。
研究人员指出,根据他们的分析,这种ID应被视为机密,因为攻击者一旦取得这类数据,就有机会进行相关攻击。就算攻击者无法直接破解控制用户帐号,但还是能借由这项信息,收集用户的各式数据。
针对这项问题,AWS已变更默认组态,经过调整的服务将不会自动产生存储桶的名称,若是存储桶名称已经存在,系统则会加上随机的识别码。
另一个研究人员公布的弱点被称为Shadow Resources,攻击者可在用户不知情的状态下,借此产生AWS S3的服务组件。
研究人员起初在CloudFormation察觉此事,攻击者可在目标用户尚未激活的AWS地区当中,使用现有的堆栈及名称创建帐号,来抢占资源,当受害者将工作负载转移到新区域,就有可能不知不觉使用攻击者控制的S3存储桶而受到控制。
这项弱点发生的原因在于,用户通过AWS管理主控台在CloudFormation创建堆栈的过程中,AWS会自动创建存放CloudFormation范本的S3存储桶,而这个存储桶的名称也同样具备相同的特性,使得攻击者有机会用来发动攻击。