安全分析[1]之网络协议脆弱性分析

文章目录

  • 威胁网络安全的主要因素
  • 计算机网络概述
    • 网络体系结构
  • 网络体系结构脆弱性
    • 分组交换
    • 认证与可追踪性
    • 尽力而为
    • 匿名与隐私
    • 对全球网络基础实施的依赖
    • 无尺度网络
    • 互联网的级联特性
    • 中间盒子
  • 典型网络协议脆弱性
    • IP协议安全性分析
      • IPSec(IP Security)
      • IPv6问题
    • ICMP协议安全性分析
      • ICMPv4
      • ICMPv6
      • 安全问题
    • ARP协议安全性分析
    • RIP协议安全性分析
    • OSPF协议安全性分析
    • BGP协议安全性分析
    • UDP协议安全性分析
    • TCP协议安全性分析
    • SSL/TLS
    • DNS安全性分析
      • 协议脆弱性
      • 实现脆弱性
      • 操作脆弱性
      • 组合攻击实现网站假冒
      • DNSSEC
    • 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协议结合起来后,既能够对网络服务器的身份进行认证,又能保护交换数据的机密性和完整性

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/16187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML与CSS的学习

什么是HTML,CSS&#xff1f; HTML(HyperText Markup Language):超文本标记语言。 超文本:超越了文本的限制&#xff0c;比普通文本更强大。除了文字信息&#xff0c;还可以定义图片、音频、视频等 标记语言:由标签构成的语言 >HTML标签都是预定义好的。例如:使用<a>…

c语言:模拟strlen(三种方法)最全版本

1.计数的方法 #include <stdio.h> #include <assert.h> int my_strlen(const char * str)//const的使用优化 {int count0;assert(str)while(*str){count;str;}return count; } 2.用指针的方法&#xff08;指针-指针&#xff09; #include <stdio.h> #incl…

Visual Studio 的调试(一)

最近事儿很多昂&#xff0c;更新速度相较以往慢了许多&#xff0c;备考六月份的四级&#xff0c;还有学校的期末等等&#xff0c;事儿真的太多啦&#xff0c;所以后面的更新速度也会放慢一点&#xff0c;实在是抽不开身啊诸位&#xff0c;相当抱歉&#xff0c;还望诸君见谅 言…

MySQL大表删除方案

1.问题 在生产环境中&#xff0c;执行大表删除操作时&#xff0c;很容易因为占用了大量io资源导致其他事务被阻塞&#xff0c;最终事务不断堆积导致MySQL挂掉。 2.drop命令 drop命令&#xff0c;MySQL主要干了两件事&#xff1a; 清除buffer pool缓冲&#xff08;内存&…

STL源码刨析:序列式容器之vector

目录 1.序列式容器和关联式容器 2.vector的定义和结构 3.vector的构造函数和析构函数的实现 4.vector的数据结构以及实现源码 5.vector的元素操作 前言 本系列将重点对STL中的容器进行讲解&#xff0c;而在容器的分类中&#xff0c;我们将容器分为序列式容器和关联式容器。本章…

Docker Hub注册及上传自定义镜像

说明&#xff1a;本文介绍如何注册Docker Hub&#xff0c;及将自己自定义镜像上传到Docker Hub上&#xff1b; 注册Docker Hub 浏览器输入&#xff1a;http://hub.docker.com/&#xff0c;进入Docker Hub官网 注&#xff1a;如果无法访问&#xff0c;可在GitHub上下载一个Ste…

Git--本地仓库

文章目录 工作区和暂存区工作区&#xff08;Working Directory&#xff09;版本库&#xff08;Repository&#xff09; 初始化git仓库添加文件到版本库步骤 查看修改内容查看工作区和暂存区状态已add文件已修改/新增 的未add文件git跟踪修改原理 查看提交历史版本回退撤销修改撤…

信息学奥赛初赛天天练-12-数论-整除问题

更多资源请关注纽扣编程微信公众号 整除的性质 1 整除性 若 &#x1d44e; 和 &#x1d44f; 都为整数&#xff0c; &#x1d44e; 整除 &#x1d44f; 是指 &#x1d44f; 是 &#x1d44e; 的倍数&#xff0c;&#x1d44e; 是 &#x1d44f; 的约数&#xff08;或者叫 因…

基于Arduino IDE的ESP32开发环境搭建

文章目录 一. Arduino IDE安装二. Arduino IDE安装ESP开发包 一. Arduino IDE安装 Arduino官网下载IDE软件 解压下载好的安装包&#xff0c;以管理员身份运行Arduino IDE软件 IDE第一次启动会安装各种驱动&#xff0c;直接点击确定就行 二. Arduino IDE安装ESP开发包 将…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-22讲 RTC 时钟设置

前言&#xff1a; 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM&#xff08;MX6U&#xff09;裸机篇”视频的学习笔记&#xff0c;在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

头歌结构化分析方法-数据流图

第1关&#xff1a;数据流图-画出外部实体 第2关&#xff1a;数据流图-画出加工 第3关&#xff1a;数据流图-画出数据存储 第4关&#xff1a;数据流图-画出数据流 第5关&#xff1a;数据流图-机票预定系统

VXLAN小结

1.VXLAN:(组件虚拟网络的架构核心)虚拟扩展本地局域网&#xff0c;通过隧道的形式&#xff0c;将物理上有隔离的资源&#xff0c;在逻辑上连通起来&#xff0c;使其二层互通。 a.物理网络:指的是构成 VXLAN 连接的基础 IP 网络 b.逻辑网络:指的是通过 VXLAN 构建的虚拟网络 C.N…

DragonKnight CTF2024部分wp

DragonKnight CTF2024部分wp 最终成果 又是被带飞的一天&#xff0c;偷偷拷打一下队里的pwn手&#xff0c;只出了一题 这里是我们队的wp web web就出了两个ez题&#xff0c;确实很easy&#xff0c;只是需要一点脑洞(感觉)&#xff0c; ezsgin dirsearch扫一下就发现有ind…

ROS参数服务器

一、介绍 参数服务器是用于存储和检索参数的分布式多机器人配置系统&#xff0c;它允许节点动态地获取参数值。 在ROS中&#xff0c;参数服务器是一种用于存储和检索参数的分布式多机器人配置系统。它允许节点动态地获取参数值&#xff0c;并提供了一种方便的方式来管理和共享配…

基于Python Selenium web测试工具 - 基本用法详解

这篇文章主要介绍了Selenium&#xff08;Python web测试工具&#xff09;基本用法,结合实例形式分析了Selenium的基本安装、简单使用方法及相关操作技巧,需要的朋友可以参考下 本文实例讲述了Selenium基本用法。分享给大家供大家参考&#xff0c;具体如下&#xff1a; Seleni…

如何查看热门GPT应用?

1、登陆chatgpt 2、访问 https://chatgpt.com/gpts 3、在该界面&#xff0c;可以搜索并使用image generator, Write For Me&#xff0c;Language Teature等热门应用。

嵌入式C语言中结构体使用详解

各位开发者大家好,今天给大家分享一下,嵌入式C语言中结构体的使用方法。 第一个:内存对齐 内存对齐是指一个数据类型在内存中存放时,对其地址的要求。简单来说内存对齐就是使得其内存地址是该类型大小的整数倍,例如 double 类型的变量,其内存地址需要是8的倍数(double大…

深入理解 Mysql 分层架构:从存储引擎到查询优化器的内部机制解析

一、基础架构 1.连接器 1.会先连接到这个数据库上&#xff0c;这时候接待你的就是连接器。连接器负责跟客户端建立连接、获取权限、维持和管理连接 2.用户密码连接成功之后&#xff0c;会从权限表中拿出你的权限&#xff0c;后续操作权限都依赖于此时拿出的权限,这就意味着当链…

SVM兵王问题

1.流程 前面六个就是棋子的位置&#xff0c;draw就是逼和&#xff0c;后面的数字six就代表&#xff0c;白棋最少用六步就能将死对方。然后呢&#xff0c;可以看一下最后一个有几种情况&#xff1a; 2.交叉测试 leave one out&#xff1a; 留一个样本作测试集&#xff0c;其余…

Django 里的静态资源调用

静态资源&#xff1a;图片&#xff0c;CSS, JavaScript 一共有两种方法 第一种方法 在项目的文件夹里创建名为 static 文件夹 在该文件夹里&#xff0c;添加静态资源 在 settings.py 里添加路径 import os# Static files (CSS, JavaScript, Images) # https://docs.djan…