常见的安全漏洞扫描器软件,常见的有网络型安全漏洞扫描器、主机型安全漏洞扫描器和数据库安全漏洞扫描器三种类型。
1.网络型安全漏洞扫描器
网络型安全漏洞扫描器在工作时,主要是仿真黑客从网络端发出数据包,以网络主机接收到数据包时的响应作为判断标准,进而测试基于主机的网络操作系统、系统服务及各种应用软件系统的漏洞。
在使用网络型安全漏洞扫描器时,可以将它部署在直接连接Internet的客户计算机上,扫描本机构主机系统的漏洞。这样相当于仿真一个黑客从Internet直接攻击企业的主机。
由于将扫描器部署在直接连接Internet的计算机上进行扫描速度会较慢,还可以采用把扫描器放在防火墙前面进行扫描的方法。这时的测试结果,可以帮助网络管理员了解已经部署的防火墙究竟帮助企业内部网过滤了多少非法数据包,由此可知道防火墙配置得是否良好。通常,即使有防火墙把关,还是可以扫描出漏洞。因为除了人为配置的疏漏外,防火墙通常还是会为支持HTTP或FTP等网络服务打开一些特定的端口允许数据包进入。这些防火墙所开放的端口,就只能依靠入侵检测系统来把关了。
还可以将扫描器部署在防火区和企业内部网中进行安全漏洞扫描,以测试在没有防火墙的把关下,主机系统存在多少安全漏洞。由于在企业内部网中没有防火墙把关,因此除了使用扫描器来发现和消除企业内部网主机系统的漏洞外,还需要在企业内部网中部署入侵检测系统,这样才能够实现企业内部网的“全天候”安全监控。安全漏洞扫描器和入侵检测系统是相辅相成的。
网络型安全漏洞扫描器的主要功能如下。
(1)端口扫描检测。提供常用服务端口(Well-known port service)扫描检测和常用服务端口以外的端口扫描检测。
(2)后门程序扫描检测。提供PC Anywhere,NetBus,Back Orifice,Back Orifice 2000等远程控制程序(也称为后门程序)的扫描检测。
(3)密码破解扫描检测。提供密码破解的扫描功能,包括操作系统及FTP,POP3,Telnet等应用服务的密码破解扫描检测。
(4)应用程序扫描检测。提供已知的破解程序执行的扫描检测,包括CGI-BIN、Web服务器、FTP服务器等的漏洞扫描检测。
(5)阻断服务扫描检测。提供拒绝服务(Denial Of Service)攻击测试扫描。
(6)系统安全扫描测试。提供网络操作系统安全漏洞扫描测试,如对Windows NT的注册表(Registry)、用户组(Groups)、网络(Networking)、用户(User)、用户口令(Password)、分布式对象组件模型(DCOM,Distributed Component Object Model)等的安全扫描测试。
(7)提供分析报表。就检测结果产生分析报表,指导网络管理员如何修补安全漏洞。
(8)安全知识库的更新。将黑客入侵手法导入知识库的更新必须时常进行,才能保证扫描器能够及时发现新的安全漏洞。
2.主机型安全漏洞扫描器
主机型安全漏洞扫描器,主要是针对如UNIX、Linux和Windows NT等操作系统内部的安全问题进行更深入的漏洞扫描。它可以弥补网络型安全漏洞扫描器仅仅从外面通过网络对系统进行安全测试的不足。
主机型安全漏洞扫描器常常采用客户/服务器(Client/Server)应用软件结构,有一个统一的控制台(Console)程序,以及分别部署在各重要操作系统的代理程序(Agent)。安全漏洞扫描系统工作时,由控制台给各个代理程序下达命令进行扫描,各代理程序将扫描测试结果回送到控制台,最后由控制台程序给出安全漏洞报表。
主机型安全漏洞扫描器的主要功能如下。
1)重要资料锁定。利用安全检查监控重要资料或程序的完整及真实性。
(2)密码检测。采用结合系统信息、字典和词汇组合的规则,检测易猜的密码。
(3)系统日志文件和文字文件分析。能够针对如UNIX系统的syslogs及Windows NT系统的Event Log等系统日志文件和其他文本文件的内容进行分析。
(4)实时报警。当发现安全漏洞时可以进行实时报警,利用电子邮件、SNMP自陷、呼叫等方式通知网络管理员。
(5)产生分析报表。根据漏洞扫描测试结果产生分析报表,指导网络管理员如何修补安全漏洞。
(6)加密通信。提供扫描器控制台和代理程序之间的TCP/IP连接认证、确认和加密等功能。
(7)安全知识库更新。主机型安全漏洞扫描器由控制台集中控管并负责更新部署在各主机代理程序的安全知识库。
3.数据库安全漏洞扫描器
这是一种专门对数据库服务器进行安全漏洞检查的扫描器,与网络型安全漏洞扫描类似,主要功能是要找出不安全的密码设定、过期密码设定,检测登录攻击行为,关闭久未使用的账户,并且还能够追踪用户登录期间的活动等。
定期检查每个登录账户的密码长度非常重要,因为密码是数据库系统的第1道防线。如果没有定期检查密码的机制,用户使用的密码太短或太容易猜测,或是设定的密码是字典上存在的词汇,就很容易被黑客破解,导致数据泄露。许多关系型数据库系统并不要求使用者设定密码,更无严格的密码安全检查机制,所以问题更严重。由于在一些数据库管理系统中,数据库系统管理员的账户名称(如在SQL Server数据库和Sybase数据库中是sa)不能更改,所以如果没有密码保护的功能,入侵者就能用字典攻击程序进行密码猜测攻击。一旦数据库管理员的密码被攻破,数据库就完全被攻占,无任何保密和安全可言。