文章目录
- 威胁网络安全的主要因素
- 计算机网络概述
- 网络体系结构脆弱性
- 典型网络协议脆弱性
-
- IP协议安全性分析
-
- [IPSec(IP Security)](#IPSec(IP Security))
- IPv6问题
- ICMP协议安全性分析
- ARP协议安全性分析
- RIP协议安全性分析
- OSPF协议安全性分析
- BGP协议安全性分析
- UDP协议安全性分析
- TCP协议安全性分析
- SSL/TLS
- DNS安全性分析
- HTTP协议安全性分析
威胁网络安全的主要因素
- 环境和灾害因素:火灾、水灾、地震、强电磁场、电磁脉冲等,均会破坏数据和影响信息系统的正常工作
- 人为因素:人员的疏忽、恶意程序、黑客攻击
- 系统自身因素:硬件故障、软件故障
- 系统自身的脆弱和不足是造成信息系统安全问题的内部根源,攻击者利用系统的脆弱性使各种威胁变成现实
计算机网络概述
- 计算机网络:由通信信道连接的主机和网络设备的集合,以方便用户共享资源和相互通信
- 主机:计算机和非计算机设备
- 信道:有线与无线
- 网络设备:集线器、交换机、路由器等
- 因特网:多层次ISP结构的网络
- 因特网:边缘部分 + 核心部分
- 核心部分:大量网络 + 路由
网络体系结构
- 网络的体系结构(architecture):计算机网络的各层及其协议的集合
- 协议(protocol):为网络中互相通信的对等实体间进行数据交换而建立的规则、标准或约定,三要素:语法、语义、同步
网络体系结构脆弱性
- 从网络体系结构上分析,网络体系结构脆弱性包括:分组交换、认证与可追踪性、尽力而为的服务策略、匿名与隐私、无尺度网络、级联结构、互联网的级联特性、中间盒子
分组交换
- Internet是基于分组交换的,使得它比电信网(电路交换)更容易受攻击
- 攻击数据包在被判断为是否恶意之前都会被转发到受害者(容易被DoS攻击)
- 路由分散决策,流量无序
认证与可追踪性
- nInternet 没有认证机制,任何一个终端接入即可访问全网,这会导致IP欺骗:攻击者可以伪造数据包中的任何区域的内容然后发送数据包到Internet中
- 路由器不具备数据追踪功能,没有方法验证一个数据包是否来自于其所声称的地方。攻击者通过IP欺骗隐藏来源。
尽力而为
- 因特网采取尽力而为策略:把网络资源的分配和公平性完全寄托在终端的自律上是不现实(DDoS攻击)
匿名与隐私
- 普通用户无法知道对方的真实身份,也无法拒绝来路不明的信息
对全球网络基础实施的依赖
- 全球网络基础设施不提供可靠性、安全性保证,这使攻击者可以放大其攻击效力。
无尺度网络
- 无尺度网络的典型特征是网络中的大部分结点只和很少结点连接,而有极少数结点与非常多的结点连接。这种关键结点(称为"枢纽"或"集散结点")
- 枢纽的存在使得无尺度网络对意外故障有强大的承受能力,但面对针对枢纽结点的协同性攻击时则显得脆弱(CDN Loop攻击)
互联网的级联特性
- 互联网是一个由路由器将众多小的网络级联而成的大网络。当网络中的一条通讯线路发生变化时,附近的路由器会通过"边界网关协议(BGP)"向其邻近的路由器发出通知。这些路由器接着又向其他邻近路由器发出通知,最后将新路径的情况发布到整个互联网。
- 换言之,一个路由器消息可以逐级影响到网络中的其它路由器,形成"蝴蝶效应"或"网络数字大炮"
中间盒子
- 违背"端到端原则",从源端到目的端的数据分组的完整性无法被保证,互联网透明性逐渐丧失。
- 增加了网络和应用的复杂性,NAT
- 增加了攻击面,通过攻击网络而影响端系统
- 协议理解和实现的不一致性
- 没有一个集中的协调机构验证协议的部署和事实
典型网络协议脆弱性
IP协议安全性分析
- IPv4协议没有认证机制:
- 没有消息源认证:源地址假冒
- 没有完整性认证:篡改
- IPv4没有加密机制:
- 无机密性:监听应用数据
- 泄露拓扑等信息:网络侦察
- IPv4无带宽控制:DDoS攻击
IPSec(IP Security)
- IPsec协议内容,端到端的确保 IP 通信安全:认证、加密及密钥管理。为IPv6制定(必选),支持IPv4(可选)
IPv6问题
- 从IPv4向IPv6过渡采用逐步演进的方法,IETF推荐的过渡方案主要有:双协议栈(dual stack)、隧道(tunneling)、网络地址转换
- IPv6通过IPsec来保证IP层的传输安全,提高了网络传输的保密性、完整性、可控性和抗否认性。
- IPv4向IPv6过渡技术的安全风险
- 无状态地址自动配置的安全风险
- IPv6中PKI管理系统的安全风险
- IPv6编址机制的隐患
- IPv6的安全机制对网络安全体系的挑战所带来的安全风险:正在服役的IDS/IPS/WAF不一定支持,于是可以畅行无阻。
ICMP协议安全性分析
ICMPv4
ICMPv6
- ICMPv6实现IPv4中ICMP、ARP和IGMP的功能,同时进行功能扩展。ICMPv6不仅可以用于错误报告,还可以用于邻居
发现。对应IPv4中的ARP协议功能;配置和管理组播地址,由组播收听发现协议实现,对应IPv4中的IGMP协议功能
安全问题
- 利用"目的不可达"报文对攻击目标发起拒绝服务攻击。
- 利用"改变路由"报文破坏路由表,导致网络瘫痪。
- 木马利用ICMP协议报文进行隐蔽通信。
- 利用"回送(Echo)请求或回答"报文进行网络扫描或拒绝服务攻击
ARP协议安全性分析
- ARP用于将计算机的网络地址(32位IP地址)转化为物理地址(48位MAC地址)。
- ARP安全问题
- 网络嗅探:流量劫持
- 阻止目标的数据包通过网关
RIP协议安全性分析
- RIP一种内部网关协议 ,分布式的基于距离向量的路由选择。
- 路由策略:交换信息对象:仅和相邻路由器交换信息;交换信息内容:当前本路由器所知道的全部信息,即自己的路由表;交换信息时机:按固定的时间间隔交换路由信息
- 协议报文:分为更新报文和请求报文。协议报文使用UDP协议进行传送。
- RIPv1不支持认证,且使用不可靠的UDP协议作为传输协议,安全性较差。在没有认证保护的情况下,攻击者可以轻易伪造RIP 路由更新信息,并向邻居路由器发送,伪造内容为目的网络地址、子网掩码地址与下一条地址,经过若干轮的路由更新,网络通信将面临瘫痪的风险。
- RIPv2在其报文格式中增加了一个可以设置16个字符的认证选项字段,支持明文认证和MD5加密认证两种认证方式,字段值分别是16个字符的明文密码字符串或者MD5签名。RIP认证以单向为主,R2发送出的路由被R1授受,反之无法接受。另外,RIPv2协议路由更新需要配置统一的密码。 明文认证的安全性较弱。
- 对于不安全的RIP协议,中小型网络通常可采取的防范措施包括:
- 将路由器的某些接口配置为被动接口 ,配置为被动接口后,该接口停止向它所在的网络广播路由更新报文,但是允
许它接收来自其他路由器的更新报文。 - 配置路由器的访问控制列表,只允许某些源IP 地址的路由更新报文进入列表
- 将路由器的某些接口配置为被动接口 ,配置为被动接口后,该接口停止向它所在的网络广播路由更新报文,但是允
- RIPng为IPv6环境下运行的RIP协议,采用和RIPv2完全不同的安全机制。
- RIPng使用和RIPv1相似的报文格式,充分利用IPv6中IPsec提供的安全机制,包括AH认证、ESP加密以及伪报头校验等,保证了RIPng路由协议交换路由信息的安全。
OSPF协议安全性分析
- OSPF使用分布式链路状态协议(link state protocol):所有的路由器都能建立一个链路状态数据库(Link State Database,
LSDB)。每一个路由器使用LSDB中的数据,构造自己的路由表 - 路由策略:
- 交换信息对象:向本自治系统中所有路由器发送信息,通常洪泛法
- 与本路由器相邻的所有路由器的链路状态,只是路由器所知部分信息表
- 当链路状态发生变化时,路由器向所有路由器发送此信息;定期同步链路状态
OSPF协议报文类型:
类型 | 名称 | 功能描述 |
---|---|---|
类型1 | 问候(Hello)报文 | 用来发现和维持邻站的可达性 |
类型2 | 数据库描述(Database Description)报文 | 向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息 |
类型3 | 链路状态请求(Link State Request, LSR)报文 | 向对方请求发送某些链路状态项目的详细信息 |
类型4 | 链路状态更新(Link State Update, LSU)报文 | 用洪泛法向全网发送更新的链路状态 |
类型5 | 链路状态确认(Link State Acknowledgment, LSAck)报文 | 对链路更新报文的确认 |
- OSPF不用UDP而是直接用IP数据报传送
- OSPF协议可以对接口、区域、虚链路进行认证。
- OSPF认证方式:空认证(即不认证,默认认证方式,类型为0);简单口令认证(类型为1);MD5加密身份认证(类型为2)
- OSPF报文格式中有二个与认证有关的字段:认证类型(AuType, 16位)、认证数据(Authentication, 64位)。
- OSPFv3协议自身不再有加密认证机制,取而代之的是通过IPv6的IPsec协议来保证安全性。
- IPsec可确保路由器报文来自于授权的路由器;重定向报文来自于被发送给初始包的路由器;路由更新未被伪造
- OSPF攻击方式:最大年龄(Max Age attack)攻击;序列号加1(Sequence++)攻击;最大序列号攻击;重放攻击;篡改攻击
BGP协议安全性分析
- BGP 协议是一种应用于AS之间的边界路由协议,而且运行边界网关协议的路由器一般都是网络上的骨干路由器。
- 运行BGP协议的路由器相互之间需要建立TCP连接以交换路由信息,这种连接称为BGP会话
BGP(Border Gateway Protocol,边界网关协议)主要报文类型:
类型 | 名称 | 功能描述 |
---|---|---|
类型1 | 打开(Open)报文 | 用来与相邻的另一个BGP发言人建立关系 |
类型2 | 更新(Update)报文 | 用来发送某一路由的信息以及列出要撤消的多条路由 |
类型3 | 保活(Keep Alive)报文 | 用来确认打开报文和周期性地证实邻站关系 |
类型4 | 通知(Notification)报文 | 用来发送检测到的差错 |
- BGP 协议最主要的安全问题在于缺乏安全可信的路由认证机制,即BGP 无法对所传播的路由信息的安全性进行验证。
- 由于BGP协议使用TCP作为其传输协议,因此同样会面临很多因为使用TCP而导致的安全问题,如SYN Flood攻击、序列。
- BGP协议的路由更新机制也存在被攻击的威胁。一种基于 BGP 协议漏洞的 CXPST(Coordinated Cross Plane Session Termination)攻击方法,俗称"数字大炮"。
UDP协议安全性分析
- 安全问题:可以用来发起风暴型拒绝服务攻击,也可以进行网络扫描
TCP协议安全性分析
-
TCP首部
-
四次握手
-
三次挥手
-
安全性分析:网络扫描、拒绝服务(DoS)攻击、TCP 会话劫持攻击
-
端口扫描:TCP Connect扫描、TCP SYN扫描、TCP FIN扫描、Xmas扫描和Null扫描
-
DDoS攻击:TCP SYN Flooding
-
连接劫持:只要TCP包中的源端口、目的端口、Seq、Ack正确,即可被正确接收。当得到入侵者构造的TCP数据包,协议会假设数据包是来源于TCP连接中另一方的合法数据包,并且发送响应包到(入侵者构造的数据包中设置的IP地址)。随后,原来的TCP连接会由于计数器不匹配而断开连接。
-
关键:猜测Seq、Ack,如果是旁路劫持还需猜测源端口号
SSL/TLS
DNS安全性分析
协议脆弱性
- 域名欺骗:域名系统(包括 DNS 服务器和解析器)接收或使用来自未授权主机的不正确信息,事务 ID 欺骗和缓存投毒。
- 网络通信攻击:针对 DNS 的网络通信攻击 主要是DDoS攻击、恶意网址重定向和中间人(man-in-the- middle, MITM)攻击
- 网络通信攻击:DNS域名解析过程劫持
实现脆弱性
- DNS 软件,BIND 的漏洞和缺陷无疑会给 DNS 系统带来严重的威胁,其缓冲区溢出漏洞一度占据 UNIX 及Linux 操作系统相关安全隐患的首位。
操作脆弱性
- 由于人为操作或配置错误所带来的安全隐患:域名配置攻击、域名注册攻击和信息泄漏等
组合攻击实现网站假冒
- 攻击目标网站域名注册服务提供商 => 修改目标网站域名记录 =>申请网站证书=> 伪装成目标网
DNSSEC
- DNSSEC基本思想:依赖于数字签名和公钥系统去保护 DNS 数据的可信性和完整性。
- 权威域名服务器用私钥签名资源记录,解析服务器用公钥验证。如果验证成功,解析服务器接收数据;如果验证失败,解析服务器丢弃数据,因为数据可能是伪造的。
HTTP协议安全性分析
- HTTP协议传输的数据都是未加密的明文,再通过不加密的TCP协议传输,因此使用HTTP协议传输的隐私信息非常不安全,同时还存在不能有效抵御假冒服务器的问题。
- HTTP无状态使攻击变得容易
- 互联网中存在的大量中间盒子,HTTP标准(RFC 2616和RFC 7320)的理解如果不一致,就有可能导致一些新的攻击发生。
- 将HTTP和SSL/TLS协议结合起来后,既能够对网络服务器的身份进行认证 ,又能保护交换数据的机密性和完整性