RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Windows文件系統(tǒng)過濾驅動程序介紹

哲想軟件 ? 來源:哲想軟件 ? 2023-10-24 11:48 ? 次閱讀

Windows文件系統(tǒng)過濾驅動程序介紹

文件系統(tǒng)過濾驅動程序攔截針對某個文件系統(tǒng)或另一個文件系統(tǒng)過濾驅動程序的請求。通過在請求到達預期目標之前攔截請求,過濾器驅動程序可以擴展或替換由請求的原始目標提供的功能。過濾器驅動程序概念是WindowsI/O子系統(tǒng)最強大的體系結構特性之一。過濾器可以通過簡單地將自己附加到現(xiàn)有設備上來為該設備的功能增加價值。當然,過濾設備不需要更改底層設備的驅動程序。

在Windows系統(tǒng)中,最常見也是最強大的一個地方是在文件系統(tǒng)上插入過濾器。文件系統(tǒng)過濾器在I/O操作到達文件系統(tǒng)之前攔截I/O操作(來自應用程序和系統(tǒng)本身)。這使它們能夠監(jiān)視、跟蹤、管理、操作,甚至在文件系統(tǒng)看到I/O操作之前接受或拒絕它們。大多數(shù)人熟悉的文件系統(tǒng)過濾器類型可能是防病毒過濾器。這種類型的過濾器通常攔截文件打開請求,并在過濾器(或者更可能是在用戶模式下運行的相關服務)掃描正在打開的文件以查找病毒時將其掛起。如果發(fā)現(xiàn)任何病毒,則可以取消打開的請求。如果未發(fā)現(xiàn)病毒,則允許打開的請求正常完成。

文件系統(tǒng)過濾器通常用于從剛才描述的防病毒和惡意軟件掃描,到軟件許可證跟蹤和管理,到審計和更改文件跟蹤,再到訪問透明數(shù)據加密和解密。文件系統(tǒng)過濾器還可以用于其他不太明顯的目的。例如,由于文件系統(tǒng)過濾器可以查看哪些文件被創(chuàng)建和寫入,因此它們通常在備份產品和分層存儲子系統(tǒng)中發(fā)揮關鍵作用。由于文件系統(tǒng)過濾器能夠成為應用程序看到的文件系統(tǒng)“名稱空間”的第一個解釋器,因此它們還可以執(zhí)行強大的文件重定向操作,例如使遠程文件(例如存儲在云中的某個地方的文件)看起來是本地的。

自從在WindowsXPSP2中引入以來,文件系統(tǒng)迷你過濾器模型已經成為實現(xiàn)文件系統(tǒng)過濾器的首選機制。這是有充分理由的,因為minfilter模型為文件系統(tǒng)過濾器驅動程序開發(fā)提供了一個優(yōu)秀的組織和支持框架。由于GitHub上有相當好的文檔和一組重要的示例,許多開發(fā)人員認為編寫文件系統(tǒng)minfilter完全在他們的能力范圍內。他們是對的,只要他們在一定的范圍內。

c6d7b254-7216-11ee-939d-92fbcf53809c.png

標準迷你過濾器驅動程序

最常見的文件系統(tǒng)類型是minfilter,它監(jiān)視并可能跟蹤或記錄在文件系統(tǒng)級別執(zhí)行的各種操作。某些迷你過濾器(如防病毒掃描程序)甚至可能批準或不批準某些操作。但是,這些篩選器不參與更改它們篩選的文件中數(shù)據的視圖或大小。我們稱這樣的過濾器為標準迷你過濾器,因為它們代表了存在的絕大多數(shù)文件系統(tǒng)迷你過濾器。

隔離迷你過濾器驅動程序

隔離迷你過濾器驅動程序是一個Windows文件系統(tǒng)迷你過濾器驅動程序,它將文件數(shù)據的視圖與同一文件的實際底層數(shù)據分開。隔離迷你過濾器的典型示例是訪問透明加密/解密過濾器。隔離迷你過濾器使用“相同堆棧”概念,并通過為每個視圖提供唯一的緩存部分來提供不同的視圖。透明的加密隔離過濾器驅動程序可以創(chuàng)建訪問數(shù)據的兩個視圖,一個是從本地存儲加密的,因此您的數(shù)據始終在本地磁盤中加密,另一個是解密給授權用戶,對于每個打開的文件,過濾器驅動程序將創(chuàng)建一個唯一的內存緩存,因此如果用戶或進程具有不同的權限,則不會看到相同的數(shù)據視圖。當進程或用戶被授權訪問加密文件時,過濾器驅動程序將在讀取請求期間解密內存中的數(shù)據,因此被授權的進程可以獲得純文本,或者將獲得加密文本。當加密過濾器驅動程序關閉時,加密文件無法訪問,當應用程序打開加密文件時,它將獲得密文,因此沒有啟用加密過濾器驅動程序,任何人都無法讀取加密文件。

c6ea529c-7216-11ee-939d-92fbcf53809c.png

隔離過濾器將文件數(shù)據的視圖與文件系統(tǒng)存儲的實際底層數(shù)據分開(或“隔離”)。編寫這種類型的Minifilter通常與編寫標準的Windows文件系統(tǒng)一樣復雜,因為它涉及Minifilter、Windows緩存管理器和Windows內存管理器之間的直接和密切的交互。事實上,一些有經驗的開發(fā)者認為Isolationminfilter甚至比文件系統(tǒng)開發(fā)更困難,因為當你在編寫Isolationminfilter時,你必須有效地將Windows文件系統(tǒng)的實現(xiàn)“適配”到FilterManager提供的API中。因此,除了標準迷你過濾器的開發(fā)人員面臨的挑戰(zhàn)之外,隔離迷你過濾器的開發(fā)人員還要處理許多明顯更復雜的問題。

為了實現(xiàn)文件數(shù)據與實際底層數(shù)據的分離視圖,我們需要兩種類型的文件對象,第一個文件對象是上層文件對象,它是與應用程序相關聯(lián)的開放實例,它代表應用程序的文件視圖,它包含解密數(shù)據,數(shù)據被隔離過濾器放入緩存,與緩存管理器協(xié)同工作。我們稱為的另一個文件對象是影子文件對象,它由隔離迷你過濾器創(chuàng)建,并表示迷你過濾器(以及底層文件系統(tǒng))對文件的視圖。此文件對象的緩存部分中的數(shù)據是加密的,隔離迷你過濾器使用影子文件對象與底層文件系統(tǒng)進行交互。影子文件對象是在IRP_MJ_CREATE調度處理程序期間由隔離過濾器驅動程序創(chuàng)建的,并將該影子文件對象發(fā)送到底層FSD。為了控制上層文件對象,隔離過濾器將填充文件對象結構的FsContext/FsContext2字段,現(xiàn)在上層文件對象屬于隔離過濾器,為了控制緩存,隔離過濾器還將設置SOP結構來指向由過濾器創(chuàng)建的控制數(shù)據部分。

隔離過濾器驅動程序的最大挑戰(zhàn)是處理由用戶發(fā)送的上層文件對象的所有IOs,如果上層文件對象被發(fā)送到NTFS,NTFS將在一個名為NtfsDecodeFileObject的函數(shù)中爆炸。開發(fā)隔離迷你過濾器更像是開發(fā)完整的Windows文件系統(tǒng),而不是開發(fā)標準迷你過濾器,因為它需要與Windows緩存管理器和內存管理器密切交互。因此,對于大多數(shù)不尋求成為Windows文件系統(tǒng)專家的開發(fā)人員來說,開發(fā)隔離迷你過濾器不太可能是一項能夠成功完成的任務。

用于虛擬云存儲的隔離迷你過濾器:隔離迷你過濾器模型不僅用于透明數(shù)據加密和解密系統(tǒng)。IsolationMinifilter模型也可用于虛擬云存儲,它可以向用戶呈現(xiàn)虛擬文件結構視圖,該視圖的數(shù)據與遠程云存儲相關聯(lián),當用戶讀取虛擬文件的數(shù)據時,過濾器可以逐塊拉回數(shù)據。

編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • WINDOWS
    +關注

    關注

    3

    文章

    3541

    瀏覽量

    88621
  • 文件系統(tǒng)

    關注

    0

    文章

    284

    瀏覽量

    19904
  • 過濾器
    +關注

    關注

    1

    文章

    428

    瀏覽量

    19593
  • SDK
    SDK
    +關注

    關注

    3

    文章

    1035

    瀏覽量

    45899
  • 解釋器
    +關注

    關注

    0

    文章

    103

    瀏覽量

    6509

原文標題:Easefilter--Windows文件系統(tǒng)隔離過濾器驅動SDK

文章出處:【微信號:哲想軟件,微信公眾號:哲想軟件】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    WDM設備驅動程序開發(fā),Windows 2000/XP WD

    Windows 2000/XP WDM設備驅動程序開發(fā)主要介紹DriverStudio開發(fā)工具開發(fā)Windows 2000/XP下的WDM設備
    發(fā)表于 09-13 22:58 ?0次下載
    WDM設備<b class='flag-5'>驅動程序</b>開發(fā),<b class='flag-5'>Windows</b> 2000/XP WD

    Windows 2000/XP下I/O設備驅動程序的設計

    本文介紹Windows 2000/XP 下WDM 驅動程序的基本設計方法;闡述了I/O 設備驅動程序的基本構成,硬件資源的配置和訪問的方法;提出了設備
    發(fā)表于 06-12 13:46 ?18次下載

    Linux內核空間設備驅動程序的開發(fā)

    本文詳細介紹了Linux平臺下內核空間設備驅動程序的開發(fā)。在比較proc和dev兩種文件系統(tǒng)的基礎上,分別以PCI設備和USB設備的驅動程序開發(fā)為實例來
    發(fā)表于 08-19 08:44 ?18次下載

    IFS過濾驅動在保護文件系統(tǒng)中的應用

    基于Windows NT 內核的 IFS 過濾驅動模型,并在此基礎上給出了一個基于用戶身份驗證的文件系統(tǒng)保護的實現(xiàn)方案,并通過附加的性能優(yōu)化措施和安全保護手段提升
    發(fā)表于 01-27 13:58 ?10次下載

    PCI設備WINDOWS驅動程序的開發(fā)

    PCI設備WINDOWS驅動程序的開發(fā) 本文主要介紹了在Windows9x操作系統(tǒng)下開發(fā)PCI設備驅動
    發(fā)表于 05-03 11:54 ?3321次閱讀

    Windows WDM設備驅動程序開發(fā)指南

    書主要介紹Windows 98和Windows 2000新的驅動程序模型(WDM)。描述了WDM設備驅動程序的結構、功能和開發(fā)方法.
    發(fā)表于 12-12 15:31 ?0次下載
    <b class='flag-5'>Windows</b> WDM設備<b class='flag-5'>驅動程序</b>開發(fā)指南

    Windows CE驅動程序開發(fā)

    不同的嵌入式系統(tǒng)硬件平臺,往往有其獨有或特殊的設備,而這些設備的Windows CE驅動程序設計問題是開發(fā)人員經常遇到的。本文著重闡述了Windows CE體系結構和中斷機制、
    發(fā)表于 04-18 10:13 ?0次下載

    Windows CE設備驅動程序開發(fā)

    本文介紹Windows CE 體系結構和開發(fā) wince 設備驅動程序的過程,闡述了設備驅動程序模型、設備驅動結構和中斷處理。
    發(fā)表于 04-18 10:13 ?0次下載

    基于Windows CE.NET的設備驅動程序開發(fā)

    本文闡述了設備驅動程序的概念和結構 介紹Windows CE. NET環(huán)境下開發(fā)驅動程序的特點以及一些常用的開發(fā)工具 并以華恒科技的 HHARM9 - EDU 開發(fā)板的觸摸屏
    發(fā)表于 04-18 11:28 ?0次下載

    Linux新的exFAT文件系統(tǒng)驅動程序要來了

    微軟開放 exFAT 技術并積極將其添加到 Linux 內核后,Linux Kernel 5.4 帶來了對 exFAT 文件系統(tǒng)的初步支持?,F(xiàn)在,基于早期代碼進行改進,新的 exFAT 文件系統(tǒng)驅動程序將搭載在 Linux Ke
    的頭像 發(fā)表于 03-08 08:40 ?2629次閱讀

    基于WDM驅動程序模型實現(xiàn)過濾驅動程序的開發(fā)設計

    的升級,WDM已經成為Windows 2000系統(tǒng)驅動程序開發(fā)的主流。作為WDM模型之中一類特殊的驅動程序,過濾
    的頭像 發(fā)表于 09-19 15:54 ?3172次閱讀
    基于WDM<b class='flag-5'>驅動程序</b>模型實現(xiàn)<b class='flag-5'>過濾</b>器<b class='flag-5'>驅動程序</b>的開發(fā)設計

    Windows驅動程序分享

    電子發(fā)燒友網站提供《Windows驅動程序分享.zip》資料免費下載
    發(fā)表于 07-26 17:43 ?0次下載
    <b class='flag-5'>Windows</b><b class='flag-5'>驅動程序</b>分享

    Windows驅動程序

    電子發(fā)燒友網站提供《Windows驅動程序.zip》資料免費下載
    發(fā)表于 07-26 17:17 ?0次下載
    <b class='flag-5'>Windows</b><b class='flag-5'>驅動程序</b>

    Windows驅動程序案例

    電子發(fā)燒友網站提供《Windows驅動程序案例.zip》資料免費下載
    發(fā)表于 07-28 11:42 ?0次下載
    <b class='flag-5'>Windows</b><b class='flag-5'>驅動程序</b>案例

    分享Windows驅動程序

    電子發(fā)燒友網站提供《分享Windows驅動程序.zip》資料免費下載
    發(fā)表于 08-04 11:46 ?2次下載
    分享<b class='flag-5'>Windows</b><b class='flag-5'>驅動程序</b>
    RM新时代网站-首页