CrowdStrike Falcon のログを収集する
このドキュメントでは、CrowdStrike Falcon ログを Google Security Operations に取り込む方法について説明します。複数のタイプの CrowdStrike Falcon ログを取り込むことができます。このドキュメントでは、それぞれの構成について説明します。
Google Security Operations へのデータ取り込みの概要については、Google Security Operations へのデータの取り込みをご覧ください。
サポートされている CrowdStrike Falcon ログタイプ
Google Security Operations は、次の取り込みラベルを持つパーサーを介して、次の CrowdStrike Falcon ログタイプをサポートしています。
- エンドポイント検出と対応(EDR):
CS_EDR。このパーサーは、ファイル アクセスやレジストリの変更など、CrowdStrike Falcon Data Replicator(FDR)からほぼリアルタイムのテレメトリー データを解析します。通常、データは S3 バケットまたは Cloud Storage バケットから取り込まれます。 検出:
CS_DETECTS。このパーサーは、Detect API を使用して CrowdStrike から検出概要イベントを解析します。CS_DETECTSはエンドポイント アクティビティに関連していますが、CS_EDRを使用して解析された未加工のテレメトリーと比較して、より上位の検出概要を提供します。アラート:
CS_ALERTS。このパーサーは、Alerts API を使用して CrowdStrike からアラートを解析します。CrowdStrike Alerts パーサーは、次のプロダクト タイプをサポートしています。eppidpoverwatchxdrmobilecwppngsiem
セキュリティ侵害インジケーター(IoC):
CS_IOC。このパーサーは、CrowdStrike Chronicle Intel Bridge を使用して、CrowdStrike Threat Intelligence から IoC と攻撃インジケーター(IOA)を解析します。CrowdStrike の侵害の指標(IoC)パーサーは、次の指標タイプをサポートしています。domainemail_addressfile_namefile_pathhash_md5hash_sha1hash_sha256ip_addressmutex_nameurl
Google SecOps では、CrowdStrike から包括的なデータを取り込むために、CS_EDR、CS_DETECTS、CS_IOC にフィードを使用することをおすすめします。
始める前に
次の前提条件を満たしていることを確認します。
- CrowdStrike Falcon Host センサーをインストールするための CrowdStrike インスタンスの管理者権限
- デプロイ アーキテクチャ内のすべてのシステムが、UTC タイムゾーンに構成されている。
- ターゲット デバイスがサポートされているオペレーティング システムで実行されている
- 64 ビットサーバーである必要があります
- Microsoft Windows Server 2008 R2 SP1 は、CrowdStrike Falcon Host センサー バージョン 6.51 以降でサポートされています。
- 以前の OS バージョンは SHA-2 コード署名をサポートしている必要があります。
- Google SecOps サポートチームから提供された Google SecOps サービス アカウント ファイルとお客様の ID
フィードを設定する
Google SecOps プラットフォームでフィードを設定するには、次の 2 つのエントリ ポイントがあります。
- [SIEM 設定] > [フィード] > [新しいフィードを追加]
- Content Hub > Content Packs > Get Started
このプロダクト ファミリー内のさまざまなログタイプに対して複数のフィードを構成する方法については、プロダクト別にフィードを構成するをご覧ください。
CrowdStrike Falcon ログを取り込む
このセクションでは、さまざまなタイプの CrowdStrike Falcon ログの取り込みを構成する方法について説明します。
EDR ログを取り込む(CS_EDR)
CrowdStrike からログを送信する場所に応じて、次のいずれかの方法で CrowdStrike Falcon EDR ログを取り込むことができます。
- Amazon SQS: Falcon Data Replicator フィードを使用します。
- Amazon S3: S3 バケット用に構成された Google Security Operations フィードを使用します。
- Google Cloud Storage: CrowdStrike がログを Cloud Storage バケットにプッシュするように設定します。
次のいずれかの手順を選択します。
オプション 1: Amazon SQS から EDR ログを取り込む
この方法では、CrowdStrike Falcon Data Replicator を使用して EDR ログを Amazon SQS キューに送信し、Google Security Operations がそのキューをポーリングします。
- [CrowdStrike] パックをクリックします。
[CrowdStrike Falcon] ログタイプで、次のフィールドの値を指定します。
- ソース: Amazon SQS
- リージョン: URI に関連付けられている S3 リージョン。
- キュー名: ログデータの読み取り元となる SQS キューの名前。
- S3 URI: S3 バケットのソース URI。
- アカウント番号: SQS アカウント番号。
- Queue Access Key ID: 20 文字のアカウント アクセスキー ID。例:
AKIAOSFOODNN7EXAMPLE - Queue Secret Access Key: 40 文字のシークレット アクセスキー。例:
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY - ソース削除オプション: データの転送後にファイルとディレクトリを削除するオプション。
詳細オプション
- フィード名: フィードを識別する値が事前入力されています。
- Asset Namespace: フィードに関連付けられた名前空間。
- Ingestion Labels - このフィードのすべてのイベントに適用されるラベル。
[フィードを作成] をクリックします。
このプロダクト ファミリー内のさまざまなログタイプに対して複数のフィードを構成する方法については、プロダクト別にフィードを構成するをご覧ください。
オプション 2: Amazon S3 バケットから EDR ログを取り込む
この方法では、Amazon S3 バケットから EDR ログを直接取得するように Google Security Operations フィードを設定します。
S3 バケットを使用して取り込みフィードを設定する手順は次のとおりです。
- [SIEM 設定] > [フィード] に移動します。
- [Add New Feed] をクリックします。
- 次のページで [単一のフィードを設定] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例: Crowdstrike Falcon Logs)。
- [Source type] で [Amazon S3] を選択します。
- [Log type] で [CrowdStrike Falcon] を選択します。
- 作成したサービス アカウントと Amazon S3 バケットの構成に基づいて、次のフィールドに値を指定します。
フィールド 説明 regionS3 リージョン URI。 S3 uriS3 バケットのソース URI。 uri is aURI が指すオブジェクトのタイプ(ファイルやフォルダなど)。 source deletion optionデータの転送後にファイルとディレクトリを削除するオプション。 access key idアクセスキー(20 文字の英数字文字列)。例: AKIAOSFOODNN7EXAMPLEsecret access keyシークレット アクセスキー(40 文字の英数字文字列)。例: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYoauth client id公開 OAuth クライアント ID。 oauth client secretOAuth 2.0 クライアント シークレット oauth secret refresh uriOAuth 2.0 クライアント シークレットの更新 URI。 asset namespaceフィードに関連付けられた名前空間。 - [次へ]、[送信] の順にクリックします。
オプション 3: Cloud Storage から EDR ログを取り込む
CrowdStrike を構成して EDR ログを Cloud Storage バケットに送信し、フィードを使用してこれらのログを Google Security Operations に取り込むことができます。このプロセスでは、CrowdStrike サポートとの連携が必要です。
CrowdStrike サポートに連絡する: CrowdStrike にサポート チケットを送信して、EDR ログを Cloud Storage バケットに push する操作を有効にして構成します。必要な構成については、プロバイダにお問い合わせください。
Cloud Storage バケットを作成して権限を付与します。
- Google Cloud コンソールで、新しい Cloud Storage バケットを作成します。バケット名(例:
gs://my-crowdstrike-edr-logs/)をメモします。 - CrowdStrike が提供するサービス アカウントに書き込み権限を付与します。CrowdStrike サポートの手順に沿って操作します。
- Google Cloud コンソールで、新しい Cloud Storage バケットを作成します。バケット名(例:
Google SecOps フィードを構成します。
- Google SecOps インスタンスで、[設定] > [フィード] に移動し、[新規追加] をクリックします。
- わかりやすいフィード名を入力します(例:
CS-EDR-GCS)。 - [ソースタイプ] で、[Google Cloud Storage V2] を選択します。
- [Log type] で [CrowdStrike Falcon] を選択します。
- [サービス アカウント] セクションで、[サービス アカウントを取得] をクリックします。表示された一意のサービス アカウントのメールアドレスをコピーします。
- Google Cloud コンソールで、Cloud Storage バケットに移動し、コピーしたサービス アカウントのメールアドレスに
Storage Object ViewerIAM ロールを付与します。これにより、フィードでログファイルを読み取ることができます。 - Google SecOps のフィード構成ページに戻ります。
- [Storage Bucket URL](例:
gs://my-crowdstrike-edr-logs/)を入力します。この URL は、末尾にスラッシュ(/)が付いている必要があります。 - [ソース削除オプション] を選択します。ファイルを削除しないことをおすすめします。
- [次へ] をクリックし、設定を確認して、[送信] をクリックします。
ログの取り込みを確認する: CrowdStrike がログのプッシュを確認したら、ログタイプ
CROWDSTRIKE_EDRを使用して Google SecOps で受信ログを確認します。
アラートログを取り込む(CS_ALERTS)
CrowdStrike Falcon アラートを取り込むには、CrowdStrike API を使用するフィードを構成します。
CrowdStrike Falcon コンソールで次の操作を行います。
- CrowdStrike Falcon コンソールにログインします。
- [サポートとリソース] > [リソースとツール] > [API クライアントとキー] に移動し、[API クライアントを作成] をクリックします。
- [クライアント名] と [説明] を入力します。
- [API スコープ] で、[アラート] の [読み取り] と [書き込み] のチェックボックスをオンにします。
- [作成] をクリックします。生成されたクライアント ID、クライアント シークレット、ベース URL をメモします。
Google Security Operations の場合:
- [設定] > [フィード] に移動し、[新規追加] をクリックします。
- [ソースタイプ] で [サードパーティ API] を選択します。
- [ログタイプ] で [CrowdStrike Alerts API] を選択します。
- [次へ] をクリックし、CrowdStrike API クライアントの値を使用して次のフィールドに入力します。
- OAuth トークン エンドポイント
- OAuth クライアント ID
- OAuth クライアント シークレット
- ベース URL
- [次へ]、[送信] の順にクリックします。
検出ログを取り込む(CS_DETECTS)
CrowdStrike Falcon 検出ログを取り込む場合も、CrowdStrike API を使用します。
CrowdStrike Falcon コンソールで次の操作を行います。
- CrowdStrike Falcon コンソールにログインします。
- [Support Apps] > [API Clients and Keys] に移動します。
- 新しい API クライアント鍵ペアを作成します。このキーペアには、
Detectionsに対するREAD権限が必要です。
Google Security Operations の場合:
- [設定] > [フィード] に移動し、[新規追加] をクリックします。
- [ソースタイプ] で [サードパーティ API] を選択します。
- [Log type] で [CrowdStrike Detection Monitoring] を選択します。
- [次へ]、[送信] の順にクリックします。作成した API 認証情報の入力を求められます。
IoC ログを取り込む(CS_IOC)
CrowdStrike からセキュリティ侵害インジケーター(IoC)ログを取り込むには、Google SecOps Intel Bridge を使用します。
- CrowdStrike Falcon コンソールで、新しい API クライアント鍵ペアを作成します。このキーペアには、
Indicators (Falcon Intelligence)に対するREAD権限が必要です。 - CrowdStrike から Google SecOps Intel Bridge の手順に沿って、Google SecOps Intel Bridge を設定します。
次の Docker コマンドを実行して、CrowdStrike から Google SecOps にログを送信します。
sa.jsonは Google SecOps サービス アカウント ファイルです。docker build . -t ccib:latest docker run -it --rm \ -e FALCON_CLIENT_ID="$FALCON_CLIENT_ID" \ -e FALCON_CLIENT_SECRET="$FALCON_CLIENT_SECRET" \ -e FALCON_CLOUD_REGION="$FALCON_CLOUD" \ -e CHRONICLE_CUSTOMER_ID="$CHRONICLE_CUSTOMER_ID" \ -e GOOGLE_APPLICATION_CREDENTIALS=/ccib/sa.json \ -v ~/my/path/to/service/account/filer/sa.json:/ccib/sa.json \ ccib:latestコンテナが実行されると、IoC ログが Google SecOps にストリーミングされ始めます。
これらの構成で問題が発生した場合は、Google SecOps サポートチームにお問い合わせください。
CrowdStrike アラートログの UDM マッピングの差分。
UDM マッピングの差分リファレンス: CS_ALERTS
次の表に、CS ALERTS のデフォルト パーサーと CS ALERTS のプレミアム バージョンの差分を示します。
| Default UDM Mapping | Log Field | Premium Mapping Delta |
|---|---|---|
about.resource.product_object_id |
cid |
Removed mapping to avoid duplication, as the cid log field is also mapped to metadata.product_deployment_id. |
principal.asset.platform_software.platform |
platform |
If the device.platform_name log field value is empty and the platform log field value is not empty and if the platform log field value matches the regular expression pattern (?i)Windows then, the principal.asset.platform_software.platform UDM field is set to WINDOWS. Else, if platform log field value matches the regular expression pattern (?i)Linux then, the principal.asset.platform_software.platform UDM field is set to LINUX. Else, if platform log field value matches the regular expression pattern (?i)Mac then, the principal.asset.platform_software.platform UDM field is set to MAC. Else, if platform log field value matches the regular expression pattern (?i)ios then, the principal.asset.platform_software.platform UDM field is set to IOS. |
security_result.detection_fields[agent_id] |
agent_id |
If the device.device_id log field value is empty and the host_id log field value is empty and the mdm_device_id log field value is empty then, CS:%{agent_id} log field is mapped to the principal.asset_id UDM field. Else, the principal.asset.attribute.labels.key UDM field is set to agent_id and agent_id log field is mapped to the principal.asset.attribute.labels.value UDM field. |
security_result.detection_fields[idp_policy_account_event_type] |
idp_policy_account_event_type |
security_result.rule_labels[idp_policy_account_event_type] |
security_result.detection_fields[idp_policy_mfa_factor_type] |
idp_policy_mfa_factor_type |
security_result.rule_labels[idp_policy_mfa_factor_type] |
security_result.detection_fields[idp_policy_mfa_provider_name] |
idp_policy_mfa_provider_name |
security_result.rule_labels[idp_policy_mfa_provider_name] |
security_result.detection_fields[idp_policy_mfa_provider] |
idp_policy_mfa_provider |
security_result.rule_labels[idp_policy_mfa_provider] |
security_result.detection_fields[idp_policy_rule_action] |
idp_policy_rule_action |
security_result.rule_labels[idp_policy_rule_action] |
security_result.detection_fields[idp_policy_rule_trigger] |
idp_policy_rule_trigger |
security_result.rule_labels[idp_policy_rule_trigger] |
security_result.detection_fields[idp_policy_rule_id] |
idp_policy_rule_id |
security_result.rule_id |
security_result.detection_fields[idp_policy_rule_name] |
idp_policy_rule_name |
security_result.rule_name |
security_result.detection_fields[status] |
status |
If the status log field value matches the regular expression pattern (?i)new then, status log field is mapped to the security_result.about.investigation.status UDM field with the value NEW. Else, if status log field value matches the regular expression pattern (?i)closed then, status log field is mapped to the security_result.about.investigation.status UDM field with the value CLOSED. Else, status log field is mapped to the security_result.detection_fields[status] UDM field. |
target.process.file.mime_type |
alleged_filetype |
If the technique_name log field value contain one of the following values
alleged_filetype log field is mapped to the target.file.mime_type UDM field. Else, alleged_filetype log field is mapped to the target.process.file.mime_type UDM field. |
principal.resource.product_object_id |
device.cid |
principal.asset.attribute.labels[device_cid] |
security_result.detection_fields[active_directory_dn_display] |
device.hostinfo.active_directory_dn_display |
Iterate through log field device.hostinfo.active_directory_dn_display, then the security_result.detection_fields.key UDM field is set to device_hostinfo_active_directory_dn_display and device.hostinfo.active_directory_dn_display log field is mapped to the security_result.detection_fields.value UDM field. |
principal.asset.platform_software.platform |
device.platform_name |
If the device.platform_name log field value is not empty and if the device.platform_name log field value matches the regular expression pattern (?i)Windows then, the principal.asset.platform_software.platform UDM field is set to WINDOWS. Else, if device.platform_name log field value matches the regular expression pattern (?i)Linux then, the principal.asset.platform_software.platform UDM field is set to LINUX. Else, if device.platform_name log field value matches the regular expression pattern (?i)Mac then, the principal.asset.platform_software.platform UDM field is set to MAC. Else, if device.platform_name log field value matches the regular expression pattern (?i)ios then, the principal.asset.platform_software.platform UDM field is set to IOS. if the platform log field value is not empty and the device.platform_name log field value is equal to the then, the principal.asset.attribute.labels.key UDM field is set to platform and platform log field is mapped to the principal.asset.attribute.labels.value UDM field. |
principal.asset.platform_software.platform_version |
device.system_product_name |
principal.asset.hardware.model |
target.process.file.names |
filename |
If the technique_name log field value contain one of the following values
filename log field is mapped to the target.file.names UDM field. Else, filename log field is mapped to the target.process.file.names UDM field. |
target.file.full_path |
filepath |
If the technique_name log field value contain one of the following values
filepath log field is mapped to the target.file.full_path UDM field. Else, filepath log field is mapped to the target.process.file.full_path UDM field.If the product log field value is equal to epp and the type log field value is equal to ofp and if the macros.ioc_description log field value is not empty then, macros.ioc_description log field is mapped to the target.file.full_path UDM field and the security_result.detection_fields.key UDM field is set to filepath and filepath log field is mapped to the security_result.detection_fields.value UDM field. |
target.process_ancestors.command_line |
grandparent_details.cmdline |
target.process.parent_process.parent_process.command_line |
target.process_ancestors.file.names |
grandparent_details.filename |
target.process.parent_process.parent_process.file.names |
target.process_ancestors.file.full_path |
grandparent_details.filepath |
target.process.parent_process.parent_process.file.full_path |
target.process_ancestors.file.md5 |
grandparent_details.md5 |
target.process.parent_process.parent_process.file.md5 |
target.process_ancestors.product_specific_process_id |
grandparent_details.process_graph_id |
If the grandparent_details.process_graph_id log field value is not empty then, PRODUCT_SPECIFIC_PROCESS_ID: %{grandparent_details.process_graph_id} log field is mapped to the target.process.parent_process.parent_process.product_specific_process_id UDM field. |
target.process_ancestors.pid |
grandparent_details.process_id |
target.process.parent_process.parent_process.pid |
target.process_ancestors.file.sha256 |
grandparent_details.sha256 |
target.process.parent_process.parent_process.file.sha256 |
security_result.detection_fields[ioc_description] |
ioc_context.ioc_description |
Iterate through log field ioc_context, then the security_result.detection_fields.key UDM field is set to ioc_context_ioc_description and ioc_context.ioc_description log field is mapped to the security_result.detection_fields.value UDM field. |
security_result.detection_fields[ioc_source] |
ioc_context.ioc_source |
Iterate through log field ioc_context, then the security_result.detection_fields.key UDM field is set to ioc_context_ioc_source and ioc_context.ioc_source log field is mapped to the security_result.detection_fields.value UDM field. |
target.process.file.md5 |
md5 |
If the technique_name log field value contain one of the following values
md5 log field is mapped to the target.file.md5 UDM field. Else, md5 log field is mapped to the target.process.file.md5 UDM field. |
target.process.file.sha1 |
sha1 |
If the technique_name log field value contain one of the following values
sha1 log field is mapped to the target.file.sha1 UDM field. Else, sha1 log field is mapped to the target.process.file.sha1 UDM field. |
target.file.sha256 |
sha256 |
If the technique_name log field value contain one of the following values
sha256 log field is mapped to the target.file.sha256 UDM field. Else, sha256 log field is mapped to the target.process.file.sha256 UDM field.If the product log field value is equal to epp and the type log field value is equal to ofp and if the ioc_type log field value is equal to hash_sha256 and the macros.ioc_value log field value is not empty then, macros.ioc_value log field is mapped to the target.file.sha256 UDM field and the security_result.detection_fields.key UDM field is set to sha256 and sha256 log field is mapped to the security_result.detection_fields.value UDM field. |
target.asset.platform_software.platform |
operating_system |
If the operating_system log field value matches the regular expression pattern (?i)Windows then, the principal.asset.platform_software.platform UDM field is set to WINDOWS. Else, if operating_system log field value matches the regular expression pattern (?i)linux then, the principal.asset.platform_software.platform UDM field is set to LINUX. Else, if operating_system log field value matches the regular expression pattern (?i)ios then, the principal.asset.platform_software.platform UDM field is set to IOS. Else, if operating_system log field value matches the regular expression pattern (?i)mac then, the principal.asset.platform_software.platform UDM field is set to MAC. |
security_result.detection_fields[agent_version] |
agent_version |
principal.asset.attribute.labels[agent_version] |
about.email |
enrollment_email |
principal.user.email_addresses |
principal.asset.type |
|
If the mdm_device_id log field value is not empty or the mobile_hardware log field value is not empty or the mobile_manufacturer log field value is not empty or the mobile_serial log field value is not empty then, the principal.asset.type UDM field is set to MOBILE. |
security_result.detection_fields[detection_context_user_is_admin] |
detection_context.user_is_admin |
security_result.about.user.attribute.label[detection_context_user_is_admin] |
security_result.detection_fields[detection_context_user_sid] |
detection_context.user_sid |
security_result.about.user.attribute.label[detection_context_user_sid] |
principal.asset.attribute.labels[pod_id] |
device.pod_id |
principal.resource.product_object_id |
principal.asset.attribute.labels[pod_labels] |
device.pod_labels |
principal.resource.attribute.labels[pod_labels] |
principal.asset.attribute.labels[pod_name] |
device.pod_name |
principal.resource.name |
principal.asset.attribute.labels[pod_namespace] |
device.pod_namespace |
principal.resource.attribute.labels[pod_namespace] |
principal.asset.attribute.labels[pod_service_account_name] |
device.pod_service_account_name |
principal.resource.attribute.labels[pod_service_account_name] |
サポートされている CrowdStrike ログ形式
CrowdStrike パーサーは JSON 形式のログをサポートしています。
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。