Amazon Inspector 掃描 AWS Lambda 功能 - Amazon Inspector

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

Amazon Inspector 掃描 AWS Lambda 功能

Amazon Inspector 對 AWS Lambda 功能的支援可為 Lambda 函數和層提供持續、自動化的安全漏洞評估。Amazon Inspector 提供兩種類型的 Lambda 掃描。這些掃描類型會尋找不同類型的弱點。

Amazon Inspector Lambda 標準

這是預設的 Lambda 掃描類型。Lambda 標準掃描會掃描 Lambda 函數及其層中的應用程式相依性,找出套件漏洞。如需詳細資訊,請參閱 Lambda 準掃描

Amazon Inspector Lambda 代碼

此掃描類型會掃描函數和層中的自訂應用程式程式碼,以找出程式碼弱點。您可以啟動 Lambda 標準掃描,或同時啟動 Lambda 標準掃描和 Lambda 程式碼掃描。如需詳細資訊,請參閱 Amazon Inspector Lambda 代碼

當您啟用 Lambda 掃描時,Amazon Inspector 會在您的帳戶中建立下列 AWS CloudTrail 服務連結通道:

  • cloudtrail:CreateServiceLinkedChannel

  • cloudtrail:DeleteServiceLinkedChannel

Amazon Inspector 會管理這些通道,並使用這些通道監控您的 CloudTrail 事件以進行掃描。如需有關服務連結通道的詳細資訊,請參閱使用 CLI 檢視的服務連結 CloudTrail 通道。 AWS

注意

Amazon Inspector 建立的服務連結管道可讓您查看帳戶中的 CloudTrail 事件,就像有 CloudTrail 追蹤一樣,不過,我們建議您建立自己的管道 CloudTrail 來管理帳戶的事件。

如需啟用 Lambda 函數掃描的指示,請參閱啟動掃瞄類型

Lambda 函數掃描的掃描行為

啟用後,Amazon Inspector 會掃描您帳戶中過去 90 天內叫用或更新的所有 Lambda 函數。在下列情況下,Amazon Inspector 會啟動 Lambda 函數的弱點掃描:

  • 一旦 Amazon Inspector 發現現有 Lambda 函數。

  • 當您將新的 Lambda 函數部署到 Lambda 服務時。

  • 當您對現有的 Lambda 函數或其層的應用程式程式碼或相依性部署更新時。

  • 每當 Amazon Inspector 新增一個常見漏洞和暴露 (CVE) 項目到其資料庫,而該 CVE 與您的函數相關時。

Amazon Inspector 會在整個使用期間監控每個 Lambda 函數,直到將其刪除或從掃描中排除為止。

您可以從帳戶管理頁面上的 Lambda 函數索引標籤或使用 ListCoverageAPI 來檢查 Lambda 函數是否有漏洞的最後一次檢查時間。Amazon Inspector 會更新 Lambda 函數的「上次掃描時間」欄位,以回應下列事件:

  • 當 Amazon Inspector 完成 Lambda 函數的初始掃描時。

  • 當一個 Lambda 函數被更新。

  • 當 Amazon Inspector 重新掃描 Lambda 函數時,因為影響該函數的新 CVE 項目已添加到 Amazon Inspector 數據庫中。

支援的執行階段和合格函數

Amazon Inspector 支援 Lambda 標準掃描和 Lambda 程式碼掃描的不同執行階段 如需每種掃瞄類型支援的執行階段清單,請參閱支援的執行階段:Amazon Inspector Lambda 標準支援的執行階段:Amazon Inspector Lambda 程式

除了具有受支援的執行階段之外,Lambda 函數還需要符合下列條件,才能符合 Amazon Inspector 掃描的資格:

  • 該函數在過去 90 天內已被調用或更新。

  • 該功能被標記$LATEST

  • 該功能不會從標籤的掃描中排除。

注意

過去 90 天內未叫用或修改的 Lambda 函數會自動從掃描中排除。如果再次呼叫自動排除的函數,或對 Lambda 函數程式碼進行變更,Amazon Inspector 將繼續掃描該函數。

Amazon Inspector Lambda 標準

Amazon Inspector Lambda 標準掃描可識別您新增至 Lambda 函數程式碼和層的應用程式套件相依性中的軟體弱點。例如,如果您的 Lambda 函數使用具有已知漏洞的python-jwt套件版本,則 Lambda 標準掃描將為該函數產生一個發現項目。

如果 Amazon Inspector 在您的 Lambda 函數應用程式 Package 相依性中偵測到漏洞,Amazon Inspector 會產生詳細的套件漏洞類型發現。

如需啟動掃瞄類型的指示,請參閱啟動掃瞄類型

注意

Lambda 標準掃描不會掃描預設安裝在 Lambda 執行階段環境中的 AWS SDK 相依性。Amazon Inspector 只會掃描使用函數程式碼上傳或從圖層繼承而來的相依性。

注意

停用 Amazon Inspector Lambda 標準掃描也會停用 Amazon Inspector Lambda 代碼掃描。

從 Lambda 標準掃描中排除函數

您可以標記某些函數,將其排除在 Amazon Inspector Lambda 標準掃描之外。從掃描中排除功能有助於防止無法執行的警示。

若要從 Lambda 標準掃描中排除 Lambda 函數,請使用下列索引鍵值組標記函數:

  • 關鍵字:InspectorExclusion

  • 值:LambdaStandardScanning

若要從 Lambda 標準掃描中排除函數
  1. 使用您的認證登入,然後在 https://console.aws.amazon.com/lambda/ 開啟 Lambda 主控台。

  2. 選取函數

  3. 從函數表格中,選取您要從 Amazon Inspector Lambda 標準掃描中排除的函數名稱。

  4. 選取組態,然後從功能表中選擇「標籤」。

  5. 選取管理標籤,然後選取新增標籤

  6. 在「機」欄位中輸入InspectorExclusion,然後在「」欄位中輸入LambdaStandardScanning

  7. 選取儲存以新增標籤,並從 Amazon Inspector Lambda 標準掃描中排除您的函數。

如需在 Lambda 中新增標籤的詳細資訊,請參閱在 L ambda 函數上使用標籤

Amazon Inspector Lambda 代碼

重要

此功能還會擷取 Lambda 函數的片段,以突出顯示偵測到的弱點,而這些程式碼片段可能會以純文字顯示硬式編碼的認證或其他敏感資料。

Lambda 程式碼掃描會掃描 Lambda 函數中的自訂應用程式程式碼,找出以 AWS 安全性最佳實務為基礎的程式碼弱點,並可偵測下列項目:

  • 注入缺陷

  • 資料外洩

  • 弱密碼

  • 代碼中缺少加密

如需有關可用區域的資訊,請參閱區域特定功能的可用性

注意

您可以使用 Lambda 標準掃描來啟動 Lambda 程式碼掃描。

Amazon Inspector 使用自動推理和機器學習來評估您與 Amazon 合作開發的 Lambda 函數應用程式程式碼和內部偵測器, CodeGuru 以識別違反政策和漏洞。如需可能偵測的清單,請參閱偵測CodeGuru 器程式庫

如果 Amazon Inspector 在您的 Lambda 函數應用程式程式碼中偵測到漏洞,就會產生程式碼弱點尋找類型。此尋找項目類型包含顯示問題的程式碼片段、指定此問題在程式碼中的位置,以及建議如何修正問題。修正建議包括可用來取 plug-and-play 代易受攻擊的程式碼行的程式碼區塊。除了針對此發現項目類型的一般程式碼修正指引之外,還提供建議的程式碼修正。

程式碼修正建議是由自動推理和生成人工智慧服務提供支援,而且可能無法如預期般運作。不過,您必須對所採用的程式碼修正建議負責。在採用程式碼修正建議之前,請務必先檢閱程式碼修正建議,因為您可能需要進行編輯以確保程式碼能如預期執行。如需詳細資訊,請參閱負責任的 AI 政策

發現程式碼漏洞中的程式碼加密

CodeGuru 儲存偵測到與使用 Lambda 程式碼掃描發現的程式碼弱點有關的程式碼片段。

根據預設, CodeGuru 控制用來加密程式碼的AWS 擁有金鑰。不過,您可以透過 Amazon Inspector API 使用自己的客戶受管金鑰進行加密。如需詳細資訊,請參閱 靜態加密發現項目中的程式碼

Lambda 程式碼掃描可透過 Lambda 標準掃描來啟動。如需啟動掃瞄類型的指示,請參閱啟動掃瞄類型

從 Lambda 程式碼掃描排除函數

若要停止接收無法執行的警示,您可以標記要從 Lambda 程式碼掃描中排除的 Lambda 函數。

當您標記要從 Lambda 程式碼掃描中排除的 Lambda 函數時,請使用下列索引鍵值組:

  • 索引鍵 – InspectorCodeExclusion

  • 價值 — LambdaCodeScanning

下列程序詳細說明如何執行此操作。

若要從 Lambda 程式碼掃描中排除函數
  1. 使用您的認證登入,然後在 https://console.aws.amazon.com/lambda/ 開啟 Lambda 主控台。

  2. 選取函數

  3. 從函數表格中,選取您要從 Amazon Inspector Lambda 程式碼掃描中排除的函數名稱。

  4. 選擇 Configuration (組態),然後選擇 Tags (標籤)。

  5. 選擇管理標籤,然後選擇新增新的標籤

  6. 在「機」欄位中,輸入InspectorCodeExclusion。在「」欄位中輸入LambdaCodeScanning

  7. 選擇 [儲存] 以新增將函數從 Lambda 程式碼掃描中排除的標籤。

如需有關在 Lambda 中新增標籤的詳細資訊,請參閱AWS Lambda 開發人員指南中的對 Lambda 函數使用標籤