web应用安全检测基本常识

安全 · systemofdown · 于 2年前 发布 · 1174 次阅读

安全的历史课题

  1. 安全扫描:一般安全扫描实施会有一个扫描列表,并且配有白名单和不可扫主机,如果被扫业务代码不够强壮, 一旦扫描payload被业务认为是无效的脏数据,服务会受影响。解决此问题,如上所述,需要定制化扫描,针对新业务上线,老业务回归扫描检查,进行细化到接口级的扫描,不是一个域名一把梭。

  2. 代码审计:代码审计误报率, 审计程序和策略都是人来写的,存在误报场景。但自动化安检处理可以突出重点误报率低的问题, 对代码审计特别擅长的漏洞,给于突出的展示空间,抓主要问题,核心威胁。 当业务方触发自动安全检查流程时,让代码审计与安全扫描强强联合,针对那些不能轻易通过扫描被发现的漏洞,或是非常耗时,依赖设计各种复杂Payload扫描发现漏洞的场景,让扫描和审计协同来完成,比如:挂马问题,代码审计可直接扫描代码发现问题,再联合扫描执行进行多重威胁确认。

检测范围

结合实际情况,安全扫描中SQL注入、WEB扫描、通用CVE与挂马检查作为代码检查的重点。一般情况,检查项目越多,误报同比会变高,如果不想被误报威胁信息淹没,前期我们可以集中处理高危的威胁,等系统问题,针对各种误报针对性解决。

安检流程

我们抽出一个业务处理逻辑,进行强化说明, 当业务发起安检提交请求后,如何具体触发子系统做了那些居体工作。数据接口设计完之后系统的输入已经明确,接口驱动系统工作的顺序,如下图。

自助安全扫描与代码审计系统架构实践

  1. 代码拉取:取得git address字段的地址,分发调用代码审计服务,去具体的git中下载项目代码。其实可以单独通过一个字段让源码推送给的安查系统,但这样有加密成本,并且没有代码下载历史版本管理,如果出现问题,无法溯源代码操作责任人。

  2. 代码审计:对拉取源码进行审计。 更新的码与工程中其它代码是有依赖关系的话,如果时间允许,可审计相关文件模块,甚至整体项目代码。

  3. 审计报告:作成代码审计报告,安检请求同步发出, 但报告可异步发回。

  4. 路由解析:代码审计系统取得代码后,对源代码进行词法语法分析,再做路由检查处理,取得具体路由的params参数。一般情况,路由的对应的参数是需要人工添加的,但对一些找不到第一开发者的项目,采用自动匹配的方式收集对应参数,这种情况需要特别处理。

  5. 接口扫描:对已取得的域名、路由、参数的接口进行针对性的WEB安全性检查,扫描的模块往往都是有很多种的,对同一接口,可采用多种扫描工具进行扫描,sqlmap、nmap、WVS、nessus等。如果想收集更多的信息,可采用代理方式进行扫描,在代理服务器上,可以收集更多信息。

  6. 扫描报告:输出扫描检查报告。 扫描的结果可入库,通过库内容对比,进行接口威胁状态跟踪。

更多信息请关注原文:

自助安全扫描与代码审计系统架构实践

共收到 0 条回复
没有找到数据。
添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册