漏洞扫描的种类
![漏洞扫描的种类](https://static001.geekbang.org/infoq/da/da2beca791e446c464753a0984641a52.jpeg)
一、按漏洞类型分类
按扫描的漏洞的类型及目标不同,可以将漏洞扫描分为以下几种:
1、ACL 扫描
ACL 扫描是用来按一定的周期监视公司服务器及网络的 ACL 的,比如无需对外开放的端口或 IP 是否暴露在了公网中。ACL 扫描器的作用如下:
1)安全部门可以根据扫描报告督促网络管理员和系统管理员关闭暴露在公网中的高危服务,避免重要的服务因放在公网中被入侵的风险。
2)等某些应用或某些版本的应用发现新漏洞时,安全部门可以快速从数据库中查到存在漏洞的服务及版本,直接报到业务部门去修复。
ACL 扫描的周期至少为一天一次,对于不同规模服务器的企业可以采用以下的方式:
1)对于服务器数量较少的公司,可以直接用 nmap 扫描,并将扫描出来的 IP、端口、应用服务名、应用版本、时间等信息存放到数据库中。
2)对于服务器数量很多的公司,可以用 Masscan 扫描出所有的端口信息,然后再用 nmap 去识别端口的协议及应用程序版本信息,可以根据实际情况部署扫描服务器的数量、形成分布式的架构,加快扫描速度。
2、弱口令扫描
管理员因疏忽大意或安全意识薄弱给网络设备、服务器或应用使用了默认的和简单的口令,这种弱口令的设备挂在公网上后很快就被黑客或蠕虫扫描到并快速渗透。常见的扫描器如 Nessus、x-scan、h-scan、Hydra 都具备弱口令扫描的功能。
3、系统及应用服务漏洞扫描
常见的系统及应用服务漏洞扫描器有 Nessus 及开源的 openVAS,当服务器数量巨大时,需要部署多台 Nessus 服务器以集群模式进行扫描。实践方法如下:
1)用程序调用 Nessus 的接口,将 Nessus 的漏洞扫描做成周期性任务,每天对全部服务器进行一次安全扫描,并将扫描结果入库,按漏洞级别进行分级。
2)程序自动建立工单并提交到业务部门进行修复,修复好后再转到安全部门确认,形成一个良性的闭环(如果你所在的公司没有工单系统,则至少需要建立一个漏洞管理系统代替)。
4、Web 漏洞扫描
业内常用的 Web 漏洞扫描工具列表如下:
Acunetix Web Vulnerability Scanner(AWVS)
IBM Rational AppScan
sqlmap
w3af
arachni
Zed Attack Proxy
以上几款扫描器中,前 2 款是商业软件,后几款是免费开源的。
实践方法如下:
网站较少的公司。安全工程师手工用扫描器进行 Web 漏洞扫描即可,但至少要使用 2 款以上扫描器进行交叉确认,避免因某款扫描器漏报导致漏洞没扫到而被外界黑客利用的情况发生。一般建议 AWVS 必用,再配合 zap 或 arachni 进行确认。
网站较多的公司。大中型的互联网公司有成千上万个大大小小的网站,安全工程师人肉利用扫描工具进行扫描已经不现实了,需要自研扫描工具,实现自动化、批量化的漏洞扫描。
二、按扫描器行为分类
根据扫描器是否主动发包的行为,可将扫描器分为以下几种:
1、主动扫描
常规的扫描器都是主动发包,然后根据返回的包判断目标设备是否存在漏洞。对于 Web 扫描器来说,是先将 URL 爬出来,然后再在该 URL 中各个可以输入参数的地方测试注入、XSS 等负载。常用的 AWVS、Sqlmap、Nessus 等都是主动扫描器。
2、半被动扫描
其实该类扫描器还是属于主动扫描器,区别是 URL 的获取途径不是爬虫,而是以下几种方式。
通过 Access log 获取 URL,例如将用户或 QA 访问站点的 Access log 去重后进行扫描。
通过流量镜像的方式获取 URL,去重后进行扫描。对于比较大规模的 Web 资源扫描,可以通过 Storm 流式计算平台将来自分光的全流量 URL 库 rewrite 替换,去重归一,验证真实性后作为扫描器的输入源,由消息队列推送至分布式扫描器中。
HTTP 代理式的扫描器,这种方式常被 QA 或渗透测试人员使用,在浏览器设置一个代理,然后去访问网站的页面,每访问一个 URL 就会被放到后台去扫描。
vpn 式的扫描器与前一种类似,不过该种扫描需要播入一个特定的 VPN 中,在 vpn 服务器中会设置一个透明代理,将 80 和 443 端口的数据转发到透明代理中,之后测试者每访问一个 URL 也会放到后台去扫描。
3、全被动扫描
部署方式上类似于 IDS,不主动爬 URL,而是对 B/S & C/S 双向交互的数据流进行扫描以期发现漏洞,全被动扫描的特点如下:
1)不需要联网,不会主动爬取 URL,不会主动发出任何数据包。
2)更关注漏洞感知,而不是入侵行为。
何时需要被动扫描?在日常的安全管理中,经常有一些业务部门会引发安全管理之痛,例如:
业务部门没有经过安全部门的安全扫描和评估就擅自上线,结果上线的服务器或站点被入侵了。
业务上线时确实经过安全扫描和评审环节,当时证明是安全的,但在业务运营的过程中,经过几次更新,把安全漏洞更新到生产环境中了。
部分业务因人员更换或离职变成了无人管理的业务,也有可能资产不在公司的资产列表中,因长期无人维护被攻击者钻了空子。
有了被动式扫描器后,可以对这些处于灰色地带的资产进行防护。
版权声明: 本文为 InfoQ 作者【穿过生命散发芬芳】的原创文章。
原文链接:【http://xie.infoq.cn/article/05206f984fd7a52675004c8af】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论