雲端架構

組態設定錯誤突增風險 登入憑證管理不當導致資料外洩

雲端架構複雜又環環相扣 謹慎方能抵禦資安威脅

雲端工作負載或雲端應用程式可能因為各種原因而暴露於駭客攻擊的風險當中,包括組態設定錯誤、技術使用不當、缺乏雲端系統相關的操作和防護經驗,有時甚至單純只是因為開發人員或雲端工程師的疏失。對於才剛開始駕馭雲端平台及服務的 IT 人員來說,資安可說是一項艱難的任務。

 

隨著雲端服務的普及率不斷成長,企業機構務必了解如何保護自己的雲端環境。這份研究探討了一些雲端經常遭遇的威脅,提供具體的分析建議來讓企業機構更了解該如何因應這些威脅。

雲端的普及率正在穩定持續成長,不僅小型企業紛紛尋找更具成本效益的方案來取代實體IT基礎架構,就連大型企業也希望能善用雲端的彈性效益。但企業卻因而面臨了一項挑戰(尤其是剛開始移轉至雲端的企業)──對雲端的運作方式以及雲端與純企業內環境的差異不熟悉。

企業的雲端通常不只由單一環境所構成,而是結合了各種不同的服務供應商,而且經常還保留了實體資料中心。類似的挑戰也出現在企業資安方面,有些資安風險來自於雲端部署環境的防護不足,有些則是因為不夠熟悉雲端服務的組態設定細節所引起。雲端工作負載或雲端應用程式可能因為各種原因而暴露於駭客攻擊的風險當中,包括組態設定錯誤、技術使用不當、缺乏雲端系統相關的操作和防護經驗,有時甚至單純只是因為開發人員或雲端工程師的疏失。雲端系統的各項元件在許多方面都環環相扣,因此不易釐清明確的潛在攻擊途徑。對於才剛開始駕馭雲端平台及服務的IT人員來說,資安可說是一項艱難的任務。

在Trend Micro Research發表的「解構錯綜複雜的雲端資安威脅」(Untangling the Web of Cloud Security Threats) 白皮書中,列舉了一些企業在移轉至雲端或採用雲端服務之後可能遭遇的威脅和風險。我們發現,不論是哪一種雲端服務或平台,雲端資安最主要的問題之一就是組態設定錯誤,此問題不論是訂閱雲端服務的企業或是使用雲端式軟體的使用者都會受到影響。


可公開寫入的Amazon S3儲存貯體

Amazon Web Services(AWS)是當今雲端產業的龍頭之一,提供了多樣化的服務。在所有AWS服務當中,最熱門的莫過於Amazon Simple Storage Service(Amazon S3),一些全球知名的企業如Netflix、Reddit和Pinterest皆採用此儲存服務。

我們研究Amazon S3儲存貯體 (Bucket)過程中發現到一種普遍的現象,許多企業機構的儲存貯體是設定成可公開寫入的狀態。像這樣的組態設定錯誤,會讓未經授權的使用者也能寫入儲存貯體。洛杉磯時報(L.A.Times)就曾發生過一個知名案例,該報之前有某個網路存取控管名單(ACL)竟然允許任何人都能寫入其「犯罪專題網站」所使用的儲存貯體。駭客因而在其網站的JavaScript程式碼當中插入虛擬加密貨幣挖礦程式。

此外,根據趨勢科技Smart Protection Network全球威脅情報網從Akamai蒐集到的監測資料也顯示,2019年發生了多起因儲存貯體設定成可公開寫入而使得網站遭到攻擊的案例,有些攻擊在網站上插入了惡意程式碼,有些則是外洩了網站表單上的資料。另一個問題是有些Amazon S3儲存貯體內竟然含有惡意檔案,其中有許多儲存貯體是使用舊式傳統路徑名稱來指定,換句話說,就是這些儲存貯體是使用通用的Amazon S3主機名稱,而非使用虛擬主機指定方式,也就是將儲存貯體名稱包含在主機名稱內。這樣的作法會造成資安過濾上的困難,因為如果為了攔截某個惡意網站而擋掉某個以路徑方式指定的主機名稱,就會連同一些非惡意的網站也擋掉。

容器組態設定錯誤

雲端第二項最重要的服務就是運算服務,而目前最夯的是容器技術。除了雲端本身之外,容器近幾年來的普及率也相當高。Docker、Kubernetes和AWS Lambda之類的軟體都在促進容器技術的發展,為希望簡化開發營運的企業提供了輕量化、高效率的雲端部署模式。不過,組態設定上的疏失和錯誤卻也相當普遍,駭客因而有機可乘,透過這些組態設定錯誤來入侵系統。

Docker

目前Docker使用者最苦惱的問題就是暗藏虛擬加密貨幣挖礦程式的不肖容器氾濫,其原因通常是因為Docker容器暴露在網際網路上所引起。這些挖礦程式會讓被感染的系統效能嚴重受到影響,如果容器是使用會自動擴充的雲端運算實體,甚至會因為CPU異常滿載而使得費用增加。 駭客有許多技巧可以將挖礦程式注入暴露在外的Docker伺服器。最簡單的方式就是直接使用含有挖礦程式碼的映像來安裝挖礦程式。另一個常見的手法是經由像Ubuntu這類流通廣泛的基底映像,在開機階段安裝挖礦程式。

AWS Lambda

AWS Lambda屬於無伺服器事件導向流程,可為一些不常用到的應用程式提供兼具輕量化與成本效益的解決方案。人們對於Lambdas經常有個錯誤的迷思就是駭客無法直接取得其功能名稱,因此不會遭到攻擊。這項迷思經常導致功能在實作時缺乏適當的安全認證機制。

但其實駭客是有辦法透過各種管道找到Lambda,例如監聽網路流量,或者檢視網站的原始程式碼來找出網站是否使用了Lambda以及API閘道。因此,如果Lambda缺乏安全認證機制,就有可能導致敏感資訊洩漏。除此之外,隨開發人員撰寫程式的方式而定,許多以Python開發的Lambda功能在收到錯誤的輸入參數時,都會列出堆疊追蹤資料,這就使得駭客有辦法掌握一些Lambda建置環境的技術細節。

Kubernetes

Kubernetes是一個開放原始碼容器協調平台,用來管理容器工作負載。2019年1月,我們透過Shodan搜尋引擎在網際網路上找到了32,000個暴露在外的Kubernetes伺服器。如同其他組態設定錯誤問題一樣,任何Kubernetes服務或其中的元件如果暴露在網路上可供大眾存取,那就可能遭到惡意攻擊。

Kubelet

Kubernetes使用一種名為「Kubelet」的次級元件API來管理每個節點內的容器。在Kubernetes 1.10版之前,Kubelet 對外的連接埠位於10255(資料埠)和10250(控制埠)。這兩個連接埠都有遭到攻擊的可能,儘管控制埠遭到攻擊的情況顯然較為常見(例如被用來安裝虛擬加密貨幣挖礦程式),但資料埠若遭到攻擊卻可能造成敏感資料外洩。

etcd

Etcd是一個分散式複製「機碼/數值」組合儲存庫,這是Kubernetes的主要資料儲存庫,負責保存Kubernetes安裝環境的組態設定,以及提供服務搜尋所需的後端儲存。除了Kubernetes外,其他應用程式如CoreDNS和Rook也會用到etcd。由於etcd扮演的是資料儲存庫的角色,因此若暴露在外的話很可能會讓敏感資料外洩,包括伺服器和應用程式所使用的登入憑證。我們透過Shodan搜尋引擎在網路發現了2,400個暴露在外的etcd伺服器,意味著有一些Kubernetes和其他軟體暴露在網路。

登入憑證管理不當

登入憑證是雲端運算最重要但卻經常遭到忽視的一個環節。由於企業無法像保護資料中心那樣採取實體安全措施來保護雲端系統,因此登入憑證的安全性便顯得格外重要。保護登入憑證的挑戰之一,就是許許多多需要存取資料和其他資源的流程都需要安全認證。這表示使用者務必妥善保管資料和登入憑證,以防止外洩。

程式設計師經常犯的一個錯誤就是不小心將登入憑證儲存到GitHub這類公開的儲存庫當中。網路上分享的程式碼片段經常可以看到像API金鑰這樣的敏感資料,讓歹徒有機會盜取登入憑證對應的使用者帳號。而被盜的帳號還可進一步用於各種不當用途,例如竊取客戶資料然後拿去地下市場販售。 還有一個問題是,我們發現許多經驗不足的程式設計師經常被一些錯誤的雲端教學所誤導,直接將登入憑證寫死在程式碼當中。這樣一來,萬一程式被發佈到公開的儲存庫,那麼任何人都能輕易取得這個登入憑證。

隨著雲端服務日益普及,企業機構必須徹底了解自己將面臨何種資安威脅,並且做好萬全的準備來確保雲端系統的安全。如果沒有嚴密的安全措施,雲端的效益就無法徹底實現。這份研究報告所分析的威脅雖未涵蓋雲端所有潛在的威脅和風險,但卻已囊括了最重要的一些問題。這對需要了解雲端架構以及擬定雲端防護策略的企業IT和資安人員來說,尤其重要。

詳細報告內容可至「https://blog.trendmicro.com.tw/?author=1」下載「解構錯綜複雜的雲端資安威脅(Untangling the Web of Cloud Security Threats)白皮書」,白皮書中深入分析了本文探討的各項威脅這報告深入分析了本文探討的各項威脅並且提供如何防範的建議。

<本文作者:趨勢科技全球技術支援及研發中心 本文出自趨勢科技資安部落格,是由趨勢科技資安威脅研究員、研發人員及資安專家全年無休協力合作,發掘消費者及商業經營所面臨層出不窮的資安威脅,進行研究分析、分享觀點並提出建議。>

 


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!