FineArt News

淺談Alternate Data Streams 在企業洩密使用

Alternate Data Streams,簡稱ADS,也就是「NTFS交換資料流程」。在本篇文章中將不探討利用ADS來隱藏掛載惡意程序的使用方式,專注在內部威脅竊取的手段與防守。雖然在資安CTF是常見試題,在本文將應用在Insider Threat。

 

在資安關注的議題上,多半在探討惡意程式的隱藏機制,例如:APT攻擊惡意程式也可見相關技術應用。由於通過ADS隱藏的資料在Windows系統中無法顯示,檔案大小也顯示為0,達到欺騙的藝術。以技術講法,就是利用NTFS結構中檔案擁有多個$DATA特性,達到隱藏資料的目的。歸納ADS常見的應用,包括:(1) 檔案隱藏寄宿;(2) Webshell 後門程式;(3) 搭配Web檔案上傳;病毒免殺,迴避防毒機制;

如果仔細深入研究相關技術,發現應用在Insider Threat的資料竊取上「檔案隱藏技術」,可有如虎添翼之感。尤其是在儲存媒體可攜放行環境下,只是人工檢查、註冊碟防守、以及各類SD卡可用的企業政府環境,大概都可以有機會達成隱藏洩密的機會。簡言之,把其他檔案當成「宿主」,只有「施作者」能輕易解讀出寄宿者與宿主關係,進而解開真實檔案。對於企業與政府安全來說這類活動隱藏著巨大風險。在結構上,如下圖所示。

部分人會利用工具軟體達到ADS效果,例如:Streams.exe,其實不太需要用到工具軟體的加持,用簡易的command 指令,與一個可被格式化的儲存媒介。再把ADS與「隱寫術」(Steganography)結合,將是奇效功能。

好用的地方是,試圖從技術上,鑑識分析這樣的惡意技術,可以用工具軟體來解析,例如:LADS (List Alternate Data Streams)、Streams、Sfind、FileStreams…等。處理者須具備閱讀電腦進位語言的能力,但也可以用兩種在簡易方式去檢查:

  1. 是利用CMD 指令的dir /r 來察覺是否藏有異常資訊;
  2. 進一步利用Power Shell指令Get-Content來查看ADS內容,例如:

 

有一件事是十分重要,上述的例子只是一種簡易範例(還有許多手法,如多層多檔合併),在檔案應用尚有其他種模式。其實我們要反思,傳統人工檢核點否可以發現這樣的風險,而在外攜入以及內攜出兩個模式的應用,決不只是檔案竊取;甚至是大開後門、惡意程序、不在場證明、網路應用…都在在考驗著資安與稽核的掌握度。

精品科技在這樣環境下也提出CMD/PowerShell軌跡追蹤技術,可滿足相關風險的監控與稽核,此外面對複雜的內部威脅環境,如果以ADS手法為例,應要再考慮應用程式控管機制、外接儲存裝置控管…等,才能有效抑制複雜資料竊取行為,延伸的價值,可以掌握公司IT或RD在研發與管理應用上,另一種稽核制度。