

# 应用程序安全性
<a name="application-security"></a>

 应用程序安全（AppSec）介绍了如何设计、构建和测试所开发工作负载的安全属性的整个过程。组织中应该有经过适当培训的人员，了解构建和发布基础设施的安全属性，并使用自动化来发现安全问题。

 在软件开发生命周期（SDLC）和发布后流程的常规部分采用应用程序安全性测试，有助于确保您拥有一种结构化的机制来识别、修复和防止应用程序安全性问题进入生产环境。

 在设计、构建、部署和操作工作负载时，应用程序开发方法应该包括安全控制机制。在此过程中，协调流程以持续减少缺陷并尽可能减少技术债务。例如，在设计阶段使用威胁建模有助于及早发现设计缺陷，这使得缺陷更易于修复，修复的成本更低，而不是等到以后再来缓解这些缺陷。

 在 SDLC 中，越早的阶段，解决缺陷的成本和复杂性通常就会越低。解决问题最简单的方法就是从一开始就不要有问题，所以从威胁模型开始有助于您在设计阶段专注于实现正确的结果。随着 AppSec 计划日渐成熟，您可以增加使用自动化执行的测试数量，提高向构建者提出的反馈的准确性，并减少安全审查所需的时间。所有这些操作都可以提高所构建软件的质量，并加快将新功能推向生产环境的速度。

 这些实施指南侧重于四个方面：组织和文化、管道*的*安全性、管道*中的*安全性以及依赖关系管理。每个领域提供了一组可以实施的原则，并提供了有关如何设计、开发、构建、部署和运营工作负载的端到端视图。

 在 AWS 中，可以使用很多方法来处理应用程序安全计划。其中有些方法依赖于技术，而有些方法侧重于应用程序安全计划的人员和组织方面。

**Topics**
+ [SEC11-BP01 应用程序安全性培训](sec_appsec_train_for_application_security.md)
+ [SEC11-BP02 在整个开发和发布生命周期中执行自动化测试](sec_appsec_automate_testing_throughout_lifecycle.md)
+ [SEC11-BP03 定期执行渗透测试](sec_appsec_perform_regular_penetration_testing.md)
+ [SEC11-BP04 实施代码审查](sec_appsec_manual_code_reviews.md)
+ [SEC11-BP05 集中管理服务，方便获取软件包和依赖项](sec_appsec_centralize_services_for_packages_and_dependencies.md)
+ [SEC11-BP06 以编程方式部署软件](sec_appsec_deploy_software_programmatically.md)
+ [SEC11-BP07 定期评测管道的安全属性](sec_appsec_regularly_assess_security_properties_of_pipelines.md)
+ [SEC11-BP08 建立规程，让工作负载团队负责安全领域](sec_appsec_build_program_that_embeds_security_ownership_in_teams.md)