劉 芳
(鄭州工業(yè)應(yīng)用技術(shù)學(xué)院,河南 鄭州 451100)
與傳統(tǒng)意義上的網(wǎng)絡(luò)架構(gòu)不同,云計算的內(nèi)部網(wǎng)絡(luò)邊界更加模糊,用戶租用云內(nèi)部的虛擬資源,并根據(jù)自身需求定制不同的功能,且不同的用戶會共享云平臺上的數(shù)據(jù)資源。如果用戶在共享云平臺數(shù)據(jù)資源時存在惡意行為,那么可能會對整個系統(tǒng)的安全性能產(chǎn)生影響,并且云平臺供應(yīng)商無法直接訪問、審查用戶虛擬機。即使用戶在系統(tǒng)內(nèi)部有惡意行為,系統(tǒng)也無法通過架設(shè)防火墻、堡壘主機等方式發(fā)現(xiàn)、阻攔這種惡意攻擊,因為用戶是從云內(nèi)部發(fā)起的網(wǎng)絡(luò)攻擊[1]。云網(wǎng)絡(luò)平臺的服務(wù)器、存儲結(jié)構(gòu)及桌面均是虛擬化的,應(yīng)用及網(wǎng)絡(luò)也是虛擬化的,用戶可以隨時隨地開啟新的服務(wù),這使得原本的靜態(tài)網(wǎng)絡(luò)拓?fù)渥兂闪藭r變網(wǎng)絡(luò)拓?fù)?,很難預(yù)測數(shù)據(jù)傳輸及節(jié)點訪問情況。云計算網(wǎng)絡(luò)的彈性使得網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)更加靈活、復(fù)雜,增加了云網(wǎng)絡(luò)的安全防護(hù)難度。
針對這些問題,很多專家、學(xué)者不斷研究提出新的方法,例如構(gòu)建分布式云網(wǎng)絡(luò)入侵檢測系統(tǒng),在云平臺中集成入侵檢測系統(tǒng)(Intrusion Detection System,IDS),控制虛擬機實例間的網(wǎng)絡(luò)通信數(shù)據(jù)流等,但是這些方法只不過是在云計算網(wǎng)絡(luò)中移植傳統(tǒng)的網(wǎng)絡(luò)防護(hù)設(shè)備,一旦云計算的網(wǎng)絡(luò)規(guī)模達(dá)到百萬數(shù)量級時,這些方法對于云計算所面對的網(wǎng)絡(luò)安全問題就無能為力了,甚至有可能由于虛擬機實例受到攻擊過載而發(fā)生異常,最終引起整個物理機上的所有虛擬機都停止服務(wù)[2]。每臺物理機所運行的虛擬機實例可能運行著屬于不同用戶的軟件,一臺物理主機故障會引起多個云端用戶應(yīng)用節(jié)點異常,最終導(dǎo)致整個邏輯業(yè)務(wù)停止。
具體而言,云計算網(wǎng)絡(luò)常見的安全威脅主要來自于以下幾個方面。一是網(wǎng)絡(luò)攻擊。網(wǎng)絡(luò)攻擊會導(dǎo)致服務(wù)器癱瘓及數(shù)據(jù)傳輸風(fēng)險,帶來的風(fēng)險包括數(shù)據(jù)被竊取、數(shù)據(jù)被篡改、服務(wù)器受到攻擊等。在云網(wǎng)絡(luò)中,用戶數(shù)據(jù)被監(jiān)聽、盜取會為用戶帶來較大的風(fēng)險,且未經(jīng)用戶授權(quán)對用戶數(shù)據(jù)進(jìn)行刪除、修改也會影響數(shù)據(jù)信息的完整性與準(zhǔn)確性。二是存儲風(fēng)險,主要是用戶數(shù)據(jù)保密方法不當(dāng)、保密措施不到位所致,一旦系統(tǒng)受到惡意攻擊就會影響到數(shù)據(jù)的安全性。此外,數(shù)據(jù)信息存儲介質(zhì)也可能被惡意控制,導(dǎo)致數(shù)據(jù)受損。三是身份認(rèn)證與訪問限制。身份認(rèn)證的風(fēng)險主要來自于非法攻擊盜取用戶認(rèn)證過的信息,或者第三方信息服務(wù)設(shè)備盜取用戶信息,此外,用戶自身也可能會通過非正常手段處理信息而導(dǎo)致身份認(rèn)證出現(xiàn)問題。訪問限制問題主要是第三方服務(wù)器惡意攻擊,或者授權(quán)非法用戶,導(dǎo)致用戶數(shù)據(jù)信息的私密性、完整性受到影響[3]。四是虛擬環(huán)境與審計因素。云計算技術(shù)的計算空間構(gòu)建于虛擬的空間內(nèi),為保證數(shù)據(jù)安全,需要借助防火墻及數(shù)據(jù)監(jiān)測技術(shù)等。用戶租用云計算平臺以獲取資源,因此云平臺有大量的虛擬機合租者。如果平臺對合租用戶本身缺乏監(jiān)管,就可能會導(dǎo)致一系列安全問題,例如數(shù)據(jù)安全審計中惡意關(guān)閉審計功能,導(dǎo)致運營日志缺失、審計記錄不全等問題,從而增加審計難度[4]。
云計算網(wǎng)絡(luò)中每個虛擬機都是一個節(jié)點,也可以稱為傳感器節(jié)點,每個節(jié)點都具備簡單日志分析及處理的能力,因此每個虛擬機都可以運行一個輕量的系統(tǒng)監(jiān)控及告警程序。該監(jiān)控程序能夠根據(jù)虛擬機的處理性能進(jìn)行適當(dāng)優(yōu)化與裁剪,并能夠?qū)崟r感知當(dāng)前系統(tǒng)的運行狀態(tài)。例如,如果虛擬機性能較弱或負(fù)載較重,那么僅能通過監(jiān)控軟件對基本系統(tǒng)信息進(jìn)行分析,包括CPU、內(nèi)存、網(wǎng)絡(luò)流量等;如果虛擬機處理能力較強或負(fù)載較輕,則可以進(jìn)一步分析高級系統(tǒng)信息,例如數(shù)據(jù)指紋、運行進(jìn)程信息等。云計算網(wǎng)絡(luò)安全防御系統(tǒng)中還包括免疫處理模塊,免疫處理模塊被傳感器節(jié)點啟動后可以攔截、阻塞惡意軟件及網(wǎng)絡(luò)病毒,從而避免系統(tǒng)受到進(jìn)一步攻擊[5]。
除傳感器節(jié)點外,云計算網(wǎng)絡(luò)安全防御系統(tǒng)中還包含基于自身加固的防御策略生成節(jié)點,一般是邏輯網(wǎng)內(nèi)的關(guān)鍵節(jié)點。這些節(jié)點包含兩部分,即業(yè)務(wù)處理與安全響應(yīng),它們能夠方便地升級安全響應(yīng)節(jié)點為防御策略生成節(jié)點,其主要作用是對云平臺中的數(shù)據(jù)進(jìn)行監(jiān)控,并根據(jù)實際情況生成防御策略。在系統(tǒng)運行過程中,防御策略生成節(jié)點會將傳感器節(jié)點發(fā)送的日志、告警數(shù)據(jù)收集在一起進(jìn)行分析,再根據(jù)系統(tǒng)定義好的防御機制及監(jiān)控黑名單觸發(fā)對應(yīng)的策略,產(chǎn)生防御策略后再向傳感器節(jié)點發(fā)送防御策略啟動防御機制。
與傳統(tǒng)的安全防御系統(tǒng)處理威脅問題不同,因為云計算網(wǎng)絡(luò)中威脅行為的對象可能是不同用戶的邏輯子網(wǎng),所以在實際處理過程中可以合并處理類別相同的攻擊行為,除了要保護(hù)正在被攻擊的節(jié)點外,還要保護(hù)未受到攻擊的節(jié)點。云計算網(wǎng)絡(luò)安全防御系統(tǒng)對受到的威脅攻擊的處理流程主要包括威脅檢測、威脅預(yù)處理、威脅處理以及防御規(guī)則部署4個步驟。
3.2.1 威脅檢測
每個傳感器節(jié)點都有以服務(wù)形式運行于虛擬機系統(tǒng)中的系統(tǒng)狀態(tài)采集及分析軟件,通過輪詢模式與事件觸發(fā)模式兩種方法采集系統(tǒng)運行數(shù)據(jù)。輪詢模式下程序以設(shè)置好的時間間隔掃描、采集系統(tǒng)關(guān)鍵信息,根據(jù)不同虛擬機的負(fù)載壓力、處理能力等進(jìn)行動態(tài)調(diào)整。事件觸發(fā)模式下用戶可以設(shè)置一個或多個觸發(fā)事件,例如網(wǎng)絡(luò)帶寬占用超過閾值,或者CPU連續(xù)滿負(fù)荷運行時間超過閾值等,一旦出現(xiàn)這些閾值系統(tǒng)即判斷有可疑行為,需要進(jìn)行及時處理。這兩種威脅檢測方法均可以觸發(fā)威脅評估程序,評估程序會根據(jù)系統(tǒng)負(fù)載情況進(jìn)行掃描,包括系統(tǒng)登陸掃描、進(jìn)程掃描、端口掃描,乃至高級的內(nèi)存掃描、數(shù)據(jù)包掃描等[6]。
3.2.2 威脅預(yù)處理
威脅檢測完成后要對威脅行為進(jìn)行預(yù)處理,避免直接匯報至上層造成防御策略生成節(jié)點壓力過大而影響處理結(jié)果。在進(jìn)行威脅預(yù)處理時,首先要進(jìn)行數(shù)據(jù)合并與去重,該步驟的主要目的是去除重復(fù)數(shù)據(jù),即輪詢模式下觸發(fā)的威脅數(shù)據(jù)與某次事件觸發(fā)的數(shù)據(jù)相同時則可以進(jìn)行合并處理,以減少后續(xù)處理壓力;其次要進(jìn)行數(shù)據(jù)過濾,第一步威脅檢測所得結(jié)果不都是真正的威脅行為,有可能包含突發(fā)情況導(dǎo)致的誤觸發(fā),因此數(shù)據(jù)過濾就是將這些非正常觸發(fā)的威脅告警過濾掉[7];最后要進(jìn)行數(shù)據(jù)壓縮,數(shù)據(jù)壓縮的主要作用是減少網(wǎng)絡(luò)傳輸壓力,不過會導(dǎo)致本地CPU消耗,因此數(shù)據(jù)壓縮可以根據(jù)實際情況確定是否有必要,如果本地CPU負(fù)載較高則盡量選擇更為簡單的壓縮算法,或者不壓縮。
3.2.3 威脅處理
所有傳感器節(jié)點檢測到的數(shù)據(jù)最終都會被匯總至防御策略生成節(jié)點判斷威脅行為,然而虛擬機實例數(shù)量變化會直接影響防御策略生成節(jié)點的數(shù)量。防御策略生成節(jié)點也是在虛擬機實例中運行的,云外用戶無法訪問虛擬機實例,因此可以很容易地調(diào)整防御節(jié)點數(shù)量,將這些節(jié)點所包含的所有運行環(huán)境打包并創(chuàng)建為虛擬機鏡像即可,后續(xù)即使需要增加更多的防御策略生成節(jié)點,也可以按照啟動普通虛擬機實例的方法進(jìn)行。具體而言,威脅處理的主要步驟包括以下幾個方面。首先是威脅分類。這一步的主要目的是對傳感器節(jié)點發(fā)送的數(shù)據(jù)進(jìn)行安全類型分類,包括惡意軟件、網(wǎng)絡(luò)攻擊、HTTP攻擊等,通過分類為后續(xù)的規(guī)則匹配去除干擾,提高系統(tǒng)識別的準(zhǔn)確率。其次是威脅匯總。威脅匯總的主要目的是將不同傳感器節(jié)點所受到的相同的攻擊行為整合在一起,以簡化后續(xù)的處理流程。例如黑客攻擊了云中某Web主頁導(dǎo)致Web服務(wù)停止,Web多采用前端負(fù)載均衡與后端服務(wù)器集群協(xié)同工作的部署方式,一旦受到分布式拒絕服務(wù)(Distributed Denial of Service,DDoS)攻擊,后端服務(wù)器會發(fā)送同樣的告警信息,這種情況就可以進(jìn)行合并匯總,提高后續(xù)系統(tǒng)處理效果。再次是規(guī)則生成。系統(tǒng)會通過自我學(xué)習(xí)與手動定義的方式生成一個定義各種類型威脅處理方法的規(guī)則集,針對系統(tǒng)受到的威脅行為進(jìn)行處理。不過在某些情況下防護(hù)軟件無法有效攔截某些攻擊,例如針對系統(tǒng)自身漏洞的攻擊行為,此時就需要暫時屏蔽該虛擬機實例的網(wǎng)絡(luò)訪問,以免對整個網(wǎng)絡(luò)產(chǎn)生更嚴(yán)重的影響。最后是規(guī)則下發(fā)。防御節(jié)點生成策略后需要下發(fā)至防御部署節(jié)點,由于防御策略接收者可能是單個或多個傳感器節(jié)點,因此需要合理選擇下發(fā)路徑。選擇下發(fā)路徑時針對緊急任務(wù)可采用Dijkstra算法,針對廣播任務(wù)可選擇廣度優(yōu)先算法。在攻擊剛發(fā)生時被攻擊點較少,此時按照緊急任務(wù)處理方法迅速保護(hù)受到攻擊的虛擬機實例可以避免攻擊進(jìn)一步擴(kuò)大,采用Dijkstra算法可以實現(xiàn)防御策略的及時發(fā)送。該算法以深度優(yōu)先算法為基礎(chǔ),能夠保證防御策略及時響應(yīng),從而攔截本次攻擊,保證網(wǎng)絡(luò)正常運行。針對策略接收端較多的廣播任務(wù)可采用廣度優(yōu)先算法,因為攻擊廣度較大時生成的策略可能會針對較多的接收虛擬機,該算法能夠更好地平衡策略下發(fā)速度與受眾節(jié)點數(shù)量的關(guān)系[8]。
3.2.4 防御規(guī)則部署
防御策略生成節(jié)點將防御規(guī)則下發(fā)至傳感器節(jié)點后,后者需壓縮防御規(guī)則并將其導(dǎo)入自身的規(guī)則集中,導(dǎo)入完成后防御程序會逐個調(diào)用規(guī)則中關(guān)聯(lián)的防御軟件并應(yīng)用規(guī)則,完成整個安全防御過程。
本研究提出的云計算網(wǎng)絡(luò)安全防御系統(tǒng)的核心功能包括系統(tǒng)信息采集與上報、規(guī)則生成與部署。針對系統(tǒng)異常狀態(tài)的檢測可以通過相關(guān)命令統(tǒng)計、匯總系統(tǒng)的運行狀態(tài),還可以應(yīng)用對應(yīng)的監(jiān)控工具探測系統(tǒng)的詳細(xì)狀態(tài),例如CPU負(fù)載可用top命令檢測,內(nèi)存狀態(tài)可用vmstat命令檢測。如果內(nèi)存緩存池不為空,后臺的規(guī)則過濾與匹配模塊就會被觸發(fā),該模塊再對規(guī)則進(jìn)行分類,并委托給指定的線程進(jìn)行處理。對應(yīng)類型處理線程被委托后會合并相同的攻擊,再在規(guī)則數(shù)據(jù)庫中查詢。任務(wù)分發(fā)線程將不同的任務(wù)排隊委托給線程池中的不同線程,再由其匹配規(guī)則數(shù)據(jù)庫中的規(guī)則,獲得的規(guī)則返回給任務(wù)分發(fā)線程后部署至具體的傳感器節(jié)點。
云計算環(huán)境下網(wǎng)絡(luò)安全防御技術(shù)是保證系統(tǒng)安全、穩(wěn)定運行的重要措施。因為云計算技術(shù)本身包含了大量的新興技術(shù)與先進(jìn)的技術(shù)思想,且大量采用了虛擬化技術(shù)與軟件定義技術(shù),增加了系統(tǒng)的復(fù)雜性,所以云計算平臺的安全問題是整個技術(shù)體系的短板。本文分析了云計算網(wǎng)絡(luò)安全特點,總結(jié)了云計算網(wǎng)絡(luò)中常見的安全威脅,并結(jié)合工作實踐提出云計算網(wǎng)絡(luò)安全防御系統(tǒng)的設(shè)計思路。在后續(xù)工作中需要不斷總結(jié)工作經(jīng)驗,不斷完善防御策略,以提高云計算網(wǎng)絡(luò)運行的安全性與可靠性。