邢宇恒
(國家電網(wǎng)公司信息通信分公司, 北京 100761)
基于知識庫的系統(tǒng)安全評估方法
邢宇恒
(國家電網(wǎng)公司信息通信分公司, 北京 100761)
在系統(tǒng)非正常狀態(tài)和正常狀態(tài)這兩種運行狀況下,使用 nmon 等系統(tǒng)監(jiān)測工具采集了代表系統(tǒng)運行狀態(tài)的指標數(shù)據(jù),對獲取的指標數(shù)據(jù)進行了向量化操作,構造了可以反映系統(tǒng)運行狀態(tài)的多維行為特征。 采用類內、類間評價距離準則對指標數(shù)據(jù)進行了有效特征提取,構建了能夠反映系統(tǒng)運行狀態(tài)的行為特征知識庫。然后利用行為特征知識庫的數(shù)據(jù)構造了決策樹,以判斷系統(tǒng)所處狀態(tài)是否安全。
行為特征知識庫;類內、類間距離評價準則;決策樹
操作系統(tǒng)作為計算機系統(tǒng)資源的管理者,需要為軟硬件提供相應的服務和支持,因此需要確保操作系統(tǒng)在正常的狀態(tài)下運行。但是當系統(tǒng)資源消耗到一定程度的時候,就會導致系統(tǒng)運行效率下降甚至因為某項系統(tǒng)資源瓶頸而導致系統(tǒng)不可用。系統(tǒng)在發(fā)生某類安全問題之前,可能已經(jīng)處于一種非正常的狀態(tài)了。而行為作為狀態(tài)變化的外在表現(xiàn),從信息數(shù)據(jù)角度看,當對輸入的數(shù)據(jù)進行處理并將其轉化成輸出數(shù)據(jù)后,其狀態(tài)會發(fā)生一定的變化,故可以通過監(jiān)測到的系統(tǒng)狀態(tài)指標數(shù)據(jù)對當前系統(tǒng)狀態(tài)進行反推。
本文主要使用 nmon 監(jiān)測工具來獲取系統(tǒng)運 行狀態(tài)指標數(shù)據(jù)。在系統(tǒng)產(chǎn)生安全問題(宕機或者進入死鎖狀態(tài)等)之前,利用反映系統(tǒng)非正常和正常狀態(tài)的歷史數(shù)據(jù)對系統(tǒng)當前所處的狀態(tài)進行判斷,從而有效地判斷出系統(tǒng)狀態(tài)并及時通知系統(tǒng)管理員采取相應的解決措施。
本文采用決策樹策略對系統(tǒng)所處狀態(tài)是否正常進行判定,構建決策樹需要以下步驟。
(1)利用內存泄露堆積可能引發(fā)系統(tǒng)狀態(tài)不正常這一特點,設計相關測試用例模擬系統(tǒng)的非正常狀態(tài)。
(2)利用 nmon 監(jiān)測工具獲取系統(tǒng)模擬情況下的非 正常狀態(tài)以及正常狀態(tài)的指標數(shù)據(jù),采用第 2節(jié)的方法對獲取的指標數(shù)據(jù)進行向量化操作,構造可以反映系統(tǒng)運行狀態(tài)的多維行為特征;并對多維行為特征進行基于類內、類間距離評價準則的有效提取,進而選取若干指標數(shù)據(jù)以構建行為特征知識庫。
(3)利用行為特征知識庫中的信息作為訓練樣本集構建決策樹,從而判斷系統(tǒng)所處狀態(tài)是否正常及安全。
在 眾多操作系 統(tǒng)的監(jiān) 測工具中,nmon 是被廣 泛使 用的監(jiān)測工具。相對于其他工具來說,nmon 工具所記錄的信息是比較全面的。nmon 工具監(jiān)控的項目主要有:CPU 占用率 、內 存 使 用 情 況 、磁 盤 I/O 速 度 、傳 輸 和 讀 寫 比 率 、文 件系統(tǒng)的使用率、網(wǎng)絡 I/O 速度、傳輸和讀寫比率、錯誤統(tǒng)計率與傳輸分組的大小、消耗資源最多的進程、計算機詳細信 息 和 資 源 、頁 面 空 間 和 頁 面 I/O 速 度 、用 戶 自 定 義 的 磁盤組和網(wǎng)絡文件系統(tǒng)等。雖然通過工具監(jiān)測可獲取到代表系統(tǒng)運行狀況的指標數(shù)據(jù),但通過 nmon 工具獲取的指標數(shù)據(jù)有多個,這些指標中包含大量對系統(tǒng)狀態(tài)分析價值不高的元素,為了排除無關信息的干擾,避免數(shù)據(jù)冗余,需要對其特征值進行有效提取后再進行知識庫的構建。
2.1 行為特征知識庫的構建流程
行為特征知識庫構建流程如圖 1所示,具體介紹如下。
(1)采集代表系統(tǒng)非正常狀態(tài)以及正常狀態(tài)下的指標數(shù)據(jù)。
(2)對獲取的指標數(shù)據(jù)進行向量化操作,構造可以反映系統(tǒng)運行狀態(tài)的多維行為特征。
(3)運用類內、類間距離評價準則進行有效行為特征提取。
2.2 有效特征提取
圖1 行為特征知識庫構建流程
2.2.1 類內距離
假設數(shù)據(jù)集合{x1,…,xm}在某種相似性測度基礎之上被劃 分 為 K 類 {xi(j)},j=1,… ,K 為 類 別 標 號 ,i=1,… ,nj表 示 類 內數(shù)據(jù)的序號則類內距離定義為:
其 中 ,mj表 示 j類特征均值越 小 ,說明特征越顯著。
2.2.2 類間距離
同理,類間距離定義為:
其 中 ,mj表 示 j類 特征 均 值 ,m 為 總 特 征 均 值 。DB越大,說明特征越顯著。
2.2.3 類內類間距離準則
由上文的描述可知:若在類內距離越小的同時類間距離越大,則在區(qū)分特征方面效果越明顯。定義可以同時反映類內和類間距離的準則函數(shù)為:
類間 距 離 DB越 大,類 內 距 離 DW越 小 ,即 類 內 類 間 距離 D 越大,特征就越顯著。針對本文所涉及的系統(tǒng)非正常與正常兩類問題,設系統(tǒng)正常狀態(tài)和非正常狀態(tài)下某個指標 T 的分布函數(shù)如圖 2所示,并記系統(tǒng)正常狀態(tài)下該特 征的 均 值 為 m0、方 差 為 σ0,系 統(tǒng) 非 正 常 狀 態(tài) 下 該 特 征 的 均 值為 m1、方差為 σ1。
圖2 特征T的分布函數(shù)
此時,類內類間距離準則為:
由 此 可 知 ,?m=|m0-m1|越 大 ,對 于 兩 類 的 區(qū) 分 性 就 越大,即行為特征顯著性就越好。這說明指標 T對于區(qū)分系統(tǒng)正常狀態(tài)和非正常狀態(tài)的能力很強,應該將此指標作為有效特征加入行為特征知識庫中。相反,若 ?m=|m0-m1|越小,則說明該指標將系統(tǒng)狀態(tài)分類正確的概率比較小,可靠性比較低,這種特征可被丟棄,不再加入行為特征知識庫。
根據(jù)第 2節(jié)系統(tǒng)監(jiān)測取得的有效系統(tǒng)指標參數(shù),例如CPU 利 用 率 、內 存 利 用 率 、磁 盤 I/O 速 率 、中 斷 數(shù) 、文 件 系統(tǒng)利用率,通過設計不同的測試用例來模擬系統(tǒng)資源不同的消耗狀態(tài),根據(jù)系統(tǒng)對一類固定操作的響應時間長短來判斷系統(tǒng)是否處于正常狀態(tài)。對監(jiān)測得到的數(shù)據(jù)進行歸類,例如將 CPU 的占用率分為高、中、低 3 個值。將有效系統(tǒng)指標歸類后得到的系統(tǒng)狀態(tài)參數(shù)見表 1。
在得到有效的特征知識庫后,就可以利用這些指標數(shù)據(jù)構建決策樹。目前決策樹技術已經(jīng)在許多數(shù)據(jù)挖掘系統(tǒng)中得到了應用,國內外很多公司均推出了自己的數(shù)據(jù)挖掘系 統(tǒng) ,例 如 Microsoft、SGI、SAS、IBM、SAP 等 在 已 推 出 的 數(shù)據(jù)挖掘系統(tǒng)中首選的就是決策樹方法。
而 當 前 最 具 有 影 響 力 的 決 策 樹 算 法 是 Quinlan 于1993 年 提 出 的 C4.5 算 法 。C4.5 選 擇 信 息 增 益 值 率 最 大 的屬性作為分裂屬性,將訓練實例集分裂成若干子集,在各子集上持續(xù)地遞歸上述過程,直到葉子節(jié)點為純的實例集或者再無其他可供選擇的分裂屬性,然后使用剪枝技術修剪之前產(chǎn)生的樹。
表1 系統(tǒng)狀態(tài)參數(shù)
定 義 1 (信息熵)設有一個離散隨機變量 X,它有 n 個可 能 取 值 ,分 別 為 a1,a2,… ,an,各 種 取 值 出 現(xiàn) 的 概 率 分 別 為p1=P(a1),p2=P(a2),… ,pn=P(an),則 :
稱為隨機變量 X 的信息(離散)熵。
定義 2 (信息增益)一個屬性的信息增益是指由于使用這個屬性分割實例集而導致的期望熵的降低。其定義式為:
其 中 ,S 為 實 例 集 合 ,A 為 某 一 屬 性 ,υ為 屬 性 的 某 一個取值。
定義 3 (分裂信息)假設訓練實例集 S的某屬性 A的取 值 個數(shù)為 k,Sj為屬 性 A 的 第 j個 可 能 取 值 對 應 的 實例子集,則 S關于屬性 A 的分裂信息量定義為:
定義 4 (信 息增益率 )信 息 增 益率 = 信 息增益/分裂信息量。
圖3 為一個計算屬性 CPU 的信息增益率的例子。屬性CPU 有 3 個取值,分別為高(high)、中(middle)、低(low)。當前實例集合 S 中共有 14 個實例,其 中 9 個實例 的類值為正常,5個實例的類值為不正常。因此實例集合的信息熵為:
圖3 CPU 信息屬性分裂
屬性 CPU 為高的實 例 有 5 個,其中 2 個 類值為正 常 ,3個類值為不正常。信息熵為:
屬性 CPU 為中的實例有 4個,且全部為正常。信息熵為:
屬 性 CPU 為低 的 實 例有 5 個 ,其 中 3 個類值 為 正 常,2個類值為不正常。信息熵為:
故屬性 CPU 的信息增益為:
選擇 CPU 為分裂屬性時,CPU 屬性將實例集分裂成 3 個子集,各 子集中 實例 的個數(shù) 分別為 5、4 和 5,因此 分裂 信息量為:
因此,選擇 CPU 為分裂屬性時,其信息增益率為:
重 復 以 上 步 驟 ,可 以 得 到 內 存 利 用 率 、磁 盤 I/O 速 率 、中斷數(shù)等信息增益率。
使 用 R 環(huán) 境 下 Rweka 分 組 提 供 的 J48 函 數(shù) 對 本 文 第2節(jié)取得的有效系統(tǒng)狀態(tài)指標來構建決策樹,得到的系統(tǒng)狀態(tài)決策樹如圖4所示。
圖4 系統(tǒng)狀態(tài)決策樹
以往只是利用系統(tǒng)監(jiān)測工具獲取系統(tǒng)運行狀態(tài)指標數(shù)據(jù),卻沒有利用這些數(shù)據(jù)對系統(tǒng)進行狀態(tài)分析和判斷。根據(jù)本文提出的思路進行評估系統(tǒng)狀態(tài)的實驗,結果表明本文的設計是切實可行的,具有研究價值。日常運維經(jīng)驗顯示,信息系統(tǒng)在運行維護的前期,當用戶壓力還沒有很大時,系統(tǒng)的性能表現(xiàn)還不錯。當用戶數(shù)越來越多或者某一個時間段內大量用戶訪問某一系統(tǒng)時,系統(tǒng)響應時間會變得很長甚至系統(tǒng)不可用。利用本文提出的方法,結合系統(tǒng)的壓力測試,可以找出系統(tǒng)的資源瓶頸。在系統(tǒng)運行監(jiān)控時,也能夠對系統(tǒng)狀態(tài)做出預判,從而避免系統(tǒng)出現(xiàn)故障。 目前在電力信息系統(tǒng)運行維護的過程中,雖然可以做到對所有的系統(tǒng)進行監(jiān)控,但是在發(fā)生告警通知時,有一定的誤警發(fā)生,浪費了人力物力,利用本文提出的決策樹方法,在運維過程中收集系統(tǒng)運行狀態(tài)指標,構建行為特征知識庫,最終構建出決策樹并找出告警的根本原因(指標)如何找到發(fā)生告警通知的根本原因受到硬件和實驗條件的影響,沒能取得大規(guī)模的實驗數(shù)據(jù)。如果能把更多的系統(tǒng)狀態(tài)指標添加到?jīng)Q策樹中,會使該方法對系統(tǒng)狀態(tài)做出的判斷更加精確,判斷的準確率更高。
[1] 王利.淺談 Linux 系統(tǒng)安全及應用[J].科技信息,2010(10):240-241. WANG L.Safety and application of Linux system[J].Science& Technology Information,2010(10):240-241.
[2] 楊 善 紅.Linux 應 用 程 序 內 存 錯 誤 自 動 化 測 試 研 究 [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]. 科 學 咨 詢 ,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) 的 安 全 檢 測 與 增 強 技 術 分 析[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 語 言 程 序 內 存 泄 漏 的 研 究 [J]. 工 礦 自 動 化 ,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 架 構 的 nmon 遠 程 監(jiān) 控 平 臺 [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].電 力 自 動 化設備,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)運維工程師,主要 研究方向為信息系統(tǒng)性能監(jiān)測及安全。