云安全的新階段:云上暴露面的風險發現與治理
隨著企業廣泛采用敏捷開發,以及公有云應用發展趨勢變快,公有云上部署的各類服務數量和種類均明顯增多,通過對云上資產與服務進行測繪,如存儲桶、代碼倉庫和各類在云上部署的服務等,發現存在大量潛在的風險,需要及時應對和治理。
一、云計算發展的新階段
云計算當前已經成為新型基礎設施的關鍵支撐技術,在新冠疫情期間,支撐了大量遠程辦公、政務防疫、百姓生活等云端應用和移動應用。要分析云計算未來的趨勢,則需要回顧云計算過去的發展。需要注意的事,云計算在國內的發展具有鮮明的中國特色,跟國外同期不同,總體分為三個階段。
第一階段是 2018 年以前,主流的云計算場景多是虛擬化與私有云,部署在用戶的內部環境中,基本上是將物理服務器替換為虛擬機。此類云計算應用可以理解為傳統應用的虛擬化移植。
第二階段從 2018 年延續至今,隨著新型基礎設施的快速發展,容器技術的輕量、彈性等特性得到了重視,成為替代虛擬化的云計算重要支撐技術。同時,企業開發團隊大量使用敏捷開發和開發運營一體化(DevOps)模式,云原生(CloudNative)技術棧已經廣泛應用于各類云計算基礎設施中,形成了龐大的云計算生態系統,其中微服務、無服務器等成為首選的開發運營模式。此類云計算應用可以理解為云計算的中心從基礎設施轉向了敏捷開發與云化應用交付本身。
第三階段從 2020 年開始,隨著后疫情時代的移動辦公、應用云化產生的深遠影響,部署在公有云的應用將成為主流。邊緣側安全接入(SecureService Edge,SSE),管道側的軟件定義廣域網(SD-WAN),加上云端的軟件即服務(SaaS),將成為未來云計算的主流。公有云上豐富的云化應用和開放接口服務,將為大量第三方應用提供各類能力。
然而,公有云和 SaaS 服務的暴露面較私有網絡中的云服務更大,其產生的攻擊面和安全風險需更加重視。
二、云上暴露面帶來安全風險
當前云安全建設的驅動力主要是合規性要求,滿足等級保護 2.0 標準中云計算安全的要求,以及相關主管機構所頒布的云計算安全條例。然而,能力建設只是過程,并非目標。安全的本質是對抗,抵御各類威脅才是云安全的目標。隨著云計算的廣泛應用,可以預見國家支持的網絡安全威脅、各種網絡犯罪,以及大型攻防對抗活動都會瞄準部署在云平臺上的各類應用和服務。
按照攻擊鏈的理念,攻擊者通常會首先收集各類軟件版本和脆弱性的信息,構造相應的工具。聚焦于云的攻擊者會收集互聯網上暴露的云服務,進而發現其脆弱性并加以利用。因此,對云上攻擊面進行發現與緩解非常重要。
從暴露面和攻擊面的角度看,無論是云平臺,還是云上應用都可能存在被攻擊者利用的脆弱性。這主要有如下原因。
在 DevOps 中,開發團隊大量使用第三方開源軟件或軟件庫,或使用公開的容器鏡像,以提升其開發效率,但這些開源軟件或容器鏡像可能存在安全漏洞,或遭到惡意污染,由這些鏡像啟動的服務或使用了這些軟件的服務,都會存在安全風險。
傳統的單體應用中,核心應用會直接讀寫數據庫、消息隊列,而公有云應用多采用讀寫公有云提供的存儲服務或消息隊列服務,以實現彈性或按需擴展,而這些原本內部的服務如今暴露在互聯網上,任何人都可從互聯網上發現這些服務。事實上,如果云服務商的運維團隊沒有對這些服務做安全配置,攻擊者可以利用這些服務直接或間接進行攻擊。
很多開發者出于方便也會選擇自己在互聯網上搭建服務,同樣的,這些服務如果沒有合理配置,也會存在安全風險。
很多大型機構有自己的研發團隊開發軟件,或委托第三方機構進行開發,無論是企業自身的員工,還是第三方的員工,都可能無意識地在互聯網上部署或存放敏感代碼或數據,導致出現安全風險。
三、云服務對外暴露的風險分析
云平臺和應用均可能對外暴露,這些服務存在被攻擊者發現并利用的風險。有些云應用本身是對外提供服務的,但如存在配置錯誤或憑證失竊,則容易被攻擊者攻擊;而有些云應用和系統本不應對外提供服務,因為部署者無意識的錯誤導致對外暴露。下文介紹若干已發現云服務暴露導致的風險。
(一)存儲桶服務暴露與用戶錯誤配置導致數據泄露
主流公有云服務商都提供了對象存儲服務,如亞馬遜 AWS 提供了 S3 存儲桶服務,用于存儲用戶應用所需的文件、目錄或數據,提升應用的彈性能力,簡化了用戶部署系統的難度。
然而,由于有相當數量的用戶缺乏安全意識,沒有對存放的 S3 存儲桶添加訪問憑證,或使用弱口令賬戶,或將憑證存儲在互聯網公開位置(如下文提到的代碼倉庫),因而缺乏足夠的認證授權和訪問控制機制來保護存儲桶。咨詢公司Gartner 在 2019 年曾斷言,到 2022 年,至少 95%的云安全事故源于用戶的錯誤,而其中大部分是因為配置錯誤導致的。
綠盟科技統計了 2017 年以來發生的因 S3 存儲桶造成的 12 次數據泄露事件,其中 10 個事件涉及的 S3 存儲桶是公開訪問的,甚至在 2018 年的一起醫療數據泄露事件中,相關存儲桶竟然被設置為任何人均可讀寫,可見安全意識之薄弱。用戶錯誤配置隱私泄露風險之大,應引起足夠重視。
對象存儲服務只是公有云提供的若干存儲服務之一,其他如消息隊列服務、數據庫服務等均存在對外暴露和錯誤配置疊加的數據泄露風險。
(二)代碼倉庫暴露導致網站被攻破
從安全左移的角度看,代碼倉庫是介于開發階段與運營階段之間的重要邊界,然而由于安全意識薄弱,或大企業軟件供應鏈存在不可控的第三方參與,很容易出現安全風險,最典型的是企業 IT 系統所用的源代碼倉庫暴露在互聯網上。一旦攻擊者獲取這些源代碼,一方面可以分析程序的控制流與業務,找到脆弱處加以利用;另一方面可以發現代碼中存在的硬編碼憑證,進而訪問后臺系統、數據庫等重要服務,堂而皇之地進入內部網絡,或橫向移動,或竊取數據。
綠盟科技在測繪時,發現有一些代碼倉庫存在著類似未授權訪問的問題,除了源代碼泄露可能造成的危險外,代碼中還有許多敏感信息。如代碼倉庫的代碼中出現姓名、證書編號、身份證之類的個人隱私數據,有的盡管是測試代碼,但也說明了這種現象的存在。即便開發者在新版本中將敏感信息刪除,但代碼倉庫具有歷史版本的信息,攻擊者有可能檢查歷史版本去尋找潛在的信息或憑證。總之,代碼倉庫暴露的巨大風險不可不察。
(三)容器平臺暴露導致計算資源被控制
2018 年 5 月至 7 月,綠盟科技對全網的開源應用容器引擎 Docker 管理服務的 2375 端口進行檢索,發現在這段時間內,暴露在互聯網上的 2375端口地址達 337 個。暴露主機的分布覆蓋多達 29個國家,一方面說明了 Docker 已得到廣泛應用,另一方面也說明用戶對于 Docker 的使用并不規范,進行了非常危險的配置。
對這 337 個服務的 IP 地址的地理區域統計顯示,在全球范圍內,互聯網上暴露的 Docker 服務主要分布于中國、美國以及德國。其中,中國有197 個 IP 地址,占比 52%,美國有 65 個 IP 地址,德國有 19 個 IP 地址。用時,對這些 IP 的域名服務分布情況進行統計顯示,其中不乏某些知名公有云廠商的 IP 地址,亞馬遜因其市場份額較大,在此項位居首位。
2018 年 7 月,綠盟科技還分析了常用云管理平臺 Kubernetes 的服務暴露情況,對全網的 6443端口(Kubernetes 的應用軟件編程接口服務默認安全傳輸端口)進行掃描分析,發現這段時間暴露在互聯網上的 Kubernetes 服務達 12803 個。其中,美國以 4886 個暴露的服務占比 38%,位居第一,中國以 2582 個暴露的服務占比 20%,德國以1423 個暴露的服務占比 11%。國內互聯網上暴露的 Kubernetes 服務主機,主要存在于北京、浙江以及廣東等省市,這些服務大多部署在亞馬遜、阿里云等公有云上。其中的幾百個甚至都沒有設置登錄密碼,一旦被惡意操作,后果將不堪設想。
(四)TeslaMate 暴露導致車輛被竊密或被控制
TeslaMate 是一款可獲取特斯拉數據和日志的開源項目,車主可自主部署在公有云或其他互聯網服務器上,用于顯示特斯拉軌跡、電量等信息。雖然 TeslaMate 極大方便了特斯拉車主的生活,但如果車主在部署時沒有啟用認證,攻擊者則有可能發現暴露的 TeslaMate 服務,從而竊取該特斯拉車輛的軌跡、充電等敏感數據。
更危險的是,TeslaMate 會在數據庫中保存向特斯拉官方服務交互的憑證,如果攻擊者獲得了該憑證,則可通過該憑證向特斯拉服務發送控制指令,例如可發起遠程啟動請求,可能危害特斯拉車輛的行駛安全。事實上,已有有安全研究人員發現全球有超過 20 輛特斯拉可被控制。
四、云上攻擊面管理
從監管部門的角度,對云上風險進行治理非常必要,有助于確保重要數據和關鍵數據不外泄、重要基礎設施(包括政府站點服務、智能網聯車、工業互聯網等)正常運行,避免造成社會危害,以及避免各類伴生網絡攻擊和地緣政治沖突。但云上安全治理在未來一段時間內,涉及到云上資產與風險測繪、梳理云上資產歸屬,以及相關的治理體系和技術建設,將是一個較為長期、體系化的過程。
以上文的云上風險為例,特斯拉車主的身份定位是非常困難的。而代碼倉庫、S3 存儲桶或容器平臺,如果對其業務或數據,以人工智能或知識圖譜等技術,是有可能發現敏感數據,以及涉事機構或人員,繼而配合治理體系和流程,根據風險級別和影響范圍,逐步將相關系統或服務下線或進行改造。
從機構的角度,對自身相關的云上風險進行管理和緩解,是必須和可行的。Gartner 在云安全框架中將配置和管理面的安全統稱為云安全態勢管理(Security Posture Management,CSPM),其中最重要的,就是各類云服務對外暴露的管理面服務是否存在錯誤配置或弱訪問憑證等風險。如果再把數據面服務暴露的風險防護加上,即對云上的整體暴露的攻擊面進行管理,Gartner 又把這部分安全技術合稱為外部攻擊面管理(ExternalAttack Surface Management,EASM),并將該技術列入了 2022 年安全與風險管理趨勢中,可見其重要程度。而外部攻擊面管理,主要是持續測繪互聯網上各類資產與服務的暴露面,分析其面臨的攻擊面,特別是在攻擊者利用之前,及時發現并緩解潛在的風險。
五、總 結
隨著后疫情時代的到來,云上業務成為各大機構實現發展的必經之路。云計算的發展所帶來的開發、運營模式的變化,即有巨大的機會同時也存在巨大的風險。綠盟科技根據對云化趨勢的前瞻性技術洞察,發布了云化戰略“智安云”,幫助用戶在軟件棧、運營體系上云后,發現并管理暴露的攻擊面,持續進行治理和緩解風險,更好地防止各類安全事件或數據泄露,保障云上業務的安全性。