此防側錄系統是依據上章節所提出的設計考量而命名,在此章節將說明重新 設計過後的系統架構,以及該防側錄模組的運作流程,與雙重偵測機制的流程,
最後說明此防側錄模組之特性。
3.3.1 系統架構
重新設計過後的系統架構因為防側錄模組的運作方式不同,使得防側錄模組 不在閱讀端中,而是獨立以 Windows Service 之型態安裝在使用者電腦中。因為 防側錄模組獨立於閱讀端之外,因此防側錄模組與閱讀端之間的溝通則利用雙方 協議好的 Pipe 管道進行溝通。當閱讀端需要防側錄模組進行防側錄偵測時,就 傳送要求開始偵測的訊息給防側錄模組;當防側錄模組有偵測到側錄程式時,才 會再回傳要求停止播放的訊息給閱讀端。系統架構如圖 23 所示。
圖 23 雙重偵測防側錄系統架構圖
3.3.2 防側錄模組運作流程
在此章節將介紹防側錄模組的運作流程,因為加入了雙重偵測機制、改良數 目假象之機制與 Windows Service 之型態,使得運作流程大為改變,在此章節會 說明其中之不同。
閱讀端送出要求開始偵測的訊息給防側錄模組之後,防側錄模組就開始進行 防側錄偵測。首先,為了減少不必要的偵測,先列舉出所有系統中正在執行的程 式,並且進行比對本次偵測時的程式數目與上次偵測實的程式數目,以檢查是否 有新開啟的程式,若為相同則進一步比對程式名稱以確保真的沒有新開啟的程式。
若是不相同,則利用靜態偵測機制進行辨識程式之身份再加以處理,判別是一般 程式、可疑程式或側錄程式之後,在作出對應之處理,對於側錄程式就要求閱讀 端停止播放與隱藏播放內容,而可疑程式之處理則利用動態偵測機制作進一步的 行為分析。動態偵測機制是利用 Windows Hook 技術去攔截可疑程式所收發的訊 息,並由這些訊息去分析該程式是否有側錄行為,若有側錄行為代表該程式為側 錄程式,再依照處理側錄程式之作法處理之。此防側錄模組之運作流程如圖 24 所示。
圖 24 雙重偵測防側錄模組之運作流程
3.3.3 雙重偵測機制之流程
此章節將介紹靜態偵測機制與動態偵測機制的內部流程。
首先,將介紹靜態偵測機制之流程。先製作一份 Process List 去儲存目前所 有正在執行的程式,再由此 Process List 中取出目前系統中正在執行之程式,並 由該程式之執行檔取出部分內容透過 MD5 雜湊演算法進而產生特徵碼,同時取 出該程式其他相關訊息用來辨識該程式之身份,再依據辨識之結果作相對應之處 理。
接下來,將介紹動態偵測機制之流程。借由靜態偵測機制而辨識出可疑程式,
再利用 Windows Hook 技術攔截該程式之 Message,當該程式送出或接收 Message
時,都會被動態偵測機制所攔截,進而分析該程式是否有側錄之行為,若有分析 出有側錄之行為則馬上更新特徵碼資料庫,並且傳送要求停止播放之訊息給閱讀 端。圖 25 說明靜態偵測機制與動態偵測機制的互動流程。
圖 25 雙重偵測機制之流程
3.3.4 雙重偵測防側錄模組之特性
此章節章介紹本研究之防測錄模組的特性,並加以說明。
高權限:
在 Windows 的 UAC 機制之下,當側錄程式取得高權限時,防測錄模組 必頇能夠正常運作。
高安全性:
因為防側錄模組具有高權限,可能會被那些正在伺機取得高權限的惡意 程式視為攻擊目標,因此借由 Windows Service 的安全機制-Session 0 isolation 以保護防測錄模組不被攻擊。
即時偵測:
借由傳送與接收訊息的機制,使防測錄模組能配合課程播放模組在特定 的時機立即偵測,例如:開始播放時、拖拉播放時間列等等…。