1.2.3 节点安全
当前网络的普及使很多信息系统建立在网络环境下,然而在整个系统中,每个相对独立的节点(可以是一台计算机、服务器、路由器等)是组成系统的基础。在信息系统的安全体系中,每个节点都安全,才能保证整个系统的安全性。系统的任何一个环节或部分出现了安全隐患都会直接或间接地影响整个系统的安全性能。
因此在构建一个安全的信息系统时,考察每个节点的安全性十分重要。目前用的最为广泛的节点仍然是个人计算机,尽管大型计算机和巨型计算机仍在科学计算、天文计算等高精尖的科学研究领域应用,但是其数量与大众化的台式计算机、笔记本电脑、PDA等终端相比,还是较少。本节以上述的大众化终端为侧重点,讨论信息安全系统的体系构架中节点安全所涉及的主要方面。
1. 节点的物理安全
与上述整个信息系统的物理安全一样,系统的每个具体环节,也同样面临着物理安全问题。不过这里涉及的物理安全更具体。除了1.2.2节中讨论的大的方面,在具体问题上,节点物理安全更多面临的是偷盗、损坏等威胁。以台式计算机为例,台式计算机经常会面临内存、硬盘等零部件被盗,搬运过程中显示器、机箱被摔坏等威胁。当然,在规范的管理制度下,这些问题都是可以预防和解决的。但是首先应该意识到每个节点的安全对系统的整体安全而言是十分重要的。
2. 访问权限控制和加密
每个节点都有其规定的使用者,在有的场合下,会出现多人使用同一个节点的情况。如共享的服务器、公用的计算机等。但是登录这些机器一般都需要账户和密码,这既是对使用机器资源的控制,更是对机器中存储信息的访问控制。
对信息加密可以防止信息泄露,对手面对加密信息将难以读懂信息本身的含义,这从另一个角度保护了信息。
对信息系统而言,信息的价值往往远超过其载体本身的价值。因此在机器上设置访问控制机制更多是用来保护信息不受未授权用户的访问和修改。对于一台计算机而言,访问控制是可以分层实现的。
在硬件层面上,可以通过硬盘厂商提供的硬盘加密功能为整个硬盘上锁。可以通过机器的CMOS对机器设置开机密码和超级用户密码。进一步,可以通过操作系统的账户管理功能设置不同安全等级的账户。在应用软件层面,不同的应用软件可以提供自己的访问控制方案。例如,文字处理系统可以单独为某个文档设置密码;邮件客户端可以为不同邮件账号设置邮件发送和接收密码;数据库系统有自己专有的访问控制机制等。
正是通过层次型的保护,使每个节点在不同的层面上根据需要拥有自己的安全机制。因而整个节点的安全性得到最终保证。但是对这些层次型的保护如果没有一个较为全面的认识,那么在配置系统以及在设置系统安全参数时不免会出现漏洞或疏忽的情况。
当前普遍使用的个人计算机系统,由于其历史原因,在设计上无法做到全面防护,因此在现有的硬件体系结构和一些软件(包括系统软件和应用软件)的设计上,不能实现完善的安全设计理念。
3. 病毒和其他恶意代码
自从有了计算机,病毒和一些恶意代码带来的损失就从未停止过。在网络时代到来之前,病毒和其他一些恶意代码更多是通过软盘、光盘等移动介质进行传播。在网络普及的今天,病毒、蠕虫等恶意代码的传播能力大大超越了单机时代,机器中毒的概率更高,被传染的途径也更多。病毒和其他一些恶意代码的破坏能力也与日俱增,防范的难度也越来越高。IBM公司防病毒小组的核心成员之一Alan Fedeli定义了三种简单有效的恶意代码。
(1)病毒:是一种计算机程序,该程序执行时可以未经允许将自身复制到另一个程序中。感染该病毒的程序在执行时仍以这种方式将自身复制到另一个程序中。
(2)蠕虫:是一种未经许可而将自身复制到网络节点上的计算机程序。
(3)特洛伊木马:是一种计算机程序,它可以伪装成合法程序,做一些意想不到的事情。
其中,病毒本身不能独立存在,它必须有一个宿主为其提供藏身之所。病毒的运行也要通过宿主的运行来帮助病毒获得其运行权。而蠕虫是一个独立存在的程序,它不需要宿主,可以独立进行传播。蠕虫一般是通过网络进行传播的。病毒和蠕虫都可以进行自我复制,而特洛伊木马是不会自我复制的。
计算机病毒的雏形始于20世纪60年代初,在美国的贝尔实验室里三个年轻人编写了一个名为“磁芯大战”的游戏。游戏的玩法是双方各写一套程序,输入同一台计算机里,这两套程序在计算机的存储系统内互相追杀。游戏的特点在于双方的程序进入计算机之后,玩游戏的人只能看着屏幕上显示的战况,而不能做任何更改,一直到某一方的程序被另一方的程序完全“吃掉”为止。
由于用于游戏的程序具有很强的破坏性,因此长久以来,懂得如何玩“磁芯大战”的人都严守一项不成文的规定:不对大众公开这些程序的内容。然而1983年,这项规定被打破了。科恩·汤普逊在当年一项杰出计算机奖的颁奖典礼上所做的演讲中,不但公开证实了计算机病毒的存在,而且还告诉所有听众怎样写自己的病毒程序。他的同行全都吓坏了,然而这个秘密已经流传出去了。
1984年情况变得更复杂了,《科学美国人》月刊的专栏作家在1984年5月刊写了第一篇讨论“磁芯大战”的文章,并且只要寄上两美元,任何读者都可以收到有关如何编写程序的提纲,在自己家的计算机中开辟战场。这样,许多程序员都了解了病毒的原理,进而开始尝试编制这种具有隐蔽性、攻击性和传染性的特殊程序。
20世纪80年代后期,巴基斯坦的两个以编辑软件为生的兄弟,为了打击盗版软件,设计出一个名为“巴基斯坦(brain)”的病毒,该病毒为引导区病毒。这就是最早在世界上流行的第一个真正的病毒。此后计算机病毒的发展一发不可收拾,以至于成为计算机领域的最大瘟疫。
在网络出现之后,产生了一种与计算机病毒很类似,但又不同于计算机病毒的恶意代码——网络蠕虫。网络蠕虫体现出与计算机病毒类似的特征,它具有潜伏期、传染期、触发期和发作期4个阶段。在传染过程中一般执行以下操作:寻找可以进一步传染的其他计算机;和远程计算机连接;将自身复制到远程计算机上,并运行该复制。
最早的网络蠕虫是在1980年由Xerox PARC的研究人员编写的,该程序主要用于辅助科学实验,尝试进行分布式计算。该程序由几个段(Segment)组成,这些段分布在网络上不同的计算机上,它们判断计算机是否空闲,若空闲,则将本身迁移到空闲计算机上。如果该程序的某个段被破坏时,其他的段能够再生成这个被破坏的段。
1988年,世界上第一个蠕虫发作,以它的编写者的名字命名——Morris蠕虫。在短短的几天内,有6 000多台互联网上的机器被感染,直接损失高达数百万美元。而该蠕虫的编写者Robert T. Morris Jr,被判有罪,并处以3年缓刑、1万美元的罚金和400 h的社区义务劳动。Robert T. Morris Jr是“磁芯大战”游戏三个编写者之一Morris的儿子。
自从出现网络蠕虫这种新型病毒之后,网络蠕虫的破坏力越来越显现出来,已经超越了以往的病毒。
互联网的发展,使病毒、黑客、后门、漏洞、恶意代码等技术相互结合,对信息社会造成极大的威胁[8]。特洛伊木马是一种表面上看起来具有某种功能的普通程序,而实际上却能悄悄执行一些其他未授权功能的程序,如悄悄删除用户文件,或偷窃用户账户和密码等。
对于个人计算机而言,通常会安装反病毒软件来防止病毒的入侵,以及对一些已感染的文件进行杀毒。而一般的反病毒软件对特洛伊木马的预防和查杀能力有限,目前有专门的木马查杀工具。因此,对一个节点而言,防止病毒和其他恶意代码的入侵和感染是一项非常艰巨和必须完成的任务。
在安装了相应的反病毒软件之后,要定期升级病毒库,并及时安装操作系统中发布的补丁。并且对一些重要的系统安全参数的设置要有充分的理解,并能根据需要正确设置安全参数。
4. 备份
对任何一个信息系统而言,定期备份数据是一个很好的安全措施,节点安全也不例外。根据数据的重要程度,备份的频率有高有低。备份是一种灾后恢复手段,它不能预防或阻止威胁的发生,但在破坏事件发生后,它可以尽快使系统恢复到正常的运行水平。
对于单个节点而言,备份主要针对存储于其中的信息。对于一些关键性的节点设备,如核心服务器等需要24 h不间断对外提供服务的机器,可以在硬件上采取热机备份的方式,或其他离线的硬件备份方法。对一般节点而言,通常只对软件和数据进行备份,而硬件只有一套。
备份的数据需要定期维护,防止存储数据的介质发生霉变或受潮,以至于不可用。由于备份需要增加额外的预算,因此每个信息系统对所要备份数据的保存时间是有规定的。这样既可以对存储介质进行重复利用,也可以定期清理不需要的数据。
因此,在备份数据时需要有一个备份策略和一个维护方案。对于台式计算机,这样的备份策略和维护方案可能很简单,甚至不需要形成规章制度,由每个使用者自觉执行。而对一些大型设备、关键性的服务器而言,备份策略和维护方案是精心制订的,一旦系统出现问题,这将是保障信息系统及时恢复服务的重要保障。
5. 防火墙
目前许多节点设备都可以和网络联通,无论是直接连接到局域网还是因特网,网络已成为许多信息系统赖以运行的环境。对单个节点而言,只要连接在网络上就要防范来自网络的危险。经常会遇到的攻击行为有网络扫描、嗅探、蠕虫病毒、特洛伊木马、网络钓鱼等。面对各种各样的网络威胁,典型的防御方法是在需要上网的节点上安装防火墙,或者在局域网的出口处统一安装防火墙。
无论采用哪种方式,防火墙在保护节点安全、防御网络入侵方面是十分有用的。防火墙的种类很多,不同类型的防火墙各有其专长的一面。在不同的应用环境下,选择不同类型的防火墙;或者将不同类型的防火墙联合使用,会达到更强的防御功能。
在使用防火墙的时候,关键是对防火墙规则的设置。有很多个人用户尽管安装了防火墙,但对其功能不甚了解,因此有时并不懂得设置防火墙的规则以及如何设置好防火墙。通常情况下,防火墙产品都有其内嵌的默认规则,对于个人计算机这些规则基本上够用。但是如果该产品用在一个作为网关的机器上,或者安装在一台服务器上,直接启用默认规则有时就不太适合了,需要专业人员根据系统的需要进行专门的定制。
另外,在使用防火墙产品时,除了关心它能带来的效益外,还要注意防火墙本身的安全性。现在已经出现了专门攻击防火墙的入侵。如果安全产品本身的安全性无法保证,那么它所保护的资源的安全性也就无从说起。