摘 要:為了進一步提高結合了傳統靜態安全技術和動態安全技術的計算機考試系統的安全性,提出了一種基于粗糙集理論的靜態安全技術與動態安全技術相結合的高效低負荷的防御方法,用于監控進程的非正常行為。該方法從進程正常運行情況下產生的系統調用序列中提取出一個簡單的預測規則模型,能有效地檢測出進程的異常運行狀態。同原有系統相比,用粗糙集理論建立正常模型要求的訓練數據獲取簡單,而且得到的模型更適用于在線檢測。實驗結果表明,該系統的安全性優于原考試系統。
關鍵詞:粗糙集理論; 考試系統; 安全技術; 系統調用
中圖分類號:TP3 文獻標志碼:A
文章編號:1001-3695(2010)03-1012-03doi:10.3969/j.issn.1001-3695.2010.03.056
Secure examination system based on rough set theory
ZHANG Ping , WANG Jian-zhong, WU Qian, ZOU Fan, GAO Yi
(College of Fundamental Education, Sichuan Normal University, Chengdu 610068, China)
Abstract:Applied the traditional information secure technology and the rough set theory to the computer examination system in order to improve the system security. This paper proposed an effective method based on rough set theory which had low overhead and high efficiency, and used to monitor the abnormal behavior of processes. It extracted a set of detection rules with minimum size to form a normal behavior model from the record of system call sequences and could detect the abnormal operating status of a process. Compared with the old system, this method required a smaller size of training data set, less efforts to collect training data and more suitable for real-time detection. Experimental results show that the secure performance of this system is better than the old system’s.
Key words:rough set theory; examination system; security technology; system call
隨著網絡的不斷發展,威脅的不斷增加,如何才能進一步提高考試系統的安全和檢測效率以滿足不斷變化的考試系統的安全需求呢?本文在采用傳統信息安全技術的考試系統[1]基礎上,提出了一種基于粗糙集理論的高效低負荷的檢測防御方法,用于監控進程的非正常行為。該方法借助于粗糙集理論從進程正常運行情況下產生的系統調用序列中提取出一個簡單的預測規則模型,能有效地檢測出進程的異常運行狀態。用粗糙集理論建立正常模型要求的訓練數據獲取簡單,而且得到的模型更適用于在線檢測。實驗結果表明,該系統的安全性優于采用傳統信息安全技術的考試系統。
1 相關的研究工作
現有的計算機考試系統一般都采用傳統的信息安全技術,其基本安全主要由傳統的靜態安全技術和動態安全技術以及安全數據庫技術構成。靜態安全技術主要采用傳統的信息安全技術如防火墻、加密技術、病毒防治和身份認證技術等,這些技術發展較為成熟,對于已知的攻擊模式有很好的防御作用。但靜態安全技術的防御能力是固定的,防御功能不能適應不斷變化發展的攻擊方式;各種靜態安全技術之間相互獨立,缺少相互之間的通信,對于復雜攻擊的檢測和防御也是有限的。其不足之處由動態安全技術彌補,如生物免疫技術、入侵檢測、攻擊陷阱等技術,它們改變消極被動的防御方式,積極主動地采取各種措施來保證系統的安全,有效彌補靜態安全技術的不足,讓整個系統能更好地防御外來攻擊。但基于上述安全技術的考試系統也存在著很多缺陷,如具有僅可檢測已知弱點的局限性,對于異常檢測難以定量分析,對于未知的攻擊存在錯報和漏報的情況,而且不能采取及時的應對措施,致使系統損壞等。隨著網絡技術的發展,考試規模的發展壯大,只有提出新的安全技術才能滿足考試系統的新的安全需求。
近幾年來成為機器學習研究熱點的粗糙集理論[2,3](rough set theory,RST)提供了一套比較完備的從小樣本數據中尋找規律的系統方法。同其他學習方法比較,粗糙集方法有兩個優點:a)粗糙集提供了一整套比較完整的小樣本學習方法;b)用粗糙集能得到一組最小規則集。據此,用粗糙集理論從考試系統調用序列樣本集得到的行為模型能更有效地逼近理想的簡單正常行為模型。粗糙集理論中提供了一套完善和系統的方法,可找到描述正常模型的最小預測規則集,有利于提高檢測速度,適用于系統的實時檢測。
2 粗糙集理論的引入
本文基于上述考試系統的安全研究,認為成熟的靜態安全技術的不足之處可由動態安全技術彌補,動態安全技術的不足則由粗糙集理論來完善。因此提出了將粗糙集理論應用于考試系統中,以提高考試系統的安全。其基本架構如圖1所示。
在基于粗糙集理論的安全考試系統架構中,本文著重闡述基于粗糙集理論的動態防御技術部分。在考試系統中,數據分為兩種:一種為需要保護的考試數據,相對而言,需要保護的考試數據之外的其他任意的字符串稱為非考試數據。一般情況下有基于主機、基于網絡、基于序列[4~8]三種情況來定義考試數據與非考試數據集合。其中在基于主機方法中目前還沒有一種拆分算法特別有效。基于網絡方法對于考試系統內部的異常情況不易發現。基于序列方法是通過進程的系統調用序列或基于系統服務的訪問序列進行考試數據集合的提取,用匹配方法進行識別。因為在進程正常執行時所產生的短序列局部連貫穩定, 而當非正常時會產生一些異常的系統調用序列, 通過對序列的分析可以判斷系統是否受到攻擊。此種方法適宜于考試系統的情況。通過對三種情況的比較,本文采用了適用于考試系統的基于序列的方法。因此采用用戶進程的系統調用來定義考試數據。在本文中,將粗糙集理論應用于考試系統正常模型的建模過程,從較小的正常系統調用序列樣本中提取出預測規則集作為正常模型來進行系統的安全檢測,建立進程的簡單正常模型,進行高效的在線安全檢測。
3 粗糙集理論的應用
目前, 基于粗糙集的規則獲取主要有兩種模式[9]。模式一[9]是由Pawlak 教授提出,主要思想是通過尋找屬性核及去掉多余的屬性求出約簡的決策表,并從最簡決策表中獲取相應的確定規則。模式二[9]是由Wakulicz2Deja 等人提出,主要思想是直接從原始決策表中求取近似集, 并運用推理引擎,分別從下近似集中獲取確定規則,從上近似集中獲取可能規則。經過兩種模式的比較,再結合考試系統,綜合考慮后采用模式一,如圖2所示。
下面采用圖2 中的模式方法,基于系統調用序列的進程正常行為模型,應用粗糙集理論建立進程正常模型M(L)。設X是某一進程在正常運行狀態下所能產生的所有系統調用序列的集合。用一個長度為L+1的窗口沿著X中的每一條序列滑動,可以得到一系列長度為L+1的序列段,所有的這些序列段組成了正常系統調用序列段集合U。對于U 中的每一個序列段,前L個系統調用被稱為序列段的一般位置屬性,它們組成了一般位置屬性集A;第L+1個系統調用被稱為序列段的末位置屬性,末位置屬性集表示為D。A和D的取值范圍為所有系統調用組成的集合。建立正常行為模型的基本思想是根據X中的前L個系統調用預測第L+1個系統調用,即找到U 中的一般位置屬性集A 與末位置屬性D之間的關系。基于系統調用行為的進程正常模型M(L)是正常系統調用序列段(長度為L+1)集合U中描述一般位置屬性集A 與末位置屬性D之間關系的預測規則集。在實際情況中,通常只能收集到部分的正常系統調用序列作為樣本,從中提取預測規則集。
將粗糙集理論應用到預測規則集的提取中。在給定某進程的一個正常系統調用序列樣本集中,用長度為L+1的窗口在樣本集中的序列上滑動,得到決策系統D和條件屬性集A。由正常系統調用序列樣本集得到的進程的正常行為模型,就是決策系統D中由條件屬性集A 確定決策屬性D的決策規則集。基于關于決策的約簡可以得到最小決策規則集,對于由正常系統調用序列樣本集轉換得到的決策系統D,根據關于決策的約簡生成正常模型中規則的條件,可以得到最小決策規則集用做進程正常模型M(L)。應用粗糙集理論可以從比較小的樣本序列中提取預測規則集,得到的行為模型能有效逼近理想正常行為模型。
基于進程正常模型M(L)的異常檢測借助于訓練得到的進程正常模型,可以根據該進程產生的系統調用序列判斷出進程的運行狀態是否為正常。一條規則同一個長度為L+1的序列段匹配,應滿足如下條件:a)規則適用的長度為L+1;b)規則條件中描述的序列段各個位置上系統調用應與序列段中的情況相符。系統調用序列的異常度定義為序列中正常模型規則集預測失敗的序列段個數與序列中序列段總數之比。
基于進程正常模型M(L)的異常檢測算法如下:
Y={待分析的系統調用序列};
for (i=1;i<=Y的個數;i=i+L+1)
{ W=在Y中從i開始截取長度為L+1的序列段;
根據W中前L個序列段在M(L)形成的規則集D中查找規則;
if ( 沒找到這樣的規則)
{ W中前L個系統調用的預測=訓練集中最常出現的預測結果; }
else
{ W中前L個系統調用的預測=規則集D中出現次數最多的預測結果;}
if (W中前L個系統調用的預測==W中第L+1個序列段)
{printf(\"%s\",\"預測成功\");}
else
{printf(\"%s\",\"預測失敗\");}
}
4 實驗測試與分析
基本粗糙集理論的方法需要有高質量的樣本數據進行訓練。在實際的考試系統應用中,能獲得的訓練樣本數目不多,而且絕大多數情況下只能得到正常的訓練樣本,有標定的異常數據很難獲得。這樣在實用時就會產生誤報,在實用中也有一定的困難。本實驗采用UNM提供的Login、Ps、wu-ftpd進程數據集[10]對考試系統中基于粗糙集理論的動態防御技術部分進行實驗。實驗時先對數據進行切割處理得到序列段,將其中10%的序列段作為正常訓練集,剩余90%作為正常測試集,采用不同的窗口大小,不同步幅大小多次構建模型, 比較窗口大小與檢測效率關系。實驗采用的部分數據集如表1所示,實驗中程序的部分異常度比較如表2所示。從表2中可以看出異常序列的異常度都明顯高于正常序列的異常度。根據異常度的差異, 選擇適當的閾值可以準確區分異常狀態。實驗結果表明,在窗口長度取21時預測相對最穩定,基于粗糙集理論的檢測方法能更快速區分正常和異常行為,考試系統的安全相應地得到了改善。
表1 實驗用的數據集
正常序列異常序列
login兩條login正常序列兩條木馬程序(recovered Trojan login data, homegrown Trojan login data)
ps兩條ps正常序列兩條木馬程序(recovered Trojan login data,homegrown Trojan login data)
named一條named正常序列一條buffer overflow攻擊序列
wu-ftpd兩條ftpd2.4正常進程一條遠程單字節溢出攻擊序列
表2 程序的異常度比較
窗口大小711152125
loginnormalhomegrownrecovered0.311.399.271.184.8211.230.313.755.481.577.509.270.833.547.82
psnormalhomegrownrecovered0.411.933.660.452.386.100.632.494.561.905.786.501.24.855.29
namednormalabnormal1.3483.240.8480.51.5980.070.9281.61.2180.09
ftpdnormalabnormal1.5338.332.2634.563.6734.542.4036.032.9735.51
5 結束語
本文在將傳統靜態安全防御技術與動態防御技術相結合的基礎上,引入粗糙集理論來更快更有效地識別考試系統的正常和異常行為,保護考試系統的安全,使系統能更好地防御外來的異常情況。該系統在實時檢測中對系統性能的影響很小,是一種高效低負荷的實時檢測方法。不過怎樣提高檢測的準確性和及時性,出現了報警怎樣對其進行分析, 用戶如何處理報警,如何更好地實現安全系統的動態平衡等都是以后需要解決的問題。
參考文獻:
[1]張萍,王建忠,佘堃,等.免疫網絡安全考試系統[J].計算機應用研究,2007,24(8):162-164.
[2]PAWLAK Z. Rough sets-theoretical aspect of reasoning about data[M]. Dordrecht: Kluwer Academic Publishers,1991.
[3]張文修,吳偉志,等.粗糙集理論與方法[M].北京: 科學出版社,2001.
[4]FORREST S, HOFMEYR S A, SOMAYAJI A. Computer immunology[J].Communications of the ACM, 1997,40(10):88-96.
[5]HOFMEYR S A, FORREST S. Immunity by design:an artificial immune system[C]//Proc of GECCO’99.1999.
[6]HOFMEYR S A, FORREST S. Architecture for an artificial immune system[J]. Evolutionary Computation, 2000, 8(4):443-473.
[7]FORREST S,HOFMEYR S A.Immunlogy as processing[C]//SEGAL L A,COHEN I R. Proc of Design Principles for Immune Systems Other Distributed Autonomous Systems.Oxford:Oxford University Press, 2000.
[8]HOFMEYR. An immunological model of distributed detection and its application to computer security [D]. Mexico: University of New Mexico,1999.
[9]LEE W, STOLFO S, CHAN P.Learning patterns from unix process executiontraces for intrusion detection[C]//Proc of AAAI’97 Workshop on AI Methods in Fraud and Risk Management. 1997: 50-56.
[10][EB/OL].http: //www.cs.num.edu/~immsec/.