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