2011 年 10 月 20 日
安全研究人員最近發現,簽章封裝技術和某些 AWS 服務使用的進階跨站點指令碼存在潛在漏洞。潛在漏洞已得到修正,並且沒有客戶受到影響。以下是研究結果的摘要,並提醒使用者正確進行驗證的最佳實務。完全實作 AWS 安全最佳實踐的客戶不容易受到這些漏洞的影響。
研究表明,SOAP 解析中的錯誤可能導致特製 SOAP 請求具有重複的訊息元素,及/或遺失正在處理的加密簽章。若發生這種情況,有權存取未加密 SOAP 訊息的攻擊者,可能會以另一個有效使用者的身分執行操作,並執行無效的 EC2 動作。例如,若攻擊者不當獲得 EC2 客戶先前產生的、預先簽署的 SOAP 請求,或客戶的公開 X.509 憑證,則其可能代表另一位客戶產生任意 SOAP 請求。
雖然很難獲得預先簽署的 SOAP 請求或 X.509 憑證,但研究人員表示,若客戶透過 HTTP 而不是 HTTPS 在受攔截的公共環境中傳送 SOAP 請求,則攻擊者可能會得逞,或將其 SOAP 請求的全部內容留在攻擊者可存取的位置 (例如,公共訊息論壇)。此外,安全研究人員還發現並報告了其他跨站點指令碼 (XSS) 漏洞,這可能已用於獲取客戶的公開 X.509 憑證。透過這種方式獲得客戶的公開 X.509 憑證,攻擊者即可代表客戶產生任意 SOAP 請求,從而利用上述漏洞。
SOAP 和 XSS 漏洞均已得到修正,並且廣泛的日誌分析已確定沒有客戶受到影響。
在此提醒,AWS 建議採取多種安全最佳實務來保護我們的客戶:
- 只需將 SSL 安全/HTTPS 端點用於任何 AWS 服務,並確保您的用戶端公用程式執行正確的對等憑證驗證。在所有經過身分驗證的 AWS API 叫用中,只有極少數使用非 SSL 端點,且 AWS 打算在將來取代非 SSL API 端點。
- 啟用並使用 Multi-Factor Authentication (MFA) 進行 AWS 管理主控台存取。
- 建立具有有限角色和責任的 Identity and Access Management (IAM) 帳戶,從而僅限存取那些帳戶特別需要的那些資源。
- 利用 IAM 來源 IP 政策限制,進一步按來源 IP 來限制 API 存取和互動。
- 定期輪換 AWS 登入資料,包括機密金鑰、X.509 憑證和金鑰對。
- 使用 AWS 管理主控台時,應盡量減少或避免與其他網站的互動,並遵循安全的網際網路瀏覽慣例,這與銀行業務或類似重要/關鍵的線上活動應採取的措施非常相似。
- AWS 客戶還應考慮利用除 SOAP 之外的 API 存取機制,例如 REST/Query。
AWS 感謝以下人員報告這些漏洞,以及與我們一起熱衷於改善安全性:
德國波鴻魯爾大學的 Juraj Somorovsky、Mario Heiderich、Meiko Jensen 和 Jörg Schwenk
NEC 歐洲的 Nils Gruschka
德國科隆應用科學大學的 Luigi Lo Iacono
安全性是我們的首要考量。我們始終致力於為客戶提供各種功能、機制與協助,以打造安全的 AWS 基礎架構。有關安全性的問題或疑慮可以透過 aws-security@amazon.com 告知我們。