|
网络安全听我概说 病毒的天下 --------------------------------------------------------------------------------
! z; X# j' Z/ ]. v' X& p 随着科学技术的迅速发展,信息产业已经成为人类社会的支柱产业,由此带动了计算机网络的迅猛发展和普遍应用。而网络的安全问题也就日趋成为广大网络用户普遍关心的问题,如何在发展和推广网络应用的同时进一步提高网络的安全性,真正做到“既要使网络开放又要使网络安全”这一问题已成为了网络界积极研究的课题。 计算机网络安全涉及到许多方面,目前网络安全所面临的主要潜在威胁有以下几方面:
' w% A( u" k% R$ R& Z; ? 一、信息泄密。主要表现为网络上的信息被窃听,这种仅窃听而不破坏网络中传输信息的网络侵犯者被称为消极侵犯者。 8 G4 V% J* m8 j5 m8 g* W$ W
二、信息被篡改。这就是纯粹的信息破坏,这样的网络侵犯者被称为积极侵犯者。积极侵犯者截取网上的信息包,并对之进行更改使之失效,或者故意添加一些有利于自己的信息,起到信息误导的作用。积极侵犯者的破坏作用最大。 + G) ^, F( R& k) |2 g; P
三、传输非法信息流。用户可能允许自己同其他用户进行某些类型的通信,但禁止其它类型的通信。如允许电子邮件传输而禁止文件传送。
r" `( l5 p3 U9 V( X* A, N 四、网络资源的错误使用。如果不合理地设定资源访问控制,一些资源有可能被偶然或故意地破坏。 % z1 ~3 m4 a# K6 ?. X7 H
五、非法使用网络资源。非法用户登录进入系统使用网络资源,造成资源的消耗,损害合法用户的利益。
1 p+ c" H% P5 {& A$ A8 j0 Z 由于网络所带来的诸多不安全因素使得网络使用者不得不采取相应的网络安全对策。为了堵塞安全漏洞和提供安全的通信服务,必须运用一定的技术来对网络进行安全建设,这已为广大网络开发商和网络用户所共识。
. u. u: A# I( ?) W- U8 j现今主要的网络安全技术有以下几种:
; a) c5 z k: F4 n! w: {, \2 O 一、加密路由器(Encrypting Router)技术 7 e4 b$ K2 R! I: h
加密路由器把通过路由器的内容进行加密和压缩,然后让它们通过不安全的网络进行传输,并在目的端进行解压和解密。
) ]/ Y' E+ M7 a. g 二、安全内核(Secured Kernel)技术
- q) [- t. i& V! L* p5 O 人们开始在操作系统的层次上考虑安全性,尝试把系统内核中可能引起安全性问题的部分从内核中剔除出去,从而使系统更安全。如S olaris操作系统把静态的口令放在一个隐含文件中, 使系统的安全性增强。
8 k/ q9 t2 ?; Q$ y2 W 三、网络地址转换器(Network Address Translater) ' R/ _+ y- S: X3 D' K3 L ]$ `0 k
网络地址转换器也称为地址共享器(Address Sharer)或地址映射器,初衷是为了解决IP 地址不足,现多用于网络安全。内部主机向外部主机连接时,使用同一个IP地址;相反地,外部主机要向内部主机连接时,必须通过网关映射到内部主机上。它使外部网络看不到内部网络, 从而隐藏内部网络,达到保密作用。
( i6 q" L+ Q& G- C4 z3 s; ?" I数据加密(Data Encryption)技术 ! h5 Y5 |2 C! Y" @; E8 Z
所谓加密(Encryption)是指将一个信息(或称明文--plaintext) 经过加密钥匙(Encrypt ionkey)及加密函数转换,变成无意义的密文( ciphertext),而接收方则将此密文经过解密函数、解密钥匙(Decryti on key)还原成明文。加密技术是网络安全技术的基石。
2 E! l; L. `, C1 p; p# p 数据加密技术要求只有在指定的用户或网络下,才能解除密码而获得原来的数据,这就需要给数据发送方和接受方以一些特殊的信息用于加解密,这就是所谓的密钥。其密钥的值是从大量的随机数中选取的。按加密算法分为专用密钥和公开密钥两种。
* P* O. T9 f& a0 @' i' u 专用密钥,又称为对称密钥或单密钥,加密时使用同一个密钥,即同一个算法。如DES和MIT的Kerberos算法。单密钥是最简单方式,通信双方必须交换彼此密钥,当需给对方发信息时,用自己的加密密钥进行加密,而在接收方收到数据后,用对方所给的密钥进行解密。这种方式在与多方通信时因为需要保存很多密钥而变得很复杂,而且密钥本身的安全就是一个问题。 1 I- f' r2 I5 l, ]
DES是一种数据分组的加密算法,它将数据分成长度为6 4位的数据块,其中8位用作奇偶校验,剩余的56位作为密码的长度。第一步将原文进行置换,得到6 4位的杂乱无章的数据组;第二步将其分成均等两段 ;第三步用加密函数进行变换,并在给定的密钥参数条件下,进行多次迭代而得到加密密文。 ) U2 L1 k! w* J4 l) z9 D; O
公开密钥,又称非对称密钥,加密时使用不同的密钥,即不同的算法,有一把公用的加密密钥,有多把解密密钥,如RSA算法。 7 |3 B6 z9 D. o# k) S7 F
在计算机网络中,加密可分为"通信加密"(即传输过程中的数据加密)和"文件加密"(即存储数据加密)。通信加密又有节点加密、链路加密和端--端加密3种。
, K8 _3 S& d2 l2 F- } ①节点加密,从时间坐标来讲,它在信息被传入实际通信连接点 (Physical communication link)之前进行;从OSI 7层参考模型的坐标 (逻辑空间)来讲,它在第一层、第二层之间进行; 从实施对象来讲,是对相邻两节点之间传输的数据进行加密,不过它仅对报文加密,而不对报头加密,以便于传输路由的选择。
7 K6 e K) t0 W5 y: o ②链路加密(Link Encryption),它在数据链路层进行,是对相邻节点之间的链路上所传输的数据进行加密,不仅对数据加密还对报头加密。 9 C' I6 U2 g( u: R1 m# i; ^5 [& H
③端--端加密(End-to-End Encryption),它在第六层或第七层进行 ,是为用户之间传送数据而提供的连续的保护。在始发节点上实施加密,在中介节点以密文形式传输,最后到达目的节点时才进行解密,这对防止拷贝网络软件和软件泄漏也很有效。 1 q' v! o& j3 s* V( E
在OSI参考模型中,除会话层不能实施加密外,其他各层都可以实施一定的加密措施。但通常是在最高层上加密,即应用层上的每个应用都被密码编码进行修改,因此能对每个应用起到保密的作用,从而保护在应用层上的投资。假如在下面某一层上实施加密,如TCP层上,就只能对这层起到保护作用。
- {/ i6 ~2 r O; d 值得注意的是,能否切实有效地发挥加密机制的作用,关键的问题在于密钥的管理,包括密钥的生存、分发、安装、保管、使用以及作废全过程。
" W3 h, B6 p k1 H* T( P8 | (1)数字签名
% F4 D; K9 R. e* A; g7 b- X2 K 公开密钥的加密机制虽提供了良好的保密性,但难以鉴别发送者, 即任何得到公开密钥的人都可以生成和发送报文。数字签名机制提供了一种鉴别方法,以解决伪造、抵赖、冒充和篡改等问题。
- w1 {6 T, K; ~: T1 n- J/ [" Y 数字签名一般采用不对称加密技术(如RSA),通过对整个明文进行某种变换,得到一个值,作为核实签名。接收者使用发送者的公开密钥对签名进行解密运算,如其结果为明文,则签名有效,证明对方的身份是真实的。当然,签名也可以采用多种方式,例如,将签名附在明文之后。数字签名普遍用于银行、电子贸易等。
0 J" |# V, F6 o 数字签名不同于手写签字:数字签名随文本的变化而变化,手写签字反映某个人个性特征, 是不变的;数字签名与文本信息是不可分割的,而手写签字是附加在文本之后的,与文本信息是分离的。 9 Y; _ `9 p5 P9 \; G
(2)Kerberos系统 ' Z J9 @1 A7 l; d! B
Kerberos系统是美国麻省理工学院为Athena工程而设计的,为分布式计算环境提供一种对用户双方进行验证的认证方法。
& f/ ]; {4 S8 [0 I8 n 它的安全机制在于首先对发出请求的用户进行身份验证,确认其是否是合法的用户;如是合法的用户,再审核该用户是否有权对他所请求的服务或主机进行访问。从加密算法上来讲,其验证是建立在对称加密的基础上的。
/ z% {# N! j6 M9 H5 a Kerberos系统在分布式计算环境中得到了广泛的应用(如在Notes 中),这是因为它具有如下的特点: ' ~% Q$ L* {6 a/ L% g
①安全性高,Kerberos系统对用户的口令进行加密后作为用户的私钥,从而避免了用户的口令在网络上显示传输,使得窃听者难以在网络上取得相应的口令信息; 5 l5 @1 u/ {2 y8 S. j- u7 x4 C
②透明性高,用户在使用过程中,仅在登录时要求输入口令,与平常的操作完全一样,Ker beros的存在对于合法用户来说是透明的;
; Y" o" }9 O# r5 F6 T( U ③可扩展性好,Kerberos为每一个服务提供认证,确保应用的安全。
. T% b$ Q4 b2 e' @* T8 c J: W Kerberos系统和看电影的过程有些相似,不同的是只有事先在Ker beros系统中登录的客户才可以申请服务,并且Kerberos要求申请到入场券的客户就是到TGS(入场券分配服务器)去要求得到最终服务的客户。 Kerberos的认证协议过程如图二所示。
' R. p3 |" J9 s% Z Kerberos有其优点,同时也有其缺点,主要如下:
/ R+ }8 }3 W, y6 g% v3 r! l ①、Kerberos服务器与用户共享的秘密是用户的口令字,服务器在回应时不验证用户的真实性,假设只有合法用户拥有口令字。如攻击者记录申请回答报文,就易形成代码本攻击。
# s: _) ~9 @9 |& n ②、Kerberos服务器与用户共享的秘密是用户的口令字,服务器在回应时不验证用户的真实性,假设只有合法用户拥有口令字。如攻击者记录申请回答报文,就易形成代码本攻击。 % W8 B1 _. d* r1 V) A, s' X
③、AS和TGS是集中式管理,容易形成瓶颈,系统的性能和安全也严重依赖于AS和TGS的性能和安全。在AS和TGS前应该有访问控制,以增强AS和TGS的安全。
& i, J1 @- K, O$ D7 [; ]' q& d: Z2 _ ④、随用户数增加,密钥管理较复杂。Kerberos拥有每个用户的口令字的散列值,AS与TGS 负责户间通信密钥的分配。当N个用户想同时通信时,仍需要N*(N-1)/2个密钥 , `7 V! C+ P1 c
( 3 )、PGP算法 * J8 K6 ^3 A8 S" [- D3 S
PGP(Pretty Good Privacy)是作者hil Zimmermann提出的方案, 从80年代中期开始编写的。公开密钥和分组密钥在同一个系统中,公开密钥采用RSA加密算法,实施对密钥的管理;分组密钥采用了IDEA算法,实施对信息的加密。
' A( D, W) L f9 D PGP应用程序的第一个特点是它的速度快,效率高;另一个显著特点就是它的可移植性出色,它可以在多种操作平台上运行。PGP主要具有加密文件、发送和接收加密的E-mail、数字签名等。
- u6 M* g% o- c/ K7 a/ i (4)、PEM算法
! h$ q: q0 J8 f 保密增强邮件(Private Enhanced Mail,PEM),是美国RSA实验室基于RSA和DES算法而开发的产品,其目的是为了增强个人的隐私功能, 目前在Internet网上得到了广泛的应用,专为E-mail用户提供如下两类安全服务: ; Q& X* p3 Z p8 Y. N
对所有报文都提供诸如:验证、完整性、防抵 赖等安全服务功能; 提供可选的安全服务功能,如保密性等。 8 Y* }8 |1 m5 I; k$ ]
PEM对报文的处理经过如下过程: 1 b; P, b, E9 ^' m
第一步,作规范化处理:为了使PEM与MTA(报文传输代理)兼容,按S MTP协议对报文进行规范化处理;
4 F' u. H4 k$ @ 第二步,MIC(Message Integrity Code)计算; + {1 `$ }; ^7 C, o% X
第三步,把处理过的报文转化为适于SMTP系统传输的格式。 身份验证技术 $ {, k1 O u2 ^1 r$ X( Q
身份识别(Identification)是指定用户向系统出示自己的身份证明过程。身份认证(Authertication)是系统查核用户的身份证明的过程。人们常把这两项工作统称为身份验证(或身份鉴别),是判明和确认通信双方真实身份的两个重要环节。 , y/ v1 s$ ^* r) S# G# G
Web网上采用的安全技术
* E' N+ H( R1 @* N8 Y% X 在Web网上实现网络安全一般有SHTTP/HTTP和SSL两种方式。 # {+ C+ { o! a" O
(一)、SHTTP/HTTP 4 e: q2 M: F8 s! Q4 ]) @ R- [9 i( E4 }
SHTTP/HTTP可以采用多种方式对信息进行封装。封装的内容包括加密、签名和基于MAC 的认证。并且一个消息可以被反复封装加密。此外,SHTTP还定义了包头信息来进行密钥传输、认证传输和相似的管理功能。SHTTP可以支持多种加密协议,还为程序员提供了灵活的编程环境。 1 M8 @0 o2 j) n8 [
SHTTP并不依赖于特定的密钥证明系统,它目前支持RSA、带内和带外以及Kerberos密钥交换。
% G+ |5 ], u- V$ ? (二)、SSL(安全套层) 安全套接层是一种利用公开密钥技术的工业标准。SSL广泛应用于Intranet和Internet 网,其产品包括由Netscape、Microsoft、IBM 、Open Market等公司提供的支持SSL的客户机和服务器,以及诸如Apa che-SSL等产品。
+ f3 B9 v5 S& s$ R SSL提供三种基本的安全服务,它们都使用公开密钥技术。 : {( O4 I1 J9 y8 f5 w
①信息私密,通过使用公开密钥和对称密钥技术以达到信息私密。SSL客户机和SSL服务器之间的所有业务使用在SSL握手过程中建立的密钥和算法进行加密。这样就防止了某些用户通过使用IP packet sniffer工具非法窃听。尽管packet sniffer仍能捕捉到通信的内容, 但却无法破译。 ②信息完整性,确保SSL业务全部达到目的。如果Internet成为可行的电子商业平台,应确保服务器和客户机之间的信息内容免受破坏。SSL利用机密共享和hash函数组提供信息完整性服务。③相互认证,是客户机和服务器相互识别的过程。它们的识别号用公开密钥编码,并在SSL握手时交换各自的识别号。为了验证证明持有者是其合法用户(而不是冒名用户),SSL要求证明持有者在握手时对交换数据进行数字式标识。证明持有者对包括证明的所有信息数据进行标识以说明自己是证明的合法拥有者。这样就防止了其他用户冒名使用证明。证明本身并不提供认证,只有证明和密钥一起才起作用。 ④SSL的安全性服务对终端用户来讲做到尽可能透明。一般情况下,用户只需单击桌面上的一个按钮或联接就可以与SSL的主机相连。与标准的HTTP连接申请不同,一台支持SSL的典型网络主机接受SSL连接的默认端口是443而不是80。
+ o- t* x/ M& f5 I: G 当客户机连接该端口时,首先初始化握手协议,以建立一个SSL对话时段。握手结束后,将对通信加密,并检查信息完整性,直到这个对话时段结束为止。每个SSL对话时段只发生一次握手。相比之下,HTTP 的每一次连接都要执行一次握手,导致通信效率降低。一次SSL握手将发生以下事件: ' P+ R) z: _& O, ?; y
1.客户机和服务器交换X.509证明以便双方相互确认。这个过程中可以交换全部的证明链,也可以选择只交换一些底层的证明。证明的验证包括:检验有效日期和验证证明的签名权限。
9 d" \: P# j6 E* I- L* w/ I/ N+ C# o 2.客户机随机地产生一组密钥,它们用于信息加密和MAC计算。这些密钥要先通过服务器的公开密钥加密再送往服务器。总共有四个密钥分别用于服务器到客户机以及客户机到服务器的通信。 7 I" l( z6 k/ n
3.信息加密算法(用于加密)和hash函数(用于确保信息完整性)是综合在一起使用的。Netscape的SSL实现方案是:客户机提供自己支持的所有算法清单,服务器选择它认为最有效的密码。服务器管理者可以使用或禁止某些特定的密码。
* r. N {! \0 g5 s |9 e* i代理服务
9 A" D: w1 r- H. t$ O2 d: Z0 o 在 Internet 中广泛采用代理服务工作方式, 如域名系统(DNS), 同时也有许多人把代理服务看成是一种安全性能。
) B7 j' G H, v1 h2 O i# p 从技术上来讲代理服务(Proxy Service)是一种网关功能,但它的逻辑位置是在OSI 7层协议的应用层之上。
. z2 _" |4 g7 \7 W4 f: c8 N 代理(Proxy)使用一个客户程序,与特定的中间结点链接,然后中间结点与期望的服务器进行实际链接。与应用网关型防火墙所不同的是,使用这类防火墙时外部网络与内部网络之间不存在直接连接,因此 ,即使防火墙产生了问题,外部网络也无法与被保护的网络连接。 - f! S' r( I( |4 t* C
防火墙技术
# p9 `) p; Z$ n! C: n (1)防火墙的概念
, N% U6 \8 k* O0 C+ J, p 在计算机领域,把一种能使一个网络及其资源不受网络"墙"外"火灾"影响的设备称为"防火墙"。用更专业一点的话来讲,防火墙(FireW all)就是一个或一组网络设备(计算机系统或路由器等),用来在两个或多个网络间加强访问控制,其目的是保护一个网络不受来自另一个网络的攻击。可以这样理解,相当于在网络周围挖了一条护城河,在唯一的桥上设立了安全哨所,进出的行人都要接受安全检查。 ) n9 c% k0 h* j! D3 s" L0 }
防火墙的组成可以这样表示:防火墙=过滤器+安全策略(+网关)。
+ Q6 _7 N4 D$ ]3 M. w$ c (2)防火墙的实现方式
3 K0 \" ~+ p! C: R ①在边界路由器上实现; ②在一台双端口主机(dual-homed host)上实现; ③在公共子网(该子网的作用相当于一台双端口主机)上实现,在此子网上可建立含有停火区结构的防火墙。 ! l" J- I+ h- K: s. f
(3)防火墙的网络结构
+ q5 g- I% m" f/ V* D 网络的拓扑结构和防火墙的合理配置与防火墙系统的性能密切相关,防火墙一般采用如下几种结构。 ①最简单的防火墙结构 这种网络结构能够达到使受保护的网络只能看到"桥头堡主机"( 进出通信必经之主机), 同时,桥头堡主机不转发任何TCP/IP通信包, 网络中的所有服务都必须有桥头堡主机的相应代理服务程序来支持。但它把整个网络的安全性能全部托付于其中的单个安全单元,而单个网络安全单元又是攻击者首选的攻击对象,防火墙一旦破坏,桥头堡主机就变成了一台没有寻径功能的路由器,系统的安全性不可靠。 ( B7 ^; w0 j% t9 H: m
②单网端防火墙结构
. `. H/ l/ _ m 其中屏蔽路由器的作用在于保护堡垒主机(应用网关或代理服务) 的安全而建立起一道屏障。在这种结构中可将堡垒主机看作是信息服务器,它是内部网络对外发布信息的数据中心,但这种网络拓扑结构仍把网络的安全性大部分托付给屏蔽路由器。系统的安全性仍不十分可靠。 . g6 ^3 U: E9 G3 ^# Y/ u6 f: B8 i
③增强型单网段防火墙的结构 # I3 ?9 I! }8 p% O, ^
为增强网段防火墙安全性,在内部网与子网之间增设一台屏蔽路由器,这样整个子网与内外部网络的联系就各受控于一个工作在网络级的路由器,内部网络与外部网络仍不能直接联系,只能通过相应的路由器与堡垒主机通信。 2 \5 ?7 [" \/ y8 G( X
④含"停火区"的防火墙结构 ! ^7 B- J( Y; W# v
针对某些安全性特殊需要, 可建立如下的防火墙网络结构。 网络的整个安全特性分担到多个安全单元, 在外停火区的子网上可联接公共信息服务器,作为内外网络进行信息交换的场所。
! w1 `/ ~) l) D: [3 P网络反病毒技术
9 O U0 |) V9 N9 M! q: a0 ^, i* I3 @ 由于在网络环境下,计算机病毒具有不可估量的威胁性和破坏力, 因此计算机病毒的防范也是网络安全性建设中重要的一环。网络反病毒技术也得到了相应的发展。
/ ], n" z9 n% y4 v) [) [( p 网络反病毒技术包括预防病毒、检测病毒和消毒等3种技术。(1) 预防病毒技术,它通过自身常驻系统内存,优先获得系统的控制权,监视和判断系统中是否有病毒存在,进而阻止计算机病毒进入计算机系统和对系统进行破坏。这类技术是:加密可执行程序、引导区保护、系统监控与读写控制(如防病毒卡)等。(2)检测病毒技术,它是通过对计算机病毒的特征来进行判断的技术,如自身校验、关键字、文件长度的变化等。(3)消毒技术,它通过对计算机病毒的分析,开发出具有删除病毒程序并恢复原文件的软件。
R" S; f$ N9 `, z, Y2 j5 k" W& X 网络反病毒技术的实施对象包括文件型病毒、引导型病毒和网络病毒。 : _$ r; S! a) z: s3 K5 m
网络反病毒技术的具体实现方法包括对网络服务器中的文件进行频繁地扫描和监测;在工作站上采用防病毒芯片和对网络目录及文件设置访问权限等。 5 X2 Y4 M' T/ `+ ~; X8 y! ?
随着网上应用不断发展,网络技术不断应用,网络不安全因素将会不断产生,但互为依存的,网络安全技术也会迅速的发展,新的安全技术将会层出不穷,最终Internet网上的安全问题将不会阻挡我们前进的步伐
|