TCP/IP 协议会有这么多漏洞

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 网络攻击是指利用网络存在的漏洞和安全缺陷对网络系统的软硬件及其系统数据进行攻击的行为。TCP/IP协议作为网络的基础协议,从设计之初并没有考虑到网络将会面临如此多的威胁,导致出现了许多攻击方法。由于网络中的通讯都源于数据包,通过对数据包的自动采集与解码分析,可以快速发现与追溯网络攻击。

TCP/IP协议

业界通常将TCP/IP协议栈划为四层:即链路层、网络层、传输层和应用层

  • 链路层主要用来处理数据在物理介质(如以太网、令牌环等)的传输,实现网卡接口的网络驱动程序;
  • 网络层采用IP协议是整个协议栈的核心,其主要功能是进行数据包的选路和转发,实现网际互联与拥塞控制等;
  • 传输层为主机间的应用程序提供端到端的通信,该层定义了两种协议即TCP与UDP;
  • 应用层的主要功能是处理应用程序的逻辑,比如文件传输、名称查询和网络管理等,位于该层的协议有基于TCP协议的FTP文件传输协议、HTTP超文本传输协议和基于UDP协议的域名服务DNS等。


TCP/IP协议模型层次结构图

由于 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协议工作原理

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三次握手

由于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。

安全建议

面对网络攻击,我们除了需要提高安全意识,积极尽责地维护系统,加强防火墙设置外,还可以通过对数据包进行分析进而追溯网络攻击。

通过对网络数据进行采集与解码分析,掌握网络中最细微的变化,针对网络攻击的特征值或者行为进行有效的告警信息配置,可以快速定位网络中的攻击。

相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
7月前
|
机器学习/深度学习 人工智能 网络协议
TCP/IP五层(或四层)模型,IP和TCP到底在哪层?
TCP/IP五层(或四层)模型,IP和TCP到底在哪层?
130 4
|
缓存 网络协议 Linux
手把手实现tcp/ip用户态协议栈,帮你实践网络知识(网络必备,面试项目)
手把手实现tcp/ip用户态协议栈,帮你实践网络知识(网络必备,面试项目)
|
XML 存储 JSON
【面试题精讲】序列化协议对应于 TCP/IP 4 层模型的哪一层?
【面试题精讲】序列化协议对应于 TCP/IP 4 层模型的哪一层?
|
1月前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
84 3
|
1月前
|
网络协议 安全 Go
Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
【10月更文挑战第28天】Go语言进行网络编程可以通过**使用TCP/IP协议栈、并发模型、HTTP协议等**方式
51 13
|
1月前
|
网络协议 算法 网络性能优化
计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议
计算机网络常见面试题(一):TCP/IP五层模型、应用层常见的协议、TCP与UDP的区别,TCP三次握手、四次挥手,TCP传输可靠性保障、ARQ协议、ARP协议
|
2月前
|
网络协议 算法 数据格式
【TCP/IP】UDP协议数据格式和报文格式
【TCP/IP】UDP协议数据格式和报文格式
163 3
|
2月前
|
XML JSON 网络协议
【TCP/IP】自定义应用层协议,常见端口号
【TCP/IP】自定义应用层协议,常见端口号
39 3
|
3月前
|
网络协议 网络架构 数据格式
TCP/IP基础:工作原理、协议栈与网络层
TCP/IP(传输控制协议/互联网协议)是互联网通信的基础协议,支持数据传输和网络连接。本文详细阐述了其工作原理、协议栈构成及网络层功能。TCP/IP采用客户端/服务器模型,通过四个层次——应用层、传输层、网络层和数据链路层,确保数据可靠传输。网络层负责IP寻址、路由选择、分片重组及数据包传输,是TCP/IP的核心部分。理解TCP/IP有助于深入掌握互联网底层机制。
547 2
|
7月前
|
网络协议 安全 网络安全
网络 (TCP/IP 四层协议中常见网络协议)
网络 (TCP/IP 四层协议中常见网络协议)
98 7