

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

# AWS Security Agent 和 AI 輔助滲透測試的安全考量
<a name="security-guidance"></a>

AWS Security Agent 是一種前端代理程式，可在所有環境的開發生命週期中主動保護您的應用程式。它會執行根據您的需求自訂的自動化安全性審查，讓安全團隊集中定義在審查期間自動驗證的標準。Security Agent 會執行為您的應用程式自訂的隨需滲透測試，探索並報告已驗證的安全風險。此方法可將安全專業知識擴展至您的應用程式，以符合開發速度，同時提供全面的安全涵蓋範圍。透過將安全性從設計整合到部署，有助於及早大規模防止漏洞。

安全團隊會在 AWS 主控台中定義組織安全需求一次：核准的授權程式庫、記錄標準和資料存取政策。AWS Security Agent 會在開發過程中自動強制執行這些安全要求，根據您的標準評估架構文件和程式碼，並在偵測到違規時提供特定指引。這可跨團隊提供一致的安全強制執行，並擴展審核以符合開發速度。

為了進行部署驗證，AWS Security Agent 會將滲透測試從定期瓶頸轉換為隨需功能。安全團隊提供目標 URLs、身分驗證詳細資訊、原始程式碼和文件。AWS Security Agent 開發對應用程式的深入理解，並執行複雜的攻擊鏈來探索和驗證漏洞，讓團隊在需要時進行測試。

## 關鍵功能
<a name="_key_capabilities"></a>

AWS Security Agent 提供涵蓋整個開發生命週期的完整安全功能。

## 設計安全審查
<a name="_design_security_review"></a>

AWS Security Agent 會提供設計文件的隨需安全意見回饋，並在編寫程式碼之前評估組織安全需求的合規性。安全團隊會透過 Web 應用程式上傳設計文件，其中代理程式會根據您的安全需求來分析這些文件，並使用修補指引來呈現調查結果。這可將長達數小時的手動審核加速為重點分析，讓團隊能夠在修補最有效率時解決安全問題。

## 程式碼安全性審查
<a name="_code_security_review"></a>

AWS Security Agent 會分析提取請求或上傳的程式碼，以了解組織安全需求，以及缺少輸入驗證和 SQL 注入風險等常見安全問題。代理程式會直接在您的程式碼儲存庫平台內提供修補指引。安全團隊會設定要監控哪些儲存庫、擴展所有程式碼庫的評估，同時持續監督重大問題。

## 隨需滲透測試
<a name="_on_demand_penetration_testing"></a>

AWS Security Agent 提供隨需滲透測試，透過量身打造的多步驟攻擊案例來探索和報告已驗證的安全漏洞。AWS Security Agent 部署專門的 AI 代理程式，從提供的文件和登入資料開發應用程式內容，然後執行複雜的攻擊鏈，以識別傳統工具遺漏的複雜漏洞。它使用影響分析、可重現的攻擊路徑和ready-to-implement程式碼修正來記錄調查結果，加速數週到數小時的滲透測試，以及跨應用程式產品組合進行擴展驗證。

## FAQs
<a name="_faqs"></a>

### 安全性與控制
<a name="_security_control"></a>

#### AWS Security Agent 如何驗證和維護對系統的存取？
<a name="_how_does_aws_security_agent_authenticate_and_maintain_access_to_systems"></a>

滲透測試是 AWS Security Agent 中唯一可在執行時間向使用者系統進行身分驗證的功能。AWS Security Agent 會接受靜態使用者名稱和密碼登入資料 （儲存在 Secrets Manager 中） 形式的登入資料，或登入資料供應商 （做為 Lambda 函數） 做為組態，然後再開始筆測試。這些登入資料用於在筆測試的生命週期內，執行使用者系統/應用程式的正常功能。我們鼓勵使用者建立具有適當範圍許可的新登入資料，以便進行滲透。

#### 使用者是否可以控制測試的範圍和深度，以防止意外的系統影響？
<a name="_can_users_control_the_scope_and_depth_of_testing_to_prevent_unintended_system_impacts"></a>

AWS Security Agent 可讓客戶選取要在端點中探索的特定漏洞類別。使用者可以指定out-of-scopeURLs，以防止 AWS Security Agent 對這些目標執行滲透測試。https：//https://docs.aws.amazon.com/securityagent/latest/userguide/perform-penetration-test.html

#### AWS Security Agent 本身是否會帶來安全風險？
<a name="_can_aws_security_agent_itself_pose_a_security_risk"></a>

系統會指示 AWS Security Agent 探索安全風險，但使用刻意影響最小的承載 （例如擷取 SQL 版本，而不是在發現 SQL 注入攻擊時捨棄資料表）。AWS Security Agent 也受限於確定性護欄，以防止風險行為，例如對目標應用程式造成過多負載。雖然有護欄，但仍可能有無意或非明顯的商業邏輯互動，因此，我們一律建議針對生產前環境進行滲透測試。

#### AWS Security Agent 會收集哪些資料及其存放位置？
<a name="_what_data_does_aws_security_agent_collect_and_where_is_it_stored"></a>

AWS Security Agent 允許使用者上傳成品，以提供其正在測試之應用程式的內容。如需資料保護的詳細資訊，請參閱[AWS Security Agent 中的資料保護](data-protection.md)。AWS Security Agent 會自動選取您地理位置內的最佳區域，以處理您的推論請求。這可將可用的運算資源、模型可用性最大化，並提供最佳客戶體驗。您的資料只會存放在發出請求的區域，但輸入提示和輸出結果可能會在該區域之外處理。所有資料都會透過 Amazon 的安全網路進行加密傳輸。如需詳細資訊，請參閱[跨區域推論](https://docs.aws.amazon.com/securityagent/latest/userguide/security-best-practices.html#_cross_region_inference)。

#### 有哪些控制項可以阻止對端點進行未經授權的測試？
<a name="_what_controls_are_present_to_block_unauthorized_testing_against_an_endpoint"></a>

指定為滲透目標 URLs端點將需要 DNS 驗證或 HTTP 驗證作為擁有權的指標。AWS Security Agent 會要求客戶將 TXT 記錄新增至端點的 DNS，或公開 HTTP Route 傳回驗證字串作為擁有權證明。只有在證明擁有權之後，使用者才能繼續進行 pentest。網路將會封鎖對目標和可存取 URLs 外部 URLs的請求。

客戶負責確保他們擁有適當的授權，以測試可能受其滲透測試活動影響的所有系統。所有 AWS Security Agent 的使用都必須遵守 AWS 可接受的使用政策 (https://aws.amazon.com/aup/：//)。

#### 使用者如何使用 AWS Security Agent 封鎖和報告任何濫用？
<a name="_how_do_users_block_and_report_any_abuse_using_aws_security_agent"></a>

AWS Security Agent 會持續監控請求，並嘗試存取目標 URLs 以外的 URL。如果偵測到濫用，例如嘗試使用 AWS 安全代理程式對第三方端點進行未經授權的測試，帳戶中的任何進行中滲透都將終止。客戶可以聯絡 AWS Support 或其 AWS 客戶團隊尋求協助。

#### AWS Security Agent 是否可以取代筆測試工作流程？
<a name="_can_aws_security_agent_replace_pen_testing_workflow"></a>

AWS Security Agent 不是專業的滲透測試服務，我們鼓勵使用者將 AWS Security Agent 整合到其安全性審查工作流程中。AWS Security Agent 可以在軟體生命週期的開發階段提供隨需滲透測試的可存取性，因為與滲透專業人員互動太早、不切實際或需要重新評估太頻繁。安全專業人員可以從 AWS Security Agent 檢閱問題清單，以驗證問題清單、解釋問題清單，或針對新問題清單 （如果有的話） 延伸問題清單。

#### 使用者可以為不同的團隊成員設定角色型存取控制 (RBAC) 嗎？
<a name="_can_users_set_up_role_based_access_control_rbac_for_different_team_members"></a>

是。AWS Security Agent 與 AWS IAM Identity Center 整合，可讓管理員管理可存取 AWS Security Agent Web 應用程式的團隊成員，以允許使用者建立、管理和檢視設計檢閱和滲透測試。

### 測試功能
<a name="_testing_capabilities"></a>

#### AWS Security Agent 可以偵測哪些類型的漏洞？
<a name="_what_types_of_vulnerabilities_can_aws_security_agent_detect"></a>

AWS Security Agent 會偵測 Web 應用程式 OWASP 前 10 名中的漏洞。AWS Security Agent 提供您可以在下列測試中包含或排除的特定風險類型。問題清單可能會出現在這些風險類別中，或從這些風險類別組合中跟隨潛在客戶所發現的新問題清單。
+  [任意檔案上傳](https://cheatsheetseries.owasp.org/cheatsheets/File_Upload_Cheat_Sheet.html) 
  + 任意檔案上傳會確認應用程式應該能夠防禦假名和惡意檔案，以保護應用程式和使用者的安全
+  [程式碼注入](https://owasp.org/www-community/attacks/Code_Injection) 
  + Code Injection 是攻擊類型的一般術語，包含注入由應用程式解譯/執行的程式碼
+  [命令注入](https://owasp.org/www-community/attacks/Command_Injection) 
  + 命令注入是一種攻擊，其目標是透過易受攻擊的應用程式在主機作業系統上執行任意命令
+  [跨網站指令碼 ](https://owasp.org/www-community/attacks/xss/)(XSS)
  + 跨網站指令碼 (XSS) 攻擊是一種注入，惡意指令碼會注入至其他良性和信任的網站
+  [不安全的直接物件參考](https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/05-Authorization_Testing/04-Testing_for_Insecure_Direct_Object_References) 
  + 當應用程式根據使用者提供的輸入提供直接存取物件時，會發生不安全的直接物件參考 (IDOR)
+  [JSON Web 權杖漏洞](https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/06-Session_Management_Testing/10-Testing_JSON_Web_Tokens) 
  + JWTs是常見的漏洞來源，包括應用程式和基礎程式庫中的漏洞實作方式
+  [本機檔案包含](https://owasp.org/www-project-web-security-testing-guide/v42/4-Web_Application_Security_Testing/07-Input_Validation_Testing/11.1-Testing_for_Local_File_Inclusion) 
  + 檔案包含漏洞可讓攻擊者包含檔案，通常利用目標應用程式中實作的「動態檔案包含」機制
+  [路徑周遊](https://owasp.org/www-community/attacks/Path_Traversal) 
  + 路徑周遊攻擊 （也稱為目錄周遊） 旨在存取存放在 Web 根資料夾外部的檔案和目錄
+  [權限提升](https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/05-Authorization_Testing/03-Testing_for_Privilege_Escalation) 
  + 當使用者存取比平常允許的更多資源或功能，且應用程式應該防止這類提升或變更時，就會發生權限提升
+  [伺服器端請求偽造 ](https://owasp.org/www-community/attacks/Server_Side_Request_Forgery)(SSRF)
  + 伺服器端請求偽造 (SSRF) 會在攻擊者可能濫用伺服器上的功能來讀取或更新內部資源時發生
+  [伺服器端範本注入](https://owasp.org/www-project-web-security-testing-guide/v41/4-Web_Application_Security_Testing/07-Input_Validation_Testing/18-Testing_for_Server_Side_Template_Injection) 
  + 伺服器端範本注入漏洞 (SSTI) 會在使用者輸入以不安全的方式內嵌在範本中，並在伺服器上導致遠端程式碼執行時發生
+  [SQL Injection](https://owasp.org/www-community/attacks/SQL_Injection) 
  + SQL Injection 攻擊包含透過從用戶端到應用程式的輸入資料插入或「注入」SQL 查詢
+  [XML 外部實體](https://owasp.org/www-community/vulnerabilities/XML_External_Entity_(XXE)_Processing) 
  + XML 外部實體攻擊是一種針對剖析 XML 輸入的應用程式的攻擊。當包含外部實體參考的 XML 輸入由設定較弱的 XML 剖析器處理時，就會發生此攻擊

#### AWS Security Agent 支援哪些身分驗證方法？
<a name="_what_authentication_methods_does_aws_security_agent_support"></a>

AWS Security Agent 支援常見的身分驗證方法，包括 OAuth 和 JWT。如需詳細資訊，請參閱 [ 文件](https://docs.aws.amazon.com/securityagent/latest/userguide/provide-testing-credentials.html)。

#### AWS Security Agent 如何處理速率限制和阻斷服務 (DOS) 預防？
<a name="_how_does_aws_security_agent_handle_rate_limiting_and_denial_of_service_dos_prevention"></a>

AWS Security Agent 具有防護機制，可防止其中斷或關閉測試中的端點，包括 DOS。它具有內部速度控制，可偵測和處理非預期的流量模式。

#### AWS Security Agent 可以同時測試 REST 和 GraphQL APIs嗎？
<a name="_can_aws_security_agent_test_both_rest_and_graphql_apis"></a>

是，AWS Security Agent 可以測試 API 端點。我們鼓勵客戶以**其他學習資源**的形式提供 API 文件，讓 AWS Security Agent 能夠更完善地了解所測試每個 API 的形狀和功能。

#### 使用者如何驗證 AWS Security Agent 已涵蓋所有重要的應用程式邏輯和端點？
<a name="_how_can_users_verify_that_aws_security_agent_has_covered_all_critical_application_logic_and_endpoints"></a>

AWS Security Agent 會先對目標應用程式進行廣度探索 （並在嘗試任何入侵之前嘗試正常執行）。這可讓它在執行時間建立對應用程式的工作了解，並探索重要的應用程式邏輯和端點。鑑於其隨機性質，AWS Security Agent 不保證會探索和測試任何目標應用程式的所有關鍵應用程式和端點。AWS Security Agent Web 應用程式可讓您查看所有探索到的端點，以及在滲透測試日誌中採取的動作。

### 準確性和可靠性
<a name="_accuracy_reliability"></a>

#### AWS Security Agent 如何在報告之前驗證問題清單？
<a name="_how_does_aws_security_agent_validate_findings_before_reporting"></a>

AWS Security Agent 使用確定性驗證程式來協助驗證報告的問題清單。在無法使用確定性驗證程式的風險類型中，AWS Security Agent 將獨立重播調查結果步驟，以獲得對調查結果有效性的信心。AWS Security Agent 只會報告高或中可信度問題清單，並依預設隱藏未驗證的問題清單。

#### AWS Security Agent 可以適應自訂應用程式邏輯嗎？
<a name="_can_aws_security_agent_adapt_to_custom_application_logic"></a>

AWS Security Agent 可選擇接受原始碼、威脅模型、設計文件和 API 文件作為**其他學習資源**，以取得使用者導向的內容，用於滲透測試生命週期中所使用的目標應用程式。

#### 使用者可以在執行之前檢閱 AWS Security Agent 測試方法嗎？
<a name="_can_users_review_aws_security_agent_testing_methodology_before_execution"></a>

目前無法預覽 AWS Security Agent 的動作過程。AWS Security Agent 計劃本質上是動態的，以其探索目標應用程式為基礎。客戶可以透過觀察滲透測試日誌，即時監控 AWS Security Agent 探索。如果日誌顯示無效或不想要的軌跡，客戶可以停止持續的滲透執行。

### 整合與部署
<a name="_integration_deployment"></a>

#### AWS Security Agent 是否與安全工具 (SIEM、漏洞管理） 或 CI/CD 管道整合？
<a name="_does_aws_security_agent_integrate_with_security_tools_siem_vulnerability_management_or_cicd_pipelines"></a>

AWS Security Agent 不會與任何現有的安全工具或 CI/CD 管道整合。

#### AWS Security Agent 如何處理環境特定的組態？
<a name="_how_does_aws_security_agent_handle_environment_specific_configurations"></a>

AWS Security Agent 可設定為使用特定 IAM 角色、VPCs 內部、使用客戶指定的應用程式相關登入資料，以及使用 Github 來源儲存庫做為目標應用程式的原始碼參考。

#### AWS Security Agent 可以在氣隙隔離或隔離的環境中執行嗎？
<a name="_can_aws_security_agent_run_in_air_gapped_or_isolated_environments"></a>

 [AWS Security Agent 可以設定為與 VPCs連線](connect-agent-vpc.md)，包括沒有傳出網際網路存取的 VPC。

#### 多個團隊成員可以同時執行測試嗎？
<a name="_can_multiple_team_members_run_tests_simultaneously"></a>

AWS Security Agent 支援每個帳戶 5 個並行 pentest 執行，與誰開始測試無關。客戶最多可以建立 100 個客服人員空間和 1，000 個 Pentest 專案。

### 營運影響
<a name="_operational_impact"></a>

#### 對已測試系統的效能有何影響？
<a name="_whats_the_performance_impact_on_tested_systems"></a>

AWS Security Agent 具有防護機制，以防止其中斷或關閉測試中的端點。這包括 AWS Security Agent 可對端點進行呼叫次數的速度控制。系統或測試中的端點預期會因為筆測試活動而觸發一些流量增加和潛在的監控提醒。我們建議只在生產前環境中執行 AWS Security Agent 或任何筆測試活動。

#### 使用者可以排程或調節 AWS Security Agent 嗎？
<a name="_can_users_schedule_or_throttle_aws_security_agent"></a>

AWS Security Agent 沒有公有 APIs 或能夠排程筆測試執行。啟動筆測試執行時，AWS Security Agent 也不會對目標端點的請求提供並行控制。如果 AWS Security Agent 導致目標端點發生問題，客戶可以停止持續的 pentest(s)。

#### 完整安全性評估的典型持續時間為何？
<a name="_whats_the_typical_duration_for_a_complete_security_assessment"></a>

每個五項測試的執行時間取決於目標應用程式的廣度，以及設定要評估的風險類型。大多數 pentest 執行會在 16 小時內完成。