邢宇恒
(國家電網(wǎng)公司信息通信分公司, 北京 100761)
基于知識(shí)庫的系統(tǒng)安全評(píng)估方法
邢宇恒
(國家電網(wǎng)公司信息通信分公司, 北京 100761)
在系統(tǒng)非正常狀態(tài)和正常狀態(tài)這兩種運(yùn)行狀況下,使用 nmon 等系統(tǒng)監(jiān)測工具采集了代表系統(tǒng)運(yùn)行狀態(tài)的指標(biāo)數(shù)據(jù),對(duì)獲取的指標(biāo)數(shù)據(jù)進(jìn)行了向量化操作,構(gòu)造了可以反映系統(tǒng)運(yùn)行狀態(tài)的多維行為特征。 采用類內(nèi)、類間評(píng)價(jià)距離準(zhǔn)則對(duì)指標(biāo)數(shù)據(jù)進(jìn)行了有效特征提取,構(gòu)建了能夠反映系統(tǒng)運(yùn)行狀態(tài)的行為特征知識(shí)庫。然后利用行為特征知識(shí)庫的數(shù)據(jù)構(gòu)造了決策樹,以判斷系統(tǒng)所處狀態(tài)是否安全。
行為特征知識(shí)庫;類內(nèi)、類間距離評(píng)價(jià)準(zhǔn)則;決策樹
操作系統(tǒng)作為計(jì)算機(jī)系統(tǒng)資源的管理者,需要為軟硬件提供相應(yīng)的服務(wù)和支持,因此需要確保操作系統(tǒng)在正常的狀態(tài)下運(yùn)行。但是當(dāng)系統(tǒng)資源消耗到一定程度的時(shí)候,就會(huì)導(dǎo)致系統(tǒng)運(yùn)行效率下降甚至因?yàn)槟稠?xiàng)系統(tǒng)資源瓶頸而導(dǎo)致系統(tǒng)不可用。系統(tǒng)在發(fā)生某類安全問題之前,可能已經(jīng)處于一種非正常的狀態(tài)了。而行為作為狀態(tài)變化的外在表現(xiàn),從信息數(shù)據(jù)角度看,當(dāng)對(duì)輸入的數(shù)據(jù)進(jìn)行處理并將其轉(zhuǎn)化成輸出數(shù)據(jù)后,其狀態(tài)會(huì)發(fā)生一定的變化,故可以通過監(jiān)測到的系統(tǒng)狀態(tài)指標(biāo)數(shù)據(jù)對(duì)當(dāng)前系統(tǒng)狀態(tài)進(jìn)行反推。
本文主要使用 nmon 監(jiān)測工具來獲取系統(tǒng)運(yùn) 行狀態(tài)指標(biāo)數(shù)據(jù)。在系統(tǒng)產(chǎn)生安全問題(宕機(jī)或者進(jìn)入死鎖狀態(tài)等)之前,利用反映系統(tǒng)非正常和正常狀態(tài)的歷史數(shù)據(jù)對(duì)系統(tǒng)當(dāng)前所處的狀態(tài)進(jìn)行判斷,從而有效地判斷出系統(tǒng)狀態(tài)并及時(shí)通知系統(tǒng)管理員采取相應(yīng)的解決措施。
本文采用決策樹策略對(duì)系統(tǒng)所處狀態(tài)是否正常進(jìn)行判定,構(gòu)建決策樹需要以下步驟。
(1)利用內(nèi)存泄露堆積可能引發(fā)系統(tǒng)狀態(tài)不正常這一特點(diǎn),設(shè)計(jì)相關(guān)測試用例模擬系統(tǒng)的非正常狀態(tài)。
(2)利用 nmon 監(jiān)測工具獲取系統(tǒng)模擬情況下的非 正常狀態(tài)以及正常狀態(tài)的指標(biāo)數(shù)據(jù),采用第 2節(jié)的方法對(duì)獲取的指標(biāo)數(shù)據(jù)進(jìn)行向量化操作,構(gòu)造可以反映系統(tǒng)運(yùn)行狀態(tài)的多維行為特征;并對(duì)多維行為特征進(jìn)行基于類內(nèi)、類間距離評(píng)價(jià)準(zhǔn)則的有效提取,進(jìn)而選取若干指標(biāo)數(shù)據(jù)以構(gòu)建行為特征知識(shí)庫。
(3)利用行為特征知識(shí)庫中的信息作為訓(xùn)練樣本集構(gòu)建決策樹,從而判斷系統(tǒng)所處狀態(tài)是否正常及安全。
在 眾多操作系 統(tǒng)的監(jiān) 測工具中,nmon 是被廣 泛使 用的監(jiān)測工具。相對(duì)于其他工具來說,nmon 工具所記錄的信息是比較全面的。nmon 工具監(jiān)控的項(xiàng)目主要有:CPU 占用率 、內(nèi) 存 使 用 情 況 、磁 盤 I/O 速 度 、傳 輸 和 讀 寫 比 率 、文 件系統(tǒng)的使用率、網(wǎng)絡(luò) I/O 速度、傳輸和讀寫比率、錯(cuò)誤統(tǒng)計(jì)率與傳輸分組的大小、消耗資源最多的進(jìn)程、計(jì)算機(jī)詳細(xì)信 息 和 資 源 、頁 面 空 間 和 頁 面 I/O 速 度 、用 戶 自 定 義 的 磁盤組和網(wǎng)絡(luò)文件系統(tǒng)等。雖然通過工具監(jiān)測可獲取到代表系統(tǒng)運(yùn)行狀況的指標(biāo)數(shù)據(jù),但通過 nmon 工具獲取的指標(biāo)數(shù)據(jù)有多個(gè),這些指標(biāo)中包含大量對(duì)系統(tǒng)狀態(tài)分析價(jià)值不高的元素,為了排除無關(guān)信息的干擾,避免數(shù)據(jù)冗余,需要對(duì)其特征值進(jìn)行有效提取后再進(jìn)行知識(shí)庫的構(gòu)建。
2.1 行為特征知識(shí)庫的構(gòu)建流程
行為特征知識(shí)庫構(gòu)建流程如圖 1所示,具體介紹如下。
(1)采集代表系統(tǒng)非正常狀態(tài)以及正常狀態(tài)下的指標(biāo)數(shù)據(jù)。
(2)對(duì)獲取的指標(biāo)數(shù)據(jù)進(jìn)行向量化操作,構(gòu)造可以反映系統(tǒng)運(yùn)行狀態(tài)的多維行為特征。
(3)運(yùn)用類內(nèi)、類間距離評(píng)價(jià)準(zhǔn)則進(jìn)行有效行為特征提取。
2.2 有效特征提取
圖1 行為特征知識(shí)庫構(gòu)建流程
2.2.1 類內(nèi)距離
假設(shè)數(shù)據(jù)集合{x1,…,xm}在某種相似性測度基礎(chǔ)之上被劃 分 為 K 類 {xi(j)},j=1,… ,K 為 類 別 標(biāo) 號(hào) ,i=1,… ,nj表 示 類 內(nèi)數(shù)據(jù)的序號(hào)則類內(nèi)距離定義為:
其 中 ,mj表 示 j類特征均值越 小 ,說明特征越顯著。
2.2.2 類間距離
同理,類間距離定義為:
其 中 ,mj表 示 j類 特征 均 值 ,m 為 總 特 征 均 值 。DB越大,說明特征越顯著。
2.2.3 類內(nèi)類間距離準(zhǔn)則
由上文的描述可知:若在類內(nèi)距離越小的同時(shí)類間距離越大,則在區(qū)分特征方面效果越明顯。定義可以同時(shí)反映類內(nèi)和類間距離的準(zhǔn)則函數(shù)為:
類間 距 離 DB越 大,類 內(nèi) 距 離 DW越 小 ,即 類 內(nèi) 類 間 距離 D 越大,特征就越顯著。針對(duì)本文所涉及的系統(tǒng)非正常與正常兩類問題,設(shè)系統(tǒng)正常狀態(tài)和非正常狀態(tài)下某個(gè)指標(biāo) T 的分布函數(shù)如圖 2所示,并記系統(tǒng)正常狀態(tài)下該特 征的 均 值 為 m0、方 差 為 σ0,系 統(tǒng) 非 正 常 狀 態(tài) 下 該 特 征 的 均 值為 m1、方差為 σ1。
圖2 特征T的分布函數(shù)
此時(shí),類內(nèi)類間距離準(zhǔn)則為:
由 此 可 知 ,?m=|m0-m1|越 大 ,對(duì) 于 兩 類 的 區(qū) 分 性 就 越大,即行為特征顯著性就越好。這說明指標(biāo) T對(duì)于區(qū)分系統(tǒng)正常狀態(tài)和非正常狀態(tài)的能力很強(qiáng),應(yīng)該將此指標(biāo)作為有效特征加入行為特征知識(shí)庫中。相反,若 ?m=|m0-m1|越小,則說明該指標(biāo)將系統(tǒng)狀態(tài)分類正確的概率比較小,可靠性比較低,這種特征可被丟棄,不再加入行為特征知識(shí)庫。
根據(jù)第 2節(jié)系統(tǒng)監(jiān)測取得的有效系統(tǒng)指標(biāo)參數(shù),例如CPU 利 用 率 、內(nèi) 存 利 用 率 、磁 盤 I/O 速 率 、中 斷 數(shù) 、文 件 系統(tǒng)利用率,通過設(shè)計(jì)不同的測試用例來模擬系統(tǒng)資源不同的消耗狀態(tài),根據(jù)系統(tǒng)對(duì)一類固定操作的響應(yīng)時(shí)間長短來判斷系統(tǒng)是否處于正常狀態(tài)。對(duì)監(jiān)測得到的數(shù)據(jù)進(jìn)行歸類,例如將 CPU 的占用率分為高、中、低 3 個(gè)值。將有效系統(tǒng)指標(biāo)歸類后得到的系統(tǒng)狀態(tài)參數(shù)見表 1。
在得到有效的特征知識(shí)庫后,就可以利用這些指標(biāo)數(shù)據(jù)構(gòu)建決策樹。目前決策樹技術(shù)已經(jīng)在許多數(shù)據(jù)挖掘系統(tǒng)中得到了應(yīng)用,國內(nèi)外很多公司均推出了自己的數(shù)據(jù)挖掘系 統(tǒng) ,例 如 Microsoft、SGI、SAS、IBM、SAP 等 在 已 推 出 的 數(shù)據(jù)挖掘系統(tǒng)中首選的就是決策樹方法。
而 當(dāng) 前 最 具 有 影 響 力 的 決 策 樹 算 法 是 Quinlan 于1993 年 提 出 的 C4.5 算 法 。C4.5 選 擇 信 息 增 益 值 率 最 大 的屬性作為分裂屬性,將訓(xùn)練實(shí)例集分裂成若干子集,在各子集上持續(xù)地遞歸上述過程,直到葉子節(jié)點(diǎn)為純的實(shí)例集或者再無其他可供選擇的分裂屬性,然后使用剪枝技術(shù)修剪之前產(chǎn)生的樹。
表1 系統(tǒng)狀態(tài)參數(shù)
定 義 1 (信息熵)設(shè)有一個(gè)離散隨機(jī)變量 X,它有 n 個(gè)可 能 取 值 ,分 別 為 a1,a2,… ,an,各 種 取 值 出 現(xiàn) 的 概 率 分 別 為p1=P(a1),p2=P(a2),… ,pn=P(an),則 :
稱為隨機(jī)變量 X 的信息(離散)熵。
定義 2 (信息增益)一個(gè)屬性的信息增益是指由于使用這個(gè)屬性分割實(shí)例集而導(dǎo)致的期望熵的降低。其定義式為:
其 中 ,S 為 實(shí) 例 集 合 ,A 為 某 一 屬 性 ,υ為 屬 性 的 某 一個(gè)取值。
定義 3 (分裂信息)假設(shè)訓(xùn)練實(shí)例集 S的某屬性 A的取 值 個(gè)數(shù)為 k,Sj為屬 性 A 的 第 j個(gè) 可 能 取 值 對(duì) 應(yīng) 的 實(shí)例子集,則 S關(guān)于屬性 A 的分裂信息量定義為:
定義 4 (信 息增益率 )信 息 增 益率 = 信 息增益/分裂信息量。
圖3 為一個(gè)計(jì)算屬性 CPU 的信息增益率的例子。屬性CPU 有 3 個(gè)取值,分別為高(high)、中(middle)、低(low)。當(dāng)前實(shí)例集合 S 中共有 14 個(gè)實(shí)例,其 中 9 個(gè)實(shí)例 的類值為正常,5個(gè)實(shí)例的類值為不正常。因此實(shí)例集合的信息熵為:
圖3 CPU 信息屬性分裂
屬性 CPU 為高的實(shí) 例 有 5 個(gè),其中 2 個(gè) 類值為正 常 ,3個(gè)類值為不正常。信息熵為:
屬性 CPU 為中的實(shí)例有 4個(gè),且全部為正常。信息熵為:
屬 性 CPU 為低 的 實(shí) 例有 5 個(gè) ,其 中 3 個(gè)類值 為 正 常,2個(gè)類值為不正常。信息熵為:
故屬性 CPU 的信息增益為:
選擇 CPU 為分裂屬性時(shí),CPU 屬性將實(shí)例集分裂成 3 個(gè)子集,各 子集中 實(shí)例 的個(gè)數(shù) 分別為 5、4 和 5,因此 分裂 信息量為:
因此,選擇 CPU 為分裂屬性時(shí),其信息增益率為:
重 復(fù) 以 上 步 驟 ,可 以 得 到 內(nèi) 存 利 用 率 、磁 盤 I/O 速 率 、中斷數(shù)等信息增益率。
使 用 R 環(huán) 境 下 Rweka 分 組 提 供 的 J48 函 數(shù) 對(duì) 本 文 第2節(jié)取得的有效系統(tǒng)狀態(tài)指標(biāo)來構(gòu)建決策樹,得到的系統(tǒng)狀態(tài)決策樹如圖4所示。
圖4 系統(tǒng)狀態(tài)決策樹
以往只是利用系統(tǒng)監(jiān)測工具獲取系統(tǒng)運(yùn)行狀態(tài)指標(biāo)數(shù)據(jù),卻沒有利用這些數(shù)據(jù)對(duì)系統(tǒng)進(jìn)行狀態(tài)分析和判斷。根據(jù)本文提出的思路進(jìn)行評(píng)估系統(tǒng)狀態(tài)的實(shí)驗(yàn),結(jié)果表明本文的設(shè)計(jì)是切實(shí)可行的,具有研究價(jià)值。日常運(yùn)維經(jīng)驗(yàn)顯示,信息系統(tǒng)在運(yùn)行維護(hù)的前期,當(dāng)用戶壓力還沒有很大時(shí),系統(tǒng)的性能表現(xiàn)還不錯(cuò)。當(dāng)用戶數(shù)越來越多或者某一個(gè)時(shí)間段內(nèi)大量用戶訪問某一系統(tǒng)時(shí),系統(tǒng)響應(yīng)時(shí)間會(huì)變得很長甚至系統(tǒng)不可用。利用本文提出的方法,結(jié)合系統(tǒng)的壓力測試,可以找出系統(tǒng)的資源瓶頸。在系統(tǒng)運(yùn)行監(jiān)控時(shí),也能夠?qū)ο到y(tǒng)狀態(tài)做出預(yù)判,從而避免系統(tǒng)出現(xiàn)故障。 目前在電力信息系統(tǒng)運(yùn)行維護(hù)的過程中,雖然可以做到對(duì)所有的系統(tǒng)進(jìn)行監(jiān)控,但是在發(fā)生告警通知時(shí),有一定的誤警發(fā)生,浪費(fèi)了人力物力,利用本文提出的決策樹方法,在運(yùn)維過程中收集系統(tǒng)運(yùn)行狀態(tài)指標(biāo),構(gòu)建行為特征知識(shí)庫,最終構(gòu)建出決策樹并找出告警的根本原因(指標(biāo))如何找到發(fā)生告警通知的根本原因受到硬件和實(shí)驗(yàn)條件的影響,沒能取得大規(guī)模的實(shí)驗(yàn)數(shù)據(jù)。如果能把更多的系統(tǒng)狀態(tài)指標(biāo)添加到?jīng)Q策樹中,會(huì)使該方法對(duì)系統(tǒng)狀態(tài)做出的判斷更加精確,判斷的準(zhǔn)確率更高。
[1] 王利.淺談 Linux 系統(tǒng)安全及應(yīng)用[J].科技信息,2010(10):240-241. WANG L.Safety and application of Linux system[J].Science& Technology Information,2010(10):240-241.
[2] 楊 善 紅.Linux 應(yīng) 用 程 序 內(nèi) 存 錯(cuò) 誤 自 動(dòng) 化 測 試 研 究 [J]. 民 營 科技,2011(10):53. YANG S H.Research on Linux applications automatic memory error testing[J].Private technology,2011(10):53.
[3] 唐 川 .UNIX 系 統(tǒng) 性 能 監(jiān) 控 簡 述 及 shell 系 統(tǒng) 資 源 統(tǒng) 計(jì) 程 序[J]. 科 學(xué) 咨 詢 ,2009(7):39-40. TANG C.The UNIX system performance monitoring and shell system resource statistics program[J].Scientific Consult,2009(7 ):39-40.
[4] 劉 海 燕.Linux 系 統(tǒng) 的 安 全 檢 測 與 增 強(qiáng) 技 術(shù) 分 析[J]. 計(jì) 算 機(jī) 工程與設(shè)計(jì),2005,26(1):100-102. LIU H Y.Linux system safety inspection and reinforcing technology analysis[J].Computer Engineering and Design,2005,26(1):100-102.
[5] 周 超.Linux 下 C 語 言 程 序 內(nèi) 存 泄 漏 的 研 究 [J]. 工 礦 自 動(dòng) 化 ,2008(4):137-139. ZHOU C.Study on C language memory leak under Linux [J]. Industry and Mine Automation,2008(4):137-139.
[6] HSU C W,LIN C J.A comparison of methods for multiclass support vector machines[J].IEEE Transactions on Neural Networks,2002,13(2):415-425.
[7] The R project for statistical computing [EB/OL]. [2015-01-22]. http:/www.r-project.org/.
[8] 孫 文 華.基 于 B/S 架 構(gòu) 的 nmon 遠(yuǎn) 程 監(jiān) 控 平 臺(tái) [J]. 信 息 系 統(tǒng) 工程,2012(6):16-17. SUN W H.Based on B/S architecture nmon remote monitoring platform[J].Information System Engineering,2012(6):16-17.
[9] 薛 利 民.基 于 Linux 的 電 網(wǎng) 狀 態(tài) 監(jiān) 測 系 統(tǒng) 軟 件 [J].電 力 自 動(dòng) 化設(shè)備,2004,24(7):126-127. XUE L M.The software of power grid monitoring system based on the Linux [J].Electric Power Automation Equipment,2004,24(7):126-127.
[10]BENNETT A A.A behavior-based approach toadaptive feature detection and following with autonomous underwater vehicles[J].IEEE Journal of Oceanic Engineering,2001,25 (2):218-220.
System security assessment based on knowledge base
XING Yuheng
State Grid Information&Telecommunication Branch,Beijing 100761,China
Under the two kinds of system operation conditions,abnormal state and normal state,indicated data on behalf of the system running status was collected by system monitoring tools such as nmon,and the obtained index data was quantitatively operated.The features of multidimensional behavior was constructed which could reflect the running state of the system.The index data has been carried on by effective feature extraction by means of the between-class and within-class distance measurement criterion,and knowledge base of behavior features was constructed which reflects the system running state.The decision tree was constructed to judge whether the system of state was secure through data features of behavior knowledge base.
knowledge base of behavior feature,between-class and within-class distance measurement criterion,decision tree
TP399
:A
10.11959/j.issn.1000-0801.2016115
2016-01-07;
2016-03-16
邢宇恒(1988-),男,國家電網(wǎng)公司信息通信分公司 ERP 系統(tǒng)運(yùn)維工程師,主要 研究方向?yàn)樾畔⑾到y(tǒng)性能監(jiān)測及安全。