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