赞
踩
源代码审计,顾名思义就是检查源代码中是否存在安全隐患,使用自动化工具以及人工的方式对源代码进行分析检查,发现源代码的这些缺陷引起的漏洞,并提供修复措施和建议。
在开始之前,我们先了解一下MVC设计模式的基本概念:
MVC:全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写。其中:
Model(模型)一般用于放置对数据库进行存取等操作的代码
View(视图)一般用于放置静态资源如前端代码、css等
Controller(控制器)用于存放接受用户输入和业务逻辑处理的代码。
我们以Java的SpringMVC来举例,SpringBoot项目的三层架构如下:
Model层:包含service层和dao层
Service层用来实现业务逻辑
Dao层的作用是封装对数据库的访问:增删改查,不涉及业务逻辑
Controller层:负责业务模块的流程控制
View层:html、css、js等等
过程如下:
有了这些知识之后,我们就可以大致定位到文件位置了。
下面我们来介绍三种常用的代码审计的方式:
全文通读 |
敏感函数溯源 |
功能点定向审计 |
|
说明 |
从系统入口开始审计,分析所有数据流走向。 |
搜索敏感函数,逆向追踪参数的传递过程,分析参数是否可控。 |
定位敏感功能点,分析其是否存在安全缺陷。 |
优点 |
能够覆盖所有请求入口,避免了遗漏代码的情况。 |
高效。 |
高效 |
缺点 |
需要足够的时间与精力 |
对系统整体结构了解不够深入,无法覆盖逻辑漏洞。 |
容易出现审计遗漏的情况。 |
说明:上述三种方
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。