【安全与风险】互联网协议漏洞

news2024/9/21 0:38:15

互联网协议漏洞

  • 互联网基础设施
  • TCP协议栈
  • 因特网协议(IP)
  • IP路由
  • IP协议功能(概述)
  • 问题:没有src IP认证
  • 用户数据报协议(UDP)
  • 传输控制协议 (TCP)
  • TCP报头
  • TCP(三向)握手
  • 基本安全问题
    • 数据包嗅听
    • TCP连接欺骗
      • 随机初始TCP SNs
    • 路由的漏洞
      • Arp欺骗(Man in Middle Attack)
      • 防范ARP欺骗
    • DNS (Domain Name System)与安全问题
      • DNS根名称服务器
      • DNS查询示例
      • 缓存
      • 基本DNS漏洞
      • DNS缓存中毒[a la Kaminsky'08]
      • 防御
      • 野外DNS投毒攻击
  • 总结

互联网基础设施

本地和域间路由
用于路由和消息传递的TCP/IP

域名系统
从符号名称(www.lancaster.ac.uk)查找IP地址

域名系统是Internet或专用网络内的节点、服务和其他资源的命名系统。

TCP协议栈

在这里插入图片描述
这是通过LAN或WAN在不同机器(运行分布式应用程序)之间进行通信(向其发送数据)使用最广泛的协议,而不考虑机器中固有的硬件和软件平台。

下级向直接上层提供服务。应用层是用户应用程序和下面面向通信的层之间的接口。

链路(在硬件级运行)-以太网,X.25,点对点协议(PPP)

网络(提供寻址和路由功能,将消息发送到各自的目的地)-IP(最重要的),Internet控制消息协议(ICMP)和Internet组管理协议(IGMP)。路由器将报文转发到IP报文中指定的目的IP地址。

传输(管理端到端数据传输,可以同时处理多个数据流)-传输控制协议(TCP)提供了可靠的面向连接的服务,用户数据报协议(UDP)提供了不可靠但快速的无连接服务。

应用程序对应于特定的客户端软件应用程序(例如,文件传输,电子邮件,视频流等)- HTTP, FTP, Telnet, SMTP等。应用程序和传输之间的接口。它是根据端口号和套接字定义的。

以太网报头包含一个序文、一个起始帧分隔符(SFD)、目的地、源和类型。导语是以太网帧开始的标识符。SFD是一个字节(前文的最后一个字节),表示下一个字节是目的MAC地址。destination字段是目的计算机的MAC地址,source字段是源计算机的MAC地址。Type是一个2字节的字段,存储有关直接上层(即IP)使用的协议的信息。

以太网拖车是一个包含4个字节的帧检查序列(FCS),用于循环冗余错误检查。

因特网协议(IP)

  1. 无连接,尽最大努力
  1. 不可靠的
  1. IP地址
  1. 命名或标记通过计算机网络相互通信的每个设备
  2. 32位数字(IPv4)
    在这里插入图片描述
    在这里插入图片描述
    IP根据报文头中的IP地址,将源主机的报文发送到目的主机。

它是不可靠的,因为故障可能发生,如数据损坏,数据包丢失和复制。因此,IP提供了最好的交付服务。

IP路由

在这里插入图片描述
典型的路由需要几跳
IP:无订货和发货保证

IP协议功能(概述)

路由选择

  1. IP主机知道路由器(网关)的位置
  2. IP网关必须知道到其他网络的路由

分段和重组
如果max-packet-size小于user-data-size

错误报告
如果报文被丢弃,ICMP报文被发送到源

TTL字段:每跳一跳递减
TTL=0时丢弃数据包。防止无限循环。

问题:没有src IP认证

信任客户端可以嵌入正确的源IP

  1. 使用原始套接字很容易覆盖。
  2. Libnet:用于格式化带有任意IP头的原始数据包的库。
  3. 任何拥有自己机器的人都可以发送数据包。

启示(DDoS讲座中的解决方案):

  1. 匿名DoS攻击
  2. 匿名感染攻击(例如,攻击蠕虫)

用户数据报协议(UDP)

IP上不可靠的传输:

  1. 没有确认
  2. 没有拥塞控制
  3. 没有消息继续
    在这里插入图片描述

传输控制协议 (TCP)

以连接为导向,保持秩序
寄件人

  1. 将数据分成数据包
  2. 附加数据包编号

接收者

  1. 收据;丢失的数据包被重发
  2. 按照正确的顺序重新组装包
    在这里插入图片描述

TCP报头

在这里插入图片描述

TCP(三向)握手

在这里插入图片描述

基本安全问题

  1. 网络数据包通过不受信任的主机
    1)偷听,嗅探数据包
    2)尤其当攻击者控制着靠近受害者的机器时

  2. TCP状态很容易猜测
    启用欺骗和会话劫持

*Perl和JavaScript是最常见的web脚本语言
从用户获取详细信息

数据包嗅听

攻击者读取所有数据包

  1. 读取所有未加密的数据(例如“wireshark”)
  2. FTP, Telnet(和POP, IMAP)可以明文发送密码
    在这里插入图片描述

TCP连接欺骗

假设init.sequence是可预测的
攻击者可以利用伪造源IP创建TCP会话
破坏基于ip的身份验证(例如SPF, /etc/hosts)
在这里插入图片描述

随机初始TCP SNs

不可预测的SNs会阻止基本的报文注入
大多数TCP堆栈现在生成随机SNs
随机发生器应该是不可预测的

路由的漏洞

ARP(addr resolution protocol): IP地址-》Mac地址

节点A可以混淆网关,使其向B发送流量

攻击者A可以很容易地将数据包注入到B的会话中(例如WiFi网络)

Arp欺骗(Man in Middle Attack)

攻击者用自己的MAC向目标发送虚假ARP响应

目标IP上的所有流量都被路由到攻击者地址
(对嗅探很有用)在这里插入图片描述
给ARP表下毒以伪造IP地址

  1. 嗅探LAN流量以发现IP地址
  2. 攻击者使用ARP欺骗来模拟交换机/路由器和受害者的MAC地址

防范ARP欺骗

静态ARP表项

  1. 最简单的认证形式是对主机ARP缓存中的关键服务使用静态只读条目。
  2. 本地ARP缓存中的IP到mac的映射关系可能是静态输入的。如果存在ARP表项,则主机不需要发送ARP请求。
  3. 虽然静态条目提供了一些防止欺骗的安全性,但它们会导致维护工作,因为必须生成和分发网络中所有系统的地址映射。

ARP欺骗检测和预防软件(如xArp)

  1. 检测ARP欺骗的软件通常依赖于某种形式的认证或ARP响应的交叉检查。
  2. 然后阻止未经认证的ARP响应。

如果ARP表包含两个不同的IP地址和相同的MAC地址,机器可能正在遭受ARP欺骗攻击。

DNS (Domain Name System)与安全问题

层次名称空间
在这里插入图片描述

DNS根名称服务器

分层次服务系统

  1. 顶级域的根名称服务器
  2. 子域的权威名称服务器
  3. 本地名称解析器在不知道某个名称时联系权威服务器
    在这里插入图片描述

DNS查询示例

在这里插入图片描述
DNS记录类型(部分列表)
NS: 名称服务器(指向其他服务器)
A: 地址记录(包含IP地址)

缓存

缓存DNS响应
1)快速响应重复翻译
2)用于查找服务器和地址
3)域的NS记录

DNS负查询被缓存
为不存在的网站节省时间,例如拼写错误。
补充:负查询是指请求DNS服务器返回某个域名不存在的信息。

为不存在的网站节省时间,例如拼写错误。

缓存数据定期超时

  1. 数据所有者控制的数据的生存时间(TTL)
  2. TTL通过每条记录

基本DNS漏洞

用户/主机信任DNS提供的主机地址映射
用作许多安全策略的基础(浏览器同源策略,URL地址栏)

明显的问题
拦截DNS服务器的请求可能导致错误或恶意的响应(例如:咖啡馆里的恶意接入点)

DNS缓存中毒[a la Kaminsky’08]

在这里插入图片描述
本地DNS解析器认为攻击者是ns.bank.com

防御

A:解析器随机化它发送查询的src端口,额外的位到查询ID(现在攻击需要几个小时)

B 每个DNS查询请求两次:
攻击者必须正确猜测QueryID两次(32位)

野外DNS投毒攻击

2015年1月,纽约一家大型互联网服务提供商Panix的域名被劫持到澳大利亚的一个网站。

2004年11月,谷歌和亚马逊的用户被送到Med Network Inc.,一家在线药店。

2013年3月,一个名为“自由网络部队民兵”的组织劫持了半岛电视台网站的访问者,并向他们展示了“上帝保佑我们的军队”的信息。

总结

  1. 互联网基础设施检讨
  2. 安全问题
  3. 基本防守技术

Acknowledgements: Jiangtao Wang

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

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

相关文章

【OJ比赛日历】快周末了,不来一场比赛吗? #04.15-04.21 #17场

CompHub 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号同时会推送最新的比赛消息,欢迎关注! 更多比赛信息见 CompHub主页 或 点击文末阅读原文 以下信息仅供参考,以比赛官网为准 目录 2023-04-15&…

openpnp - 顶部相机辅助光的选择

文章目录 openpnp - 顶部相机辅助光的选择概述折腾的过程简易灯板市售的环形灯(不带漫射板)市售的环形灯(不带漫射板) LED单色光调光控制器.市售的环形灯(带漫射板)市售的环形灯(带漫射板) 自己拆解(降低LED灯路数)END openpnp - 顶部相机辅助光的选择 概述 终于将顶部相机…

Debain初始化配置(一)

目录 1.前言 2.简介 3.Debian11 软件包安装与配置 介绍 3.1.Debian 软件包工具 4.Debian11 软件包安装 4.1、更新索引 4.2.软件包升级 4.3.软件包安装 4.4.软件包删除 4.5.软件包清理 5.Debian11 软件包配置 6.Debian11 系统环境初始化 6.1.系统升级 6.2.安装 S…

哈希表——我欲修仙(功法篇)

个人主页:【😊个人主页】 系列专栏:【❤️我欲修仙】 学习名言:莫等闲、白了少年头,空悲切。——岳飞 系列文章目录 第一章 ❤️ 学习前的必知知识 第二章 ❤️ 二分查找 文章目录 系列文章目录什么是哈希表&#xff…

【AIGC】Stable Diffusion原理快速上手,模型结构、关键组件、训练预测方式

【AIGC】Stable Diffusion的建模思想、训练预测方式快速 在这篇博客中,将会用机器学习入门级描述,来介绍Stable Diffusion的关键原理。目前,网络上的使用教程非常多,本篇中不会介绍如何部署、使用或者微调SD模型。也会尽量精简语…

靶机精讲之Tr0ll

主机发现 nmap扫描 端口扫描 UDP扫描 服务扫描 先从ftp和http下手,shh排后 尝试ftp 匿名登录 查看文件下载的信息 wireshark利用读取文件 strings读取 lol.pcap文本 读代码感觉像目录 进行访问 下载 拷贝到目录下(记得背后加点) file查看文…

Redis五大数据类型

关于Redis的五大数据类型,它们分别为:String、List、Hash、Set、SortSet。本文将会从它的底层数据结构、常用操作命令、一些特点和实际应用这几个方面进行解析。对于数据结构的解析,本文只会从大的方面来解析,不会介绍详细的代码实…

Linux_Shell命令解析

简介 在linux终端中执行ls命令,ls命令是如何被解析并且执行的。Shell命令的格式一般为: [commond] [-options] [parameter]执行命令 命令的选项 命令的参数当执行ls命令是显示当前目录下所有文件的名称 执行ls -l命令是显示当前目录下所有文件的属性…

软件工程开发文档写作教程(01)—开发文档的意义与作用

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl本文参考资料:电子工业出版社《软件文档写作教程》 马平,黄冬梅编著 软件工程开发文档的意义 软件文档是整个软件开发工作的基础,现代工程…

Maven(一)基础入门

目录 一、Maven简介1.背景2.Maven是什么3.Maven的作用 二、下载与安装1.下载2.安装3.配置环境变量 三、Maven基础概念1.仓库2.坐标3.本地仓库配置4.远程仓库配置5.阿里云-镜像仓库配置6.全局 settings 与用户 settings 区别 四、第一个Maven项目(手工制作&#xff0…

【Python】快速简单搭建HTTP服务器并公网访问「cpolar内网穿透」

转载自远程内网穿透的文章:【Python】快速简单搭建HTTP服务器并公网访问「cpolar内网穿透」 1.前言 Python作为热度比较高的编程语言,其语法简单且语句清晰,而且python有良好的兼容性,可以轻松的和其他编程语言((比如…

Qt/QML编程学习之心得:ALSA音频开发(六)

Linux内核中对音频播放和捕获的最初支持是由开放声音系统(OSS)提供的。OSS API是为音频而设计的带有16位双通道回放和捕获的卡,以及随后的API通过open()、close()、read()和write()系统调用的标准POSIX。OSS的主要问题是,虽然基于文件的API实际上易于应用程序开发人…

电磁阀“位”与“通”的详细解说(示意图)

电磁阀是用电磁控制的工业设备,是用来控制流体的自动化基础元件,属于执行器。 而气动电磁阀是其中的一种,是通过控制阀体的移动来档住或漏出不同的排油的孔,而进油孔是常开的,液压油就会进入不同的排油管,…

物联网定位技术|实验报告|实验一 Wi-Fi指纹定位

目录 实验1 Wi-Fi指纹定位 1. 实验目标 2. 实验背景 3. 实验原理 3.1 WIFI基础知识 3.2室内定位方法建模 3.3指纹定位算法 ①离线/训练阶段 ②在线/定位阶段 4. 关键代码 5. 实验结果 6. 室内定位误差分析 6.1 非视距传播 6.2 多径传播 6.3 阴影效应 7. 实验总结 物联网定位技…

ESP32学习三-环境搭建(ESP-IDF V5.0,Ubuntu20.4)

一、准备事项 Ubuntu 20.04。具体安装可以参考如下链接。使用VMware安装Ubuntu虚拟机和VMware Tools_t_guest的博客-CSDN博客 二、安装ESP-IDF 1)、确认python3版本 输入python3 --version来确认python3的版本。因为要安装ESP-IDF 5.0版本,python3的版本…

Docker Compose与Docker Swarm的简介和区别

Docker Compose与Docker Swarm的简介和区别 背景Compose 简介Swarm 简介Compose 和 Swarm区别 背景 之前公司很多都是单体的spring boot服务,使用Docker的时候,只需要定义Dockerfile 文件,然后打成镜像把容器启动起来就ok了。但是现在的微服…

低成本,全流程!基于PaddleDepth和Paddle3D的三维视觉技术应用方案

现实生活中的很多应用场景都需要涉及到三维信息。针对三维视觉技术应用场景复杂多样、三维感知任务众多、流程复杂等问题,飞桨为开发者提供了低成本的深度信息搜集方案 PaddleDepth 以及面向自动驾驶三维感知的全流程开发套件 Paddle3D 。 三维视觉技术应用场景 3D …

01——计算机系统基础

计算机系统基础知识 计算机系统基础一、计算机系统的基本组成1 计算机硬件系统 二、计算机的类型三、计算机的组成和工作原理1 计算机的组成2 总线的基本概念2.1 总线的定义与分类 3 系统总线3.1 系统总线的概念3.2 常见的系统总线 4 外总线5 中央处理单元(CPU&…

【刷题】搜索——BFS:八数码【A*模板】

A*简介 某点u的距离f(u)定义如下: f ( u ) g ( u ) h ( u ) f(u) g(u) h(u) f(u)g(u)h(u) g(u):起点到u走的距离 h(u):u到终点估计的距离,保证 0 ≤ h ( u ) ≤ h ′ ( u ) 0 \leq h(u) \leq h(u) 0≤h(u)≤h′(u)。其中h’…

健康体检信息系统源码,个人体检、团队体检、体检报告、统计分析

健康体检管理系统源码 PEIS源码 数据对接 体检人员管理系统,系统有演示,文档齐全。 一套专业的体检管理系统源码,该系统涵盖个人体检、团队体检、关爱体检等多种体检类型,提供体检登记管理、体检结果管理、体检报告打印及发放…