圖片來源: 

Aqua Security Software

資安業者Aqua上周揭露了一個曾經存在於AWS Cloud Development Kit(AWS CDK)的安全漏洞,此一漏洞可能允許駭客接管CDK用戶帳戶,但在AWS收到Aqua通知之後,已於今年10月將其修補,並估計約有1%的CDK用戶受到影響。

AWS CDK是個開源的基礎設施即程式碼(Infrastructure as Code,IaC)開發框架,它讓開發人員可透過自己熟悉的程式碼來定義雲端基礎設施,CDK可直接將這些程式碼轉換成AWS可解釋與部署的配置。

要使用AWS CDK之前,開發人員必須先初始化其環境,以替CDK的堆疊部署作準備,在此一程序中,AWS CDK會建立一個暫時的S3儲存桶來存放部署資產,該儲存桶的命名是唯一的、與使用者帳戶有關,而且是可預測的。因此,駭客只要知道目標對象的帳號ID,就能跨所有AWS區域替CDK建立暫存的S3儲存桶。

在駭客取得AWS CDK用戶的儲存桶之後,有兩個可能的情況,一是該儲存桶屬於新用戶,根本尚未被建立,因此此一新用戶在初始化期間要建立時就會出現錯誤,二是該儲存桶屬於舊用戶,而且已被該用戶移除(所以才能再被建立)。

就算AWS CDK用戶手動刪除了S3儲存桶,但系統在部署時仍會存取該儲存桶,因而讓駭客有機可趁,修改使用者上傳的範本,進而獲得目標帳戶的完整控制權。

Aqua分析了38,560個AWS帳戶,發現當中有2%安裝了CDK,並有10%帳戶及超過100個儲存桶可能受到上述攻擊,而AWS則說約有1%的CDK用戶受到影響。

在今年6月收到Aqua的報告後,AWS即著手改善,包括在初始化時添增一個新條件,確保它只信任用戶帳戶中的S3儲存桶,以避免CDK將資料傳送到不屬於初始化程序帳戶擁有的儲存桶;另也更新文件,鼓勵使用者客製化初始化時的資源,以客製化的Qualifier取代預設的hnb659fds。值得注意的是,使用今年7月發表的CDK v2.148.1或是更早的CDK版本仍然受到上述漏洞的影響。

Aqua建議開發人員應將自己的AWS帳戶ID視為機密,以免遭到鎖定或利用;使用IAM政策中的條件,來避免用戶或服務存取不可靠的儲存桶;以及不要使用可預測的儲存桶名稱。

熱門新聞

Advertisement