Windows Defender ウイルス対策のログを収集する

以下でサポートされています。

このドキュメントでは、Bindplane を使用して Windows Defender Antivirus ログを Google Security Operations に取り込む方法について説明します。

Windows Defender ウイルス対策は、Microsoft Windows に組み込まれているマルウェア対策エンジンです。リアルタイムの脅威検出、スキャン結果、保護イベントログを提供します。Bindplane エージェントは、エクスポートされた Windows Defender イベントログ ファイルをローカル ファイル システムから直接収集します。

始める前に

次の前提条件を満たしていることを確認してください。

  • Google SecOps インスタンス
  • observiq-otel-collector サービスをサポートする Windows Server 2016 以降
  • プロキシの背後で実行している場合は、Bindplane エージェントの要件に従ってファイアウォール ポートが開いていることを確認します
  • Windows Defender ウイルス対策を実行している Windows エンドポイントへの管理者アクセス

Google SecOps の取り込み認証ファイルを取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [コレクション エージェント] に移動します。
  3. 取り込み認証ファイル をダウンロードします。Bindplane をインストールするシステムにファイルを安全に保存します。

Google SecOps のお客様 ID を取得する

  1. Google SecOps コンソールにログインします。
  2. [SIEM 設定] > [プロファイル] に移動します。
  3. [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。

Bindplane エージェントをインストールする

次の手順に沿って、Windows オペレーティング システムに Bindplane エージェントをインストールします。

Windows のインストール

  1. 管理者としてコマンド プロンプトまたは PowerShell を開きます。
  2. 次のコマンドを実行します。

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    
  3. インストールが完了するまで待ちます。

  4. 次のコマンドを実行して、インストールの内容を確認します。

    sc query observiq-otel-collector
    

サービスは RUNNING と表示されます。

その他のインストール リソース

その他のインストール オプションとトラブルシューティングについては、Bindplane エージェントのインストール ガイドをご覧ください。

ログを取り込んで Google SecOps に送信するように Bindplane エージェントを構成する

構成ファイルを探す

  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

構成ファイルを編集します。

  • config.yaml の内容全体を次の構成に置き換えます。

    receivers:
        filelog:
            include:
                - C:\Logs\defender-av\*.evtx
            start_at: beginning
    
    exporters:
        chronicle/windows_defender_av:
            compression: gzip
            creds_file_path: 'C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: WINDOWS_DEFENDER_AV
            raw_log_field: body
            ingestion_labels:
                env: production
    
    service:
        pipelines:
            logs/defender_av_to_chronicle:
                receivers:
                    - filelog
                exporters:
                    - chronicle/windows_defender_av
    

構成パラメータ

各プレースホルダを次のように置き換えます。

  • レシーバーの構成:

    • filelog: ディスクからログファイルを収集するためのレシーバー タイプ
    • include: モニタリングするファイルパスのリスト。Windows Defender イベントログをエクスポートする場所(C:\Logs\defender-av\*.evtx など)に設定します。
    • start_at: 既存のログを読み取る場合は beginning、新しいエントリのみを読み取る場合は end に設定します。
  • エクスポータの構成:

    • windows_defender_av: エクスポータのわかりやすい名前
    • creds_file_path: 取り込み認証ファイルのフルパス:
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • <customer_id>: 前の手順の顧客 ID
    • endpoint: リージョン エンドポイント URL:
      • 米国: malachiteingestion-pa.googleapis.com
      • ヨーロッパ: europe-malachiteingestion-pa.googleapis.com
      • アジア: asia-southeast1-malachiteingestion-pa.googleapis.com
      • 完全なリストについては、リージョン エンドポイントをご覧ください。
    • WINDOWS_DEFENDER_AV: Chronicle に表示されるログタイプ
    • ingestion_labels: YAML 形式の省略可能なラベル(例: env: production
  • パイプラインの構成:

    • defender_av_to_chronicle: パイプラインのわかりやすい名前

構成ファイルを保存する

  • 編集後、ファイルを保存します。
    • Windows: [ファイル> 保存] をクリックします。

Bindplane エージェントを再起動して変更を適用する

Windows で Bindplane エージェントを再起動するには:

  1. 次のいずれかのオプションを選択します。

    • 管理者としてコマンド プロンプトまたは PowerShell を開きます。
    net stop observiq-otel-collector && net start observiq-otel-collector
    
    • サービス コンソール:
      1. Win+R キーを押して「services.msc」と入力し、Enter キーを押します。
      2. observIQ OpenTelemetry Collector を見つけます。
      3. 右クリックして [再起動] を選択します。
  2. サービスが実行されていることを確認します。

    sc query observiq-otel-collector
    
  3. ログでエラーを確認します。

    type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
    

Windows Defender ウイルス対策のログ エクスポートを構成する

Windows Defender ウイルス対策のログは、Windows イベントログの Microsoft-Windows-Windows Defender/Operational に保存されます。Bindplane エージェントが収集できるように、これらのログをディスク上のファイルにエクスポートする必要があります。

  1. エクスポートされたログファイルを保存するディレクトリを作成します。

    mkdir C:\Logs\defender-av
    
  2. wevtutil を使用して Windows Defender ウイルス対策のイベントログをエクスポートします。

    wevtutil epl "Microsoft-Windows-Windows Defender/Operational" C:\Logs\defender-av\defender-av.evtx
    
  3. (省略可)Windows タスク スケジューラを使用して定期的なエクスポートをスケジュール設定します。

    $action = New-ScheduledTaskAction -Execute "wevtutil" -Argument 'epl "Microsoft-Windows-Windows Defender/Operational" C:\Logs\defender-av\defender-av.evtx /ow:true'
    $trigger = New-ScheduledTaskTrigger -RepetitionInterval (New-TimeSpan -Hours 1) -Once -At (Get-Date)
    Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "ExportDefenderLogs" -Description "Export Windows Defender AV logs for Bindplane agent"
    
  4. エクスポートされたログファイルが `C:\Logs\defender-av` に作成されていることを確認します。

  5. config.yaml の Bindplane エージェント include パスがエクスポート ディレクトリと一致していることを確認します。

UDM マッピング テーブル

ログフィールド UDM マッピング ロジック
OpcodeValue、ThreadID、Channel、engine_version、security_intelligence_version、network_realtime_inspection_engine_version、network_realtime_inspection_security_intelligence_version、rtp_state、oa_state、ioav_state、bm_state、antivirus_security_intelligence_age、antispyware_security_intelligence_age、last_quick_scan_age、last_full_scan_age、antivirus_security_intelligence_creation_time、antispyware_security_intelligence_creation_time、last_quick_scan_start_time、last_quick_scan_end_time、last_quick_scan_source、last_full_scan_start_time、last_full_scan_end_time、last_full_scan_source、product_status additional.fields 空でない場合は、ラベルマップ {key: フィールド名, value: {string_value: フィールド値}} と統合されます
metadata.description EventID に基づいてイベント固有の説明文字列に設定
metadata.event_type has_principal が true の場合は「SCAN_HOST」、それ以外の場合は「GENERIC_EVENT」に設定します。EventID が 1011、1116、1117 の場合は「SCAN_FILE」に設定します。
ProviderGuid metadata.product_deployment_id {} を削除した後の ProviderGuid の値
metadata.product_event_type EventID に基づいてイベント固有のプロダクト イベントタイプ文字列に設定
RecordNumber metadata.product_log_id 文字列として直接コピーされた値
platform_version metadata.product_version 値を直接コピー
FWLink metadata.url_back_to_product 値を直接コピー
metadata.vendor_name 「Microsoft」に設定
metadata.product_name 「Windows Defender AV」に設定
SourceModuleType observer.application 値を直接コピー
Domain、_domain principal.administrative_domain EventID 1116、1117 の grok を使用して検出ユーザーから抽出されたドメインまたは _domain の値
ホスト名 principal.hostname 値を直接コピー
プロセス名 principal.process.file.full_path EventID 1116、1117 の値が直接コピーされる
ProcessID principal.process.pid 値を直接コピー
SourceModuleName principal.resource.name 値を直接コピー
AccountType principal.user.role_description 値を直接コピー
AccountName principal.user.user_display_name 値を直接コピー
User、UserID、_account principal.user.userid User からの値。空でない場合は UserID。空の場合は、EventID 1116、1117 の grok を使用して Detection User から抽出された _account
SourceName security_result.about.resource.attribute.labels 空でない場合は、ラベルマップ {key: "SourceName", value: SourceName} と統合されます
security_result.action デフォルトでは「ALLOW」に設定されます。EventID 1116 の場合は「BLOCK」、EventID 1117 の場合は「QUARANTINE」に設定されます。
security_result.category EventID 1011、1116、1117 の場合は「SOFTWARE_MALICIOUS」に設定
ActivityID security_result.detection_fields ActivityID が空ではなく、かつ「-」でない場合は、detection_fields {key: "Activity ID", value: ActivityID} と統合されます。
EventID security_result.description 「EventID: %{EventID}」に設定
脅威名 security_result.rule_name EventID 1011、1116、1117 の値が直接コピーされる
Severity、Level、EventType security_result.severity 重大度が verbose|information|info の場合は LOW、warning|error の場合は MEDIUM、critical の場合は HIGH に設定します。重大度は Level(5|4 -> information、2|3 -> warning、1 -> critical)または EventType(ERROR -> %{severity}、INFO -> "INFORMATIONAL"、それ以外の場合は severity_details)から設定されます。
重大度名、重大度 security_result.severity_details EventID 1011、1116、1117 の重大度名、または ERROR または INFO 以外の EventType の重大度からの値
脅威名 security_result.summary EventID 1011、1116、1117 の値が直接コピーされる
カテゴリ名 security_result.threat_name EventID 1011、1116、1117 の値が直接コピーされる
FWLink security_result.url_back_to_product EventID 1011、1116、1117 の値が直接コピーされる
パス target.file.full_path EventID 1116、1117 の値が直接コピーされる
target.hostname EventID 1117 の場合は "" に設定されます
パス target.registry.registry_key EventID 1011 の値が直接コピーされました
EventRecordID event.idm.read_only_udm.metadata.product_log_id 変更履歴からマッピング
Product Version event.idm.read_only_udm.metadata.product_version 変更履歴からマッピング
ProviderGuid event.idm.read_only_udm.metadata.product_deployment_id 変更履歴からマッピング
Hostname event.idm.read_only_udm.principal.asset.hostname 変更履歴からマッピング
xmlns event.idm.read_only_udm.principal.url 変更履歴からマッピング
Threat Resource Path event.idm.read_only_udm.target.file.full_path 変更履歴からマッピング
Hashes event.idm.read_only_udm.target.file.sha1 変更履歴からマッピング
RenderingInfoLevel event.idm.read_only_udm.security_result.severity_details 変更履歴からマッピング
Action Name event.idm.read_only_udm.security_result.action_details 変更履歴からマッピング
Detection Time event.idm.read_only_udm.security_result.first_discovered_time 変更履歴からマッピング
Threat ID event.idm.read_only_udm.security_result.threat_id 変更履歴からマッピング
Remediation User event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Status Description event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Action ID event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Additional Actions ID event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Additional Actions String event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Category ID event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Detection ID event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Engine Version event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Error Code event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Error Description event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Execution ID event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Execution Name event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Origin ID event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Origin Name event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Post Clean Status event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Pre Execution Status event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Security Intelligence Version event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Severity ID event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Source ID event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
State event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Status Code event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Type ID event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Type Name event.idm.read_only_udm.security_result.detection_fields 変更履歴からマッピング
Level event.idm.read_only_udm.additional.fields 変更履歴からマッピング
Culture event.idm.read_only_udm.additional.fields 変更履歴からマッピング
Keywords event.idm.read_only_udm.additional.fields 変更履歴からマッピング
Opcode event.idm.read_only_udm.additional.fields 変更履歴からマッピング
Product Name event.idm.read_only_udm.additional.fields 変更履歴からマッピング
Provider Name event.idm.read_only_udm.additional.fields 変更履歴からマッピング
RenderingInfoMessage event.idm.read_only_udm.additional.fields 変更履歴からマッピング
Service event.idm.read_only_udm.additional.fields 変更履歴からマッピング
Task event.idm.read_only_udm.additional.fields 変更履歴からマッピング
Version event.idm.read_only_udm.additional.fields 変更履歴からマッピング
Security UserID event.idm.read_only_udm.additional.fields 変更履歴からマッピング
EventID event.idm.read_only_udm.security_result.summary 変更履歴からマッピング

変更履歴

このパーサーの変更ログを表示する

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。