计算机网络安全基础(第5版)
上QQ阅读APP看书,第一时间看更新

2.2 威胁网络安全的因素

2.2.1 威胁网络安全的主要因素

计算机网络安全受到的威胁包括:“黑客”的攻击、计算机病毒和拒绝服务攻击(Denial of Service Attack)。

目前黑客的行为正在不断地走向系统化和组织化。黑客在网络上经常采用的攻击手法,是利用Unix操作系统提供的Telnet Daemon、FTP daemon和Remote Exec Daemon等默认账户进行攻击。另外,也采用Unix操作系统提供的命令“Finger”与“Rusers”收集的信息不断地提高自己的攻击能力;利用Sendmail采用Debug、Wizard、Pipe、假名及Ident Daemon进行攻击;利用FTP采用无口令访问进行攻击;利用NFS进行攻击;通过Windows NT的135端口进行攻击;通过Rshwith host、Equiv+、Rlogin、Rex Daemon以及X window等方法进行攻击。

拒绝服务攻击是一种破坏性攻击,如电子邮件炸弹,这类攻击使用户在很短的时间内会收到大量的邮件,严重影响到系统的正常业务展开,系统功能丧失,甚至使网络系统瘫痪。

1.威胁的类型

网络安全存在的威胁主要表现在以下几个方面。

① 非授权访问。这主要是指对网络设备以及信息资源进行非正常使用或超越权限使用。

② 假冒合法用户。主要指利用各种假冒或欺骗的手段非法获得合法用户的使用权,以达到占用合法用户资源的目的。

③ 破坏数据完整性。

④ 干扰系统的正常运行,改变系统正常运行的方向,以及延时系统的响应时间。

⑤ 病毒破坏。

⑥ 通信线路被窃听等。

2.操作系统的脆弱性

无论哪一种操作系统,其体系结构本身就是一种不安全的因素。由于操作系统的程序是可以动态连接的,包括I/O的驱动程序与系统服务都可以用打补丁的方法升级和进行动态连接。这种方法,该产品的厂商可以使用,“黑客”也可以使用,而这种动态连接也正是计算机病毒产生的温床。因此,这种使用打补丁与渗透开发的操作系统是不可能从根本上解决安全问题的,“黑客”对 Unix 操作系统采用的攻击手法就很能说明这个问题。但是,操作系统支持的程序动态连接与数据动态交换是现代系统集成和系统扩展的必备功能,因此,这是矛盾的两个方面。

操作系统不安全的另一个原因在于它可以创建进程,即使在网络的节点上同样也可以进行远程的进程的创建与激活,而被创建的进程具有可以继续创建进程的权限。再加上操作系统支持在网络上传输文件,在网络上能加载程序,二者结合起来就构成可以在远端服务器上安装“间谍”软件的条件。如果把这种“间谍”软件以打补丁的方式“打”到合法用户上,尤其是“打”在特权用户上,那么,系统进程与作业监视程序根本监测不到“间谍”的存在。

在Unix与Windows中的Daemon软件实质上是一些系统进程,它们通常总是在等待一些条件的出现,一旦有满足要求的条件出现,程序便继续运行下去。这样的软件正好被黑客利用,并且Daemon具有与操作系统核心层软件同等的权力。

网络操作系统提供的远程过程调用(RPC)服务以及它所安排的无口令入口也是黑客的通道。

这些不安全因素充分暴露了操作系统在安全性方面的脆弱性,对网络安全构成了威胁。

3.计算机系统的脆弱性

计算机系统的脆弱性主要来自操作系统的不安全性,在网络环境下,还来源于通信协议的不安全性。美国对计算机安全规定了级别,有关安全级别在后面将详细讨论。有的操作系统属于D级,这一级别的操作系统根本就没有安全防护措施,它就像一个门窗大开的屋子,如DOS和Windows 98等操作系统就属于这一类,它们只能用于一般的桌面计算机,而不能用于安全性要求高的服务器。Unix操作系统和Windows 2003 Server操作系统达到了C2级别,主要用于服务器上。但这种系统仍然存在着安全漏洞,因为这两种操作系统中都存在超级用户(root在Unix中,Administrator在Windows 2003 Server中),如果入侵者得到了超级用户口令,整个系统将完全受控于入侵者。现在,人们正在研究一种新型的操作系统,在这种操作系统中没有超级用户,也就不会有超级用户带来的问题。现在很多系统都使用静态口令来保护系统,但口令还是有很大的被破解的可能性,而且不好的口令维护制度会导致口令被人窃取。口令丢失也就意味着安全系统的全面崩溃。

世界上没有能长久运行的计算机,计算机可能会因硬件或软件故障而停止运转,或被入侵者利用并造成损失。硬盘故障、电源故障和芯片主板故障都是人们应考虑的硬件故障问题,软件故障则可出现在操作系统中,也可能出现在应用软件之中。

4.协议安全的脆弱性

当前,计算机网络系统使用的TCP/IP、FTP、E-mail以及NFS等都包含着许多影响网络安全的因素,存在许多漏洞。众所周知,Robert Morries在 VAX机上用 C编写的一个GUESS软件,它能根据对用户名的搜索猜测机器密码口令,从 1988 年 11 月开始在网络上传播以后,几乎每年都给因特网造成上亿美元的损失。

黑客通常采用Sock、TCP预测或远程访问(RPC)进行直接扫描等方法对防火墙进行攻击。

5.数据库管理系统安全的脆弱性

由于数据管理系统(DBMS)对数据库的管理是建立在分级管理的概念上的,因此,DBMS 的安全性也可想而知。另外,DBMS的安全必须与操作系统的安全配套,这无疑是DBMS一个先天的不足之处。

6.人为的因素

网络系统都离不开人的管理,但目前缺少安全管理员,特别是高素质的网络管理员。此外,还缺少网络安全管理的技术规范、定期的安全测试与检查以及安全监控。更加令人担忧的是,许多网络系统已使用多年,但网络管理员与用户的注册、口令等还是处于默认状态。

2.2.2 各种外部威胁

单台计算机的威胁相对而言比较简单,而且包括在网络系统的威胁中,所以在这里只讨论网络系统的威胁。网络系统的威胁是极富挑战性的,因为在网络系统中可能存在许多种类的计算机和操作系统,所以采用统一的安全措施是很不容易的,而对网络进行集中安全管理则是一种好的方案。

1.物理威胁

物理安全是指用以保护计算机硬件和存储介质的装置和工作程序,不被他人窃取。常见的物理安全问题有偷窃、废物搜寻和间谍活动等。物理安全是计算机安全最重要的方面。

与打字机和家具同样,办公计算机也是偷窃行为的目标。但是不同于打字机和家具,计算机偷窃行为的损失可能数倍于被偷设备的价值。通常,计算机里存储的数据价值远远超过计算机本身,因此,必须采取严格的防范措施以确保计算机不会失窃。入侵者可能会像小偷一样潜入机房,偷取计算机里的机密信息,也可能化装成计算机维修人员,趁管理人员不注意,进行偷窃。当然也有可能是内部职员偷窃他不应看的信息,并把信息卖给商业竞争对手。

废物搜寻就像是一名拾荒者,但这种人搜寻的是一些机密信息。某些时候,用户可能会把一些打印错误的文件扔入废纸篓中,而没有对其做任何安全处理,如不把这些文件焚毁,那么这些文件就有可能落入那些“拾荒者”手中。

间谍活动同样也是人们不能忽视的一种威胁,现在商业间谍很多,而且一些商业机构可能会为击败对手而采取一些不道德的手段,有时政府也有可能卷入这种间谍活动之中。

2.网络威胁

计算机网络的使用对数据安全造成了新的威胁。首先,在网络上存在着电子窃听。分布式计算机的特征是各种分立的计算机通过一些媒介相互通信,而且局域网一般是广播式的,也就是说,人人都可以收到发向任何人的信息,只要把网卡模式设置成混合模式(Promiscuous)即可。当然也可以通过加密来解决这个问题,但现在强大的加密技术还没有在网络上广泛使用,况且加密也是有可能被破解的。

其次,在拨号入网中,通过调制解调器存在的安全漏洞,入侵者就可能通过电话线入侵到用户网络之中。

最后,在因特网上存在着很多冒名顶替的现象,而这种冒名顶替的形式也是多种多样的,如一个公司可能会谎称一个站点是他们的公司站点,在通信中,有的人也可能冒充别人或冒充从另一台机器访问某站点。

3.身份鉴别

身份鉴别是计算机判断是否有权使用它的一种过程。身份鉴别普遍存在于计算机系统之中,实现的形式也有所不同,有的可能十分强大,有的却比较脆弱,口令就是一种比较脆弱的鉴别手段,但因为它实现起来简单,所以还是被广泛采用。

口令圈套是靠欺骗来获取口令的手段,是一种十分聪明的诡计。有人会写出一个代码模块,运行起来像登录屏幕一样,并把它插入登录过程之前,这样用户就会把用户名和口令告知这个程序,这个程序会把用户名和口令保存起来。除此之外,该代码还会告诉用户登录失败,并启动真正的登录程序,这样用户就不容易发现这个诡计。

另一种得到口令的方式是用密码字典或其他工具软件来破解口令,有些选用的口令十分简单,如一个人的生日、名字或单词,这样就很容易被强行破解。所以,如果用户是一个系统管理员,则应对用户的口令进行严格审查,并用工具来检查口令是否妥当。

4.编制程序

病毒是一种能进行自我复制的代码,它可以像生物病毒一样传染别的完好的程序。它具有一定的破坏性,破坏性小的只是显示一些烦人的信息,而破坏性大的则可能会让整个系统瘫痪。现在,因特网上有很多种类的病毒,这些病毒在网络间不断传播,严重危害因特网的安全。它可能通过不同的方式,如下载的软件、Java Applet程序、Active X程序和电子邮件等,进入用户的系统。

5.系统漏洞

系统漏洞也被称为陷阱,它通常是由操作系统开发者有意设置的,这样他们就能在用户失去了对系统的所有访问权时仍能进入系统,这就像汽车上的安全门,平时不用,在发生灾难或正常门被封死的情况下,人们可以使用安全门逃生。例如,VMS操作系统中隐藏了一个维护账号和口令,这样软件工程师就可以在用户忘掉了自己的账号和口令时进入系统进行维修。又如,一些BIOS有万能密码,维护人员用这个口令就可以进入计算机。

广为使用的BSD TCP/IP中存在着很多安全漏洞,一些服务天生就是不安全的,如“r”开头的一些应用程序,如rlogin、rsh等。Web服务器的Includes功能也存在着安全漏洞,入侵者可利用它执行一些非授权的命令。

许多安全漏洞都源于代码,有些时候人们做一些攻击代码来测试系统安全性,大多时候黑客可以用一些代码摧毁一个站点,因为许多操作系统和应用程序都存在安全漏洞。例如,一个CGI程序的漏洞可能会被入侵者利用,由此可以获得系统的口令文件。

2.2.3 防范措施

安全措施有许多种形式。将操作系统设置成阻止用户读取未经批准的数据。安全措施也许是计算机用户的工作步骤,也许以报警和日志的形式告诉管理员在什么时候有人试图闯入或者闯入成功。安全措施也包括在雇员接触秘密数据前,对他们进行广泛的安全检查。最后,安全措施也许以物理安全形式存在,比如门上锁和建立报警系统以防偷窃。

在安全环境中,许多类型互相加强,如果一层失败,则另一层将防止或者最大限度地减少损害。建立协议和判断决定于特定组织的数据安全需求的量和花费,下面是一些较为具体的建议。

1.用备份和镜像技术提高数据完整性

“备份”的意思是在另一个地方制作一份复制文件,这个复制文件或备份将保留在一个安全的地方,一旦失去原件就能使用该备份。应该有规律地进行备份,以避免用户由于硬件的故障而导致数据的损失。提高可靠性是提高安全的一种方法,它可以保障今天存储的数据明天还可以使用。这类事件中的破坏者可能是个有故障的芯片或者是电源失效,甚至还有火灾。备份将提供安全保障。

备份对于防范人为的破坏也至关重要。如果计算机中数据的唯一复制文件已经备份,就可以在另一台计算机上恢复。如果计算机黑客攻破计算机系统并删掉所有文件,备份后就能把它们恢复。

但是,备份也存在潜在的安全问题。备份数据也是间谍偷窃的目标,因为它们含有秘密信息的精确复制文件。由于备份存在着安全漏洞,一些计算机系统允许用户的特别文件不进行系统备份,这种方法是在存储在计算机上的数据已经有了一个备份的情况下进行的。

备份系统是最常用的提高数据完整性的措施,备份工作可以手工完成,也可以自动完成。现有的操作系统,如Netware、Windows和许多种类的Unix操作系统都自带备份系统,但这种备份系统比较初级。如果对备份要求高,就应购买一些专用的备份系统。

镜像就是两个部件执行完全相同的工作,若其中一个出现故障,则另一个系统仍可以继续工作,这种技术一般用于磁盘子系统之中。在这种技术中,两个系统是等同的,两个系统都完成了一个任务,才视为这个任务真正完成了。

2.防治病毒

定期检查病毒并对引入的U盘或下载的软件和文档加以安全控制,最起码应在使用前对U盘进行病毒检查,及时更新杀毒软件的版本,注意病毒流行动向,及时发现正在流行的病毒,并采取相应的措施。

3.安装补丁程序

及时安装各种安全补丁程序,不要给入侵者以可乘之机,因为系统的安全漏洞传播很快,若不及时修正,后果难以预料。现在,一些大公司的网站上都有这种系统安全漏洞说明,并附有解决方法,用户可以经常访问这些站点以获取有用的信息。

4.提高物理安全

保证机房的物理安全,即使网络安全或其他安全措施再好,如果有人闯入机房,那么什么措施都不管用了。实际上有许多装置可以确保计算机和计算机设备的安全,例如,用高强度电缆在计算机的机箱穿过。注意,在安装这样一个装置的时候,要保证不损害或者妨碍计算机的操作。

5.构筑因特网防火墙

这是一种很有效的防御措施,但一个维护很差的防火墙也不会有很大的作用,所以还需要一个有经验的防火墙维护人员。虽然防火墙是网络安全体系中极为重要的一环,但并不是唯一的一环,也不能因为有防火墙就可以高枕无忧。

防火墙不能防止内部的攻击,因为它只提供了对网络边缘的防卫。内部的人员可能滥用访问权,由此导致的事故占全部事故的一半以上。

防火墙也不能防止恶意的代码:病毒和特洛伊木马。特洛伊木马是一个破坏程序,它把自己伪装起来,让管理员认为这是一个正常的程序。现在的宏病毒传播速度更快,并且可以通过 E-mail进行传播,Java程序的使用也为病毒的传播带来了方便。虽然现在有些防火墙可以检查病毒和特洛伊木马,但这些防火墙只能阻挡已知的病毒程序,这就可能让新的特洛伊木马溜进来。而且,特洛伊木马不仅来自网络,也可能来自U盘,所以,应制定相应的政策,对接入系统的U盘给予严格的检查。

如果一个公司不制定信息安全制度,如把信息分类并作标记,用口令保护工作站,实施反毒措施,以及对移动介质的使用情况进行跟踪等,即使拥有再好的防火墙也没有用。有些公司在连接局域网前不做好计算机安全的防护措施,当他们把局域网连入因特网时,就不能保证局域网的安全了。

6.仔细阅读日志

仔细阅读日志,可以帮助人们发现被入侵的痕迹,以便及时采取弥补措施,或追踪入侵者。对可疑的活动一定要进行仔细的分析,如有人在试图访问一些不安全的服务的端口,利用Finger、TFTP或用 Debug 的手段访问用户的邮件服务器,最典型的情况就是有其他人多次企图登录到用户的机器上,但多次失败,特别是试图登录到因特网上的通用账户。

7.加密

对网络通信加密,以防止网络被窃听和截取,对绝密文件更应实施加密。

8.提防虚假的安全

虚假的安全不是真正的安全,表面上经常被人们错认为是安全的,直到发现了系统被入侵并遭到了破坏,才知道系统本身的安全是虚假的。利用虚假安全更新引诱用户下载木马或病毒已经是一种常见的攻击手法。

一个虚假安全的例子是利用微软正式发布例行安全更新几个小时之后,互联网上就会出现包含虚假安全更新的电子邮件。例如发布一个虚假的补丁,它声称可以修复 IE、Outlook Express 以及Outlook中存在所有已知漏洞。如果用户下载了这一虚假安全补丁,就会感染木马或病毒。

虚假安全的另一个典型例子是把门的钥匙放在防盗门的门垫下。防止窃贼从这里进入这所房子的唯一方法是窃贼不知道有一个隐藏的钥匙和它的位置,即钥匙的安全是虚假的。如果进入这所房子的窃贼,把钥匙放回它原来的地方,就没有人知道窃贼是如何进入的。如果这个家庭改变了隐藏钥匙的地点,窃贼需要做的是再找到它。所以,提高安全水平的方法,取决于每一个使用钥匙的家庭成员如何处理隐藏的钥匙。

第三个虚假安全的例子是一个用户用Word来编辑她的个人信件。为了隐藏信件,她把它们命名为如M1.DAT、M2.DAT……并且在每个文件上保留了前三页办公备忘录,备忘录后面隐藏她的私人信件。一旦她的系统被入侵,就没有一封信件是安全的了。