圖片來源: 

AWS

AWS二個月前修補了AppSync一個能使攻擊者冒充其他AWS租戶身分,並使用或入侵他人AWS資源的「混淆代理人」漏洞。

這項漏洞是由安全廠商Datadog 9月發現並通報,位於AWS的AppSync服務中。

AppSync為常用的開發工具,提供GraphQL及Pub/Sub API,可將多種來源,包括Amazon DynamoDB、RDS、AWS Lambda、HTTP API的資料整合。除了預設的資料源和解析器(resolver)之外,AppSync也讓開發人員得以直接呼叫AWS API,以便和沒有預建解析器的AWS服務整合,例如開發人員想建立GraphQL API和Amazon S3互動,可以直接在其生產環境設定AppSync。以S3為例,開發人員欲建立GraphQL API時,需先建立具S3權限的角色,等GraphQL API被呼叫後,就由AppSync扮演這角色而執行AWS API呼叫並解釋結果。

但從安全角度上,這就引發了「混淆代理人」問題(confused deputy),即一個權限較低的實體(如攻擊者)說服權限高的實體(如AppSync)代它執行行為。

原本AWS可驗證Amazon Resource Name(ARN)來防止AppSync發生被濫用的情形,ARN是AWS資源的獨立辨識代碼。在建立資料源時,GraphQL API會檢查傳入呼叫的ARN決定是不是同一個AWS帳號。若判定不同帳號,該API就會拋出錯誤代碼。而ARN是包含在GraphQL API的serviceRoleArn參數中。

研究人員發現的漏洞在於該API的「serviceRoleArn」參數若以不同大小寫的組合,例如以「servicerolearn」提供,就能繞過驗證。這使得不同帳號的人得以建立連到其他AWS帳號的AppSync資料源,攻擊者因而可藉此存取任何信任AWS AppSync的角色的資源。

研究人員指出,只要攻擊者能以釣魚信件騙取目標公司的AWS帳密,藉此漏洞建立AppSync API及資料源,只要指向目標AWS帳號下的某一角色即可。最終攻擊者即可取得目標公司資源的控制權。

研究人員於今年9月1日通報AWS後,後者很快證實並在5天後修補了AppSync服務的漏洞。

熱門新聞

Advertisement