数据参考:CISP官方
目录
- OSI七层模型
- TCP/IP体系架构
- TCP/IP安全架构
一、OSI七层模型
简介
开放系统互连模型(Open System Interconnection Reference Model,OSI)是国际标准化组织(ISO)于1977年发布的一个标准参考模型,用于描述计算机系统和网络之间进行通信的基本过程和方法。于1983年成为ISO 7498国际标准。
OSI模型将网络通信分为七个不同的层级,每个层级都负责特定的功能。这些层级从底层到高层分别是:
-
物理层(Physical Layer):负责定义物理介质和电信号传输规范,处理物理连接及数据传输的基本操作。
-
数据链路层(Data Link Layer):负责将物理层传输的数据分割成数据帧,进行错误检测和纠正,并对数据帧进行访问控制。
-
网络层(Network Layer):负责实现数据在网络中的寻址和路由,通过选择合适的路径来传输数据。
-
传输层(Transport Layer):提供端到端的数据传输,可靠地传输数据,并在必要时进行数据分割和重组。
-
会话层(Session Layer):提供通信双方之间建立、管理和终止会话的能力。它还负责建立检查点以恢复中断的会话。
-
表示层(Presentation Layer):负责数据的格式化和表示,以确保不同计算机系统之间的数据能够正确解释和理解。
-
应用层(Application Layer):最接近用户的层级,提供各种应用程序的接口和服务,例如电子邮件、文件传输协议等。
通过将通信过程分解为不同层级,OSI模型使不同计算机系统能够进行互操作性,并促进了网络通信的标准化和发展。
值得注意的是,虽然OSI模型是一个重要的参考模型,但实际上,许多计算机网络通信协议并未严格遵循OSI模型的七层结构,而是将某些层级进行合并或重叠。
模型定义了网络中不同计算机系统进行通信的基本过程和方法
底层协议
- 偏重于处理实际的信息传输,负责创建网络通信连接的链路,包括物理层、数据链路层、网络层和传输层
高层协议
- 处理用户服务和各种应用请求,包括会话层、表示层和应用层
层级 | 名称 | 功能 | 常用协议 |
---|---|---|---|
1 | 物理层 | 在物理媒介上传输比特流,如电缆、光纤等。 | Ethernet, Wi-Fi, USB |
2 | 数据链路层 | 管理数据在节点之间的传输,检错纠错。 | Ethernet, PPP, HDLC |
3 | 网络层 | 控制数据包在网络中的寻址和路由。 | IP, ICMP, OSPF |
4 | 传输层 | 提供端到端的可靠数据传输和错误恢复。 | TCP, UDP, SCTP |
5 | 会话层 | 管理通信会话的建立、维护和终止。 | SIP, NFS, NetBIOS |
6 | 表示层 | 数据格式化、加密和压缩,确保不同系统间的数据交换的正确性。 | JPEG, ASCII, SSL |
7 | 应用层 | 提供各种网络服务(接口),如电子邮件、文件传输、远程登录等。 | HTTP, FTP, DNS |
分层结构的优点
- 各层间相互独立
- 促进标准化工作
- 协议开发模块化
- 降低复杂性
数据封装与分用 (解封装)
二、TCP/IP体系架构
简介
TCP/IP是目前互联网中最基本的协议,也是互联网构成的基础协议。TCP/IP最早源于美国国防部的ARPA网项目 (一个军用通信网络),经过多年的发展,其中的非涉密部分发展成今天的互联网。通常谈到TCP/IP指的是以TCP (传输控制协议) 和IP (网际协议) 为核心构成的协议族,是一组在不同层次上工作的多个协议的组合,通过TCP/IP,不同的信息处理设备可以相互传递数据。
TCP/IP体系架构包括链路层、网络层、传输层、应用层四层,每一层负责不同的功能
-
链路层(网络接口层):负责将数据转换为比特流进行物理传输。它定义了如何访问物理网络,并处理与物理介质相关的传输细节。常见的协议包括Ethernet、Wi-Fi等。
-
网络层:负责在网络中寻址和路由数据包。最重要的协议是IP(网际协议),它定义了互联网上的唯一地址系统,用于标识和定位设备。
-
传输层:提供端到端的可靠数据传输和错误恢复。最常用的传输协议是TCP(传输控制协议),它提供可靠的数据传输和流量控制。另外还有UDP(用户数据报协议),它提供无连接的数据传输,适用于实时应用或不需要可靠性的应用。
-
应用层:提供各种网络服务和协议,使应用程序能够访问网络。它包括诸如HTTP(超文本传输协议)、FTP(文件传输协议)、SMTP(简单邮件传输协议)等协议,用于实现电子邮件、文件传输、网页浏览等功能。
TCP/IP协议族分层结构
链路层安全风险
- 链路层也称网络接口层或数据链路层,是TCP/IP的最底层,它负责接收来自网络层的IP数据报,并把数据报发送到指定的网络上,或从网络上接收物理帧,抽出网络层数据报,交给网络层。其主要协议有ARP和RARP协议。
安全问题
- 损坏:自然灾害、动物破坏、老化灰尘、温湿度、误操作
- 干扰:大功率电器/电源线路/电磁辐射
- 电磁泄漏:传输线路电磁泄漏
- 欺骗:ARP欺骗 - :ARP(地址解析协议)欺骗是一种网络攻击方式,攻击者通过伪造ARP响应欺骗目标设备,导致数据流被劫持或信息泄露。
- 嗅探:常见二层协议是明文通信的
- 拒绝服务: mac flooding, arp flooding等
网络层安全风险
- 网络层也称作互联网络层,用于实现数据包在网络中正确的传递。IP (网际协议) 是网络层的核心协议,是上层协议和应用的基础。
- IP提供主机到主机的数据传送服务,目前广泛使用第四版IP ( IPv4)提供无连接不可靠的服务,不能为通信数据包提供完整性和机密性保护能力,也缺乏对IP地址的身份认证机制
安全问题
电子欺骗攻击
- IP地址欺骗攻击:攻击者可能伪造或冒用他人的IP地址,以获取未授权的访问或进行追踪、伪装等恶意行为。
- 源路由欺骗等:攻击者通过伪造源IP地址和路由信息,使数据包绕过网络中的安全措施,进一步隐藏其真实身份和位置。
拒绝服务攻击
- 碎片攻击:攻击者可能利用IP报文的碎片化机制,发送具有欺骗性负载或特殊片段的数据包,绕过防火墙或IDS/IPS等网络安全设备的检测和过滤。
- 死亡之ping:又称Ping of Death,是一种网络攻击方法。它利用很大的ICMP Echo Request数据包发送给目标设备,并超出了设备能够处理的正常范围。这可能导致设备无法正常处理这样大的数据包,造成设备崩溃或无法提供正常的网络服务,称为拒绝服务攻击。简单来说,死亡之Ping就像是发送一个特别大的数据包给一个设备,这个设备无法处理这么大的包,结果可能导致设备无法正常工作或无法继续提供正常的网络服务。
传输层安全风险
- 传输层主要为两台主机上的应用程序提供端到端的通信服务。传输层有TCP (传输控制协议)和UDP (用户数据报协议) 两个协议
- TCP通过三次握手提供一种可靠的、面向连接的数据通信服务
- UDP协议结构简单,占用资源少,处理效率高,能够提供无连接的不可靠的安全服务。
安全问题
TCP
- SYN Flood拒绝服务攻击
- 会话劫持攻击
UDP
- 流量型拒绝服务攻击 (例如 UDP Flood)
提供面向连接的、可靠的字节流服务
提供可靠性服务
- 数据包分块、发送接收确认、超时重发、数据校验、数据包排序控制流量
- ......
TCP三次握手
- 第一次握手(SYN-SENT):客户端向服务器发送一个SYN包,其中SYN标志位被设置为1,同时客户端选择一个初始的序列号(ISN)。
- 第二次握手(SYN-RECEIVED):服务器接收到客户端发送的SYN包后,应答一个ACK包和自己的SYN包。ACK包确认收到客户端的SYN包,并确认客户端的序列号,同时服务器选择自己的初始序列号。
- 第三次握手(ESTABLISHED):客户端收到服务器的ACK包和SYN包后,确认收到服务器的SYN包并发送一个ACK包,确认服务器的序列号。这个ACK包到达服务器后,服务器和客户端的连接就正式建立起来。
TCP四次挥手
- 第一次挥手(FIN-WAIT-1):连接的一方发送一个FIN包,表示自己已经完成数据的发送。
- 第二次挥手(CLOSE-WAIT):对方接收到FIN包后,发送一个ACK包,确认收到FIN包,但自己还有数据要发送。
- 第三次挥手(FIN-WAIT-2):对方完成数据的发送后,发送一个FIN包,表示自己也完成了数据的发送。
- 第四次挥手(TIME-WAIT):连接的一方接收到FIN包后,发送一个ACK包,确认收到FIN包,并进入一个TIME-WAIT状态,等待一段时间后关闭连接。
为什么建立连接是三次握手,关闭连接确是四次挥手呢?
建立连接的时候,服务器在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。
而关闭连接时,服务器收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,而自己也未必全部数据都发送给对方了,所以己方可以立即关闭,也可以发送一些数据给对方后,再发送FIN报文给对方来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送,从而导致多了一次。
UDP协议提供面向事务的简单不可靠信息传送服务
特点
- 无连接、不可靠
- 协议简单、占用资源少,效率高
- ····
TCP和UDP协议对比:
- TCP设计用于传输对数据传输可靠性有严格要求的数据,例如SSL、TLS,由于tcp采用三次握手方式,攻击者可利用两次握手实施 SYN Flood攻击。
- UDP设计用于传输对实时性要求较高,但对数据传输可靠性没有严格要求的数据。例如网络视频、语音等。由于UDP协议的高效,攻击者可利用UDP协议产生大量的数据用于实施拒绝服务攻击(UDP FIood)。
应用层安全风险
- 应用层是TCP/IP体系的最高层,对应OSI模型的上三层 (应用层、表示层和会话层),为运行在不同端系统上的应用程序进程提供报文传递服务。
- 典型的应用层协议包括网页浏览使用的HTTP (超文本传输协议)、收发电子邮件使用的SMTP (简单邮件传送协议) 和POP3 (邮局协议)、文件传输的 FTP (文件传输协议)等。不同的应用层协议实现差异较大,根据各自特性都有自身的安全性问题。
安全问题
- 身份认证简单,面临口令破解、身份伪造等攻击威胁;
- 使用明文传输数据,面临数据泄露、数据伪造等一系列问题,攻击者可通过嗅探等方式获取传输中的敏感信息;
- 缺乏数据完整性保护,面临数据破坏、篡改等问题,攻击者可通过更改用户提交的数据,从而实施欺诈。
TCP/IP协议族安全性问题随着互联网的发展日益突出,相关组织和专家也对协议进行不断的改善和发展,为不同层次设计了相应的安全通信协议,用于对不同层次的通信进行安全保护,从而形成了由各层次安全通信协议构成的TCP/IP协议族安全架构。
网络接口层
- 主要是对连接提供安全保障,通过建立专用通信链路,在主机或主机与路由器之间提供安全保护。该层安全通信协议主要有PPTP、L2TP等。
互联网络层
- 解决IP的安全问题,其主要安全通信协议是IPSeC协议。
传输层
- 传输层安主要在端到端实现,提供基于进程到进程的安全通信,其主要安全通信协议有SSL和TLS等协议。
应用层
- 根据特定应用的安全需要及其特点而设计的安全协议,如电子邮件安全协议S/MIME,安全超文本传输协议S-HTTP等。
三、TCP/IP安全架构
IPSec
IPSec(互联网协议安全)是由IETF(互联网工程任务组)制定的一组开放的网络安全协议。它并不是一个单独的协议,而是一系列为IP网络提供安全性的协议和服务的集合。
IPSec用于解决IP层上的安全性问题,并同时支持IPv4和IPv6网络。IPSec协议工作在IP层,提供多项安全服务,包括:
- 访问控制
- 无连接的完整性
- 数据源认证
- 机密性保护
- 有限的数据流机密性保护
- 抵御重放攻击
IPSec协议通过认证头协议(Authentication Header,AH)为IP数据报提供无连接的完整性和数据源认证,并提供防止重放攻击的保护。一旦建立安全连接,AH会尽可能地为IP头和上层协议数据提供足够的认证。
IPSec协议还通过封装安全载荷协议(Encapsulating Security Payload,ESP)对需要保护的数据进行加密,为这些数据提供保密性和完整性保护能力。ESP协议和AH协议可以单独使用,也可以同时使用,相互结合起来提供更强的安全性能。
SSL
- SSL(安全套接层)是由网景公司于1990年开发的协议,用于保障Web通信的安全性。它的主要任务是提供私密性、信息完整性和身份认证。
- SSL使用对称密码算法中的密钥作为会话密钥,用于对会话的数据进行加密。而会话密钥的交换则使用非对称密码算法的公钥体系,确保了通信双方之间的数据传输的保密性和可靠性。这样,SSL为客户端应用和服务器应用之间的通信提供了安全保障。
- SSL之所以被广泛应用,主要是因为它能对数据进行加密,提供身份验证和消息完整性保护机制,并且支持为任何基于TCP的应用层协议提供安全保护。此外,SSL的部署也比较简单。
TLS
TLS (传输层安全性协议) 是在SSL v3.0的基础上进行增强和修改后形成的安全通信协议,可以认为是SSL的后续版本,与SSL协议的差异非常微小,仅仅是在一些细节上有区别。TLS通过协商和认证,创建安全会话通道,任何应用层协议的数据在通过TLS协议进行传送时都受到保护。TLS协议的优势是与高层的应用层协议如HTTP、FTP、 Telnet等) 完全兼容,应用层协议能透明地运行在TLS协议之上,目前web访问使用的https协议,大多使用的HTTP协议和TLS1.2协议。