典型工具如Fortify SCA和Checkmarx,通过静态分析匹配代码中的危险函数调用链。▪ 规则完备性困境:CWE漏洞目录已收录900+条目,每个漏洞存在数十种变体,规则库维护如同“打地鼠”游戏,难以在漏报、误报中取得“好成绩”,往往是修改一条规则,降低了误报率,但是漏报率也随之提升了。
黑客通常利用的漏洞有:软件编写存在bug、设计存在缺陷、系统配置不当、口令失窃、嗅探未加密通讯数据、系统攻击等等,因此提前做好代码审计工作,非常大的好处就是将先于黑客发现系统的安全隐患,提前部署好安全防御措施,保证系统的每个环节在未知环境下都能经得起黑客挑战,可以进一步巩固客户对企业及平台的信赖。
在“攻”方面,传统的通过扫描器扫描站点或利用 NDay来渗透的方式已经受到了很大的制约,现在及未来的典型渗透测试流程是:确定站点指纹→通过旁站扫描备份或开源程序得到源代码→代码审计→利用审计出来的漏洞制定修订措施,所以代码审计能力也越发重要。
OWASP TOP 10总结了Web应用程序中常见且极其危险的十大漏洞,在第5章中我们以2017版本为例详细介绍了这10项漏洞在代码审计中的审计知识,但除了 OWASP Top 10外,还有很多漏洞值得我们在代码审计中给予关注。