Cylance PROTECT のログを収集する
このドキュメントでは、Bindplane を使用して Cylance PROTECT ログを Google Security Operations に取り込む方法について説明します。Logstash パーサーコードは、Cylance PROTECT Syslog メッセージを統合データモデル(UDM)に変換します。syslog メッセージからフィールドを抽出し、正規化して UDM フィールドにマッピングし、脅威の重大度とカテゴリ情報でデータを拡充します。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス
- Windows 2016 以降、または
systemd
を使用する Linux ホスト - プロキシの背後で実行されている場合、ファイアウォール ポートが開いている
- Cylance PROTECT への特権アクセス
Google SecOps の取り込み認証ファイルを取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [コレクション エージェント] に移動します。
- Ingestion Authentication File をダウンロードします。Bindplane をインストールするシステムにファイルを安全に保存します。
Google SecOps のお客様 ID を取得する
- Google SecOps コンソールにログインします。
- [SIEM 設定] > [プロファイル] に移動します。
- [組織の詳細情報] セクションから [お客様 ID] をコピーして保存します。
Bindplane エージェントをインストールする
Windows のインストール
- 管理者として コマンド プロンプトまたは PowerShell を開きます。
次のコマンドを実行します。
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux のインストール
- root 権限または sudo 権限でターミナルを開きます。
次のコマンドを実行します。
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
その他のインストール リソース
その他のインストール オプションについては、インストール ガイドをご覧ください。
Syslog を取り込んで Google SecOps に送信するように Bindplane エージェントを構成する
- 構成ファイルにアクセスします。
config.yaml
ファイルを見つけます。通常、Linux では/etc/bindplane-agent/
ディレクトリに、Windows ではインストール ディレクトリにあります。- テキスト エディタ(
nano
、vi
、メモ帳など)を使用してファイルを開きます。
config.yaml
ファイルを次のように編集します。receivers: udplog: # Replace the port and IP address as required listen_address: "0.0.0.0:514" exporters: chronicle/chronicle_w_labels: compression: gzip # Adjust the path to the credentials file you downloaded in Step 1 creds_file_path: '/path/to/ingestion-authentication-file.json' # Replace with your actual customer ID from Step 2 customer_id: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization ingestion_labels: log_type: 'CYLANCE_PROTECT' raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog exporters: - chronicle/chronicle_w_labels
自社のインフラストラクチャでの必要性に応じて、ポートと IP アドレスを置き換えます。
<customer_id>
は、実際の顧客 ID に置き換えます。/path/to/ingestion-authentication-file.json
の値を、Google SecOps の取り込み認証ファイルを取得するで認証ファイルを保存したパスに更新します。
Bindplane エージェントを再起動して変更を適用する
Linux で Bindplane エージェントを再起動するには、次のコマンドを実行します。
sudo systemctl restart bindplane-agent
Windows で Bindplane エージェントを再起動するには、サービス コンソールを使用するか、次のコマンドを入力します。
net stop BindPlaneAgent && net start BindPlaneAgent
Cylance Protect で Syslog を構成する
- Cylance 管理コンソールにログインします。
- [設定> アプリケーション] に移動します。
- [Syslog/SIEM] チェックボックスをオンにします。
- すべてのイベントを選択します。
- 次の構成の詳細を指定します。
- SIEM: [Syslog] を選択します。
- Protocol: [UDP] を選択します。
- [2 KB を超えるメッセージを許可する] チェックボックスをオンにします。
- IP/ドメイン: Bindplane エージェントの IP アドレスを入力します。
- ポート: Bindplane エージェントのポート番号を入力します(UDP の場合は
514
など)。 - ファシリティ: アプリケーション ロギングのタイプを選択します。
- [Test Connection] をクリックします。
- [保存] をクリックします。
UDM マッピング テーブル
ログフィールド | UDM マッピング | ロジック |
---|---|---|
エージェントのバージョン | metadata.product_version | Agent Version: <value> から抽出された値 |
Cylance スコア | security_result.severity_details | Cylance Score: <value> から抽出された値 |
security_result.severity | 次のロジックに基づいてマッピングされます。 - HIGH: Cylance スコアが 67 より大きい場合 - MEDIUM: Cylance スコアが 33 より大きい場合 - LOW: Cylance スコアが 33 以下の場合 |
|
検出者 | security_result.detection_fields.value | Detected By: <value> から抽出された値 |
デバイス ID | principal.asset_id | Device Id: <value> から抽出された値に Cylance: が付加された値 |
デバイス ID | principal.asset_id | Device Ids: <value> から抽出された値。Cylance: が先頭に追加されます。Device Id が存在しない場合に使用されます。 |
デバイス名 | principal.hostname | Device Name: <value> から抽出された値 |
デバイス名 | target.hostname | Device Name: <value> から抽出された値。ScriptControl などの特定のイベントタイプに使用されます。 |
デバイス名 | principal.hostname | Device Names: <value> から抽出された値。Device Name が存在しない場合に使用されます |
説明 | security_result.summary | Description: <value> から抽出された値。OpticsCaeNetworkEvent などの特定のイベントタイプに使用されます。 |
宛先 IP | target.ip | Destination IP: <value> から抽出された値 |
宛先ポート | target.port | Destination Port: <value> から抽出された値 |
イベント ID | metadata.product_log_id | Event Id: <value> から抽出された値 |
イベント名 | 特定のイベント サブタイプを特定し、対応するロジックを適用するために使用されます | |
イベントタイプ | metadata.product_event_type | Event Type: <value> から抽出された値 |
metadata.event_type | Event Type フィールドと Event Name フィールドに基づいてマッピングされます。デフォルト値は GENERIC_EVENT です。 |
|
ファイル名 | principal.process.file.full_path | File Name: <value> から抽出された値と Path: <value> を組み合わせて完全なパスを形成します |
ファイルパス | target.file.full_path | File Path: <value> から抽出された値 |
Instigating Process ImageFileSha256 | principal.process.file.sha256 | Instigating Process ImageFileSha256: <value> から抽出された値 |
Instigating Process Name(開始プロセス名) | principal.process.file.full_path | Instigating Process Name: <value> から抽出された値 |
開始プロセス オーナー | principal.user.userid | Instigating Process Owner: <value> から抽出された値。ユーザー名が存在する場合は、// で分割した後に抽出されます。 |
開始プロセス オーナー | principal.administrative_domain | Instigating Process Owner: <value> から抽出されたドメイン名(存在する場合は // で分割) |
IP アドレス | principal.ip | IP Address: (<value>) から抽出された IP アドレス |
インタープリタ | security_result.rule_labels.value | Interpreter: <value> から抽出された値 |
インタープリタのバージョン | security_result.rule_labels.value | Interpreter Version: <value> から抽出された値 |
Logged On Users(ログインしたユーザー) | about.user.userid | Logged On Users: (<value>) から抽出されたユーザー名 |
MAC アドレス | principal.mac | MAC Address: (<value>) から抽出され、コロンでフォーマットされた MAC アドレス |
MD5 | principal.process.file.md5 | MD5: <value> から抽出された値 |
メッセージ | AuditLog などの特定のイベントタイプのデータを抽出するために使用されます。 |
|
OS | principal.platform | OS フィールドに Windows が含まれている場合は、WINDOWS にマッピングされます。 |
パス | principal.process.file.full_path | Path: <value> から抽出された値と File Name: <value> を組み合わせて完全なパスを形成します |
ポリシー名 | security_result.rule_name | Policy Name: <value> から抽出された値 |
プロセス ID | principal.process.pid | Process ID: <value> から抽出された値 |
プロセス名 | principal.process.file.full_path | Process Name: <value> から抽出された値 |
解決済みの住所 | network.dns.answers.name | Resolved Address: <value> から抽出された値 |
SHA256 | principal.process.file.sha256 | SHA256: <value> から抽出された値 |
ソース IP | principal.ip | Source IP: <value> から抽出された値。特定のイベントタイプで使用されます |
ステータス | security_result.action | 値に基づいて特定の UDM アクションにマッピングされます。 - Quarantined : QUARANTINE - Cleared : ALLOW_WITH_MODIFICATION |
ターゲット ドメイン名 | network.dns.questions.name | Target Domain Name: <value> から抽出された値 |
ターゲット プロセス ImageFileSha256 | target.process.file.sha256 | Target Process ImageFileSha256: <value> から抽出された値 |
ターゲット プロセス名 | target.process.file.full_path | Target Process Name: <value> から抽出された値 |
ターゲット プロセスのオーナー | target.user.userid | Target Process Owner: <value> から抽出された値。ユーザー名が存在する場合は、// で分割した後に抽出されます。 |
ターゲット プロセスのオーナー | target.administrative_domain | Target Process Owner: <value> から抽出されたドメイン名(存在する場合は // で分割) |
ターゲット レジストリ KeyPath | target.registry.registry_key | Target Registry KeyPath: <value> から抽出された値 |
脅威の分類 | security_result.threat_name | Threat Classification: <value> から抽出された値 |
ユーザー | principal.user.userid | User: <value> が存在する場合はそこから抽出されたユーザー名。User Name が存在しない場合に使用されます。 |
ユーザー | principal.user.email_addresses | User: <value> から抽出されたメールアドレス(存在する場合)。User Name が存在しない場合に使用されます。 |
ユーザー名 | principal.user.userid | User Name: <value> から抽出された値 |
違反のタイプ | security_result.summary | Violation Type: <value> から抽出された値に ExploitAttempt: が付加された値 |
違反のタイプ | security_result.threat_name | Violation Type: <value> から抽出された値 |
ゾーン名 | security_result.description | Zone Names: (<value>) から抽出された値に Zone_Names: が付加された値 |
metadata.vendor_name | Cylance にハードコード |
|
metadata.product_name | ログメッセージから抽出された値(PROTECT または OPTICS ) |
|
metadata.log_type | CYLANCE_PROTECT にハードコード |
|
network.ip_protocol | OpticsCaeNetworkEvent イベントの場合、TCP にハードコードされています |
|
network.application_protocol | OpticsCaeDnsEvent イベントの場合、DNS にハードコードされています |
|
security_result.rule_labels.key | 利用可能なフィールドに基づいて Interpreter または Interpreter Version に設定します。 |
|
security_result.detection_fields.key | Detected By にハードコード |
|
security_result.category | イベントタイプに基づいてマッピングされます。可能な値は、 - SOFTWARE_SUSPICIOUS、 - AUTH_VIOLOATION、 - POLICY_VIOLATION、 - NETWORK_SUSPICIOUS、 - EXPLOIT、 - SOFTWARE_MALICIOUS です。 |
|
security_result.action | イベントタイプと特定の条件に基づいてマッピングされます。取りうる値は、 - ALLOW、 - BLOCK、 - QUARANTINE、 - ALLOW_WITH_MODIFICATION です。 |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。