[余航 王帥 金華敏]
云原生以快速部署、平滑遷移、穩(wěn)定運(yùn)維、彈性可伸縮等技術(shù)優(yōu)勢,逐漸成為企業(yè)數(shù)字化轉(zhuǎn)型的核心,在幫助企業(yè)降本增效的同時,釋放出巨大的生產(chǎn)能力。但對于大多數(shù)企業(yè)而言,云原生是一種全新理念,為了充分利用和發(fā)揮云原生彈性以及分布式優(yōu)勢,企業(yè)的組織架構(gòu)、基礎(chǔ)設(shè)施、業(yè)務(wù)流程、應(yīng)用開發(fā)甚至思想必須進(jìn)行從上到下的變革[1],因此企業(yè)擁抱云原生的過程中必然會面臨多方面的挑戰(zhàn)。
開發(fā)遷移困難:目前企業(yè)大量的系統(tǒng)仍然采用傳統(tǒng)系統(tǒng)結(jié)構(gòu),需要重構(gòu)才能適應(yīng)云原生的場景,對大規(guī)模系統(tǒng)而言,整個重構(gòu)和遷移過程極為漫長,導(dǎo)致企業(yè)系統(tǒng)架構(gòu)長時間處于混合狀態(tài),即傳統(tǒng)架構(gòu)的服務(wù)和云原生的服務(wù)一起運(yùn)行。
攻擊面劇增:云原生將大型的應(yīng)用拆分為簡單的、松耦合的網(wǎng)格,在具備靈活性的同時,也帶來了更多的入口點,直接導(dǎo)致防范的攻擊面指數(shù)級增長。
安全配置與補(bǔ)丁管理復(fù)雜性加大:采用云原生架構(gòu)導(dǎo)致服務(wù)和端口數(shù)量暴漲,應(yīng)用的數(shù)據(jù)流變得越來越復(fù)雜,難以分辨每個微服務(wù)的狀態(tài),內(nèi)部互聯(lián)的微服務(wù),大大增加了安全管理的復(fù)雜性。
漏洞檢測更為困難:隨著容器的大量部署,保持云基礎(chǔ)架構(gòu)組件的可見性會變得越來越困難。容器化應(yīng)用程序的分布式性質(zhì)會讓我們難以快速發(fā)現(xiàn)哪些容器存在漏洞或錯誤配置。
為了解決以上問題,企業(yè)需要以云原生靶場為基礎(chǔ),構(gòu)建真實的業(yè)務(wù)場景作為資產(chǎn)上云、安全演練、驗證防御效果的實訓(xùn)基地,幫助企業(yè)安全快速地完成數(shù)字化轉(zhuǎn)型。但目前業(yè)界沒有良好的云原生靶場場景設(shè)計方法,限制了云原生靶場在企業(yè)數(shù)字化轉(zhuǎn)型過程中作用的發(fā)揮。本文對時下典型的云原生應(yīng)用場景:互聯(lián)網(wǎng)企業(yè)業(yè)務(wù)場景和在線教育場景進(jìn)行了調(diào)研,探究兩個場景常見網(wǎng)絡(luò)架構(gòu)、部署方法和漏洞類型,得出云原生靶場場景設(shè)計的一般方法,并對這兩個云原生應(yīng)用場景進(jìn)行了攻防靶場設(shè)計實現(xiàn)。
互聯(lián)網(wǎng)企業(yè)業(yè)務(wù)場景作為現(xiàn)網(wǎng)上經(jīng)典的網(wǎng)絡(luò)架構(gòu),對場景調(diào)研具備一定的普適性,同時本文引入了疫情時代下發(fā)展迅速的在線教育作為非互聯(lián)網(wǎng)企業(yè)業(yè)務(wù)場景樣本,通過分析兩個場景之間的異同,總結(jié)云原生靶場場景設(shè)計的一般方法。
在線教育打破了學(xué)習(xí)上時間和地域的限制,支持課后重溫,節(jié)省了師資成本、課程制作成本,因此在線教育場景在數(shù)字化轉(zhuǎn)型背景下逐漸發(fā)展。經(jīng)過疫情沖擊,在線教育發(fā)展加速,期間暴露出來的安全問題在非互聯(lián)網(wǎng)企業(yè)數(shù)字化轉(zhuǎn)型中具備相當(dāng)?shù)拇硇浴?/p>
在線教育場景典型結(jié)構(gòu)如圖1 所示。學(xué)校和培訓(xùn)機(jī)構(gòu)在上云過程中面臨著人手不足、部署和運(yùn)維經(jīng)驗較少、資源投入不持久、內(nèi)部溝通不協(xié)調(diào)、領(lǐng)導(dǎo)和員工安全意識較弱等問題,導(dǎo)致線上教育業(yè)務(wù)系統(tǒng)解耦不足,網(wǎng)絡(luò)劃分簡單,安全配置被忽視,甚至出現(xiàn)許多弱口令和密碼復(fù)用的情況。
圖1 在線教育場景典型結(jié)構(gòu)
互聯(lián)網(wǎng)企業(yè)IT 資產(chǎn)豐富、網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜、系統(tǒng)規(guī)模大,云原生改造的難度理應(yīng)比非互聯(lián)網(wǎng)企業(yè)大,但互聯(lián)網(wǎng)企業(yè)對數(shù)字資產(chǎn)掌控力強(qiáng),相關(guān)人員和技術(shù)儲備豐富,使得互聯(lián)網(wǎng)企業(yè)業(yè)務(wù)場景在短時間內(nèi)得到很好的云原生改造,形成如圖2 所示的典型結(jié)構(gòu)。
圖2 互聯(lián)網(wǎng)企業(yè)業(yè)務(wù)場景典型結(jié)構(gòu)
即便如此,互聯(lián)網(wǎng)企業(yè)業(yè)務(wù)在云原生改造上也同樣面臨著安全問題?;ヂ?lián)網(wǎng)業(yè)務(wù)的系統(tǒng)復(fù)雜性較高,在云原生化之后,會解耦成大量的云原生組件,再加上動態(tài)變化的網(wǎng)絡(luò)架構(gòu),使得安全防御措施難以全面覆蓋;互聯(lián)網(wǎng)業(yè)務(wù)變化迅速的特點也讓安全措施較為滯后,容易出現(xiàn)資產(chǎn)安全配置不完善的風(fēng)險。
通過探究兩個場景常見網(wǎng)絡(luò)架構(gòu)、風(fēng)險類型和部署方法,可以發(fā)現(xiàn)在線教育場景結(jié)構(gòu)簡單,在IT 資產(chǎn)數(shù)量、網(wǎng)絡(luò)復(fù)雜度、系統(tǒng)解耦程度皆不如互聯(lián)網(wǎng)企業(yè)業(yè)務(wù)場景,兩者部署的應(yīng)用和面臨的安全風(fēng)險也不盡相同,但這其中仍有相同的地方。
網(wǎng)絡(luò)分層:兩個場景為了安全性,都采取了內(nèi)外網(wǎng)絡(luò)隔離的方法,將需要外網(wǎng)訪問的業(yè)務(wù)部署至DMZ 區(qū),互聯(lián)網(wǎng)的流量無法進(jìn)入第二層以內(nèi)的網(wǎng)絡(luò)。
Web 應(yīng)用為主:產(chǎn)品和服務(wù)主要以Web 的方式提供,充分利用了web 輕量、跨平臺、聯(lián)網(wǎng)即用的優(yōu)點。
采用數(shù)字化辦公:都使用了OA、CRM 等數(shù)字化系統(tǒng),為辦公賦能,一旦數(shù)字化系統(tǒng)出現(xiàn)問題,將影響辦公效率,甚至導(dǎo)致停滯[2]。
云原生網(wǎng)絡(luò)和實體網(wǎng)絡(luò)混雜:在轉(zhuǎn)型云原生之前,企業(yè)都購買了一定的實體資產(chǎn),為了最大化利用現(xiàn)有的IT資產(chǎn),企業(yè)都會將保密性較高的辦公網(wǎng)部署到實體網(wǎng)絡(luò),將互聯(lián)網(wǎng)業(yè)務(wù)以及開發(fā)、測試等變動大、成本高的網(wǎng)絡(luò)遷移到云原生,形成虛實結(jié)合的網(wǎng)絡(luò)結(jié)構(gòu)。
綜上所述,云原生靶場場景設(shè)計可以從網(wǎng)絡(luò)架構(gòu)開始,搭建仿真的場景網(wǎng)絡(luò);然后簡化非關(guān)鍵業(yè)務(wù)的配置和縮減規(guī)模,僅仿真關(guān)鍵的業(yè)務(wù);接著根據(jù)場景的資產(chǎn)特點、風(fēng)險特點和往年同行業(yè)的漏洞報告來選擇漏洞類型;最后依據(jù)員工IT 水平和業(yè)務(wù)特點,將選好的漏洞進(jìn)行編排,在場景中設(shè)計出攻擊路徑,最終完成云原生靶場場景設(shè)計。
設(shè)計流程如圖3 所示。
圖3 云原生靶場場景設(shè)計流程
在云原生中,api 網(wǎng)關(guān)是云原生服務(wù)間通信的基礎(chǔ)設(shè)施層。一方面它為外部的流量訪問提供了統(tǒng)一的入口,使得企業(yè)可以方便地進(jìn)行防火墻策略實施;另一方面,可以在網(wǎng)關(guān)處對組件進(jìn)行網(wǎng)絡(luò)調(diào)用、訪問控制、安全認(rèn)證、日志收集、性能分析等,解耦了云原生網(wǎng)絡(luò)。利用api 網(wǎng)關(guān)提供的能力,可以根據(jù)上一章的總結(jié)在云原生靶場內(nèi)構(gòu)建出內(nèi)外網(wǎng)隔離的網(wǎng)絡(luò),并通過網(wǎng)絡(luò)控制簡單構(gòu)造出網(wǎng)絡(luò)分區(qū),從而復(fù)現(xiàn)出仿真的網(wǎng)絡(luò)架構(gòu)。
以互聯(lián)網(wǎng)企業(yè)業(yè)務(wù)場景為例,在云原生靶場里將場景復(fù)現(xiàn)成如圖4 的結(jié)構(gòu)。
圖4 互聯(lián)網(wǎng)企業(yè)業(yè)務(wù)場景仿真網(wǎng)絡(luò)架構(gòu)
通過API 網(wǎng)關(guān)的端口映射功能,能將仿真DMZ 區(qū)所開放的服務(wù)端口映射至外部來模擬真實DMZ 區(qū)的效果,仿真辦公網(wǎng)和仿真業(yè)務(wù)網(wǎng)則通過訪問控制功能,模擬真實場景下的網(wǎng)絡(luò)隔離和訪問控制。
靶場場景和現(xiàn)網(wǎng)場景最大的不同,是沒有業(yè)務(wù)穩(wěn)定性和持續(xù)性的壓力,因此在進(jìn)行場景設(shè)計時,非關(guān)鍵業(yè)務(wù)可以簡化很多配置,縮減規(guī)模來節(jié)約成本,如使用單一容器替代容器集群、簡化應(yīng)用功能、分布式應(yīng)用集中部署等,值得注意的是,在簡化的過程中要保持原有的網(wǎng)絡(luò)結(jié)構(gòu)。
從圖5 中可以看出,除了支撐關(guān)鍵業(yè)務(wù)的業(yè)務(wù)網(wǎng)進(jìn)行了仿真外,辦公網(wǎng)和DMZ 區(qū)都縮減了規(guī)模和配置,簡化了部署的同時保留了原來的網(wǎng)絡(luò)結(jié)構(gòu)。
圖5 互聯(lián)網(wǎng)企業(yè)業(yè)務(wù)場景簡化部署
設(shè)計云原生靶場場景離不開關(guān)鍵業(yè)務(wù)的仿真。根據(jù)企業(yè)主營業(yè)務(wù),將應(yīng)用和服務(wù)按照RPO 和RTO 兩個維度對關(guān)鍵業(yè)務(wù)的關(guān)鍵程度進(jìn)行量化,并梳理出支撐關(guān)鍵業(yè)務(wù)的應(yīng)用,在場景設(shè)計時盡可能仿真關(guān)鍵業(yè)務(wù)的部署和架構(gòu),必要時可將現(xiàn)網(wǎng)容器復(fù)用至靶場內(nèi)。
以在線教育場景為例,在疫情的沖擊下,學(xué)校和培訓(xùn)組織紛紛關(guān)閉了線下業(yè)務(wù),依靠云原生快速部署、成本低廉的優(yōu)點緊急上線在線教育系統(tǒng),對于學(xué)校和培訓(xùn)機(jī)構(gòu)來說,在線教育是開展授課的唯一途徑,無論是RPO 還是RTO 都屬于關(guān)鍵業(yè)務(wù)的范疇。另一方面,在線教育系統(tǒng)存儲著大量的未成年個人信息以及課件、上課視頻等關(guān)鍵信息,一旦信息發(fā)生泄漏將帶來不可挽回的后果。
良好的攻擊路徑設(shè)計能有效提升安全演練效果,檢驗靶場用戶安全攻防能力。設(shè)計攻擊路徑時需要結(jié)合場景業(yè)務(wù)特點、風(fēng)險識別、員工IT 水平和往年漏洞統(tǒng)計報告,選擇場景下發(fā)生概率較大的漏洞類項,再通過合理的漏洞編排,將場景的漏洞進(jìn)行串聯(lián),形成攻擊路徑。
以在線教育場景和互聯(lián)網(wǎng)企業(yè)業(yè)務(wù)場景為例,場景大部分產(chǎn)品和服務(wù)都以Web 的方式提供,因此應(yīng)以web 類型的漏洞為主。在具體漏洞選擇上,根據(jù)2020 年CNCERT/CC 的統(tǒng)計,選擇網(wǎng)站后門相關(guān)漏洞[3]和辦公系統(tǒng)的漏洞,再綜合考慮場景業(yè)務(wù)特點和人員IT 水平,在靶場內(nèi)設(shè)計從外到內(nèi)的攻擊路徑。
(1)在線教育場景攻擊路徑
對于在線教育場景,需要考慮安全意識較弱,IT 開發(fā)和運(yùn)維能力不足的特點,增加錯誤的安全配置漏洞和開源系統(tǒng)漏洞比例,設(shè)計了如下漏洞。
①在線培訓(xùn)系統(tǒng)和在線考試系統(tǒng)直接對外開放,并做了一定的安全防御措施,但因為運(yùn)維人員部署和運(yùn)維經(jīng)驗較少,導(dǎo)致培訓(xùn)系統(tǒng)存在Tomcat 弱口令漏洞;
②辦公系統(tǒng)使用了開源的應(yīng)用部署,在系統(tǒng)投入使用后忽視了系統(tǒng)的維護(hù),讓辦公系統(tǒng)長久未更新。公司使用的舊版本OA 系統(tǒng)存在遠(yuǎn)程代碼執(zhí)行漏洞;
③由于員工安全意識薄弱,習(xí)慣使用相同的密碼來登錄不同的系統(tǒng)。
結(jié)合上述漏洞以及網(wǎng)絡(luò)拓?fù)?,設(shè)計的攻擊路徑如圖6所示。
圖6 在線教育場景攻擊路徑
首先利用培訓(xùn)系統(tǒng)存在的Tomcat 弱口令漏洞,直接部署WAR 包從而獲取服務(wù)器權(quán)限,然后通過系統(tǒng)數(shù)據(jù)庫配置文件找到數(shù)據(jù)庫的用戶名密碼,使得學(xué)生、教師和課件信息被泄露。
其次,利用培訓(xùn)系統(tǒng)和在線考試系統(tǒng)使用同一個數(shù)據(jù)庫,且使用同一個數(shù)據(jù)庫賬號的情況,在數(shù)據(jù)庫內(nèi)獲取在線考試系統(tǒng)的管理員口令,導(dǎo)致在線考試系統(tǒng)淪陷。
第三,利用管理員對DMZ 區(qū)運(yùn)維所搭建的DMZ 區(qū)和辦公網(wǎng)間的持久網(wǎng)絡(luò)通道,通過獲取到的服務(wù)器權(quán)限進(jìn)行網(wǎng)絡(luò)代理,從而進(jìn)入隔離的辦公網(wǎng)。
第四,利用OA 系統(tǒng)遠(yuǎn)程代碼執(zhí)行漏洞直接獲取OA服務(wù)器權(quán)限,從中找到企業(yè)OA 系統(tǒng)全部賬戶和明文密碼。
最后,使用OA 系統(tǒng)的賬戶密碼去嘗試登錄財務(wù)系統(tǒng),獲取機(jī)密的財務(wù)信息。
至此,在線教育場景靶場DMZ 區(qū)和辦公網(wǎng)全部淪陷。
(2)互聯(lián)網(wǎng)企業(yè)業(yè)務(wù)場景攻擊路徑
互聯(lián)網(wǎng)企業(yè)安全管理較為嚴(yán)格,員工具備一定的安全意識,開發(fā)能力強(qiáng),因此漏洞數(shù)量較少。但互聯(lián)網(wǎng)企業(yè)需要管理和維護(hù)大量云原生應(yīng)用和開源組件,安全配置與補(bǔ)丁管理復(fù)雜性更大,容易在安全措施覆蓋不到的地方出現(xiàn)安全漏洞。最終設(shè)計了如下漏洞。
①OA 系統(tǒng)前端代碼使用的開源組件中存在反序列化漏洞。
②OA 系統(tǒng)用戶歷史命令和計劃任務(wù)中存在系統(tǒng)提權(quán)漏洞。
③內(nèi)部論壇系統(tǒng)存在越權(quán)漏洞。
④業(yè)務(wù)網(wǎng)數(shù)據(jù)庫集群的Zookeeper 存在未授權(quán)訪問漏洞。
結(jié)合上述漏洞以及網(wǎng)絡(luò)拓?fù)?,設(shè)計的攻擊路徑如圖7所示。
圖7 互聯(lián)網(wǎng)企業(yè)業(yè)務(wù)場景攻擊路徑
首先,由于企業(yè)網(wǎng)DMZ 區(qū)存在完整的安全防御手段,正面幾乎難以突破,可從其開放的服務(wù)中找到該企業(yè)近期因為遠(yuǎn)程辦公開放的OA 系統(tǒng)URL。
其次,訪問OA 系統(tǒng),在前端代碼中發(fā)現(xiàn)系統(tǒng)使用了一些開源組件,通過搜索開源組件信息,發(fā)現(xiàn)其中一個組件存在反序列化漏洞,最后獲取互聯(lián)網(wǎng)公開的payload,直接寫入webshell 遠(yuǎn)程連接。
第三,進(jìn)入OA 系統(tǒng)后,在用戶歷史命令和計劃任務(wù)里發(fā)現(xiàn)系統(tǒng)權(quán)限提升的利用點,成功獲取到系統(tǒng)root權(quán)限。
第四,以O(shè)A 服務(wù)器為跳板設(shè)置代理,遠(yuǎn)程訪問內(nèi)部論壇系統(tǒng),并利用服務(wù)器內(nèi)找到的用戶信息登錄內(nèi)部論壇,在用戶后臺進(jìn)行滲透攻擊,最終發(fā)現(xiàn)內(nèi)部論壇存在越權(quán)漏洞,獲得了業(yè)務(wù)網(wǎng)運(yùn)維人員泄露的業(yè)務(wù)網(wǎng)測試賬號的信息。
第五,以O(shè)A 服務(wù)器為跳板,利用業(yè)務(wù)網(wǎng)數(shù)據(jù)庫集群中Zookeeper 存在的未授權(quán)訪問漏洞,獲得系統(tǒng)大量敏感信息,甚至包括集群內(nèi)其他數(shù)據(jù)庫口令,從而導(dǎo)致攻擊擴(kuò)散至整個業(yè)務(wù)網(wǎng)。
最后,通過修改數(shù)據(jù)庫賬號密碼,成功進(jìn)入安全防御最嚴(yán)格的DMA 區(qū),獲取里面數(shù)據(jù)庫的數(shù)據(jù)。
至此,互聯(lián)網(wǎng)企業(yè)業(yè)務(wù)場景靶場和辦公網(wǎng)、業(yè)務(wù)網(wǎng)和DMZ 區(qū)全部淪陷。
隨著云計算技術(shù)的不斷發(fā)展,云原生已經(jīng)成為企業(yè)數(shù)字化轉(zhuǎn)型的共識。但在傳統(tǒng)應(yīng)用遷移至云原生的過程中,存在傳統(tǒng)應(yīng)用重構(gòu)復(fù)雜、服務(wù)數(shù)量激增、員工不易上手等困難,再加上云原生應(yīng)用帶來的全新安全風(fēng)險,使得企業(yè)云原生之路不是一帆風(fēng)順。本文提出的云原生靶場場景設(shè)計方法能在節(jié)約成本情況下對企業(yè)現(xiàn)有業(yè)務(wù)場景進(jìn)行最大程度的仿真,幫助企業(yè)提升員工在云原生環(huán)境下技術(shù)水平和攻防水平,盡早排查業(yè)務(wù)安全隱患。