当前位置:网站首页>基於Minifilter框架的雙緩沖透明加解密驅動 課程論文+項目源碼

基於Minifilter框架的雙緩沖透明加解密驅動 課程論文+項目源碼

2022-06-25 11:13:00 biyezuopinvip

目錄
FOKS-TROT 開發文檔 1
引言: 1
簡介: 1
編譯及使用方法: 1
設計部分: 3
測試部分: 18
未修複的 bug: 18
結束: 18
引言:
本項目是個實驗性項目,且作者對於文件系統等的理解難免會存在偏差,因此可能會產生誤導,望讀者辯證的學習,並且請讀者遵循相關的開源協議。
因為之前寫過一個 minifilter 的透明加密解密驅動,但當時水平確實有限, 有很多的問題,沒有找到原因,只是進行了規避,導致在錯誤的基礎上又產生了錯誤,所以在之前項目開發經驗的基礎上,寫了這個項目。
這個項目也打算作為畢設,如有雷同,純屬雷同 s(- -)b
簡介:
本項目是一個使用 minifilter 框架的透明加密解密過濾驅動,當進程有寫入特定的文件擴展名(比如 txt,docx)文件的傾向時自動加密。授權進程想要讀取密文文件時自動解密,非授權進程不解密,顯示密文,且不允許修改密文,這裏的加密或解密只針對 NonCachedIo。桌面端也可以發送特權加密和特權解密命令,實現單獨加密或解密。
1.本項目使用雙緩沖,授權進程和非授權進程分別使用明文緩沖和密文緩沖;
2.使用 StreamContext 存放驅動運行時的文件信息,使用文件標識尾的方式,在文件的尾部 4KB 儲存文件所需的解密信息;
3.使用 AES 128-ECB 模式,並且使用密文挪用(Ciphertext stealing)的方法,避免明文必須分塊對齊(padding)的問題;
4.Write 和 Read 使用 SwapBuffers 的方式進行透明加密解密;
5.特權加密和特權解密使用重入(Reentry)的方式,使驅動加密解密文件;
6.解决 FileRenameInformationEx 和 FileRenameInformation 問題,因此可以自動加密解密 docx,doc,pptx,ppt,xlsx,xls 等使用 tmp 文件重命名方式讀寫的文件;
7.注册進程相關回調,使用鏈錶統一管理授權與非授權進程;注册進程與線程對象回調,保護進程 EPROCESS,ETHREAD 對象;對授權進程的代碼段進行完整性校驗。
編譯及使用方法:
1.安裝 CNG 庫:
https://www.microsoft.com/en-us/download/details.aspx?id=30688
需要在微軟官網下載 Cryptographic Provider Development Kit,
項目->屬性的 VC++目錄的包含目錄,庫目錄設置相應的比特置
鏈接器的常規->附加庫目錄 C:\Windows Kits\10\Cryptographic Provider Development Kit\Lib\x64
輸入->附加依賴項一定要設置為 ksecdd.lib
2.在 Utils.c-> PocBypassIrrelevantFileExtension 設置要過濾的文件擴展名,Process.c->PocIsUnauthorizedProcess 設置非授權進程
3.使用 Visual Studio 2019 編譯 Debug x64 驅動,編譯 User、UserDll 和
UserPanel
4.建議在 Windows 10 x64,NTFS 環境運行(這裏主要是 FltFlushBuffers2
的 IRP_MN_FLUSH_AND_PURGE 只支持 NTFS),
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

原网站

版权声明
本文为[biyezuopinvip]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/176/202206251057177013.html

随机推荐