图2 Nessus3主界面
(3)Nikto
Nikto是一款开放源代码、功能强大的WEB弱点扫描评估软件,它能对WEB服务器的多种安全项目进行测试,能在230多种服务器上扫描出2600多种有潜在危险的文件、CGI及其他问题。Nikto使用LibWhiske漏洞库,Nikto已成为WEB站点管理员必备的WEB安全检测工具之一。
可以到http://www.cirt.net/网站上下载Nikto的最新版本。Nikto是基于PERL开发的程序,所以需要PERL环境。因此,当Nikto需要在Windows系统下使用时,要同时下载并安装ActiveState Perl环境。当需要Nikto使用SSL的安全方式对WEB站点进行安全扫描时,还会用到Net::SSLeay PERL模式,此时必须保证系统中安装有OpenSSL。它们的具体安装和使用细节可以参考它们的帮助文档。
另外,还有一个与Nikto相似的WEB弱点扫描工具Wikto,它不仅具有Nikto同样的功能,还提供GUI图形界面,但只能在Windows系统下运行。它可以到http://www.sensepost.com/research/wikto/下载。。
(4)N-Stealth
N-Stealth是ZMT公司出品的一款商业的WEB站点安全扫描软件,同时也有可以免费使用的版本,只是功能没有商业版本的多,漏洞库也不支持自动更新。我们可以到www.nstalker.com网站上下载它的最新版本,它可以在win98/ME/2000/XP/2003系统下运行。
图3 N-Stealth启动后的主界面
(5)ISS Database Scanner
ISS的数据库扫描器(DataBase Scanner)是一个针对数据库管理系统进行风险评估的检测工具。它可以自动识别数据库系统中各种潜在的安全问题,产生通俗易懂的报告来表示安全风险和弱点,并对违反和不遵循数据库安全策略的弱点和漏洞提出修改建议。
Database Scanner 可以扫描的数据包括Microsoft SOL Server 6.x 或7.x、Sybase Adaptive Server 11.x和Oracle 8i, 8.0 或 7.3。它能通过网络快速、方便地扫描数据库,去检查数据库中可能存在的安全漏洞,全面评估所有的安全漏洞和认证、授权、完整性方面的问题。
除了上面介绍的安全扫描软件以外,还有一些软件也有可以用来进行安全检测工作,包括X-scan3.3、WebInject1.41和Acunetix WVS Free Edition,以及一款功能全面且性能强大的商业安全扫描软件ISS Internet Scanner等。
另外,在使用任何评估工具之前,要先对其漏洞库进行升级更新。这是由于现在大多数安全评估工具都是利用漏洞特征库来进行弱点检测的,只有保证它们的漏洞特征库为最新状态,才有可能发现WEB站点及所依赖的系统上可能存在的最新漏洞。
3、安全评估方法
安全评估方法就是具体的安全评估实施方式,它主要涉及到下列五个具体的方面:
(1)由外向内测试
这种安全评估方式就是以攻击者的角度从WEB站点所在网络结构中的外部,对它进行安全扫描工作,以此来检测WEB站点防范来自互联网远程攻击的能力。此种测试方式可以使用上述评估工具中的N-stealth、X-Scan和WebInject等工具来进行。
(2)由内向外测试
由内向外的安全检测方式是指从WEB站点所在网络结构的内部,对它进行安全扫描工作。这种安全检测方式主要用来检验WEB站点对来自内部的攻击防范能力,以及检测对用户权限分配情况和内部数据传输过程中的安全性。此时可使用一些操作系统内部网络命令,例如Netstat,以及Hping和Nikto、X-scan、Nmap、Acunetix WVS Free Edition等工具来进行完成检测任务。
(3)模拟攻击测试
模拟攻击测试是指在实际的测试过程中并不对WEB站点所在服务器系统及WEB应用程序、网络设备进行真正的攻击事件。这种测试方式并不会对WEB站点的性能产生影响,平时大部分的安全评估工作应当使用模拟攻击的测试方式。
(4)真实攻击测试
当使用模拟攻击测试不能真正检验到网站的安全状况时,就可以使用真实的攻击测试。由于攻击是真实的,因此会对WEB站点的性能造成影响,因而这种方式最好在WEB开发的最初阶段,以及没有WEB业务的时候进行。现在有很多的网站都会请一些专门的黑客来对自己的站点进行真实的攻击,以便最大程度地检测出WEB站点中存在的安全漏洞问题。
(5)社会工程攻击测试
有许多人认为社会工程只是攻击者用来进行攻击的一种手段,却不知它也是一种很好的检测企业内部员工及站点管理员反社会工程攻击能力强度的评测工具。我们可以通过电话、手机短信及电子邮件的方式对评测的人员实施与攻击相同的社会工程攻击测试。同样,我们还可以通过直接接触的方式对被评测者进行相应的社会工程攻击测试评估。当我们决定进行社会工程方式的安全评估工作时,最好让可信的第三方来进行,这样才可以达到最好的评估效果。
4、评估对象
评估对象就是指评估过程中具体的评估实施目标,包括WEB服务器主机操作系统、WEB应用程序框架、数据库系统及网络基础设施等。
这四个因素是WEB站点安全评估工作中缺一不可的,缺少任何一个或任何一个出现问题,都会使整个评估工作中断或使评估结果不可信。还有就是评估工具的使用并不一定得一次只使用一种工具,我们可以根据所要评估的对象和评估的内容进行组合应用。毕竟,有时一种工具只在某一个方面比较有效,而且,评估软件还存在误报和漏报的问题,组合使用工具,再加上评估人员自己经验的判断,就能将评估结果的有效性提高到最高水平。
当WEB站点安全评估工作完成后,我们还应当根据安全评估结果,对安全策略进行相应的修订,同时对实施了的安全机制进行相应的补充。WEB站点的安全评估工作,在站点没有真正投入运行前,可不断地重复进行检测,直到我们认为已经修补了所有已知的漏洞为止。同时,我们还必需在WEB站点运营过程当中进行安全评估,以此来发现潜在的安全威胁。