1 / 80

计算机网络安全

高等学校计算机专业教材. 计算机网络安全. 邓亚平  编著. 第 1 章 网络安全概论. 1.1 网络安全面临的威胁 1.2 网络安全体系结构   1.3 PDRR 网络安全模型 1.4 网络安全基本原则. 1.1 网络安全面临的威胁. 物理安全威胁、操作系统的安全缺陷、网络协议的安全缺陷、应用软件的实现缺陷、用户使用的缺陷和恶意程序等 6 个方面的安全威胁。. 1.1.1 物理安全威胁 1 .物理安全问题的重要性

redford
Download Presentation

计算机网络安全

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 高等学校计算机专业教材 计算机网络安全 邓亚平  编著

  2. 第1 章 网络安全概论 • 1.1 网络安全面临的威胁 • 1.2 网络安全体系结构   • 1.3 PDRR网络安全模型 • 1.4 网络安全基本原则

  3. 1.1 网络安全面临的威胁 • 物理安全威胁、操作系统的安全缺陷、网络协议的安全缺陷、应用软件的实现缺陷、用户使用的缺陷和恶意程序等6个方面的安全威胁。

  4. 1.1.1 物理安全威胁 1.物理安全问题的重要性 信息安全首先要保障信息的物理安全。物理安全是指在物理介质层次上对存储和传输的信息的安全保护。物理安全是信息安全的最基本保障,是不可缺少和忽视的组成部分。

  5. 2.主要的物理安全威胁 物理安全威胁,即直接威胁网络设备。目前主要的物理安全威胁包括以下3大类。 自然灾害。特点是突发性、自然因素性、非针对性。这种安全威胁只破坏信息的完整性和可用性,无损信息的秘密性。 电磁辐射。这种安全威胁只破坏信息的秘密性,无损信息的完整性和可用性。 操作失误和意外疏忽(例如,系统掉电、操作系统死机等系统崩溃)。特点是人为实施的无意性和非针对性。这种安全威胁只破坏信息的完整性和可用性,无损信息的秘密性。

  6. (1)外部终端的物理安全 (2)通信线路的物理安全

  7. 1.1.2 操作系统的安全缺陷 操作系统是用户和硬件设备的中间层,是任何计算机在使用前都必须安装的。 目前,人们使用的操作系统分为两大类:UNIX/Linux系列和Windows系列。下面分别举例说明这两大类操作系统中存在的安全缺陷。

  8. 1.公共缺陷检索(Common Vulnerabilities and Exposures,CVE) 大多数信息安全工具都包含一个信息安全缺陷的数据库,但是,这些数据库对信息安全缺陷的描述格式各不相同。 CVE是信息安全确认的一个列表或者词典。它对不同信息安全缺陷的数据库之间提供一种公共的索引,是信息共享的关键。有了CVE检索之后,一个缺陷就有了一个公共的名字,从而可以通过CVE的条款检索到包含该缺陷的所有数据库。

  9. CVE有如下几个特点: ① 每一种缺陷都有惟一的命名; ② 每一种缺陷都有惟一的标准描述; ③ CVE不是一个数据库而是一种检索词典; ④ CVE为多个不同的数据库提供一种交流的共同语言;

  10. ⑤ CVE是评价信息安全数据库的一个基础; • ⑥ CVE可以通过因特网阅读和下载; • ⑦ CVE的会员可以给CVE提供自己数据库的索引信息及其修改信息。

  11. 2.UNIX操作系统的安全缺陷 (1)远程过程调用(Remote Procedure Calls,RPC) 远程过程调用允许一台机器上的程序执行另一台机器上的程序。它们被广泛地用于提供网络服务,如NFS文件共享和NIS。很多UNIX操作系统的RPC软件包中包含具有缓冲区溢出缺陷的程序。以下的程序具有缓冲区溢出的缺陷。

  12. ① rpc.yppasswdd: • ② rpc.espd: • ③ rpc.cmsd: • ④ rpc.ttdbserver: • ⑤ rpc.bind:

  13. 如果系统运行上述程序之一,那么系统就很可能受到RPC服务缓冲区溢出的攻击。值得注意的是,UNIX的绝大部分版本都具有这个缺陷。解决这个问题的最好方案是全部删除这些服务。在必须运行该服务的地方,安装最新的补丁。如果系统运行上述程序之一,那么系统就很可能受到RPC服务缓冲区溢出的攻击。值得注意的是,UNIX的绝大部分版本都具有这个缺陷。解决这个问题的最好方案是全部删除这些服务。在必须运行该服务的地方,安装最新的补丁。

  14. (2)Sendmail Sendmail是在UNIX和Linux操作系统中用得最多的发送、接收和转发电子邮件的程序。 Sendmail在因特网上的广泛应用使它成为攻击者的主要目标,过去的几年里曾发现了若干个缺陷。 Sendmail有很多易受攻击的弱点,必须定期地更新和打补丁。

  15. 3.Windows系列操作系统的安全缺陷 (1)Unicode Unicode是ISO发布的统一全球文字符号的国际标准编码。它是一种双字节的编码。 通过向IIS(Internet Information Server)服务器发出一个包括非法Unicode UTF-8序列的URL,攻击者可以迫使服务器逐字“进入或退出”目录并执行任意脚本,这种攻击称为目录转换(Directory Traversal)攻击。

  16. (2)ISAPI缓冲区溢出 Microsoft IIS(Internet Information Server)是在大多数Microsoft Windows NT和Windows 2000服务器上使用的服务器软件。在安装IIS的时候,多个ISAPI(Internet Services Application Programming Interface)被自动安装。ISAPI允许开发人员使用多种动态链接库DLLs来扩展IIS服务器的性能。一些动态链接库,例如idq.dll,有编程错误,使得它们进行不正确的边界检查。特别是,它们不阻塞超长字符串。攻击者可以利用这一点向DLL发送数据,造成缓冲区溢出,进而控制IIS服务器。

  17. 解决上述问题的方案是如果发现系统具有这种缺陷,则安装最新的Microsoft补丁。同时,应检查并取消所有不需要的ISAPI扩展。经常检查这些扩展是否被恢复。还要记住最小权限规则,系统应运行系统正常工作所需的最少服务。解决上述问题的方案是如果发现系统具有这种缺陷,则安装最新的Microsoft补丁。同时,应检查并取消所有不需要的ISAPI扩展。经常检查这些扩展是否被恢复。还要记住最小权限规则,系统应运行系统正常工作所需的最少服务。

  18. 1.1.3 网络协议的安全缺陷 TCP/IP是目前Internet使用的协议。 TCP/IP也存在着一系列的安全缺陷。有的缺陷是由于源地址的认证问题造成的,有的缺陷则来自网络控制机制和路由协议等。这些缺陷,是所有使用TCP/IP的系统所共有的,以下将讨论这些安全隐患。

  19. 1.TCP/IP概述 (1)TCP/IP基本结构 TCP/IP是一组Internet协议,不但包括TCP和IP两个关键协议,还包括其他协议,如UDP、ARP、ICMP、Telnet和FTP等。TCP/IP的设计目标是使不同的网络互相连接,即实现互联网。

  20. 图1.1 TCP/IP基本逻辑结构

  21. IPv4的地址是32bit,目前正在推出IPv6,其地址为128bit。以太网MAC地址是48bit。 TCP/IP层次结构有两个重要原则:①在同一端点,每一层只和邻接层打交道,例如,应用程序根本不关心网络层是怎么转发包以及数据在哪些网络上传输;②不同端点之间的同一层有对等关系,对等层之间可以进行通信,如应用程序之间的通信,TCP模块之间的通信等。

  22. (2)TCP/IP通信模型 通信模型是TCP/IP最基本的模型之一,它描述了端和端之间怎样传输数据。如在图1.1中,各层模块之间的连接表示数据流的路线。 TCP/IP提供两个主要的传输协议:TCP和UDP。TCP是一个面向连接的协议,它通过发送和确认机制,保证数据无错误传输。UDP是无连接的,它只管发送和接收所有的包,不保证数据是否到达。

  23. (3)TCP/IP网络互连模型 • TCP/IP的另一个主要功能是实现不同网络之间的互连。网络互连功能在网络层实现,即一个IP模块连接到两个不同的物理链路层可以实现这两个网络之间的互连,如图1.2所示。

  24. 图1.2一个IP模块连接两个网络

  25. 2.TCP序列号预计 TCP序列号预计由莫里斯首先提出,是网络安全领域中最有名的缺陷之一。这种攻击的实质,是在不能接到目的主机应答确认时,通过预计序列号来建立连接。这样,入侵者可以伪装成信任主机与目的主机通话。 正常的TCP连接建立过程是一个三次握手的过程,客户方取一初始序列号ISNc并发出第一个SYN包,服务方确认这一包并设自己一方的初始序列号为ISNs,客户方确认后这一连接即建立。一旦连接建立成功,客户方和服务方之间即可以开始传输数据。连接建立过程可以被描述如下:

  26. TCP连接建立过程 • 客户方 → 服务方:SYN(ISNc) • 服务方 → 客户方:ACK(ISNc),SYN(ISNs) • 客户方 → 服务方:ACK(ISNs) • 客户方 → 服务方:数据 • 和/或者 • 服务方 → 客户方:数据

  27. 3.路由协议缺陷 (1)源路由选项的使用 在IP包头中的源路由选项用于该IP包的路由选择,这样,一个IP包可以按照预告指定的路由到达目的主机。 但这样也给入侵者创造了良机,当预先知道某一主机有一个信任主机时,即可利用源路由选项伪装成受信任主机,从而攻击系统,这相当于使主机可能遭到来自所有其他主机的攻击。

  28. (2)伪造ARP包 伪造ARP包是一种很复杂的技术,涉及到TCP/IP及以太网特性的很多方面,在此归入ARP的安全问题不是很合适。伪造ARP包的主要过程是,以目的主机的IP地址和以太网地址为源地址发一ARP包,这样即可造成另一种IP spoof。

  29. 这种攻击主要见于交换式以太网中,在交换式以太网中,交换集线器在收到每一ARP包时更新Cache。不停发spoof ARP包可使送往目的主机的包均送到入侵者处,这样,交换式以太网也可被监听。 • 解决上述问题的方法是:将交换集线器设为静态绑定。另一可行的方法是当发现主机运行不正常时(网速慢,IP包丢失率较高),反映给网络管理员。

  30. (3)RIP的攻击 RIP(Routing Information Protocol)是用于自治系统(Autonomous System,AS)内部的一种内部路由协议(Internal Gateway Protocol,IGP)。RIP用于在自治系统内部的路由器之间交换路由信息。RIP使用的路由算法是距离向量算法。该算法的主要思想就是每个路由器给相邻路由器宣布可以通过它达到的路由器及其距离。一个入侵者有可能向目的主机以及沿途的各网关发出伪造的路由信息。

  31. (4)OSPF的攻击 OSPF(Open Shortest Path First)协议是用于自治域内部的另一种路由协议。OSPF协议使用的路由算法是链路状态(Link-State)算法。在该算法中,每个路由器给相邻路由器宣布的信息是一个完整的路由状态,包括可到达的路由器,连接类型和其他相关信息。

  32. LSA(Link State Advertisement)是OSPF协议中路由器之间要交换的信息。一个LSA头格式如图1.3所示。 • LS序列号为32bit,用来指示该LSA的更新程度。LS序列号是一个有符号整数,大小介于0x80000001(负值)和0x7fffffff之间。

  33. 图1.3 LSA头格式

  34. 4.网络监听 以太网(Ethernet)是网络结构中,链路层和物理层的主要连网方式。由于以太网的工作方式,网络请求在网上一般以广播的方式传送,这个广播是非验证的,也就是同网段的每个计算机都可以收到,除了目标接受者会应答这个信息外,其他的接受者会忽略这个广播。如果有一个网络设备专门收集广播而决不应答,那么,它就可以看到本网的任何计算机在网上传输的数据。如果数据没有经过加密,那么它就可以看到所有的内容。Sniffer就是一个在以太网上进行监听的专用软件。监听这个现象对网络的安全威胁是相当大的,因为它可以做到以下几点。

  35. (1)抓到正在传输的密码。 (2)抓到别人的秘密(信用卡号)或不想共享的资料。 (3)暴露网络信息。

  36. 5.TCP/UDP应用层服务 (1)finger的信息暴露 这是由于以下几点原因。 ① finger没有任何认证机制。任何人都可利用finger来获得目的主机的有关信息。

  37. finger所提供的信息包括用户名,用户来自于何处等,这些信息可以用于口令的猜测攻击,以及信任主机被假冒的攻击,具有很大的潜在危险。 • ③ finger没有认证,这使得无法辨别一个主机是否在基于“正当的”目的使用finger,这使得用户即使被攻击,也无法辨明finger在其中起了多大作用。 • 解决上述问题的方法是:关掉finger服务,如果有充分理由打开finger服务的话,不妨将finger设为:/bin/cat/etc/something

  38. (2)FTP的信息暴露 FTP本身并无安全问题,但几乎所有的实现都存在如下问题。 ① FTP一般用户的口令与登录口令相同,而且采用明文传输。 ②一些网点上的匿名FTP提供了另一攻击途径。

  39. (3)Telnet的安全问题 Telnet本身也并没有安全问题。它的安全隐患类似FTP的①,只不过要更严重一些。由于Telnet是用明文传输的,因此不仅是用户口令,而且用户的所有操作及其回答,都将是透明的。

  40. (4)POP3的安全问题 由于POP3的口令与账号的口令相同,在此它存在着类似FTP①的问题,解决方法也是类似的。 (5)tftp/bootp的安全问题 tftp允许不经认证就能读主机的那些被设置成所有人可读的文件。这将可能暴露系统的账号、工作目录等重要信息。

  41. 1.1.4 应用软件的实现缺陷 软件实现缺陷是由于程序员在编程的时候没有考虑周全而造成的。软件缺陷一般可以分为以下几种类型:

  42. 输入确认错误; •  访问确认错误; •  特殊条件错误; •  设计错误; •  配置错误; •  竞争条件错误; •  其他。

  43. 1.输入确认错误 在输入确认错误的程序中,由用户输入的字符串没有经过适当的检查,使得黑客可以通过输入一个特殊的字符串造成程序运行错误。 输入确认错误的另一个子集就是边界条件溢出。边界条件溢出指的是程序中的一个变量值超过它自己边界条件时的程序运行错误。

  44. 2.访问确认错误 访问确认错误指的是系统的访问控制机制出现错误。错误并不在于用户可控制的配置部分,而在系统的控制机制本身。所以,这样的缺陷有可能使得系统运行不稳定,但是基本上不能被利用去攻击系统,因为它的运行错误不受用户的控制。

  45. 1.1.5 用户使用的缺陷 用户使用的缺陷体现在以下几个方面: 密码易于被破解; 软件使用的错误; 系统备份不完整。

  46. 1.密码易于被破解 (1)缺省密码 (2)密码与个人信息有关 (3)密码为词典中的词语 (4)过短密码 (5)永久密码

  47. 2.软件使用的错误 除了软件自身的缺陷以外,软件的使用错误还体现在以下几个方面。 (1)大量打开端口 (2)危险缺省脚本 (3)软件运行权限选择不当

  48. 3.系统备份不完整  系统是否有备份?  备份间隔是可接受的吗?  系统是按规定进行备份的吗?  是否确认备份介质正确地保存了数据?  备份介质是否在室内得到了正确的保护?  是否在另一处还有操作系统和存储设施的备份(包括必要的license key)?  存储过程是否被测试及确认?

  49. 1.1.6 恶意代码 恶意代码是这几年比较新的概念。可以说,这些代码是攻击、病毒和特洛伊木马的结合。恶意代码不但破坏计算机系统(像计算机病毒),给黑客留出后门(像特洛伊木马),它还能够主动去攻击并感染别的机器。

More Related