TCP/IP协议竟然有这么多漏洞?
据2020年上半年中国互联网网络安全监测数据分析报告显示,恶意程序控制服务器、拒绝服务攻击(DDoS)等网络攻击行为有增无减。时至今日,网络攻击已经成为影响网络信息安全、业务信息安全的主要因素之一。
网络攻击是指利用网络存在的漏洞和安全缺陷对网络系统的软硬件及其系统数据进行攻击的行为。TCP/IP协议作为网络的基础协议,从设计之初并没有考虑到网络将会面临如此多的威胁,导致出现了许多攻击方法。由于网络中的通讯都源于数据包,通过对数据包的自动采集与解码分析,可以快速发现与追溯网络攻击。
TCP/IP协议
业界通常将TCP/IP协议栈划为四层:即链路层、网络层、传输层和应用层。
链路层主要用来处理数据在物理介质(如以太网、令牌环等)的传输,实现网卡接口的网络驱动程序;
网络层采用IP协议是整个协议栈的核心,其主要功能是进行数据包的选路和转发,实现网际互联与拥塞控制等;
传输层为主机间的应用程序提供端到端的通信,该层定义了两种协议即TCP与UDP;
应用层的主要功能是处理应用程序的逻辑,比如文件传输、名称查询和网络管理等,位于该层的协议有基于TCP协议的FTP文件传输协议、HTTP超文本传输协议和基于UDP协议的域名服务DNS等。

由于 TCP/IP 协议有四层且每一层功能、协议各不相同,因此针对不同协议层攻击方法也各不相同:
针对链路层的攻击,主要是对网络硬件和基础设施进行物理破坏或强行改变路由器路由;IP协议与ARP协议是网络层最重要的两个协议,针对网络层的攻击,主要有IP碎片攻击、ARP 欺骗等;由于TCP协议与UDP协议是传输层最主要的两个协议,因此针对传输层的攻击非常多,包括DOS攻击等;而应用层的协议是整个协议栈最多的,因此针对该层的攻击数量极为庞大,常见的如 DNS 欺骗等。
ARP攻击
ARP(Address Resolution Protocol,地址解析协议),将网络主机的 IP 地址解析成 MAC 地址,每台主机设备上都拥有一个 ARP 缓存(ARP Cache),通过检查自己的 ARP 缓存,然后进行判断(如果有,可以直接映射;如果无,可以广播 ARP 请求包);
之后检查数据包中的目标 IP 地址是否与自己的IP地址一致,如果一致,可以发送 ARP 响应,告知 MAC 地址;
当源节点在收到 ARP 响应数据包后,可以将得到的目标主机 IP 地址和 MAC 地址对映射表项添加至自己的 ARP 缓存中。

ARP 攻击就是通过伪造 IP 地址和 MAC 地址来实现 ARP 欺骗,通过在网络中制造大量的 ARP 通信量使网络阻塞,攻击者只要持续不断的发出伪造的 ARP 响应包就能更改目标主机 ARP 缓存中的 IP-MAC 条目,造成网络中断或中间人攻击,因此 ARP 攻击通常也被称作ARP欺骗。
尽管ARP攻击仅能在以太网进行且门槛很低,造成的影响却很大,比如会出现断网攻击、流量被限、账号被盗等情况。网络运维可以采取ARP防御机制,比如通过在交换机部署网络镜像,抓取可疑数据包分析,也可以结合DHCP侦听、IP源防护等技术,维护网络安全。
DoS攻击
TCP 协议是基于流的方式,面向连接的可靠通信方式,可以在网络不佳的情况下降低系统由于重传带来的带宽开销。
具体来说,TCP连接的建立过程需要经历三个步骤,每一步同时连接发送端与接收端,俗称“三次握手”:发送端发出SYN包,进入SYN_SENT状态,表明计划连接的服务器端口以及初始序号,等待接收端确认;
接收端收到SYN包,发送SYN_ACK,对发送端进行确认,进入SYN_RECV状态;发送端收到SYN_ACK包,向接收端发送ACK,双方连接建立完成。

由于TCP协议是面向连接的传输控制协议,因此DoS攻击的主要目的就是使用户主机或网络无法接收或处理外界请求。比如通过制造大流量的无用数据,造成网络拥塞,使被攻击的主机无法和外界正常通信;
利用重复连接缺陷,反复发送重复服务请求,使其无法正常处理其它请求;
又或利用协议缺陷,反复发送攻击数据,占用主机或系统资源,导致死机等。
简单来说,DoS(Denial of Service)拒绝服务攻击通常使用数据包淹没本地系统,以打扰或严重阻碍肯帮本地的服务响应外来合法的请求,使本地系统奔溃。
SYN flood 攻击是最常见的 DoS 攻击类型。攻击者将自身 IP 源地址进行伪装,向本地系统发送 TCP连接请求;
本地系统回复SYN-ACK至伪装地址,导致本地系统收不到RST消息,无法接收ACK回应,将一直处于半连接状态,直至资源耗尽。攻击者发送连接请求速度比 TCP超时释放资源速度更快,利用反复连接请求,导致本地服务无法接收其它连接。
解决SYN flood 的最好方法就是做好防范策略,通过网络性能管理工具,自动筛选可疑数据包,缩短 SYN Timeout 时间,设置 SYN Cookie,为每一个请求设置Cookie,如果短时间内收到某个IP的重复SYN报文,就认定为攻击,抛弃该IP地址。
DNS攻击
IP协议为了将数据信息包从原设备传送到目的设备,需要依赖IP地址与IP路由器。IP地址是机器语言,通常较长,所以尽管IP地址具有唯一性,但是不方便记忆与使用,人们便在此基础上发明了DNS。DNS(Domain Name System)即域名系统,域名通常较短,兼具可读性与实用性。由于域名与IP地址呈一一对应关系,因此,上网时只需在地址栏输入域名,系统会直接进行域名解析,将域名翻译成IP地址。
在执行完域名搜索后,域名服务器会保存域名记录,每条记录都会包含域名与IP地址。如果域名服务器的某条地址被人为修改,那么就可以人为操作用户的访问地址,这种行为被称为“域名劫持”。“域名劫持”的始作俑者是域名服务器提供商,因此目前解决该问题的有效方法是弃用或换用域名服务器。
除“域名劫持”外,还有另外一种常见的DNS攻击叫做“域名污染”或“域名欺骗”。当电脑发送“域名查询”至域名服务器后,域名服务器会将回应发送回电脑,发送请求与接收信息是一个过程,中间会出现时间差,网络攻击会在接收信息前,伪造错误应答至电脑,那么该信息即为错误IP。
面对网络攻击,我们除了需要提高安全意识,积极尽责地维护系统,加强防火墙设置外,还可以通过对数据包进行分析进而追溯网络攻击。
通过对网络数据进行采集与解码分析,掌握网络中最细微的变化,针对网络攻击的特征值或者行为进行有效的告警信息配置,可以快速定位网络中的攻击。
也可以通过使用具有安全防护功能的网络性能管理工具,譬如天旦网络性能管理NPM,支持TCP端口扫描、ARP攻击与DOS攻击等可疑数据包自动分析,实现自动告警,保障数据信息的正常传输与使用。
TCP/IP协议竟然有这么多漏洞?的更多相关文章
- TCP/IP协议竟然有这么多漏洞
网络攻击是指利用网络存在的漏洞和安全缺陷对网络系统的软硬件及其系统数据进行攻击的行为.TCP/IP协议作为网络的基础协议,从设计之初并没有考虑到网络将会面临如此多的威胁,导致出现了许多攻击方法.由于网 ...
- Ripple 20:Treck TCP/IP协议漏洞技术分析
本文由“合天智汇”公众号首发,作者:b1ngo Ripple 20:Treck TCP/IP协议漏洞技术分析 Ripple20是一系列影响数亿台设备的0day(19个),是JSOF研究实验室在Trec ...
- OSI七层模型详解 TCP/IP协议
总结 OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等 表示层 数据格式化,代码转 ...
- [转]从OSI网络模型到TCP/IP协议族简介
OSI七层模型 OSI(Open System Interconnection,开放系统互联)七层网络模型成为开放式系统互联参考模型,是一个把网络通信在逻辑上的定义,也可以理解成为定义了通用的网络通信 ...
- 漫谈网络通信——从OSI网络模型到TCP/IP协议族
OSI七层模型 OSI(Open System Interconnection,开放系统互联)七层网络模型成为开放式系统互联参考模型,是一个把网络通信在逻辑上的定义,也可以理解成为定义了通用的网络通信 ...
- 门面模式的典型应用 Socket 和 Http(post,get)、TCP/IP 协议的关系总结
门面模式的一个典型应用:Socket 套接字(Socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元.它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息: 连接使用的 ...
- TCP/IP协议(二)tcp/ip基础知识
今天凌晨时候看书,突然想到一个问题:怎样做到持续学习?然后得出这样一个结论:放弃不必要的社交,控制欲望,克服懒惰... 然后又有了新的问题:学习效率时高时低,状态不好怎么解决?这也是我最近在思考的问题 ...
- TCP/IP协议(一)网络基础知识
参考书籍为<图解tcp/ip>-第五版.这篇随笔,主要内容还是TCP/IP所必备的基础知识,包括计算机与网络发展的历史及标准化过程(简述).OSI参考模型.网络概念的本质.网络构建的设备等 ...
- TCP/IP协议三次握手与四次握手流程解析
原文链接地址:http://www.2cto.com/net/201310/251896.html TCP/IP协议三次握手与四次握手流程解析 TCP/IP协议的详细信息参看<TCP/IP协议详 ...
- 【原创】技术往事:改变世界的TCP/IP协议(珍贵多图、手机慎点)
1.前言 作为应用层开发人员,接触最多的网络协议通常都是传输层的TCP(与之同处一层的另一个重要协议是UDP协议),但对于IP协议,对于应用程序员来说更多的印象还是IP地址这个东西,再往深一点也就很难 ...
随机推荐
- Prometheus监控系统(三)Prometheus与Grafana集成
1. Prometheus和Grafana集成 Grafana是一款采用Go语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具.目前已支持绝大部分常 ...
- FFmpeg变速处理视频文件
使用工具:小丸工具箱,HandBrake,FFmpeg 首先确定视频是否为VFR(可变帧率),如果是VFR需要在二次处理前转换成CFR(固定帧率) VFR转换CFR可以使用FFmpeg命令行或Hand ...
- 基于 SQLite 3 的 C 学习:1-开发流程 与 基本函数
背景 SQLite 是 一个 常用于 嵌入式平台的 轻量级的 关系型数据库. 我们已经介绍了 移植 SQLite 3 ,这一讲我们来介绍它的开发,这里仅仅涉及最基本的开发. 高级api:https:/ ...
- Qt 之 emit、signals、slot的使用
背景 ref : https://www.ibm.com/developerworks/cn/linux/guitoolkit/qt/signal-slot/index.html 信号和槽机制是 QT ...
- 【仿真】Carla简易安装 Window Ubuntu均适用 附ROS的简单连接 [0]
参考与前言 CARLA Documentation 官方文档 后续链接:[仿真]Carla介绍与使用 [1] 本篇创建于 2020/12/18,安装方式为压缩包安装,无需UE4等软件,但是前提是需要一 ...
- 2024年,AI驱动测试管理工具会有哪些发展前景呢?
随着人工智能技术的日新月异,2024年的测试管理工具将迎来全新的发展机遇.AI赋能将助力测试管理工具实现前所未有的智能化升级,为软件研发团队带来革命性的变革. 一.什么是AI? 人工智能(AI)是一种 ...
- vba--分拆工作薄
Sub 分拆工作薄() '分拆工作薄到当前文件夹 Dim sht As Worksheet Dim MyBook As Workbook Application.DisplayAlerts = Fal ...
- SpringBoot自定义全局异常返回页面
返回自定义异常界面,需要引入thymeleaf依赖(非必须,如果是简单的html界面则不用) <dependency> <groupId>org.springframework ...
- mac idea 配置Tomcat
官网下载Tomcat 下载地址:点我直达 配置Idea 设置Application Servers 操作步骤:Intellij IDEA->Preferences->Application ...
- Swift开发基础04-枚举
基本用法 enum Direction { case north case south case east case west } enum Direction { case north, south ...