AppSec是在软件开发生命周期每一步的全栈软件安全,不仅仅是渗透测试,漏洞修复
关于appsec的几个点
1. 培训。
应用安全需要很好的沟通,能够把安全的知识传输给更多的开发团队。包括在安全原则,安全架构,安全编码中等方面对开发进行培训,意识官宣,包括进一步的专业培训。帮忙他们了解识别威胁,帮助他们选择合适的安全控制(加密,授权,认证,等)减轻这些威胁
2. 供应链管理。
在开发之前进行第三方组件的扫描能给个保护开发生产环境免于恶意软件的攻击。为了防护已知漏洞,要在软件开发的,部署,运维的生命周期中持续进行扫描
3. 设计。(安全需求分析, 安全架构设计,威胁建模)
AppSec 从系统的安全需求分析开始,从use case, abuse case 到安全use case,安全 abuse case
application security verification standard ASVS 是一个有用的guideline,必须了解需求,定义测试用例,跟踪他们直到发布,并记录在安全需求跟踪矩阵中 security requirement traceability matrix
4. 实施
包括安全编码,sast,sca 安全需求review,安全编码review
appsec是个自动化的安全门禁来检查代码是否是安全编写的。
sast检查代码中的安全漏洞,SCA检查三方组件,确保不含有漏洞。appsec是在QA测试之前reivew安全,检查需要测试验证的安全需求有被实施。
对于安全要求高,较为敏感的系统,应该结合人工安全代码review和白盒测试
5. 测试
安全测试,IAST,DAST,渗透测试
DAST跟IAST是基础的,IAST插桩,跟踪app的行为
6 运维安全
AppSec是保证安全开发原则被实施。变更管理,配置管理的流程应该具备
保证credentials 被安全保存,保证debug logging没有开启。。。。
RASP用来防护0日漏洞