
云端服务的运作相当複杂,尤其是有许多服务于背景运作,甚至有可能作为其他服务运作的其中一环,若是这些服务运作的方式不够安全,很有可能引发严重的后果。
资安业者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储存桶,而这个储存桶的名称也同样具备相同的特性,使得攻击者有机会用来发动攻击。