【SDL实践指南】人工代码审计思路
2023-06-13 09:17:53 时间
文章前言
在SDL安全测试环节的代码审计部分我们通常会使用代码审计工具对源代码进行安全扫描并对扫描结果进行审核从而筛选出其中存在的安全问题并以安全单的形式提交给研发人员进行修复,代码审计工具的好处在于快速全量,但是也会存在很多的误报和漏报问题,故而部分企业在有时间的情况下还会采用人工审核的方式对源代码进行二次安全审计,但是人工审计也存在一个普遍的安全问题就是耗时长且难以保证代码的完全覆盖
审计思路
下面以JAVA项目代码审计为例给出其审计思路:
代码层面
审计人员可以通过对项目代码中存在的不安全编码和使用不安全函数进行检索来查找存在的常见风险,例如:OWASP TOP 10漏洞
- XXE
- SQL注入
- 命令执行
- 文件上传
- 文件读取
- JNID注入
- 反序列化漏洞
- ......
业务层面
审计人员可以通过查阅项目文件夹目录、文件名称以及文件源码中关于代码功能的注释来猜解该部分代码对应的业务功能,之后寻找常见的业务功能设计缺陷:
- 用户登录
- 用户注册
- 密码找回
- 账号充值
- 修改个人资料
- ......
组件框架
审计人员可以通过查阅项目pom文件确定是否使用不安全的第三方开源组件,并通过查看项目文档等说明书确定项目是否有使用不安全的框架:
- 框架类漏洞
- 第三方库类漏洞
- ......
相关文章
- 用Python做一个游戏辅助脚本,完整编程思路分享
- 软件测试用例编写方法_接口测试用例设计思路
- 刷题错题录2-向上取整、三角形条件、字符串拼接匹配、三数排序思路
- 【剑指offer】队列&栈篇-含题目代码思路解析
- 智药公开课第1期回顾|AI药物设计的前沿思路、进展与未来
- 2小时开发《点球射门游戏》,动画演示思路(上),代码已开源
- upload-labs靶场-Pass-05关-思路以及过程
- 故障排除的思路及见解
- Linux下实现线程安全的技术思路(linux下线程安全)
- 实现Linux系统与FPGA设备间通信:一种思路(linuxfpga通信)
- 优化MySQL数据库:实现代码优化的全新思路(mysql数据库 代码)
- Asp.net利用JQueryAJAX实现无刷新评论思路与代码
- 获取Repeter的Item和ItemIndex/CommandArgument实现思路与代码
- android类似微信的摇一摇功能实现思路及代码
- C#.Net动态调用webService实现思路及代码
- 『JavaScript』限制Input只能输入数字实现思路及代码
- floyd算法实现思路及实例代码
- js获取鼠标点击的位置实现思路及代码
- 正则表达式不区分大小写以及解决思路的探索.
- php格式化时间戳显示友好的时间实现思路及代码
- 使用php方法curl抓取AJAX异步内容思路分析及代码分享
- Enter回车切换输入焦点实现思路与代码兼容各大浏览器