雲端 AI 鑑識:AWS
AWS AI 服務的鑑識調查技術,包含 SageMaker、Bedrock 及相關基礎設施的日誌與證據蒐集。
概觀
AWS 為訓練、部署與推論 AI/ML 工作負載提供豐富服務:SageMaker(訓練、託管、筆記本、流水線)、Bedrock(基礎模型 API 與 agents)、Comprehend、Rekognition、Textract 等。當 AI 事件發生在 AWS 時,鑑識調查橫跨多項服務,每項都有自己的日誌與稽核模型。
此外,AWS AI 工作負載通常涉及跨帳號存取(例如 Bedrock Cross-Account)、多區域部署,以及透過 S3、Lambda、API Gateway 與 Kinesis 等整合的資料流。有效鑑識需系統性地啟用正確日誌、定義保留政策,並建立跨服務的可查詢稽核軌跡。
AWS AI 服務的日誌與稽核
CloudTrail:控制平面事件
CloudTrail 記錄 AWS API 呼叫,對 AI 事件鑑識至關重要。啟用:
- Management Events:SageMaker、Bedrock 等服務的所有控制平面呼叫(模型建立/刪除、權限變更)
- Data Events:S3 物件層級存取(模型權重下載)、Lambda Invoke、Bedrock InvokeModel
- Insights Events:偵測異常 API 呼叫模式
將 CloudTrail 軌跡傳送至:專用鑑識 S3 桶(不同帳號、MFA 刪除、物件鎖定)、CloudWatch Logs(即時告警)、Athena 表(ad-hoc 查詢)。
SageMaker 日誌
SageMaker 日誌分散於多個位置:
- 訓練作業日誌:演算法輸出到 CloudWatch Logs(
/aws/sagemaker/TrainingJobs) - 端點存取日誌:推論請求/回應到 CloudWatch(
/aws/sagemaker/Endpoints) - 模型監控報告:資料品質、模型品質、偏見漂移到 S3
- 筆記本活動:透過 CloudTrail 與 CloudWatch Events 記錄
- Pipelines 執行日誌:步驟級執行詳情到 CloudWatch
Bedrock 日誌
Bedrock 呼叫需顯式啟用日誌:
- Model Invocation Logging:在 Bedrock 控制台啟用,記錄完整輸入/輸出。支援寫入 S3 與 CloudWatch Logs。
- CloudTrail Data Events:InvokeModel、InvokeModelWithResponseStream 的 API 層級事件
- Agents 日誌:Bedrock Agents 呼叫的流水線包括 trace、action group 呼叫,寫入 CloudWatch
VPC Flow Logs
對於 VPC 私有端點或 PrivateLink 連線的 AI 服務,VPC Flow Logs 捕捉來源/目標 IP、埠與流量,用於識別異常資料外流或來自未預期工作負載的存取。
鑑識證據蒐集
事件發生時的立即步驟
- 啟用防刪除:對所有相關 S3 桶套用物件鎖定,防止攻擊者清除證據
- 建立 AMI 快照:對任何相關 EC2(SageMaker Notebook 背後的執行個體)拍攝 AMI
- 擷取模型快照:將 SageMaker 模型與端點組態匯出到鑑識 S3 桶;含權重、Docker 映像、推論程式碼的 ECR 參考
- 匯出 IAM 狀態:快照所有相關角色、政策、用戶與金鑰
- 擷取 CloudTrail 時間視窗:查詢並下載涵蓋事件時間視窗的 CloudTrail 事件
透過 Athena 進行跨服務關聯
將 CloudTrail、VPC Flow Logs、應用日誌匯入 Athena 表後,可寫跨服務查詢。常見範本:
- 查詢特定 IAM 角色在時間視窗內的所有 SageMaker 動作
- 列出與嫌疑金鑰相關的所有 Bedrock InvokeModel 呼叫
- 關聯 CloudTrail 事件與 VPC Flow Logs 以識別資料外流
- 比較基準週期與事件週期的 API 呼叫模式
AWSForensicsQueryBuilder 類別封裝常見 Athena 查詢,如 query_sagemaker_endpoint_access(endpoint_name, start_time, end_time) 產生查詢 SageMaker 呼叫的 SQL、query_bedrock_invocations(principal_arn, start_time, end_time) 等。
調查常見 AWS AI 事件
SageMaker 訓練作業遭劫持
指標:未預期的訓練作業啟動、異常的 GPU 實例類型、訓練資料來自非預期 S3 桶、角色承擔 (AssumeRole) 行為異常。
調查步驟:
- 從 CloudTrail 擷取 CreateTrainingJob 的完整事件 JSON
- 檢查 RoleArn 與 InputDataConfig 以判定來源資料桶
- 從訓練作業日誌(CloudWatch)擷取演算法輸出,尋找異常行為
- 追蹤輸出模型成品:是否被寫入未預期位置?
- 檢查 IAM 角色與其最近變更,以識別權限提升路徑
Bedrock 金鑰或 Identity Pool 被妥協
指標:來自未預期區域的 InvokeModel、令牌消耗尖峰、模型清單中出現非組織啟用的模型。
調查步驟:
- 查詢 CloudTrail 的 InvokeModel Data Events 以取得完整時間線
- 檢視 Bedrock Model Invocation Logs(若啟用)以取得完整載荷
- 檢查 Bedrock Guardrails 組態是否被修改(停用 PII 偵測、延伸允許話題)
- 追蹤用戶身分:IAM User、SSO、SAML、STS 長效金鑰
- 關聯 Bedrock 呼叫與其他 AWS 服務存取以建立完整時間線
SageMaker Notebook 上的資料外洩
指標:異常 S3 GetObject 模式、從 Notebook 到外部端點的出站流量、執行 curl/wget 的 Shell 命令。
調查步驟:
- 從 EC2 執行個體拍攝 AMI 快照(Notebook 背後的 EBS 磁碟)
- 從 CloudWatch Agent 擷取 Shell 命令記錄(若已啟用)
- 檢查 VPC Flow Logs 以尋找資料外流
- 檢視 Notebook lifecycle 組態是否含惡意啟動腳本
- 審視相關 KMS 金鑰政策、S3 桶政策與 IAM 角色信任關係
自動化鑑識工作流程
AWS Lambda 為基礎的偵測
可將 CloudTrail 事件透過 EventBridge 送至 Lambda 以即時觸發鑑識:
- 偵測到 CreateModel/CreateEndpoint 等高敏感 API → 即時通知
- 偵測到 IAM 政策附加給 AI 服務角色 → 評估變更是否合規
- 偵測到 Bedrock Model Invocation Logging 被關閉 → 立即告警(可能的反鑑識跡象)
鑑識劇本:Boto3 實作
AWSAIForensicsCollector 類別提供:
snapshot_sagemaker_endpoint(endpoint_name):擷取 EndpointConfig、Model、Image URI、最近 CreateEndpoint 事件export_cloudtrail_events(principal_arn, start, end, output_bucket):匯出時間視窗內特定主體的 CloudTrail 事件至鑑識桶capture_iam_role_state(role_arn):快照角色、信任關係、所有附加政策、對應的 STS 活動enumerate_bedrock_invocations(start, end, filter):從啟用的 Model Invocation Logs 蒐集呼叫
跨帳號與組織考量
AWS Organizations 提供 CloudTrail Organization Trails 以集中跨帳號日誌。對 AI 鑑識,建議:
- 組織層級啟用 CloudTrail,避免被攻擊者於成員帳號中停用
- 建立專用鑑識帳號,其他帳號無法寫入(只能讀、僅 MFA 刪除)
- 為 S3 物件鎖定設定合規保留期限
- 對鑑識桶啟用 MFA Delete 以防止意外或惡意刪除
參考資料
- AWS. (2024). AWS Security Incident Response Guide. https://docs.aws.amazon.com/whitepapers/latest/aws-security-incident-response-guide/
- AWS. (2024). Amazon Bedrock Model Invocation Logging. https://docs.aws.amazon.com/bedrock/latest/userguide/model-invocation-logging.html
- AWS. (2024). Monitoring Amazon SageMaker with CloudTrail. https://docs.aws.amazon.com/sagemaker/latest/dg/logging-using-cloudtrail.html
- MITRE ATLAS. (2024). Cloud-related AI attack techniques. https://atlas.mitre.org/