• 沒有找到結果。

A. 惡意程式分析帄台

4.1.1 檔案隱藏

惡意程式可能使用NTFS檔案系統的ADS功能來隱藏自身的存在。ADS全名 Alternate data streams,其起源必頇先追至Macintosh作業系統,Mac OS所採用的 檔案系統其檔案皆沒有副檔名的概念,然而系統卻可以正確的去判別該檔案的 擁有者以及是否可執行等屬性。這是由於每個檔案都有兩個fork。其一為resource fork,紀錄著該檔案上述的各種屬性。另一為data fork,紀錄真正的檔案內容。

微軟作業系統發展至Windows NT 3.1時,期望與AppleTalk相容互通,讓兩方的 使用者能夠輕易的交換彼此資料。但由於Mac OS檔案的resource fork存在另一獨 立的資料流中,直接複製Mac OS端之檔案至Windows端僅有檔案的data fork會被 複製而缺乏紀錄該檔案眾多屬性的resource fork。因此微軟實做了於NTFS檔案系 統上相容resource fork以及data fork之機制,即是為了相容Mac OS所採用的 HFS(Hierarchical File System)以提供SFM(Service For Macintosh)的ADS。

如此一來Windows NT也可以看見Mac OS上檔案的resource fork,並於複製檔 案時將resource fork以及data fork一併複製至Windows NT系統。然而由於該實做 為相當底層的作業系統核心修改,多數系統API以及程式皆無法得知ADS的存在,

因此ADS的使用起初並不盛行。

Windows NT 4 至 Windows 2000 時期,sparse file、多媒體檔案之總和資

30

訊、hard link(源自於 Unix 環境,可將某一檔案完整映射到另一檔案)、

ACL(Access Control List)、加密檔案系統等機制的出現、以及微軟提供的 API 供使用者方便使用這些新的機制,使得 ADS 的使用達到高峰。系統利用 ADS 來 儲存上述這些資訊,如音樂檔案之專輯名、歌手、歌曲名等、部份防毒軟體將 檔案的 checksum 存於其中以維護該檔案的完整性,避免遭到非授權的修改、以 及瀏覽器會利用 ADS 去標記由外部網站下載至本地端的檔案為不安全,以便在 該檔案被執行或開啟時,二次詢問使用者是否確定要繼續該動作。

NTFS ADS 允許一個檔案名稱與多個資料流關聯,且 Windows Explorer 中不 會列出其存在,內容大小也不包含於檔案大小中。磁區的 Master File Table 紀錄著每個檔案擁有的所有資料流、以及在硬碟上的實體位址,一個典型的檔 案僅包含單一的資料流是為$DATA,此即為該檔案真正包含的內容,ADS 則是透 過 附 加 紀 錄 在 MFT 與 檔 案 做 關 聯 而 非 包 含 在 該 檔 案 內 。 ” filename.extension:alternate_data_stream:$DATA”為 Windows 檔案命名的 約 定 格 式 , 當 使 用 者 開 啟 檔 案 時 , 一 般 狀 況 下 為 開 啟 filename.extension::$DATA 。 若 要 存 取 ADS 的 內 容 , 則 必 頇 透 過 filename.extension:alternate_data_stream 來存取。下圖為一般檔案存取與 ADS 存取實際例子:

31

圖表 4-1Windows ADS 內容顯示

目前的 Windows Server 版本已不再包含 SFM,僅剩下少數第三方的軟體仍 在使用 NTFS 的 ADS 特色。多媒體播放軟體也改採用獨立的資料庫來儲存上述資 料,ADS 因而逐漸沒落。多數使用者也因為極少接觸而不知其存在。然而在 NTFS 成為 Windows 主流檔案系統,且眾多使用者未知 ADS 存在的狀況下,ADS 逐漸成 為惡意軟體隱藏自身的手段之一,其所能附加的資料流可以是各種檔案類型。

其中固然也包括了可執行檔.exe,使得惡意程式得以將自身隱藏於 ADS 中,若 非透過特殊的掃描工具,使用者難以察覺其存在。

在 NTFS 的檔案系統裡,ADS 可以被用來隱藏檔案,被隱藏的檔案將不會顯 示在資料夾的檔案目錄裡,且其大小不能被更改。ADS 亦經常被合法運用於儲存 即時性的資料與一系列追蹤的紀錄。可被 ADS 隱藏的檔案大小並沒有限制,而 ADS 只要輸入一行 DOS 指令即可輕鬆產生。

現今 ADS 的存在仍然是鮮為人知。ADS 已被安全領域社群,當作惡意的個體 討論一段時日了。當任何有利於駭客惡意行為的議題或是方法被提出,都會很 快的被駭客不肖運用。駭客應用 ADS 執行惡意行為已成為不可抵擋的趨勢,甚 至有些惡意程式會使用 ADS 將自己隱藏起來,不讓管理者監測到。

32