[發(fā)明專利]安全操作系統(tǒng)中防止文件客體重用的方法有效
| 申請(qǐng)?zhí)枺?/td> | 201210149725.8 | 申請(qǐng)日: | 2012-05-15 |
| 公開(公告)號(hào): | CN102708323A | 公開(公告)日: | 2012-10-03 |
| 發(fā)明(設(shè)計(jì))人: | 劉燕;龔文;王戍靖;郎金剛;武術(shù);周啟明;劉冬梅 | 申請(qǐng)(專利權(quán))人: | 中科方德軟件有限公司;中國(guó)科學(xué)院軟件研究所 |
| 主分類號(hào): | G06F21/00 | 分類號(hào): | G06F21/00 |
| 代理公司: | 暫無(wú)信息 | 代理人: | 暫無(wú)信息 |
| 地址: | 100190 *** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 安全 操作系統(tǒng) 防止 文件 客體 重用 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及安全操作系統(tǒng)(OS)設(shè)計(jì)領(lǐng)域,尤其涉及一種安全操作系統(tǒng)中防止文件客體重用的方法。
背景技術(shù)
操作系統(tǒng)中的客體重用,是指客體在被釋放(或刪除)時(shí),僅僅釋放該客體在文件系統(tǒng)中的索引,而所占用的磁盤塊中的內(nèi)容并未清空。當(dāng)創(chuàng)建新的客體時(shí),有可能利用到以前客體中的內(nèi)容,例如磁盤塊,從而造成信息泄漏。所述客體,具體指磁盤文件,即存儲(chǔ)在可擦寫介質(zhì)上(一般為磁盤)上的具有索引結(jié)構(gòu)的文件系統(tǒng)上的文件,也包括一部分內(nèi)存中的文件系統(tǒng),如ramfs、ramdisk上的文件系統(tǒng)等。
客體的重用是使用索引文件系統(tǒng)的操作系統(tǒng)中典型的安全漏洞之一,由于索引文件系統(tǒng)的固有結(jié)構(gòu),為了性能需要,客體的創(chuàng)建和刪除一般僅僅更新索引項(xiàng),這就造成了客體內(nèi)容可能復(fù)用的問(wèn)題。例如:Linux操作系統(tǒng),出于性能的考慮,對(duì)于資源的管理采用即時(shí)分配和丟棄方式,通過(guò)指針、掩碼等方式表示資源的分配情況,而不是將資源真正的分配和回收。以磁盤文件為例,在安全操作系統(tǒng)所支持的ext3文件系統(tǒng)上,文件是以i節(jié)點(diǎn)存儲(chǔ)的,每個(gè)i節(jié)點(diǎn)指示了該文件所有的磁盤塊;而i節(jié)點(diǎn)和磁盤塊均是以掩碼方式標(biāo)識(shí)該塊的使用情況。當(dāng)用戶刪除文件時(shí),只是將相應(yīng)的i節(jié)點(diǎn)掩碼和磁盤塊掩碼去掉,而該文件的內(nèi)容仍然還存儲(chǔ)在磁盤塊上,該磁盤塊并不會(huì)被清空。因此當(dāng)其他用戶創(chuàng)建一個(gè)新的文件時(shí),這些磁盤塊有可能被分配到該文件,用戶讀取該文件時(shí),就可能讀到原來(lái)的文件中的部分內(nèi)容,即發(fā)生了信息泄漏。操作系統(tǒng)中除了磁盤文件外,還有其他客體,如動(dòng)態(tài)內(nèi)存、IPC對(duì)象等,由于頻繁的分配和回收機(jī)制并不改變其內(nèi)容,因此也會(huì)造成信息泄漏。其中最重要的客體是磁盤文件。
由于多任務(wù)操作系統(tǒng)中對(duì)文件的操作涉及到的場(chǎng)景比較復(fù)雜,涉及一個(gè)進(jìn)程多次打開文件、多個(gè)進(jìn)程打開一個(gè)文件、硬鏈接等各種各樣的場(chǎng)景,而不能僅僅由刪除客體的發(fā)起者做簡(jiǎn)單的清空,因此解決客體重用的方法一般都是在程序做文件刪除的系統(tǒng)調(diào)用時(shí),由操作系統(tǒng)內(nèi)核將文件內(nèi)容清空,以保證該操作的原子性,而不會(huì)造成用戶態(tài)程序的同步問(wèn)題。
在現(xiàn)有的操作系統(tǒng)內(nèi)核中,執(zhí)行刪除的系統(tǒng)調(diào)用前將文件清空的做法比較簡(jiǎn)單,保證清空和刪除這兩個(gè)操作的原子性,不會(huì)影響到其他進(jìn)程訪問(wèn)該文件產(chǎn)生的異常行為。但是,由于輸入/輸出(I/O)系統(tǒng)調(diào)用的不可重入性,在這兩個(gè)操作完成前,內(nèi)核無(wú)法返回用戶態(tài),當(dāng)前處理器上的其他所有進(jìn)程均會(huì)阻塞,從而嚴(yán)重的影響性能。尤其是在刪除較大的文件時(shí),將導(dǎo)致操作系統(tǒng)停止響應(yīng)等嚴(yán)重問(wèn)題。因此,從這個(gè)意義上講,惡意的大文件刪除操作導(dǎo)致系統(tǒng)性能降低也是一種攻擊。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明所要解決的技術(shù)問(wèn)題在于提供一種安全操作系統(tǒng)中防止文件客體重用的方法,以解決現(xiàn)有的防止客體重用技術(shù)中的性能缺陷(如由于內(nèi)核的工作過(guò)于集中導(dǎo)致防止客體重用策略失效等),通過(guò)將大量操作系統(tǒng)內(nèi)核的工作轉(zhuǎn)移到用戶態(tài)程序,并通過(guò)設(shè)計(jì)嚴(yán)格的同步機(jī)制,使多任務(wù)環(huán)境下不會(huì)產(chǎn)生同步問(wèn)題,以改善系統(tǒng)運(yùn)行的性能和避免在防止文件客體重用時(shí)引起的信息泄露。
為解決上述技術(shù)問(wèn)題,本發(fā)明一方面提供了一種安全操作系統(tǒng)中防止文件客體重用的方法,其特征在于,當(dāng)應(yīng)用程序需要?jiǎng)h除文件客體時(shí),首先所述應(yīng)用程序通過(guò)fcount系統(tǒng)調(diào)用從系統(tǒng)內(nèi)核獲取所述需要被刪除文件客體的引用計(jì)數(shù);當(dāng)引用計(jì)數(shù)為0時(shí),文件操作系統(tǒng)調(diào)用對(duì)該文件客體設(shè)置互斥機(jī)制,并將被刪除文件客體內(nèi)容清空。
進(jìn)一步,本發(fā)明所述的安全操作系統(tǒng)中防止文件客體重用的方法,其特征在于獲取所述需要被刪除文件客體的引用計(jì)數(shù)的方式為通過(guò)路徑獲取對(duì)應(yīng)文件客體的引用計(jì)數(shù)或者通過(guò)文件描述符獲取對(duì)應(yīng)的文件客體的引用計(jì)數(shù)。
進(jìn)一步,本發(fā)明所述的安全操作系統(tǒng)中防止文件客體重用的方法,其特征在于,所述fcount系統(tǒng)調(diào)用包括兩個(gè)操作常量:FCOP_FD和FCOP_PATH;其中,對(duì)于獲取一個(gè)路徑名表示的文件客體,要獲得其引用計(jì)數(shù),則傳入FCOP_PATH和相應(yīng)的路徑;對(duì)于獲取一個(gè)文件描述符對(duì)應(yīng)的文件客體,則通過(guò)傳入FCOP_FD和文件描述符得到其引用計(jì)數(shù)。
進(jìn)一步,本發(fā)明所述的安全操作系統(tǒng)中防止文件客體重用的方法,其特征在于,所述文件操作系統(tǒng)調(diào)用為unlink操作。
進(jìn)一步,本發(fā)明所述的安全操作系統(tǒng)中防止文件客體重用的方法,其特征在于,所述文件操作系統(tǒng)調(diào)用為close操作。
進(jìn)一步,本發(fā)明所述的安全操作系統(tǒng)中防止文件客體重用的方法,其特征在于,所述文件操作系統(tǒng)調(diào)用為_exit操作。
進(jìn)一步,本發(fā)明所述的安全操作系統(tǒng)中防止文件客體重
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中科方德軟件有限公司;中國(guó)科學(xué)院軟件研究所,未經(jīng)中科方德軟件有限公司;中國(guó)科學(xué)院軟件研究所許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210149725.8/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過(guò)保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過(guò)保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過(guò)感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過(guò)限制訪問(wèn)計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過(guò)限制訪問(wèn)或處理程序或過(guò)程





