收集 CrowdStrike Falcon 記錄
本文提供相關指引,說明如何將 CrowdStrike Falcon 記錄擷取至 Google Security Operations,包括:
- 設定 Google Security Operations 資訊提供,即可收集 CrowdStrike Falcon 記錄。
- 將 CrowdStrike Falcon 記錄欄位對應至 Google SecOps 統合資料模型 (UDM) 欄位。
- 瞭解支援的 CrowdStrike Falcon 記錄類型和事件類型。
詳情請參閱「將資料擷取至 Google SecOps 總覽」。
事前準備
請確認您已完成下列事前準備事項:
- CrowdStrike 執行個體的管理員權限,可安裝 CrowdStrike Falcon Host 感應器
- 部署架構中的所有系統都以世界標準時間為準。
- 目標裝置搭載支援的作業系統
- 必須是 64 位元伺服器
- CrowdStrike Falcon Host 感應器 6.51 以上版本支援 Microsoft Windows Server 2008 R2 SP1。
- 舊版作業系統必須支援 SHA-2 程式碼簽署。
- Google SecOps 服務帳戶檔案,以及 Google SecOps 支援團隊提供的客戶 ID
部署 CrowdStrike Falcon,並整合 Google SecOps 資訊提供
一般部署作業包含 CrowdStrike Falcon (負責傳送記錄) 和 Google SecOps 動態饋給 (負責擷取記錄)。實際部署方式可能因設定而異。
部署作業通常包含下列元件:
- CrowdStrike Falcon Intelligence:您要從中收集記錄的 CrowdStrike 產品。
- CrowdStrike 動態饋給。從 CrowdStrike 擷取記錄並寫入 Google SecOps 的 CrowdStrike 動態饋給。
- CrowdStrike Intel Bridge:CrowdStrike 產品,可從資料來源收集威脅指標,並轉送至 Google SecOps。
- Google SecOps:這個平台會保留、正規化及分析 CrowdStrike 偵測記錄。
- 擷取標籤剖析器,可將原始記錄資料正規化為 UDM 格式。本文資訊適用於具有下列擷取標籤的 CrowdStrike Falcon 剖析器:
CS_EDR
CS_DETECTS
CS_IOC
CrowdStrike 入侵指標 (IoC) 剖析器支援下列指標類型:domain
email_address
file_name
file_path
hash_md5
hash_sha1
hash_sha256
ip_address
mutex_name
url
CS_ALERTS
CrowdStrike Alerts 剖析器支援下列產品類型:epp
idp
overwatch
xdr
mobile
cwpp
ngsiem
設定 Google SecOps 資訊提供,以接收 CrowdStrike EDR 記錄
如要設定動態饋給,請按照下列程序操作。
如何設定 CrowdStrike
如要設定 Falcon Data Replicator 動態饋給,請按照下列步驟操作:
- 登入 CrowdStrike Falcon 控制台。
- 依序前往「支援應用程式」 >「Falcon Data Replicator」。
- 按一下「新增」,建立新的 Falcon Data Replicator 動態饋給,並產生下列值:
- 動態消息
- S3 識別碼、
- SQS 網址
- 用戶端密鑰。 請保留這些值,以便在 Google SecOps 中設定動態饋給。
詳情請參閱「如何設定 Falcon 資料複製器動態饋給」。
設定動態饋給
在 Google SecOps 平台中,有兩種不同的進入點可設定動態饋給:
- 依序點選「SIEM Settings」>「Feeds」>「Add New Feed」
- 依序點選「內容中心」「內容包」「開始使用」
如何設定 CrowdStrike Falcon 動態饋給
- 點選「CrowdStrike」CrowdStrike套件。
在「CrowdStrike Falcon」記錄類型中,為下列欄位指定值:
- 來源:Amazon SQS
- 區域:與 URI 相關聯的 S3 區域。
- 佇列名稱:要從中讀取記錄資料的 SQS 佇列名稱。
- S3 URI:S3 bucket 來源 URI。
- 帳號:SQS 帳號。
- 佇列存取金鑰 ID:20 個字元的帳戶存取金鑰 ID。例如:
AKIAOSFOODNN7EXAMPLE
。 - 佇列存取密鑰:40 個字元的存取密鑰。例如:
wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
。 - 來源刪除選項:在轉移資料後刪除檔案和目錄的選項。
進階選項
- 動態饋給名稱:系統預先填入的值,用於識別動態饋給。
- 資產命名空間:與動態饋給相關聯的命名空間。
- 擷取標籤:套用至這個動態饋給所有事件的標籤。
按一下「建立動態饋給」。
如要進一步瞭解如何為這個產品系列中的不同記錄類型設定多個動態饋給,請參閱「依產品設定動態饋給」。
使用 Amazon S3 儲存空間設定擷取動態饋給
如要使用 S3 bucket 設定擷取動態饋給,請按照下列步驟操作:
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「動態消息名稱」欄位中輸入動態消息名稱,例如「Crowdstrike Falcon Logs」。
- 在「來源類型」中,選取「Amazon S3」。
- 在「記錄類型」中,選取「CrowdStrike Falcon」。
- 根據您建立的服務帳戶和 Amazon S3 值區設定,指定下列欄位的值:
欄位 說明 region
S3 區域 URI。 S3 uri
S3 bucket 來源 URI。 uri is a
URI 指向的物件類型 (例如檔案或資料夾)。 source deletion option
資料轉移後,可選擇刪除檔案和目錄。 access key id
存取金鑰 (20 個字元的英數字串)。例如 AKIAOSFOODNN7EXAMPLE
。secret access key
存取密鑰 (40 個字元的英數字串)。例如 wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
。oauth client id
公開 OAuth 用戶端 ID。 oauth client secret
OAuth 2.0 用戶端密鑰。 oauth secret refresh uri
OAuth 2.0 用戶端密鑰更新 URI。 asset namespace
與動態饋給相關聯的命名空間。
設定 CrowdStrike 記錄的 Google SecOps 資訊提供
如要轉送 CrowdStrike 偵測監控記錄,請按照下列步驟操作:
- 登入 CrowdStrike Falcon Console。
- 依序前往「支援應用程式」 >「API 用戶端和金鑰」。
- 在 CrowdStrike Falcon 建立新的 API 用戶端金鑰組。這個金鑰組必須具備 CrowdStrike Falcon 的
READ
和Detections
權限。Alerts
使用 Cloud Storage 擷取 CrowdStrike EDR 記錄
您可以將 CrowdStrike 設為將 EDR 記錄傳送至 Cloud Storage 值區,然後使用資訊提供將這些記錄擷取至 Google SecOps。這項程序需要與 CrowdStrike 支援團隊協調。
事前準備
- 確認您有有效的 CrowdStrike Falcon 執行個體。
- 確認您有可建立 Cloud Storage 值區及管理 IAM 權限的 Google Cloud 專案。
- 確認您擁有有效的 Google SecOps 執行個體。
- 確認您在 Google Cloud 環境和 Google SecOps 執行個體中都擁有管理員權限。
步驟
聯絡 CrowdStrike 支援團隊: 向 CrowdStrike 建立支援單,啟用及設定這項功能,將 EDR 記錄檔推送至 Cloud Storage 值區。 CrowdStrike 支援團隊會提供特定必要設定的指引。
建立 Cloud Storage bucket 並授予權限:
- 在 Google Cloud 控制台中,於 Cloud Storage 建立新的 bucket。
請記下 bucket 名稱 (例如
gs://my-crowdstrike-edr-logs/
)。 - 將寫入權限授予 CrowdStrike 提供的服務帳戶或實體。請按照 CrowdStrike 支援團隊的指示,允許將記錄檔寫入這個值區。
- 在 Google Cloud 控制台中,於 Cloud Storage 建立新的 bucket。
請記下 bucket 名稱 (例如
設定 Google SecOps 動態饋給:
- 在 Google SecOps 執行個體中,依序前往「SIEM Settings」>「Feeds」。
- 按一下 [Add New] (新增)。
- 輸入描述性動態饋給名稱 (例如
CS-EDR-GCS
)。 - 在「來源類型」部分,選取「Google Cloud Storage V2」。
- 在「記錄類型」部分,選取「CrowdStrike Falcon」。
- 在服務帳戶部分中,按一下「取得服務帳戶」,複製顯示的專屬服務帳戶電子郵件地址。
- 在 Google Cloud 控制台,前往 Cloud Storage bucket。
將
Storage Object Viewer
IAM 角色授予從 Google SecOps 資訊主頁設定複製的服務帳戶電子郵件地址。這項權限可讓動態消息讀取記錄檔。 - 返回 Google SecOps 摘要設定頁面。
- 使用您建立的值區名稱輸入「Storage Bucket URL」(儲存空間值區網址) (例如
gs://my-crowdstrike-edr-logs/
)。這個網址必須以尾端正斜線 (/) 結尾。 - 選取「來源刪除選項」:
- 一律不刪除檔案:建議採取這項做法。
- 刪除已轉移的檔案和空白目錄:請謹慎使用。
- 選用:指定資產命名空間。
- 點選「下一步」,檢查設定,然後點選「提交」。
確認記錄檔擷取作業: CrowdStrike 確認記錄檔已推送後,請稍待片刻,讓資料擷取至 Google SecOps。 在 Google SecOps 中使用「記錄類型」
CROWDSTRIKE_EDR
進行搜尋,檢查是否有傳入的記錄。
如果遇到問題,請檢查 Cloud Storage 值區的 IAM 權限,以及 Google SecOps 中的資訊提供設定。如果問題持續發生,請與 Google SecOps 支援團隊聯絡。
如要接收 CrowdStrike 偵測監控記錄,請按照下列步驟操作
- 登入 Google SecOps 執行個體。
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「動態消息名稱」欄位中輸入動態消息名稱,例如「Crowdstrike Falcon Logs」。
- 在「來源類型」中,選取「第三方 API」。
- 在「記錄類型」中,選取「CrowdStrike 偵測監控」。
如有任何問題,請與 Google SecOps 支援團隊聯絡。
將 CrowdStrike IoC 記錄擷取至 Google SecOps
如要設定從 CrowdStrike 擷取記錄到 Google SecOps,請完成下列步驟:
- 在 CrowdStrike Falcon 控制台中建立新的 API 用戶端金鑰配對。Google SecOps Intel Bridge 可透過這組金鑰存取及讀取 CrowdStrike Falcon 的事件和補充資訊。如需設定操作說明,請參閱「CrowdStrike to Google SecOps Intel Bridge」。
- 建立金鑰組時,請將
READ
權限提供給Indicators (Falcon Intelligence)
。 - 按照「CrowdStrike to 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 快訊記錄
如要設定 CrowdStrike 快訊記錄的擷取動態饋給,請執行下列步驟:
在 CrowdStrike Falcon 控制台中:
- 登入 CrowdStrike Falcon 控制台。
- 在「API Clients and Keys」(API 用戶端和金鑰) 頁面 (依序點選「Support and resources」(支援與資源) >「Resources and tools」(資源和工具) >「API Clients and Keys」(API 用戶端和金鑰)),按一下「Create API client」(建立 API 用戶端)。
- 輸入詳細資料來定義 API 用戶端:
- 用戶端名稱
- 說明
- API 範圍:選取「警報」範圍旁的「讀取」和「寫入」方塊,啟用存取權。
- 按一下「建立」儲存 API 用戶端,並產生「用戶端 ID」和「密鑰」。 注意:後續步驟會用到「Client ID」、「secret」和「Base URL」。
在 Google SecOps 執行個體中:
- 登入 Google SecOps 執行個體。
- 在 Google SecOps 選單中選取「設定」,然後按一下「動態饋給」。
- 按一下「新增動態消息」。
- 在「來源類型」中,選取「第三方 API」。
- 在「記錄類型」中,選取「CrowdStrike Alerts API」。
- 按一下「下一步」,然後使用從 CrowdStrike API 用戶端收集的值,填寫下列欄位:
- OAuth 權杖端點
- OAuth 用戶端 ID
- OAuth 用戶端密鑰
- 基準網址
- 依序點按「繼續」和「提交」。
如有任何問題,請與 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 |
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 . |
支援的 CrowdStrike 記錄格式
CrowdStrike 剖析器支援 JSON 格式的記錄。
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。