您的位置:首页 > 运维架构 > Linux

linux下漏洞扫描工具软件结构报告

2015-07-24 14:27 746 查看
根据项目需要,整理linux下开源漏洞扫描软件的软件结构分析报告(简单版)。

一、网络漏洞扫描的三个阶段

1、寻找目标主机或网络

2、进一步搜集目标信息,包括OS类型,运行的服务以及服务软件的版本等

3、判断或进一步检测系统是否存在安全漏洞

二、漏洞扫描的两种策略:

(1)被动式策略

被动式策略就是基于主机之上,对系统中不合适的设置、脆弱的口令以及其他与安全规则抵触的对象进行
检查,称为系统安全扫描。

(2)主动式策略

主动式策略是基于网络的,它通过执行一些脚本文件模拟对系统进行攻击的行为并记录系统的反应,从而
发现其中的漏洞,称为网络安全扫描。

三、漏洞扫描技术的原理:

漏洞扫描技术是建立在端口扫描技术的基础之上的,从对黑客的攻击行为的分析和收集的漏洞来看,绝大多数都是针对某一个特定的端口的,所以漏洞扫描技术以与端口扫描技术同样的思路来开展扫描的。漏洞扫描技术的原理是主要通过以下两种方法来检查目标主机是否存在漏洞,在端口扫描后得知目标主机开启的端口以及端口上的网络服务,将这些相关信息与网络漏洞扫描系统提供的漏洞库进行匹配,查看是否有满足匹配条件的漏洞存在,通过模拟黑客的攻击手法,对目标主机系统进行攻击性的安全漏洞扫描,若模拟攻击成功,则表明目标主机系统存在安全漏洞,

(1)漏洞库的特征匹配方法

基于网络系统漏洞库的漏洞扫描的关键部分就是它所使用的漏洞库。通过采用基于规则的匹配技术,即根据安全专家对网络系统安全漏洞、黑客攻击案例的分析和系统管理员对网络系统的安全配置的实际经验,可以形成一套标准的网络系统漏洞库,然后再次基础上构成相应的匹配规则,由扫描程序自动的进行漏洞扫描的工作。若没有被匹配的规则,系统的网络连接是禁止的。

工作原理:

扫描客户端提供良好的界面,对扫描目标的、范围、方法等进行设置,向扫描

引擎(服务器端)发出扫描命令。服务器根据客户端的选项进行安全检查,并调用

规则匹配库检测主机,在获得目标主机TCP/IP端口和其对应的网络访问服务的相关信息后,

与网络漏洞扫描系统提供的系统漏洞库进行匹配,如果满足条件,则视为存在漏洞。

服务器的检测完成后将结果返回到客户端,并生成直观的报告。在服务器端的规则

匹配库是许多共享程序的集合,存储各种扫描攻击方法。漏洞数据从扫描代码中分离。

使用户能自行对扫描引擎进行更新。

因此漏洞库信息的完整性和有效性决定了漏洞扫描的性能,漏洞库的修订和更新

的性能也会影响漏洞扫描系统运行的时间。

(2)功能模块(插件)技术

插件是由脚本语言填写的子程序,扫描程序可以通过调用它来执行漏洞扫描。 检测出系统中存在的一个或多个漏洞。添加新的插件就可以使漏洞扫描软件 增加新的功能,扫描出更多的漏洞。插件编写规范化后,基于用户自己都可以 Perl、C或自行设计的脚本语言编写的插件来扩充漏洞扫描软件的功能, 这种技术使漏洞扫描软件的升级维护变的相对简单,而专用脚本语言的 使用也简化了编写新插件的编程工作,使漏洞扫描软件具有强的扩展性。

工作原理:

它的前端工作原理基本和基于网络系统漏洞库的漏洞扫描工作原理相同,不同的就是将系统漏洞库和规则匹配库换成了扫描插件库和脆弱性数据库。扫描插件库包含各种脆弱性扫描插件,每个插件对一个或多个脆弱点进行检查和测试。插件之间相对独立,这部分应该随着新脆弱性的发现而及时更新。脆弱性数据库收集了国际上公开发布的脆弱性数据,用于检查检测的完备性。它与扫描插件库之间是一对一或者是一对多的关系,寄一个插件可以进行一个或多个脆弱点的检测。因此,扫描插件库和脆弱性数据库可以及时更新,具有很强的扩展性。

四、开源软件分析:(注:这几款软件的具体使用方法网上资料很多,这里不再赘述)

(1)漏洞扫描工具 nikto

web扫描评估软件,能对web服务器多种安全项目进行测试的扫描软件,可以扫描指定主机的web类型,主机名,特定目录,COOKIE,特定的CGI漏洞,返回主机允许的http模式等等。

本软件是 perl 语言写的,

使用方法:

-h 指定被扫描的IP或者主机名

-p 指定扫描的端口,没有指定,则默认80

perl nikto.pl -h 192.168.0.1

perl nikto.pl -h 192.168.0.1 -p 443

可以指定协议

perl nikto.pl -h https://192.168.0.1:443/
perl nikto.pl -h 192.168.0.1 -p 443 –ssl

指定多个端口,用逗号分割

指定端口范围

perl nikto.pl -h 192.168.0.1 -p 80,88,443

perl nikto.pl -h 192.168.0.1 -p 80-90

(2)漏洞扫描系统 IronWASP

IronWASP是一款开源的 Web

应用程序漏洞扫描系统,用户可以自定义安全扫描,并且可以自己用python/ruby来定义插件系统,来丰富漏洞测试项目,

插件系统的语言版本是IronPython和IronRuby,语法上类似CPython和CRuby。

目前本人只下载成功了ironWAP的windows版本,linux版本为下载成功。

(3)漏洞扫描程序 Nessus

世界上最流行的漏洞扫描程序,全世界超过75,000个组织在使用它".尽管这个扫描程序可以免费下载得到,但是更新最新的漏洞库需要$1,200.Linux, FreeBSD, Solaris, Mac OS X和Windows下都可以使用 Nessus.

本软件是 C/C++ 语言写的,B/S架构

使用方法:

下载使用centos的版本, Nessus-6.4.2-es6.i386.rpm,直接安装就行

打开运行服务

service nessusd start

然后在浏览器中打开http://localhost:8834 会有界面,操作方便

需要注册,

五、漏洞扫描工具的结构分析







六、总结分析
漏洞扫描,被动式策略需要依赖强大的漏洞库,对于匹配规则有一定的算法,并且要求漏洞库必须实时更新。

主动式策略,需要用脚本模拟黑客攻击,

这几款开源软件,都是可以检测到漏洞,有的给出相应的解决办法,但是并没有像360漏洞扫描那样,扫描出漏洞然后可以一键安装解决,linux下的漏洞扫描需要自己根据漏洞进行相应的防护
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: