来源:blog.csdn.net/daocaokafei/article/details/116176790根据2020年上半年中国互联网网络安全监测数据分析报告,恶意程序控制服务器、拒绝服务攻击(DDoS)等网络攻击有增无减。如今,网络攻击已经成为影响网络信息安全和企业信息安全的主要因素之一。网络攻击是指利用网络中的漏洞和安全缺陷,对网络系统的软件、硬件和系统数据进行攻击的行为。TCP/IP协议作为网络的基础协议,从设计之初就没有考虑到网络会面临如此多的威胁,从而产生了众多的攻击手段。由于网络中的通信都源于数据包,通过对数据包的自动采集、解码和分析,可以快速发现和追踪网络攻击。TCP/IP协议业界通常将TCP/IP协议栈分为四层:链路层、网络层、传输层和应用层。链路层主要用于处理数据在物理介质(如以太网、令牌环等)上的传输,实现网卡接口的网络驱动;网络层采用IP协议,是整个协议栈的核心,主要功能是对数据进行路由和数据包的转发,实现互联网互联和拥塞控制等;传输层为主机之间的应用程序提供端到端的通信,该层定义了两种协议,即TCP和UDP;应用层的主要功能是处理应用程序该层的逻辑,如文件传输、名称查询和网络管理等。该层的协议包括基于TCP协议的FTP文件传输协议、HTTP超文本传输??协议和基于UDP协议的域名服务DNS。TCP/IP协议模型层次结构图由于TCP/IP协议有四层,每一层的功能和协议不同,因此针对不同协议层的攻击方式也不同:针对链路层的攻击主要是对硬件和基础设施进行物理破坏或强行改变路由器路由;IP协议和ARP协议是网络层最重要的两个协议。网络层的攻击主要有IP分片攻击、ARP欺骗等,它们是传输层最重要的两个协议,所以针对传输层的攻击也很多,包括DOS攻击等;而应用层协议在整个协议栈中是最多的,所以针对这一层的攻击数量非常多,比如DNS欺骗等。ARP攻击ARP(AddressResolutionProtocol,地址解析协议),将网络主机的IP地址解析成MAC地址。每个主机设备都有一个ARP缓存(ARPCache),然后通过查看自己的ARP缓存来判断(如果有则直接映射,如果没有则广播ARP请求包);然后检查数据包中的目标IP地址是否和自己的IP地址一致,如果一致就发送ARP响应通知MAC地址;当源节点在收到ARP响应包后,可以将获取到的目标主机IP地址和MAC地址对映射表项添加到自己的ARP缓存中。ARP协议的工作原理ARP攻击是通过伪造IP地址和MAC地址实现ARP欺骗。攻击者通过在网络中制造大量的ARP流量来阻断网络,只要不断发出伪造的ARP响应包,攻击者就可以改变目标主机。ARP缓存中的IP-MAC表项会导致网络中断或中间人攻击,因此ARP攻击通常称为ARP欺骗。ARP攻击虽然只能在以太网上进行,门槛很低,但是影响很大,比如断网攻击、流量限制、账号盗用等。网络运维可以采用ARP防御机制,比如在交换机上部署网络镜像,抓取可疑数据包进行分析,或者结合DHCPsnooping、IP源保护等技术维护网络安全。DoS攻击TCP协议是一种基于流的、面向连接的、可靠的通信方式,可以减少网络不好时由于重传造成的系统带宽开销。具体来说,一个TCP连接的建立需要经过三个步骤,每个步骤同时连接发送方和接收方,俗称“三次握手”:发送方发送一个SYN包,进入SYN_SENT状态,表示要连接的服务器端口和初始序号,等待接收端的确认;接收端收到SYN包,发送SYN_ACK,确认发送端,进入SYN_RECV状态;发送端收到SYN_ACK包,向接收端发送ACK,双方连接建立。TCP的三次握手由于TCP协议是面向连接的传输控制协议,DoS攻击的主要目的是使用户主机或网络无法接收或处理外部请求。例如,通过制造大量无用数据流,造成网络拥塞,使被攻击主机无法与外界通信;利用重复连接缺陷,重复发送重复的服务请求,使其无法正常处理其他请求;或利用协议缺陷,重复发送攻击数据,占用主机或系统资源,造成死机等。简单来说,DoS(拒绝服务)攻击通常是用数据包淹没本地系统,扰乱或严重阻碍愿意响应外部合法请求的本地服务,导致本地系统崩溃。SYN洪水攻击是最常见的DoS攻击类型。攻击者伪装自己的IP源地址,向本地系统发送TCP连接请求;本地系统向欺骗地址回复SYN-ACK,导致本地系统收不到RST报文和ACK响应,会一直保持半连接状态,直到Resources耗尽。攻击者以比TCP超时更快的速度发送连接请求以释放资源,并使用重复的连接请求来阻止本地服务接收其他连接。解决SYNflood最好的方法就是做好防范策略,通过网络性能管理工具,自动过滤可疑数据包,缩短SYNTimeout时间,设置SYNCookie,为每个请求设置Cookie,如果在接收到某个IP短时间内重复SYN包,认为是攻击,IP地址被丢弃。DNS攻击IP协议需要依赖IP地址和IP路由器才能将数据包从原始设备传输到目的设备。IP地址是机器语言,通常很长,所以IP地址虽然唯一,但不方便记忆和使用,于是人们在此基础上发明了DNS。DNS(DomainNameSystem)即域名系统。域名通常很短,既可读又实用。因为域名和IP地址是一一对应的关系,所以在上网时,只需要在地址栏输入域名,系统会直接解析域名并将域名翻译成一个IP地址。域名搜索完成后,域名服务器会保存域名记录,每条记录都会包含域名和IP地址。如果人为修改域名服务器的地址,则可以人为操纵用户的访问地址。这种行为被称为“域名劫持”。“域名劫持”的始作俑者是域名服务器提供商,因此解决这一问题的有效途径是放弃或更换域名服务器。除了“域名劫持”之外,还有一种常见的DNS攻击称为“域名污染”或“域名欺骗”。当计算机向域名服务器发送“域名查询”时,域名服务器会将响应返回给计算机。发送请求和接收信息是一个过程,中间会有时间差。网络攻击会在电脑收到信息之前伪造一个错误响应,那么这个信息就是错误的IP。面对网络攻击,除了提高安全意识,积极负责地维护系统,加强防火墙设置外,我们还可以通过分析数据包来追踪网络攻击。通过对网络数据的采集、解码和分析,掌握网络最细微的变化,针对网络攻击的特征值或行为配置有效的告警信息,可以快速定位网络中的攻击行为。也可以使用具有安全保护功能的网络性能管理工具,如天丹网络性能管理NPM,支持自动分析TCP端口扫描、ARP攻击、DOS攻击等可疑数据包,实现自动告警,确保正常传输数据信息和使用。近期热点文章推荐:1.1000+Java面试题及答案(2022最新版)2.厉害了!Java协程来了。..3.SpringBoot2.x教程,太全面了!4.不要用爆破爆满画面,试试装饰者模式,这才是优雅的方式!!5.《Java开发手册(嵩山版)》最新发布,赶快下载吧!感觉不错,别忘了点赞+转发!
