网络安全·第一天·IP协议安全分析

        本篇博客讲述的是网络安全中一些协议缺陷以及相应的理论知识,本博主尽可能讲明白其中的一些原理以及对应的防卫措施。

        学习考研408的同学也能进来看看,或许对考研有些许帮助(按照考研现在的趋势,年年都有新题目,本文当作课外拓展也是可以的)。

        提及黑客,很多人的第一想法或许是一位戴着邪恶面具,躲在逼仄的房间里几天没有洗澡的油腻男,他们窃取许多无辜百姓们的信息,并且利用这些信息对目标受众进行欺骗。也有的人会觉得黑客是很酷的一个职业,他们捍卫国家的机密,并且对敌国的信息进行窃听,是人见人爱的大英雄。

       事实上,以上两种说法都有道理,就好像我们写语文或者英语作文时总是把某个东西比作成“双刃剑”,有好的一面自然也会有坏的一面。在这里要借用《大明王朝1566》中不粘锅赵贞吉的一句话“功过总是结伴而行,我不求有功,无过便是功。”

        可以不用黑客技术去黑掉敌对势力的网络与主机,更重要的是“无过”二字,不要用技术去犯下过错,酿成灾难,这是所有技术人员应该遵循的底线。

        端正好思想后,就跟随博主,一起来了解部分网络协议的具体作用以及相应的漏洞吧!

一、网络层与IP协议作用

要想搞清楚IP协议的作用,首先要了解清楚网络层的定位。
网络层是负责地址管理和路由选择。

IP协议:网络层的一个协议,通过IP地址来标识一台主机,并通过路由表的方式规划出两台主机之间的数据传输的路由线路。

IP地址的核心作用就是用于定位主机IP具有将一个数据数据从A主机跨网络送到B主机的能力(主机到主机)

二、IP数据报格式

  • 版本号(version):4位,指定IP协议的版本,对于IPv4来说,就是4,而IPv6则该字段为6
  • 首部长度(header length):4位,表示IP报头的长度,以4字节为单位(口诀:1位总司令与4位首长要抓8个骗子:总长度乘1倍,首部长度乘4倍,片偏移乘8倍)
  • 服务类型(Type Of Service):8位,分为3位优先权字段(已经弃用),4位TOS字段,和1位保留字段(必须置为0)。
  • 总长度(total length):16位,IP报文(IP报头+有效载荷)的总长度,用于将各个IP报文进行分离。
  • 标识(id):16位,唯一的标识主机发送的报文,如果数据在IP层进行了分片,那么每一个分片对应的id都是相同的
  • 标志字段:3位,第一位保留,暂时无用。第二位表示禁止分片DF(Don't Fragment),表示如果报文长度超过MTU,IP协议就会丢弃该报文。第三位表示更多分片MF(More Fragment),如果报文没有进行分片,则该字段设置为0,如果报文进行了分片,则除了最后一个分片报文设置为0以外,其余分片报文均设置为1
  • 片偏移(framegament offset):13位,分片相对于原始数据开始处的偏移,表示当前分片在原数据中的偏移位置,实际偏移的字节数是这个值乘8得到的。因此除了最后一个报文之外,其他报文的长度必须是8的整数倍。(由此也可以推出,算片偏移时是不带报头的,例如第一片报文为24B,报头是20B,要是带上报头计算的话,44不能被8整除)
  • 生存时间(Time To Live,TTL):8位,数据报到达目的地的最大报文跳数,一般是64,每经过一个路由,TTL 减 1,一直减到0还没到达,那么就丢弃了,这个字段主要是用来防止出现路由循环
  • 8位协议:表示上层协议的类型
  • 首部检验和:16位,使用CRC进行校验,只检验数据报的首部是否损坏,不检验数据部分
  • 源IP地址(Source IP Address):32位,指示发送该数据报的源主机的IP地址。
  • 目标IP地址(Destination IP Address):32位,指示接收该数据报的目标主机的IP地址
  • 选项字段:不定长,最多40字节

三、IP协议漏洞

1、数据报格式类漏洞

①.“源IP地址”

IP协议缺乏对地址真实性的认证机制,不能保证数据就是从数据包中给定的源地址发出的。

②.“目标IP地址”

不能确保就一定能把数据发给了数据包报头中目的地址的主机。

③.“首部校验和”

由于IP层没有采用任何机制保证数据净荷的正确性,只检验首部的正确性,导致攻击者可能截取数据报,修改数据报中的内容,将修改结果发送给接收方。

④“标志”

上面三类漏洞都好理解,最恶心的是利用标志位的这类攻击,也就是说,这类攻击常常以分片的方式来恶心人。

主要分为大包分片攻击、极小碎片攻击以及分片重叠攻击这三大类。

大包分片攻击利用分片重组的特点,使受害主机在数据包重组之后的长度超过65535字节,使得事先分配的缓冲区溢出,造成系统崩溃。

极小碎片攻击稍微复杂一点,他是攻击者通过恶意操作,发送极小的分片来绕过包过滤系统或者入侵检测系统的一种攻击手段。

最典型的例子是,将TCP报头分布在2个分片中,标志字段包含在第二个分片中; 若包过滤设备或者入侵检测系统通过判断TCP SYN标志来采取禁止外部连接,则可能放行这些分片报文。

分片重叠攻击则是在分片报文重组时,使数据产生重叠,造成系统崩溃或绕过防火墙

数据重叠造成系统崩溃的意思很明显,假设第一个分片报文长为80B,第二个分片却在报头偏移量的位置填了个5而不是10,在重组时有40B的内容就会被吞掉,造成系统崩溃。

而绕过防火墙则需要与标识位配合,假设防火墙运行目的端口40通过,而不允许目的端口50通过,则通过分片重叠,可以让目的端口仍为40但却可以绕过防火墙。

所以通过以上IP报文逻辑漏洞的分析,我们就能很清楚的找到对应策略,最极端的方式就是减少分片,能不分片就尽量不分片,同时也要丢弃过短的报文,避免极小碎片攻击,再者,为了避免上图中绕过防火墙的行为,可以先对报文重组,重组后再判断是否该重组后的报文需要被过滤掉。

2、IP定向广播攻击

①定向广播地址的定义

定向广播地址是每个子网的最后一个IP地址,用于向该子网内所有设备发送广播数据包。例如192.168.1.0/24的定向广播地址就是192.168.1.255。

当数据包发送到定向广播地址时,路由器会将其转发到目标子网,并由子网内所有主机接收。

②典型攻击:smurf攻击

例如,·攻击者A伪造源地址为受害主机B,并向定向广播地址发送大量的ICMP中的Ping请求,此时,该子网内的主机都会向受害者B回复一个ICMP Echo Reply。而受害者突然收到了这么多的回复导致服务中断,遭受DDos攻击。

这就好比,伍老师邪恶的课代表狐假虎威,代替老师给全班乱布置作业,让全班同学今天回去之后写篇八百字的作文。事实上,语文老师自己都不知道自己给全班同学布置了一篇作文,这就导致第二天要改全班三四十篇作文,累得要命,从而没有精力给班上上课了。

③防御措施

防范此类攻击,最简单的就是禁用定向广播转发功能,并且想办法找出并过滤掉伪造IP源地址的数据包,这都能从根源上抵御该类型攻击。

3、IP源路由欺骗

①IP source routing

什么是IP source routing呢?它是IP数据包中有一个选项,可以指定从源到目的的路由,则目的到源的应答包也会沿着这个路由传递。它分为两种类型:

严格源路由:简称SSR,Strict Source Routing,不是阴阳师抽卡里面的SSR。在该条件下,数据包必须严格按照指定路径转发,否则将会丢弃该数据包。

松散源路由:LSR,Loose Source Routing,数据包经过指定路径中的关键节点,其余路径由路由器决定。

这就好比大耳朵图图放学回家,有羊肠小道的小路也有布满监控的大路。但是走小道回家会有小混混收保护费,图图为了自己不被小混混盯上,安全回家,所以在此期间他老老实实的走大路回家,完全不经过巷子,这就是“严格源路由”。而经过扫黑除恶行动后,小混混没有以前那么猖獗了,图图也开始时不时走走小道,但是为了以防万一,他在回家的路上,肯定会经过警局,至于去警局走哪条路,从警局回家走哪条道,图图随缘决定,这就是“松散源路由”。

②攻击原理

攻击者可以利用“IP source routing”选项获取到应答数据包,并且通过伪装IP地址进行网络攻击。攻击者利用源路由选项,伪装成另一个IP地址,发送数据包到目标服务器,从而获取不属于自己的信息。

例如,受害者A向服务器B发送数据,攻击者C伪造一个源路由选项位A->C->B的数据包,则接收方B收到消息后,会自动沿着源路由选项的逆向路径回复,即B->C->A,后续双方的通信都被迫经过C,C就可以实现中间人MITM攻击,也可以监听A与B的全部信息从而获取关键信息(例如HTTP密码、cookie),甚至在双方的通信中加入恶意代码。

③防范措施

该攻击并不难防,以至于现在很少见到此类攻击了。

首先,现代操作系统和网络设备不再支持IP source routing选项了,这从根源上遏制了IP源路由欺骗攻击的发展。

其次,TSL或者SSL等加密协议使得就算有中间人截获信息也无法得知内容。

好滴,本期的博客就到此为止啦,如果你感觉小编写的还可以,麻烦给本博主点个小小的赞吧!

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

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

相关文章

【详解】Nginx配置WebSocket

目录 Nginx配置WebSocket 简介 准备工作 检查 Nginx 版本 配置 Nginx 支持 WebSocket 修改 Nginx 配置文件 解释配置项 测试配置 测试 WebSocket 连接 WebSocket 服务端 (Node.js) WebSocket 客户端 (HTML JavaScript) 运行测试 Nginx 配置文件示例 解释 测试配…

《轨道力学讲义》——第八讲:行星际轨道设计

第八讲:行星际轨道设计 引言 行星际轨道设计是探索太阳系的核心技术,它涉及如何规划和优化航天器从一个天体到另一个天体的飞行路径。随着人类探索太阳系的雄心不断扩大,从最初的月球探测到火星探测,再到更遥远的外太阳系探测&a…

操作系统学习笔记——[特殊字符]超详细 | 如何唤醒被阻塞的 socket 线程?线程阻塞原理、线程池、fork/vfork彻底讲明白!

💡超详细 | 如何唤醒被阻塞的 socket 线程?线程阻塞原理、线程池、fork/vfork彻底讲明白! 一、什么是阻塞?为什么线程会阻塞?二、socket线程被阻塞的典型场景🧠 解法思路: 三、线程的几种阻塞状…

第十六届蓝桥杯大赛软件赛省赛 Python 大学 B 组 满分题解

题面链接Htlang/2025lqb_python_b 个人觉得今年这套题整体比往年要简单许多,但是G题想简单了出大问题,预估50101015120860,道阻且长,再接再厉 代码仅供学习参考,满分为赛后洛谷中的测评,蓝桥杯官方测评待…

若依代码生成器原理velocity模板引擎(自用)

1.源码分析 代码生成器:导入表结构(预览、编辑、删除、同步)、生成前后端代码 代码生成器表结构说明: 若依提供了两张核心表来存储导入的业务表信息: gen_table:存储业务表的基本信息 ,它对应于配置代码基本信息和生成信息的页…

如何制定有效的风险应对计划

制定有效的风险应对计划的核心在于: 识别潜在风险、评估风险的影响与概率、选择合适的应对策略、建立动态监控和反馈机制。 其中,识别潜在风险是最为关键的第一步。只有准确识别出可能的风险,才能在后续的评估、应对、监控等环节中做到有的放…

A2A协议实现详解及示例

A2A协议概述 A2A (Agent2Agent) 是Google推出的一个开放协议,旨在使AI智能体能够安全地相互通信和协作。该协议打破了孤立智能体系统之间的壁垒,实现了复杂的跨应用自动化。[1] A2A协议的核心目标是让不同的AI代理能够相互通信、安全地交换信息以及在各…

【中级软件设计师】前趋图 (附软考真题)

【中级软件设计师】前趋图 (附软考真题) 目录 【中级软件设计师】前趋图 (附软考真题)一、历年真题三、真题的答案与解析答案解析 复习技巧: 若已掌握【前趋图】相关知识,可直接刷以下真题; 若对知识一知半解,建议略读题目&#x…

调节磁盘和CPU的矛盾——InnoDB的Buffer Pool

缓存的重要性 无论是用于存储用户数据的索引【聚簇索引、二级索引】还是各种系统数据,都是以页的形式存放在表空间中【对一个/几个实际文件的抽象,存储在磁盘上】如果需要访问某页的数据,就会把完整的页数据加载到内存中【即使只访问页中的一…

springboot和springcloud的区别

1. ‌目的与功能‌ ‌1)Spring Boot‌: 主要用于快速构建独立的、生产级的 Spring 应用程序。它通过自动配置和嵌入式服务器等特性,简化了微服务的开发、启动和部署,使开发者能够专注于业务逻辑而非繁琐的配置。‌Spring Boot是一个快速开发的框架,旨在简化Java应用程序的开…

耘想WinNAS:以聊天交互重构NAS生态,开启AI时代的存储革命

一、传统NAS的交互困境与范式瓶颈 在传统NAS(网络附加存储)领域,用户需通过复杂的图形界面或命令行工具完成文件管理、权限配置、数据检索等操作,学习成本高且效率低下。例如,用户若需搜索特定文件,需手动…

在断网的时候,websocket 一直在CLOSING 状态

现象 websocket 先连接成功,然后断网。 由于维护了一套心跳机制,前端发起心跳,如果一段时间内没有收到服务端返回的心跳。则表示连接断开。 用心跳的方式处理断网的兜底情况。 然而,此时网络是断开的,在代码中直接调…

基于AWS的大模型调用场景:10大成本优化实战方案

大模型训练与推理是AI领域的计算密集型场景,如何在AWS上实现高性能与低成本的双重目标?本文从实例选型、弹性伸缩、存储优化等角度,分享10个经过验证的AWS成本优化策略,帮助企业节省30%以上成本。 一、大模型场景的成本痛点分析 计…

【网络原理】TCP/IP协议五层模型

目录 一. 协议的分层 二. OSI七层网络协议 三. TCP/IP五层网络协议 四. 网络设备所在分层 五. 封装 六. 分用 七. 传输中的封装和分用 八. 数据单位术语 一. 协议的分层 常见的分层为两种OSI七层模型和TCP/IP五层模型 为什么要协议分层? 在网络通信中&…

科技快讯 | 阿里云百炼MCP服务上线;英伟达官宣:CUDA 工具链将全面原生支持 Python

李飞飞团队最新AI报告:中美模型性能差距近乎持平 4月8日,斯坦福大学以人为本人工智能研究所发布《2025年人工智能指数报告》。报告显示,2023年AI性能显著提升,AI应用加速,投资增长,中美AI模型差距缩小。报告…

猫咪如厕检测与分类识别系统系列【三】融合yolov11目标检测

✅ 前情提要 家里养了三只猫咪,其中一只布偶猫经常出入厕所。但因为平时忙于学业,没法时刻关注牠的行为。我知道猫咪的如厕频率和时长与健康状况密切相关,频繁如厕可能是泌尿问题,停留过久也可能是便秘或不适。为了更科学地了解牠…

2025年燃气证书:传承与发展的行业纽带

回溯历史长河,能源的利用与人类文明的发展息息相关。从远古时期的钻木取火,到如今广泛应用的燃气能源,每一次能源的变革都推动着社会的巨大进步。而在现代燃气行业蓬勃发展的背后,燃气从业人员资格证书正扮演着传承与发展的重要纽…

在Ubuntu下进行单片机开发是否需要关闭Secure Boot

1. Secure Boot的作用 功能:Secure Boot是UEFI的安全功能,旨在阻止未经验证的驱动或操作系统启动,防止恶意软件篡改引导过程。 影响范围:它主要限制的是操作系统启动阶段加载的内核级驱动(如显卡驱动、虚拟化模块&…

国达陶瓷重磅推出陶瓷罗马柱外墙整装尖端新产品“冠岩臻石”

近日,记者在佛山国达建材有限公司(以下简称国达陶瓷)董事长杨建平处了解到,该公司重磅推出的“冠岩臻石”新产品,是属于陶瓷罗马柱外墙整装产品中的尖端产品。新产品自面市之后,深受高端用户的青睐与认可。…

【分享】Ftrans文件摆渡系统:既保障传输安全,又提供强集成支持

【分享】Ftrans文件摆渡系统:既保障传输安全,又提供强集成支持! 在数字化浪潮中,企业对数据安全愈发重视,网络隔离成为保护核心数据的关键防线,比如隔离成研发网-办公网、生产网-测试网、内网-外网等。网络…