网络安全技术面面观 姚晓晖 2000年 第25期   影响计算机网络安全的因素很多,有人为因素,也有自然因素,其中人为因素的危害最大。归结起来,针对网络安全的威胁主要有三个方面:   1.人为的无意失误:如操作员安全配置不当造成的安全漏洞;不合理地设定资源访问控制,一些资源就有可能被偶然或故意地破坏;用户安全意识不强,用户口令选择不慎,用户将自己的账号随意转借他人或与别人共享等都会对网络安全带来威胁。   2.人为地恶意攻击:这是计算机网络所面临的最大威胁,此类攻击又可以分为以下两种:一种是破坏性攻击,它以各种方式有选择地破坏信息的有效性和完整性,这就是纯粹的信息破坏,这样的网络侵犯者被称为积极侵犯者,积极侵犯者截取网上的信息包,并对其进行更改使它失效,或者故意添加一些有利于自己的信息,起到信息误导的作用,或者登录进入系统使用并占用大量网络资源,造成资源的消耗,损害合法用户的利益,破坏性侵犯者的破坏作用最大;另一种是非破坏性攻击,它是在不影响网络正常工作的情况下,进行截获、窃取、破译以获得重要机密信息,这种仅窃听而不破坏网络中传输信息的侵犯者被称为非破坏性侵犯者。这两种攻击均可对计算机网络造成极大的危害,并导致机密数据的泄漏。   3.网络软件的漏洞和“后门”:网络软件不可能是百分之百的无缺陷和无漏洞的,然而,这些漏洞和缺陷恰恰是黑客进行攻击的首选途径,曾经出现过的黑客攻入网络内部的事件大部分就是因为网络软件有漏洞,导致安全措施不完善所招致的苦果。另外,软件的“后门”都是软件公司的编程人员为了自便而设置的,一般不为外人所知,但一旦“后门”洞开,造成的后果将不堪设想。   由于网络所带来的诸多不安全因素,使得网络使用者必须采取相应的网络安全技术来堵塞安全漏洞和提供安全的通信服务。如今,快速发展的网络安全技术能从不同角度来保证网络信息不受侵犯,网络安全的基本技术主要包括网络加密技术、防火墙技术、网络地址转换技术、操作系统安全内核技术、身份验证技术、网络防病毒技术。 #1  一、网络加密技术   网络信息加密的目的是保护网内的数据、文件、口令和控制信息,保护网上传输的数据。网络加密常用的方法有链路加密、端点加密和节点加密三种。链路加密的目的是保护网络节点之间的链路信息安全;端点加密的目的是对源端用户到目的端用户的数据提供加密保护;节点加密的目的是对源节点到目的节点之间的传输链路提供加密保护。用户可根据网络情况选择上述三种加密方式。   信息加密过程是由形形色色的加密算法来具体实施的,它以很小的代价提供很牢靠的安全保护。在多数情况下,信息加密是保证信息机密性的唯一方法。据不完全统计,到目前为止,已经公开发表的各种加密算法多达数百种。如果按照收发双方的密钥是否相同来分类,可以将这些加密算法分为常规密码算法和公钥密码算法。   1.在常规密码算法中,收信方和发信方使用相同的密钥,即加密密钥和解密密钥是相同或等价的。比较著名的常规密码算法有:美国的DES(数据加密标准)及其各种变形,比如Triple DES、GDES、New DES和DES的前身Lucifer;欧洲的IDEA;日本的FEAL-N、LOKI-91、RC4、RC5以及以代换密码和转轮密码为代表的古典密码等。在众多的常规密码中影响最大的是DES密码。   常规密码算法的优点是有很强的保密强度,且能经受住时间的检验和攻击,但其密钥必须通过安全的途径传送。因此,其密钥管理成为网络安全的重要因素。   2.在公钥密码算法中,收信方和发信方使用的密钥互不相同,而且不可能从加密密钥推导出解密密钥。比较著名的公钥密码算法有:RSA、McEliece密码、Diffe-Hellman、Rabin、Ong-Fiat-Shamir、EIGamal密码算法等。最有影响的公钥密码算法是RSA,它能抵抗目前为止已知的所有密码攻击。   公钥密码的优点是可以适应网络的开放性要求,且密钥管理问题也较为简单,尤其可方便地实现数字签名和身份验证。但其算法复杂,加密数据的速率较低。尽管如此,随着现代电子技术和密码技术的发展,公钥密码算法将是一种很有前途的网络安全加密机制。   在实际应用中,人们通常将常规密码和公钥密码结合在一起使用,比如:利用DES或者IDEA来加密信息,而采用RSA来传递会话密钥。如果按照每次加密所处理的比特来分类,可以将加密算法分为序列密码算法和分组密码算法,前者每次只加密一个比特而后者则先将信息序列分组,每次处理一个组。   网络加密技术是网络安全最有效的技术之一。一个加密网络,不但可以防止非授权用户的搭线窃听和入网,而且也是对付恶意软件(或病毒)的有效方法之一。 #1  二、防火墙技术   防火墙(Firewall)是用一个或一组网络设备(计算机系统或路由器等),在两个或多个网络间加强访问控制,以保护一个网络不受来自另一个网络攻击的安全技术。防火墙的组成可以表示为:防火墙=过滤器+安全策略(+网关),它是一种非常有效的网络安全技术。在Internet上,通过它来隔离风险区域(即Internet或有一定风险的网络)与安全区域(内部网,如Intranet)的连接,但不妨碍人们对风险区域的访问。防火墙可以监控进出网络的通信数据,从而完成仅让安全、核准的信息进入,同时又抵制对企业构成威胁的数据进入的任务。   通常,防火墙服务于以下几个目的:   ★限制他人进入内部网络,过滤掉不安全服务和非法用户;   ★限定人们访问特殊站点;   ★为监视Internet安全提供方便。   由于防火墙是一种被动技术,它假设了网络边界和服务,因此,对内部的非法访问难以有效地控制。因此,防火墙适合于相对独立的网络,例如Intranet等种类相对集中的网络。   防火墙的主要技术类型包括网络级数据包过滤(Network-level Packet Filter)和应用代理服务(Application-level Proxy Server)。   虽然防火墙技术是在内部网与外部网之间实施安全防范的最佳选择,但也存在一定的局限性:   ★不能完全防范外部刻意的人为攻击;   ★不能防范内部用户攻击;   ★不能防止内部用户因误操作而造成口令失密受到的攻击;   ★很难防止病毒或者受病毒感染的文件的传输。   由于两种类型的防火墙系统各有优缺点,因而在实际的使用中常常根据实际需求结合起来使用,目前市场上的最新防火墙产品都结合了网络级数据包过滤和应用代理服务的功能。 #1  三、网络地址转换技术(NAT)   网络地址转换器也称为地址共享器(Address Sharer)或地址映射器,设计它的初衷是为了解决IP地址不足,现多用于网络安全。内部主机向外部主机连接时,使用同一个IP地址;相反地,外部主机要向内部主机连接时,必须通过网关映射到内部主机上。它使外部网络看不到内部网络,从而隐藏内部网络,达到保密作用,使系统的安全性提高,并且节约从ISP得到的外部IP地址。 #1  四、操作系统安全内核技术   除了在传统网络安全技术上着手,人们开始在操作系统的层次上考虑网络安全性,尝试把系统内核中可能引起安全性问题的部分从内核中剔除出去,从而使系统更安全。操作系统平台的安全措施包括:采用安全性较高的操作系统;对操作系统的安全配置;利用安全扫描系统检查操作系统的漏洞等。   美国国防部(DOD)技术标准把操作系统的安全等级分成了D1、C1、C2、B1、B2、B3、A级,其安全等级由低到高。目前主要的操作系统的安全等级都是C2级(例如,Unix、Windows NT),其特征包括:   ★用户必须通过用户注册名和口令让系统识别;   ★系统可以根据用户注册名决定用户访问资源的权限;   ★系统可以对系统中发生的每一件事进行审核和记录;   ★可以创建其他具有系统管理权限的用户。   B1级操作系统除上述机制外,还不允许文件的拥有者改变其许可权限。   B2级操作系统要求计算机系统中所有对象都加标签,且给设备(如磁盘、磁带或终端)分配单个或多个安全级别。 #1  五、身份验证技术   身份验证(Identification)是用户向系统出示自己身份证明的过程。身份认证是系统查核用户身份证明的过程。这两个过程是判明和确认通信双方真实身份的两个重要环节,人们常把这两项工作统称为身份验证(或身份鉴别)。   1.数字签名——基于公共密钥的身份验证   公开密钥的加密机制虽提供了良好的保密性,但难以鉴别发送者,即任何得到公开密钥的人都可以生成和发送报文,数字签名机制则在此基础上提供了一种鉴别方法,以解决伪造、抵赖、冒充和篡改等问题。   数字签名一般采用不对称加密技术(如RSA),通过对整个明文进行某种变换,得到一个值,作为核实签名。接收者使用发送者的公开密钥对签名进行解密运算,如其结果为明文,则签名有效,证明对方的身份是真实的。当然,签名也可以采用多种方式,例如,将签名附在明文之后。数字签名普遍用于银行、电子商务等的身份验证。   2.Kerberos系统——基于DCE/Kerberos的身份验证   Kerberos系统是美国麻省理工学院为Athena工程而设计的,为分布式计算环境提供一种对用户双方进行身份验证的方法。   它的安全机制在于首先对发出请求的用户进行身份验证,确认其是否是合法的用户,如是合法的用户,再审核该用户是否有权对他所请求的服务或主机进行访问。从加密算法上来讲,其身份验证是建立在对称加密的基础上的。 #1  六、网络防病毒技术   在网络环境下,计算机病毒具有不可估量的威胁性和破坏力。CIH病毒及爱虫病毒就足以证明如果不重视计算机网络防病毒,那可能给社会造成灾难性的后果,因此计算机病毒的防范也是网络安全技术中重要的一环。   网络防病毒技术包括预防病毒、检测病毒和消除病毒等3种技术:   1.预防病毒技术,它通过自身常驻系统内存,优先获得系统的控制权,监视和判断系统中是否有病毒存在,进而阻止计算机病毒进入计算机系统和对系统进行破坏。技术手段包括:加密可执行程序、引导区保护、系统监控与读写控制(如防病毒卡)等。   2.检测病毒技术,它是通过对计算机病毒的特征来进行判断的侦测技术,如自身校验、关键字、文件长度的变化等。病毒检测一直是病毒防护的支柱,然而随着病毒的数目和可能的切入点的大量增加,识别古怪代码串的进程变得越来越复杂,而且容易产生错误和疏忽。因此,最新的防病毒技术应将病毒检测、多层数据保护和集中式管理等多种功能集成起来,形成多层次防御体系,既具有稳健的病毒检测功能,又具有客户机/服务器数据保护能力,也就是覆盖全网的多层次方法。   3.消除病毒技术,它通过对计算机病毒的分析,开发出具有杀除病毒程序并恢复原文件的软件。大量的病毒针对网上资源和应用程序进行攻击,这样的病毒存在于信息共享的网络介质上,因而要在网关上设防,在网络入口实时杀毒。对于内部病毒,如客户机感染的病毒,通过服务器防病毒功能,在病毒从客户机向服务器转移的过程中杀掉,把病毒感染的区域限制在最小范围内。   网络防病毒技术的具体实现方法包括对网络服务器中的文件进行频繁地扫描和监测,工作站上采用防病毒芯片和对网络目录及文件设置访问权限等。防病毒必须从网络整体考虑,从方便管理人员的工作着手,通过网络环境管理网络上的所有机器,如利用网络唤醒功能,在夜间对全网的客户机进行扫描,检查病毒情况;利用在线报警功能,网络上每一台机器出现故障、病毒侵入时,网络管理人员都能及时知道,从而从管理中心处予以解决。