Windows Filter Driver - 核心層攔截情資工具開發與實務應用
- 發布單位:TWCERT/CC
- 更新日期:2020-01-02
- 點閱次數:858
標題 | Windows Filter Driver - 核心層攔截情資工具開發與實務應用 |
---|---|
活動類型 | 訓練課程 |
費用 | 付費 |
活動日期 | |
地址定位 |
【Windows Filter Driver - 核心層攔截情資工具開發與實務應用】
主辦單位:台灣駭客協會 Hacks in Taiwan Association | CHROOT Security Group
會議地點:台北市境內,如已達開課人數標準,主辦單位將儘快公布地點。
日期:2019 年 12 月 18 日 (一天)
上課時間:09:30 - 12:30, 14:00 - 17:00
講師:莊般若(NotSurprised)
票價:NTD 11,000
- 課程介紹(Course Description)
對資安人員所使用在 Windows 系統上開發防禦腳本執行及其他病毒載入的工具── Windows Filter Driver 做基本概述。
介紹在 Windows 系統核心層級獲取 I/O 指令與內容並修改或紀錄的方法,以及相關開發除錯。
- 課程摘要(Course Outline)
Lesson 1
Operation System & Driver designing : 粗略介紹作業系統設計演變與 Windows 作業系統設計,Driver 的前身 Extension Module 與設計用途。
Driver & Call Flow in OS : 此部分講述應用程式於應用層呼叫系統功能時的呼叫流動與 Driver 可以介入的涵蓋部分,以及負責接受註冊並轉送呼叫的 Filter Manager 機制。
Lesson 2
I/O request type : 講述 System Call 中比較常用的 I/O 類封包內容,可設定的類型以及旗標,交互反應後呈現於應用層的狀態。
Else system calls & register API : 除了前述 IRP 外,driver 可以監控檢測的 system call 以及 其他系統核心模組與裝置的溝通封包。
Lesson 3
IRPs hooking : 帶學員參考 Windows 提供的 Sample 簡單實作精簡版擷取 IRP 封包資訊的驅動程式並安裝掛載,Windows 最基本的 IRP 監控驅動涵蓋許多進階核心應用,本部分僅做簡易擷取並使用 KdPrint() 印出於核心除錯 kernel debugger,並使用 DebugView 檢視印出成果。
Register & Install & launch driver : 帶學員將前一小節編譯成果安裝進測試機器中並啟用。
User/Kernel Communication : 帶學員參考 Windows 提供的 Sample 簡單實作精簡版的應用層與核心層相互傳遞資訊 Driver。
Lesson 4
Driver Debugging : 此部分教授如何於編譯設定產出 debug symbol,設定測試虛擬機於藍屏產出 memory dump,然後提供學員錯誤樣本 symbol 與 crash dump 進行偵錯 。
Driver Signing : 教授如何建立測試簽章,並將憑證安裝入測試機,以讓具測試簽章之 driver 可通過驗證並載入。
Lesson 5
Setting attach/unattach volume : 帶學員於 driver 中編寫掃描本地碟區並掛載或卸載,由應用層發送指令使 Driver 掛載至指定碟區或從指定碟區卸載
Process commands hooking : 帶學員參考本 Lab 提供 Sample 編寫簡易程式執行活動監控,並使用 KdPrint() 印出於 DebugView。
Intro of Filter Manager : 簡單帶領學員使用 Filter Manager 管理電腦中的 Filter Drivers。
- 學員先修技能(Prerequisite Skills for the Course)
基礎程式開發能力(熟悉使用 Visual Studio Community 系列工具進行開發編譯除錯尤佳,可節省部分教學時間。)
有操作 Windows 作業系統經驗 (部分操作設定會修改 Windows 虛擬機註冊表項、Windows 虛擬機啟動設置與不同權限下達終端機指令。)
熟悉 C/C++ 語言格式 (能夠看懂資料結構與指標尤佳) 理解 C/C++ 語言的函式呼叫與返還機制 (對於系統 API 函數調用有初步認識與理解尤佳。)
- 學員自備工具(Equipments & Tools Need to Bring)
VMware or Virtual Box installed (Virtual Box recommanded)
Windows 10 x64 installed VM (make sure the license and update to latest version)
Visual Studio 2017/2019 and related plugin SDK10
WDK10 (sync version with SDK) (MoreInfo: https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk)