源代码审计是一种通过检查源代码来发现潜在的安全漏洞的方法。
下面是常用的源代码审计工具:
1、Fortify:通过内置的五大主要分析引擎,对源代码进行静态分析,并与特有的软件安全漏洞规则集进行全面地匹配、查找。
2、Checkmax:通过虚拟编译器自动对软件源代码分析,并建立了代码元素及代码元素之间关系的逻辑图。 然后对这个内部代码图进行查询,包含已知安全漏洞和质量缺陷问题预先设定好的查询列表。
3、CodeQL:在 CodeQL 中,代码被视为数据,安全漏洞则被建模为可以对数据库执行的查询语句。
4、SonarQube:是一个用于代码质量管理的开源平台,用于管理源代码的质量。
在审计源代码时,还可以采用正向追踪数据流和逆向溯源数据流两种方法。正向追踪数据流是指跟踪用户输入参数,来到代码逻辑,最后审计代码逻辑缺陷并尝试构造payload;逆向溯源数据流是指从字符串搜索指定操作函数开始,跟踪函数可控参数,审计代码逻辑缺陷并尝试构造payload。从开发者的位置去思考问题,可以快速定位问题。 学习面向对象编程以及面向过程编程,编写一些项目提升对代码的理解能力,再是对各种漏洞可以独立挖掘利用并能理解漏洞的危害。
更多回帖