何 進(jìn),范明鈺,王光衛(wèi)
基于TWPos內(nèi)核完整性保護(hù)
何 進(jìn),范明鈺,王光衛(wèi)
(電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 成都 611731)
內(nèi)核rookits攻擊對(duì)內(nèi)核的完整性構(gòu)成致命威脅,因此對(duì)內(nèi)核rootkits防護(hù)是內(nèi)核完整性保護(hù)的重點(diǎn)。當(dāng)前研究主要側(cè)重于內(nèi)核rootkits探測(cè)和防護(hù),不足之處在于:1) rootkits防護(hù)存在單一保護(hù)模式;2) 內(nèi)核rootkits探測(cè)只能做探測(cè)使用,即便發(fā)現(xiàn)內(nèi)核已經(jīng)受到攻擊,也無能為力。鑒于這種情況,該文設(shè)計(jì)了一種內(nèi)核完整性保護(hù)方法,采用安全認(rèn)證保護(hù)和探測(cè)恢復(fù)兩種方式(TWPos)保護(hù)操作系統(tǒng),同時(shí)具備探測(cè)和防護(hù)能力,即便內(nèi)核受到攻擊也能進(jìn)行恢復(fù)。實(shí)驗(yàn)表明,TWPos系統(tǒng)既能全面有效的防護(hù),而且又不犧牲系統(tǒng)性能,并且兼容多種OS系統(tǒng)。
探測(cè)恢復(fù)復(fù)試; 內(nèi)核完整性; rootkits; 安全認(rèn)證保護(hù)模式; TWPos; 虛擬機(jī)管理
Rootkits是攻擊者向計(jì)算機(jī)系統(tǒng)植入的,能夠隱藏自身蹤跡并保留超級(jí)用戶訪問權(quán)限的惡意程序。rootkits分為用戶級(jí)和內(nèi)核級(jí)兩種[1],本文只對(duì)內(nèi)核級(jí)rootkits進(jìn)行探測(cè)和防護(hù),內(nèi)核級(jí)的rootkits對(duì)整個(gè)計(jì)算機(jī)安全構(gòu)成致命威脅,它不僅破壞內(nèi)核任務(wù)、文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議棧、系統(tǒng)時(shí)鐘、調(diào)度堆棧等OS重要部件,而且對(duì)內(nèi)核進(jìn)行篡改、注入、更改內(nèi)核控制流程以及隱藏自身反病毒軟件。rootkits對(duì)內(nèi)核攻擊主要通過以下途徑:1) 帶有rootkits的模塊插入到內(nèi)核;2) 內(nèi)核自身安全漏洞,注入rootkits到內(nèi)核;3) 通過應(yīng)用安全漏洞提取最高權(quán)限,再向內(nèi)核注入rootkits。
無論采用何種途徑防止內(nèi)核rootkits攻擊,最終目的是確保內(nèi)核完整性。通過研究?jī)?nèi)核rootkits注入方式、系統(tǒng)特征及防范措施,將這些工作分為兩大類:1) 探測(cè)內(nèi)核rootkits[2-4],早期Copilot[2]采用獨(dú)立PCI卡周期獲取內(nèi)核的內(nèi)存,并分析判斷內(nèi)核是否被破壞;基于Copilot改進(jìn)[3]進(jìn)一步探測(cè)代碼完整性及其數(shù)據(jù)完整性;SBCFI[4]探測(cè)控制流;OSck[5]基于不變式進(jìn)行探測(cè)。所有這些都是基于探測(cè)模式,只有rootkits已經(jīng)注入內(nèi)核之后,才能探測(cè)發(fā)現(xiàn)rootkits攻擊,盡管事后采取一系列措施,然而內(nèi)核完整性無法得到保障。2) 阻止rootkits注入內(nèi)核從而確保內(nèi)核完整性[6-9,12-13],Secvisor[6]確保整個(gè)系統(tǒng)運(yùn)行周期內(nèi)核代碼完整性;Patagonix[7]探測(cè)執(zhí)行文件格式確保內(nèi)核完整性;NICKLE[8]認(rèn)證內(nèi)核代碼再執(zhí)行;HookSafe[9]函數(shù)指針保護(hù),主要是鉤子函數(shù)保護(hù)。這些保護(hù)都是基于內(nèi)核某一個(gè)方面進(jìn)行保護(hù),要么保證代碼完整性[6-8],或數(shù)據(jù)完整性[11,15]或控制流完整性[9],都采用單一防護(hù)某類攻擊,而缺乏統(tǒng)一全面保護(hù)措施。
基于上述兩種類型,僅僅采用探測(cè)方式是無法保護(hù)內(nèi)核完整性,即便阻止rootkits注入確保內(nèi)核完整性這種方式,也存在諸多弊端,因而無法有效的保護(hù)內(nèi)核完整性。鑒于此,本文采用了一種將安全防護(hù)及探測(cè)安全漏洞并進(jìn)行恢復(fù)相結(jié)合的方法確保內(nèi)核完整性的方案,稱為TWPos方法,TWPos基于VMM[14]管理,將TWPos保護(hù)的內(nèi)核劃分為兩種保護(hù)措施:一部分內(nèi)核采用安全認(rèn)證保護(hù)方式(safe authentication protection mode, SAPM),這部分保護(hù)主要針對(duì)內(nèi)核里面安全級(jí)別要求很高的部分,如控制流、內(nèi)核調(diào)度等;另一部分內(nèi)核采用探測(cè)恢復(fù)方式(detection recovery mode, DRM),這部分相對(duì)上面部分安全要求低,如一些外圍設(shè)備等。TWPos將保護(hù)的內(nèi)核邏輯上劃分為兩個(gè)部分,采用SAPM方式保護(hù)的內(nèi)核部分稱為SAPM-K,采用DRM方式探測(cè)保護(hù)的內(nèi)核部分稱為DRM-K。
定義 1 內(nèi)核完整性KI:內(nèi)核整個(gè)運(yùn)行周期,內(nèi)核代碼、內(nèi)核數(shù)據(jù)、內(nèi)核控制流和內(nèi)核棧都未被篡改或注入,稱為內(nèi)核完整性。
定義 2 原始內(nèi)存塊OMB:OMB保存內(nèi)核代碼、數(shù)據(jù)、堆棧的內(nèi)存。保護(hù)方式來看OMB內(nèi)存= DRM-K∪SAPM-K,DRM-K?OMB,SAPM-K?OMB并且DRM-K∩SAPM-K=?。
定義 3 備份內(nèi)存塊BMB:保存DRM-K?OMB備份的內(nèi)存,當(dāng)DRM-K完整性遭到破壞,通過BMB進(jìn)行恢復(fù),確保代碼、數(shù)據(jù)、控制流和棧完整性。
定義 4 映射內(nèi)存塊MMB:存放的內(nèi)存都是從OMB通過安全認(rèn)證之后的內(nèi)存,GOS可以安全訪存。
定義 5 安全映射表SMT:建立SAPM-K和MMB之間映射關(guān)系,當(dāng)GOS任務(wù)訪問SAPM-K內(nèi)存時(shí),通過SMT項(xiàng)映射至MMB內(nèi)存,進(jìn)行訪問,SMT標(biāo)識(shí)狀態(tài)包括5種:LOCK、UNLOCK、USE、SAFE和NORMAL。LOCK狀態(tài):建立映射時(shí)的狀態(tài);UNLOCK狀態(tài):撤銷映射時(shí)的狀態(tài);USE狀態(tài):GOS可以訪問內(nèi)存;SAFE狀態(tài):GOS可以安全訪問MMB內(nèi)存,NORMAL狀態(tài):GOS通用訪問OMB內(nèi)存。
1.1 內(nèi)存關(guān)系
將TWPos加載VMM中,TWPos從Host OS(HOS)分配3部分內(nèi)存:BMB、SMT和MMB,并將這3部分內(nèi)存塊的頁(yè)表都置為非置換方式,避免這些內(nèi)存被置換出去,導(dǎo)致系統(tǒng)性能降低。
GOS未加入安全系統(tǒng)之前,GOS訪存過程:GOS虛擬地址—>VMM。將TWPos作為VMM針對(duì)GOS的一個(gè)安全部件,被保護(hù)的GOS運(yùn)行在VMM之上,加入安全TWPos系統(tǒng),訪存過程如圖1b:GOS虛擬地址—>TWPos—>VMM。說明GOS任務(wù)安全訪問物理內(nèi)存時(shí),必須通過TWPos,才能訪問真正物理內(nèi)存,TWPos作為GOS安全訪問的重要部件,通過保護(hù)GOS物理內(nèi)存達(dá)到保護(hù)GOS內(nèi)核KI。內(nèi)存關(guān)系如圖1c:將TWPos加載到OMB時(shí),TWPos從HOS分配3部分內(nèi)存分別為BMB、SMT和MMB,處理它們之間關(guān)系如下:
1) 映射關(guān)系(OMB—>MMB):TWPos內(nèi)核加載時(shí),將采用SAPM機(jī)制的內(nèi)存或者模塊SAPM-K?OMB內(nèi)存認(rèn)證備份至MMB內(nèi)存SAPM-K—>MMB,并且SMT={OMB,MMB,SMT標(biāo)識(shí)}將它們映射關(guān)系寫入空閑SMT項(xiàng)。
2) 副本關(guān)系(OMB—>BMB):TWPos內(nèi)核加載時(shí),將采用DRM機(jī)制的內(nèi)存或者模塊DRMK?OMB內(nèi)存?zhèn)浞葜罛MB內(nèi)存DRM-K—>BMB。
3) 安全訪問(GOS—>SMT—>MMB):若GOS訪問SAPM-K內(nèi)存,先查找SAPM-K內(nèi)存與MMB映射關(guān)系SMT,若找到則通過SMT映射塊訪問MMB,由于MMB是認(rèn)證之后的內(nèi)存,因此該訪問為安全訪問。
4) 通用訪問(GOS—>SMT—>OMB):GOS訪問DRM-K內(nèi)存,訪問過程為GOS—>SMT—>OMB。
5) 恢復(fù)關(guān)系(BMB—>OMB):如果DRM機(jī)制周期檢測(cè)到DRM-K內(nèi)存被篡改,則通過BMB進(jìn)行恢復(fù)BMB—>OMB。
1.2 保護(hù)機(jī)制
TWPos根據(jù)不同保護(hù)內(nèi)容采用不同策略,圖1顯示了TWPos保護(hù)KI完整性的總體構(gòu)架。
SAPM方式:初始化模塊建立GOS的映射關(guān)系SAPM-K—>MMB,并將MMB內(nèi)存置為只讀模式,同時(shí)修改shadow page tables(SPT)頁(yè)表將原先指向SAPM-K修改為指向MMB;當(dāng)GOS訪問SAPM-K內(nèi)存通過SPT和SMT映射到MMB進(jìn)行訪問。要是GOS訪問DRM-K內(nèi)存通用訪問。
DRM方式:初始化時(shí)將GOS的DRM-K內(nèi)存和BMB內(nèi)存切分多個(gè)邏輯塊,并將DRM-K所有邏輯塊與BMB建立副本關(guān)系,同時(shí)DRM-K所有邏輯塊進(jìn)行HASH,并將HASH值存入BMB內(nèi)存;GOS訪問DRM-K內(nèi)存采用通用訪問,該訪存未進(jìn)行任何安全保護(hù),GOS可能對(duì)DRM-K內(nèi)存進(jìn)行篡改和破壞。DRM啟動(dòng)內(nèi)核線程周期HASH驗(yàn)證DRM-K邏輯塊KI完整性,如果KI完整性被破壞則通過BMB進(jìn)行恢復(fù)。
圖1 TWPos總體構(gòu)架
TWPos實(shí)現(xiàn)兩種內(nèi)核和內(nèi)核模塊保護(hù)機(jī)制:1) SAPM方式,將內(nèi)核及其模塊建立映射關(guān)系SAPM-K—>MMB,GOS采用安全訪問GOS—>SMT—>MMB進(jìn)行訪存。2) DRM方式,將DRM-K內(nèi)核劃分多個(gè)邏輯塊,每個(gè)邏輯塊DRM-K[i]進(jìn)行HASH,并將HASH值存入OMB[i]內(nèi)存,同時(shí)建立副本關(guān)系DRM-K—>BMB。DRM方式周期HASH驗(yàn)正DRM-K內(nèi)核,如果探測(cè)到DRM-K內(nèi)核的KI被破壞,則探測(cè)恢復(fù)關(guān)系BMB—>OMB。TWPos保護(hù)的內(nèi)核,即可以采用其中一種,也可以同時(shí)采用兩種保護(hù)方式,但是不能將相同內(nèi)存塊同時(shí)置于這兩種保護(hù)方式之下。
2.1 初始化
內(nèi)核和內(nèi)核模塊加載OMB內(nèi)存中,SAPM方式保護(hù)的內(nèi)核SAPM-K?OMB,DRM方式保護(hù)的內(nèi)核DRM-K?OMB,并且DRM-K∩SAPM-K=?,也就是OMB內(nèi)存對(duì)應(yīng)的邏輯塊只能選擇一種方式保護(hù),不能將OMB的邏輯塊即置入SAPM方式和DRM方式之下。從前面所述內(nèi)存關(guān)系可以看出要保護(hù)SAPM-K內(nèi)核,需要在初始化時(shí)建立映射關(guān)系SAPM-K—>MMB。同樣,保護(hù)DRM-K內(nèi)核,初始化時(shí)建立副本關(guān)系DRM-K—>BMB,并且建立HASH驗(yàn)證機(jī)制。同時(shí)SMT、MMB和BMB 3部分內(nèi)存頁(yè)表都置為非置換方式,避免內(nèi)存頁(yè)置換出去,導(dǎo)致系統(tǒng)性能降低。內(nèi)核采用保護(hù)方式不一樣,分為兩種初始化過程:
1) SAPM-K初始化建立SAPM-K—>MMB映射關(guān)系,逐一將SAPM-K[i]—>MMB[i]邏輯塊建立映射關(guān)系。同時(shí)建立SMT[i]={OMB[i],MMB[i],標(biāo)識(shí)}映射表。
2) DRM-K內(nèi)核初始化:GOS的DRM-K內(nèi)核劃分多個(gè)DRM-K[i]邏輯塊并進(jìn)行HASH,將HASH值—>BMB備份內(nèi)存,作為后期判斷DRM-K內(nèi)存KI破壞的依據(jù),建立副本關(guān)系DRM-K—>BMB,BMB為KI內(nèi)存,作為后續(xù)DRM-K內(nèi)存完整性破壞時(shí)進(jìn)行恢復(fù)使用。
2.2 SAPM方式
如圖2所示,GOS通過SAPM方式訪問內(nèi)存分為兩種情況:一種安全訪問;一種通用訪問。通用訪問就是找到GOS對(duì)應(yīng)的SMT項(xiàng),則遵循原有內(nèi)存訪問模式GOS—>SPT—>SAPM-K,訪存流程不變。而安全訪問過程GOS—>SPT—>SMT—>MMB。GOS訪問物理內(nèi)存,通過SPT頁(yè)表,查找訪問SMT;判斷SMT[i].標(biāo)識(shí)狀態(tài),若SMT[i].標(biāo)識(shí)=LOCK,則等待解鎖之后才訪存;若SMT[i].標(biāo)識(shí)=USE&SAFE,則表示安全訪問MMB[i]內(nèi)存;若SMT[i].標(biāo)識(shí)= USE& NORMAL,則表示通用訪問OMB[i]內(nèi)存。
圖2 SAPM保護(hù)方式下的內(nèi)存訪問
算法1:SAPM方式保護(hù)KI算法
頁(yè)表查找GOS—>SPT.
頁(yè)表訪存SPT—>SMT.
if SMT[i].標(biāo)識(shí) = LOCK then
WAIT.
else if (SMT[i].標(biāo)識(shí) = USE) then
if(SMT[i].標(biāo)識(shí) = SAFE)then
獲取SMT[i].MMB[i]地址.
安全訪問MMB[i]內(nèi)存.
else if(SMT[i].標(biāo)識(shí) = NORMAL)then
獲取SMT[i]. OMB[i]地址.
通用訪問OMB[i]內(nèi)存.
else
錯(cuò)誤
2.3 DRM方式
GOS不通過認(rèn)證直接訪問DRM-K內(nèi)核,帶有惡意代碼或數(shù)據(jù)直接訪問OMB,導(dǎo)致KI被破壞。DRM內(nèi)核初始化及DRM內(nèi)核模塊加載過程中,DRM-K內(nèi)核的OMB內(nèi)存都做恢復(fù)備份和HASH。TWPos的DRM保護(hù)方式下,探測(cè)到rootkits攻擊進(jìn)行恢復(fù)內(nèi)核線程對(duì)OMB內(nèi)存做周期性校驗(yàn),如圖3所示,檢查KI是否被破壞,若KI未破壞,則進(jìn)入下一個(gè)周期檢查,否則BMB內(nèi)存進(jìn)行恢復(fù)(見恢復(fù)算法2)。
圖3 DRM保護(hù)方式下,探測(cè)到rootkits攻擊進(jìn)行恢復(fù)
DRM方式恢復(fù)邏輯塊OMB[i]算法如下:
1) 周期HASH驗(yàn)證,TWPos的內(nèi)核線程對(duì)OMB[i]邏輯塊進(jìn)行HASH,值標(biāo)記為:HASH[dest]。從BMB[i]內(nèi)存獲取OMB[i]初始化HASH值,標(biāo)記為:HASH[Orig]。HASH[Orig]和HASH[dest]進(jìn)行匹配,若匹配則表明OMB[i]的KI未破壞,若不匹配則表明OMB[i]的KI被破壞。
2) 定時(shí)周期校驗(yàn)與恢復(fù)交互,定時(shí)周期校驗(yàn)?zāi)K發(fā)現(xiàn)KI被破壞,則向恢復(fù)模塊發(fā)送恢復(fù)指令標(biāo)記為CMD[rec],等到恢復(fù)模塊恢復(fù)KI結(jié)束之后,向定時(shí)周期校驗(yàn)?zāi)K發(fā)送恢復(fù)完成指令,標(biāo)記為CMD[resp]。
3) KI恢復(fù),恢復(fù)模塊收到CMD[rec]指令,讀取BMB[i],執(zhí)行探測(cè)恢復(fù)BMB[i]—>OMB[i]。
算法2:恢復(fù)算法
創(chuàng)建周期檢測(cè)線程。
for OMB[i]且?i∈{1,2,…,n} do
HASH邏輯塊OMB[i]—>HASH[dest]。
獲取BMB[i]初始化值HASH[Orig]。
if HASH[Orig] ≠ HASH[dest] then
CMD[rec]—>恢復(fù)模塊.
LOCK—> OMB[i].
恢復(fù)關(guān)系BMB[i]—>OMB[i] .
UNLOCK—> OMB[i].
CMD[resp]—>定時(shí)周期檢測(cè)模塊.
else
OMB[i]的KI未破壞.
等待下一個(gè)檢測(cè)周期
表1 通過現(xiàn)有內(nèi)核rootkits攻擊TWPos系統(tǒng),防護(hù)情況
TWPos系統(tǒng)實(shí)驗(yàn)及其分析側(cè)重兩種方面:1) 防護(hù)能力;2) 系統(tǒng)性能。實(shí)驗(yàn)環(huán)境:Dell PowerEdge T310、2.4 G主頻、Intel Xeon X3430、4 GB內(nèi)存,Xen[16]hypervisor基于3.4.2版本,dom0系統(tǒng)為Fedora 12,使用64位Ubuntu、內(nèi)核為2.6.24作為客戶機(jī)OS。
防護(hù)能力:采用現(xiàn)有內(nèi)核rootkits攻擊工具[17-23]對(duì)插入TWPos模塊的系統(tǒng)進(jìn)行攻擊,測(cè)試結(jié)果如表1所示。插入模塊修改控制流程、全局變量、修改或注入調(diào)用表或中斷表等,從而達(dá)到隱藏或篡改操作系統(tǒng)目的。實(shí)驗(yàn)表明TWPos能夠有效防止現(xiàn)有內(nèi)核rootkits攻擊,保護(hù)內(nèi)核的完整性。表2通過幾種探測(cè)和防護(hù)系統(tǒng)的比較,可看出TWPos系統(tǒng)是一個(gè)全面綜合防御系統(tǒng),包括對(duì)控制流、代碼、數(shù)據(jù)完整性進(jìn)行全面保護(hù),克服單一防護(hù)模式的弱點(diǎn),其他探測(cè)與防御系統(tǒng)對(duì)控制流、代碼、數(shù)據(jù)完整性行只能保護(hù)其中一種或兩種,不能全面有效的防護(hù)。
表2 TWPos與其他內(nèi)核完整性探測(cè)和防護(hù)系統(tǒng)的對(duì)比
性能影響:采用XEN作為性能測(cè)試基準(zhǔn),Lmbench[10]作為測(cè)試性能工具,測(cè)試并分析系統(tǒng)各參數(shù)及TWPos系統(tǒng)對(duì)性能的影響。
SAPM方式和DRM方式性能對(duì)比:DRM方式獲得最佳性能:最合理邏輯塊切分粒度4K和最優(yōu)檢測(cè)周期15 ms,與SAPM方式比較,內(nèi)核比例分配:SAPM-K內(nèi)核占有60%,DRM-K內(nèi)核占有40%,圖4表明了SAPM方式比DRM方式性能更好,只要SAPM方式能夠防護(hù),盡可能采用SAPM方式。TWPos系統(tǒng)整體性能介于SAPM方式和DRM方式之間。
TWPos系統(tǒng)對(duì)應(yīng)用程序的影響:應(yīng)用程序訪存過程:應(yīng)用程序—>系統(tǒng)調(diào)用—>GOS內(nèi)核虛擬地址—>GOS內(nèi)核物理地址—>TWPos—>VMM—>物理內(nèi)存。盡管TWPos只對(duì)內(nèi)核完整性進(jìn)行保護(hù),但TWPos在兩個(gè)方面可能對(duì)應(yīng)用程序性能造成影響:1) 應(yīng)用程序的系統(tǒng)調(diào)用需要訪問內(nèi)核,那么就要訪問TWPos安全模塊;2) DRM方式的內(nèi)核線程周期檢測(cè)DRM-K內(nèi)存,對(duì)系統(tǒng)性能造成影響。圖5表明TWPos系統(tǒng)對(duì)應(yīng)用程序性能影響很小。主要基于如下原因:1) 由于TWPos采用了內(nèi)存映射而摒棄仲裁技術(shù),內(nèi)存映射機(jī)制對(duì)系統(tǒng)性能產(chǎn)生輕微的影響,不會(huì)導(dǎo)致系統(tǒng)性能嚴(yán)重下降;2) DRM的內(nèi)核檢測(cè)線程盡管周期掃描DRW-K內(nèi)存,但是只有在內(nèi)核被篡改或注入代碼時(shí),內(nèi)核完整性遭到破壞進(jìn)行恢復(fù)才會(huì)導(dǎo)致系統(tǒng)性能下降,其它時(shí)候?qū)ο到y(tǒng)性能不造成影響。
TWPos系統(tǒng)對(duì)內(nèi)核程序的影響:圖6呈現(xiàn)了TWPos對(duì)系統(tǒng)性能的影響,導(dǎo)致系統(tǒng)性能下降的主要原因是訪存過程中建立和查找對(duì)應(yīng)的SMT映射。Fork進(jìn)程和Exec任務(wù)都需要建立棧對(duì)象,對(duì)棧進(jìn)行映射處理。Insmod插入模塊對(duì)系統(tǒng)性能的影響主要是SMT映射的建立,并做內(nèi)存?zhèn)浞?。file copy(FC)開銷主要是SMT映射函數(shù)地址的查找,而實(shí)際文件內(nèi)容訪問(讀寫)并沒有增加系統(tǒng)開銷。Apache主要針對(duì)協(xié)議棧代碼完整性保護(hù)導(dǎo)致系統(tǒng)開銷。TWPos對(duì)系統(tǒng)額外開銷很少,主要開銷在于SMT映射。TWPos系統(tǒng)對(duì)性能的影響主要是SMT導(dǎo)致的,訪問內(nèi)容不會(huì)降低系統(tǒng)性能。圖6表明了TWPos系統(tǒng)比SecVisor和NICKLE系統(tǒng)性能好,無論系統(tǒng)接口調(diào)用、內(nèi)核模塊加載還是內(nèi)核程序執(zhí)行,TWPos都體現(xiàn)出優(yōu)越的性能,主要由于TWPos摒棄仲裁技術(shù)而采用內(nèi)存映射機(jī)制,并且將OMB內(nèi)存切分多個(gè)邏輯塊進(jìn)行快速恢復(fù)。
圖4 SAPM與DRM性能對(duì)比
圖5 TWPos和XEN性能對(duì)比
圖6 TWPos與XEN、SecVisor和NICKLE內(nèi)核程序性能對(duì)比
本論文基于VMM虛擬技術(shù),呈現(xiàn)TWPos的設(shè)計(jì)、實(shí)現(xiàn)及其TWPos實(shí)驗(yàn)分析,表明了TWPos不僅能夠全面高效自動(dòng)探測(cè)和防護(hù)確保內(nèi)核完整性,同時(shí)兼容多操作系統(tǒng)。因此TWPos可以廣泛應(yīng)用于商業(yè)領(lǐng)域。
[1] NGUYEN A Q, YOSHIYASU T. Towards a tamper resistant kernel rootkit detector[C]//Proceedings of the 2007 ACM Symposium on Applied Computing. Seoul, Korea: ACM, 2007.
[2] PETRONI N, FRASER T, MOLINA J, et al. Copilot: a coprocessor-based kernel runtime integrity monitor[C]// Proceedings of the 13th USENIX Security Symposium. San Diego, USA: Springer, 2004.
[3] PETRONI J N L, FRASER T, WALTERS A, et al. An architecture for specification-based detection of semantic integrity violations in kernel dynamic data[C]//Proceedings of the 15th USENIX Security Symposium. Vancouver, Canada: Springer, 2006.
[4] PETRONI J N L, HICKS M. Automated detection of persistent kernel control-flow attacks[C]//Proceedings of the 2007 ACM Conference on Computer and Communications Security. Alexandria, USA: ACM, 2007.
[5] HOFMANN O S, DUNN A M, KIM S, et al. Ensuring operating system kernel integrity with osck[J]. ACM SIGPLAN Notices, 2011, 46(3): 279-290.
[6] SESHADRI A, LUK M, QU Ning, et al. Secvisor: a tiny hypervisor to provide lifetime kernel code integrity for commodity oses[J]. ACM SIGOPS Operating Systems Review, 2007, 41(6): 335-350.
[7] LITTY L, LAGAR-CAVILLA H A, LIE D. Hypervisor support for identifying covertly executing binaries[C]// Proceedings of the 17th USENIX Security Symposium. California, USA: Springer, 2008: 243-258.
[8] RILEY R, JIANG Xu-xian, XU Dong-yan. Guesttransparent prevention of kernel rootkits with vmm-based memory shadowing[C]//the 11th International Symposium on Recent Advances in Intrusion Detection. Cambridge, USA: Springer, 2008.
[9] WANG Zhi, JIANG Xu-xian, CUI Wei-dong, et al. Countering kernel rootkits with light weight hook protection [C]//16th ACM Conference on Computer and Communications Security. New York, USA: ACM, 2009.
[10] Sourceforge site. Lmbench[R/OL]. [2014-03-19]. http:// sourceforge.net/ projects/lmbench/.
[11] LI Jin-ku, WANG Zhi, BLETSCH T, et al. Comprehensive and efficient protection of kernel control data[J]. IEEE Transactions Information Forensics and Security, 2011, 6(4): 1404-1417.
[12] SZEFER J, LEE R B. Architectural support for hypervisor-secure virtualization[J]. ACM SIGARCH Computer Architecture News, 2012, 40(1): 437-450.
[13] WANG Zhi, WU C, GRACE M, et al. Isolating commodity hosted hypervisors with HyperLock[C]//ACM European Conference on Computer Systems. New York, USA: ACM, 2012.
[14] DANIEL P. Berrangé. Virtual machine manager[R/OL]. [2014-03-29]. http://virt-manager.org/.
[15] BALIGA A, GANAPATHY V, IFTODE L. Automatic inference and enforcement of kernel data structure invariants[C]//the 2008 Annual Computer Security Applications Conference. Washington, USA: IEEE, 2008.
[16] Xen Project. Xen[R/OL]. [2014-04-19]. http://www. xen.org/.
[17] OpenWall Organization. Adore-ng[R/OL]. [2014-04-19]. http://stealth. openwall.net/rootkits/.
[18] Fr33project. Enyelkm[R/OL]. [2014-04-19]. http://www. Fr33project. org/pages/projects/enyelkm.htm.
[19] Codeforge webset. Sk2rc2[R/OL]. [2014-04-19]. http:// www.codeforge.com/ s/3/sk2rc2-code.
[20] Superkit international company. Superkit[R/OL]. [2014-04-19]. http://www.superkit.com/.
[21] Open code lib. Mood-nt[R/OL]. [2014-04-19]. http:// darkangel.antifork. org/codes/.
[22] Moodledoc site. Override[R/OL]. [2014-04-19]. http:// docs.moodle.org/23/en/Override_permissions.
[23] Sebek project site. Sebek[R/OL]. [2014-04-19]. https:// projects.honeynet.org/sebek.
編 輯 葉 芳
Protection of Kernel Integrity with Two-Mode Protection Operation System
HE Jin, FAN Ming-yu, and WANG Guang-wei
(School of Computer Science and Engineering, University of Electronic Science and Technology of China Chengdu 611731)
Kernel-level rootkits attacks pose a deadly threat to kernel integrity, and kernel rootkits is currently a research focus, primarily focused on kernel-level rootkits detection and rootkits protection. However, these studies are always flawed: the rootkits protection presents a single protected mode; kernel-level rootkits detection can only do the detection use, even if the kernel has been found to be attacked, there is no method to solve. Give this situation, we design a two-mode protection operation system (TWPos), this is, a kernel-level integrity protection method along with detection and protection capability, even if the kernel is already under attack, TWPos also recoveries kernel integrity. The experiments show that TWPos is a comprehensive and effective protection system without sacrificing system performance for the price, and is compatible with a variety of OS systems.
detection recovery mode; kernel integrity; rootkits; safe authentication protection mode; two-mode protection operation system; virtual machine monitoring
TP309
A
10.3969/j.issn.1001-0548.2015.06.017
2014 ? 05 ? 06;
2014 ? 09 ? 19
國(guó)家863項(xiàng)目(2009AA01Z435, 2009AA01Z 403);國(guó)家自然科學(xué)基金(60373109, 60272091)
何進(jìn)(1977 ? ),男,博士,主要從事操作系統(tǒng)安全、虛擬技術(shù)及云安全等方面的研究.