檔案過濾驅動,如何動態透明加解密?

2021-04-30 16:09:32 字數 619 閱讀 8595

檔案過濾驅動是微軟公開支援進行檔案加密的技術手段,在驅動的層次定義中,微軟定義了防毒、壓縮、加密等各種功能層次,加密的定義如下:

load order group:fsfilter encryption ,altitude range:140000-149999

由於檔案過濾驅動處於驅動層面(不像api hook處於應用層),可以控制系統的更多細節,和應用程式的關聯度很小,可以相容所有的應用程式,使用檔案過濾驅動更利於進行動態加解密的處理。

api hook 主要是攔截開啟和關閉的動作,在這2個動作裡做檔案的靜態加解密處理;而檔案過濾驅動主要攔截的讀和寫的動作,在這2個irp請求中進行動態的加解密處理,處理的內容很精確(讀多少解密多少、寫多少加密多少),由於動態加解密實際上處理的大多數都是快取,沒有磁碟io操作速度更快。當然檔案過濾驅動中進行動態加解密的技術難度也要大得多。

由於原有的legacy filter架構在很多防毒等軟體中使用,微軟於近幾年推出了minifilter架構,旨在減少各驅動間的衝突,提高工作效率,是微軟大力推廣的技術架構,可以在後續的各種新作業系統中使用而不用擔心。minifilter具有相容、高效、標準、穩定等各種優點。

filesafeguard 3.0 採用minifilter架構,進行檔案的動態透明加解密。

檔案過濾驅動的開發 上

當下列情況之一發生時,waitformultipleobjects函式返回 1.乙個或者全部指定的物件在訊號狀態 signaled state 2.到達超時間隔 如下 dword dwwaitstatus handle dwchangehandles 2 監視c windows目錄下的檔案建立和刪除...

基於檔案過濾驅動的檔案重定向

ntstatus sfcreate in pdevice object deviceobject,in pirp irp assert is my device object deviceobject deviceextension deviceobject deviceextension atta...

基於檔案過濾驅動的檔案重定向

ntstatus sfcreate in pdevice object deviceobject,in pirp irp assert is my device object deviceobject deviceextension deviceobject deviceextension atta...