[發(fā)明專利]文件操作方法及裝置有效
| 申請?zhí)枺?/td> | 201210199822.8 | 申請日: | 2012-06-14 |
| 公開(公告)號(hào): | CN102768678A | 公開(公告)日: | 2012-11-07 |
| 發(fā)明(設(shè)計(jì))人: | 潘劍鋒;王宇 | 申請(專利權(quán))人: | 奇智軟件(北京)有限公司 |
| 主分類號(hào): | G06F17/30 | 分類號(hào): | G06F17/30 |
| 代理公司: | 北京市德權(quán)律師事務(wù)所 11302 | 代理人: | 劉麗君 |
| 地址: | 100016 北京市朝陽*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 文件 操作方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及文件操作方法及裝置。
背景技術(shù)
在面對(duì)復(fù)雜問題的時(shí)候,人們往往會(huì)采用分而治之的方法分割、縮小問題的范圍,這一點(diǎn)在操作系統(tǒng)的設(shè)計(jì)中亦是如此。例如,Windows操作系統(tǒng)就是借助分層的設(shè)計(jì)思想來解決復(fù)雜的問題。這一做法帶來了可移植性、可擴(kuò)展性等優(yōu)點(diǎn),不過,由于在設(shè)計(jì)理論上存在著安全性缺陷(例如缺乏完整性校驗(yàn)機(jī)制等),另一方面也意味著系統(tǒng)存在大量的被篡改可能。以文件系統(tǒng)的設(shè)計(jì)為例,文件調(diào)用棧的分層式結(jié)構(gòu)決定了其調(diào)用鏈上存在多個(gè)層,每個(gè)層對(duì)其上層提供接口,對(duì)下層進(jìn)行調(diào)用,文件的調(diào)用請求會(huì)從最上層開始,經(jīng)過調(diào)用鏈上的逐層處理,直到到達(dá)文件系統(tǒng)的下層設(shè)備,并最終確定出文件是保存在磁盤的第多少個(gè)扇區(qū)、占用多少字節(jié)等等,然后返回對(duì)應(yīng)的信息。但是,由于操作系統(tǒng)并不會(huì)對(duì)調(diào)用鏈的完整性進(jìn)行校驗(yàn),這也就意味著,第三方可以任意地向調(diào)用鏈中加入一些層,甚至還可以對(duì)已有的層的邏輯進(jìn)行修改等等,而這種加入層或者修改層邏輯的操作,都使得調(diào)用鏈存在被篡改的風(fēng)險(xiǎn)。
例如,一些包含有病毒等惡意內(nèi)容的文件為了避免被安全軟件檢測到,就會(huì)通過安裝驅(qū)動(dòng)的方式,對(duì)系統(tǒng)的文件調(diào)用棧的鏈路進(jìn)行篡改(增加層或者修改一些層邏輯等),達(dá)到對(duì)文件調(diào)用操作進(jìn)行劫持的目的,以至于安全軟件在調(diào)用文件時(shí),獲得的數(shù)據(jù)的準(zhǔn)確性得不到保證。例如,安全軟件在需要獲取文件A的數(shù)據(jù)對(duì)文件A進(jìn)行檢測時(shí),如果鏈路已經(jīng)被篡改,則系統(tǒng)實(shí)際上返回的卻可能是文件B的數(shù)據(jù),最終安全軟件實(shí)際檢測數(shù)據(jù)的也是文件B的數(shù)據(jù),只不過安全軟件無法知悉該情況,會(huì)將其作為文件A的數(shù)據(jù)來看待。這樣,只要文件B是安全的,就可以通過檢測,并且安全軟件顯示的檢測結(jié)果是“文件A不存在安全威脅”,進(jìn)而,如果用戶信任安全軟件的檢測結(jié)果,對(duì)文件A執(zhí)行了打開或者運(yùn)行等操作,則可能也會(huì)導(dǎo)致用戶的系統(tǒng)遭到文件A包含的惡意程序的侵害。
一般而言,操作系統(tǒng)文件調(diào)用棧鏈路如圖1所示,在執(zhí)行文件調(diào)用操作時(shí)采用如下分層調(diào)用的方式:調(diào)用者101(例如安全軟件等)調(diào)用內(nèi)核接口層102,內(nèi)核接口層102調(diào)用內(nèi)核執(zhí)行層103,內(nèi)核執(zhí)行層103調(diào)用文件對(duì)象解析例程104,文件對(duì)象解析例程104調(diào)用過濾驅(qū)動(dòng)105,頂層過濾驅(qū)動(dòng)逐層調(diào)用直至調(diào)用到底層過濾驅(qū)動(dòng)106,底層過濾驅(qū)動(dòng)106調(diào)用文件系統(tǒng)107,文件系統(tǒng)107調(diào)用文件系統(tǒng)下層設(shè)備108,等等。其中,調(diào)用者101和內(nèi)核接口層102屬于操作系統(tǒng)用戶態(tài),內(nèi)核執(zhí)行層103、文件對(duì)象解析例程104、頂層過濾驅(qū)動(dòng)105、底層過濾驅(qū)動(dòng)106、文件系統(tǒng)107和文件系統(tǒng)下層設(shè)備108屬于操作系統(tǒng)內(nèi)核態(tài)。
在對(duì)文件調(diào)用棧的鏈路進(jìn)行篡改時(shí),有很多潛在的篡改點(diǎn),這些篡改點(diǎn)可能包括對(duì)用戶態(tài)的篡改(例如內(nèi)核接口層的用戶態(tài)IAT?Hook(Import?Address?Table?Hook,導(dǎo)入表鉤掛)/EAT?Hook(Export?Address?Table?Hook,導(dǎo)出表鉤掛),內(nèi)核接口層的用戶態(tài)Inline?Hook(內(nèi)聯(lián)鉤掛)等),也可能包括對(duì)內(nèi)核態(tài)的篡改(例如,內(nèi)核執(zhí)行層的Native?API?SSDT?Hook(System?Service?Dispatch?Table?Hook,系統(tǒng)服務(wù)分派表鉤掛)、文件對(duì)象解析例程的Object?Parse?Routine?Hook(對(duì)象解析例程鉤掛)、頂層過濾驅(qū)動(dòng)a的頂層過濾驅(qū)動(dòng)獲取,等等)。
傳統(tǒng)的安全軟件廠商雖然意識(shí)到了文件調(diào)用操作被劫持的各種可能性,但是大多只考慮了操作系統(tǒng)用戶態(tài)的劫持風(fēng)險(xiǎn),在操作系統(tǒng)內(nèi)核態(tài)的攻防上往往體現(xiàn)出一定的能力缺失。
為了能夠避免操作系統(tǒng)內(nèi)核態(tài)被劫持時(shí)帶來的危害,本發(fā)明人提供了“文件穿透”的解決方案(該方案已經(jīng)作為一件獨(dú)立的專利另行申請)。所謂的文件穿透是指,假設(shè)操作系統(tǒng)中原有的文件調(diào)用棧的鏈路是不安全的,因此,在文件調(diào)用請求到來時(shí),另外建立一條新的、可信的鏈路,通過該新建的鏈路去獲取文件對(duì)應(yīng)的數(shù)據(jù)。也就是說,文件的調(diào)用請求不再經(jīng)過原有調(diào)用棧上內(nèi)核態(tài)的各個(gè)層,而是直接通過一條可信的通道到達(dá)文件所在的原始地址,可見,相當(dāng)于在調(diào)用文件的過程中,將調(diào)用棧中原有的鏈路作為旁路,形象地講,就相當(dāng)于穿透了內(nèi)核態(tài)的各個(gè)層,因此簡稱為文件穿透。
這種文件穿透方案由于使得文件調(diào)用請求不再流經(jīng)內(nèi)核態(tài)的各個(gè)層,因此,也就不會(huì)遭受內(nèi)核態(tài)劫持,可以保證調(diào)用者最終調(diào)用到的數(shù)據(jù)的正確性,進(jìn)而也保證調(diào)用者后續(xù)執(zhí)行的檢測等操作的有效性。但是,在實(shí)際應(yīng)用中,通過這種文件穿透的方式對(duì)文件進(jìn)行調(diào)用時(shí),有時(shí)會(huì)出現(xiàn)調(diào)用錯(cuò)誤,例如無法找到文件的原始地址,或者調(diào)用到的數(shù)據(jù)存在亂碼,等等。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于奇智軟件(北京)有限公司,未經(jīng)奇智軟件(北京)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210199822.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F17-00 特別適用于特定功能的數(shù)字計(jì)算設(shè)備或數(shù)據(jù)處理設(shè)備或數(shù)據(jù)處理方法
G06F17-10 .復(fù)雜數(shù)學(xué)運(yùn)算的
G06F17-20 .處理自然語言數(shù)據(jù)的
G06F17-30 .信息檢索;及其數(shù)據(jù)庫結(jié)構(gòu)
G06F17-40 .數(shù)據(jù)的獲取和記錄
G06F17-50 .計(jì)算機(jī)輔助設(shè)計(jì)





