01
关于代码安全审计
代码安全审计是查找代码中安全漏洞的方法。在“安全左移”的发展趋势下,代码审计逐渐成为确保代码质量的一个关键环节。代码安全审计通常可以分为:自动化审计和人工审计。
自动化代码安全审计是以自动化工具的方式查找代码的安全漏洞,这样的工具一般称为静态代码检测工具(SAST)。SAST的一大优势是能够极大地减少查找代码漏洞的时间。
静态代码分析流程然而,这类工具往往最让人印象深刻的首先就是“误报率”,据统计,SAST类的产品在OWASP基准测试中最高检出率达到85%,但误报率也高达52%。高误报率的主要原因在于程序无法准确理解开发人员的代码含义。其次,自动化代码安全审计往往无法查找业务相关的漏洞,比如支付漏洞、任意密码重置,优惠券叠加等。
相比于自动化,人工审计优势在于查找业务逻辑相关漏洞,但对应成本也远高于自动化工作,主要体现在两方面:
①学习成本
审计业务逻辑漏洞需要做到“三懂”:
a)懂代码。不同系统使用的代码和开发平台是不同的,Java、C#和PHP甚至是C++,各自