400 likes | 631 Views
第 7 章 计算机网络系统安全. 本章摘要 本章讨论计算机病毒的本质、类型及其防治技术;网络操作系统的安全问题;介绍安全电子邮件系统的原理及主要的标准;较详细地阐述了各种防火墙技术并比较它们的优缺点;最后,介绍了电子商务安全协议 SET 及其处理流程。. 7 .1 计算机病毒及其防治. 7.1.1 计算机病毒的本质及其类型
E N D
第7章 计算机网络系统安全 本章摘要 本章讨论计算机病毒的本质、类型及其防治技术;网络操作系统的安全问题;介绍安全电子邮件系统的原理及主要的标准;较详细地阐述了各种防火墙技术并比较它们的优缺点;最后,介绍了电子商务安全协议SET及其处理流程。
7.1 计算机病毒及其防治 7.1.1 计算机病毒的本质及其类型 计算机病毒是一段程序,它附着于计算机系统中其他可执行程序(宿主程序),并依赖其宿主程序的执行而进行未经许可的复制和破坏。一般来说,计算机病毒的动作分两阶段:感染和攻击。在感染阶段,计算机病毒进行自身代码的广泛复制。在攻击阶段,计算机病毒则进行该病毒程序所拟订的破坏。
(1)病毒的行为 在感染阶段,病毒制造者必须要抗衡对病毒的检测,故病毒感染的扩散常常不是即时进行。 有些病毒是当宿主程序一执行,便开始动作,感染其他程序;有些病毒的感染,却要等待某些事件的触发。 很多病毒程序会以内存中的驻留程序方式存在,驻留病毒经常会取代系统软件的若干部分以隐藏自己的存在,这种技术称为偷袭。多形态技术也会有助于病毒进行感染而逃过检测。 所有病毒都需要时间实施感染,不是所有病毒都进行攻击,但可以肯定的是,所有病毒都会耗费系统资源,通常都会给系统造成故障,诸如删除文件、改动数据或降低系统执行速度等等,且有些病毒的攻击对系统是致命的。如同病毒感染需要触发一样,病毒的攻击也需等待触发时机的到来。
(2)病毒的类型 ①感染的对象 病毒会感染系统扇区、宏指令、伴随文件(与EXE文件同名的COM文件)、磁盘簇、批处理文件、源代码、用VB写的蠕虫,等 ②病毒的种类: ﹒多形态病毒: 病毒的每个副本看上去都是不同的。被某种病毒所感染的多个文件上所附着的病毒代码是不相同的。变异后的代码并非完全不相同,大多数病毒扫描程序都已能识别。 ﹒偷袭者病毒 偷袭病毒掩盖自己所作的改变的办法是取代那些读文件或系统扇区的管理程序,当有程序要求磁盘上这些部位的信息时,偷袭病毒就将未改变前的正确信息来替代实际的被病毒改变了的信息。当然,偷袭病毒必须常驻内存且处于活动状态才能作到这一点。因此,系统用干净(无毒)的系统软盘启动后再使用抗病毒程序才是效果最好的。
﹒快速和慢速感染者病毒 快速感染者病毒不但在其它程序运行时实施感染,而且当其它程序仅仅是被简单地访问而并非在执行时即实施感染。它附在抗病毒软件上,当其它程序被检查时就实施感染。由于抗病毒程序要打开外存上的每一个程序来扫描病毒,所以驻留在内存中在抗病毒程序启动之前未被发现的快速感染者病毒将在抗病毒程序启动后迅速传遍全部外存的盘片。 慢速感染者病毒感染其它程序仅在这些程序被创建和修改时进行。它的意图是试图在程序合法变动之机侵入以抵御对软件的完整性检查,因为用户会认为此时的程序完整性的改变是自己做的,而很少会怀疑到病毒的感染。慢速感染者病毒不会很快传遍整块磁盘。 ﹒稀疏者病毒 它可能会感染那些刚好执行了20次的文件;或那些长度刚好等于某个预定的数值范围的文件;或其名字是以某些预定的字母开头的文件等。 ﹒装甲病毒 采用抵制反汇编的技术的病毒。 ﹒多歧病毒 有时感染系统扇区,有时感染文件。
﹒空穴病毒 空穴病毒就是在不破坏原程序本身的前提下来把自己安装到程序(文件)的空白区域中去。 一种新的Windos文件格式- PE(Portable Executable),使得空穴病毒“钻空子”容易多了。P E格式文件在运行时在程序执行代码间潜在地留下若干大段的空隙。空穴病毒能发现这些空隙再将自己安装进去。曾肆虐四方的CIH病毒便是利用了这种新文件格式的空穴病毒。 ﹒隧道病毒 隧道病毒便试图回溯中断链以求直接获得DOS和BIOS的中断句柄,然后将自己安装进去替代原中断处理程序的执行代码来一个“偷梁换柱”。 ﹒伪装病毒 ﹒NTFS ADS病毒 NT文件系统(NTFS)在其内部含有一个交替数据流(ADS-Alternate Data Stream)子系统。这个ADS子系统允许另外的数据连接到一个文件,且这另外附加的数据文件(ADS文件)对用户并不总是可见的。 病毒先为自己创建一个副本作为一个临时EXE文件,然后把原始的正常EXE文件作为ADS文件附加到临时EXE文件上去,再把那临时EXE文件名改成原始的正常EXE文件名。当用户键入那原始的正常EXE文件名,实际运行的将是病毒程序。病毒在自己的操作完了以后,再把原始的EXE文件送还给操作系统去运行。
除病毒以外,其他对系统有害的恶意软件有: • 逻辑炸弹:在计算机程序中潜入的逻辑,它可以检查在该系统中将要出现的某个条件组合。当这些条件满足时,它就执行某些功能以产生一个未授权的动作。 • 特洛伊木马:一种具有看起来或实际上具有有用功能的计算机程序,但这里面还包含有一些附加的(隐藏的)功能,能够偷偷摸摸的使用调用进程的合法特许达到损害安全的目的。 • 蠕虫:它能够复制自己,并将各副本通过网络连接从一个计算机发送到其他计算机。在到达时,蠕虫可以被激活以继续复制和传播。
7.1.2 反病毒的方法与技术 1.扫描 病毒扫描程序是根据已知病毒的特征码检测已知的病毒。一旦察觉到了一种新病毒,扫描程序作者就需查找其特征码来编写一段新的扫描程序,然后用它来搜寻内存,文件和系统扇区,如果找到匹配的代码串,则发出发现病毒的警报。 为了提高扫描的准确性,扫描程序常采用如代码分析和虚拟计算等技术。代码分析就是首先考察程序流程,查看是否有非正常跳转等来寻找病毒特征。虚拟计算就是扫描程序在扫描过程中在内存设置一个虚拟计算机并在其虚拟环境中运行那个要检查的程序,再对其结果进行考察,以免其中真的含有病毒而就此发生扩散。这些技术常叫做“试探式”扫描。扫描程序需要及时更新病毒特征库以检测最新查获的病毒
2.完整性检查 完整性检查程序的原理和作用是记录下硬盘上的全部信息的完整性数据,这些数据代表了硬盘上系统扇区和文件的特征值,诸如文件的长度、日期和时间;文件内容的CRC值或校验和;临近程序出/入口处的几条机器指令等等。在验证时,如果系统扇区或文件的特征值与原来不同,那么便是发生了故障,很有可能是病毒造成的。 3. 行为监视 行为监视程序是内存驻留程序,对于防御逻辑炸弹和特洛伊木马特别有用。它的工作原理是在后台监视那些有可能对系统造成破坏的系统中断服务例程的使用情况。一旦这些服务例程被调用,它就会弹出一个窗口来通知用户,并请用户判断是否应该继续执行。
7.2 操作系统和网络信息安全 • TCP/IP的安全性 • IP安全性 • 安全套接层和传输层的安全 • UNIX系统的安全性
7.2.2 IP安全性 IETF发表了五个与安全有关的建议标准,在互连网层定义了一个IP安全体系结构—IPsec,IPsec主要文档如下: ﹒RFC2401:安全体系结构概述。 ﹒ RFC2402: IP鉴别首部 ﹒ RFC2406: IP Encapsulating Security Payload (ESP) ﹒ RFC2409: The Internet Key Exchange (IKE)
IPsec为IP包加上了完整性检查、鉴别、加密和重放保护。它既可用于端-端的传输安全,也可用来在网关之间创建安全隧道。 IPsec中的鉴别首部(AH)提供了IP包的鉴别服务,采用的方法是在包里附加了加密了的检查和。当接收者收到带有AH的包且其检查和的操作是成功的,同时收发双方是共享一对无第三者知道的秘密密钥的,则可断定此包的发送者是真实的;此包内容在传输过程中没被篡改。封装安全有效载荷(ESP)提供了IP包的机密性服务,其方法是用3DES或RC5、IDEA、3IDEA、CAST、Blowfish等密码算法加密。当接收者收到带有ESP的包且其检查和的操作是成功的,同时收发双方是共享一对无第三者知道的秘密密钥的,则可确定该包在途中没有被搭线窃听。IP有效负荷压缩(IPcomp)的功能是为用ESP加密前的IP包提供压缩功能。因特网密钥交换(IKE)的功能是为AH和ESP中使用秘密密钥的双方提供密钥管理。IPsec中的IKE功能是可选的。若未选用IKE,则可人工配置AH/ESP所需的密钥。
7.2.3 安全套接层和传输层的安全 1.安全套接层SSL安全协议 TCP/IP的运输层的安全主要是由安全套接层(SSL)协议和运输层安全协议(TLS)来实现的。 图7.9 SSL的体系结构
SSL含有如下的安全项: • 机密性:在初始握手阶段,双方建立对成密钥后,信息即用该密钥加密。 • 完整性:在信息中嵌入信息鉴别码(MAC)来保证信息的完整性。 • 鉴别:在握手阶段,客户鉴别服务器用不对称密钥或公开密钥。 SSL要求对每个数据进行加密和解密操作,因而在带来高性能的同时,对系统也要求高资源开销。 SSL协议位于传输层上面,且它自己也是一个分层协议。它从应用层取得数重定格式后将它传给传输层。SSL是这样处理数据的: ﹒发送方 执行下列动作: ﹒接收方 执行以下动作: - 从上层取得信息 -从低层取得数据 - 分片 - 解密 - 压缩(可选) - 用事先商定的MAC码校验数据 - 加入信息鉴别码(MAC) - 如是压缩数据则解压缩 - 加密数据 - 重装配数据 - 将结果传输到下层 - 传输信息到上层
传输层安全协议(TLS) 传输层安全协议(TLS)1.0版是基于SSL的。TLS1.0相关文挡是RFC2246。两个互相不知其代码的应用程序可用TLS来安全地通信。
7.2.4 UNIX系统的安全性 1.UNIX系统的安全等级 按照可信计算机评价标准达到2级,它具有以下安全性能: 1)访问控制 2)对象的可用性 3)个人身份标识和认证 4)审计记录
2.UNIX的安全体系结构 表7.3 Unix安全体系结构 层次 名称 含义 7 Policy 安全策略定义、指导 6 Personne 使用设备和数据的人员 5 Lan 计算机设备和数据 4 Internal Demark 连接器-内部连接器 3 Gateway OSI中第7,6,5,4层的功能 2 Packet- Filter OSI中第3,2,1层的功能 1 Externa – Demark 公共访问-外部连接
3.UNIX系统不安全的因素 1)特权软件的安全漏洞 2)程序源代码的漏洞(如缓冲区溢出) 3)网络监听及数据截取 4)用户帐号的安全性 超级用户拥有其它用户所没有的特权,超级用户不管文件存取许可方式如何,都可以读写任何文件,运行任何文件,系统管理员通常使用/bin/su或以root进入系统从而成为超级用户。 5)UNIX文件系统的安全性.文件系统的安全主要通过文件的权限设置来实现,每一个UNIX文件和NUIX目录,都由3个允许的比特位设置,分定义文件的所有者、分组和其它人的使用权限,如:允许读、允许写、允许执行、允许SUID、允许SGID等。特别有以下几点: ﹒权限为SGID和SUID的可执行文件。 ﹒/etc/hosts.equiv文件 ﹒.rhosts文件 ﹒/etc/ttytab文件 6)UNIX网络安全
4.UNIX安全管理的具体措施 (1)防止未授权存取: (2)防止用户拒绝系统的管理 (3)防止缓冲区溢出 (4)在inetd.conf中关闭不用的服务 (5)给系统打补丁 (6)重要主机单独设立网段 (7)定期检查 定期检查系统日志文件,及时做备份。定期检查关键配置文件(最长不超过一个月)。重要用户的口令应该定期修改(不长于三个月),不同主机使用不同的口令。
7.2.5 电子邮件的安全性 邮件可能受到的安全威胁: (1)信息泄露:邮件交给MTA后,用户就不再干预,攻击者可以轻松的在邮件传输过程中获得邮件的拷贝,读取邮件的内容。 (2)内容篡改:邮件传输过程中有可能被他人截取,并将修改后的邮件发给接收方。 (3)身份假冒:攻击者有可能会假冒某一个用户的身份给其它用户发送邮件。
1.增强保密邮件PEM PEM基于SMTP,加上成熟的加密机制(DES,RSA,数字签名等)来完成下列四方面的安全功能:①数据机密性,不向非授权用户泄露报文的内容。②数据报鉴别,收者可确定报文原发者的身份。③报文完整性保证,可保证对报文内容的非法修改。④不可否认,可核实原发者的身份,并核实报文报文未曾被更动过。 2. 完美秘密邮件PGP (1)身份认证的过程:发送者产生消息M,用SHA-1对M生成一个160位的散列码H,H用发送者的私钥加密,并与M连接,接收者用发送者的公钥解密并恢复散列码H,对消息M生成一个新的散列码,与H比较。如果一致,则消息M被认证。 (2)加密采用CAST-128(或IDEA或3DES)、64位CFB方式。一次性密钥,单向分发,公钥算法保护。其过程如下:发送者生成消息M并为该消息生成一个128位的随机数作为会话密钥;M被加密,使用会话密钥、CAST-128算法(或 IDEA或3DES);会话密钥用RSA及接收者的公钥加密并与消息M结合。(也可用Diffie-Hellman算法);接收者用自己的私钥解密恢复会话密钥;用会话密钥解密恢复消息M。 (3)保密与认证同时运用。两种服务都需要时,发送者先用自己的私钥签名,然后用会话密钥加密,再用接收者的公钥加密会话密钥。
3.MOSS邮件 4.S/MIME邮件标准 集成了三类标准:MIME、加密消息语法标准(Cryptographic Message Syntax Stanard,PKCS7)和证书请求语法标准(Certificate Reruest Syntax Standard, PKCS 10)。 S/MIME实用了层次信任模型,证书由认证权威颁发,除了支持文本信息外,还支持MIME。
7.3 防火墙 1.防火墙概念 防火墙是一个在安全的内部网和不可信任的外部网(如Interent)之间强制实施安全策略的系统。防火墙允许可信任的数据通过,拒绝恶意访问,保护内部网免于受外部网的攻击。图7.13为防火墙示意 :
2.防火墙的构成 (1).包过滤路由器 (2).应用级网关 (3).电路级网关 3.包过滤路由器 包过滤是用设置了过滤规则的路由器来实现的。当一个数据包到达了一个包过滤路由器,该路由器便从包首部截取特定信息,然后依据过滤规则判定该包是否可通过或丢弃。一般从包首部截取的信息有:源IP地址;目的IP地址;TCP/UDP源端口号;TCP/UDP目的端口号;ICMP信息类型;封装协议信息(TCP,UDP,ICMP或IP隧道)。 包过滤规则是基于网络安全策略(即凡是未被明确许可的就是禁止的或凡是未被明确禁止的就是许可的)的。包过滤规则是在考虑了外部攻击以及服务级别限制和收发双方的通信级别限制等因素后制定的。采用在过滤器中允许或拒绝相关端口信息的办法来过滤。例如,FTP服务器监听来自TCP端口号21连接请求,且与处于非被动模式的客户用端口20进行出网数据连接。因此,允许FTP连接通过过滤器到达内部网,则意味着允许所有在首部带有20和21号端口信息的包通过。
4.应用级网关(代理服务器) 对于客户来说,一个代理服务器起到一个服务器的作用,但对于目的服务器来说,它又是一个客户,它在客户和目的服务器之间建立了一个虚拟连接。尽管从客户方看来,代理服务器似乎是透明的,但代理服务器能在客户的数据传到服务器之前对任何特定类型的数据进行监测和过滤,诸如命令。例如,一个FTP服务器允许向外部网用户提供服务,为了保护服务器免受任何可能攻击,防火墙中的FTP代理可配置为拒绝PUT和MPUT命令。 为了让任何客户都能访问代理服务器,客户端和服务器端软件必须要做相应修改以支持代理连接。在上图示例中,FTP客户端首先要通过代理服务器对它的认证,然后,FTP会话才在代理服务器的约束下开始进行。大多数代理服务器采用更复杂的认证方法,如安全ID卡,这种机制每次产生一个不重复的唯一的密钥。 与IP过滤相比,应用级网关能提供更多应用层数据传输的记录。例如,HTTP代理能记录用户所访问的URL。应用级代理的另一个特点是能实行更强的用户身份认证。例如, 当用户从非安全网络使用FTP和TLENET服务时,代理服务器可对这些用户进行强制性的身份认证。图7.17是一个TCP报文片传输的示例。
5.电路级网关 电路级网关仅仅提供TCP连接的转发而不提供任何其它的报文处理和过滤。有些电路级网关还能转发UDP报文。电路级网关可以说是一种特殊类型的应用级网关。 图7.19电路级网关
6.防火墙的类型 (1)包过滤放火墙 这种防火墙就是一个在外部网和内部网之间的包过滤路由器(如前述包过滤路由器),在其中定义了一些禁止和允许数据通过的包过滤规则。通常,配置包过滤路由器防火墙的默认安全规则是只要是没有特别准许的服务就是禁止的。尽管这样配置能防止一些潜在的攻击,但若过滤规则配置得不合适仍会使防火墙遭受攻击。 这种防火墙会允许内部网络的主机被外部网络直接访问。在这种情况下,这些内部主机必须有其自己的身份认证机制且需常常更新以防任何攻击(请看图7.21) 。 图7.21 包过滤防火墙
(2)双宿网关防火墙 双宿主机至少有网络接口,因此至少有两个IP地址。在这种防火墙里,IP转发是禁止的,即在两个网络接口中的IP通信是断开的。因而IP包只有经由相关的代理或SOCKS服务才能通过防火墙。与包过滤防火墙不同,双宿网关防火墙肯定能将任何来自未知服务的攻击堵住。双宿网关防火墙实施的安全策略是任何没有特别允许的传输都是禁止的(请看图7.22) 。 图7.22 双宿网关防火墙
(3)屏蔽主机防火墙 这种类型的防火墙由包过滤路由器和应用级网关组成。这种含有应用级网关的主机叫做堡垒主机。其中的路由器配置成为可转发所有不可信任的通信到堡垒主机和信息服务器(见图7.23),由于内部网络与堡垒主机在同一个子网内,安全策略可以允许内部用户直接访问外部网络,或强制使他们用代理服务访问外部网络,实现这些依赖于配置路由器的过滤规则,所以路由器仅仅接受从堡垒主机发起的出网通信连接。在这种配置下,允许信息服务器放在路由器和堡垒主机之间。同样,由安全策略决定外部和内部用户是直接访问信息服务器还是必须经由堡垒主机才能访问信息服务器。如果要实施强有力的安全保护,则可让内、外网络访问信息服务器的通信必须经由堡垒主机进行。
(4)屏蔽子网防火墙 这种类型的防火墙由两个包过滤路由器和一个堡垒主机构成。屏蔽子网防火墙在各种类型的防火墙中提供最高级别的安全保护(见图7.24)。其实现方法是:在外部和内部网络之间创建一个非军事区(DMZ),即外部路由器仅仅允许从外部访问堡垒主机(也可到信息服务器),内部路由器仅允许从内部访问堡垒主机,这内外两个路由器强制使得所有入网和出网通信都要通过堡垒主机。 图7.24 屏蔽子网防火墙
7.4 安全电子商务(SET) SET(Secure Electronic Transaction,安全电子交易协议)是由MasterCard和Visa两家国际性信用卡商合作专为电子信用卡而创建的信用卡交易的加密和安全规约。
1.SET协议的参与实体 SET协议定义了支付过程中的若干个参与实体。 ﹒电子商家(merchant):提供商品、服务和信息的商家。 ﹒收单银行(acquirer):这一般是为买者提供信用卡服务和资金流动的金融机构。 ﹒发行人(issuer):这是为买家发行信用卡的金融机构,如银行。 ﹒持卡人(cardholder):是经认可的发行人发行的信用卡的拥有者。 ﹒支付网关(acquirer payment gateway):提供电子商家与收单银行、发行人使用的银行卡网络之间的接口。 ﹒认证中心(certificate authority):SET过程采用公钥加密,所以系统中的每个参与者都需要一个公钥证书。
2.SET交易流程 SET协议描述一系列交易事务流,如购买、验证、支付等等。图7.25图示了典型的网上购物的交易流程。 图7.25 典型的SET交易事务序列
(1)购买初始化(Plnit) 这个由持卡人发起的事务对系统进行初始化,包括的细节有持卡人所用信用卡的商标和持卡人的证书, (2)订购(Purchase order) 这是持卡人购物的实际请求。这个请求信息事实上由两部分组成,一是订购信息(OI),直接送给电子商家;二是支付信息(PI),由电子商家传递给支付网关。PI是用收单银行的公钥加密,所以商家是无法得知其内容的。PI中也包含了OI的散列值,所以这两个信息必须要成对处理。 (3)认证(Authorization) 这个由商家发起的请求通过支付网关请求收单银行认可该项交易。。这个请求信息中包括购买和价格信息,还包括持卡人发出的PI。这样收单银行知道商家和持卡人双方都同意此项交易中的货物名称、价格和数量。 当收单银行收到了这个请求,它就用已有的银行卡网络来认证这个请求且回应相应的信息。 (4)查询(Inquiry) 持卡人可能想知道他的 请求是如何进行的。SET协议为此提供了一个查询事务。 (5)获取(Capture) 直到此时,资金还没有易手。从商家发出的获取请求让收单银行将前述认证的购物资金数额划拨到它的帐上。
习题7 • 病毒有哪几种类型?各有什么特点?为什么需要经常更新病毒库? • 写出并分析一次完整的SSL连接的全过程。 • 比较包过滤、应用程序网关和电路级网关的异同。 • 当前的UNIX系统的安全漏洞有哪些? • 重要主机单独设置网段可以防止哪些安全问题? • 在PGP中,具有N个公开密钥的用户至少具有一个重复密钥的概率是多少? • 试归纳、比较常见防火墙技术的优缺点。 • 如何使得内部网内用户访问的某些特定的信息或网址不能通过防火墙进入Internet? • 试编程实现一个SET交易的原型系统。