システム深部に潜む脅威:正規機能を悪用するLiving off the Land攻撃の手口、技術的背景と対策
はじめに:見過ごされがちなシステム内部の脅威
近年、サイバー攻撃の手法はますます巧妙化しており、従来のマルウェア対策だけでは防ぎきれない脅威が増加しています。その中でも特に検出が困難で、組織にとって深刻なリスクとなりうるのが、「Living off the Land(LotL)」と呼ばれる攻撃手法です。
LotL攻撃とは、標的システムの正規のツールや機能を悪用して攻撃活動を行う手法です。例えば、WindowsであればPowerShell、WMI (Windows Management Instrumentation)、BITS (Background Intelligent Transfer Service)、Schtasks (Task Scheduler) といった標準搭載されているツールが悪用されます。攻撃者はこれらの正規機能を使うことで、新たに悪意のあるファイルをシステムに持ち込むことなく、偵察、横展開、情報窃取、永続化といった目的を達成しようとします。
この手法が問題となるのは、正規ツールが悪用されるため、従来のファイルベースのマルウェア対策やシグネチャベースの検出では見逃されやすい点です。システム管理者やセキュリティ担当者にとって馴染みのあるツールが、実は内部で悪用されているという状況は、監視や分析を非常に困難にします。本記事では、このLiving off the Land攻撃の技術的な仕組みと代表的な手口、そして効果的な検知・防御策について詳しく解説いたします。
Living off the Land攻撃の代表的な手口とその技術的背景
LotL攻撃は多岐にわたる正規ツールを悪用しますが、ここでは代表的なものをいくつかご紹介し、その技術的な背景を探ります。
PowerShellの悪用
PowerShellはWindows環境で高度なシステム管理を行うための強力なスクリプト環境です。攻撃者はこのPowerShellを悪用し、ファイルレスで悪意のあるコードを実行したり、リモートシステムへのアクセスを試みたりします。
技術的背景としては、PowerShellスクリプトはディスクに書き込まれることなくメモリ上で直接実行されることが多いため、従来のアンチウイルス製品によるファイルスキャンを回避しやすい点が挙げられます。また、攻撃者はスクリプトコードを難読化することで、静的なシグネチャによる検出をさらに困難にします。例えば、変数名の変更、文字列の連結・分割、エンコード(Base64など)や暗号化を組み合わせることで、一見無害なコードに見せかけることが可能です。
攻撃者はPowerShellを用いて以下のような活動を行うことがあります。 * 情報収集(システム情報、ネットワーク構成、ユーザー情報など) * リモートコマンド実行 * ファイルのダウンロード・アップロード(BITSなどを併用) * システム設定の変更 * 永続化メカニズムの確立
WMI (Windows Management Instrumentation) の悪用
WMIは、ローカルおよびリモートシステムを管理するためのインターフェイスを提供するWindowsの機能です。攻撃者はWMIを悪用して、システムの情報を収集したり、リモートでコードを実行したり、さらにはイベントトリガーを利用して永続化を図ったりします。
WMIの悪用例としては、WMIイベントコンシューマを設定して、特定のシステムイベント発生時にスクリプトを実行させるといった手法があります。これは、マルウェアのファイルが存在しなくても、システム起動時や特定のアクション発生時に自動的に攻撃コードが実行されるように仕掛けることができるため、検出が非常に難しい永続化手法となり得ます。
BITS (Background Intelligent Transfer Service) の悪用
BITSは、システムがアイドル状態のときにファイル転送を行うためのWindowsサービスです。攻撃者はこのBITSサービスを悪用して、コマンド&コントロール(C2)サーバーからマルウェア本体や追加ツールをダウンロードしたり、情報窃取の結果をアップロードしたりします。
BITSは正規のファイル転送メカニズムであり、一般的なHTTP/HTTPSプロトコルを使用するため、ネットワーク境界での検出が難しい場合があります。特にHTTPSを使用されると、通信内容の検査が困難になります。
Schtasks (Task Scheduler) の悪用
Task Schedulerは、指定した日時にプログラムやスクリプトを実行するためのWindows標準機能です。攻撃者はこの機能を利用して、悪意のあるコマンドやスクリプトを定期的に実行させることで、システムの再起動後も攻撃活動を継続させる(永続化)ために悪用します。
例えば、毎日特定の時刻にPowerShellスクリプトを実行するタスクを作成するといった手法は、システムにログインしたユーザーが意識しない形でバックグラウンドで攻撃活動を進めることが可能になります。
なぜLotL攻撃は有効なのか:技術的背景と検出の課題
LotL攻撃がサイバー攻撃において有効な手法として多用される背景には、いくつかの技術的な理由と検出上の課題があります。
- 正規ツール利用による検知回避: 前述の通り、攻撃者が使用するのはOSに標準搭載されている正規ツールです。これは、アンチウイルス製品などが「信頼できる」と判断しやすいバイナリであるため、シグネチャベースの検出やホワイトリストによる制限をすり抜けやすいという性質があります。
- ファイルレス実行: PowerShellスクリプトのようにメモリ上で直接実行される手法(ファイルレス攻撃)は、ディスク上のファイルをスキャンする従来のセキュリティ製品では検出が困難です。
- 難読化とエンコード: 攻撃者はスクリプトやコマンドライン引数を様々な方法で難読化・エンコードします。これにより、単純な文字列マッチングやシグネチャによる検出を回避し、人間による分析も困難にさせます。
- 通常のシステムアクティビティへの偽装: LotL攻撃で悪用されるコマンドや操作は、システム管理者や正規のアプリケーションが行う操作と区別がつきにくい場合があります。例えば、PowerShellスクリプトの実行自体はシステム管理者にとって日常的な操作です。悪意のある操作と正規の操作を区別するには、より深い分析やコンテキストの理解が必要になります。
- 分散性: 攻撃者は単一のツールだけでなく、複数の正規ツールや技術を組み合わせて攻撃を実行します。これにより、攻撃の全体像を把握し、関連性を追跡することが難しくなります。
Living off the Land攻撃に対する具体的な対策
LotL攻撃のような高度な脅威からシステムを守るためには、従来の対策に加えて、より進んだ技術的なアプローチと継続的な監視体制が必要です。
1. エンドポイントにおける活動の可視化とログ収集
LotL攻撃は正規ツールの実行として現れます。これらの活動を詳細に記録し、分析することが検知の第一歩です。
- PowerShellロギングの強化: PowerShellは、スクリプトブロックロギング、トランスクリプトロギング、モジュールロギングなどの機能を提供しています。これらの機能を有効にすることで、実行されたPowerShellスクリプトの内容やコマンド、引数を詳細に記録できます。特にスクリプトブロックロギングは、難読化されたスクリプトが実行時に復元された内容を記録するため、検知に非常に有効です。
- Sysmon (System Monitor) の活用: Microsoft Sysinternalsが提供するSysmonは、プロセスの生成、ネットワーク接続、ファイル作成、レジストリ変更など、システム上の詳細なアクティビティをイベントログとして記録します。これにより、PowerShellやWMI、BITSなどの正規ツールが実行された際のコマンドライン引数、親プロセス、ネットワーク接続先といった豊富な情報を収集できます。Sysmonの設定ファイルを適切にチューニングすることで、不審な活動の痕跡を効率的に収集することが可能です。
- コマンドラインロギング: Windowsイベントログの設定で、プロセスの作成イベント(Event ID 4688)にコマンドラインを含めるように構成します。これにより、どのプロセスがどのようなコマンドライン引数で実行されたかを追跡できます。
これらのログデータを収集し、SIEM (Security Information and Event Management) やEDR (Endpoint Detection and Response) といったツールで一元管理し、相関分析を行う基盤を構築することが重要です。
2. 振る舞い検知と異常検知
シグネチャに頼るのではなく、正規ツールの「使い方」に注目し、通常の範囲から逸脱した振る舞いを検出するアプローチが有効です。
- EDRの導入: EDR製品は、エンドポイント上での詳細なアクティビティをリアルタイムに監視し、収集したデータから攻撃の兆候となりうる振る舞いを分析します。例えば、PowerShellが通常とは異なる引数で実行された、WMIが不審なイベントコンシューマを設定した、BITSが未知の外部IPアドレスと通信した、といった異常な振る舞いを検知できます。EDRは検知だけでなく、インシデント発生時の調査や対応(プロセスの隔離、ファイルの削除など)にも活用できます。
- ログ分析におけるユースケースの定義: 収集したログデータに対して、LotL攻撃の手法を模倣したパターンを検知するユースケース(ルール)を定義します。例えば、「System32以外のディレクトリからPowerShellが実行され、かつネットワーク通信が発生している」「WMIイベントコンシューマが作成され、かつBase64エンコードされたコマンドを含んでいる」といったルールを設定することで、不審な活動をアラートとして通知できます。
3. システム強化と権限管理
攻撃者が悪用しうる正規ツールの機能を制限したり、実行環境を強化したりすることも有効な防御策です。
- AppLocker/WDAC (Windows Defender Application Control) による実行制限: AppLockerやWDACを利用することで、許可されたアプリケーションやスクリプトのみが実行できるように制限できます。例えば、PowerShellスクリプトの実行を特定のディレクトリや信頼された発行元に限定することで、攻撃者が持ち込んだ悪意のあるスクリプトの実行を防ぐことが可能です。
- 最小権限の原則: ユーザーアカウントやサービスアカウントには、業務遂行に必要な最小限の権限のみを付与します。これにより、たとえアカウントが侵害されたとしても、攻撃者がシステム内で実行できる操作範囲を限定できます。特に、管理者権限が必要な操作については、不要なアカウントに与えないように徹底します。
- PowerShell Constrained Language Mode: PowerShellの制約付き言語モードを使用すると、PowerShellの機能を制限し、特定のコマンドレットの実行や.NETオブジェクトの利用を禁止することができます。これにより、PowerShellの強力な機能が悪用されるリスクを低減できます。
4. 脅威インテリジェンスの活用と継続的な学習
LotL攻撃の手法は常に進化しています。最新の攻撃トレンドや悪用されている正規ツール、難読化の手法などに関する脅威インテリジェンスを継続的に収集し、自組織のセキュリティ対策に反映させることが重要です。セキュリティコミュニティやベンダーからの情報を活用し、新たな手口に対応できるよう、検知ルールや防御設定を継続的に見直す必要があります。
まとめ:Living off the Land攻撃への包括的なアプローチ
Living off the Land攻撃は、システムの正規機能を悪用するため、従来のセキュリティ対策では見逃されやすい深刻な脅威です。この攻撃手法に対抗するためには、以下の要素を組み合わせた包括的なアプローチが必要です。
- 可視化の強化: PowerShellロギング、Sysmon、コマンドラインロギングなどを活用し、エンドポイントにおける正規ツールの活動を詳細に記録・収集する。
- 高度な検知: EDR製品の導入やログ分析における振る舞いベースの検知ルール(ユースケース)の定義により、不審な操作パターンを検出する。
- システム強化: AppLocker/WDACによる実行制限、最小権限の適用、PowerShellのセキュリティ設定などで、攻撃者が悪用しうる機能を制限する。
- 継続的な監視と分析: SIEM/EDR等で収集したログを継続的に監視し、専門家による分析を行う体制(SOC/MDRなど)を構築する。
- 最新情報の追跡: 脅威インテリジェンスを活用し、新たなLotLの手法に対応できるよう対策を継続的に更新する。
デジタル環境は常に変化し、サイバー攻撃の手法も進化し続けています。Living off the Land攻撃のような隠蔽性の高い脅威に対し、技術的な仕組みを理解し、適切な対策を講じることは、組織のセキュリティレベルを向上させる上で不可欠です。本記事が、皆様のデジタル詐欺対策の一助となれば幸いです。