本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體地說(shuō)是一種實(shí)用性強(qiáng)、對(duì)不同格式安全基線知識(shí)庫(kù)進(jìn)行抽象的方法。
背景技術(shù):
現(xiàn)在網(wǎng)絡(luò)上運(yùn)行的服務(wù)器Linux系統(tǒng)占有很大比例,所以Linux服務(wù)器的安全性也變得越來(lái)越重要,雖然Linux上的病毒、木馬并不像Windows上那么多,但也存在一些病毒木馬。系統(tǒng)調(diào)用做為應(yīng)用層和內(nèi)核的接口,如果系統(tǒng)表被惡意替換,那整個(gè)系統(tǒng)的運(yùn)行將會(huì)被控制,所以保證系統(tǒng)調(diào)用表的完整性變得非常重要。
基于此,現(xiàn)提供一種Linux系統(tǒng)下防護(hù)系統(tǒng)調(diào)用劫持的設(shè)計(jì)方法,本方法可以對(duì)Linux系統(tǒng)的系統(tǒng)調(diào)用表做到監(jiān)控,當(dāng)系統(tǒng)表被惡意修改后可以及時(shí)將系統(tǒng)調(diào)用表進(jìn)行修復(fù),并通過(guò)日志的形式報(bào)告管理員。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的技術(shù)任務(wù)是針對(duì)以上不足之處,提供一種實(shí)用性強(qiáng)、對(duì)不同格式安全基線知識(shí)庫(kù)進(jìn)行抽象的方法。
一種對(duì)不同格式安全基線知識(shí)庫(kù)進(jìn)行抽象的方法,其實(shí)現(xiàn)過(guò)程為:
設(shè)置安全抽象模型,用于對(duì)安全基線知識(shí)庫(kù)進(jìn)行抽象,將不同安全基線知識(shí)庫(kù)文件內(nèi)容進(jìn)行提取,該安全抽象模型由基線包、基線項(xiàng)目、基線值、基線安全修復(fù)項(xiàng)目四種實(shí)體類組成,其中,
基線包是基線項(xiàng)目的集合;
基線項(xiàng)目是執(zhí)行檢查的最小單位,記錄著配置項(xiàng)合規(guī)性檢測(cè)、安全修復(fù)的全部信息,在邏輯結(jié)構(gòu)上包含基線值、基線安全修復(fù)項(xiàng)目;
基線值記錄一條配置項(xiàng)在合規(guī)性檢測(cè)、安全修復(fù)所需的標(biāo)桿數(shù)據(jù);
基線安全修復(fù)項(xiàng)目為配置項(xiàng)的安全修復(fù)工作提供數(shù)據(jù)和方法。
在上述模型中,一切實(shí)體類都繼承自基類,該基類中實(shí)現(xiàn)包括ID、名稱的基本通用信息。
上述安全抽象模型對(duì)不同格式安全基線知識(shí)庫(kù)進(jìn)行抽象,這里的不同格式包括SCM格式、SCAP格式。
共性抽象的具體過(guò)程為:
在對(duì)不同格式的知識(shí)庫(kù)文件初始化之后,首先在知識(shí)庫(kù)XML文件下查找基線節(jié)點(diǎn),并以基線節(jié)點(diǎn)中的數(shù)據(jù)作為構(gòu)造輸入,建立基線包類的實(shí)例;
在確?;€包構(gòu)建正常之后,讀取知識(shí)庫(kù)中基線節(jié)點(diǎn)下所有的檢查項(xiàng)節(jié)點(diǎn),并以每一個(gè)檢查項(xiàng)節(jié)點(diǎn)作為輸入創(chuàng)建相等數(shù)目的基線值類的實(shí)例;
對(duì)知識(shí)庫(kù)中基線節(jié)點(diǎn)節(jié)點(diǎn)下所有的設(shè)定項(xiàng)節(jié)點(diǎn)進(jìn)行解析,根據(jù)其內(nèi)容的不同創(chuàng)建不同類型的基線項(xiàng)目實(shí)例,并作為基線包的元素節(jié)點(diǎn);
讀取設(shè)定項(xiàng)節(jié)點(diǎn)下的設(shè)定項(xiàng)查找信息節(jié)點(diǎn),以其內(nèi)容作為輸入構(gòu)建基線項(xiàng)目所屬的基線安全修復(fù)項(xiàng)目實(shí)例;
最后將之前讀取到的基線值實(shí)例與基線項(xiàng)目相關(guān)聯(lián)即可。
本發(fā)明的一種對(duì)不同格式安全基線知識(shí)庫(kù)進(jìn)行抽象的方法,具有以下優(yōu)點(diǎn):
本發(fā)明的一種對(duì)不同格式安全基線知識(shí)庫(kù)進(jìn)行抽象的方法,提供一種可用于提取不同安全基線知識(shí)庫(kù)共性的數(shù)據(jù)模型,該模型可以涵蓋業(yè)內(nèi)常見(jiàn)安全基線知識(shí)庫(kù)的數(shù)據(jù)邏輯,該數(shù)據(jù)模型具有抽象度高、實(shí)用性強(qiáng)、結(jié)構(gòu)簡(jiǎn)練的特點(diǎn),適用范圍廣泛,易于推廣。
附圖說(shuō)明
附圖1為本發(fā)明的數(shù)據(jù)抽象流程圖。
附圖2為本發(fā)明中SCM格式與安全抽象模型間的對(duì)應(yīng)關(guān)系圖。
具體實(shí)施方式
下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
如附圖1、圖2所示,本發(fā)明提出一種對(duì)不同格式安全基線知識(shí)庫(kù)進(jìn)行抽象的方法,在安全基線領(lǐng)域,由于種種原因,基線數(shù)據(jù)存儲(chǔ)存在多種格式。然而由于安全基線業(yè)務(wù)領(lǐng)域存在邏輯上的固有共性,存在著將不同安全基線知識(shí)庫(kù)文件內(nèi)容進(jìn)行提取的可能性。
本發(fā)明以SCM格式為例,給出以前述數(shù)據(jù)模型對(duì)安全基線知識(shí)庫(kù)進(jìn)行抽象的一種方法。
首先設(shè)計(jì)安全抽象模型,該安全抽象模型的數(shù)據(jù)邏輯的結(jié)構(gòu)形式如圖1所示。該安全抽象模型結(jié)構(gòu)由BaselinePackage、BaselineItem、BaselineValue、BaselineRepair四種實(shí)體類組成。
首先,在該數(shù)據(jù)結(jié)構(gòu)中,一切實(shí)體類都繼承自BaselineObjectBase,該基類中實(shí)現(xiàn)了諸如ID、名稱之類的最基本通用信息。
BaselinePackage代表基線包,它是基線項(xiàng)目的集合。
BaselineItem代表基線項(xiàng)目,它是執(zhí)行檢查的最小單位,記錄著配置項(xiàng)合規(guī)性檢測(cè)、安全修復(fù)的全部信息,在邏輯結(jié)構(gòu)上包含基線值、基線安全修復(fù)項(xiàng)目。
BaselineValue代表者基線值,它記錄著一條配置項(xiàng)在合規(guī)性檢測(cè)、安全修復(fù)所需的標(biāo)桿數(shù)據(jù)。
BaselineRepair代表者基線安全修復(fù)項(xiàng)目,它的作用是為配置項(xiàng)的安全修復(fù)工作提供數(shù)據(jù)和方法。
如上所述的數(shù)據(jù)結(jié)構(gòu),是對(duì)業(yè)內(nèi)常見(jiàn)安全基線知識(shí)庫(kù)格式進(jìn)行抽象提取的結(jié)果。其中的四大部分?jǐn)?shù)據(jù),與安全基線檢查、修復(fù)業(yè)務(wù)緊密依靠,具有很強(qiáng)的實(shí)用性。
本發(fā)明所主張的數(shù)據(jù)結(jié)構(gòu),可以對(duì)SCM、SCAP等主流安全基線知識(shí)庫(kù)格式進(jìn)行抽象。
圖1所示的流程,是對(duì)SCM格式進(jìn)行抽象的流程。
在對(duì)SCM知識(shí)庫(kù)文件初始化之后,首先在知識(shí)庫(kù)XML文件下查找Baseline節(jié)點(diǎn),并以Baseline節(jié)點(diǎn)中的數(shù)據(jù)作為構(gòu)造輸入,建立BaselinePackage類的實(shí)例。
在確保BaselinePackage構(gòu)建正常之后,讀取SCM中Baseline節(jié)點(diǎn)下所有的Check節(jié)點(diǎn),并以每一個(gè)Check節(jié)點(diǎn)作為輸入創(chuàng)建相等數(shù)目的BaselineValue類的實(shí)例。
對(duì)SCM中Baseline節(jié)點(diǎn)下所有的Setting節(jié)點(diǎn)進(jìn)行解析,根據(jù)其內(nèi)容的不同創(chuàng)建不同類型的BaselineItem實(shí)例,并作為BaselinePackage的元素節(jié)點(diǎn)。
之后讀取Setting節(jié)點(diǎn)下的DiscoveryInfo節(jié)點(diǎn),以其內(nèi)容作為輸入構(gòu)建BaselineItem所屬的BaselineRepair實(shí)例。
最終將之前讀取到的BaselineValue實(shí)例與BaselineItem相關(guān)聯(lián)即可。SCM格式與本發(fā)明所述的數(shù)據(jù)對(duì)應(yīng)關(guān)系,如圖2所示。
在上述步驟中,Baseline節(jié)點(diǎn)即為基線節(jié)點(diǎn),是一個(gè)“比較大”的集合,里面包含了setting節(jié)點(diǎn)和check節(jié)點(diǎn);Setting節(jié)點(diǎn)為設(shè)定項(xiàng)節(jié)點(diǎn),對(duì)應(yīng)于操作系統(tǒng)中的配置項(xiàng),比如一條注冊(cè)表鍵值;Check節(jié)點(diǎn)為檢查項(xiàng)節(jié)點(diǎn),用于與Setting節(jié)點(diǎn)配合使用,決定了Setting節(jié)點(diǎn)中設(shè)定項(xiàng)的建議取值;DiscoveryInfo節(jié)點(diǎn)即為設(shè)定項(xiàng)查找信息節(jié)點(diǎn),是Setting標(biāo)簽下的核心內(nèi)容,記載了Setting所對(duì)應(yīng)的配置項(xiàng)的具體路徑。
上述具體實(shí)施方式僅是本發(fā)明的具體個(gè)案,本發(fā)明的專利保護(hù)范圍包括但不限于上述具體實(shí)施方式,任何符合本發(fā)明的一種對(duì)不同格式安全基線知識(shí)庫(kù)進(jìn)行抽象的方法的權(quán)利要求書(shū)的且任何所述技術(shù)領(lǐng)域的普通技術(shù)人員對(duì)其所做的適當(dāng)變化或替換,皆應(yīng)落入本發(fā)明的專利保護(hù)范圍。