Windows Tools

Microsoft は Sysmon 15 をリリースし、保護されたプロセスに変換し、実行可能ファイルの作成時にログを記録する新しい「FileExecutableDetected」オプションを追加しました。

Sysmon (またはシステム モニター) に詳しくない方のために説明すると、これは、悪意のあるアクティビティや不審なアクティビティを監視してブロックし、イベントを Windows イベント ログに記録できる無料の Microsoft Sysinternals ツールです。

デフォルトでは、Sysmon は新しいプロセスの作成やプロセスの終了などの基本的なイベントを監視します。ただし、ファイルの削除、Windows クリップボードの変更、ファイルのシュレッディングの検出とブロックなど、さまざまな動作を監視できる高度な構成ファイルを作成することは可能です。

ユーザーは、Sysmon スキーマ内のディレクティブの完全なリストを見つけることができます。これは、コマンド ラインで sysmon -s コマンドを実行することで表示できます。

昨日、Microsoft は Sysmon 15.0 をリリースしました。これには 2 つの新機能が含まれています。保護されたプロセスに変えることによるプログラムの強化と、監視対象システム上で実行可能ファイルが作成されたことを検出する機能です。

Sysmon は保護されたプロセスになりました

Sysmon は悪意のある動作を検出するためによく使用されるため、ソフトウェアを改ざんしたり無効にしたりすることが脅威アクターにとって最大の利益となります。

このリリースでは、Microsoft は Sysmon.exe 実行可能ファイルを保護されたプロセスに変換し、悪意のあるコードがプロセスに挿入されるのを防ぎます。

「Windows 8.1 では、保護されたサービスという新しい概念が導入され、マルウェア対策のユーザー モード サービスを保護されたサービスとして起動できるようになりました」と、この機能に関するMicrosoft の記事で説明されています。

「サービスが保護されたものとして起動された後、Windows はコードの整合性を使用して、信頼できるコードのみが保護されたサービスに読み込まれることを許可します。また、Windows は、管理プロセスからのコード インジェクションやその他の攻撃からこれらのプロセスを保護します。」

Sysmon が起動された後、以下に示すように、Process Explorer を使用してそのセキュリティ プロパティを調べると、それが保護されたプロセスであることがわかります。

PPL プロセスとして実行される Sysmon
PPL プロセスとして実行される Sysmon
ソース:

Process Explorer に基づいて、Sysmon は PPL プロセス ( PROTECTED_ANTIMALWARE_LIGHT ) として実行されます。これについては、Elastic によるこの記事で詳しく説明されています。

新しい実行可能ファイルの検出

System 15.0 では、Sysmon スキーマもバージョン 4.90 にアップグレードされ、監視対象デバイス上での実行可能ファイルの作成を検出する「FileExecutableDetected」構成オプションが含まれるようになりました。

    <event name="SYSMONEVENT_FILE_EXE_DETECTED" value="29" level="情報" template="実行可能ファイルが検出されました" rulesname="FileExecutableDetected" version="5">
      <data name="ルール名" inType="win:UnicodeString" outType="xs:string" />
      <data name="UtcTime" inType="win:UnicodeString" outType="xs:string" />
      <data name="ProcessGuid" inType="win:GUID" />
      <data name="プロセスId" inType="win:UInt32" outType="win:PID" />
      <data name="ユーザー" inType="win:UnicodeString" outType="xs:string" />
      <data name="画像" inType="win:UnicodeString" outType="xs:string" />
      <data name="ターゲットファイル名" inType="win:UnicodeString" outType="xs:string" />
      <data name="ハッシュ" inType="win:UnicodeString" outType="xs:string" />
    </イベント>

たとえば、新しい FileExecutableDetected ディレクティブを使用して、C:ProgramData フォルダーおよび C:Users フォルダーの下に作成された新しい実行可能ファイルを検出するには、次の構成ファイルを使用できます。

<Sysmon schemaversion="4.90">
  <!-- すべてのハッシュをキャプチャ -->
  <ハッシュアルゴリズム>MD5、SHA256</ハッシュアルゴリズム>
  <イベントフィルタリング>
    <!-- 実行可能ファイルの作成をログに記録します -->
    <FileExecutableDetected onmatch="include">
    <TargetFilename 条件="begin with">C:ProgramData</TargetFilename>
        <TargetFilename 条件="begin with">C:Users</TargetFilename>
    </FileExecutableDetected>
  </イベントフィルタリング>
</シスモン>

Sysmon を起動し、上記の構成ファイルを使用するように指示するには、 sysmon -iコマンドを実行し、構成ファイルの名前を渡します。

この例では、構成ファイルの名前はsysmon.confなので、 管理コマンド プロンプトから次のコマンドを使用して Sysmon を起動します。

sysmon -i sysmon.conf

Sysmon が開始されると、ドライバーがインストールされ、バックグラウンドで静かにデータが収集されます。

すべての Sysmon イベントは、イベント ビューアーの「 Applications and Services Logs/Microsoft/Windows/Sysmon/Operational 」に記録されます。

FileExecutableDetected 機能を有効にすると、C:ProgramData または C:Users フォルダー (およびそのサブフォルダー) に新しい実行可能ファイルが作成されると、Sysmon は実行可能ファイルが生成され、ルールに一致すると、Sysmon はその実行可能ファイルをブロックします。ファイルを作成し、イベント ビューアーに「イベント 29、ファイル実行可能ファイルが検出されました」エントリを生成します。

Sysmon イベント 29 - 実行可能ファイルが検出されました
Sysmon イベント 29 – 実行可能ファイルが検出されました
ソース:

作成されたイベント ログ エントリには、以下で説明する多くの貴重な情報が含まれます。

  • UtcTime : イベントが検出された時刻。
  • ProcessID : 実行可能ファイルを作成しようとしているプロセスの PID。
  • ユーザー: ファイルを作成するプロセスに関連付けられたユーザー。
  • 画像: ファイルを作成するプログラムのファイル名。
  • TargetFilename : 作成された実行可能ファイル。注: テストでは、ファイルは常に一時ファイル名で表示されました。
  • ハッシュ: 作成中のファイルのハッシュ。表示されるハッシュは、HashAlgorithms 構成設定によって異なります。

この新機能の使用に関するさらに詳しい情報とクリエイティブなヒントについては、この新しいバージョンの Sysmon に関する Olaf Hartong の優れた記事を読むことを強くお勧めします。

この機能を使用して既知のマルウェアまたはハッキング ツールの実行可能ファイルが作成されたときを検出する、事前に作成された Sysmon 構成ファイルが必要な場合は、セキュリティ研究者 Florian Roth のSysmon configを使用できます。

シズモンについて詳しく見る

Sysmon は、組織のニーズを満たす構成ファイルを作成できる大量のディレクティブを備えた高度なネットワーク監視ツールです。

プログラムは複雑であるため、 Sysmon のドキュメントを読み、構成オプションを試して、さまざまなディレクティブがどのように機能するかを確認することを強くお勧めします。

残念ながら、Sysmon は十分に文書化されたプログラムではないため、ユーザーは機能をテストし、どのようなイベントがイベント ログに書き込まれるかを確認するために試行錯誤を行う必要があります。

幸いなことに、Sysmon は構成が間違っている構成ファイルをロードしないため、Sysmon をロードするときに「構成ファイルが検証されました」というメッセージが表示されれば、少なくとも正しい方向に進んでいることがわかります。

Sysmon に関するOlaf Hartong のブログ投稿もお読みください。新機能がリリースされるたびに文書化されています。

最後に、管理者は、 Florian RothおよびSwiftOnSecurityからの事前に作成された Sysmon 構成ファイルを使用または読み取り、ディレクティブを使用してマルウェアをブロックする方法を確認できます。