李鳳華,李子孚,李凌,張銘,耿魁,郭云川
(1. 中國科學院信息工程研究所,北京 100093;2. 中國科學院大學網(wǎng)絡空間安全學院,北京 100049;3. 通信網(wǎng)信息傳輸與分發(fā)技術重點實驗室,河北 石家莊 050081;4. 西安電子科技大學網(wǎng)絡與信息安全學院,陜西 西安 710071)
以專用網(wǎng)絡、天地一體化網(wǎng)絡和物聯(lián)網(wǎng)為代表的復雜網(wǎng)絡[1]面臨嚴峻的安全威脅。中國互聯(lián)網(wǎng)絡信息中心于2018年7月發(fā)布的《第42次中國互聯(lián)網(wǎng)絡發(fā)展狀況統(tǒng)計報告》顯示,2018年上半年我國境內(nèi)被植入后門網(wǎng)站數(shù)量累計16 210個,收集整理的信息系統(tǒng)安全漏洞累計7 748個,接到網(wǎng)絡安全事件報告累計54 190件。為應對上述威脅,威脅監(jiān)測越來越受到人們的重視,在Crowd Research發(fā)布的2017年威脅的監(jiān)測、檢測和響應報告中,67%被調(diào)查的信息安全專業(yè)人員認為威脅監(jiān)測是該領域的首要任務,超過威脅分析的44%。威脅監(jiān)測通過在網(wǎng)絡設備中部署采集策略,實現(xiàn)對數(shù)據(jù)的有效采集,為威脅分析提供數(shù)據(jù)基礎。
然而,由于復雜網(wǎng)絡環(huán)境的如下特點,使通過人工方式制定采集策略難以為繼:1)節(jié)點數(shù)量多,依據(jù)Gartner發(fā)布的數(shù)據(jù),2020年全球聯(lián)網(wǎng)設備數(shù)量將達260億臺,各類設備的大規(guī)?;ヂ?lián),使網(wǎng)絡中的節(jié)點數(shù)量呈爆發(fā)式增長趨勢;2)節(jié)點處理能力差異,網(wǎng)絡節(jié)點部署于不同位置,且功能需求不同,導致節(jié)點處理能力差異大,由于上述2個特點使人工管理網(wǎng)絡成本高,因此需要自動化、統(tǒng)一管理;3)安全需求變化大,天地一體化網(wǎng)絡、移動互聯(lián)網(wǎng)等網(wǎng)絡由于節(jié)點隨遇接入導致其拓撲結(jié)構(gòu)高變,使安全威脅蔓延,安全需求動態(tài)變化,所以需要對采集策略進行動態(tài)調(diào)整。
因此,自動化設置采集策略的方案被提出,但依然存在如下問題:1)在采集內(nèi)容方面,大多使用查找表的方式確定采集內(nèi)容,缺乏動態(tài)調(diào)整的特性;2)在采集頻率方面,大多采用等時間間隔、周期性的采集方式,沒有考慮重復采集數(shù)據(jù)的相似度,部分采集方案[2-4]考慮采集數(shù)據(jù)冗余的問題,提出了一些動態(tài)改變采集頻率的方法,但是其應用場景和采集數(shù)據(jù)的類型較為單一;3)在采集資源消耗方面,未充分考慮采集設備當前的資源水平,不適用于復雜網(wǎng)絡環(huán)境中設備的計算和存儲資源受限的場景。
為了解決現(xiàn)有工作的不足,本文將安全策略分為高層監(jiān)測需求(TDR, top detection requirement)、中層采集策略(ICP, intermediate collection policy)和低層設備指令(LDC, low device command)這3層結(jié)構(gòu),形成采集策略層次模型(CPHM, collection policy hierarchy model)?;谠撃P?,提出了基于采集成本和收益平衡的策略精化方法,將以威脅監(jiān)測為目標的高層監(jiān)測需求,綜合考慮采集貢獻度和資源消耗,細化為低層設備指令,在降低采集數(shù)據(jù)量的同時保證采集數(shù)據(jù)的精確度,做到極小量按需精準采集。本文的主要貢獻如下。
1) 提出了面向威脅監(jiān)測的采集策略精化系統(tǒng)模型,設計網(wǎng)絡環(huán)境和策略的3層結(jié)構(gòu),以及策略精化規(guī)則和策略模板。
2) 針對高層監(jiān)測需求的威脅類型到中層采集策略的采集項和采集頻率的精化問題,通過對采集貢獻度和采集資源消耗的量化,設計目標函數(shù),通過遺傳算法求解,得到與待采集設備資源水平對應的采集項和采集頻率。
3) 對所提方法進行了實驗驗證,實驗結(jié)果表明,本文方法可針對不同威脅類型生成個性化的采集策略,并在待采集設備的資源水平降低時,自適應地減少采集項,降低采集頻率。
現(xiàn)有的策略精化[5]大多集中在訪問控制、網(wǎng)絡服務質(zhì)量管理、能源優(yōu)化等方面。在訪問控制方面,主要對訪問主體、客體和操作權(quán)限進行細化;在網(wǎng)絡服務質(zhì)量管理方面,通過將服務質(zhì)量細分為一系列服務級別目標(SLO, service level objective),通過實現(xiàn)每個SLO以實現(xiàn)整體的服務質(zhì)量;在能源優(yōu)化方面,采用調(diào)節(jié)鏈路速率、關閉或睡眠負荷低的設備的方式以減少能源消耗。
根據(jù)策略精化使用的技術,可以將其分為基于規(guī)則的策略精化、基于歷史數(shù)據(jù)的策略精化和基于邏輯的策略精化等。
基于規(guī)則的策略精化的核心思想是使用表來關聯(lián)用戶、應用和服務,通過查找表的方法建立精化關系,適用于服務質(zhì)量(QoS, quality of service)管理等。
文獻[6]提出的策略精化引擎(POWER, policy wizard engine for refinement)是首次采用基于策略模板的精化技術,其將抽象策略中的主體、客體和權(quán)限根據(jù)上下文信息等系統(tǒng)模型中定義的組織實體映射為實現(xiàn)層的主體、客體和操作權(quán)限。文獻[7-8]將系統(tǒng)進行分層,通過規(guī)則對各層間的策略進行精化。其中,文獻[7]利用上述系統(tǒng)分層思想開發(fā)了MoBaSeC(model based service configuration)工具,該工具支持交互式圖形建模、自動模型分析和策略精化生成配置文件,文獻[8]在文獻[7]的基礎上,定義了一系列公理,以獲取策略規(guī)則中隱含的假設,驗證了策略精化的一致性和完備性,同時形式化表示模型到現(xiàn)實世界的映射。
文獻[9-10]使用ECA(event condition action)范式定義策略。其中,文獻[9]提出了一個在領域、語言、抽象級別等方面通用的 ECA策略自動化精化的方法,并應用在通信系統(tǒng)中來管理系統(tǒng)的行為,采用領域建模以定義高層中的領域術語,包括領域、關系、屬性等;策略建模包括策略中的事件、條件和行為;領域和策略的連接建模給出領域術語與策略之間的關系,然后定義高層策略和低層策略之間的精化規(guī)則,最后基于規(guī)則實現(xiàn)自動化的策略精化。文獻[10]使用 ECA范式制定規(guī)則,在系統(tǒng)運行時,滿足策略執(zhí)行條件后,將策略元素進行實例化。
文獻[11-13]針對策略元素和規(guī)則進行研究。其中,文獻[11]提出了提取安全策略規(guī)則的方法,使用需求工程中的技術來獲取資產(chǎn)、威脅和對策,該方法用于在運行時實例化特定域的安全需求。文獻[12]根據(jù)規(guī)則從自然語言中提取訪問控制相關要素,并在歐盟數(shù)據(jù)保護條例中得到應用。文獻[13]提出了安全策略詞匯模型,描述高層安全策略和底層可執(zhí)行策略,并制作了支持多平臺、多策略語言和規(guī)則范式的工具。
基于規(guī)則的策略精化的優(yōu)點是自動化程度高、精化速度快,缺點是精化的正確性取決于表內(nèi)容的正確性、元素固定、不支持動態(tài)擴展和缺乏動態(tài)調(diào)整特性。
基于歷史數(shù)據(jù)的策略精化的核心思想是學習系統(tǒng)的歷史行為,并預測將來的行為來達到策略精化的目的。
文獻[14-15]針對精化目標與歷史數(shù)據(jù)的相似性進行策略精化。其中,文獻[14]提出了基于案例推理(CBR, case-based reasoning)的策略精化方法,該方法建立高層策略和低層參數(shù)配置的映射關系,當需要為新的高層策略查找配置參數(shù)時,查找歷史數(shù)據(jù)庫中最相似的案例,或者在一組案例的配置參數(shù)間插入新的系統(tǒng)參數(shù),以確定合適的配置參數(shù)。此外,文獻[14]還提出了對策略聚類以減少查找的數(shù)據(jù)量,使用主成分分析進行降維以減少存儲空間。文獻[15]提出了一種基于文本挖掘的相似性度量方法,從策略庫中選擇類似的策略以設置本次的策略。
文獻[16-17]基于歷史數(shù)據(jù),使用決策樹等機器學習的方法進行策略精化。其中,文獻[16]基于決策樹的分類方法,利用系統(tǒng)狀態(tài)等指標的歷史信息,找到影響高層策略相應的系統(tǒng)狀態(tài)指標,并確定閾值。其主要過程分為4個階段:1)測試和開發(fā)階段,通過設定高層次的目標,并運行系統(tǒng),收集低層次系統(tǒng)狀態(tài)指標;2)分類階段,利用收集到的低層次系統(tǒng)狀態(tài)指標構(gòu)造決策樹;3)策略細化階段,通過決策樹中葉子節(jié)點為真的路徑找到關鍵的低層次策略元素(系統(tǒng)狀態(tài)指標);4)確定限制范圍階段,確定低層次策略參數(shù)的限制范圍,該方法適用于服務等級協(xié)議(SLA, service-level agreement)等低層次策略的參數(shù)是數(shù)值型并且容易量化的場景。為減少數(shù)據(jù)中心的能源消耗,文獻[17]通過計算能耗和性能要求之間的效用函數(shù),使用決策樹的方法對應用場景進行分類,將業(yè)務策略精化為網(wǎng)絡級策略。
文獻[18]通過建立非功能需求框架,將安全需求劃分為由多個軟目標實現(xiàn),并將每個軟目標細化為多個具體的操作化指令,構(gòu)建策略精化的樹狀結(jié)構(gòu),對樹中所有葉子節(jié)點計算評分,用于量化意圖的符合情況,結(jié)合網(wǎng)絡基本配置和服務依賴情況,實現(xiàn)了基于意圖的策略精化。
基于歷史數(shù)據(jù)的策略精化的優(yōu)點是精化的準確性會隨歷史數(shù)據(jù)集規(guī)模的增大而增加,缺點是難于構(gòu)建歷史數(shù)據(jù)庫,并且數(shù)據(jù)集中的錯誤數(shù)據(jù)會影響策略精化的準確性。
基于邏輯的策略精化的核心思想是采用事件演算、反繹推理、模型檢驗等方式[19-22]進行策略細化。
文獻[23]使用事件演算(event calculus)形式化地定義策略,首先,利用需求工程領域的目標分解(KAOS, knowledge acquisition in automated specification)方法,將抽象目標分解為可操作的目標;其次,將可操作目標映射到相應模塊,使用統(tǒng)一建模語言(UML, unified modeling language)對環(huán)境中各種系統(tǒng)實體及其關系進行建模;最后,利用反繹推理推導出使可操作性目標為真的事實,完成策略精化。文獻[24]使用事件演算描述系統(tǒng)狀態(tài)和策略應用的條件,將策略精化通過分解和操作這2個階段完成,其中,分解階段將分解規(guī)則作為輸入,并將操作化策略與對象類進行匹配;操作階段使用特定領域的描述信息和高層策略推導出可執(zhí)行的動作。文獻[25]提出了專家預先定義細化目標,再使用線性時序邏輯定義不同目標間的關系,通過模型檢驗進行策略精化,該方式更具自動性。
基于邏輯的策略精化的優(yōu)點是具有一定程度的策略沖突消解能力,缺點是計算復雜度高。
策略精化的其他方法包括基于本體的方法、不同策略描述語言之間的翻譯等。基于本體的方法利用本體建模,保證語義一致性;不同策略描述語言之間的翻譯包括基于角色的訪問控制(RBAC,role-based access control)策略翻譯為基于屬性的訪問控制(ABAC, attribute-based access control)策略等,為策略統(tǒng)一管理和精化提供了支撐。文獻[26]為了解決單域內(nèi)訪問控制策略向多個域翻譯、轉(zhuǎn)換的問題,將訪問控制策略轉(zhuǎn)換成統(tǒng)一的二進制位串,然后生成較少規(guī)則數(shù)的訪問控制標識語言(XACML, extensible access control markup language)描述的策略,通過動態(tài)驗證和靜態(tài)驗證的方法,驗證了轉(zhuǎn)換前后策略語義的一致性,最后為關系型數(shù)據(jù)庫轉(zhuǎn)化為可擴展標識語言(XML, extensible markup language)格式的文檔提供了安全發(fā)布函數(shù)。
通過對上述策略精化方法的分析可以看出,現(xiàn)有對策略精化的研究較少關注于威脅監(jiān)測和信息采集領域,且策略精化方法需要在適用領域和自動化程度間進行權(quán)衡,如圖1所示。由圖1可知,越特定的方法,策略精化的自動化程度越高,需要人員參與的程度越低;反之,越通用的方法,策略精化的自動化程度越低,需要人員參與的程度越高。
圖1 策略精化技術的自動化級別
網(wǎng)絡信息系統(tǒng)通常包括用戶層、服務層和拓撲層等層次結(jié)構(gòu),針對威脅監(jiān)測,各層對應的安全策略分別是高層監(jiān)測需求、中層采集策略和低層設備指令,形成采集策略層次模型,如圖2所示。
采集策略層次模型規(guī)范了復雜網(wǎng)絡環(huán)境下所有威脅監(jiān)測相關的系統(tǒng)、服務、實體間的內(nèi)部結(jié)構(gòu)和相互間的關系。用戶層表達了整個網(wǎng)絡的安全監(jiān)測目標和需求,即系統(tǒng)和管理活動應該完成何種監(jiān)測任務和安全功能,例如,在指定的網(wǎng)絡或者指定的主機上監(jiān)測某類安全威脅,這一層是編寫安全監(jiān)測策略的基礎和依據(jù)。服務層將安全需求實例化為安全服務,是從系統(tǒng)需求到網(wǎng)絡配置映射的中間過程。拓撲層表達了網(wǎng)絡設備、安全設備和終端等網(wǎng)絡節(jié)點及其連接關系,以及在各網(wǎng)絡節(jié)點上提供了何種監(jiān)測機制以滿足上層的安全監(jiān)測需求,實現(xiàn)了安全目標的細化。
圖2 采集策略層次模型
下面分別定義高層監(jiān)測需求、中層采集策略、低層設備指令及策略精化規(guī)則和策略模板,為策略精化引擎計算威脅類型到采集項的精化提供基礎。
定義 1 高層監(jiān)測需求為在指定范圍內(nèi)監(jiān)測指定威脅的需求及執(zhí)行監(jiān)測的約束條件。
高層監(jiān)測需求可用三元組(SCOPE,THREAT_TYPE, CONDITION)表示,即 TDR=(SCOPE, THREAT_TYPE, CONDITION)。其中,SCOPE表示采集范圍的集合,可以是邏輯范圍(如子網(wǎng)、子網(wǎng)類型、服務、服務類型、安全域、管理域等),也可以是物理范圍(如地理區(qū)域、行政區(qū)域等);THREAT_TYPE表示需要監(jiān)測的威脅類型,如THREAT_TYPE={DDoS, Unauthorized Access,Traffic Anomaly, FTP Trojan, … , SQL Injection},其中,DDoS、Unauthorized Access、Traffic Anomaly、FTP Trojan、SQL Injection分別表示分布式拒絕服務攻擊、非法訪問、流量異常、FTP木馬、SQL注入攻擊;CONDITION表示執(zhí)行威脅監(jiān)測的約束集,如執(zhí)行威脅監(jiān)測所需消耗資源的上限,包括計算、存儲、傳輸和電量等資源限制,可用于限制在數(shù)據(jù)采集和威脅分析階段的資源消耗。
定義 2 中層采集策略為在何種條件下和何種機器上,以何種頻率采集何種內(nèi)容。
中層采集策略可用四元組(DEVICE, COLLECT_ITEM, FREQ, CONDITION)表示,即ICP=(DEVICE, COLLECT_ITEM, FREQ, CONDITION)。其中,DEVICE表示待采集設備的集合,待采集設備可以是IP地址、管理員指定的ID等,待采集設備根據(jù)采集范圍和威脅類型精化得出;COLLECT_ITEM 表示采集項的集合,可以是系統(tǒng)狀態(tài)(如CPU利用率、內(nèi)存利用率、進程信息等),也可以是流量信息(如原始流量信息、流量統(tǒng)計信息等),還可以是日志信息(如操作系統(tǒng)日志、應用程序日志等),采集項根據(jù)威脅類型精化得出,具體計算過程在第4節(jié)介紹;FREQ表示采集項集合中各采集項的采集頻率,對于系統(tǒng)狀態(tài),采集頻率以實際采集頻率與固有采集頻率的比值表示,例如,CPU利用率的固有采集頻率為 10次/min,實際采集頻率為20次/min,則CPU利用率的采集頻率為 2,采集頻率在根據(jù)威脅類型計算采集項的過程中一起計算得出,具體計算過程在第4節(jié)介紹;CONDITION表示執(zhí)行數(shù)據(jù)采集的約束集,包括計算、存儲、傳輸和電量等資源限制,由高層監(jiān)測需求中的CONDITION精化得出。
定義 3 低層設備指令為在策略執(zhí)行點上執(zhí)行的具體采集指令及采集頻率。
低層設備指令可用三元組(AGENT, CMD,FREQ)表示,即LDC=(AGENT, CMD, FREQ)。其中,AGENT表示在待采集設備上執(zhí)行采集策略的策略執(zhí)行點,可以是通用采集軟件(如SNMP的代理、Snort、漏洞掃描工具等),也可以是自研的采集程序(如采集系統(tǒng)狀態(tài)信息、流量采集器、威脅感知器等);CMD表示AGENT可執(zhí)行的具體的采集指令;FREQ表示實際采集頻率。
定義4 采集策略精化(CPR, collection policy refinement)為從高層監(jiān)測需求到低層采集代理可執(zhí)行的采集指令的翻譯過程。該翻譯過程分為 2個階段,第一階段由高層監(jiān)測需求翻譯為中層采集策略,該過程是一個語義變換的過程,是威脅分析函數(shù)的逆函數(shù),也是本文研究的重點,具體求解過程在第4節(jié)介紹;第二階段由中層采集策略翻譯為低層設備指令,該過程是一個語法變換的過程,可采用基于規(guī)則和查找表的方式計算,可參考文獻[13,27]。
定義 6 策略精化規(guī)則集(PRRS, policy refinement rule set)為高層監(jiān)測需求到中層采集策略、中層采集策略到低層設備指令之間的精化規(guī)則,包括如下類型的規(guī)則。
規(guī)則 1 采集范圍、威脅類型、待采集設備精化規(guī)則,表示采集范圍、威脅類型到待采集設備的映射。
規(guī)則 2 威脅類型、采集項精化規(guī)則,表示威脅類型到采集項的映射。
規(guī)則 3 待采集設備、策略執(zhí)行點精化規(guī)則,表示待采集設備到策略執(zhí)行點的映射。
規(guī)則 4 采集項、采集配置指令精化規(guī)則,表示采集項到采集配置指令映射。
定義 7 策略模板是存儲結(jié)構(gòu)化策略元素的通用策略,提供有關策略精化引擎輸入和輸出的必要信息。
采集策略模板示例如下。
上述策略模板實例化后如下。
detect threat: DDoS; condition: CPU utility < 10%,network bandwidth <10; collect content: OS Log-1,CPU Utility-2, Memory Utility-2, ProcessInfo-1。
該模板表示監(jiān)測DDoS攻擊,約束條件為每臺待采集設備的CPU利用率占用小于10%,網(wǎng)絡帶寬占用小于10 KB,采集項為操作系統(tǒng)日志、CPU利用率、內(nèi)存利用率、進程信息,采集頻率依次為各項固有采集頻率的1、2、2、1倍。
策略精化規(guī)則集中規(guī)則的實例化組成了一系列采集策略,其中,RSTDEV、RDEVAGT、RITEMCMD規(guī)則采用預定義信息模型方式獲得,RTC規(guī)則采用優(yōu)化計算方式獲得,在本文第4節(jié)著重介紹。
基于采集策略層次模型的策略精化,從高層監(jiān)測需求精化為中層采集策略,最終翻譯為低層設備指令,如圖 3所示,其中①~⑨表示策略精化詳細流程。
圖3 策略精化框架
由高層監(jiān)測需求到低層設備指令的精化算法如算法1所示。
算法1 采集策略精化算法CPR(s,t,c)
輸入 高層監(jiān)測需求TDR(s,t,c),目標網(wǎng)絡中的設備集合D(d1, …,dn)
采集策略精化算法具體步驟介紹如下。
步驟 1 監(jiān)測需求提取與待采集設備確定(算法1的2)~7))。提取高層監(jiān)測需求中的采集范圍、威脅類型、執(zhí)行威脅監(jiān)測的約束集,使用RSTDEV規(guī)則,查找到待采集設備集合。
步驟2 策略庫查找(算法1的9))。根據(jù)威脅類型和執(zhí)行威脅監(jiān)測的約束集,查找對應的策略實例,如果查找成功,則跳轉(zhuǎn)到步驟 4,如果查找失敗,則跳轉(zhuǎn)到步驟3。
步驟 3 策略精化引擎生成新采集策略并存入采集庫(算法1的11)~14))。將威脅類型、執(zhí)行威脅監(jiān)測的約束集和待采集設備的當前運行狀態(tài)信息作為策略精化引擎的輸入,結(jié)合采集代理的采集能力、威脅特征等信息,策略精化引擎計算采集收益和采集成本,生成適用于待采集設備當前運行狀況的最優(yōu)的采集項集合和各采集項對應的采集頻率,其具體計算過程在第4節(jié)介紹。最后,將威脅類型、待采集設備的當前運行狀態(tài)信息、采集項及對應的采集頻率集合作為一條實例化采集策略,存儲到策略庫中,對策略庫進行動態(tài)擴充。
步驟4 中層策略到低層策略翻譯(算法1的16)~17))。對于每個待采集設備,根據(jù) RDEVAGT規(guī)則,獲取策略執(zhí)行點信息,然后根據(jù)策略庫中的采集項及對應的采集頻率,使用RITEMCMD規(guī)則,將采集項翻譯為采集配置指令,最后,在各策略執(zhí)行點上,下發(fā)采集配置指令。
本節(jié)提出了一種基于優(yōu)化算法的威脅類型到采集項的精化方法,研究在不同資源水平下,執(zhí)行采集策略的收益和因采集引起的資源消耗損失之間的平衡。通過優(yōu)化求解,使策略精化引擎依據(jù)各待采集設備的資源水平生成相應的采集策略,提高采集收益,減少資源消耗。
從威脅類型到采集項的精化主要考慮采集收益和采集成本這2個方面的因素,其中,采集收益用于衡量采集信息對威脅監(jiān)測的貢獻度,采集有效數(shù)據(jù)越多,收益越大。一般情況,采集收益隨采集項的采集頻率單調(diào)遞增,而邊際收益隨采集頻率單調(diào)遞減,即采集收益函數(shù)應滿足以下限制條件。
1) 采集收益的一階導數(shù)大于或等于0。
2) 采集收益的二階導數(shù)小于或等于0。
本文的采集收益定義為
其中,λ表示模型的系數(shù),λ>0;ci表示采集項i的采集貢獻度,ci> 0 ;xi表示采集項i的采集頻率,xi≥ 0 ,采集頻率分為連續(xù)和離散2種類型,當采集項為系統(tǒng)狀態(tài)類或日志類時,采集頻率為連續(xù)值;當采集項為流量時,采集頻率取離散值0或1,xi= 0 時,表示不對采集項i進行采集。根據(jù)式(2)和式(3)可知,式(1)滿足限制條件1)和2)。
采集成本衡量因采集引起的待采集設備的資源消耗,包括待采集設備在計算資源、存儲資源和傳輸資源等方面的消耗,一般認為采集消耗的資源越少越好,尤其是在資源受限環(huán)境,例如,天地一體化網(wǎng)絡環(huán)境中衛(wèi)星的計算資源和存儲資源十分有限,用于管理的信令大小僅有數(shù)百字節(jié),不能因采集影響管理網(wǎng)絡的正常運行。采集成本定義為
下面,分別從采集收益和采集成本這2個方面進行介紹。
由于同一采集項對監(jiān)測多種威脅均有相關性,因此需要對采集項對威脅監(jiān)測的貢獻程度進行整體考慮,參考軟件工程中的非功能性需求(NFR, non-functional requirement)框架[28],將威脅監(jiān)測作為最高層的安全目標,將待監(jiān)測的威脅類型作為軟目標(softgoal),將采集項作為操作(operationalization),參考軟件目標依賴圖(SIG,softgoal interdependency graph)設計威脅依賴圖(TIG, threat interdependency graph),如圖4所示。
TIG定義為
其中,V∈{TMG, TTG, CT}是頂點集合,TMG代表威脅監(jiān)測目標的集合,是圖4中的根節(jié)點,TTG代表威脅類型的集合,是圖 4中的中間層節(jié)點,CT代表采集項集合,是圖4中的葉子節(jié)點;E是邊e的集合,e=(v1,v2)表示v1和v2間具有連接關系,其中,v1,v2∈V。
本文參考文獻[29]中的威脅分類方式和檢測方法,添加了威脅類型對于安全目標的影響程度。為計算采集項對威脅監(jiān)測的影響,參考Affleck等[30]對 NFR框架中操作化得分的定量計算,利用遞推法求底層采集項對監(jiān)測威脅的貢獻程度。
首先,威脅類型定義為
其中,T T Gweight為該威脅類型對于安全目標的影響權(quán)重,如圖4中根節(jié)點到中間層節(jié)點的數(shù)值,其數(shù)值越大,代表對網(wǎng)絡安全的影響程度越高。
圖4 威脅依賴圖示例
采集項的貢獻度定義為
利用圖4所示的TIG,計算采集項CPU利用率的貢獻度,CPU利用率與拒絕服務攻擊和流量異常均有相關性,CTstore=(0.80×0.60)+(0.50×0.30)=0.63,代表CPU利用率對于威脅監(jiān)測的貢獻度是0.63。
對于系統(tǒng)狀態(tài)類和流量類采集項與威脅的關聯(lián)度,可以根據(jù)KDD99數(shù)據(jù)集[31]中連接的41個特征劃分,并用其異常程度定量描述采集項與威脅的相關度。
對于日志類采集項與威脅的關聯(lián)度,可定義為
其中,validFieldNumi為采集項i的威脅分析有效字段數(shù),fieldNumi為采集項i記錄的總?cè)罩咀侄螖?shù),validRatei為日志有效率,即可被威脅分析使用的有效記錄數(shù)與總采集記錄數(shù)的比值。
因采集引起的待采集對象的成本主要從計算資源、存儲資源和傳輸資源這3個方面進行考慮。
1) 計算資源
利用Perf等性能分析工具,對不同采集項單獨進行采集時捕獲其CPU利用率(task-clock-msecs),預估各采集項的計算資源消耗。各采集項的計算成本定義為
其中,ai為采集項i的計算成本,xi為采集項i的采集頻率。
2) 存儲資源
在進行本地緩存時,各采集項的存儲成本定義為
其中,ni為采集項i的字節(jié)數(shù)。
3) 傳輸資源
與采集信息傳輸相關的時延有處理時延、排隊時延、傳輸時延、傳播時延等,當前網(wǎng)絡帶寬為BW,則各采集項的傳輸成本定義為
總采集成本如式(4)所示,其中,xi是決策屬性,代表采集頻率。當采集項i為系統(tǒng)狀態(tài)和日志時,xi∈ [ 0,+ ∞) ;當采集項i為流量時,xi∈ { 0,1},“0”代表不采集,“1”代表采集。采集頻率乘以預設固有采集頻率等于實際采集頻率。
wc、ws和wn是3個權(quán)重,分別代表計算資源、存儲資源和傳輸資源對于成本計算的重要程度,由于計算資源、存儲資源和傳輸資源的變化是可逆的,因此可以采用自適應加權(quán)。當上述三者中的某一項剩余資源減少得快時,會導致其對采集成本的影響較大。wc、ws、wn分別定義為
其中,C、S和N分別是采集代理的當前剩余的計算資源百分比、剩余的存儲資源百分比和剩余的傳輸資源百分比。當某一項資源剩余情況較好時,會導致采集方案對該項采集成本的影響不明顯,并且可以限制在不同資源水平下的采集成本,例如,在其他條件相同的情況下,電量充沛時的采集成本較低,電量剩余量少時的采集成本增加。C、S分別定義為
目標函數(shù)定義為
其中,X表示系統(tǒng)狀態(tài)類和日志類的采集頻率集合,是連續(xù)變量,取“0”代表不采集,其他值代表采集頻率;Y表示流量類的采集頻率,取“0”代表不采集,取“1”代表采集。約束條件表示計算資源消耗小于或等于存儲資源消耗小于或等于傳輸資源消耗小于或等于
RTC的精化是一個離散型和連續(xù)型混合的非線性優(yōu)化問題,求解該問題的方法有數(shù)學方法、演化計算方法等,其中,數(shù)學方法包括罰函數(shù)法、可行方向法、逐步二次規(guī)劃法等,演化計算方法包括遺傳算法、粒子群算法、文化算法等。演化計算用概率的變遷規(guī)則來控制搜索的方向,在概率意義上朝最優(yōu)解方向靠近,在有限時間內(nèi)可得到近似最優(yōu)解,本文采用遺傳算法對威脅類型到采集項進行精化,主要分為如下3個部分。
1) 編碼
編碼是根據(jù)問題的解空間確定染色體中個體表現(xiàn)型的長度,本文采用二進制編碼作為基因型編碼,若采集頻率取值范圍為[a,b],精度為小數(shù)點后l位,則二進制編碼長度k需滿足
對式(17)進行解析,得到k的取值范圍為
本文方案中,對于系統(tǒng)狀態(tài)類和日志類采集項的采集頻率為連續(xù)型,其取值范圍為[0,10],設定精度為小數(shù)點后 4位,按照式(18),二進制編碼串長度為17;對于流量類采集項的采集頻率為離散型,取值為0和1,二進制編碼串長度為1。
2) 適應度函數(shù)
適應度函數(shù)是對算法所產(chǎn)生的染色體進行評價,并基于適應度值選擇染色體的函數(shù),本文采用式(16)中的目標函數(shù)作為適應度函數(shù),采用式(16)中的約束函數(shù)判斷染色體中的個體是否是可行解,若不滿足約束函數(shù),則標記為非可行解,在對當代種群的最優(yōu)個體做記錄等操作時不考慮非可行解。
3) 遺傳算子
遺傳算子分為交叉算子、變異算子和選擇算子。交叉操作在種群中隨機選取2個個體作為父個體,并把2個父個體的部分碼值進行交換操作。目前主流的交叉算子包括單點交叉、雙點交叉、均勻交叉、算術交叉等,本文采用經(jīng)典的單點交叉,以最大限度地保存父個體的優(yōu)勢。對于變異算子,本文采用以變異概率對染色體中的個體進行補運算,以完成二進制編碼中新搜索領域的開辟。除上述交叉算子和變異算子外,還需確定合適的交叉概率Pc和變異概率Pm,綜合考慮收斂速度、產(chǎn)生新個體的能力,達到防止算法陷入局部最優(yōu)的目的。目前 2個概率值主要依靠經(jīng)驗的方法得到,一般情況下Pc取值范圍為[0.40, 0.99],Pm取值范圍為[0.000 1,0.100 0][32]。選擇算子依據(jù)個體適應度值選擇在下一代中被保留還是淘汰,目前主流的選擇算子有輪盤賭選擇、排序選擇、期待值選擇等,本文選擇輪盤賭方法,使適應度值大的染色體被選中的概率大。
本文針對高層監(jiān)測需求中的威脅類型到中層采集策略的采集項和采集頻率的精化進行模擬實驗。實驗平臺為:Intel(R) Core(TM) i7-7500U 2.70 GHz,8 GB 內(nèi)存,1 TB 存儲,Windows 10操作系統(tǒng),Python 3.6.5軟件。通過設置不同的高層監(jiān)測需求,驗證監(jiān)測不同威脅類型和待采集設備處于不同資源水平情況下,精化后的采集項和頻率的合理性。
表 1為實驗中各采集項的采集貢獻度。對于DDoS攻擊,在受到該類攻擊后,系統(tǒng)的計算和存儲資源水平受到影響,所以 CPU占用率和內(nèi)存利用率這 2項采集項的貢獻度較大,而端到端的 IP流量也有利于分析該類攻擊,所以其貢獻度也較大;對于非法訪問,在受到該類攻擊時,總體流量不會有明顯變化,所以端到端的 IP流量貢獻度較小,但是針對非法訪問的服務流量需要著重采集,所以特定服務的業(yè)務流量采集項的貢獻度較大;對于FTP木馬,采集FTP服務日志及特定服務的業(yè)務流量有利于分析該類威脅,所以這2項的貢獻度較高。
表1 采集項采集貢獻度驗證實驗參數(shù)
表2為各采集項每次采集的計算、存儲、傳輸?shù)某杀尽H罩绢惒杉椧宰x取文件方式進行采集,占用非常少的計算資源,在存儲和傳輸成本方面,每次增量采集的日志量一般不大,所以分別估算為0.192和0.128;流量類的端到端的IP流量采集方式占用計算資源較日志類高,同時過濾某一特定服務的業(yè)務流量也較端到端的 IP流量采集方式計算成本大,所以這2項的計算成本分別估算為0.200和0.600,在存儲和傳輸成本方面,端到端的 IP流量采集方式最高,估算為 0.300,特定服務的業(yè)務流量采集較全采集的存儲和傳輸成本低,估算為0.128;系統(tǒng)狀態(tài)類采集項以系統(tǒng)調(diào)用或讀文件方式進行采集,計算成本適中,估算為 0.300,在存儲和傳輸成本方面,由于存儲狀態(tài)類信息占用的空間少,因此較其他類低很多,估算為0.040。
表2 采集項采集成本驗證實驗參數(shù)
實驗分為如下3個部分。
1) 面對不同威脅類型時,生成適用于監(jiān)測該類威脅的個性化的采集項及對應的采集頻率。具體而言,在待采集設備處于相同資源水平時,例如,當前剩余資源非常豐富,即剩余的計算資源百分比、存儲資源百分比和傳輸資源百分比均為 1,分別監(jiān)測DDoS、非法訪問、流量異常、FTP木馬攻擊,或者一些組合攻擊,觀察和分析策略精化引擎生成的采集項及對應的采集頻率情況。
2) 在監(jiān)測同一種威脅時,待采集設備處于不同資源水平,采集策略精化引擎生成的采集項及對應采集頻率情況。
3) 在監(jiān)測同一種威脅時,采用遺傳算法、粒子群算法、窮舉法和隨機法在不同規(guī)模的采集項情況下進行精化,比較精化生成采集項及采集頻率的時間和目標函數(shù)的值。
在待采集設備上,使用表1和表2所示的實驗參數(shù)針對4類攻擊進行策略精化,系統(tǒng)參數(shù)λ=2,得到每個采集項的采集頻率如圖5所示。對于4類攻擊均以不同頻率采集CPU占用率和內(nèi)存利用率;對于非法訪問和FTP木馬等攻擊,分別以不同頻率采集FTP服務日志和FTP的業(yè)務流量;對于流量異常攻擊,采集端到端的IP流量;對于DDoS、非法訪問和流量異常這3類攻擊,均以不同頻率采集系統(tǒng)日志。
圖6為待采集設備處于不同計算資源水平時針對DDoS的監(jiān)測,即在不同約束條件下進行采集策略精化,得到每個采集項的采集頻率。在計算資源水平較低時,計算資源在成本計算的權(quán)重較高,為達到最大的采集收益,選擇較少占用計算資源的系統(tǒng)日志和端到端的 IP流量等采集項,且其采集頻率較高;當計算資源水平升高后,計算資源在成本計算的權(quán)重降低,選擇較多占用計算資源的系統(tǒng)狀態(tài)類采集項,且其采集頻率隨計算資源水平升高而逐漸升高。
圖5 監(jiān)測不同威脅類型精化生成的采集項及頻率
圖6 不同計算資源水平精化生成的采集項及頻率
圖7為待采集設備處于不同傳輸資源水平時針對流量異常的監(jiān)測,即在不同約束條件下進行采集策略精化,得到系統(tǒng)狀態(tài)日志采集頻率變化情況,隨著傳輸資源水平的升高,系統(tǒng)日志采集項的采集頻率逐漸升高。
在對比實驗中,采集項頻率范圍設置為[0, 10]。使用隨機生成采集項和采集頻率模擬未使用本文方案進行精化的方法。窮舉法是對各采集項取1~10間的整數(shù)組合進行窮舉。粒子群算法采用本文提出的目標函數(shù)作為其適應度函數(shù),進行100個粒子的200輪迭代,個體經(jīng)驗系數(shù)和群體經(jīng)驗的加速系數(shù)均設置為 1,慣性參數(shù)也設置為 1,采用 Sigmoid函數(shù),根據(jù)速度分量決定離散型決策變量在迭代中取1或0的概率[32]。遺傳算法采用第4節(jié)所述的100個個體的200輪迭代,交叉概率Pc=0.8,變異概率Pm=0.000 1。
圖7 不同傳輸資源水平精化生成的系統(tǒng)日志采集項的采集頻率
圖8和圖9為不同算法的采集策略精化的計算時間和效果比較。圖8和圖9的橫坐標均為候選采集項數(shù)量,既有連續(xù)型決策變量,也有離散型決策變量;圖8縱坐標為計算時間,以秒為單位,圖9縱坐標為目標函數(shù)值,度量采集效果。
圖8 不同算法的采集策略精化計算時間比較
由圖8和圖9可知,隨機法生成采集項的計算時間接近為0 s,但是會使目標函數(shù)值小于0,即采集收益小于采集成本,且隨著采集項數(shù)的增加,目標函數(shù)值不斷減少,即采集收益增加甚微,但是采集成本增大快。窮舉法的計算時間將呈指數(shù)級增長趨勢,在采集項超過 6項時遠高于其他算法,不符合精化的實時性需求。粒子群算法在計算時間方面與遺傳算法相仿,但是采集效果劣于遺傳算法。
圖9 不同算法的采集策略精化效果比較
綜上,遺傳算法在計算時間上與粒子群算法持平,高于隨機法,遠低于窮舉法。但是在目標函數(shù)求解效果方面,遺傳算法在4種算法中最優(yōu),并且隨著采集項數(shù)的增加,其采集效果呈上升趨勢,即可供選擇的采集項數(shù)增加,采集收益較采集成本增加快,不會使采集造成的資源消耗過量增加。
本文針對復雜網(wǎng)絡環(huán)境下設備數(shù)量繁多且各設備資源不均衡的問題,提出了一種面向威脅監(jiān)測的采集策略精化方法,該方法引入了策略模板,考慮了待采集設備的當前計算資源水平、存儲資源水平和傳輸資源水平等因素,通過設置采集貢獻度和采集成本,以混合優(yōu)化計算指定威脅類型的采集項及各采集項對應的采集頻率。模擬實驗結(jié)果表明,該采集策略精化方法可以有效地生成采集方案,并且在資源水平較低時,還可自適應地減少采集項,降低采集頻率。
雖然基于策略模板和混合優(yōu)化計算的方式是一種有效的策略精化方法,但本文缺乏對計算、存儲和傳輸?shù)瘸杀镜母呔攘炕?。因此,進一步的研究工作將重點分析各采集項的采集成本,并增加對能耗成本的量化計算。