• 沒有找到結果。

二、 相關研究與探討

2.2 使用上的問題

在 2.1 節中,大致確認了 TrustView 的防側錄做法是使用 DLL Injection 的 技術,並利用 API Hook 技術來偵測所指定的 API 函式位址,來改變函式的執行 內容為自定義的處理函式,因此當測錄模組發現有對桌面或視窗進行錄製行為的 時候,該防測錄模組即會將擷取下來的畫面內容清除,畫上自訂的內容,並提示 此份文件已經受到該模組的保護。而為了確認以上技術的阻擋效果,我使用更多 不同種類的桌面及視窗錄影程式來對這份文件進行測試,結果發現都可以有效阻 擋。因此,從實驗中可以確定在 Windows 系統使用 DLL Injection 以及 API Hook 的方法,已經可以擋掉大部分的錄影程式。

針對以上的方法,確實可以有效阻擋測錄行為,但是否能 100% 的阻擋依舊存 疑,且此方法僅限於在 Windows 作業系統中實作,若在其他作業系統(例如 Linux) 是否也可行,因為在以下小節中,我提出幾項目前防測錄技術存在的問題。

2.2.1 無法阻擋使用遠端遙控軟體錄製課程內容

首先,存在第一個問題是否僅使用 API Hook 的作法可以滿足防側錄的需求 嗎? 是否存在其他的可能性或方法是使用 API Hook 技術所無法阻擋的? 針對 API Hook 的特性,也就是 API Hook 僅能偵測所在 OS 中所有處理程序的 API 行 為,我將該電腦中播放的課程內容畫面傳送到另一台電腦中,是否就能避開偵測 了呢?

我以此為出發點,使用了遠端遙控軟體來驗證以上的假設,並建構了以下的 實驗架構。

這項實驗使用 VNC ( Virtual Network Computing ) 遠端遙控軟體,VNC 的 架構包含 VNC Server 以及 VNC Viewer。 在 Server 端主要是負責傳送電腦畫 面以及接收Viewer 端的指令,而在 Viewer 端則是接收 Server 端傳送過來的畫 面。環境設置如圖11所示。

圖 11 遠湍遙控軟體環境設置圖

實驗結果發現這樣的方式可以避開 API Hook 的偵測,錄製下受保護文件的 內容。圖12為擷取文件內容的畫面。

圖 12 使用遠端遙控軟體截取受保護文件的畫面

VNC為了提高擷取與傳送Server端螢幕畫面的效率,因此不使用Hook DLL的技 術,而是使用了Mirror Driver[14]的技術,對防測錄模組而言,並無法判斷為 一個測錄螢幕的行為,使防側錄模組出現保護的漏洞。

2.2.2 API Hook 可能被防毒軟體視為可疑行為

從「2.1 現有防測錄模組的運作方式」中,使用了 Process Monitor 去觀察 當此受保護文件開啟時,發現了 Word 的執行序中多了一個 HOOKTOOL.dll 的模組,

因此可以判斷該防測錄模組是使用了 DLL Injection 的技術,這項使用技術也是 目前 Win32 病毒廣泛使用的其中一種技術,將病毒體本身藏於一個 DLL 中,當 EXE 程序啟動的時候再將這個 DLL 加載至程序中運行。

另外,當 DLL Inject 該程序後,就可以開始使用一些修改指令行為的技術,

可以用來攔截、中斷或是監聽程式指令、改變 API 的執行結果,亦即能夠隱藏檔 案、目錄、登入檔機碼,乃至系統真正執行的程序。在防測錄模組中,則會修改 或刪除擷取下來的螢幕畫面內容。

以上的行為,在某些的防毒軟體中,均會將其視為侵害電腦的可疑行為,造 成課程無法正常閱讀。

2.2.3 API Hook 技術無法在 Linux 上使用

很多廠商為減少電腦的成本,均以免費的 Linux 作業系統來取代 Microsoft Windows,對數位學習而言,許多課程也必須支援可以在 Linux 中觀看,因此,防 側錄功能也必須支援可在 Linux 中執行。針對這項需求,我發現 API Hook 並無法 相容於 Linux 環境,主要原因是 API Hook 係用於攔截 Windows 中的 API 事件而提 出的技術,所以並不適用於 Linux 環境。

基於以上的三個問題,因此本研究將針對這些問題開始進行研究與分析,進 而提出一個新的防側錄方法,除了達到與 API Hook 技術有相同的阻擋效果之外,

同時也將補強防側錄系統。另外,也會考量到新架構的可移植性,以滿足相容於 Linux 的需求。

相關文件