姜 沖,董碧丹,李 寧,王瀟茵
(中國航天系統(tǒng)科學(xué)與工程研究院,北京100048)
在操作系統(tǒng)的工作環(huán)境中,一方面由于計(jì)算機(jī)病毒及木馬會(huì)通過提高權(quán)限來對系統(tǒng)實(shí)施攻擊;另一方面用戶違規(guī)運(yùn)行的綠色軟件而引發(fā)的軟件惡意行為也會(huì)對主機(jī)性能甚至安全造成嚴(yán)重威脅[1,2]。
針對以上問題,本文提出一種Windows內(nèi)核管理技術(shù),該技術(shù)通過監(jiān)控應(yīng)用程序?qū)Σ僮飨到y(tǒng)內(nèi)核API的調(diào)用,以管理應(yīng)用程序名單的形式加強(qiáng)對用戶程序級別的訪問控制以及對非法用戶程序的監(jiān)控。該技術(shù)可以有效控制因管理員違規(guī)卸載軟件 (特別是安全監(jiān)控軟件)以及普通用戶違規(guī)使用綠色軟件而造成的安全風(fēng)險(xiǎn),作為一種安全性控制手段,在安全性要求較高的應(yīng)用場景具有廣闊的應(yīng)用前景。
軟件惡意行為是指具有 “正常使用目的”的軟件在運(yùn)行過程中,其漏洞或生產(chǎn)商惡意植入的后門被利用后產(chǎn)生的一種不可信的軟件行為。應(yīng)用軟件作為信息系統(tǒng)的載體,其本身的漏洞、后門被利用后,將直接威脅到整個(gè)信息系統(tǒng)的安全性和可靠性。據(jù)統(tǒng)計(jì),基于軟件系統(tǒng)安全漏洞和預(yù)埋后門所形成的攻擊占目前網(wǎng)絡(luò)攻擊的70%。
軟件惡意行為主要是通過調(diào)用Windows系統(tǒng)API來實(shí)現(xiàn),例如截屏、修改注冊表、文件自我復(fù)制等功能,從而達(dá)到關(guān)閉安全軟件服務(wù)、打開禁用的網(wǎng)絡(luò)端口等目的,對系統(tǒng)安全產(chǎn)生潛在威脅。
定義1 惡意代碼 (定義請參見參考文獻(xiàn) [3])具有極高的隱蔽性,能夠通過嵌入代碼的方式,在正常代碼的執(zhí)行過程中自動(dòng)運(yùn)行,使被嵌入代碼的軟件除正常使用目的之外,自身的缺陷、漏洞、后門被觸發(fā)并利用,產(chǎn)生某種不可靠、不可信、不可控的軟件行為,從而達(dá)到感染計(jì)算機(jī),竊取、破壞目標(biāo)數(shù)據(jù)的目的。傳統(tǒng)意義上的惡意代碼包括計(jì)算機(jī)病毒 (定義請參見參考文獻(xiàn) [3])、蠕蟲、木馬、Rootkit等。
定義2 受信申請:受信申請就是一段可執(zhí)行代碼,這段代碼在可信的系統(tǒng)狀態(tài)下被系統(tǒng)內(nèi)核發(fā)放了一個(gè)可信密鑰。
定義3 認(rèn)證令牌:認(rèn)證令牌本質(zhì)就是一個(gè)包含了app和pid的元組,其中app是指用戶申請的名稱,pid是指該用戶申請創(chuàng)建的進(jìn)程ID。
認(rèn)證令牌有以下特性:
依照令牌生成協(xié)議,伴隨著用戶進(jìn)程的創(chuàng)建而生成;
每個(gè)進(jìn)程的令牌都是唯一可識的,直到應(yīng)用程序進(jìn)程實(shí)例結(jié)束時(shí)失效;
只能由認(rèn)證器 (見定義4)來生成;
只能被安全訪問監(jiān)控器讀取并操作。
定義4 認(rèn)證器:認(rèn)證器是一個(gè)內(nèi)核服務(wù),該服務(wù)負(fù)責(zé)實(shí)現(xiàn)令牌發(fā)放協(xié)議,并負(fù)責(zé)創(chuàng)建并管理注冊進(jìn)程所用到的認(rèn)證令牌。
現(xiàn)有的惡意行為檢測技術(shù)按照分析過程的不同可以分為靜態(tài)分析和動(dòng)態(tài)分析。
靜態(tài)分析技術(shù)是文件掃描即特征碼檢測。由于靜態(tài)分析不用執(zhí)行,運(yùn)行速度較快,而且不會(huì)危害系統(tǒng),因此成為惡意代碼檢測的主要手段。但靜態(tài)分析技術(shù)嚴(yán)重依賴代碼的反匯編結(jié)果,無法處理間接調(diào)用和間接跳轉(zhuǎn),容易受到一些混淆技術(shù)、代碼加密的影響,而且由于特征碼檢測技術(shù)的局限性,靜態(tài)分析技術(shù)對惡意代碼的變形以及未知惡意代碼的檢測效果大打折扣,在惡意代碼層出不窮的今天,這種靜態(tài)檢測方法的實(shí)用價(jià)值已經(jīng)變得越來越低。
由于靜態(tài)分析的缺陷,基于HOOK 技術(shù)的動(dòng)態(tài)分析技術(shù)開始用于分析程序的執(zhí)行過程[4]。動(dòng)態(tài)分析技術(shù)主要通過對目標(biāo)程序的特征碼、API關(guān)系圖以及指令序列等因素的分析,來發(fā)現(xiàn)惡意代碼的異常的API調(diào)用,并終止該應(yīng)用程序的執(zhí)行。動(dòng)態(tài)分析技術(shù)通過分析程序的執(zhí)行流程,能更全面地監(jiān)控程序行為,實(shí)現(xiàn)實(shí)時(shí)發(fā)現(xiàn)和實(shí)時(shí)攔截。但是動(dòng)態(tài)執(zhí)行的時(shí)間比較長,占用資源較多,如何高效實(shí)現(xiàn)在線監(jiān)控是一個(gè)重要的問題。
無論靜態(tài)檢測技術(shù)還是動(dòng)態(tài)檢測技術(shù),都是滯后、被動(dòng)的防范惡意軟件,無法做到高效的對眾多最新的惡意代碼實(shí)行實(shí)時(shí)監(jiān)控的功能。本文所提出的管控系統(tǒng)能夠在上述兩種方法的基礎(chǔ)之上取長補(bǔ)短,通過加固系統(tǒng)的自身安全性來防止惡意代碼的破壞。
個(gè)人計(jì)算機(jī)的安全主要依賴于運(yùn)行進(jìn)程的穩(wěn)定性以及操作系統(tǒng)內(nèi)核對于程序的控制和管理。而由于操作系統(tǒng)內(nèi)核對于允許執(zhí)行的程序做了盡可能少的限制,這就使得惡意程序能夠?yàn)E用系統(tǒng)資源。因此,一旦在計(jì)算機(jī)上出現(xiàn)惡意行為,它便可以成功的利用內(nèi)核服務(wù)來達(dá)到它的目的。為了有效的防止惡意行為的感染,內(nèi)核必須對用戶程序進(jìn)行分辨,將惡意行為和非惡意行為區(qū)分開來,并防止內(nèi)核服務(wù)的誤用[5]。
在主流的操作系統(tǒng)內(nèi)核中,進(jìn)程是基于可執(zhí)行文件的名字、安裝路徑和PID 來判斷的,然而,沒有一種鑒別方法能夠有效的將一個(gè)運(yùn)行時(shí)進(jìn)程與相對應(yīng)的可執(zhí)行代碼相關(guān)聯(lián),而正是這些代碼最終執(zhí)行了那些篡改行為。
本文提出了一種新的管控模型,在這個(gè)模型中每一個(gè)用戶程序必須在被注冊并認(rèn)定為可信進(jìn)程之后才可以運(yùn)行,認(rèn)證和注冊工作由一個(gè)認(rèn)證進(jìn)程負(fù)責(zé),并與系統(tǒng)內(nèi)核進(jìn)行認(rèn)證通信。本認(rèn)證模型主要有以下兩個(gè)功能:
(1)用戶程序識別:用戶程序需要提供一個(gè)用于識別的唯一識別碼 (token),內(nèi)核通過這個(gè)識別碼和安全認(rèn)證協(xié)議來識別和認(rèn)證合法用戶程序。非法用戶程序由于沒有唯一識別碼,所以不能通過識別認(rèn)證,并且這些用戶程序的敏感操作會(huì)被監(jiān)控和限制。
(2)用戶程序監(jiān)控:通過監(jiān)控系統(tǒng)調(diào)用,加強(qiáng)對用戶程序級別的訪問控制,以及對非合法用戶程序的監(jiān)控。根據(jù)程序數(shù)值變量的取值范圍,以及需要檢查的運(yùn)行時(shí)錯(cuò)誤屬性生成斷言,以宏assert()的形式插入程序中。
根據(jù)系統(tǒng)模型,本文采用模塊化的開發(fā)方法,將整個(gè)系統(tǒng)劃分為多個(gè)不同層次的子模塊,設(shè)計(jì)和構(gòu)建基于內(nèi)核管理技術(shù)的應(yīng)用軟件管控系統(tǒng)原型,如圖1所示。
2.1.1 系統(tǒng)組成
本系統(tǒng)模型架構(gòu)包括了3 個(gè)主要部分:受信注冊器,認(rèn)證控制器和安全監(jiān)控器,這3個(gè)部分均不會(huì)對內(nèi)核做任何修改。
受信注冊器:受信注冊器是負(fù)責(zé)給用戶申請發(fā)放注冊密鑰,并在內(nèi)核注冊。用戶申請通過密鑰發(fā)放器來獲取一個(gè)受信密鑰,密鑰發(fā)放器同時(shí)也會(huì)在存儲器中存儲一個(gè)相同的密鑰以用來在運(yùn)行時(shí)進(jìn)行驗(yàn)證。
認(rèn)證控制器:認(rèn)證控制器負(fù)責(zé)應(yīng)用程序剛剛啟動(dòng)時(shí),對其進(jìn)行合法性進(jìn)行認(rèn)證,并為合法應(yīng)用程序產(chǎn)生一個(gè)token (令牌)。當(dāng)用戶應(yīng)用程序要調(diào)用某一內(nèi)核系統(tǒng)調(diào)用時(shí),需提供token。安全訪問監(jiān)控器 (SAM)會(huì)通過驗(yàn)證token來判斷用戶應(yīng)用程序是否有權(quán)限調(diào)用該系統(tǒng)調(diào)用的權(quán)限,防止經(jīng)過偽裝的惡意行為對系統(tǒng)進(jìn)行破壞。token會(huì)在該應(yīng)用程序的實(shí)例結(jié)束時(shí)失效。
圖1 系統(tǒng)原型總體架構(gòu)
令牌就是被認(rèn)證器認(rèn)證后的狀態(tài),是內(nèi)核用來認(rèn)證進(jìn)程的。令牌是由認(rèn)證器負(fù)責(zé)管理并可以被安全監(jiān)控器來修改的。
監(jiān)視系統(tǒng) (SAM):SAM 是負(fù)責(zé)運(yùn)行時(shí)的認(rèn)證工作并擁有執(zhí)行用戶申請的權(quán)利。令牌被認(rèn)證器持有之后,SAM就通過與認(rèn)證器通過共享一個(gè)數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)監(jiān)視功能。
2.1.2 系統(tǒng)的實(shí)現(xiàn)
傳統(tǒng)的操作系統(tǒng)內(nèi)核并沒有預(yù)防惡意行為的設(shè)計(jì),也沒有在運(yùn)行時(shí)區(qū)分惡意進(jìn)程的功能?,F(xiàn)有的用來對抗惡意進(jìn)程的技術(shù)是行為分析。這個(gè)方法主要的弊端是最新的和變種的攻擊行為可以繞過監(jiān)控探測頭,而本系統(tǒng)能夠不依賴于軟件行為來分辨惡意行為。
本系統(tǒng)能夠?qū)\(yùn)行時(shí)的軟件行為進(jìn)行認(rèn)證。認(rèn)證過的應(yīng)用程序的優(yōu)先級較高,而未認(rèn)證的則被阻止并被認(rèn)為是潛在的惡意行為。這個(gè)認(rèn)證機(jī)制能夠?qū)撛诘膼阂庑袨榕c合法行為隔離開來。系統(tǒng)允許任何應(yīng)用程序向內(nèi)核服務(wù)注冊,通過監(jiān)控危險(xiǎn)等級較高的內(nèi)核調(diào)用來使隱藏的惡意進(jìn)程在進(jìn)入內(nèi)核時(shí)就被發(fā)現(xiàn)。
系統(tǒng)會(huì)給每個(gè)合法應(yīng)用程序都分配一個(gè)只有該程序和內(nèi)核可用的密鑰。當(dāng)應(yīng)用程序創(chuàng)建一個(gè)進(jìn)程的時(shí)候,這個(gè)進(jìn)程的密鑰就會(huì)被用來向內(nèi)核注冊,當(dāng)注冊成功之后,內(nèi)核服務(wù)就可以根據(jù)經(jīng)過加密的哈希字符串來確認(rèn)注冊信息。經(jīng)確認(rèn)的進(jìn)程就會(huì)由系統(tǒng)調(diào)用檢測系統(tǒng)來分配相應(yīng)權(quán)限。
這個(gè)模型是建立在內(nèi)核代碼和內(nèi)存都是安全的假設(shè)之上。用戶層的進(jìn)程被注冊后會(huì)被記入允許運(yùn)行的白名單中,非白名單程序則被視為安全性不可知的程序,會(huì)引發(fā)不可信的軟件行為,其中就可能存在潛在的惡意行為。通過本系統(tǒng)能夠限制未注冊的進(jìn)程從而保證內(nèi)核的安全。
系統(tǒng)運(yùn)行流程如圖2所示。
圖2 系統(tǒng)運(yùn)行流程
2.1.3 安全令牌生成協(xié)議
當(dāng)應(yīng)用程序進(jìn)行系統(tǒng)調(diào)用時(shí),本系統(tǒng)就能夠用令牌來對其進(jìn)行認(rèn)證。這個(gè)令牌的使用使得程序的注冊和認(rèn)證被分離開來。所以,認(rèn)證控制器只是在申請創(chuàng)建新的進(jìn)程時(shí)起作用,監(jiān)視器是在進(jìn)程操縱系統(tǒng)資源時(shí)工作,并可以隨時(shí)調(diào)用認(rèn)證令牌。
令牌發(fā)放步驟如下:
(1)進(jìn)程p向認(rèn)證器發(fā)起一個(gè)申請來申請令牌。該進(jìn)程必須詳細(xì)說明申請的名稱并提供給認(rèn)證器。
(2)接受申請:
1)如果進(jìn)程持有認(rèn)證密鑰那么認(rèn)證器A 就會(huì)將它視作受信進(jìn)程,反之就是惡意進(jìn)程;
2)認(rèn)證器會(huì)檢測進(jìn)程是否已經(jīng)持有令牌,如果有,就是惡意進(jìn)程;
3)認(rèn)證器限制了認(rèn)證申請數(shù)量,這樣能夠防止進(jìn)程惡意的或者因漏洞而發(fā)起大量的申請破壞系統(tǒng)。另外認(rèn)證器會(huì)檢查申請數(shù)是否小于系統(tǒng)上限,如果檢查失敗,則是惡意的;
4)A 生成一個(gè)隨機(jī)字符序列n并把它發(fā)送給p,而且A 還會(huì)為這個(gè)序列設(shè)置一個(gè)超時(shí)時(shí)限t。由于申請沒有網(wǎng)絡(luò)延遲因此t的值可以很小。t的作用在于如果用戶進(jìn)程被意外終止而無法進(jìn)行認(rèn)證時(shí),系統(tǒng)就可以在超時(shí)后強(qiáng)制終止認(rèn)證過程。
(3)P利用一個(gè)哈希公式h=hs(n,p.pid,k)產(chǎn)生了認(rèn)證代碼信息 (message authentication code,MAC),其中p.pid是指p的進(jìn)程ID,k是它的密鑰。
(4)認(rèn)證超時(shí)后,A 立刻終止認(rèn)證。如果p還在繼續(xù)執(zhí)行,那么他就會(huì)被終止。
(5)A 通過重計(jì)算MAC h’=hs(n,p.pid,k)。如果h=h’,那么就會(huì)發(fā)放一個(gè)令牌tk= (pid,p.app)(p.app就是進(jìn)程名)。tk在p結(jié)束前有效。如果二者不相等則認(rèn)為該進(jìn)程是惡意的。
(6)tk存放在一個(gè)共享的數(shù)據(jù)結(jié)構(gòu)中,稱作令牌列表,這個(gè)數(shù)據(jù)結(jié)構(gòu)只能在受信的內(nèi)核中被認(rèn)證模型所讀取。
由于協(xié)議使用非對稱加密算法來對密鑰加密,不易受到中間人攻擊或者復(fù)現(xiàn)攻擊。而且系統(tǒng)對于用戶認(rèn)證申請的數(shù)量做了限制,不易受到拒絕服務(wù)攻擊。
2.1.4 令牌存儲
令牌列表是一個(gè)由注冊器管理的數(shù)據(jù)結(jié)構(gòu)。注冊器只允許內(nèi)核的認(rèn)證功能對該列表進(jìn)行讀操作。操作系統(tǒng)中運(yùn)行著大量的不同類型的軟件 (尤其是多進(jìn)程軟件),因此令牌列表的大小可能增長的非???。如果把令牌列表做成一個(gè)線性表結(jié)構(gòu)那么運(yùn)行效率會(huì)非常低下,這是因?yàn)榱钆屏斜頃?huì)在系統(tǒng)調(diào)用時(shí)被用來頻繁的查找令牌。因此,應(yīng)該使用二叉搜索樹作為存儲結(jié)構(gòu),將查找的時(shí)間復(fù)雜度降低到O(logn)。雖然二叉搜索樹的插入時(shí)間大于線性表 (O(logn)相對于O(1)),但是,由于插入操作的頻繁性要遠(yuǎn)低于查找操作,因此二叉搜索樹是一種比較適合該需求的結(jié)構(gòu)[6]。
二叉搜索樹的數(shù)據(jù)結(jié)構(gòu)如圖3所示。
2.1.5 密鑰管理
在進(jìn)行認(rèn)證之前,必須要為合法的應(yīng)用程序生成并注冊密鑰。
圖3 二叉搜索樹節(jié)點(diǎn)結(jié)構(gòu)
密鑰必須在程序安裝時(shí)在內(nèi)核注冊,并且寫入到程序代碼之中。為了防止密鑰被可執(zhí)行代碼的靜態(tài)分析功能所盜取,本系統(tǒng)限制了進(jìn)程的讀取功能。而且,安裝后的密鑰只與唯一的安裝實(shí)例所結(jié)合,并且在該實(shí)例重新安裝后失效。
密鑰注冊步驟如下:
(1)應(yīng)用程序在首次運(yùn)行的時(shí)候向注冊器申請一個(gè)密鑰;
(2)注冊器會(huì)判斷該進(jìn)程是否被用戶指定合法或者被認(rèn)證器認(rèn)證過,并判斷該進(jìn)程是否曾經(jīng)注冊過;
(3)如果認(rèn)證通過,那么注冊器就會(huì)生成一個(gè)密鑰k并發(fā)送給該申請;否則,該進(jìn)程被關(guān)閉并被認(rèn)定為惡意;
(4)申請接受k并把它存放在自己的代碼中。
在本系統(tǒng)下,任何應(yīng)用程序都處于監(jiān)控之下。當(dāng)本系統(tǒng)模型安裝之后,通過對安全令牌的認(rèn)證結(jié)果的判定來放行或者限制應(yīng)用程序的執(zhí)行,對于因管理漏洞造成的安全隱患 (如普通用戶違規(guī)運(yùn)行綠色軟件如chrome瀏覽器等可能攜帶的惡意程序)以及系統(tǒng)管理員賬戶下違規(guī)安裝和卸載軟件等潛在風(fēng)險(xiǎn)能夠做到有效的監(jiān)控。
由于本系統(tǒng)的認(rèn)證功能是通過白名單形式進(jìn)行過濾,因此存在誤報(bào)率過高的問題。在對系統(tǒng)安全性要求相對較低的主機(jī)中,誤報(bào)率會(huì)極大的影響系統(tǒng)工作效率和操作的便利性[8]。因此,在這種環(huán)境下需要在安全性和效率之間找到折衷點(diǎn),分級名單管理策略是一個(gè)比較理想的實(shí)現(xiàn)方案。
2.2.1 分級名單管理目的
超過70%的病毒和木馬是可執(zhí)行文件,二者通過提高權(quán)限對系統(tǒng)實(shí)施攻擊[7],因此通過對Windows內(nèi)核API的劃分歸類來實(shí)現(xiàn)對應(yīng)用程序的過濾監(jiān)控,實(shí)現(xiàn)將屬于不同類別操作的程序劃歸不同安全等級,在不同安全要求的環(huán)境下,限制相應(yīng)等級的API的調(diào)用,可以在加強(qiáng)系統(tǒng)安全的同時(shí)提高系統(tǒng)運(yùn)行效率,減少因管理漏洞而造成的安全隱患,降低IT 運(yùn)維人員工作強(qiáng)度,有效提升目標(biāo)系統(tǒng)的受控性和安全性。
2.2.2 分級名單管理原則
本系統(tǒng)按照安全等級將Windows內(nèi)核API名單分為“高?!薄ⅰ爸形!焙?“低?!比?。分級原則由操作系統(tǒng)所調(diào)用API不同功能所決定。
由于大多數(shù)惡意程序需要對相關(guān)文件進(jìn)行修改,因此在保證正常應(yīng)用程序運(yùn)行的前提下,可以將需要調(diào)用系統(tǒng)寫文件功能API的未知程序認(rèn)定為高危級別;
木馬、蠕蟲等病毒需要經(jīng)由計(jì)算機(jī)網(wǎng)絡(luò)進(jìn)行傳播[9],因此需要進(jìn)行網(wǎng)絡(luò)操作的應(yīng)用程序應(yīng)當(dāng)認(rèn)定為高危級別;
惡意程序有可能對計(jì)算機(jī)本地文件進(jìn)行訪問[10],以獲得相關(guān)信息,因此對文件的讀操作應(yīng)當(dāng)認(rèn)定為中危級別;
其它類型的操作可以認(rèn)定為低危級別。
系統(tǒng)原型開發(fā)的操作系統(tǒng)平臺為Windows XP Professinal SP3,開發(fā)語言為C++,開發(fā)環(huán)境為VS2010。
為了對比在使用和未使用本系統(tǒng)情況下內(nèi)核運(yùn)行效率,本文選用了常用的如read接口,以及不常用的如getpid接口等不同使用頻率的共5個(gè)內(nèi)核API進(jìn)行統(tǒng)計(jì),根據(jù)Profiler工具測試后得出統(tǒng)計(jì)結(jié)果如圖4所示。
圖4 系統(tǒng)效率對比 (縱軸時(shí)間單位為ms)
如圖4所示,在使用本系統(tǒng)后,操作系統(tǒng)運(yùn)行時(shí)間平均上升幅度低于5%,沒有對運(yùn)行效率造成明顯影響,因此本系統(tǒng)在保證對軟件的安全監(jiān)控的同時(shí),可以將系統(tǒng)的性能損失控制在可接受的范圍之內(nèi)。
軟件的認(rèn)證信息以令牌列表的形式存放在內(nèi)存中,由于操作系統(tǒng)中的可執(zhí)行軟件數(shù)量非常多,在監(jiān)控的過程中,需要對令牌列表進(jìn)行非常頻繁的檢索和插入操作。因此,采用二叉搜索樹的形式作為令牌列表的存儲結(jié)構(gòu)是一種比較理想的處理方式,可以將查找的時(shí)間復(fù)雜度降低到O(logn);雖然二叉搜索樹的插入操作效率低于線性表,但是,由于插入操作的頻繁性遠(yuǎn)低于查找操作,因此二叉搜索樹可以滿足系統(tǒng)對執(zhí)行效率的要求。
如圖5所示,當(dāng)令牌數(shù)低于2000個(gè)的時(shí)候,檢索所需時(shí)間低于50ms。一般情況下,操作系統(tǒng)同一時(shí)刻內(nèi)所維護(hù)的進(jìn)程數(shù)低于3000個(gè),因此該令牌檢索機(jī)制能夠滿足系統(tǒng)需求。而且在令牌數(shù)增加到20000 之后,檢索時(shí)間仍然低于350ms,由此可見利用二叉搜索樹實(shí)現(xiàn)的令牌檢索機(jī)制能夠保證將效率的損失控制在較低的水平。
本系統(tǒng)先后部署在某軍工集團(tuán)互聯(lián)網(wǎng)環(huán)境與某軍工集團(tuán)工控系統(tǒng)。
圖5 令牌列表檢索時(shí)間 (縱軸時(shí)間單位為s)
在互聯(lián)網(wǎng)環(huán)境中,本系統(tǒng)設(shè)置了包括了安全軟件、財(cái)稅軟件、辦公軟件等大約40種受信軟件的白名單,在不影響操作系統(tǒng)運(yùn)行效率的同時(shí)能夠有效攔截非受信程序的運(yùn)行,顯著的降低了運(yùn)維人員的工作強(qiáng)度。
在工控系統(tǒng)中,本系統(tǒng)在保證系統(tǒng)安全的同時(shí),能夠?yàn)楣た叵到y(tǒng)生成的數(shù)據(jù)文件提供有效保護(hù),除工控系統(tǒng)外任何程序都無法讀取、改寫相關(guān)文件,加強(qiáng)了工控?cái)?shù)據(jù)的保密性。
本文介紹了一種基于內(nèi)核管理技術(shù)的應(yīng)用軟件管控系統(tǒng),并采取模式化的設(shè)計(jì)方法開發(fā)系統(tǒng)原型,實(shí)現(xiàn)了對軟件行為的管控。測試結(jié)果表明,該系統(tǒng)對32 位Windows XP Professional SP3操作系統(tǒng)具有良好的適應(yīng)能力,可監(jiān)控多線程的應(yīng)用,能高效的工作,具有較強(qiáng)的魯棒性,能夠一定程度上解決病毒、木馬等惡意代碼對計(jì)算機(jī)系統(tǒng)造成的安全問題。由于本系統(tǒng)目前監(jiān)控的對象是32位操作系統(tǒng)下的無保護(hù)的應(yīng)用程序,如何對加殼后的軟件行為進(jìn)行有效的管控以及64位操作系統(tǒng)下的軟件管控是下一步研究的重點(diǎn)。
[1]ZUO Liming,TANG Pengzhi,LIU Ergen,et al.Malicious code detection method based on behavior characteristic [J].Computer Engineering,2012,38 (2):129-131 (in Chinese).[左黎明,湯鵬志,劉二根,等.基于行為特征的惡意代碼檢測方法.計(jì)算機(jī)工程,2012,38 (2):129-131.]
[2]LIU Wei,SUN Qibo.Android platform malware behavior model research [J].Software,2012,33 (11):2113-2120(in Chinese).[劉偉,孫其博.Android平臺惡意軟件行為模式研究 [J].軟件,2012,33 (11):2113-2120.]
[3]YANG Xiaohui,ZHOU Xuehai,TIAN Junfeng,et al.Novel dynamic trusted evaluation model of software behavior [J].Journal of Chinese Computer Systems,2010,31 (11):150-156 (in Chinese).[楊曉暉,周學(xué)海,田俊峰,等.一個(gè)新的軟件行為動(dòng)態(tài)可信評測模型 [J].小型微型計(jì)算機(jī)系統(tǒng),2010,31 (11):150-156.]
[4]Dusi M,Crotti M,Gringoli F.Tunnel hunter,detecting application-layer tunnels with statistical fingerprinting [J].Computer Networks,2009,53 (1):81-97.
[5]Baiardi F,Maggiari D,Sgandurra D,et al.Transparent process monitoring in a virtual environment [J].Electronic Notes on Theoretical Computer Science,2009,236:85-100.
[6]Tian X,Cheng X,Duan M,et al.Network instrusion detection based on system calls and dataming [J].Frontiers of Computer Science in China,2010,4 (4):522-528.
[7]GUAN Yuntao,DUAN Haixin.Design and implementation of an automated malware dynamic analysis system [J].Journal of Chinese Computer Systems,2009,30 (7):1326-1330 (in Chinese).[管云濤,段海新.自動(dòng)的惡意代碼動(dòng)態(tài)分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].小型微型計(jì)算機(jī)系統(tǒng),2009,30 (7):1326-1330.]
[8]Silvio Cesare,Yang Xiang.A Fast flowgraph based classification system for packed and polymorphic malware on the endhost[C]//Proceedings of the 24th IEEE International Conference on Advanced Information Networking and Applications,2010:721-728.
[9]Xuan Chaoting,John Copeland,Raheem Beyah.Toward revealing kernel malware behavior in virtual excution environments[C]//Springer,Heidelberg.RAID,2009:304-325.
[10]Hou YT,Chang Y.Malicious web content detection by machine learning [J].Expert Systems with Applications,2010,37 (1):55-60.