

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 將問題清單映射到 AWS 安全問題清單格式 (ASFF) 的指導方針
<a name="guidelines-asff-mapping"></a>

使用下列準則將您的問題清單映射至 ASFF。如需每個 ASFF 欄位和物件的詳細說明，請參閱*AWS Security Hub 《 使用者指南*》中的[AWS 安全問題清單格式 (ASFF)](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format.html)。

## 識別資訊
<a name="asff-identifying-information"></a>

`SchemaVersion` 始終是 `2018-10-08`。

`ProductArn` 是 AWS Security Hub CSPM 指派給您的 ARN。

`Id` 是 Security Hub CSPM 用來為問題清單編製索引的值。問題清單識別符必須是唯一的，以確保不會覆寫其他問題清單。若要更新問題清單，請使用相同的識別符重新提交問題清單。

`GeneratorId` 可以與 相同`Id`，也可以參考離散的邏輯單位，例如 Amazon GuardDuty 偵測器 ID、 AWS Config 記錄器 ID 或 IAM Access Analyzer ID。

## Title 和 Description
<a name="asff-title-description"></a>

`Title` 應該包含有關受影響資源的一些資訊。 限制`Title`為 256 個字元，包括空格。

將較長的詳細資訊新增至 `Description`。 限制`Description`為 1024 個字元，包括空格。您可以考慮將截斷新增至描述。範例如下：

```
"Title": "Instance i-12345678901 is vulnerable to CVE-2019-1234",
"Description": "Instance i-12345678901 is vulnerable to CVE-2019-1234. This vulnerability affects version 1.0.1 of widget-1 and earlier, and can lead to buffer overflow when someone sends a ping.",
```

## 調查結果類型
<a name="asff-finding-types"></a>

您可以在 中提供問題清單類型資訊`FindingProviderFields.Types`。

`Types` 應該符合 [ASFF 的分類類型](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format-type-taxonomy.html)。

如有需要，您可以指定自訂分類器 （第三個命名空間）。

## 時間戳記
<a name="asff-timestamps"></a>

ASFF 格式包含幾個不同的時間戳記。

**`CreatedAt` 和 `UpdatedAt`**  
您必須`UpdatedAt`在每次[https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_BatchImportFindings.html](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_BatchImportFindings.html)呼叫每個問題清單時提交 `CreatedAt`和 。  
這些值必須符合 Python 3.8 中的 ISO8601 格式。  

```
datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc).isoformat()
```

**`FirstObservedAt` 和 `LastObservedAt`**  
`FirstObservedAt` 當您的系統觀察到問題清單時， 和 `LastObservedAt` 必須相符。如果您不記錄此資訊，則不需要提交這些時間戳記。  
這些值符合 Python 3.8 中的 ISO8601 格式。  

```
datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc).isoformat()
```

## Severity
<a name="asff-severity"></a>

您可以在 `FindingProviderFields.Severity` 物件中提供嚴重性資訊，其中包含下列欄位。

**`Original`**  
您系統的嚴重性值。 `Original` 可以是任何字串，以容納您使用的系統。

**`Label`**  
問題清單嚴重性的必要 Security Hub CSPM 指標。允許的值如下所示。  
+ `INFORMATIONAL` – 找不到問題。
+ `LOW` – 問題不需要自行執行動作。
+ `MEDIUM` – 必須解決問題，但不能緊急解決。
+ `HIGH` – 問題必須以優先順序處理。
+ `CRITICAL` – 問題必須立即修復，以防止進一步的傷害。
合規的問題清單應一律`Label`設定為 `INFORMATIONAL`。`INFORMATIONAL` 問題清單範例是通過安全檢查的問題清單，以及已修復的問題 AWS Firewall Manager 清單。  
客戶通常會依嚴重性排序問題清單，以為其安全營運團隊提供待辦事項清單。將調查結果嚴重性設定為 `HIGH`或 時，請保守。 `CRITICAL`

您的整合文件必須包含您的映射原理。

## Remediation
<a name="asff-remediation"></a>

`Remediation` 有兩個元素。這些元素在 Security Hub CSPM 主控台上合併。

`Remediation.Recommendation.Text` 會顯示在調查結果詳細資訊的**修復**區段中。其超連結至 的值`Remediation.Recommendation.Url`。

目前，只有來自 Security Hub CSPM 標準、IAM Access Analyzer 和 Firewall Manager 的問題清單會顯示有關如何修復問題清單的文件超連結。

## SourceUrl
<a name="asff-sourceurl"></a>

只有在您可以為主控台提供特定問題清單的深層連結 URL `SourceUrl`時，才能使用 。否則，請將其從映射中省略。

Security Hub CSPM 不支援此欄位的超連結，但會在 Security Hub CSPM 主控台上公開。

## Malware, Network, Process, ThreatIntelIndicators
<a name="asff-malware-network-process-threatintel"></a>

如適用，請使用 `Malware`、`Process`、 `Network`或 `ThreatIntelIndicators`。每個物件都會在 Security Hub CSPM 主控台中公開。在您傳送的問題清單內容中使用這些物件。

例如，如果您偵測到對已知命令和控制節點進行傳出連線的惡意軟體，請在 中提供 EC2 執行個體的詳細資訊`Resource.Details.AwsEc2Instance`。提供該 EC2 執行個體的相關 `Malware``Network`、 和 `ThreatIntelIndicator` 物件。

### Malware
<a name="asff-malware"></a>

`Malware` 是一個清單，最多可接受五個陣列的惡意軟體資訊。讓惡意軟體項目與資源和調查結果相關。

每個項目都有下列欄位。

**`Name`**  
惡意軟體的名稱。值是最多 64 個字元的字串。  
`Name` 應該來自經過審核的威脅情報或研究者來源。

**`Path`**  
惡意軟體的路徑。值是最多 512 個字元的字串。 `Path` 應該是 Linux 或 Windows 系統檔案路徑，但下列情況除外。  
+ 如果您針對 YARA 規則掃描 S3 儲存貯體或 EFS 共用中的物件，則 `Path`是 S3：// 或 HTTPS 物件路徑。
+ 如果您掃描 Git 儲存庫中的檔案，則 `Path`是 Git URL 或複製路徑。

**`State`**  
惡意軟體的狀態。允許的值為 `OBSERVED` \$1` REMOVAL_FAILED` \$1 `REMOVED`。  
在調查結果標題和描述中，請確定您提供惡意軟體所發生情況的內容。  
例如，如果 `Malware.State`是 `REMOVED`，則調查結果標題和描述應該反映您的產品已移除路徑上的惡意軟體。  
如果 `Malware.State`是 `OBSERVED`，則調查結果標題和描述應該反映您的產品遇到路徑上的此惡意軟體。

**`Type`**  
指出惡意軟體的類型。允許的值為 `ADWARE` \$1 `BLENDED_THREAT` \$1 `BOTNET_AGENT` \$1 `COIN_MINER` \$1 `EXPLOIT_KIT` `KEYLOGGER` \$1 \$1 `MACRO` \$1 `POTENTIALLY_UNWANTED` \$1 `SPYWARE` `RANSOMWARE` \$1 `REMOTE_ACCESS` \$1 `ROOTKIT` \$1 `TROJAN` \$1 \$1 \$1 `VIRUS` \$1 \$1 `WORM`。  
如果您需要 的額外值`Type`，請聯絡 Security Hub CSPM 團隊。

### Network
<a name="asff-network"></a>

`Network` 是單一物件。您無法新增多個網路相關詳細資訊。映射欄位時，請使用下列準則。

**目的地和來源資訊**  
目的地和來源很容易對應 TCP 或 VPC 流程日誌或 WAF 日誌。當您描述有關攻擊問題清單的網路資訊時，它們更難使用。  
一般而言，來源是攻擊的來源，但可能有其他來源，如下所示。您應該在文件中解釋來源，並在問題清單標題和描述中加以描述。  
+ 對於 EC2 執行個體的 DDoS 攻擊，來源是攻擊者，但真正的 DDoS 攻擊可能會使用數百萬個主機。目的地是 EC2 執行個體的公有 IPv4 地址。 `Direction`是 IN。
+ 對於觀察到從 EC2 執行個體與已知命令和控制節點通訊的惡意軟體，來源是 EC2 執行個體的 IPV4 地址。目的地是命令和控制節點。 `Direction`是 `OUT`。您也可以提供 `Malware`和 `ThreatIntelIndicators`。

**`Protocol`**  
`Protocol` 一律會映射到網際網路指派號碼授權機構 (IANA) 註冊名稱，除非您可以提供特定通訊協定。您應該一律使用此項目，並提供連接埠資訊。  
`Protocol` 獨立於來源和目的地資訊。只有在合理時才提供。

**`Direction`**  
`Direction` 一律與 AWS 網路邊界相對。  
+ `IN` 表示它正在進入 AWS (VPC， 服務）。
+ `OUT` 表示它正在結束 AWS 網路邊界。

### Process
<a name="asff-process"></a>

`Process` 是單一物件。您無法新增多個程序相關詳細資訊。映射欄位時，請使用下列準則。

**`Name`**  
`Name` 應該符合可執行檔的名稱。它最多接受 64 個字元。

****`Path`****  
`Path` 是程序可執行檔的檔案系統路徑。它最多接受 512 個字元。

**`Pid`, `ParentPid`**  
`Pid` 和 `ParentPid`應該符合 Linux 程序識別符 (PID) 或 Windows 事件 ID。若要區分，請使用 EC2 Amazon Machine Image (AMI) 提供資訊。客戶可能會區分 Windows 和 Linux。

**時間戳記 (`LaunchedAt` 和 `TerminatedAt`)**  
如果您無法可靠地擷取此資訊，且其對於毫秒不正確，請勿提供此資訊。  
如果客戶依賴時間戳記進行鑑識調查，則沒有時間戳記會比具有錯誤的時間戳記更好。

### ThreatIntelIndicators
<a name="asff-threatintelindicators"></a>

`ThreatIntelIndicators` 接受最多五個威脅情報物件的陣列。

對於每個項目， `Type` 位於特定威脅的內容中。允許的值為 `DOMAIN` \$1 `EMAIL_ADDRESS` \$1 `HASH_MD5` \$1 `HASH_SHA1` \$1 `HASH_SHA256` \$1 `HASH_SHA512` `IPV4_ADDRESS` \$1 `IPV6_ADDRESS` \$1 `MUTEX` \$1 \$1 `PROCESS` \$1 `URL`。

以下是如何映射威脅情報指標的一些範例：
+ 您找到一個您知道與 Cobalt Strike 相關聯的程序。您從 FireEye 的部落格中了解到這一點。

  將 `Type` 設定為 `PROCESS`。同時建立程序的`Process`物件。
+ 您的郵件篩選條件找到某人從已知惡意網域傳送已知的雜湊套件。

  建立兩個`ThreatIntelIndicator`物件。一個物件適用於 `DOMAIN`。另一個是 `HASH_SHA1`。
+ 您使用 Yara 規則 (Loki、Fenrir、Awss3VirusScan、BinaryAlert) 找到惡意軟體。

  建立兩個`ThreatIntelIndicator`物件。一個用於惡意軟體。另一個用於 `HASH_SHA1`。

## Resources
<a name="asff-resources"></a>

對於 `Resources`，請盡可能使用我們提供的資源類型和詳細資訊欄位。Security Hub CSPM 會持續將新資源新增至 ASFF。若要接收 ASFF 變更的每月日誌，請聯絡 securityhub-partners@amazon.com。

如果您無法將資訊納入模型化資源類型的詳細資訊欄位中，請將其餘的詳細資訊對應至 `Details.Other`。

對於未在 ASFF 中建模的資源，請將 `Type`設定為 `Other`。如需詳細資訊，請使用 `Details.Other`。

您也可以將 `Other` 資源類型用於非AWS 調查結果。

## ProductFields
<a name="asff-productfields"></a>

只有在您無法為 使用其他策劃的欄位`Resources`或描述性物件，例如 `ThreatIntelIndicators`、 或 `ProductFields`時`Network`，才能使用 `Malware`。

如果您確實使用 `ProductFields`，則必須提供此決策的嚴格理由。

## 合規
<a name="asff-compliance"></a>

只有在問題清單與合規相關`Compliance`時才使用 。

Security Hub CSPM `Compliance`使用 根據控制項產生的問題清單。

Firewall Manager 使用 `Compliance` 做為其調查結果，因為它們與合規相關。

## 受限制的欄位
<a name="asff-restricted-fields"></a>

這些欄位旨在讓客戶追蹤對調查結果的調查。

請勿映射到這些欄位或物件。
+ `Note`
+ `UserDefinedFields`
+ `VerificationState`
+ `Workflow`

對於這些欄位，映射到 `FindingProviderFields` 物件中的欄位。請勿映射至最上層欄位。
+ `Confidence` – 只有在您的服務具有類似功能，或您的調查結果 100% 站立時，才包含可信度分數 (0-99)。
+ `Criticality` – 關鍵性分數 (0-99) 旨在表達與調查結果相關聯資源的重要性。
+ `RelatedFindings` – 只有在您可以追蹤與相同資源或問題清單類型相關的問題清單時，才提供相關的問題清單。若要識別相關的調查結果，您必須參考已在 Security Hub CSPM 中調查結果的調查結果識別符。