《中国计算机报》出版日期:1999-11-08 总期号:873 本年期号:83
修补系统 安全漏洞
Iris
目前,黑客(hacker)问题在一定程度上已形成网络世界的公害,并引起了关注。系统安全漏洞是病毒乃至黑客的主要滋生地,堵住了系统安全漏洞,也就堵住了黑客和病毒的入侵。
安全审计(security auditing)技术是使用安全检测工具对系统安全漏洞进行扫描的方法,它找到系统中的安全漏洞,通过一定的技术措施修补这些漏洞,就能起到防御黑客的作用。安全审计因而也成为增强系统安全性的重要措施之一。
典型的系统安全漏洞
目前,我们发现的系统安全漏洞数量已经相当庞大,据统计已接近病毒的数量。以下列举了一些典型的系统安全漏洞,它们在新发布的系统或已打过补丁(patch)的系统中可能已经不存在,但是了解它们仍然具有非常积极的意义。
1.操作系统类安全漏洞
包括非法文件访问、远程获得root权限、系统后门(backdoors)、nis漏洞、finger漏洞、rpc漏洞等方式。
2.网络系统类安全漏洞
具体包括:cisco ios的早期版本不能抵抗很多服务拒绝(deny of service)类型的攻击(如land);cisco
catalyst 5xxx序列的交换机允许未授权用户通过某种手段绕过认证系统;cisco
7xxx系列的路由器额dcl配置工具出现问题,允许已经被禁止的网络包传到另外的网段中去;bay的某种型号的交换机有后门口令。
3.应用系统类安全漏洞
各种应用都可能隐含着安全缺陷,尤其较早的一些产品和国内一些公司的产品对安全问题很少考虑时更是如此,如通过tcp/ip协议应用mail server、www server、ftp server、dns时出现的安全漏洞。
重要扫描工具
虽然对于安全审计技术来说最重要的是扫描信息库,但扫描器程序本身的重要性也是不言而喻的。以下简单介绍一些重要的扫描工具。
●nessus nessus是由年仅19岁的法国青年renaud derasion于1998年初发布的,是可以从因特网上自由获得的最佳免费扫描器之一,其功能将能够与某些商业产品相媲美,预计将很快成为最具扩展性的免费扫描程序。
nessus具有易用的gui界面,扫描后能够产生详尽的报告和指南,支持多操作系统平台(最初是在linux上开发的)和plug-in技术,用户可以插入最新发现的安全漏洞,使复杂漏洞信息库变得相当简单。
●satan
satan是最著名和最经典的一款扫描器。它功能非常完善,能够针对已知的脆弱点进行扫描,一旦发现问题会详细指导用户脆弱点的堵截方法。另外,
satan用c和perl混合编写,可运行于任何unix平台,使用界面是html方式,也可以使用浏览器来运行。
●nss nss是一个用perl编写的tcp端口扫描程序,可运行于大多数的unix平台。由于perl程序不需要编译,所以nss很容易使用、修改和扩充。
●strobe strobe是典型的免费tcp端口扫描程序,这就是说,它能够发现目标机器正在运行什么服务,但并不能发现系统中存在哪些安全漏洞。它所需的系统资源很少,运行速率极快。
应该说明的是,目前在windows平台上也出现了很多tcp端口扫描程序。
●iss safesuite iss safesuite是第一个商业化扫描器程序,拥有一套功能全面、性能优异的扫描器,其漏洞信息库可能是覆盖面最广泛、数量最大的几种信息库之一。
iss safessuite产品系列由internet scanner和system security scanner (s3)
两部分组成, internet scanner包括web security scanner、firewall scanner和intranet
scanner三个组件,分别用于扫描web服务器、防火墙和企业内部网;s3用于扫描服务器操作系统。
iss的另一个产品realsecure可以进行实时监控,从而及时发现攻击和侵入行为并将其截获。这种攻击检测(intrusion detection)方法与安全审计技术有所不同,应该认为是安全审计技术的一个发展方向。
●nai cybercop scanner cybercop scanner是nai公司出口的扫描器程序,能够运行于windows
nt和linux平台上,可以检查计算机系统和网络设备,检查运行在网络环境中的操作系统和应用程序。与iss的作法不同,它是将全功能的扫描集成在一个
环境和界面里的。它的扫描结果报告不仅图文并茂,而且详尽、专业而易懂。
●platinum autosecure host scan autosecure是platinum的一个安全产品套件,包括host scan扫描程序,与该套件的其他产品相比,它显得并不出色。
修补方法
我们可以通过安全审计技术发现系统的安全漏洞,但是如果不能将这些漏洞修补起来,其重要性就要大打折扣了。
针对安全审计时已发现的各种安全漏洞,解决的办法可归结为两个方面:有些漏洞通过一些操作去除;有些漏洞则必须采用修复措施,常用方法包括:
● 打补丁(patch) 很多漏洞本质上是软件设计时的缺陷和错误(bug等),因此需要采用补丁的方式对这些问题进行修改。补丁程序可以是厂商发布,也可以通过网上的安全站点得到。
● 停止服务 有些应用和服务安全问题较多,目前又没有可行的解决方案,切实有效的方法是在可能的情况下停止该服务,不给黑客攻击提供机会。
● 升级或更换程序 在很多的情况下,安全漏洞只针对一个产品的某一版本有效,此时解决问题的办法就是升级软件或是更换程序。目前同一应用或服务经常存在多个成熟的程序,经常还可以找到免费的自由软件,这为更换软件提供了可能性。
● 去除特洛伊等后门程序 系统如果出现过安全事故(已知的或并未被发现的),则在系统中可能存在隐患,此时必须去除这些程序。
● 修改配置和权限 有的系统本身并没有安全漏洞,但由于配置和权限错误或不合理,给系统安全性带来问题。
● 专门的解决方案 对于比较复杂的问题,涉及的因素较多,可以为这样的系统专门设计解决方案。
某些安全漏洞的去除可能并不困难,但经验不够丰富的用户很难全面解决系统的安全问题,因为一个系统的危险性在于系统中最薄弱的地方,有可能用户采取了不少安全措施,却仍然不全面、不彻底。因此,安全专家能够帮助用户全面实施安全策略,真正彻底解决系统安全漏洞。
安全审计技术简介
安全审计(security
auditing)技术使用某种或几种安全检测工具(通常称为扫描器(scanner)),采取预先扫描漏洞的方法,检查系统的安全漏洞,得到系统薄弱环
节的检查报告,并采用相应的增强系统安全性的措施。安全审计是业界流行的系统安全漏洞检测方法,目前基本上已经成为事实上的工业标准。
安全审计技术的基本思想最早是著名的扫描程序satan的作者dan farmer和weitse
venema提出来的,他们认为,既然黑客可以查找系统的漏洞,并针对这些漏洞对系统进行攻击,那么安全扫描程序就可以采取与黑客相同的方法找到系统的漏
洞,并将它们加以修复。
由于因特网上黑客事件层出不穷,satan提出的思路在短短的几年内得到了业界专家的一致认同,现已成为检测计算机系统的事实标准,并被称之为security auditing或intrusion detection技术。
目前已经涌现出一大批免费的或共享的扫描器程序,用户可以按照自己的需要使用它们。同时,很多安全公司和商业化安全产品都采用这种安全审计技术。
无论是免费软件、共享软件,还是商业软件,其扫描方法的基本原理是基本相同的,就是将已知的系统漏洞做成信息库,按库里的内容来检测整个系统的安全性。因此,这些扫描器的主要差异在于扫描信息库的大小和丰富性,以及检测时的速率等方面。
但由于许多扫描器都可以从因特网上得到,因此不仅是安全专家,黑客也同样会使用各种工具对系统进行安全扫描。可见,如果希望使用扫描器找到系统的漏洞
来提高系统的安全性,主要在于要能够在黑客发现漏洞之前发现它,而要做到这一点,关键是随时跟踪安全方面的研究进展,根据不断更新的漏洞报告完善扫描程序
的信息库,保证了扫描所有漏洞的及时性和实效性。
安全审计方法是采用模拟黑客攻击的方法进行的,所以各种扫描方法可能或多或少地会对系统造成一定的影响,有可能造成与黑客攻击相同的结果。为了在进行
安全审计操作时不影响系统的正常运行,应该考虑到这些影响,避免安全扫描与业务系统产生尖锐的矛盾。具体实施方法分为远程扫描、实地扫描和模拟环境扫描三
种,用户根据实际网络情况选择其中一种或者组合方式。