ファイルベースの攻撃とは異なり、ファイルレスマルウェアは従来型の実行可能ファイルを利用しません。その代わりに、ファイルレスマルウェア攻撃は、オペレーティングシステムに組み込まれているツールを悪用することで、攻撃を実施します。つまりそれは、Windowsが自分自身に敵対するように仕向けるのです。

ファイルレスマルウェアは実行可能ファイルを使用しないため、アンチウイルスソフトウェアが検知するシグネチャが存在しません。この特徴が、ファイルレス攻撃を非常に危険なものにしています。ファイルレス攻撃は、アンチウイルス製品を簡単にすり抜けることができるからです。

このような攻撃に対する防御を行うには、MITREのATT&CKフレームワークを利用します。興味のある方は、ATT&CKフレームワークを利用してクローズドループ式のセキュリティプロセスを作成する5つの段階をお読みください。

ファイルレス攻撃は、living-off-the-landと呼ばれる手法を利用します。Living-off-the-landとは、攻撃者が正規のツールを悪意ある目的に利用することを意味し、この手法は少なくとも25年前から出回っています。不正利用される正規ツールはLOLBinsと呼ばれ、これにはMicrosoft Officeのマクロ、PowerShell、WMI、およびその他多くのシステムツールが含まれます。

ファイルマルウェアの動作の仕組み

ファイルレスマルウェアは、オペレーティングシステム上で実行されている信頼できる正規プロセス(LOLBins)を利用して、悪意あるアクティビティを実行します。これには、ラテラルムーブメント、 権限昇格、検知回避偵察ペイロードの配信などのアクティビティが含まれます。

我々は、その調査において、2019年度だけで多数のケースのファイルレス攻撃に遭遇し、同攻撃の阻止または検知を行いました。また、我々は、攻撃者が、次に示すような幅広い種類のデフォルトのWindowsプロセスを攻撃に利用しているのを目撃しました。

上記は、ファイルレス攻撃で利用されたプロセスを網羅したものではありません。我々が強調したいのは、これらがすべてLOLBinsであるということです。当社は、他のどのサイバーセキュリティ企業よりも効果的かつ適切に、これらのファイルレス攻撃を阻止できます。

ファイルレスマルウェアを使用する理由
  • ステルス性:ファイルレス攻撃は正規のツールを利用します。これは、企業や組織が、ファイルレス攻撃で使用されるそれらのツールをブロックすることがほぼ不可能であることを意味しています。
  • living-off-the-land(環境寄生): ファイルレスマルウェアで利用される正規ツールは、デフォルトでインストールされるソフトウェアです。攻撃者は、それらを使用するために、カスタムツールを別途作成またはインストールする必要はありません。
  • 信頼されており頻繁に使用される:これらのツールは頻繁に使用され信頼されています。ファイルレス攻撃で使用されるこれらのツールが、企業環境で正規の目的のために実行されているのを目にすることは珍しくありません。

ファイルレスマルウェアに利用されるLOLbins

100種類以上のWindowsシステムツールが、LOLBinsとして利用または悪用されています。代表的なLOLBinsに関する説明を下記に示します。

PowerShell

PowerShellは、Microsoftが開発した、クロスプラットフォーム型でオープンソースのタスク管理および設定管理フレームワークです。

PowerShellフレームワークは.NETに基づいており、コマンドラインシェルとスクリプト言語から構成されています。PowerShellは、多くのWindowsのシステム機能に対する完全なアクセスを提供します。これには、WMIやCOM(Component Object Model)オブジェクトをはじめ、Microsoft Exchange Serverなどの管理機能までもが含まれます。さらに、PowerShellを使うと、メモリから直接ペイロードを実行できます。攻撃者は、ファイルレスマルウェアで、この機能を利用しています。

■PowerShellの本来の使用目的

PowerShellは本来、自動化のためのツールとして利用されることを目的としています。PowerShellは、管理者にとって便利なるもので、管理者は退屈な反復タスクを自動化できます。PowerShellは強力です。PowerShellを使うと、ネットワーク上にあるすべてのコンピュータにインストールされているUSBデバイスを表示できるほか、タスクをバックグラウンドで実行するよう設定できます。

さらに、プロセスの停止や、マシンに関する情報のエクスポートも行えます。これらの理由により、PowerShellはIT管理者にとって非常に重要なツールとなっています。IT管理者は多くの反復的なタスクを自動化することで、より重要なタスクに集中できるようになります。

IT管理者はPowerShellを日常的に必要としているため、PowerShellをブロックすることはほぼ不可能です。

■PowerShellがファイルレス攻撃に使われる理由

PowerShellは、オペレーティングシステムのシステム機能への迅速なアクセスを攻撃者に提供しますが、それ自体は正規の信頼できるツールとして認められています。

攻撃者がファイルレス攻撃にPowerShellを使用する理由としては、次のことが挙げられます。

  • デフォルトでインストールされる:PowerShellはWindows環境にデフォルトでインストールされます。
  • 信頼されており頻繁に使用される:システム管理者はPowerShellを頻繁に利用しており、かつそれを信頼しています。PowerShellプロセスが企業環境で実行されているのを目にすることは珍しくありません。
  • 難読化が容易:PowerShellスクリプトは簡単に難読化が行えるため、旧式のセキュリティツールではその検知が困難です。
  • リモートアクセスを提供:PowerShellはデフォルトでリモートアクセス機能を備えています。このため、攻撃者はリモートからPowerShellを利用できます。

攻撃者との外部的な通信が行えるだけでなく、オペレーティングシステムに対して幅広い種類の変更を直接実行できる組み込み型の機能を備えているPowerShellのような既存ツールを利用することが、攻撃者にとっていかに容易であるかを考えてみてください。これが、攻撃者がPowerShellを利用する潜在的な理由です。

■PowerShellを利用した実際の攻撃例

  • Operation Cobalt Kitty:2017年に、サイバーリーズンのNocturnusチームは、アジアを拠点とする企業に対する大規模な攻撃を発見しました。これらの攻撃は、プロプライエタリなビジネス情報を完全に盗む作戦の一環として、ファイルレス型のPowerShellベースのインフラストラクチャと、カスタム型のPowerShellペイロードを組み合わせて使用していました。
  • Ramnit Banking Trojan:2019年に、サイバーリーズンのNocturnusチームは、当社のActive Threat Hunting Serviceに対する顧客のオンボーディングを行う際に、同顧客への重大な脅威を発見しました。この攻撃は、バンキング用のクレデンシャルを含む機密データを完全に抽出する作戦の一環として、リモートサーバーからPowerShellコマンドを実行していました。
  • 日本を標的としたNew Ursnif Variant:2019年に、サイバーリーズンのNocturnusチームは、猛威を振るったトロイの木馬であるUrsnifの機能を強化した、Ursnifの新しいバリアントを発見しました。このバリアントは、PowerShellと共にファイルレス手法を使用することで、標的マシン上の言語設定をチェックしていました。PowerShellコマンドは、.NETフレームワークを利用する悪意あるマクロによって実行されていました。この攻撃は、特に銀行の顧客を標的として、メールクライアントからのデータや、ブラウザ内に保存されている電子メールのクレデンシャルを盗み出すものでした。
  • 3つの脅威:Emotet、TrickBotの導入によりデータを盗み出しRyukを拡散:2019年に、サイバーリーズンのNocturnusチームは、3つの異なる種類のメジャーなマルウェアであるEmotet、TrickBot、Ryukを使用した脅威が、複数の顧客に影響を与えていたことを発見しました。このバリアントは、悪意あるマクロを使用することで、EmotetのペイロードをダウンロードするPowerShellコマンドを実行していました。また、この攻撃は、幅広い種類の機密データを抽出するだけでなく、ランサムウェアRyuk」を投下することで、さらなる被害を引き起こしていました。
  • Fallout Exploit Kitが活動を継続:2019年に、サイバーリーズンのNocturnusチームは、日常的なインターネットブラウジングを利用してマルウェアをインストールする攻撃を特定しました。この攻撃はPowerShellを使用して、最終的な除法スティーラーであるAZORultのペイロードを実行していました。同攻撃は、PowerShellを利用することで、Windowsにおけるアンチウイルススキャンインターフェイスの保護メカニズムをすり抜けていました。このInfoStealerは、ビットコイン、機密ファイル、ログインデータなどを抽出するものでした。
  • 検知することが非常に難しいランサムウェア「SODINOKIBI」:2019年に、サイバーリーズンのNocturnusチームは、新しいタイプのランサムウェアであるSodinokibiを分析しました。この攻撃はPowerShellと.NETを利用することで、マルウェアをロードして実行していました。また、この攻撃は、ランサムウェアの導入にも利用されており、その結果、組織や個人に重大な被害をもたらしていました。
Windows Management Instrumentation(WMI)

Windows Management Instrumentation(WMI)は、企業環境内にあるデバイスに関する管理情報にアクセスするためのMicrosoftの標準ツールです。WMIは、Windows NT 4.0およびWindows 95以降、Windowsオペレーティングシステムに統合されています。

■WMIの本来の使用目的

WMIは本来、ネットワーク上のWindowsデバイスの管理に使用されるものです。WMIは、ローカルまたはリモートマシンの状態に関する情報をユーザーに提供するほか、システムプロパティ、ユーザーグループ、プロセスのスケジューリング、エラーロギングの無効化などのセキュリティ設定を行うためにも使用されます。

WMIは、企業内で定期的に発生するタスクとして、ネットワーク上のすべてのマシンを容易に管理する必要のある管理者にとって重要なツールです。このような管理は、IT部門の正常な運用にとって不可欠であるため、WMIを日常業務から削除することは不可能です。

■WMIがファイルレス攻撃に使われる理由

悪意ある目的のためにWMIを利用した最も初期の最も主流の例としては、Stuxnetが挙げられます。それ以降、WMIは、偵察、アンチウイルス検知、コード実行、仮想マシンの検知、ラテラルムーブメント、パーシステンス、データの盗み出しなどを行うために、攻撃者によって頻繁に採用されてきました。

攻撃者がファイルレス攻撃にWMIを使用する理由としては、次のことが挙げられます。

  • デフォルトでインストールされる:WMIはWindows環境にデフォルトでインストールされます。
  • 信頼されており頻繁に使用される:システム管理者はWMIを頻繁に利用しており、かつそれを信頼しています。WMIが企業環境で実行されているのを目にすることは珍しくありません。
  • Systemプロセスとして実行される:パーマネントなWMIイベントサブスクリプションはSYSTEMプロセスとして実行されるため、より高い信頼性を提供します。
  • 容易にトリガされる:ほとんどすべてのオペレーティングシステムアクションが、WMIイベントをトリガできます。このため、オペレーティングシステムアクションとWMIを組み合わせて使用することは、驚くほど簡単です。

ファイルレス攻撃でのWMIの使用に関する詳細については、WMIを悪用したパーシステントで非同期のファイルレスバックドアの構築をご覧ください。

■WMIを利用した実際の攻撃例

  • GandCrabs Evasive Infection Chain:2019年に、サイバーリーズンのNocturnusチームは、日本を拠点とする国際的な企業に対する攻撃を検知し、その阻止に成功しました。この攻撃は、ペイロードを復号化するトリガとして悪意あるマクロを使用していたほか、環境変数を設定するためにWMIオブジェクトを使用していました。また、この攻撃は、標的マシンを完全に人質に取るものでした。ランサムウェアGandCrabは、世界中のランサムウェア感染の40%で使用されています。
  • Adobe Worm Faker、カスタマイズされたペイロードを配信:2019年に、サイバーリーズンのNocturnusチームは、標的マシンに応じて行動を動的に変更するアクティブなマルウェアを発見しました。この攻撃は、WMIメソッドを使用することで、標的マシンに関する情報や、標的マシン上にある既存のアンチウイルス製品に関する情報を収集していました。この攻撃の主な目的は、財務データやパスワードのような顧客情報を抽出することでした。
  • Operation Soft Cell:2019年に、サイバーリーズンのNocturnusチームは、世界中の電気通信事業者を標的とする大規模な攻撃を発見しました。この攻撃は、WMIコマンドを使用することで、ネットワーク全体でのラテラルムーブメントを実施していました。また、この攻撃は、発見される前に、数年間にわたって通信事業者から通話記録のようなデータを抽出していました。
  • エクスプロイトキットShadeが新たな領域に転身: 2019年に、サイバーリーズンのNocturnusチームは、Spelevoという名前のエクスプロイトキットが出回っているのを確認しました。この攻撃は、WMIを使用することで、そのペイロードの実行を成功させていました。また、この攻撃は、クリック詐欺を実施し、そのランサムウェアのルーツからの逸脱を可能にするためにも利用されていました。
.NETフレームワーク

.NETは、Microsoftが作成したオープンソースのフレームワークであり、また汎用的で広く利用される編集可能な機能でもあります。.NETにはCommon Language Runtimeおよび.NET Framework Class Libraryという2つの主なコンポーネントがあり、開発者はこれらを組み合わせることでアプリケーションを作成します。.NET向けにかかれたプログラムは、ソフトウェア環境であるCommon Language Runtime内で実行されます。.NET は、2000年末にベータ版が初めてリリースされて以来、単なるフレームワークとしてだけでなく、Web、モバイル、デスクトップの各アプリケーションをはじめ、より特殊なアプリケーションモデルを構築するためのオープンソースの開発者向けプラットフォームとして人気を獲得していました。

■.NETの本来の使用目的

.NETは、広範な種類のアプリケーションを開発するためにMicrosoftにより構築されたフレームワークです。.NETは、開発者が頻繁に利用し、かつそれに基づいて構築を行う機能のインフラストラクチャへのアクセスを提供します。.NETは、C#、VB.NET、Shop、C++、F#を含む複数のプログラミング言語で利用できます。また、.NETは、Windowsベースのアプリケーション、クラウドアプリケーション、人工知能(AI)アプリケーションの作成をはじめ、クロスプラットフォームアプリケーションの作成にも使用されます。

たとえば、.NETを使うと、ネットワーク上の別のIPアドレスに対してpingを行うことや、新しいプロセスの作成が行えます。また、.NETは、メモリの割り当て、新しいスレッドの作成、シェルプログラムの作成にも利用できます。これらは、アプリケーション内で.NETを使用する膨大な数の方法のうち、ほんの一例に過ぎません。

■.NETがファイルレス攻撃に使われる理由

.NETは非常に優れたフレームワークです。.NETアプリケーションは、複数のプラットフォームやアーキテクチャ上で実行できます。また、.NETは開発にかかる時間を短縮するほか、開発者がコアなマシン機能に簡単にアクセスできるようにします。また、大局的に見るならば、PowerShellは.NETフレームワーク上で構築されています。したがって、.NETがなければ、PowerShellも存在しないことになります。

しかし、.NETは、PowerShellとは無関係に、ファイルレス攻撃で利用されることもよくあります。攻撃者がファイルレス攻撃に.NETを使用する理由としては、次のことが挙げられます。

  • デフォルトでインストールされる:.NETはWindows環境にデフォルトでインストールされます。
  • 信頼されており頻繁に使用される:.NETには。それに関連する開発者のコミュニティが存在しており、信頼されており頻繁に使用される非常に多くの数のアプリケーションが.NETを通じて作成されています。このフレームワークを日常業務から取り除くことは簡単ではありません。
  • 時間を短縮できる:.NETを使うと、実行したい多くの共通タスクをより容易に実現できます。これは、同フレームワークが、攻撃者がシステムとの対話に利用できる数多くの機能を提供しているからです。
  • 実装が容易:.NETは使いやすいフレームワークです。開発者が正規のアプリケーションを開発できるように、非常に多くのドキュメントが提供されています。これは裏を返せば、攻撃者が独自の目的に利用できる情報も豊富に提供されていることを意味します。

■.NETを利用した実際の攻撃例

  • 日本を標的としたNew Ursnif Variant:2019年に、サイバーリーズンのNocturnusチームは、猛威を振るったトロイの木馬であるUrsnifの機能を強化した、Ursnifの新しいバリアントを発見しました。このバリアントは、PowerShellと共にファイルレス手法を使用することで、標的マシン上の言語設定をチェックしていました。PowerShellコマンドは、.NETフレームワークを利用する悪意あるマクロによって実行されていました。この攻撃は、特に銀行の顧客を標的として、メールクライアントからのデータや、ブラウザ内に保存されている電子メールのクレデンシャルを盗み出すものでした。
  • Sodinokibi:ランサムウェアの皇太子:2019年に、サイバーリーズンのNocturnusチームは、新しいタイプのランサムウェアであるSodinokibiを分析しました。この攻撃はPowerShellと.NETを利用することで、マルウェアをロードして実行していました。また、この攻撃は、ランサムウェアの導入にも利用されており、その結果、組織や個人に重大な被害をもたらしていました。
マクロ

Microsoft Officeでは、 頻度の多いタスクを自動化するために、マクロが使われます。マクロは通常、Wordの文書やExcelのスプレッドシート内で、1つのタスクを自動的に実行するためにまとめられた一連のコマンドとして作成されます。また多くのマクロは、Visual Basic for Applicationsを使用して作成されており、ソフトウェア開発者を含むあらゆるタイプのユーザーがマクロを作成できます。

■マクロの本来の使用目的

マクロは非常に有益な機能であり、特にMicrosoft Excel文書内で使用する場合に便利です。繰り返し実行されるタスクはすべて、マクロを使って自動化できます。たとえば、経理担当者が毎月、すべての 未払いの顧客アカウントに関する報告書を作成する必要がある場合、マクロを使ってこのタスクを自動化することで、未払いのアカウントを自動的にリストしてマークすることができるようになります。これにより、経理担当者が同作業に費やす時間を短縮できます。このような例は、企業環境において頻繁に発生します。

■マクロがファイルレス攻撃に使われる理由

ファイルレス攻撃にとってマクロを使用することは、非常に便利な手段です。なぜなら、マクロは、ユーザーを騙すためのフィッシング攻撃やソーシャルエンジニアリング手法と簡単に組み合わせることができるからです。企業内でMicrosoft WordやExcelの文書を受け取ることは、非常によくあることです。ほとんどの個人は、自分の会社内のユーザーや、潜在的な見込み客から送られてきたMicrosoft Word文書を躊躇なしにオープンするでしょう。

悪意あるマクロは、PowerShellのインスタンスの実行を含む、各種のタスクを実行できます。たとえば、攻撃者は、マクロ内でPowerShellを使用することで、悪意あるペイロードのダウンロードを含む各種のタスクを実行できます。

攻撃者がファイルレス攻撃にマクロを使用する理由としては、次のことが挙げられます。

  • デフォルトでインストールされる:Microsoft Officeにはデフォルトでマクロを使用する機能が備わっています。ただし、マクロはデフォルトでは有効になりません。
  • 信頼されており頻繁に使用される:企業ではMicrosoft Officeを頻繁に使用しており、かつソフトウェアを信頼しています。Microsoft WordやExcel文書を受け取るようにすることは、珍しくありません。
  • 実装が容易:マクロの作成方法に関しては非常に多くのドキュメントが存在しており、Microsoftは、技術的なバックグラウンドにかかわらず誰もがマクロを利用できるようにするために、マクロの実装を意図的に容易にしています。
  • オペレーティングシステムに依存しない:マクロは特定のアプリケーション(通常はMicrosoft WordまたはExcel)を念頭に置いて実装されます。これは、マクロが広い意味でオペレーティングシステムに依存しないことを意味します。つまり、裏を返せば、Microsoft WordまたはExcelが利用可能ならば、あらゆるオペレーティングシステムを稼働させているコンピュータを、悪意あるマクロを通じて感染させることができます。

■マクロを利用した実際の攻撃例

  • 日本を標的としたNew Ursnif Variant:2019年に、サイバーリーズンのNocturnusチームは、猛威を振るったトロイの木馬であるUrsnifの機能を強化した、Ursnifの新しいバリアントを発見しました。このバリアントは、PowerShellと共にファイルレス手法を使用することで、標的マシン上の言語設定をチェックしていました。PowerShellコマンドは、.NETフレームワークを利用する悪意あるマクロによって実行されていました。この攻撃は、特に銀行の顧客を標的として、メールクライアントからのデータや、ブラウザ内に保存されている電子メールのクレデンシャルを盗み出すものでした。
  • 3つの脅威:Emotet、TrickBotの導入によりデータを盗み出しRyukを拡散:2019年に、サイバーリーズンのNocturnusチームは、3つの異なる種類のメジャーなマルウェアであるEmotet、TrickBot、Ryukを使用した脅威が、複数の顧客に影響を与えていたことを発見しました。このバリアントは、悪意あるマクロを使用することで、EmotetのペイロードをダウンロードするPowerShellコマンドを実行していました。また、この攻撃は、幅広い種類の機密データを抽出するだけでなく、ランサムウェアRyukを投下することで、さらなる被害を引き起こしていました。
  • TA505による金融企業を標的とした攻撃:2019年に、サイバーリーズンのNocturnusチームは、金融機関に対する綿密に計画された攻撃を発見しました、このバリアントは、悪意あるマクロを利用することで、リモートのコマンドおよび制御サーバーに接続するWindowsプロセスを実行していました。また、この攻撃は、システム上にバックドアを作成することで、それを通じて可能な限り多くのデータを密かに抽出していました。
  • GandCrabs Evasive Infection Chain:2019年に、サイバーリーズンのNocturnusチームは、日本を拠点とする国際的な企業に対する攻撃を検知し、その阻止に成功しました。この攻撃は、ペイロードを復号化するトリガとして悪意あるマクロを使用していたほか、環境変数を設定するためにWMIオブジェクトを使用していました。また、この攻撃は、標的マシンを完全に人質に取るものでした。ランサムウェアGandCrabは、世界中のランサムウェア感染の40%で使用されています。

ファイルレスマルウェアの検知と阻止が困難である理由

ファイルレスマルウェアは、企業のプロフェッショナル達の日常的なワークフローの一部となっているツールを利用しています。攻撃者は、自分達が利用している一連のツールが、すべてのWindowsマシンにプリインストールされており、ツールが企業の日々の業務にとって不可欠であることを認識しています。また、ファイルレスマルウェアは、他のマルウェアに比べてディスク上のファイル数が少ないという特徴があります。

これは、シグネチャベースの防止および検知方法ではファイルレスマルウェアを特定できないことを意味します。このため、アナリストやセキュリティ製品にとって、当該ツールが悪意ある目的に使用されているか、それとも正規の日常的な活動のために利用されているかを判断することが非常に難しくなっています。アナリストは、LOLBinsを仕事で特定できるようになるためには、各自の環境を徹底的に把握することが必要となります。

ファイルレスマルウェア攻撃が流行するようになった理由としては、上記のことが考えられます。我々は、将来ファイルレスマルウェア攻撃がより一般的になると予想しています。その理由としては、攻撃者がファイルレスマルウェア攻撃を今後も反復し続け、自らの手法をコミュニティで共有するようになることや、攻撃者がmalware-as-a-serviceモデルに基づいてこのタイプのマルウェアを開発する可能性があることが挙げられます。

我々はいかにして、これらの攻撃に関するこのようなディープな可視性を確保できたのでしょうか?当社のNocturnusは、サイバーリーズンが提供するワールドクラスのEDRを使用しました。我々がいかにしてそれを達成したかを知りたい方は、当社のホワイトペーパー「SIEMとEDRが担うべき正しい役割」をお読みください。

ホワイトペーパー「SIEMとEDRが担うべき正しい役割」

このホワイトペーパーは、SIEMおよびEDRの両テクノロジーの相互補完的な利用に関する論理的根拠を確立することを目的としており、SIEM、EDR、およびSOARのカテゴリーのいずれかに属しているユースケースを紹介するほか、それらすべてのカテゴリー間における統合やコラボレーションについても説明します。
https://www.cybereason.co.jp/product-documents/white-paper/3436/

ホワイトペーパー「SIEMとEDRが担うべき正しい役割」