全国最大诚信黑客接单

网站入侵,红包控制,密码破解,木马制作,app作弊程序开发

三次握手黑客攻击案例(tcp握手攻击)

本文目录一览:

DDoS的原理及危害

DDoS:拒绝服务攻击的目标大多采用包括以SYNFlood和PingFlood为主的技术,其主要方式是通过使关键系统资源过载,如目标网站的通信端口与记忆缓冲区溢出,导致网络或服务器的资源被大量占用,甚至造成网络或服务器的全面瘫痪,而达到阻止合法信息上链接服务要求的接收。形象的解释是,DDoS攻击就好比电话点歌的时候,从各个角落在同一时间有大量的电话挂入点播台,而点播台的服务能力有限,这时出现的现象就是打电话的人只能听到电话忙音,意味着点播台无法为听众提供服务。这种类型的袭击日趋增多,因为实施这种攻击的方法与程序源代码现已在黑客网站上公开。另外,这种袭击方法非常难以追查,因为他们运用了诸如IP地址欺骗法之类所谓网上的“隐身技术”,而且现在互联网服务供应商(ISP)的过剩,也使作恶者很容易得到IP地址。拒绝服务攻击的一个最具代表性的攻击方式是分布式拒绝服务攻击(DistributedDenialofService,DDoS),它是一种令众多的互联网服务提供商和各国政府非常头疼的黑客攻击方法,最早出现于1999年夏天,当时还只是在黑客站点上进行的一种理论上的探讨。从2000年2月开始,这种攻击方法开始大行其道,在2月7日到11日的短短几天内,黑客连续攻击了包括Yahoo,Buy.com,eBay,Amazon,CNN等许多知名网站,致使有的站点停止服务达几个小时甚至几十个小时之久。国内的新浪等站点也遭到同样的攻击,这次的攻击浪潮在媒体上造成了巨大的影响,以至于美国总统都不得不亲自过问。

分布式拒绝服务攻击采用了一种比较特别的体系结构,从许多分布的主机同时攻击一个目标。从而导致目标瘫痪。目前所使用的入侵监测和过滤方法对这种类型的入侵都不起作用。所以,对这种攻击还不能做到完全防止。

DDoS通常采用一种跳台式三层结构。如图10—7所示:图10—7最下层是攻击的执行者。这一层由许多网络主机构成,其中包括Unix,Linux,Mac等各种各样的操作系统。攻击者通过各种办法获得主机的登录权限,并在上面安装攻击器程序。这些攻击器程序中一般内置了上面一层的某一个或某几个攻击服务器的地址,其攻击行为受到攻击服务器的直接控制。

攻击服务器。攻击服务器的主要任务是将控制台的命令发布到攻击执行器上。

这些服务器与攻击执行器一样,安装在一些被侵入的无关主机上。

攻击主控台。攻击主控台可以是网络上的任何一台主机,甚至可以是一个活动的便携机。它的作用就是向第二层的攻击服务器发布攻击命令。

有许多无关主机可以支配是整个攻击的前提。当然,这些主机与目标主机之间的联系越紧密,网络带宽越宽,攻击效果越好。通常来说,至少要有数百台甚至上千台主机才能达到满意的效果。例如,据估计,攻击Yahoo!站点的主机数目达到了3000台以上,而网络攻击数据流量达到了1GB秒。通常来说,攻击者是通过常规方法,例如系统服务的漏洞或者管理员的配置错误等方法来进入这些主机的。一些安全措施较差的小型站点以及单位中的服务器往往是攻击者的首选目标。这些主机上的系统或服务程序往往得不到及时更新,从而将系统暴露在攻击者面前。在成功侵入后,攻击者照例要安装一些特殊的后门程序,以便自己以后可以轻易进入系统,随着越来越多的主机被侵入,攻击者也就有了更大的舞台。他们可以通过网络监听等方法进一步扩充被侵入的主机群。

黑客所作的第二步是在所侵入的主机上安装攻击软件。这里,攻击软件包括攻击服务器和攻击执行器。其中攻击服务器仅占总数的很小一部分,一般只有几台到几十台左右。设置攻击服务器的目的是隔离网络联系,保护攻击者,使其不会在攻击进行时受到监控系统的跟踪,同时也能够更好的协调进攻。因为攻击执行器的数目太多,同时由一个系统来发布命令会造成控制系统的网络阻塞,影响攻击的突然性和协同性。而且,流量的突然增大也容易暴露攻击者的位置和意图。剩下的主机都被用来充当攻击执行器。执行器都是一些相对简单的程序,它们可以连续向目标发出大量的链接请求而不作任何回答。现在已知的能够执行这种任务的程序主要包括trin00,TFN(TribeFloodNetwork)、randomizer以及它们的一些改进版本,如TFN2k等。

黑客所作的最后一步,就是从攻击控制台向各个攻击服务器发出对特定目标的攻击命令。由于攻击主控台的位置非常灵活,而且发布命令的时间很短,所以非常隐蔽,难以定位。一旦攻击的命令传送到服务器,主控台就可以关闭或脱离网络,以逃避追踪。接着,攻击服务器将命令发布到各个攻击器。在攻击器接到攻击命令后,就开始向目标主机发出大量的服务请求数据包,这些数据包经过伪装,无法识别它的来源。而且,这些数据包所请求的服务往往要消耗较大的系统资源,如CPU或网络带宽。如果数百台甚至上千台攻击器同时攻击一个目标,就会导致目标主机网络和系统资源的耗尽,从而停止服务。有时,甚至会导致系统崩溃。另外,这样还可以阻塞目标网络的防火墙和路由器等网络设备,进一步加重网络拥塞状况。这样,目标主机根本无法为用户提供任何服务。攻击者所用的协议都是一些非常常见的协议和服务。这样,系统管理员就难于区分恶意请求和正常链接请求,从而无法有效分离出攻击数据包。

除了上述类型的攻击以外,其他种类的拒绝服务袭击有,从电脑中删除启动文件,使之无法启动,或删除某个网络服务器的网页等。为什么有人要发起这种类型的袭击呢?因为他们所闯入的服务器并没有什么秘密数据。其实,这种袭击也是出于各种原因,有政治的,不正当商业竞争为原因的、也有的是作为一种大规模袭击的一个组成部分。比如,巴勒斯坦的黑客为了抗议以色列的犹太人政权而发起的对以色列政府网站的攻击;某恶意电子商务网站为争夺客户而发起的针对竞争对手的拒绝服务攻击。拒绝服务袭击也可以用来关闭某位黑客想要欺诈的服务器。比如,黑客可能会为了获得客户PIN码或信用卡号码而对一家银行的服务器进行攻击等,这类袭击是“比其他类型的袭击要突出得多的、最普遍的安全隐患”。当然,这种袭击的主要损失是系统不能正常运行而耽误的时间,而且系统很容易就可以通过重新启动的方式而恢复运行。然而,任何注重品牌声誉的企业都明白,在互联网世界中,品牌声誉可能会因一次安全性攻击而毁于一旦,因此,黑客攻击行为(尤其是拒绝服务攻击)已成为当今企业所面临的最大威胁中的一部分。

一个企业的网上服务即使没有遭到拒绝服务的攻击,它还会面临另外一种风险,即成为攻击者的跳台的危险。在实际发生的大规模拒绝服务攻击的案例当中,往往是那些网络安全管理不严格的企业或组织的系统,被黑客侵入,在系统内被植入攻击时使用的黑客程序。而攻击犯罪发生以后,由于黑客的消踪灭迹的手段很高明,所以最后被侦破机关追索到的攻击源往往是那些成为攻击跳台的网络。虽然,企业本身没有遭到损失,但是由于成为攻击跳台,而带来的合作伙伴的疑虑和商业信用的损失却是无法估计的。

9计算机网络道德问题:黑客有哪些常见的攻击手段?如何防范黑客?

目前造成网络不安全的主要因素是系统、协议及数据库等的设计上存在缺陷。由于当今的计算机网络操作系统在本身结构设计和代码设计时偏重考虑系统使用时的方便性,导致了系统在远程访问、权限控制和口令管理等许多方面存在安全漏洞。网络互连一般采用TCP/IP协议,它是一个工业标准的协议簇,但该协议簇在制订之初,对安全问题考虑不多,协议中有很多的安全漏洞。同样,数据库管理系统(DBMS)也存在数据的安全性、权限管理及远程访问等方面问题,在DBMS或应用程序中可以预先安置从事情报收集、受控激发、定时发作等破坏程序。

由此可见,针对系统、网络协议及数据库等,无论是其自身的设计缺陷,还是由于人为的因素产生的各种安全漏洞,都可能被一些另有图谋的黑客所利用并发起攻击。因此若要保证网络安全、可靠,则必须熟知黑客网络攻击的一般过程。只有这样方可在黒客攻击前做好必要的防备,从而确保网络运行的安全和可靠。

一、黑客攻击网络的一般过程

1、信息的收集

信息的收集并不对目标产生危害,只是为进一步的入侵提供有用信息。黑客可能会利用下列的公开协议或工具,收集驻留在网络系统中的各个主机系统的相关信息:

(1)TraceRoute程序 能够用该程序获得到达目标主机所要经过的网络数和路由器数。

(2)SNMP协议 用来查阅网络系统路由器的路由表,从而了解目标主机所在网络的拓扑结构及其内部细节。

(3)DNS服务器 该服务器提供了系统中可以访问的主机IP地址表和它们所对应的主机名。

(4)Whois协议 该协议的服务信息能提供所有有关的DNS域和相关的管理参数。

(5)Ping实用程序 可以用来确定一个指定的主机的位置或网线是否连通。

2、系统安全弱点的探测

在收集到一些准备要攻击目标的信息后,黑客们会探测目标网络上的每台主机,来寻求系统内部的安全漏洞,主要探测的方式如下:

(1)自编程序 对某些系统,互联网上已发布了其安全漏洞所在,但用户由于不懂或一时疏忽未打上网上发布的该系统的“补丁”程序,那么黒客就可以自己编写一段程序进入到该系统进行破坏。

(2)慢速扫描 由于一般扫描侦测器的实现是通过监视某个时间段里一台特定主机发起的连接的数目来决定是否在被扫描,这样黑客可以通过使用扫描速度慢一些的扫描软件进行扫描。

(3)体系结构探测 黑客利用一些特殊的数据包传送给目标主机,使其作出相对应的响应。由于每种操作系统的响应时间和方式都是不一样的,黒客利用这种特征把得到的结果与准备好的数据库中的资料相对照,从中便可轻而易举地判断出目标主机操作系统所用的版本及其他相关信息。

(4)利用公开的工具软件 像审计网络用的安全分析工具SATAN、Internet的电子安全扫描程序IIS等一些工具对整个网络或子网进行扫描,寻找安全方面的漏洞。

3、建立模拟环境,进行模拟攻击

根据前面两小点所得的信息,建立一个类似攻击对象的模拟环境,然后对此模拟目标进行一系列的攻击。在此期间,通过检查被攻击方的日志,观察检测工具对攻击的反应,可以进一步了解在攻击过程中留下的“痕迹”及被攻击方的状态,以此来制定一个较为周密的攻击策略。

4、具体实施网络攻击

入侵者根据前几步所获得的信息,同时结合自身的水平及经验总结出相应的攻击方法,在进行模拟攻击的实践后,将等待时机,以备实施真正的网络攻击。

二、协议欺骗攻击及其防范措施

1、源IP地址欺骗攻击

许多应用程序认为若数据包可以使其自身沿着路由到达目的地,并且应答包也可回到源地,那么源IP地址一定是有效的,而这正是使源IP地址欺骗攻击成为可能的一个重要前提。

假设同一网段内有两台主机A和B,另一网段内有主机X。B 授予A某些特权。X 为获得与A相同的特权,所做欺骗攻击如下:首先,X冒充A,向主机 B发送一个带有随机序列号的SYN包。主机B响应,回送一个应答包给A,该应答号等于原序列号加1。然而,此时主机A已被主机X利用拒绝服务攻击 “淹没”了,导致主机A服务失效。结果,主机A将B发来的包丢弃。为了完成三次握手,X还需要向B回送一个应答包,其应答号等于B向A发送数据包的序列号加1。此时主机X 并不能检测到主机B的数据包(因为不在同一网段),只有利用TCP顺序号估算法来预测应答包的顺序号并将其发送给目标机B。如果猜测正确,B则认为收到的ACK是来自内部主机A。此时,X即获得了主机A在主机B上所享有的特权,并开始对这些服务实施攻击。

要防止源IP地址欺骗行为,可以采取以下措施来尽可能地保护系统免受这类攻击:

(1)抛弃基于地址的信任策略 阻止这类攻击的一种十分容易的办法就是放弃以地址为基础的验证。不允许r类远程调用命令的使用;删除.rhosts 文件;清空/etc/hosts.equiv 文件。这将迫使所有用户使用其它远程通信手段,如telnet、ssh、skey等等。

(2)使用加密方法 在包发送到 网络上之前,我们可以对它进行加密。虽然加密过程要求适当改变目前的网络环境,但它将保证数据的完整性、真实性和保密性。

(3)进行包过滤 可以配置路由器使其能够拒绝网络外部与本网内具有相同IP地址的连接请求。而且,当包的IP地址不在本网内时,路由器不应该把本网主机的包发送出去。有一点要注意,路由器虽然可以封锁试图到达内部网络的特定类型的包。但它们也是通过分析测试源地址来实现操作的。因此,它们仅能对声称是来自于内部网络的外来包进行过滤,若你的网络存在外部可信任主机,那么路由器将无法防止别人冒充这些主机进行IP欺骗。

2、源路由欺骗攻击

在通常情况下,信息包从起点到终点所走的路是由位于此两点间的路由器决定的,数据包本身只知道去往何处,而不知道该如何去。源路由可使信息包的发送者将此数据包要经过的路径写在数据包里,使数据包循着一个对方不可预料的路径到达目的主机。下面仍以上述源IP欺骗中的例子给出这种攻击的形式:

主机A享有主机B的某些特权,主机X想冒充主机A从主机B(假设IP为aaa.bbb.ccc.ddd)获得某些服务。首先,攻击者修改距离X最近的路由器,使得到达此路由器且包含目的地址aaa.bbb.ccc.ddd的数据包以主机X所在的网络为目的地;然后,攻击者X利用IP欺骗向主机B发送源路由(指定最近的路由器)数据包。当B回送数据包时,就传送到被更改过的路由器。这就使一个入侵者可以假冒一个主机的名义通过一个特殊的路径来获得某些被保护数据。

为了防范源路由欺骗攻击,一般采用下面两种措施:

· 对付这种攻击最好的办法是配置好路由器,使它抛弃那些由外部网进来的却声称是内部主机的报文。

· 在路由器上关闭源路由。用命令no ip source-route。

三、拒绝服务攻击及预防措施

在拒绝服务攻击中,攻击者加载过多的服务将对方资源全部使用,使得没有多余资源供其他用户无法使用。SYN Flood攻击是典型的拒绝服务攻击。

SYN Flood常常是源IP地址欺骗攻击的前奏,又称半开式连接攻击,每当我们进行一次标准的TCP连接就会有一个三次握手的过程,而SYN Flood在它的实现过程中只有三次握手的前两个步骤,当服务方收到请求方的SYN并回送SYN-ACK确认报文后,请求方由于采用源地址欺骗等手段,致使服务方得不到ACK回应,这样,服务方会在一定时间内处于等待接收请求方ACK报文的状态,一台服务器可用的TCP连接是有限的,如果恶意攻击方快速连续的发送此类连接请求,则服务器的系统可用资源、网络可用带宽急剧下降,将无法向其它用户提供正常的网络服务。

为了防止拒绝服务攻击,我们可以采取以下的预防措施:

(1) 建议在该网段的路由器上做些配置的调整,这些调整包括限制Syn半开数据包的流量和个数。

(2)要防止SYN数据段攻击,我们应对系统设定相应的内核参数,使得系统强制对超时的Syn请求连接数据包复位,同时通过缩短超时常数和加长等候队列使得系统能迅速处理无效的Syn请求数据包。

(3)建议在路由器的前端做必要的TCP拦截,使得只有完成TCP三次握手过程的数据包才可进入该网段,这样可以有效地保护本网段内的服务器不受此类攻击。

(4)对于信息淹没攻击,我们应关掉可能产生无限序列的服务来防止这种攻击。比如我们可以在服务器端拒绝所有的ICMP包,或者在该网段路由器上对ICMP包进行带宽方面的限制,控制其在一定的范围内。

总之,要彻底杜绝拒绝服务攻击,最好的办法是惟有追根溯源去找到正在进行攻击的机器和攻击者。 要追踪攻击者可不是一件容易的事情,一旦其停止了攻击行为,很难将其发现。惟一可行的方法是在其进行攻击的时候,根据路由器的信息和攻击数据包的特征,采用逐级回溯的方法来查找其攻击源头。这时需要各级部门的协同配合方可有效果。

四、其他网络攻击行为的防范措施

协议攻击和拒绝服务攻击是黑客惯于使用的攻击方法,但随着网络技术的飞速发展,攻击行为千变万化,新技术层出不穷。下面将阐述一下网络嗅探及缓冲区溢出的攻击原理及防范措施。

1、针对网络嗅探的防范措施

网络嗅探就是使网络接口接收不属于本主机的数据。计算机网络通常建立在共享信道上,以太网就是这样一个共享信道的网络,其数据报头包含目的主机的硬件地址,只有硬件地址匹配的机器才会接收该数据包。一个能接收所有数据包的机器被称为杂错节点。通常账户和口令等信息都以明文的形式在以太网上传输,一旦被黑客在杂错节点上嗅探到,用户就可能会遭到损害。

对于网络嗅探攻击,我们可以采取以下措施进行防范:

(1)网络分段 一个网络段包括一组共享低层设备和线路的机器,如交换机,动态集线器和网桥等设备,可以对数据流进行限制,从而达到防止嗅探的目的。

(2)加密 一方面可以对数据流中的部分重要信息进行加密,另一方面也可只对应用层加密,然而后者将使大部分与网络和操作系统有关的敏感信息失去保护。选择何种加密方式这就取决于信息的安全级别及网络的安全程度。

(3)一次性口令技术 口令并不在网络上传输而是在两端进行字符串匹配,客户端利用从服务器上得到的Challenge和自身的口令计算出一个新字符串并将之返回给服务器。在服务器上利用比较算法进行匹配,如果匹配,连接就允许建立,所有的Challenge和字符串都只使用一次。

(4)禁用杂错节点 安装不支持杂错的网卡,通常可以防止IBM兼容机进行嗅探。

2、缓冲区溢出攻击及其防范措施

缓冲区溢出攻击是属于系统攻击的手段,通过往程序的缓冲区写超出其长度的内容,造成缓冲区的溢出,从而破坏程序的堆栈,使程序转而执行其它指令,以达到攻击的目的。当然,随便往缓冲区中填东西并不能达到攻击的目的。最常见的手段是通过制造缓冲区溢出使程序运行一个用户shell,再通过shell执行其它命令。如果该程序具有root权限的话,攻击者就可以对系统进行任意操作了。

缓冲区溢出对网络系统带来了巨大的危害,要有效地防止这种攻击,应该做到以下几点:

(1)程序指针完整性检查 在程序指针被引用之前检测它是否改变。即便一个攻击者成功地改变了程序的指针,由于系统事先检测到了指针的改变,因此这个指针将不会被使用。

(2)堆栈的保护 这是一种提供程序指针完整性检查的编译器技术,通过检查函数活动记录中的返回地址来实现。在堆栈中函数返回地址后面加了一些附加的字节,而在函数返回时,首先检查这个附加的字节是否被改动过。如果发生过缓冲区溢出的攻击,那么这种攻击很容易在函数返回前被检测到。但是,如果攻击者预见到这些附加字节的存在,并且能在溢出过程中同样地制造他们,那么他就能成功地跳过堆栈保护的检测。

(3)数组边界检查 所有的对数组的读写操作都应当被检查以确保对数组的操作在正确的范围内进行。最直接的方法是检查所有的数组操作,通常可以采用一些优化技术来减少检查次数。目前主要有这几种检查方法:Compaq C编译器、Jones Kelly C数组边界检查、Purify存储器存取检查等。

未来的竞争是信息竞争,而网络信息是竞争的重要组成部分。其实质是人与人的对抗,它具体体现在安全策略与攻击策略的交锋上。为了不断增强信息系统的安全防御能力,必须充分理解系统内核及网络协议的实现,真正做到洞察对方网络系统的“细枝末节”,同时应该熟知针对各种攻击手段的预防措施,只有这样才能尽最大可能保证网络的安全。

简述dos是利用了tcp协议中的哪次握手进行攻击的?

拒绝服务攻击即攻击者想办法让目标机器停止提供服务或资源访问,是黑客常用的攻击手段之一。这些资源包括磁盘空间、内存、进程甚至网络带宽,从而阻止正常用户的访问。其实对网络带宽进行的消耗性攻击只是拒绝服务攻击的一小部分,只要能够对目标造成麻烦,使某些服务被暂停甚至主机死机,都属于拒绝服务攻击。拒绝服务攻击问题也一直得不到合理的解决,究其原因是因为这是由于网络协议本身的安全缺陷造成的,从而拒绝服务攻击也成为了攻击者的终极手法。攻击者进行拒绝服务攻击,实际上让服务器实现两种效果:一是迫使服务器的缓冲区满,不接收新的请求;二是使用IP欺骗,迫使服务器把合法用户的连接复位,影响合法用户的连接。

拒绝服务攻击的原理

1.SYN Foold

SYN Flood是当前最流行的DoS(拒绝服务攻击)与DDoS(Distributed Denial Of Service分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,使被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。

SYN Flood攻击的过程在TCP协议中被称为三次握手(Three-way Handshake),而SYN Flood拒绝服务攻击就是通过三次握手而实现的。

(1) 攻击者向被攻击服务器发送一个包含SYN标志的TCP报文,SYN(Synchronize)即同步报文。同步报文会指明客户端使用的端口以及TCP连接的初始序号。这时同被攻击服务器建立了第一次握手。

(2) 受害服务器在收到攻击者的SYN报文后,将返回一个SYN+ACK的报文,表示攻击者的请求被接受,同时TCP序号被加一,ACK(Acknowledgment)即确认,这样就同被攻击服务器建立了第二次握手。

(3) 攻击者也返回一个确认报文ACK给受害服务器,同样TCP序列号被加一,到此一个TCP连接完成,三次握手完成。

具体原理是:TCP连接的三次握手中,假设一个用户向服务器发送了SYN报文后突然死机或掉线,那么服务器在发出SYN+ACK应答报文后是无法收到客户端的ACK报文的(第三次握手无法完成),这种情况下服务器端一般会重试(再次发送SYN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接。这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒~2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况(伪造IP地址),服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源。即使是简单的保存并遍历也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃—— 即使服务器端的系统足够强大,服务器端也将忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求(毕竟客户端的正常请求比率非常之小),此时从正常客户的角度看来,服务器失去响应,这种情况就称作:服务器端受到了SYN Flood攻击(SYN洪水攻击)。

2.IP欺骗DOS攻击

这种攻击利用RST位来实现。假设现在有一个合法用户(61.61.61.61)已经同服务器建立了正常的连接,攻击者构造攻击的TCP数据,伪装自己的IP为61.61.61.61,并向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从61.61.61.61发送的连接有错误,就会清空缓冲区中建立好的连接。这时,如果合法用户61.61.61.61再发送合法数据,服务器就已经没有这样的连接了,该用户就必须从新开始建立连接。攻击时,攻击者会伪造大量的IP地址,向目标发送RST数据,使服务器不对合法用户服务,从而实现了对受害服务器的拒绝服务攻击。

所谓的黑客攻防是通过什么实现的呢?

黑客攻防:攻击基本原理与防范技术据统计,在所有黑客攻击事件中,SYN攻击是最常见又最容易被利用的一种攻击手法。相信很多人还记得2000年YAHOO网站遭受的攻击事例,当时黑客利用的就是简单而有效的SYN攻击,有些网络蠕虫病毒配合SYN攻击造成更大的破坏。本文介绍SYN攻击的基本原理、工具及检测方法,并全面探讨SYN攻击防范技术。

中文名

黑客攻防

外文名

Hacker attack and defense

介绍

SYN攻击基本原理工具及检测方法

tcp握手协议

采用三次握手建立一个连接

在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:

未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。

Backlog参数:表示未连接队列的最大容纳数目。

SYN-ACK 重传次数 服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。注意,每次重传等待的时间不一定相同。

半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。有时我们也称半连接存活时间为Timeout时间、SYN_RECV存活时间。

SYN攻击原理

SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。从上图可看到,服务器接收到连接请求(syn=j),将此信息加入未连接队列,并发送请求包给客户(syn=k,ack=j+1),此时进入SYN_RECV状态。当服务器未收到客户端的确认包时,重发请求包,一直到超时,才将此条目从未连接队列删除。配合IP欺骗,SYN攻击能达到很好的效果,通常,客户端在短时间内伪造大量不存在的IP地址,向服务器不断地发送syn包,服务器回复确认包,并等待客户的确认,由于源地址是不存在的,服务器需要不断的重发直至超时,这些伪造的SYN包将长时间占用未连接队列

  • 评论列表:
  •  美咩清晓
     发布于 2022-07-05 10:53:11  回复该评论
  • YN+ACK给客户端)并等待一段时间后丢弃这个未完成的连接。这段时间的长度我们称为SYN Timeout,一般来说这个时间是分钟的数量级(大约为30秒~2分钟);一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况(伪造IP地址),
  •  冬马馥妴
     发布于 2022-07-05 15:15:33  回复该评论
  • ce分布式拒绝服务攻击)的方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,使被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。 SYN Flood攻击的过程在TCP协议中被称为
  •  听弧山柰
     发布于 2022-07-05 19:17:25  回复该评论
  • 协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TC

发表评论:

Powered By

Copyright Your WebSite.Some Rights Reserved.