2013-04-16

NTFSのAlternate Data Streamとrarアーカイブによるマルウェア隠し

Why questionable downloads use rar archives : Len Boyette

NTFSには、Alternate Data Streamという機能がある。これは、ファイルに複数のストリームを関連付ける機能で、主となるストリーム以外は、基本的にあまり表に出ない。Windowsはファイルのメタデータを保存するのにこの機能を使っている。例えば、インターネット上からダウンロードしたファイルに対して警告を発するのも、特別なAlternate Data Streamを付加しているからで、ファイルのプロパティからこれ以上警告しないという設定するのは、このストリームを削除するという事である。

Alternate Data Streamは、ファイル名の後ろにコロンをつけることで使える。例えば、"example.txt"という名前のファイルがある場合、"example.txt:secret"などというように。

Alternate Data Streamは、なかなか表に出ない。GUIのエクスプローラーでは直接は表示されない。コマンドdir /rで表示される位だ。しかも、Alternate Data Streamから実行されるプロセスは、タスクマネージャーにも現れない。これは、例えば表のストリームはファイルのAlternate Data Streamを実行するようなプログラムにしておけば、単に軽くファイルを検証しただけではマルウェアであることが分かりにくいということだ。

世の中の多くのアンチマルウェアソフトウェアは、Alternate Data Streamを調べない。

もちろん、普通のプログラムが扱うのは主のストリームであり、Alternate Data Streamはほとんど考慮されない。多くのアーカイバーソフトウェアも、Alternate Data Streamは無視する。従って、ネットワーク越しにファイルを送る場合、Alternate Data Streamは送られない。ただし、Alternate Data Streamにも対応している有名なアーカイバーがひとつだけある。rarだ。

WinRarは、Alternate Data Streamまで含めてアーカイブ、展開する機能を持っている。rarを使えば、Alternate Data Streamを含めてファイルをネットワーク越しに渡せるのだ。

市場の60%のアンチマルウェアソフトウェアは、このrarファイルや、Alternate Data Streamを使ったマルウェアを正しく検出できない。

元記事では、7zipなどのWindows用に設計された、よりより圧縮率、より良い暗号化方式、Unicodeサポート、並列処理などのモダンなアーカイブ形式があるにも関わらず、いまだにrarも使われているのは、ひょっとしたらこのためかと推測している。Windows用のマルウェアをAlternate Data Streamに隠して運ぶためではないのか。

No comments: