应用安全(AppSec)
应用安全(AppSec) 是什么?
应用安全(AppSec)一门贯穿软件全生命周期的学科,通过设计、构建、测试与运营软件,使其能够抵御滥用、篡改和未授权访问。
应用安全涵盖用于确保软件不存在可被利用的弱点、并能够在生产环境中自我防御的全部人员、流程与工具。它的范围包括威胁建模、安全设计、安全编码规范、代码评审、自动化测试(SAST、DAST、IAST、SCA)、依赖治理,以及 WAF、RASP 等运行时保护。AppSec 团队与研发团队协作,将安全门禁嵌入 CI/CD 流水线,从而在修复成本最低的早期阶段发现漏洞。其目标并非追求完美,而是达到可接受的风险水平,在交付速度、攻击面与一旦被攻陷所造成的业务影响之间取得平衡。
这门学科的紧迫性源自一系列将单个代码缺陷演变为大规模数据泄露的事件。2017 年 Equifax 约 1.47 亿条记录被泄露,根源是 Apache Struts 中一个未修补的远程代码执行漏洞(CVE-2017-5638)——这是一次软件成分与补丁管理的失败。随后的 Log4Shell(CVE-2021-44228,CVSS 10.0)又表明,仅一个日志库就能在几乎一夜之间使数万家组织面临远程代码执行的风险,使软件成分分析(SCA)和软件物料清单(SBOM)上升为董事会层面的议题。现代安全计划依据 OWASP Top 10(2021)和 CWE Top 25 对问题进行优先级排序,并越来越多地借助 EPSS 和 CISA KEV 目录来衡量真实世界中的可利用性,而不再仅凭 CVSS。
flowchart LR
A[威胁建模与安全设计] --> B[安全编码]
B --> C[CI 中的 SAST / SCA]
C --> D{门禁通过?}
D -- 否 --> B
D -- 是 --> E[预发布环境 DAST]
E --> F[部署]
F --> G[运行时:WAF / RASP]
G --> H[监控与反馈]
H --> A成熟的 AppSec 既向左移动以实现廉价的早期修复,又保留运行时防御,因为没有任何流水线能捕获一切。核心习惯包括:锁定并验证依赖、强制实施最小权限、参数化查询、校验输入并编码输出,以及将生产环境的遥测数据反馈到下一轮威胁建模中。
● 示例
- 01
在 GitHub Actions 流水线中加入 Semgrep SAST 扫描与 Snyk SCA 检查。
- 02
在每次发布前对预发布环境运行 OWASP ZAP 的 DAST 扫描。
● 常见问题
应用安全(AppSec) 是什么?
一门贯穿软件全生命周期的学科,通过设计、构建、测试与运营软件,使其能够抵御滥用、篡改和未授权访问。 它属于网络安全的 应用安全 分类。
应用安全(AppSec) 是什么意思?
一门贯穿软件全生命周期的学科,通过设计、构建、测试与运营软件,使其能够抵御滥用、篡改和未授权访问。
如何防御 应用安全(AppSec)?
针对 应用安全(AppSec) 的防御通常结合技术控制与运营实践,详见上方完整定义。
应用安全(AppSec) 还有哪些其他名称?
常见的别称包括: AppSec, 软件安全。