吳梅梅
(河北軟件職業(yè)技術(shù)學(xué)院 網(wǎng)絡(luò)工程系,河北 保定 071000)
伴隨著計(jì)算機(jī)網(wǎng)絡(luò)的發(fā)展,計(jì)算機(jī)的安全也面臨著新的挑戰(zhàn),傳統(tǒng)的信息安全方法已不能有效地解決這些問(wèn)題。人們把生物免疫機(jī)理應(yīng)用到計(jì)算機(jī)系統(tǒng)和計(jì)算機(jī)網(wǎng)絡(luò)安全中,提出了計(jì)算機(jī)免疫系統(tǒng),它克服了傳統(tǒng)方法的被動(dòng)和不靈活的缺點(diǎn)。本文主要介紹了計(jì)算機(jī)免疫系統(tǒng)GECISM的重要功能部件——知識(shí)庫(kù),將知識(shí)庫(kù)設(shè)計(jì)成主動(dòng)數(shù)據(jù)庫(kù)的形式,可以提高計(jì)算機(jī)免疫系統(tǒng)在緊急情況下的執(zhí)行效率。
計(jì)算機(jī)免疫系統(tǒng)模型包括客戶機(jī)模型和沙盒主機(jī)模型,是模仿生物免疫機(jī)理的計(jì)算機(jī)系統(tǒng)安全模型(如圖1,圖2所示)。該模型的多個(gè)功能部件模仿不同免疫細(xì)胞的功能,通過(guò)相互協(xié)作,區(qū)分計(jì)算機(jī)系統(tǒng)中的“自我”和“非我”,有效記憶并消除“非我”,從而實(shí)現(xiàn)保護(hù)主機(jī)的功能。
知識(shí)庫(kù)是計(jì)算機(jī)免疫系統(tǒng)中重要的功能部件,模型中對(duì)于“自我”和“非我”的判斷是根據(jù)知識(shí)庫(kù)中的規(guī)則進(jìn)行的,因此,知識(shí)庫(kù)的設(shè)計(jì)與實(shí)現(xiàn)對(duì)于計(jì)算機(jī)免疫系統(tǒng)功能的實(shí)現(xiàn)是非常關(guān)鍵的。
圖1 客戶機(jī)(適應(yīng)性免疫)
圖2 沙盒主機(jī)(先天免疫)
傳統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)是被動(dòng)的,不能提供主動(dòng)服務(wù),數(shù)據(jù)的創(chuàng)建、修改、檢索和刪除只有在用戶或應(yīng)用程序顯示提交命令后才被執(zhí)行,而且要求數(shù)據(jù)庫(kù)管理人員具有數(shù)據(jù)庫(kù)管理和維護(hù)的知識(shí)。自20世紀(jì)80年代提出主動(dòng)數(shù)據(jù)庫(kù)以后,主動(dòng)數(shù)據(jù)庫(kù)成為現(xiàn)代數(shù)據(jù)庫(kù)技術(shù)發(fā)展的一個(gè)嶄新的分支,主動(dòng)數(shù)據(jù)庫(kù)(Active Database)就是將“被動(dòng)的”數(shù)據(jù)庫(kù)系統(tǒng)擴(kuò)充為能夠?qū)χ鲃?dòng)事件做出響應(yīng),通過(guò)事件監(jiān)視器監(jiān)視各種事件的發(fā)生,執(zhí)行規(guī)定的動(dòng)作,實(shí)現(xiàn)主動(dòng)服務(wù)的功能。
主動(dòng)數(shù)據(jù)庫(kù)的主動(dòng)功能主要包括:
(1)能夠根據(jù)數(shù)據(jù)庫(kù)當(dāng)前狀態(tài)主動(dòng)適時(shí)做出反應(yīng),執(zhí)行特定操作;
(2)能夠根據(jù)系統(tǒng)的當(dāng)前狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測(cè)和控制;
(3)能夠進(jìn)行例外情況處理,進(jìn)行和錯(cuò)誤監(jiān)測(cè)、警報(bào)和處理;
(4)自動(dòng)統(tǒng)計(jì)、審計(jì)功能和中斷處理功能;
(5)檢索或推理策略的自動(dòng)選擇和切換功能;
(6)數(shù)據(jù)庫(kù)系統(tǒng)中各子系統(tǒng)間的通信和同步功能。
在功能上,一個(gè)主動(dòng)數(shù)據(jù)庫(kù)系統(tǒng)(ADBS)由一個(gè)傳統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)(DBS)和一個(gè)事件庫(kù)(EB-Event Base)及其相應(yīng)的事件監(jiān)視器(EM-Event Monitor)組成,系統(tǒng)結(jié)構(gòu)如圖3所示。
圖3 主動(dòng)數(shù)據(jù)庫(kù)系統(tǒng)結(jié)構(gòu)
在該系統(tǒng)中EB是由事件驅(qū)動(dòng)的一組知識(shí)組成的集合,稱為“事件庫(kù)”;DBS用來(lái)存儲(chǔ)數(shù)據(jù)并且對(duì)數(shù)據(jù)進(jìn)行維護(hù)、管理與運(yùn)用;EM是一個(gè)隨時(shí)監(jiān)視EB中的事件是否已經(jīng)發(fā)生的監(jiān)視模塊,一旦監(jiān)視到某事件已經(jīng)發(fā)生時(shí),就主動(dòng)地觸發(fā)系統(tǒng)按照時(shí)間庫(kù)即EB中指明的相應(yīng)知識(shí)執(zhí)行其中預(yù)先設(shè)定的動(dòng)作。
一般來(lái)說(shuō),主動(dòng)數(shù)據(jù)庫(kù)常采用事件驅(qū)動(dòng)的ECA規(guī)則模型,即事件-條件-動(dòng)作(Event-Condition-Action)規(guī)則。同樣,在知識(shí)庫(kù)中采用事件驅(qū)動(dòng)的“事件-條件-動(dòng)作”規(guī)則來(lái)表示這種知識(shí)。每條“事件-條件-動(dòng)作”規(guī)則指明“當(dāng)什么事件發(fā)生時(shí),在什么條件下執(zhí)行什么動(dòng)作”。其一般形式如下:
上述事件驅(qū)動(dòng)的“事件-條件-動(dòng)作”規(guī)則的語(yǔ)義是:一旦<事件表達(dá)式>所表示的事件發(fā)生,計(jì)算機(jī)就主動(dòng)觸發(fā)執(zhí)行其后的IF-THEN規(guī)則,即如果<條件1>為真,則執(zhí)行其后的<動(dòng)作1>,并且接著逐個(gè)檢查下一個(gè)IF-THEN規(guī)則,直至執(zhí)行完為止。
將知識(shí)庫(kù)設(shè)計(jì)成主動(dòng)數(shù)據(jù)庫(kù)的形式,能夠?qū)ⅰ白晕摇焙汀胺俏摇币?guī)則及處理預(yù)先嵌入數(shù)據(jù)庫(kù)系統(tǒng)中,系統(tǒng)中的監(jiān)視模塊主動(dòng)地不時(shí)地檢查這些規(guī)則中包含的各種事件是否己經(jīng)發(fā)生,如果是“自我”則允許程序的運(yùn)行,如果是“非我”則采取相應(yīng)的消除方法進(jìn)行消除。由此,知識(shí)庫(kù)就可主動(dòng)履行一些預(yù)先設(shè)定的規(guī)則檢測(cè),自動(dòng)給予相應(yīng)的處理,從而達(dá)到“主動(dòng)性”的目的。
在本系統(tǒng)中,規(guī)則名對(duì)應(yīng)本地規(guī)則庫(kù)中的編號(hào),事件表達(dá)式對(duì)應(yīng)自我/非我集,條件對(duì)應(yīng)危害記錄,動(dòng)作對(duì)應(yīng)危害與消除方法對(duì)應(yīng)表、消除程序?qū)?yīng)表。如:
上述主動(dòng)規(guī)則的含義是,規(guī)則的編號(hào)為000001(當(dāng)然在規(guī)則庫(kù)中有很多條規(guī)則,這只是其中的一條,每條規(guī)則都有其對(duì)應(yīng)的編號(hào)),條件表達(dá)式為000001∧30.116.53.98.45.23.65∧“非我”∧Linux 2.0.40,即當(dāng)滿足條件規(guī)則編號(hào)是000001時(shí),系統(tǒng)調(diào)用的短調(diào)序列為30.116.53.98.45.23.65,同時(shí)其為“非我”和操作系統(tǒng)的版本為L(zhǎng)inux 2.0.40時(shí),則主動(dòng)觸發(fā)sys_kill(int pid,int sig),將此時(shí)“非我”進(jìn)程進(jìn)行消除,從而達(dá)到入侵主動(dòng)防御的功能。
在本文知識(shí)庫(kù)中“事件—條件—?jiǎng)幼鳌币?guī)則如表1所示:
表1 規(guī)則制定示例
其規(guī)則的執(zhí)行流程如圖4所示.
圖4 規(guī)則執(zhí)行流程圖
“自我/非我”檢測(cè):檢測(cè)“自我/非我”的發(fā)生,可通過(guò)觸發(fā)器設(shè)定事件發(fā)生的條件,自動(dòng)執(zhí)行。
“自我/非我”分析:分析與發(fā)生事件有關(guān)的規(guī)則,確定規(guī)則是否被觸發(fā)。
“自我/非我”處理:執(zhí)行被觸發(fā)規(guī)則中的動(dòng)作部分,如為“自我”則允許程序執(zhí)行,動(dòng)作執(zhí)行將對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改。
結(jié)果顯示:“自我/非我”的后續(xù)部分,顯示出“自我/非我”處理的結(jié)果。
通過(guò)將計(jì)算機(jī)免疫系統(tǒng)中的知識(shí)庫(kù)設(shè)計(jì)成主動(dòng)數(shù)據(jù)庫(kù)的形式,能夠?qū)崟r(shí)高效地實(shí)現(xiàn)計(jì)算機(jī)免疫系統(tǒng)的免疫功能,并且給出了系統(tǒng)中主動(dòng)數(shù)據(jù)庫(kù)規(guī)則的構(gòu)成和執(zhí)行流程。
[1]王鳳先,劉振鵬,李繼民等.一種仿生物免疫的計(jì)算機(jī)安全系統(tǒng)模型[J].小型微型計(jì)算機(jī)系統(tǒng),2003(4):698-701.
[2]徐潔磐,馬玉書,范明.知識(shí)庫(kù)系統(tǒng)導(dǎo)論[M].北京:科學(xué)出版社,2000.
河北軟件職業(yè)技術(shù)學(xué)院學(xué)報(bào)2010年4期