biborock

疲れたサラリーマンに捧げる備忘録的まとめ

【ざっくりまとめ】「ファイルレス」マルウェアって?

f:id:salarytan:20171114233953p:plain

「ファイルレス」マルウェアが急増中。攻撃手法のトレンドに

最近のセキュリティの脅威・攻撃のトレンドの一つとして、おそらく多くの人が指摘するだろうものとして、「ファイルレスマルウェア」があります。

 

以下の通り特に2016年から2017年にかけて、ファイルレスマルウェアが急増しています。

f:id:salarytan:20171114221020p:plain

(引用元:「McAfee 脅威レポート 2017年9月」)

 

では、近年増加中の「ファイルレス」マルウェアとは何でしょうか。

 

「ファイルレス」マルウェア、ざっくり言うと

このファイルレスマルウェアをざっくり説明すると、

ハードディスクにファイルとして保存されず、メモリ上にのみ保存され実行するマルウェアです。

 

通常のマルウェアは、「exe」という拡張子を持った実行ファイルとして、ディスクに保存され、それが実行されることで不正を働きます。

 

しかし、ファイルレスマルウェアは、悪意のあるコードやスクリプトとしてメモリに記録され、実行されます。

 

一般的には、管理ツールであるPowershellの実行可能なコードとして端末上に配送され、それが実行されることで、権限情報を盗みとったりします。

 

では、メモリ上にのみ存在するこのようなファイルレスマルウェアは、なぜ急増しているのでしょうか。

 

ファイルレスマルウェアが急増するわけ

このようなファイルレスマルウェアが急増している主な理由としては、

ファイルベースのマルウェアと比較して、検知されにくいためというのが主な理由になります。

 

このような不正を実行させるマルウェアをファイルレスとすることで各種セキュリティ製品が検知し難くなります。

 

それでは、どうして検知し難いのか、というと主に2つの理由があります。

(以下二つに加えて、難読化されやすい、という理由も上がることがあります)

ディスクにファイルとして保存されないため

まずは、これがよく理由として上がります。

一般的なマルウェア対策ソフトは、ディスクに保存されたファイルをそれぞれ検査し、マルウェアを検出します。

しかし、ファイルレスマルウェアは、インメモリで動作し、ディスクに記録されないため、上記のようなマルウェア対策ソフトのスキャニングから逃れることができるのです。

 

見かけは正常なプロセスであるため

このようなファイルレスマルウェアは、PowershellやWMIなどの運用業務で使用される、いわゆる正規なプロセスを使用し、実行されます。

 

そのため、動作中は例えば、Powershellのプロセスとして実行されます。

 

アプリケーションのホワイトリスト式で不正なプロセスの実行を検知・制限していても、不正なプロセスとして実行されるのではなく、通常使用を制限していないことの多いプロセスを用いて実行されるため、そのようなホワイトリスト型での検知にひっかからなくなってしまいます。

 

難読化されているため

この不正なコマンドやスクリプトは、検出を回避するために難読化(読み取りにくくすること)されます。

以下のような手法で難読化されます。

・文字列の連結

・数値に対する意味のない演算

・文字列の反転

・文字列の間に意味のない文字を追加

・不要なコメントの追加

 引用元:「McAfee 脅威レポート 2017年9月」

その結果、 セキュリティゲートウェイ製品の検出精度が下がってしまうのです。

 

どのように感染してしまうのか

このようなファイルレスマルウェアですが、

何をきっかけに感染してしまうのでしょうか。

 

不正な動作自体は、上記でお伝えした通りファイルレスですが、

感染経路はファイルベースになります。

 

f:id:salarytan:20171114230531p:plain

(引用元:産経ニュース「「ファイルレス」見えないサイバー攻撃急増 政府・金融機関など標的」

 

上の図のように、一般的にはWordなどのファイルが添付されたメールが届きます。

そのWordファイルを開くと、Officeの脆弱性を突き、Powershellを立ち上げ、不正コードが実行され、攻撃が開始します。

 

 

どうやって対策すればよいの?

では、このようなファイルレスマルウェアはどのように対策すれば良いのでしょうか。

基本的な対策内容として、

・OSやソフトの更新、パッチ適用(Officeなど脆弱性を利用して、実行されるため)

・脅威情報の活用による、感染源のメールやWebサイトをブロック

・ブラウザのJavascriptのポップアップブロック

・Powershellの利用禁止

といったものが挙げられます。

 

また、ファイルや、プロセス、実行コードレベルでの検出は様々な回避技術により検出が難しいため、実行後の端末の挙動を監視して、異常を検知するような仕組みも有効です。

 

例えば、Wordファイルを開いた瞬間、Powershellが立ち上げられる挙動は異常なので、

プロセスを監視し、そのような動作をする端末があれば検知するというような実行後の端末動作により検出することも一つの手段です。

 

最近では、そのようなエンドポイントまで侵入してきたマルウェアを検知・対応する技術としてEDR (Endpoint Detection & Response)なども話題です。

 

そのようなソリューションを導入することも一つの手法です。