admin管理员组

文章数量:1606194

【Java代码审计】代码审计的方法及常用工具

  • 1.代码审计的常用思路
  • 2.代码审计辅助工具
    • 代码编辑器
    • 测试工具
    • 反编译工具
    • Java 代码静态扫描工具
    • 提升代码审计效率的小工具

1.代码审计的常用思路

1、接口排查(“正向追踪”):先找出从外部接口接收的参数,并跟踪其传递过程,观察是否有参数校验不严的变量传入高危方法中,或者在传递的过程中是否有代码逻辑漏洞

2、危险方法溯源(“逆向追踪”):检查敏感方法的参数,并查看参数的传递与处理,判断变量是否可控并且已经过严格的过滤

3、功能点定向审计:根据经验判断该类应用通常会在哪些功能中出现漏洞,直接审计该类功能的代码

4、第三方组件、中间件版本比对:检查 Web 应用所使用的第三方组件或中间件的版本是否受到已知漏洞的影响

5、补丁比对:通过对补丁做比对,反推漏洞出处

6、“黑盒测试”+“白盒测试”:白盒测试少直觉,黑盒测试难入微。虽然代码审计的过程须以“白盒测试”为主,但是在过程中辅以“黑盒测试”将有助于快速定位到接口或做更全面的分析判断。另外,交互式应用安全测试技术 IAST 就结合了“黑盒测试”与“白盒测试”的特点

7、“代码静态扫描工具”+“人工研判”:对于某些漏洞,使用代码静态扫描工具代替人工漏洞挖掘可以显著提高审计工作的效率。然而,代码静态扫描工具也存在“误报率高”等缺陷,具体使用时往往需要进一步研判

8、开发框架安全

本文标签: 代码常用工具方法Java