網路鑑識 - AWS 規定指引

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

網路鑑識

通過進行簡短的調查來影響 AWS 安全參考架構(AWS SRA)的 future。

在 AWS SRA 的背景下,我們使用美國國家標準技術研究所 (NIST) 提供的下列鑑識定義:「將科學運用於資料識別、收集、檢查和分析,同時保留資訊的完整性,並維護資料的嚴格監管鏈」(來源:NIST 特別刊物 800-86 – 將鑑識技術融入事件回應的指南)。

安全事件回應背景下的鑑識

本節中的事件回應 (IR) 指引僅在鑑識的背景下提供,以及確定不同的服務和解決方案如何改善 IR 程序。

AWS 安全事件回應指南依據 AWS 客戶事件回應團隊 (AWS CIRT) 的經驗,列出在 AWS 雲端中回應安全事件的最佳實務。如需 AWS CIRT 的其他指引,請參閱 AWS CIRT 研討會AWS CIRT 的課程

美國國家標準與技術研究所網路安全架構 (NIST CSF) 定義了 IR 生命週期的四個步驟:準備、偵測和分析、遏制、根除和復原;以及事後活動。可以按順序執行這些步驟。但是,該序列通常是週期性的,因為某些步驟在移動到週期的下一個步驟後必須重複。例如,在遏制和根除之後,您需要再次進行分析,以確認已成功將對手從環境中移除。

這種重複的分析週期、遏制、根除以及再次回到分析,可讓您在每次偵測到新的入侵指標 () IoCs 時收集更多資訊。從多個角度來看,這些 IoCs 都是有用的。它們可提供案例,表明對手為入侵您的環境而採取的步驟。此外,透過執行適當的事後檢閱,您可以改善防禦和偵測,以防止未來發生事件或更快地偵測對手的動作,從而降低事件產生的影響。

雖然此 IR 程序不是鑑識的主要目標,但許多工具、技術和最佳實務都與 IR 共用 (尤其是分析步驟)。例如,在偵測到事件之後,鑑識收集程序會收集證據。接下來,證據檢查和分析可以幫助提取 IoCs。最後,鑑識報告可以協助執行 IR 後的活動。

我們建議您盡可能自動化鑑識程序,以加快回應速度並減少 IR 利益相關者的負擔。此外,在鑑識收集程序完成並安全地儲存證據以避免污染後,您可以新增更多自動化分析。如需詳細資訊,請參閱 AWS Prescriptive Guidance 網站上的自動化事件回應和鑑識模式。

設計考量

若要改善安全 IR 準備:

  • 啟用並安全地儲存調查或事件回應期間可能需要的日誌。

  • 預先建置已知案例的查詢,並提供搜尋日誌的自動化方式。考慮使用 Amazon Detective。

  • 透過執行模擬準備您的 IR 工具。

  • 定期測試備份和復原程序,以確保它們成功執行。

  • 使用基於場景的教戰手冊,從基於 Amazon 發現的與 AWS 相關的常見潛在事件開始。 GuardDuty 如需如何建立自有手冊的詳細資訊,請參閱 AWS 安全事件回應指南手冊資源部分。

鑑識帳戶

免責聲明

以下 AWS 鑑識帳戶的說明僅供組織使用,作為組織開發自有鑑識功能的起點,並配合其法律顧問的指引。

我們不對本指引在偵測或調查犯罪方面的適合性提出任何聲明,也不會對透過應用本指引擷取的資料或鑑識證據用於法院的能力作出任何聲明。您應該獨立評估此處針對您使用案例所描述的最佳實務是否適用。

下圖說明可在專用鑑識帳戶中設定的 AWS 安全服務。對於內容而言,此圖表顯示了用於描繪在鑑識帳戶中提供偵測或通知的 AWS 服務的安全工具帳戶

AWS 上的鑑識帳戶

鑑識帳戶是安全性 OU 中獨立且專用的安全工具帳戶類型。鑑識帳戶的宗旨是提供標準、預先設定且可重複使用的無塵室,讓組織的鑑識團隊能夠實作鑑識程序的所有階段:收集、檢查、分析和報告。此外,此帳戶也包含範圍內資源的隔離程序。

在單獨的帳戶中包含整個鑑識程序,可讓您對收集和儲存的鑑識資料套用其他存取控制。基於下列原因,建議您將鑑識和安全工具帳戶分離:

  • 鑑識和安全資源可能位於不同的團隊中,或具有不同的許可。

  • 安全工具帳戶可能具有專注於在 AWS 控制平面回應安全事件的自動化功能,例如為 S3 儲存貯體啟用 Amazon S3 封鎖公開存取;而鑑識帳戶還包括客戶可能負責處理的 AWS 資料平面成品,例如 EC2 執行個體中的作業系統 (OS) 或應用程式特定資料。

  • 依據您的組織或法規要求,您可能需要實作其他存取限制或合法保留。

  • 鑑識分析程序可能需要依據 AWS 服務條款,在安全環境中分析惡意程式碼 (例如惡意軟體)。

鑑識帳戶應包括自動化功能,以加快大規模的證據收集,同時最大限度地減少鑑識收集程序中的人為互動。回應和隔離資源的自動化功能也會包含在此帳戶中,以簡化追蹤和報告機制。

即使您的組織並未主動使用這些功能,也應將本節中描述的鑑識功能部署至每個可用的 AWS 區域。如果您不打算使用特定 AWS 區域,則應套用服務控制政策 (SCP) 來限制佈建 AWS 資源。此外,在同一區域內維護鑑識成品的調查和儲存,這樣有助於避免資料落地和擁有權的監管環境不斷變化的問題。

本指引使用先前概述的日誌存檔帳戶,記錄透過 AWS API 在環境中採取的動作,包括在鑑識帳戶中執行的 API。擁有此類日誌可以幫助避免受到不當處理或篡改成品的指控。視您啟用的詳細資料層級而定 (請參閱 AWS CloudTrail 文件中的錄管理事件和記錄資料事件),記錄可能包含用於收集成品的帳戶、收集成品的時間,以及收集資料所採取的步驟等資訊。透過在 Amazon S3 中儲存成品,您也可以使用進階存取控制和有關誰可以存取物件的日誌資訊。詳細的動作日誌可讓其他人在需要時重複該程序 (假設範圍內的資源仍然可用)。

設計考量
  • 同時發生許多事件時,自動化會很有幫助,因為它有助於加速和擴展重要證據的收集。但是,您應仔細考慮這些優勢。例如,如果發生誤報事件,完全自動的鑑識回應可能會對範圍內 AWS 工作負載支援的業務程序產生負面影響。如需詳細資訊,請參閱以下各節中的 AWS GuardDuty、AWS Security Hub 和 AWS Step Functions 的設計考量。

  • 即使您組織的鑑識和安全資源位於同一個團隊中,並且所有功能都可以由團隊的任何成員執行,我們也建議您分離安全工具和鑑識帳戶。將功能分離到不同的帳戶中可進一步支援最低權限,這樣有助於避免持續進行的安全性事件分析造成的污染,並有助於強制執行所收集成品的完整性。

  • 如果您想要進一步強調職責分離、最低權限和限制性防護機制,則可以建立個別的鑑識 OU 來託管此帳戶。

  • 如果您的組織使用不可變的基礎設施資源,則在自動刪除資源 (例如,在縮減規模事件期間) 以及在偵測到安全性事件之前,具有鑑識價值的資訊可能會遺失。若要避免這種情況,請考慮針對每個此類資源執行鑑識收集程序。為了減少收集的資料量,您可以考慮諸如環境、工作負載的業務重要性、處理的資料類型等因素。

  • 考慮使用 Amazon 啟 WorkSpaces 動乾淨的工作站。這可以幫助利益相關者在調查過程中分開採取行動。

Amazon GuardDuty

Amazon GuardDuty 是一種偵測服務,可持續監控惡意活動和未經授權的行為,以保護您的 AWS 帳戶和工作負載。如需 AWS SRA 的一般指引,請參閱安全工具帳戶部分 GuardDuty中的 Amazon

您可以使用 GuardDuty 發現項目來啟動鑑識工作流程,以擷取可能受損 EC2 執行個體的磁碟和記憶體映像。這樣可以減少人為互動,並可大幅加快鑑識資料收集的速度。您可以 GuardDuty 與 Amazon 整合, EventBridge 以自動對新發 GuardDuty 現的回應

GuardDuty 發現類型的列表正在增長。您應該考慮哪些問題清單類型 (例如 Amazon EC2、Amazon EKS、惡意軟體防護等) 應該啟動鑑識工作流程。

您可以使用 GuardDuty 發現項目完全自動化遏制和鑑識資料收集程序的整合,以擷取對磁碟和記憶體構件的調查,並隔離 EC2 執行個體。例如,如果從安全群組移除所有輸入和輸出規則,則可以套用網路 ACL 中斷現有連線,並且連接 IAM 政策以拒絕所有請求。

設計考量
  • 依據 AWS 服務,客戶共同的責任可能會有所不同。例如,只能在執行個體本身上擷取 EC2 執行個體上的揮發性資料,而且可能包含可用作鑑識證據的有價值資料。相反地,回應和調查 Amazon S3 的發現項目主要涉及 CloudTrail 資料或 Amazon S3 存取日誌。應依據客戶的共同責任、一般程序流程以及需要保護保護的擷取成品,在安全工具和鑑識帳戶之間組織回應自動化。

  • 隔離 EC2 執行個體之前,請評估其整體業務影響力和重要性的權重。使用自動化包含 EC2 執行個體之前,請先建立諮詢適當利益相關者的程序。

AWS Security Hub

AWS Security Hub 可讓您全方位地檢視 AWS 中的安全狀態,並可協助您檢查環境是否符合安全業界標準和最佳實務。Security Hub 會從 AWS 整合服務、支援的第三方合作夥伴產品以及可能使用的其他自訂安全產品中收集安全資料。它可協助您持續監控和分析安全趨勢,並識別最高優先級的安全問題。如需 AWS SRA 的一般指引,請參閱安全工具帳戶一節中的 AWS Security Hub

除了監控您的安全狀態外,Security Hub 還支援與 Amazon 整合, EventBridge 以自動修復特定發現項目。例如,您可以定義可以程式設計的自訂動作來執行 AWS Lambda 函數或 AWS Step Functions 工作流程以實作鑑識程序。

Security Hub 自訂動作為授權的安全分析師或資源提供標準化機制,以實作遏制和鑑識自動化。這減少了在遏制和擷取鑑識證據方面的人為互動。您可以在自動化程序中新增手動檢查點,以確認實際需要取證執行鑑識收集。

設計考量事項
  • Security Hub 可與許多服務整合,包括 AWS 合作夥伴解決方案。如果您的組織使用的偵測性安全控制項未經過充分微調,有時會產生誤報提醒,則完全自動化鑑識收集程序會導致不必要地執行該程序。

Amazon EventBridge

Amazon EventBridge 是一種無伺服器事件匯流排服務,可讓您輕鬆地將應用程式與來自各種來源的資料連接起來。它經常用於安全自動化。如需 AWS SRA 的一般指引,請參閱安全工具帳戶部分 EventBridge中的 Amazon

例如,您可以在 Step Functions 中作 EventBridge 為啟動鑑識工作流程的機制,以根據安全監控工具 (例如) 的偵測來擷取磁碟和記憶體影像。 GuardDuty或者,您可以以更手動的方式使用它: EventBridge可以檢測標籤更改事件 CloudTrail,這可以啟動 Step Functions 中的鑑識工作流程。

AWS Step Functions

AWS Step Functions 是一種無伺服器協同運作服務,可讓您整合 AWS Lambda 函數和其他 AWS 服務來建置關鍵業務應用程式。在 Step Functions 圖形化主控台上,您可以將應用程式的工作流程視為一系列事件驅動的步驟。Step Functions 以狀態機器和任務為基礎。在 Step Functions 中,工作流程稱為狀態機器,該狀態機器是一系列事件驅動的步驟。工作流程中的每個步驟稱為狀態。任務狀態代表另一個 AWS 服務 (例如 Lambda) 執行的工作單位。任務狀態可以呼叫任何 AWS 服務或 API。可以使用 Step Functions 中的內建控制項來檢查工作流程中每個步驟的狀態,以確保每個步驟都按照預期的正確順序執行。依據您的使用案例,您可以讓 Step Functions 呼叫 AWS 服務 (例如 Lambda) 來執行任務。也可以為需要人為互動的應用程式建立長時間執行的自動化工作流程。

Step Functions 非常適合搭配鑑識程序使用,因為它支援一組可重複、自動化的預先定義步驟,可透過 AWS 日誌驗證這些步驟。這可以幫助您排除任何人為參與,並避免鑑識程序中的錯誤。

設計考量
  • 您可以手動或自動啟動 Step Functions 工作流程,以擷取和分析安全性資料, GuardDuty 或 Security Hub 指出遭到入侵時。透過最少量或完全沒有人為互動的自動化功能,您的團隊能夠在發生影響許多資源的重大安全事件時快速擴展規模。

  • 若要限制完全自動化的工作流程,您可以在自動化流程中包含某些手動介入的步驟。例如,您可能需要授權的安全分析師或團隊成員檢閱產生的安全性問題清單,並判斷是否要啟動鑑識證據收集,還是隔離並遏制受影響的資源,或者同時執行兩者。

  • 如果您想要在沒有從安全性工具 (例如 GuardDuty 或 Security Hub) 建立的使用中尋找的情況下啟動鑑識調查,您應該實作其他整合,以呼叫鑑識 Step Functions 工作流程。這可以透過建立尋找特定 CloudTrail 事件 (例如標籤變更事件) 的 EventBridge 規則來完成,或允許安全分析師或團隊成員直接從主控台啟動鑑識 Step Functions 工作流程。還可以使用 Step Functions,透過將其與組織的票證系統整合來建立可採取動作的票證。

AWS Lambda

使用 AWS Lambda,您可以在無需佈建或管理伺服器的情況下執行程式碼。您只需為使用的運算時間支付費用。程式碼未執行時無須付費。Lambda 在高可用性的運算基礎設施上執行您的程式碼,並管理所有運算資源,包括伺服器與作業系統維護、容量佈建與自動擴展以及記錄。可以在 Lambda 支援的其中一種語言執行期提供程式碼,然後將程式碼組織到 Lambda 函數中。Lambda 服務只有在需要時才會執行您的函數,並會自動擴展。

在鑑識調查的內容中,使用 Lambda 函數可協助您透過 Lambda 程式碼中定義的可重複、自動化和預先定義的步驟,持續取得結果。Lambda 函數在執行時會建立日誌,這些日誌可協助您驗證是否已實作正確的程序。

設計考量
  • Lambda 函數的逾時時間為 15 分鐘,而收集相關證據的全面鑑識程序可能需要更長的時間。因此,我們建議您使用整合在 Step Functions 工作流程中的 Lambda 函數來協同運作鑑識程序。工作流程可讓您以正確的順序建立 Lambda 函數,而且每個 Lambda 函數都會實作個別的收集步驟。

  • 透過將您的鑑識 Lambda 函數組織到 Step Functions 工作流程中,您可以平行執行鑑識收集程序的多個部分以加快收集速度。例如,當有多個磁碟區在範圍內時,您可以更快地收集有關建立磁碟映像的資訊。

AWS KMS

AWS Key Management Service (AWS KMS) 可協助您建立和管理密碼編譯金鑰,並控制其在 AWS 服務和應用程式中的使用。如需 AWS SRA 的一般指引,請參閱安全工具帳戶一節中的 AWS KMS

作為鑑識程序的一部分,應該在隔離的環境中進行資料收集和調查,以最大程度地減少對業務的影響。在此過程中,資料的安全性和完整性不會受到影響,並且您將需要設定程序,以允許在可能遭到入侵的帳戶和鑑識帳戶之間共用加密資源,例如快照和磁碟區。為達成此目標,您的組織必須確保相關聯的 AWS KMS 資源政策支援讀取加密的資料,以及透過在鑑識帳戶中使用 AWS KMS 金鑰重新加密資料來保護資料的安全。

設計考量事項
  • 組織的 KMS 金鑰政策應允許鑑識的已授權 IAM 主體使用金鑰解密來源帳戶中的資料,並在鑑識帳戶中重新加密該資料。使用基礎設施即程式碼 (IaC) 在 AWS KMS 中集中管理組織的所有金鑰,以協助確保只有授權的 IAM 主體擁有適當的最低特權存取權。這些許可應存在於可用來加密 AWS 上的資源的所有 KMS 金鑰上,可能會在進行鑑識調查期間收集這些金鑰。如果您在安全性事件發生後更新 KMS 金鑰政策,則使用中 KMS 金鑰的後續資源政策更新可能會影響您的業務。此外,許可問題可能會增加安全性事件的整體平均回應時間 (MTTR)。