概要
ダウンローダーとは、インターネット上のウェブサイトなどからマルウェアを取得する不正プログラムのことです。
「マルウェアを呼び込むためのマルウェア」であるとも言えるでしょう。
一般的にダウンローダー自体のプログラムのサイズは小さいものです。
これは、実行ファイルや、攻撃用のサーバから被害者PCに対する操作を行うための不正プログラムをダウンロードする機能のみの機能しか持たない為です。
近年のマルウェアは、機能豊富であるため必然的にプログラムのファイルサイズも大きくならざるを得ません。
しかし、ファイルサイズの大きなマルウェアを直接送り込もうとした場合、標的ユーザーに発見される可能性が上がります。
そのために攻撃者は、外部から他のマルウェアをダウンロードするだけの、ファイルサイズが小さいプログラムを利用するのです。
ダウンローダーが利用されるメリットはファイルサイズだけではありません。
一般的なダウンローダーには、ダウンロードするマルウェアを変更することができる機能があるのです。
そのために、目的に応じた攻撃が多様に行えるのです。
例えば、ウイルス対策ソフトがダウンロードしてくるマルウェアヘ対応していた場合、別の未対応のマルウェアをダウンローダーから被害者PC内に呼び込ませ、ウイルス対策ソフトによる検知を回避しながら攻撃の継続を試みる事が可能となるのです。
背景と事例
ダウンローダーの中にも、それぞれ様々な工夫が凝らされているものがあります。
よく知られた工夫に以下のようなものがあります。
ダウンローダーがセキュリティ製品に検知されぬ様、攻撃者は如何に発見されないか改良を重ねているのです。
- 設定ファイルの利用
ダウンロードしたいマルウェアを設定ファイル上でリスト化するなどして、複数のマルウェアに対応させることができる。
リスト上に設定するダウンロード先のウェブサイトを分散させることができ、防御側の撹乱に有効。
また、マルウェア本体をインストール後に設定ファイルを更新することで、新たな攻撃も可能になる。
これらの設定ファイルは、防御側に発見される可能性があるため、暗号化されていることも多い。
- ファイルの種類の偽装
ダウンロードする実行ファイルなどの拡張子を画像ファイル(.gif、.jpg、.pngなど)やプレインテキスト(.txt)に偽装し、ログの解析者の目をくぐり抜けようとする。
この手法は一般的になり、比較的検出率も高くなってきているが、報告された当初は見逃してしまう組織が多くあった。
- スクリプト言語の利用
最近、JScriptを利用したダウンローダーを目にするようになりました。
JScriptとは、Microsoft社が開発したスクリプト言語の事です。
端的に言えば、JavaScriptを機能拡張したものです。
現在確認されているものでは、エクセルファイル(.xlsx)にアイコン偽装したJSEファイル(Jscript Encoded Script File)などがあります。
この類のダウンローダーの検出は、一筋縄ではいかないのが現状です。