亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        操作系統(tǒng)客體重用安全的研究

        2017-06-05 14:15:40黃益彬鄭衛(wèi)波宋子鋒
        計算機技術與發(fā)展 2017年5期
        關鍵詞:分配用戶信息

        黃益彬,鄭衛(wèi)波,宋子鋒

        (南瑞集團公司(國網電力科學研究院),江蘇 南京 210003)

        操作系統(tǒng)客體重用安全的研究

        黃益彬,鄭衛(wèi)波,宋子鋒

        (南瑞集團公司(國網電力科學研究院),江蘇 南京 210003)

        內存、磁盤等客體資源在系統(tǒng)運行過程中會被不同主體反復使用,在客體資源被前一個主體釋放,并分配給下一個主體時,前一個主體殘留在客體中的信息就可能被下一個主體獲取,從而造成信息泄露。針對安全操作系統(tǒng)面臨的客體重用與剩余信息保護的要求,在分析研究操作系統(tǒng)中存在的客體重用安全風險的基礎上,提出了在Linux操作系統(tǒng)中實現客體安全重用的方法。該方法在Linux內核層監(jiān)視內存、磁盤操作,捕獲內存頁分配、磁盤空間釋放等事件,并根據用戶配置,對即將分配的內存頁進行清零,對即將釋放的磁盤空間進行安全擦除,從而保證客體在被重用前,客體中殘留的信息得到有效清除。實驗結果表明,該方法不僅透明地實現了客體安全重用,而且在性能上損失較小,不會影響系統(tǒng)的正常使用。

        安全操作系統(tǒng);客體重用;信息泄露;剩余信息保護;安全擦除

        0 引 言

        現代操作系統(tǒng)采用的都是多用戶多任務的模式,操作系統(tǒng)統(tǒng)一管理所有的內存、磁盤文件等客體資源。當操作系統(tǒng)將上一個主體使用的客體資源釋放后,分配給下一個主體使用時,如果不做任何處理,則上一個主體對客體資源操作殘留的信息就可能被下一個主體獲取,存在信息泄露的風險。

        美國國防部1985年制定發(fā)布的TCSEC標準(Trusted Computer System Evaluation Criteria,可信計算機系統(tǒng)評價準則)[1]對客體安全重用的要求為:在重新分配包含一個或多個客體的介質(如頁面、磁盤扇區(qū)、磁帶)給主體時,為了達到安全分配的目的,這些介質中不能包含剩余信息。TCSEC將計算機安全從低到高分為四等七級:最低保護等級(D)、自主保護等級(C1、C2)、強制保護等級(B1、B2、B3)和驗證保護等級(A1)??腕w重用機制一直貫穿于TCSEC的C2級到A1級。1991年由歐洲四國(英、法、荷、德)制定的ITSEC標準(Information Technology Security Evaluation Criteria,信息技術安全評價準則)[2]以及后來歐美等國聯(lián)合制定的CC標準(Common Criteria for IT Security Evaluation,信息技術安全評價通用準則)[3]都對客體安全重用提出了類似要求。

        中國的國家標準GB 17859-1999《計算機信息系統(tǒng)安全保護等級劃分準則》[4]對客體重用的要求為:在計算機信息系統(tǒng)可信計算基(Trusted Computing Base,TCB)的空閑存儲客體空間中,對客體初始指定、分配或在分配一個主體之前,撤消該客體所含信息的所有授權。當主體獲得對一個已被釋放的客體的訪問權時,當前主體不能獲得原主體活動所產生的任何信息。

        GB 17859-1999規(guī)定了計算機系統(tǒng)安全保護能力的五個等級,即:用戶自主保護級(第一級),系統(tǒng)審計保護級(第二級),安全標記保護級(第三級),結構化保護級(第四級),訪問驗證保護級(第五級)??腕w重用機制一直貫穿于GB 17859-1999的第二級到第五級。國標GB/T 20271-2006[5]和國標GB/T 20272-2006[6]對此也做出了類似要求。

        可見,客體安全重用是高安全等級的計算機系統(tǒng)的基本要求。為此,在分析研究不同客體資源在重用過程中可能存在安全問題的基礎上,針對Linux系統(tǒng),提出了在系統(tǒng)底層實現客體安全重用的方法。通過實驗,驗證了該方法能夠實現內存、磁盤等客體資源的安全重用,同時,該方法引入的性能損失很小,不影響系統(tǒng)的正常使用。

        1 客體重用安全性分析

        計算機系統(tǒng)中存在客體重用安全問題的資源主要包括寄存器、易失性存儲器(如cache、內存)和非易失存儲器(如磁盤、磁帶等)。在系統(tǒng)中,這些客體資源一般都是多用戶多進程共同使用的,因此,在資源重用的過程中,存在安全問題。

        1.1 寄存器

        當前的計算機體系結構中,寄存器是CPU的重要組成部分,CPU指令的獲取、運算結果的存儲、狀態(tài)標識等,都離不開寄存器。寄存器記錄著CPU當前運行任務的各種信息,在多用戶多任務系統(tǒng)里,當進行任務切換時,CPU的部分或全部寄存器都需要為下一個任務所用,這就存在上一個任務在CPU寄存器中殘留的信息被泄露給下一個任務的風險。

        1.2 Cache

        由于CPU的運行速度遠遠大于讀寫內存的速度,因此,現代的CPU都引入了cache,以期調和這種速度上的差異,提高系統(tǒng)效率。一般來說,cache都是集成在CPU內部的,cache在存取速度上比內存要快很多,但與CPU相比還是要慢一些,而且cache速度越快,價格就越高。為了在速度和價格上得到一個很好的平衡,現代CPU大多引入了多級cache,如L1 cache,L2 cache,甚至L3 cache。對于多核CPU而言,還存在著獨立L2/L3 cache,共享L2/L3 cache等差異[7]。cache中存儲的信息是從內存中讀取的片段信息或者是修改后即將寫入內存的信息。由于cache是系統(tǒng)共享的,因此,在多用戶多任務系統(tǒng)中,CPU進行任務切換時也存在cache信息泄露的風險。

        1.3 內 存

        內存是計算機系統(tǒng)必不可少的組成部分,程序在運行前需要被裝載到內存中,程序在運行過程中,需要使用內存。內存管理是操作系統(tǒng)的幾大關鍵功能之一,系統(tǒng)頻繁進行內存的分配/釋放操作。內存的最大特點是掉電后信息丟失,但在系統(tǒng)運行過程中,內存顯然是整個系統(tǒng)共享的,因此,當系統(tǒng)把上一個主體使用的內存分配給下一個主體使用時,上一個主體殘留在內存中的信息存在被泄露給下一個主體的風險。

        由于內存中保存著系統(tǒng)運行時的一些關鍵信息,如解密密鑰、口令、進程信息、網絡連接、系統(tǒng)狀態(tài)信息等。因此,內存信息一直是計算機黑客覬覦的對象,與此同時,內存取證作為計算機取證科學的重要分支,得到了長足發(fā)展[8]。當然,實現內存客體的安全重用,以及近年來反取證技術的發(fā)展[9],對計算機黑客,也對內存取證提出了新的挑戰(zhàn)。

        1.4 磁 盤

        現代計算機系統(tǒng)大多采用磁盤作為永久存儲介質,由于掉電后存儲在磁盤中的信息不會丟失,因此磁盤被用來存儲那些需要永久保存的信息,如系統(tǒng)的鏡像信息、各種配置信息、用戶文件信息等。不論是傳統(tǒng)的機械硬盤、可移除的USB移動硬盤,還是最新的SSD(Solid State Disk,固態(tài)硬盤),當系統(tǒng)回收上一個用戶的文件存儲空間,分配給下一個用戶使用時,上一個用戶遺留在文件中的信息都存在被泄露給下一個用戶的風險。

        由于目前各種主流的操作系統(tǒng)進行文件刪除等操作時,僅僅刪除文件的節(jié)點信息,使得操作系統(tǒng)對該文件不再可見。而實際上文件的內容信息仍然存在于磁盤上,直到內容區(qū)域所占用的磁盤空間被覆蓋。因此出現了各種恢復已刪除文件的方法[10-12]及工具軟件。

        為了應對文件恢復問題,出現了眾多文件安全刪除工具,如Windows系統(tǒng)中常見的文件粉碎機,Linux系統(tǒng)中常見的shred、srm等工具程序。國內的安勝安全操作系統(tǒng)V4.0采用的也是應用層安全刪除程序的方式,同時增加了對敏感文件的過濾識別支持[13]。

        對于磁帶、磁盤等磁性存儲介質,還可以通過消磁的方式對整個介質進行內容擦除。隨著近年來flash等存儲介質的使用,傳統(tǒng)的消磁方法無法對flash介質進行消磁處理,文獻[14]對不同介質提出了不同的處理參考方法。

        2 Linux客體重用安全

        作為當前最著名的開源操作系統(tǒng),Linux在發(fā)展的過程中十分注重客體重用安全問題,試圖在功能、性能和安全性之間找到一種平衡。下面主要介紹Linux在寄存器、cache、內存、磁盤等方面客體重用安全的實現情況。

        2.1 Linux系統(tǒng)的寄存器、cache

        Linux系統(tǒng)將整個地址空間分為內核地址空間和用戶地址空間,操作系統(tǒng)內核運行在內核空間,用戶程序運行在用戶空間。用戶空間的程序不能直接訪問內核地址空間,只能通過系統(tǒng)調用進入內核地址空間。Linux通過劃分不同地址空間的方式,保證了運行在內核地址空間的操作系統(tǒng)內核不會被用戶空間的程序所破壞,從而保護系統(tǒng)的正常運行。

        對于CPU寄存器和cache,都是由操作系統(tǒng)內核直接進行管理,用戶空間的程序是無權進行管理的。Linux系統(tǒng)是以進程為單位進行任務調度的,在進行進程切換時,Linux系統(tǒng)會將CPU寄存器的值保存到當前進程的PCB(Process Control Block,進程控制塊),然后選取一個新的待運行的進程,將其進程PCB中用來保存的CPU寄存器的值恢復到當前CPU寄存器中去,由于整個過程都是由操作系統(tǒng)內核在內核空間中完成的,因此就不存在CPU寄存器信息泄露的問題。而對于cache,則是由CPU硬件直接進行管理,用戶空間的程序根本訪問不到cache,因此也不存在cache信息泄露的問題。

        2.2 Linux系統(tǒng)的內存

        Linux通過內核空間、用戶空間的劃分,保證了操作系統(tǒng)內核和用戶程序之間的內存地址空間隔離,同時,借助MMU(Memory Management Unit,內存管理單元),保證用戶空間不同進程之間的隔離,防止用戶空間進程非授權的內存地址訪問。

        Linux系統(tǒng)的內存是由操作系統(tǒng)內核進行統(tǒng)一管理的,在系統(tǒng)運行過程中,不斷進行內存的分配與釋放。分配給內核空間的內存釋放后,可能被再分配給用戶空間的進程使用,分配給用戶空間進程A的內存被釋放后,可能被再分配給用戶空間的進程B使用。為了防止內存再分配過程中可能產生的剩余信息泄露問題,Linux系統(tǒng)采用了一些機制和方法。為了弄清楚Linux系統(tǒng)如何解決內存的客體重用安全問題,首先來了解一下Linux系統(tǒng)的內存管理機制。

        2.2.1 Linux內存管理

        圖1為Linux 3.10內核的內存分配釋放情況。

        圖1 Linux內存管理

        Linux系統(tǒng)以頁為單位,通過伙伴管理系統(tǒng)(采用伙伴算法)進行物理內存的管理。之所以選用伙伴管理系統(tǒng)進行物理內存頁的管理,是為了既能夠快速分配到所需的內存大小,又可以高效利用每一個物理頁,減少內存碎片。

        Linux內存頁的分配釋放,最終都會定位到__alloc_pages和__free_pages兩個內核底層函數。Linux在分配物理內存時,采用的是延時分配策略,即分配內存時,并不分配實際的物理頁,而是只劃分相關大小的虛擬地址空間,等待需要使用內存時,才開始進行實際物理頁的分配,而且會根據需要使用的內存大小逐步分配實際物理頁。Linux的這種內存延時分配策略,雖然存在內存分配時成功,但使用時卻可能發(fā)生內存不足的問題,但這種方式能夠最大限度地提高實際物理內存的利用率,因此被Linux系統(tǒng)廣泛采用。

        通過SLAB系統(tǒng),可以創(chuàng)建并使用個性化的內存對象,如內核中的ext4、xfs等文件系統(tǒng),TCP、UDP等網絡協(xié)議,進程描述符task_struct等都在SLAB系統(tǒng)上創(chuàng)建了個性化的內存對象。除了在SLAB系統(tǒng)上創(chuàng)建個性化的內存對象外,SLAB系統(tǒng)本身為內核空間創(chuàng)建了多個不同大小的公共內存對象,內核程序或內核模塊可以通過kmalloc等相關函數直接調用。

        2.2.2 用戶空間內存客體重用

        為了兼顧安全與效率,針對用戶層程序,Linux在內存分配上引入了零頁面(zero page)的概念。具體步驟如下:

        (1)用戶進程申請內存,通過系統(tǒng)調用進入內核。

        (2)內核為用戶進程劃分相應大小的虛擬地址空間,建立好相關頁表,同時將相關頁表指向系統(tǒng)全局的只讀零頁面,并返回成功。

        (3)如果用戶進程只是需要讀取新申請的內存信息,則返回零頁面內存的信息,即全零信息。

        (4)如果用戶進程需要寫新申請的內存信息,則觸發(fā)缺頁中斷,此時系統(tǒng)會真正地分配部分或全部物理內存頁,并對分配的物理內存頁執(zhí)行清零操作,同時更新頁表信息,再從缺頁中斷中返回。之后才開始進行寫內存操作。

        由上面的步驟可知,Linux系統(tǒng)在分配實際的物理內存頁給用戶進程使用前,進行了內存清零操作,從而防止了內存剩余信息的泄露,同時也保持了與零頁面內容的一致。

        2.2.3 內核空間內存客體重用

        對于內核層,Linux系統(tǒng)并沒有強制保證內存客體的安全重用。由于Linux支持內核模塊程序,內核模塊共享整個內核空間,因此,對于安全操作系統(tǒng),需要實現內核空間下的內存客體安全重用。

        在內核層,對于小內存的使用,一般通過kmalloc及其相關函數向SLAB系統(tǒng)申請,申請到的內存既保證虛擬地址連續(xù),又保證物理地址連續(xù)。對于大內存的使用,一般通過vmalloc及其相關函數直接向伙伴管理系統(tǒng)申請,申請到的內存能夠保證虛擬地址連續(xù),但不保證物理地址連續(xù)。

        要保證內核空間的內存客體安全重用,防止內存剩余信息泄露,既可以在內存申請時強制進行清零,也可以在內存釋放時強制進行清零。實際上,Linux系統(tǒng)提供了諸如kzalloc、vzalloc等內存申請函數,在申請到內存后進行了內存清零操作。為了強制保證Linux內核空間內存客體的安全重用,只需要參照kzalloc、vzalloc等函數,將kmalloc、vmalloc等相關函數進行安全改造,保證內核空間內存申請的幾個相關函數在申請到內存后進行內存清零操作即可。

        2.2.4 實 驗

        進行額外的內存清零操作后,會對內存申請帶來一定的性能損失,但由于內存操作的速度很快,因此,性能損失很小。實驗測試機器配置如下:CPU為Intel Core i5-2500,主頻3.30 GHz,內存DDR3 1333,4 GB,操作系統(tǒng)內核版本為Linux 3.10。

        為了精確地計算時間,采用獲取CPU時間戳計數器的方法,再換算成時間。經過多次測試并取平均,計算結果如表1所示。

        由表1可知,在申請不超過8 KB的內存時,其引入的延時是很小的,不超過5%,即使申請1 MB的內存,其引入的延時也不超過60 μs,對系統(tǒng)的運行不會產生影響。實際上,在申請128 KB以內的小內存時,所耗費的時間很少,以至于受系統(tǒng)隨機波動等因素的影響,其申請時間并非隨申請的內存大小而線性增長。

        由表2可知,在通過vmalloc相關函數申請不超過64 KB的內存時,其引入的延時不超過10%。當然,vmalloc主要用于申請大內存,而安全改造后的vmalloc即使申請1 GB的內存,也只增加了三分之一左右的延時時間,不超過60 ms,這對系統(tǒng)的運行不會產生影響。

        表1 kmalloc安全改造前后消耗時間對比

        表2 vmalloc安全改造前后消耗時間對比

        2.3 Linux系統(tǒng)的磁盤

        現代操作系統(tǒng)都是通過文件系統(tǒng),將磁盤抽象成文件進行讀寫的。Linux系統(tǒng)支持ext2/3/4、xfs、nfs、fat、ntfs等多種類型的文件系統(tǒng),通過VFS(Virtual File System,虛擬文件系統(tǒng))將具體的文件系統(tǒng)進行抽象,對上層應用提供統(tǒng)一的系統(tǒng)調用接口,如圖2所示。

        圖2 Linux文件系統(tǒng)模型

        虛擬文件系統(tǒng)將實際的文件系統(tǒng)抽象成兩個重要的信息:目錄信息與節(jié)點信息。目錄信息存儲該目錄下的文件及子目錄的名稱、節(jié)點號等,通過目錄信息實現文件的搜索遍歷;節(jié)點信息存儲文件的屬性、文件內容所占用的block號等,通過節(jié)點信息實現文件內容的讀寫。

        出于性能的考慮,Linux系統(tǒng)在刪除文件時,僅僅刪除與文件相關的節(jié)點信息,回收文件內容所占用的block號,而真正的文件內容并沒有被刪除,很容易通過各種文件恢復軟件進行恢復。這對于安全等級要求高的應用場合是不可接受的。因此,高安全等級的操作系統(tǒng)必須實現文件客體的安全重用。

        2.3.1 實現思路

        高安全等級的操作系統(tǒng)在對文件進行刪除時,必須進行安全擦除。文件的安全擦除主要有兩種方式:

        (1)手動擦除文件:一般提供安全刪除文件的工具程序。這種方式需要用戶深度參與,安全性嚴重依賴于用戶行為,用戶工作量大,漏刪可能性高,不能滿足高安全等級的應用場景。

        (2)自動擦除文件:一般通過監(jiān)視文件刪除的過程,在刪除時自動進行文件內容的擦除。

        這里考慮采用自動擦除文件的方法。

        2.3.2 文件擦除方式

        要徹底刪除文件數據,需要把待刪除文件所在的數據區(qū)完全覆蓋,一般來說,進行一次完全覆蓋后,數據恢復軟件無法再恢復數據。覆蓋方式可以采用全0覆蓋、全1覆蓋和隨機數覆蓋。

        對于硬盤這種采用磁介質來記錄數據的介質,由于有剩磁存在,通過特殊的數據恢復設備,仍然存在恢復被覆蓋數據的可能。而對于安全等級要求特別高的場合,一般需要組合使用各種覆蓋方式進行多次覆蓋。美國國防部的DoD 5220.22-M操作手冊中建議使用全寫“0”,全寫“1”,加一次隨機數,共3次覆寫。Gutmann標準使用35次覆寫,前4次采用隨機數覆寫,中間27次使用不同的指定內容進行覆寫,最后4次再采用隨機數覆寫。

        為了滿足不同安全級別場景下對文件覆寫的不同要求,增加文件覆寫的靈活性,此處設計了一種可配置的文件安全擦除規(guī)則,包括:

        (1)待擦除文件的最小長度,默認為1。

        (2)待擦除文件的最大長度,默認為-1,即不限制。

        (3)待擦除文件的最小敏感等級,范圍為s0~s15,默認為s0,即所有。

        (4)文件覆寫方式,支持全0覆寫、全1覆寫和隨機覆寫這三種方式的組合,每一個覆寫項以覆寫模式+覆寫次數形式表示,多個覆寫項之間以空格進行間隔,覆寫模式定義為:0表示全0覆寫,1表示全1覆寫,r表示隨機覆寫。文件覆寫方式的默認值為“01”,即全0覆寫1次。

        整個文件覆寫方式示例如下:

        例如“01 11 r2 01”表示全0覆寫1次,全1覆寫1次,隨機覆寫2次,再全0覆寫1次,一共進行了5次覆寫。

        文件安全擦除規(guī)則通過sysfs接口導出,管理員用戶可以通過此接口對整個系統(tǒng)的文件安全擦除規(guī)則進行動態(tài)配置。

        2.3.3 Linux文件擦除方法

        Linux用戶層程序對文件進行操作時,都需要通過系統(tǒng)調用進行,因此,通過檢測并改造相關的系統(tǒng)調用函數,可以實現文件客體安全重用。

        1)文件客體重用情況。

        Linux系統(tǒng)的文件客體重用分為以下幾種情況:

        (1)文件刪除。

        文件刪除包括文件即時刪除和文件延時刪除。當刪除文件時,如果該文件沒有被其他進程打開,則該文件可以即時刪除,而如果該文件正在被其他進程打開使用,則該文件的刪除將被延時到最后一個使用該文件的進程關閉該文件或者異常退出時。

        (2)文件截斷。

        文件截斷包括文件直接截斷和文件打開截斷。文件直接截斷發(fā)生在進程主動調用文件截斷及其相關變形的系統(tǒng)調用時,文件打開截斷發(fā)生在以截斷方式打開一個已經存在的文件時。

        2)實現方式。

        Linux通過VFS對外提供統(tǒng)一的接口,由于各個文件系統(tǒng)的差異,最終對文件的操作是由VFS調用實際的文件系統(tǒng)方法實現的。因此,文件的安全刪除,既可以在VFS層實現,也可以在具體的文件系統(tǒng)里實現。顯然,在VFS層實現比在各個文件系統(tǒng)里單獨實現要簡單、通用性好。因此,這里采用在VFS層實現對文件的安全刪除。

        2.3.4 具體實現

        Linux系統(tǒng)里一切皆文件,除了普通文件外,還有設備文件、管道文件、socket文件等,這里主要研究普通文件。

        1)文件刪除分析。

        Linux用戶層程序刪除文件時,最終會調用unlink系統(tǒng)進入內核,內核進行一定的邏輯判斷,確定是否需要刪除該文件。如果確認需要刪除文件,則進行刪除操作。在進行文件刪除時,存在以下兩種情況:

        (1)文件即時刪除:該文件沒有被打開使用,則進行即時刪除操作。

        (2)文件延時刪除:該文件正在被打開使用,則將文件的硬連接數從1變成0。文件的刪除將發(fā)生在最后一個打開使用該文件的進程關閉該文件或者異常退出時。

        Linux內核層也可以進行文件刪除操作,其最終的調用方法與用戶層程序通過系統(tǒng)調用進入內核后的方法相同。

        由以上分析可知,對于文件刪除操作,只需要監(jiān)控文件即時刪除和文件延時刪除兩種情況發(fā)生的點,在文件刪除操作發(fā)生前對文件內容區(qū)域進行覆寫即可。

        2)文件截斷分析。

        Linux系統(tǒng)中的文件截斷分為兩種情況:

        (1)文件直接截斷:此情況發(fā)生在用戶層程序通過truncate系統(tǒng)調用將文件變短時。

        (2)文件打開截斷:此情況發(fā)生在用戶層程序通過O_TRUNC方式打開或創(chuàng)建一個已經存在的文件時。

        Linux內核層也可以進行文件截斷操作,其最終的調用方法與用戶層程序通過系統(tǒng)調用進入內核后的方法相同。

        由以上分析可知,對于文件截斷操作,只需要監(jiān)控文件直接截斷和文件打開截斷兩種情況發(fā)生的點,在文件截斷發(fā)生前對文件截斷的內容區(qū)域進行覆寫即可。

        3)文件描述符獲取。

        在Linux的VFS層進行文件內容覆寫操作,通過文件描述符對文件進行寫操作最簡單,而文件寫操作需要文件描述符。

        對于文件延時刪除和文件打開截斷,可以利用上層調用者傳遞下來的文件描述符進行文件寫操作。而對于文件即時刪除和文件直接截斷,上層調用者并沒有也不需要傳遞文件描述符,因此需要主動打開該文件,獲取到文件描述符,再進行文件寫操作。

        4)具體實現流程。

        通過在Linux內核VFS中與文件客體安全重用相關的三類函數中調用判定邏輯,判斷是否需要進行文件安全擦除。以Linux 3.10內核為例,這三類函數分別為:do_unlinkat函數(對應文件即時刪除)、__fput函數(對應文件延時刪除)、vfs_truncate函數/do_sys_ftruncate函數(對應文件直接截斷和文件打開截斷)。

        圖3為修改后的Linux文件客體安全重用流程圖,具體步驟為:

        圖3 Linux文件客體安全重用流程圖

        (1)監(jiān)控Linux內核中的do_unlinkat、__fput、vfs_truncate及do_sys_ftruncate函數。

        (2)根據文件節(jié)點信息及上下文判斷是否需要刪除文件或截斷文件。如果不需要,則結束。

        (3)根據文件安全擦除規(guī)則,判斷是否需要進行文件安全擦除。如果不需要,則結束。

        (4)判斷是否有該文件的文件操作句柄,如果沒有,則根據文件節(jié)點信息,臨時打開該文件來獲得文件操作句柄。

        (5)調用文件安全擦除方法,安全擦除該文件。

        (6)如果臨時打開該文件,則關閉文件操作句柄。

        (7)該過程結束。

        2.3.5 實驗測試

        在實驗測試時,采用全零覆寫一遍的方式進行測試。

        為了檢測安全擦除文件是否生效,可以在安全擦除文件之前,通過系統(tǒng)提供的一些命令查看并記錄下文件內容區(qū)域對應的磁盤block區(qū)域,在文件擦除之后,通過dd等命令直接讀取記錄的磁盤block區(qū)域,看看其內容是否全為零。經實驗驗證,在各種情況下,均能夠安全擦除文件的內容。

        傳統(tǒng)的文件刪除、文件截斷操作由于只是操作文件節(jié)點信息,因此速度很快。引入安全擦除文件的方法后,在文件刪除、文件截斷時,需要對文件內容區(qū)域進行覆寫,會帶來一定的性能損失。表3為分別采用SSD硬盤和普通機械硬盤對不同大小的文件進行安全擦除所消耗時間的測試結果。

        表3 文件安全擦除消耗時間

        由表3可知,對于小文件,引入的時間消耗在一秒以下,由于操作系統(tǒng)本身操作的都是一些小文件,因此不影響系統(tǒng)運行。而對于較大文件,則會帶來秒級以上的延時,同時可以看出,相對于機械硬盤,SSD硬盤的速度要快得多,因此對于需要頻繁操作大文件的應用場景,建議使用SSD硬盤。

        3 結束語

        為滿足安全操作系統(tǒng)針對客體安全重用的基本要求,在分析研究Linux操作系統(tǒng)在客體重用時存在的安全問題基礎上,提出了在Linux內核層實現客體安全重用的方法。該方法對用戶透明,能夠在操作系統(tǒng)底層自動實現客體資源的安全重用。同時,在文件擦除方式上實現了可配置化,滿足了不同應用場景的差異化安全需求。通過實驗分析,驗證了該方法能夠實現Linux系統(tǒng)下內存、磁盤等客體資源的安全重用,且不會影響系統(tǒng)的正常使用。

        [1] National Computer Security Center. Department of defense trusted computer system evaluation criteria[S].[s.l.]:National Computer Security Center,1985.

        [2] Office for Official Publications of the European Communities.Information Technology Security Evaluation Criteria(ITSEC)V1.2[EB/OL].[2015-12-12].http://iwar.org.uk/comsec/resources/standards/itsec.htm.

        [3] Common Criteria Project Sponsoring Organizations.Common criteria for information security evaluation part 2:security functional requirements,version 2.1[S].[s.l.]:[s.n.],1999.

        [4] 國家質量技術監(jiān)督局.計算機信息系統(tǒng)安全保護等級劃分準則[S].北京:中國標準出版社,1999.

        [5] 中華人民共和國國家質量監(jiān)督檢驗檢疫總局/中國國家標準化管理委員會.信息安全技術信息系統(tǒng)通用安全技術要求[S].北京:中國標準出版社,2006.

        [6] 中華人民共和國國家質量監(jiān)督檢驗檢疫總局/中國國家標準化管理委員會.信息安全技術操作系統(tǒng)安全技術要求[S].北京:中國標準出版社,2006.

        [7] 賈小敏,張民選,齊樹波,等.片上多核Cache資源管理機制研究[J].計算機科學,2011,38(1):295-301.

        [8] 張 瑜,劉慶中,李 濤,等.內存取證研究與進展[J].軟件學報,2015,26(5):1151-1172.

        [9] Stuttgen J,Cohen M.Anti-forensic resilient memory acquisition[J].Digital Investigation,2013,10:105-115.

        [10] 趙雙峰,費金龍,劉 楠,等.Windows NTFS下數據恢復的研究與實現[J].計算機工程與設計,2008,29(2):306-308.

        [11] 沈長達,吳少華,錢鏡潔,等.ReiserFS刪除文件的恢復技術研究[J].信息網絡安全,2015(9):262-265.

        [12] 李 巖.計算機取證中關鍵技術研究[D].上海:上海交通大學,2010.

        [13] 沈晴霓,卿斯?jié)h.操作系統(tǒng)安全設計[M].北京:機械工業(yè)出版社,2013:227-229.

        [14] National Institute of Standards and Technology.NIST SP800-88 revision 1:guidelines for media sanitization[S].[s.l.]:NIST,2014.

        Investigation on Object Reuse Security in Operating System

        HUANG Yi-bin,ZHENG Wei-bo,SONG Zi-feng

        (NARI Group Corporation(State Grid Electric Power Research Institute),Nanjing 210003,China)

        Object resources,such as memory and disk,could be repeatedly used by different subject when system running.When object resources are released by previous subject and allocated for next subject,the residual information in the object by previous subject will be possibly acquired by next subject,which can cause information leakage.For the requirement of object reuse and residual information protection in secure Operating System (OS),analysis on the potential security risks while object reusing in OS have been conducted and a secure object reuse method with Linux OS has been presented.By monitoring memory page and disk space operation in Linux kernel,the events of memory page allocation and disk space release would be captured,and then allocated memory page would be zeroed and released disk space would be securely erased based on user configuration,which can ensure that residual information in object has certainly been cleared before object reuse.Test results verify that this method not only transparently implements secure object reuse,but also has little performance loss.So it does not affect normal system usage when using this method.

        secure OS;object reuse;information leakage;residual information protection;secure erase

        2016-06-27

        2016-10-13 網絡出版時間:2017-03-07

        江蘇省工業(yè)和信息產業(yè)轉型升級專項項目(2015SJXKJ5038);國網電力科學研究計劃(5246DR150002)

        黃益彬(1982-),男,高級工程師,碩士,研究方向為系統(tǒng)安全、網絡安全、工控安全。

        http://kns.cnki.net/kcms/detail/61.1450.TP.20170307.0922.090.html

        TP309.2

        A

        1673-629X(2017)05-0113-07

        10.3969/j.issn.1673-629X.2017.05.024

        猜你喜歡
        分配用戶信息
        應答器THR和TFFR分配及SIL等級探討
        遺產的分配
        一種分配十分不均的財富
        績效考核分配的實踐與思考
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        關注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        如何獲取一億海外用戶
        展會信息
        中外會展(2014年4期)2014-11-27 07:46:46
        人妻少妇精品无码专区二| 欧美激情乱人伦| 亚洲国产精品成人综合色| 天天躁日日躁狠狠躁av中文| 久久久久久久久久免免费精品 | 久久国产精品国语对白| 奇米影视色777四色在线首页 | 一本大道香蕉视频在线观看| 亚洲精品一区二区在线播放| 欧洲亚洲综合| 国产小视频一区二区三区| 一区二区三区在线视频观看 | 日本黑人乱偷人妻在线播放| 娇妻在交换中哭喊着高潮| 国产目拍亚洲精品一区二区| 精品理论一区二区三区| 久久精品国产亚洲av高清三区 | 亚洲av老熟女一区二区三区| 影音先锋男人av鲁色资源网| 国产天堂网站麻豆| 亚洲熟女国产熟女二区三区 | av国产传媒精品免费| 娇妻玩4p被三个男人伺候电影| 99在线无码精品秘 人口| 女人被躁到高潮嗷嗷叫免| 9 9久热re在线精品视频| 国产精品一区高清在线观看| 偷拍与自偷拍亚洲精品| 欧美亅性猛交内射| 无码a∨高潮抽搐流白浆| 99国产综合精品-久久久久| 在线观看一区二区三区在线观看| 无码人妻丰满熟妇啪啪网站| 亚洲乱码视频在线观看| 国产精品污一区二区三区在线观看 | 精品少妇ay一区二区三区| 97人妻无码免费专区| 亚洲国产中文字幕一区| аⅴ资源天堂资源库在线| 黑人巨大精品欧美在线观看| 国产尤物自拍视频在线观看|