2023年7月24日发(作者:)
漏洞扫描和代码审计行为规范文档
V1.00
i 目录
1 漏洞扫描 ............................................... 1
1.1 分类 ............................................. 1
2 代码审计 ............................................... 2
2.1 自动化审计产品 .................................... 3
2.2 几款代码审计工具的对比结果 ........................ 3
ii 1 漏洞扫描
1.1 分类
1.1.1 按照被扫描漏洞的类型及目标分为:
1. acl扫描:按照一定的周期见识公司服务器及网络的acl。如:无需对外开放的端口或ip是否暴露在公网中。
作用:根据扫描报告,避免重要的服务因放在公网中被入侵的风险;发现版本漏洞时,可以快速从数据库中查到存在的漏洞的服务以及版本。
根据服务器数量采取方式:
1. 服务器少的,使用nmap扫描,并将扫描出来的ip、端口、应用服务名、版本、时间等信息存放到数据库。
2. 服务器多的可以使用Masscan扫描出所有端口信息,然后再用nmap去识别端口的协议以及应用程序的版本信息。
2. 弱口令扫描:被黑客或者蠕虫扫描并快速渗透。常见扫描器:Nessus、x-scan、h-scan、Hydra。弱口令是高危漏洞,扫描到后需第一时间修复。
3. 系统及应用服务漏洞扫描:常见的扫描器:Nessus以及开源的openVAS。
方法:
1) 程序调用Nessus接口,将漏洞扫描做成周期性任务,每天进行一次安全扫描,并将扫描结果入库,按漏洞级别进行分级。
2) 程序自动建立工单并提交到后台管理系统进行修复。(企业无工单系统,需建立至少一个漏洞管理系统代替)。
4. Web漏洞扫描:sqlmap、w3af、arachni、zed Attack Proxy、awas扫描器。
方法:手动用扫描器进行web漏洞扫描,至少需要两款以上扫描器交叉确认,避免因某款扫描器漏报导致漏洞被利用。一般建议使用awas必用,
1 再配合zap或arachni进行确认
1.1.2 按扫描器行为分类:
1. 主动扫描:主动发包、根据返回的包判断是否存在漏洞,通过爬虫获取url,通过url中各个可以输入参数的地方进行测试注入、xss负载。常见awas、sqlmap、nessus等主动扫描器。
2. 半被动扫描:区别主动扫描器获取url途径通过:Access log、流量镜像、Http代理式。
3. 全被动扫描:不需要联网,不主动爬取url,不知道发包、而关注漏洞感知,而不是入侵行为。
1.1.3 如何应对大规模资产扫描
1)不做全网的漏洞扫描,先做端口扫描,这样做的前提是访问控制和纵深防御做到位,利用acl大幅减少攻击面,把需要漏洞扫描的端口减少到22,80,443等。
2)做好高危端口监控。
3)在系统和应用扫描上,不完全依赖于网络扫描器,可同时借助于本机agent扫描。服务器os本地的agent除了可以扫系统型漏洞,还可以扫本地配置型漏洞,相对来说本地获取的信息比网络获取更准确,代价消耗服务器资源。
2 代码审计
定位问题可以简单分为:1)标注高危行为入库函数2)标注数据获取来源3)标注数据过滤函数。
2 2.1 自动化审计产品
源码审计工具主要包括:Foritify、Coverity、FindBugs等。这些工具能够满足对审计量和强度的要求,并且大多提供和开发环境相整合的组件,可以融入到日常的开发和编译过程中。工具不可避免产生漏报和误报,在处理工具生成的报告时,需要人工对生成的结果进行验证。
1. Coverity
1)误报率较少,2)免费开源代码审计服务,3)可找到相关原型论文。支持C,C++,java。
2.2 几款代码审计工具的对比结果
1)如下:
2)find bugs和check style主要并不是针对安全的扫描,如果要加类似的插件,可以试试find secuirty bugs,基于findbug的专门针对java web
application的安全扫描插件。
Fortify虽然支持手机app,但是对于版本的支持速度比较慢。他们对基于xcode9的project还不支持,即将推出的新版本将覆盖到xcode8.x,半年后将计划发布新版本,但是基于xcode 9的项目,仍然未必一定能支持。
3
发布者:admin,转转请注明出处:http://www.yc00.com/web/1690194978a312877.html
评论列表(0条)