容器安全产品Aqua调研
前言
近年來(lái),隨著云計(jì)算的發(fā)展,企業(yè)數(shù)字化的進(jìn)程不斷加快,業(yè)務(wù)紛紛開始上云,云原生的概念最近兩年也是十分火熱,在新業(yè)務(wù)場(chǎng)景下也隨之產(chǎn)生了新的安全問(wèn)題,如k8s安全、devsecops、微服務(wù)安全、Service Mesh安全、容器安全等等,本文主要是對(duì)于容器安全產(chǎn)品——Aqua 的調(diào)研。
容器安全是近幾年比較熱門非細(xì)分領(lǐng)域,Gatner 在2020年把容器安全也放到了CWPP領(lǐng)域 ,國(guó)外出現(xiàn)了一批專門做容器安全的廠商,如 :Apcera、Aqua、StackRox和Twistlock等,國(guó)內(nèi)一些之前專注于主機(jī)層面安全問(wèn)題的廠商也在自家產(chǎn)品中加入了對(duì)docker容器的安全考慮(如:青藤云),以適應(yīng)客戶在混合云場(chǎng)景下的安全需求,也出現(xiàn)了專注于容器安全的初創(chuàng)型公司(如:小佑科技)。
本文主要是基于個(gè)人粗淺的認(rèn)識(shí),對(duì) Aqua 的容器安全產(chǎn)品做一點(diǎn)介紹。Aqua 誕生于2015年,短短5年已經(jīng)完成了A、B、C、D輪融資(截止2020年5月),以容器安全起家,專注于云原生場(chǎng)景下的安全問(wèn)題,從官網(wǎng)大致能看出,Aqua 的核心產(chǎn)品是 Aqua Platform ,由容器安全模塊,CSPM 云安全管理平臺(tái)、k8s安全模塊、容器/鏡像安全模塊、Serverless 安全模塊、VM安全模塊等組成,幾乎涵蓋了云原生場(chǎng)景下全生命周期的安全問(wèn)題,這次主要討論的只是是其中一個(gè)子模塊——容器安全。
一、產(chǎn)品理念
產(chǎn)品理念可以從官網(wǎng)、白皮書、市場(chǎng)宣傳策略來(lái)看,從中能發(fā)現(xiàn)產(chǎn)品想向我們傳達(dá)什么、突出什么。
Aqua 容器安全部分的產(chǎn)品理念是:使用業(yè)界最先進(jìn)的容器安全解決方案,保障基于容器的云原生應(yīng)用從開發(fā)到運(yùn)行的全生命周期安全。
如下是官網(wǎng)宣傳的幾個(gè)點(diǎn):
Risk and Compliance 風(fēng)險(xiǎn)與合規(guī)
Mitigate Attacks 威脅緩解
Cross-Platform Security 跨平臺(tái)安全
1、Risk and Compliance——風(fēng)險(xiǎn)與合規(guī)
Aqua 會(huì)在pipline 的 CI 階段對(duì)容器鏡像進(jìn)行掃描,將安全問(wèn)題前置,在構(gòu)建階段就盡可能地減少潛在攻擊面,并且具備日志審計(jì)和取證功能,對(duì)于容器和k8s運(yùn)行過(guò)程中的異常行為信息都能詳細(xì)記錄;對(duì)于強(qiáng)監(jiān)管的金融行業(yè)來(lái)說(shuō),Aqua 的風(fēng)險(xiǎn)視圖模塊不僅能形象地展示出集群的風(fēng)險(xiǎn)情況,還詳細(xì)展示了運(yùn)行部署中的漏洞以及所有出入站的網(wǎng)絡(luò)連接,很好地滿足PCI-DSS中的第六和第十條規(guī)定。
2、Mitigate Attacks——緩解供應(yīng)鏈攻擊和 0 day 漏洞攻擊
Aqua 通過(guò)運(yùn)行時(shí)保護(hù)和異常行為分析,對(duì)攻擊行為進(jìn)行及時(shí)阻斷,保護(hù)工作負(fù)載的正常運(yùn)行。
3、Cross-Platform Security——跨平臺(tái)兼容能力
Auqa 支持多種容器運(yùn)行環(huán)境: Window、linux、VM、裸金屬以及一些 Container-as-a-Service 產(chǎn)品(如 AWS Fargate 、Azure Container Instances),甚至是 VMware 的 Tanzu 平臺(tái)(把虛擬機(jī)和Kubernetes結(jié)合起來(lái),對(duì)虛擬機(jī)和容器以及物理機(jī)統(tǒng)一進(jìn)行管理)。
二、產(chǎn)品功能
構(gòu)建階段CI/CD鏡像掃描
鏡像動(dòng)態(tài)分析
靈活的鏡像保證策略
風(fēng)險(xiǎn)視圖
漏洞防護(hù)
采用Drift Prevention實(shí)現(xiàn)運(yùn)行時(shí)保護(hù)
行為分析
負(fù)載防火墻
K8s Secrets 保護(hù)
審計(jì)和取證
1、鏡像掃描
Aqua支持在CI build 階段以及容器build后,依據(jù)實(shí)時(shí)更新、類型豐富的漏洞庫(kù)信息,對(duì)惡意軟件、敏感信息、OSS license 及 安全配置等問(wèn)題進(jìn)行掃描,分別展示出每個(gè)鏡像高、中、低不同等級(jí)的漏洞情況。
2、容器運(yùn)行時(shí)的威脅分析
攻擊者們總是在不斷嘗試著如何對(duì)容器發(fā)起攻擊,如 挖礦、憑據(jù)竊取、數(shù)據(jù)盜取、利用容器發(fā)起DDOS攻擊等等。鏡像掃描是十分必要的一類工具,然而靜態(tài)掃描對(duì)于高級(jí)惡意軟件是個(gè)盲區(qū),需要有一種方法來(lái)評(píng)估容器鏡像中的已知和未知風(fēng)險(xiǎn),由此產(chǎn)生了運(yùn)行時(shí)(runtime)檢測(cè)方案。Aqua 有一個(gè)基于沙箱的解決方案——Aqua DTA,能夠?qū)θ萜髟谶\(yùn)行態(tài)存在的安全風(fēng)險(xiǎn)進(jìn)行檢測(cè)和分類,包括:
容器構(gòu)建階段提前識(shí)別安全風(fēng)險(xiǎn)
Aqua DTA會(huì)從注冊(cè)表和CI構(gòu)建管道掃描鏡像, 防止在構(gòu)建階段引入惡意鏡像。
部署前檢測(cè)
鏡像部署前會(huì)先在安全沙箱中運(yùn)行,以檢測(cè)例如容器逃逸、反彈shell、惡意軟件、后面植入等威脅。
保護(hù)容器應(yīng)用免受攻擊
Mitigate the risks of data theft, credential theft, using containers for DDoS, and cryptocurrency resource abuse targeted by Advanced Persistent Threats and polymorphic malware.
緩解容器受到例如 DDos(利用容器發(fā)起)、挖礦、高級(jí)威脅、惡意軟件等威脅。
3、靈活的鏡像保證策略(image assurance policies)
Aqua的鏡像保證策略采用了靜態(tài)和動(dòng)態(tài)檢測(cè)結(jié)合的方法,幫助判斷哪些鏡像能通過(guò)pipline流程,build并運(yùn)行在你的集群或主機(jī)上;鏡像保證策略是一些檢測(cè)項(xiàng)的集合,包含漏洞評(píng)分/嚴(yán)重程度、惡意軟件嚴(yán)重程度、敏感數(shù)據(jù)、root特權(quán)或超級(jí)用戶權(quán)限使用等,通過(guò)類似Dashbord的方式,詳細(xì)展示出鏡像各監(jiān)測(cè)項(xiàng)的安全狀況 。
4、k8s 集群風(fēng)險(xiǎn)視圖
https://blog.aquasec.com/kubernetes-security-risk-explorer
當(dāng)你的工作負(fù)載運(yùn)行在k8s上時(shí),比較困難的是難以知道安全GAP點(diǎn)具體在哪里,不能直接展現(xiàn)出集群上面的安全隱患;devsecops團(tuán)隊(duì)面對(duì)海量的告警不知從哪下手 ,而 Aqua Risk Explorer 正適用于這種場(chǎng)景,它能夠基于集群的維度,實(shí)時(shí)、可視化地展示 K8s 集群中的安全風(fēng)險(xiǎn),并給出優(yōu)先級(jí)建議。
Aqua Risk Explorer 是k8s集群的動(dòng)態(tài)風(fēng)險(xiǎn)地圖,給出了集群、主機(jī)、容器、服務(wù)等節(jié)點(diǎn)間的邏輯示意圖,對(duì)每個(gè)風(fēng)險(xiǎn)項(xiàng)提供了安全風(fēng)險(xiǎn)評(píng)分,它展示了namespaces、deploymens、node(hosts)、容器及組成容器的鏡像風(fēng)險(xiǎn)情況,還有 namespaces 之間的網(wǎng)絡(luò)連接及其安全風(fēng)險(xiǎn)評(píng)分。
對(duì)于每個(gè)deployment,風(fēng)險(xiǎn)視圖展示了build容器的鏡像以及這些鏡像存在的安全風(fēng)險(xiǎn),點(diǎn)擊下鉆能看到風(fēng)險(xiǎn)的詳細(xì)情況以及緩解措施。
隨著組織逐漸轉(zhuǎn)向更大規(guī)模的Kubernetes部署,對(duì)其動(dòng)態(tài)變化的風(fēng)險(xiǎn)進(jìn)行持續(xù)監(jiān)控、實(shí)時(shí)可見(jiàn)變得至關(guān)重要,Risk Explorer 這一功能夠很好的滿足這樣需求。
5、vShield(Vulnerability Shield)
容器鏡像中經(jīng)常存在各種已知的漏洞,由于安全人力等各種原因難以及時(shí)完全地徹底修復(fù),為了防止漏洞被攻擊惡意利用,vShield 提供了一種能力:在無(wú)需修改應(yīng)用代碼的情況下,非入侵式的、自動(dòng)依據(jù)漏洞優(yōu)先級(jí)阻斷漏洞利用行為,『It acts as a virtual patch to prevent the exploitation of a specific vulnerability and provides visibility into such exploitation attempts. 』,能夠阻斷并且提供對(duì)這種惡意攻擊行為的可見(jiàn)性,工作 起來(lái)就像 “虛擬補(bǔ)丁”似的,應(yīng)該類似RASP,起到運(yùn)行時(shí)防護(hù)的作用,一旦發(fā)生攻擊能立刻報(bào)警并阻斷。
6、Drift Prevention and Runtime Policies
根據(jù)鏡像的數(shù)字簽名,Aqua通過(guò)比較容器鏡像相對(duì)于其原始鏡像是否發(fā)生變化來(lái)判斷是否遭受到了攻擊。這種特性可阻止包括 0 day攻擊在內(nèi)的不少攻擊向量;另外,runtime 運(yùn)行時(shí)檢測(cè)能夠發(fā)現(xiàn)和阻斷可疑行為,例如端口掃描、異常IP連接 以及拒絕服務(wù)攻擊等。
7、容器行為分析
Aqua的行為分析能力使用先進(jìn)的機(jī)器學(xué)習(xí)技術(shù)來(lái)分析容器的行為,包括文件訪問(wèn)、網(wǎng)絡(luò)訪問(wèn)、卷掛載、系統(tǒng)調(diào)用等,減少了容器的攻擊面,針對(duì)特權(quán)提升提供了另一層防御。
8、負(fù)載防火墻
Aqua通過(guò)基于應(yīng)用程序標(biāo)識(shí)和上下文將容器網(wǎng)絡(luò)限制在規(guī)定范圍內(nèi)來(lái)限制攻擊影響擴(kuò)大,Aqua 的負(fù)載防火墻能夠自動(dòng)的發(fā)現(xiàn)網(wǎng)絡(luò)連接并且給出對(duì)應(yīng)的策略規(guī)則,基于服務(wù)特征、url、Ip等僅允許合法連接,對(duì)未授權(quán)或異常連接報(bào)警和阻斷,Aqua 負(fù)載防火墻支持和K8s網(wǎng)絡(luò)插件(如Weave和Flannel)以及服務(wù)網(wǎng)格(如Istio)同時(shí)工作。
9、k8s Secret 保護(hù)
K8s Secret 對(duì)象
Secret 對(duì)象類型用來(lái)保存敏感信息,例如密碼、OAuth 令牌和 SSH 密鑰等,這樣的信息可能會(huì)被放在 Pod 規(guī)約中或者鏡像中。 用戶可以創(chuàng)建 Secret,同時(shí)系統(tǒng)也創(chuàng)建了一些 Secret。Kubernetes Secret 默認(rèn)情況下存儲(chǔ)為 base64-編碼的、非加密的字符串。 默認(rèn)情況下,能夠訪問(wèn) API 的任何人,或者能夠訪問(wèn) Kubernetes 下層數(shù)據(jù)存儲(chǔ)(etcd) 的任何人都可以以明文形式讀取這些數(shù)據(jù)。
通過(guò)對(duì) secrets 在傳輸、靜止?fàn)顟B(tài)加密,Aqua 能夠在容器運(yùn)行階段保證 secrets 的安全,secrets 存儲(chǔ)在內(nèi)存而非硬盤中,僅當(dāng)容器需要使用它是才對(duì)容器可見(jiàn);和 secrets 管理工具如 HashiCorp, CyberArk, AWS KMS or Azure Vault 等集成,并且對(duì)于用戶來(lái)說(shuō)無(wú)需重啟容器,就能實(shí)現(xiàn)對(duì) secrets 的更換、廢棄 等操作,并且整個(gè)過(guò)程保持對(duì)用戶透明可見(jiàn),通過(guò)Aqua還能看見(jiàn)哪些 secrets 是正在被使用的、以及被哪些容器使用。
10、取證與審計(jì)
Aqua 會(huì)從鏡像、容器、編排工具、主機(jī)等層面實(shí)時(shí)收集數(shù)據(jù),提供日志類型的數(shù)據(jù)流到 SIEM 等分析監(jiān)控工具中,當(dāng)發(fā)現(xiàn)有違反安全策略的行為,Aqua就會(huì)收集 用戶上下文信息、k8s上下文信息(namespace、node、pod)、鏡像以及注冊(cè)表上下文等源數(shù)據(jù)信息,以便安全人員能及時(shí)定位威脅。
三、最后
這是一篇存貨文章了,現(xiàn)在來(lái)看存在一些不足:1)對(duì)產(chǎn)品的認(rèn)識(shí)不夠、(技術(shù)角度)分析不夠深入;2)并且本篇文章僅從單一產(chǎn)品角度來(lái)看,沒(méi)有橫向針對(duì)同類型產(chǎn)品做比較;3)云相關(guān)的知識(shí)需要補(bǔ)充學(xué)習(xí)
總結(jié)
以上是生活随笔為你收集整理的容器安全产品Aqua调研的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: OpenCL学习笔记(三):OpenCL
- 下一篇: 淘宝知识汇总1