正規のプログラムやOSの機能を使って害を為すタイプのサイバー攻撃を、環境寄生型(Living off the Land:LotL)攻撃と言います。この種の攻撃は以前からありますが、LotLの影響を受けやすいソフトウェアが防御側で把握されてきたことを受け、サイバー犯罪者たちは新たな工夫を凝らしてきています。RSA Conference 2021にて、リサーチャーのジャン=イアン・ブタン(Jean-Ian Boutin)氏とスザナ・ハロムソヴァ(Zuzana Hromcova)氏が、そうした「イノベーション」の一つ、Windows XPの正規コンポーネントおよび正規プログラムを使用した手法について発表しました(英語)。
環境寄生型(LotL)攻撃と、脆弱なWindows XPコンポーネント
ブタン氏とハロムソヴァ氏は、サイバー犯罪グループInvisiMoleの活動を調査する中で、何年も前にサポートが終了したWindows XPのファイルが、InvisiMoleのツールの存在隠蔽に利用されていることに気付きました(リンク先は英語)。このようなファイルを、両氏は「VULNBin」と総称しています。セキュリティ界隈ではLotL攻撃に使用されるファイルを「LOLBin」と呼びますが、それと似た名前です。
もう使われなくなった古いファイルを標的のコンピューターへダウンロードするには、当然ながら、そのコンピューターへのアクセス権が必要です。一般的にVULNBinは、実際に侵入するためのものではなく、標的システム内で気付かれることなく永続性を確立するために使用されます。
古いプログラムとシステムコンポーネントを使った攻撃の具体例
管理者権限を入手できなかった場合、InvisiMoleの攻撃者が取る可能性のある方法として、既知のバッファオーバーフロー脆弱性を持つ古いビデオプレイヤーを使用して永続性を確立する方法があります。攻撃者はタスクスケジューラから、このプレイヤーを呼び出す定期的なタスクを作成します。プレイヤーの構成ファイルは、この脆弱性を悪用して攻撃の次段階に必要なコードをロードするように改変されています。
管理者権限を入手できた場合は、また別の手段を展開可能となります。正規のシステムコンポーネントであるsetupSNK.exe、Windows XPライブラリのwdigest.dll、ライブラリの実行に必要なRundll32.exe(これも古いシステムのもの)を使用した手段です。続いて攻撃者たちは、ライブラリがメモリにロードしたデータを操作します。このライブラリはASLRの適用前に作成されたものなので、ライブラリがロードされるメモリ内のアドレスを攻撃者たちは分かっています。
悪意あるペイロードの大半は、暗号化された形でレジストリに保管されます。攻撃に使われるライブラリや実行ファイルは、すべて正規のファイルです。したがって、内なる敵の存在を示すものは、プレイヤー設定が保存されたファイルと、この古いライブラリに対応する小さなエクスプロイトだけです。セキュリティシステムが「怪しい」と判断するには、十分ではありません。
安全のために
古いファイルや旧式のシステムコンポーネント(特に正規のパブリッシャーによって署名されたもの)をサイバー犯罪者に使われてしまうのを防ぐには、このようなファイルをリストアップするところから始めるとよいでしょう。こうすることで、このようなファイルを既存のセキュリティシステムでブロックするか、(何らかの理由でブロックできない場合には)少なくとも追跡できるようになります。
リストアップできるまでの間は、EDRクラスのソリューションを使用して、以下の対策をとりましょう。
- システムフォルダー外にあるWindowsコンポーネントの実行を検知し、ブロックする。
- 署名されていないシステムファイルを特定する(一意のデジタル署名の代わりにカタログファイルを使って署名されているシステムファイルもありますが、システムに移動されたシステムファイルが必須である.catファイルを伴っていない場合は署名されていないと見なされます)。
- 各実行ファイルのバージョンとOSのバージョンの違いを検知するルールを作成する。
- その他アプリケーションについても同様のルールを作る(例:10年以上前にコンパイルされたファイルの実行をブロックするルール)。
先にも述べたとおり、攻撃者が標的のコンピューターに何かをダウンロードするに当たっては、コンピューターへのアクセス権が必要です。VULNBinをワークステーションに入り込ませないためには、インターネット接続するすべてのデバイスにセキュリティ製品をインストールし、最新のサイバー脅威に関する従業員の意識を高め、リモートアクセスツールを注意深く監視してください。