常见 *** 攻击手段及原理分析_ *** 攻击协议分析

hacker|
278

tcp/ip常见攻击方式

常见 TCP/IP 协议攻击 *** 分析

2.1 IP 欺骗( IP Spoofing)

IP 欺骗是指一个攻击者假冒一个主机或合法用户的 IP 地址,利用两个主机之间的信任关系来达到攻击的目的,而这种信任关系只是根据源 IP 地址来确定。所谓信任关系是指当主机 B 信任主机 A 上的 X用户时,只要 X 在 A 上登录, X 用户就可以直接登录到主机 B 上,而不需要任何口令。

IP 欺骗通常需要攻击者能构造各种形式 IP 数据包,用虚假的源 IP 地址替代自己的真实 IP 地址。如果主机之间存在基于 IP 地址的信任关系,目标主机无法检测出已经被欺骗。

防范措施

各个 *** ISP 应该限制源地址为外部地址的 IP 数据包进入互联网

合理的配置防火墙,限制数据包的源地址为内部 *** 的数据包进入 *** 。

2.2 TCP 会话劫持 (TCP sessJOn hijacking)

TCP 会话劫持跳过连接过程.对一个已经建立的连接进行攻击。攻击者与被假冒主机和目标主机之一在同一个子网中,攻击者通过一个嗅探程序可以看到被假冒主机和目标主机之间通信的数据包。

攻击者看到被假冒主机和目标主机建立一个连接并进行身份认证后,通过对数据包捕获和进行分析,就可以得到连接的序列号。

一旦得到正确的序列号就可以发送一个假冒的 TCP 分段,接管已经建立的连接。这样,被假冒主机发送的数据包都会被目标主机忽略,因为它们的序列号会被目标主机认为不正确。

防范措施

最主要的 *** 是在传输层对数据进行加密。

2.3 拒绝服务( Denial Of Service )

拒绝服务坷的目的就是使受害的服务器不能提供正常的 *** 服务。

2.3.1 SYN 淹没 (SYN Flooding)

当开放了一个TCP端口后,该端口就处于Listening状态,不停地监视发到该端口的Syn报文,一旦接收到Client发来的Syn报文,就需要为该请求分配一个TCB(Tran *** ission Control Block),通常一个TCB至少需要280个字节,在某些操作系统中TCB甚至需要1300个字节,并返回一个SYN ACK命令,立即转为SYN-RECEIVED即半开连接状态,而操作系统在SOCK的实现上最多可开启半开连接个数是一定的。

从以上过程可以看到,如果恶意的向某个服务器端口发送大量的SYN包,则可以使服务器打开大量的半开连接,分配TCB,从而消耗大量的服务器资源,同时也使得正常的连接请求无法被相应。而攻击发起方的资源消耗相比较可忽略不计。

防范措施

无效连接监视释放

这种 *** 不停监视系统的半开连接和不活动连接,当达到一定阈值时拆除这些连接,从而释放系统资源。这种 *** 对于所有的连接一视同仁,而且由于SYN Flood造成的半开连接数量很大,正常连接请求也被淹没在其中被这种方式误释放掉,因此这种 *** 属于入门级的SYN Flood *** 。

延缓TCB分配 ***

从前面SYN Flood原理可以看到,消耗服务器资源主要是因为当SYN数据报文一到达,系统立即分配TCB,从而占用了资源。而SYN Flood由于很难建立起正常连接,因此,当正常连接建立起来后再分配TCB则可以有效地减轻服务器资源的消耗。常见的 *** 是使用Syn Cache和Syn Cookie技术。

Syn Cache技术:

这种技术是在收到SYN数据报文时不急于去分配TCB,而是先回应一个SYN ACK报文,并在一个专用HASH表(Cache)中保存这种半开连接信息,直到收到正确的回应ACK报文再分配TCB。在FreeBSD系统中这种Cache每个半开连接只需使用160字节,远小于TCB所需的736个字节。在发送的SYN ACK中需要使用一个己方的Sequence Number,这个数字不能被对方猜到,否则对于某些稍微智能一点的Syn Flood攻击软件来说,它们在发送Syn报文后会发送一个ACK报文,如果己方的Sequence Number被对方猜测到,则会被其建立起真正的连接。因此一般采用一些加密算法生成难于预测的Sequence Number。

Syn Cookie技术:

对于SYN攻击,Syn Cache虽然不分配TCB,但是为了判断后续对方发来的ACK报文中的Sequence Number的正确性,还是需要使用一些空间去保存己方生成的Sequence Number等信息,也造成了一些资源的浪费。

Syn Cookie技术则完全不使用任何存储资源,这种 *** 比较巧妙,它使用一种特殊的算法生成Sequence Number,这种算法考虑到了对方的IP、端口、己方IP、端口的固定信息,以及对方无法知道而己方比较固定的一些信息,如MSS、时间等,在收到对方的ACK报文后,重新计算一遍,看其是否与对方回应报文中的(Sequence Number-1)相同,从而决定是否分配TCB资源。

*** 攻击的种类分析及防范策略总结怎么写

用特征进行检测。攻击工具有三个特点:反侦破,攻击者采用隐蔽攻击工具特性的技术,这使安全专家分析新攻击工具和了解新攻击行为所耗费的时间增多;动态行为,早期的攻击工具是以但已确定的顺序执行攻击步骤,今天的自动攻击工具可以根据随机选择、预先定义的决策路径或通过入侵者直接管理,来变化它们的模式和行为;攻击工具的成熟性,与早期的攻击工具不同,目前攻击工具可以通过升级或更换工具的一部分迅速变化,发动迅速变化的功绩,且在每一次攻击中会出现多种不同形态的攻击工具。

1.1发现安全漏洞越来越快

新发现的安全漏洞每年都要增加一倍,管理人员不断用最新的补丁修复这些漏洞,而且每年都会发现安全漏洞的新类型。入侵者经常能够在厂商修补这些漏洞前发现攻击目标。

1.2越来越高的防火墙渗透率

防火墙使人们牙防反入侵者的主要保护措施。但是越来越多的攻击技术可以绕过防火墙。例如,(IPP Internet打印协议)和WebDAV(基于Web的分布式创作与翻译)都可以被攻击者利用来绕过防火墙。

1.3 越来越不对称的威胁

Internet上的安全是相互依赖的。每个Internet系统遭受攻击的可能性取决于连接到全球Internet上其他系统的阿安全状态。由于攻击技术的进步,一个攻击者可以比较容易地利用分布式系统,对一个受害者发动破坏性的攻击。随着部署自动化程度和攻击工具管理技术的提高,威胁的不对称性将继续增加。

1.4 对基础设施将形成越来越大的威胁

基础设施攻击是大面积影响Internet关键组成部分的攻击。由于用户越来越多地依赖Internet完成日常业务,基础设施攻击引起人们越来越大的担心。基础设施面临分布式拒绝服务攻击、蠕虫病毒、对Internet域名系统DNS的攻击和对路由器攻击或利用路由器的攻击。

个人用户防护策略

针对一些常用的攻击 *** 、手段,个人用户有必要采取一些安全的防范措施,下面介绍一些可行的防范实例。

经常检查系统信息

上网过程中,如果感觉计算机有异常状态,如运行速度变慢,某些软件运行出错,不受控制等情况,应停下来检查一下系统运行状况。一是观看系统资源的使用状态,二是按“Ctrl+Alt+Del”复合键来查看系统正在运行的程序,看是否有其他程序在运行。如有自己部熟悉或自己并没有运行的程序在列表里面,应立即终止其运行,以防后患。

检测并清除木马程序

如果你的电脑一旦被人为诸如木马程序,就会被人操纵,以致出现死机,数据文件被删除等现象。这时候可以通过查看注册表,看注册表中\HKEY LOCAL MACHINE\HKEY.LOCAL_MACHINE\Softwere\Microsoft\Windows\CurrenVersion\kun下面类似Netspy.exe或空格.exe或其他可疑的文件名,如果有,则尽快闪出相应的键值,在查找到住在机内的相应的程序,并把它删除。

保护入网账号和口令

在Windows目录下经常有一些以“.pwl”为后追名的文件,这些文件作为密码保存之用,如开启Exchange电子信箱的密码、开机口令等信息就保存在以“.pwl”为后缀名的文件中。有些黑客可以运用一些专用软件来破解Windows95/98种的pwl文件,以很快的速度便可以直接读出pwl中的开机口令、用户名等加密数据信息。对于这种情况,最安全的 *** 是不用Windows95/98自动即以密码功能这一项,这样pwl文件中就没有任何加密信息流下,破解软件也无从下手。另外,对付这种情况也有较为直接的 *** ,就是经常删除这些以”.pwl”为后缀名的文件,以免将密码留在硬盘上。

保护好自己的IP地址

国内用户很多是通过163 *** 拨号的方式上网的,某些恶意破坏者往往通过跟踪上网账号并从用户信息中找IP,或者等待BBS、聊天室纪录的IP或者通过ICQ获取IP。为防止用户非法获取个人用户的IP地址信息,更好采用如下两种安全措施:一是使用 *** 服务器进行中转,这样用户上网是不需要真实的IP地址,别人也就无法获取自己的IP地址信息。二是注意避免在某些会显示IP的BBS和聊天室上暴露自己的IP地址。

屏蔽ActiveX控件

由于ActiveX控件可以被嵌入到HTML页面中,并下再到浏览器端加以执行,因此会给浏览器造成一定程度上的安全威胁。所以,用户如果要保证自己在因特网上的信息绝对安全,可以屏蔽掉这些可能对计算机安全构成威胁的ActiveX控件,具体操作步骤为:首先用鼠标单击菜单栏中的“工具”菜单项,并从下拉菜单中选择“Internet选项”:接着在选项设置框中选中“安全”标签,并单击标签中的“自定义级别”按钮:同时在打开的“安全设置”对话框中找到关于ActiveX控件的设置,然后选择“禁用”或“提示”。

使用“拨号后出现终端窗口”要小心

选中某一连接,单击鼠标右键,选“属性-常规-配置-选项-拨号后出现终端窗口”,然后拨号时,在拨号界面上不要填入用户名和密码(更不能选中“保存密码”项),在出现拨号终端口后再进行相应的输入,这可以避免用户名和密码被记录到硬盘上的密码文件中,同时,也可以避免某些黑客程序捕获用户名和密码。

拒绝“饼干”信息

许多网站会用不易觉察的技术,暗中搜集你填写的表格中的电子邮件地址信息,最常见的就是利用饼干程序(cookie)记录访客上网的浏览行为和习惯。如果你不想随便让饼干程序(cookie)来记录你个人的隐私信息,可以在浏览器中作一些必要的设置,要求浏览器在接受cookie之前提醒你,或者干脆拒绝它们。屏蔽cookie的操作步骤为:首先用鼠标单击菜单栏中的“工具”菜单项,并从下拉菜单中选择“Internet选项”:接着在选项设置框中选中“安全”标签,并单击标签中的“自定义级别”按钮:同时在打开的“安全设置”对话框中找到关于cookie的设置,然后选择“禁用:或“提示”即可。

不使用“MYDocuments”文件夹存放Word、Excel文件

Word、Excel默认的文件存放路径是根目录下的“MYDocuments”文件夹,在特洛伊木马把用户硬盘变成共享硬盘后,入侵者从这个目录中的文件名一眼就能看出这个用户是干什么的,这个目录几乎就是用户的特征标示,所以为安全起见应把工作路径改成别的目录,并且参差越深越好。

加密保护电子邮件

由于越来越多的人通过电子邮件进行重要的商务活动和发送机密信息,而且随着互联网的发展,这类应用会更加频繁。因此保证邮件的真实性和不被其他人截取和偷阅也变得越来越重要。所以,对于包含敏感信息的邮件,更好利用数字标示对你原写的邮件进行数字签名后再发送。所谓数字标示是指由独立的授权机构发放的证明你在Internet上的身份的证件,是你在因特网上的身份证。这些发证的商业机构将发放给你这个身份证并不断地效验其有效性。你首先向这些公司申请标示,然后就可以利用这个数字标示对自己的邮件进行数字签名,如果你获得了别人的数字标示,那么,你还可以跟他发送加密邮件。你通过对发送的邮件进行数字签名可以把你的数字标示发送给他人,这是他们收到的实际上是公用密钥,以后他们就可以通过这个公用密钥对发给你的邮件进行加密,你在使用私人密钥对加密邮件进行解密和阅读。在Outlook Eepress中可以通过数字签名来证明你的邮件身份,即让对方确信该有见是由你的机器发送的,它同时提供邮件加密功能使得你的邮件只有预定的接收者才能接收并阅读。但前提是你必须先获得对方的数字标示。数字标示的数字签名部分是你原电子身份卡,数字签名可使收件人确信又见是你发的,并且未被伪造或篡改过。从这些着手来写 就差不多了

*** 攻击的几种类型

*** 攻击(Cyber

Attacks,也称赛博攻击)是指针对计算机信息系统、基础设施、计算机 *** 或个人计算机设备的,任何类型的进攻动作。对于 计算机 和计算机 *** 来说,破坏、揭露、修改、使软件或服务失去功能、在没有得到授权的情况下偷取或访问任何一计算机的数据,都会被视为于计算机和计算机 *** 中的攻击。

*** 攻击的种类

1、主动攻击

主动攻击会导致某些数据流的篡改和虚假数据流的产生。这类攻击可分为篡改、伪造消息数据和终端(拒绝服务)。

(1)篡改消息

篡改消息是指一个合法消息的某些部分被改变、删除,消息被延迟或改变顺序,通常用以产生一个未授权的效果。如修改传输消息中的数据,将“允许甲执行操作”改为“允许乙执行操作”。

(2)伪造

伪造指的是某个实体(人或系统)发出含有其他实体身份信息的数据信息,假扮成其他实体,从而以欺骗方式获取一些合法用户的权利和特权。

(3)拒绝服务

拒绝服务即常说的DoS(Deny of Service),会导致对通讯设备正常使用或管理被无条件地中断。通常是对整个 *** 实施破坏,以达到降低性能、终端服务的目的。这种攻击也可能有一个特定的目标,如到某一特定目的地(如安全审计服务)的所有数据包都被阻止。

2、被动攻击

被动攻击中攻击者不对数据信息做任何修改,截取/窃听是指在未经用户同意和认可的情况下攻击者获得了信息或相关数据。通常包括窃听、流量分析、破解弱加密的数据流等攻击方式。

(1)流量分析

流量分析攻击方式适用于一些特殊场合,例如敏感信息都是保密的,攻击者虽然从截获的消息中无法的到消息的真实内容,但攻击者还能通过观察这些数据报的模式,分析确定出通信双方的位置、通信的次数及消息的长度,获知相关的敏感信息,这种攻击方式称为流量分析。

(2)窃听

窃听是最常用的手段。应用最广泛的局域网上的数据传送是基于广播方式进行的,这就使一台主机有可能受到本子网上传送的所有信息。而计算机的网卡工作在杂收模式时,它就可以将 *** 上传送的所有信息传送到上层,以供进一步分析。如果没有采取加密措施,通过协议分析,可以完全掌握通信的全部内容,窃听还可以用无限截获方式得到信息,通过高灵敏接受装置接收 *** 站点辐射的电磁波或 *** 连接设备辐射的电磁波,通过对电磁信号的分析恢复原数据信号从而获得 *** 信息。尽管有时数据信息不能通过电磁信号全部恢复,但可能得到极有价值的情报。

由于被动攻击不会对被攻击的信息做任何修改,留下痕迹很好,或者根本不留下痕迹,因而非常难以检测,所以抗击这类攻击的重点在于预防,具体措施包括虚拟专用网VPN,采用加密技术保护信息以及使用交换式 *** 设备等。被动攻击不易被发现,因而常常是主动攻击的前奏。

被动攻击虽然难以检测,但可采取措施有效地预防,而要有效地防止攻击是十分困难的,开销太大,抗击主动攻击的主要技术手段是检测,以及从攻击造成的破坏中及时地恢复。检测同时还具有某种威慑效应,在一定程度上也能起到防止攻击的作用。具体措施包括自动审计、入侵检测和完整性恢复等。

攻击的 *** 主要有:

[if !supportLists]·        [endif]口令入侵

[if !supportLists]·        [endif]特洛伊木马

[if !supportLists]·        [endif]WWW欺骗

[if !supportLists]·        [endif]电子邮件

[if !supportLists]·        [endif]节点攻击

[if !supportLists]·        [endif] *** 监听

[if !supportLists]·        [endif]黑客软件

[if !supportLists]·        [endif]安全漏洞

[if !supportLists]·        [endif]端口扫描

如何避免 *** 攻击呢,之一种是同源检测的 ***

服务器根据 http 请求头中 origin 或者referer 信息来判断请 求是否为允许访问的站点,从而对请求进行过滤。当 origin 或者 referer 信息都不存在的 时候,直接阻止。这种方式的缺点是有些情况下referer 可以被伪造。还有就是我们这种 *** 同时把搜索引擎的链接也给屏蔽了,所以一般网站会允许搜索引擎的页面请求,但是相应的页面 请求这种请求方式也可能被攻击者给利用。

第二种 *** 是使用 CSRF Token 来进行验证

服务器向用户返回一个随机数 Token ,当网站 再次发起请求时,在请求参数中加入服务器端返回的 token ,然后服务器对这个 token 进行 验证。这种 *** 解决了使用 cookie 单一验证方式时,可能会被冒用的问题,但是这种 *** 存在一个缺点就是,我们需要给网站中的所有请求都添加上这个 token,操作比较繁琐。还有一 个问题是一般不会只有一台网站服务器,如果我们的请求经过负载平衡转移到了其他的服务器,但是这个服务器的 session 中没有保留这个 token 的话,就没有办法验证了。这种情况我们可以通过改变 token 的构建方式来解决。

第三种方式使用双重 Cookie 验证的办法

服务器在用户访问网站页面时,向请求域名注入一个 Cookie,内容为随机字符串,然后当用户再次向服务器发送请求的时候,从cookie 中取出 这个字符串,添加到 URL 参数中,然后服务器通过对 cookie 中的数据和参数中的数据进行比 较,来进行验证。使用这种方式是利用了攻击者只能利用 cookie,但是不能访问获取 cookie 的特点。并且这种 *** 比 CSRF Token 的 *** 更加方便,并且不涉及到分布式访问的问题。这 种 *** 的缺点是如果网站存在 XSS 漏洞的,那么这种方式会失效。同时这种方式不能做到子域 名的隔离。

第四种方式Samesite Cookie

是使用在设置 cookie 属性的时候设置 Samesite限制 cookie 不能作为被第三 方使用,从而可以避免被攻击者利用。Samesite 一共有两种模式,一种是严格模式,在严格模式下 cookie 在任何情况下都不可能作为第三方 Cookie 使用,在宽松模式下,cookie 可以 被请求是 GET 请求,且会发生页面跳转的请求所使用。

Samesite Cookie 表示同站 cookie,避免 cookie 被第三方所利用。将 Samesite 设为 strict ,这种称为严格模式,表示这个 cookie 在任何情况下都不可能作 为第三方 cookie。将 Samesite 设为 Lax ,这种模式称为宽松模式,如果这个请求是个 GET 请求,并且这个请求改变了当前页面或者打开了新的页面,那么这个 cookie 可以作为第三方 cookie,其余情 况下都不能作为第三方 cookie。

使用这种 *** 的缺点是,因为它不支持子域,所以子域没有办法与主域共享登录信息,每次转入子域的网站,都回重新登录。还有一个问题就是它的兼容性不够好。

基于 *** 协议的攻击方式有哪些?如何防范

典型的互联网协议参考模型是OSI模型,把互联网通信功能划分为7个层次:物理层、数据链路层、 *** 层、传输层、会话层和应用层。

基于 *** 协议的攻击类型分为四类:

①针对数据链路层的攻击 如arp欺骗

②针对 *** 层的攻击 如Smurf攻击、ICMP路由欺骗

③针对传输层的攻击 如SYN洪水攻击、会话劫持

④ 针对应用层的攻击 如 DNS欺骗和窃取

【 *** 安全入门】 *** 攻击的种类主要分为哪些?

近年来,随着互联网的发展, *** 攻击事件频发,已泛滥成互联网行业的重病,受到了各个行业的关注与重视,因为它对 *** 安全乃至国家安全都形成了严重的威胁。面对复杂多样的 *** 攻击,想要有效防御就必须了解 *** 攻击的相关内容,那么 *** 攻击的种类主要分为哪两种?以下便是详细的内容介绍。

*** 攻击的种类主要分为主动攻击和被动攻击,接下来我们分别介绍一下。

主动攻击

主动攻击会导致某些数据流的篡改和虚假数据流的产生,这类攻击可分为篡改、伪造消息数据和终端。

①篡改消息

篡改消息是指一个合法消息的某些部分被改变、删除,消息被延迟或者改变顺序,通常用以产生一个未授权的效果。如修改传输消息中的数据,将允许甲执行操作改为允许乙执行操作。

②伪造

伪造指的是某个实体发出含有其他实体身份信息的数据信息,假扮成其他实体,从而以欺骗方式获取一些合法用户的权利和特权。

③拒绝服务

拒绝服务即常说的DoS,会导致对通讯设备正常使用或者管理被无条件地中断。通常是对整个 *** 实施破坏,以达到降低性能、终端服务的目的。这种攻击也可能有一个特定的目标,如到某一特定目的地的所有数据包被阻止。

被动攻击

被动攻击中攻击者不对数据信息做任何修改,截取或窃听是指在未经用户同意和认可的情况下攻击者获得了信息或者相关数据。通常包括窃听、流量分析、破解弱加密的数据流等攻击方式。

①流量分析

流量分析攻击方式适用于一些特殊场合,例如敏感信息都是保密的,攻击者虽然从截获的消息中无法的知道消息的真实内容,但攻击者还能通过观察这些数据报的模式,分析确定出通信双方的位置、通信的次数以及消息的长度,获知相关的敏感信息。

②窃听

窃听是常用的手段。应用最广泛的局域网上的数据传送是基于广播方式进行的,这就使一台主机有可能收到本子网上传送的所有信息。而计算机的网卡工作在杂收模式时,它就可以将 *** 上传送的所有信息传送到上层,以供进一步分析。如果没有采取加密措施,通过协议分析,可以完全掌握通信的全部内容,窃听还可以用无限截获方式得到信息,通过高灵敏接受装置接收 *** 站点辐射的电磁波或者 *** 连接设备辐射的电磁波,通过对电磁信号的分析恢复原数据信号从而获得 *** 信息。

由于被动攻击不会对被攻击的信息做任何修改,留下痕迹很少,或者根本不留下痕迹,因而非常难以检测,所以抗击这类攻击的重点在于预防,具体措施包括虚拟专用网VPN,采用加密技术保护信息以及使用交换式 *** 设备等。

属于 *** 协议的攻击有哪几种

1. TCP/IP 协议的脆弱性

1.1 不能提供可靠的身份验证

TCP/IP 协议以 32 bit 的 IP 地址来作为 *** 节点的唯一标识,而 IP 地址只是用户软件设置中的一个参数,因而是可以随意修改的。

对 UDP 来说,是根据这个 IP 地址来唯一标识通信对方。 TCP 则通过三次握手,使情况稍有改善。 TCP 中的每个报文都含有一个标识本报文在整个通信流中位置的 32 bit 序列号,通信双方通过序列号来确认数据的有效性。

由于 TCP 设计三次握手过程本身并不是为了身份验证,只是提供同步确认和可靠通信,虽然这也能够提供一定的身份验证的支持,但这种支持很薄弱。

由于 TCP/IP 不能对节点上的用户进行有效的身份认证,服务器无法鉴别登录用户的身份有效性,攻击者可以冒充某个可信节点的 IP 地址,进行 IP 欺骗攻击.

其次,由于某些系统的 TCP 序列号是可以预测的,攻击者可以构造一个TCP'数据包,对 *** 中的某个可信节点进行攻击。

1.2 不能有效防止信息泄漏

IPv4 中没有考虑防止信息泄漏,在 IP 、 TCP 、 UDP 中都没有对数据进行加密。 IP 协议是无连接的协议,一个 IP 包在传输过程中很可能会经过很多路由器和网段,在其中的任何一个环节都很容易进行窃昕 。攻击者只需简单地安装一个 *** 嗅探器,就可以看到通过本节点的所有 *** 数据包。

1.3 没有提供可靠的信息完整性验证手段

在 IP 协议中,仅对 IP 头实现校验和保护

在UDP 协议中,对整个报文的校验和检查是一个可选项,并且对 UDP 报文的丢失不做检查。

在 TCP 协议中,虽然每个报文都经过校验和检查,并且通过连续的序列号来对包的顺序和完整进行检查,保证数据的可靠传输。但是,校验算法中没有涉及加密和密码验证,很容易对报文内容进行修改,再重新计算校验和

1.4 协议没有手段控制资源占杳和分配

TCP/IP 中,对资源占杳和分配设计的一个基本原则是自觉原则。如参加 TCP通信的一方发现上次发送的数据报丢失,则主动将通信速率降至原来的一半。这样,也给恶意的 *** 破坏者提供了机会 c 如 *** 破坏者可以大量的发 IP 报,造成 *** 阻塞,也可以向一台主机发送大量的 SYN 包从而大量占有该主机的资源 (SYN Flood) 。这种基于资源占用造成的攻击被称为拒绝服务攻击( DOS)

2.常见 TCP/IP 协议攻击 *** 分析

2.1 IP 欺骗( IP Spoofing)

IP 欺骗是指一个攻击者假冒一个主机或合法用户的 IP 地址,利用两个主机之间的信任关系来达到攻击的目的,而这种信任关系只是根据源 IP 地址来确定。所谓信任关系是指当主机 B 信任主机 A 上的 X用户时,只要 X 在 A 上登录, X 用户就可以直接登录到主机 B 上,而不需要任何口令。

IP 欺骗通常需要攻击者能构造各种形式 IP 数据包,用虚假的源 IP 地址替代自己的真实 IP 地址。如果主机之间存在基于 IP 地址的信任关系,目标主机无法检测出已经被欺骗。

防范措施

各个 *** ISP 应该限制源地址为外部地址的 IP 数据包进入互联网

合理的配置防火墙,限制数据包的源地址为内部 *** 的数据包进入 *** 。

2.2 TCP 会话劫持 (TCP sessJOn hijacking)

image.png

TCP 会话劫持跳过连接过程.对一个已经建立的连接进行攻击。攻击者与被假冒主机和目标主机之一在同一个子网中,攻击者通过一个嗅探程序可以看到被假冒主机和目标主机之间通信的数据包。

攻击者看到被假冒主机和目标主机建立一个连接并进行身份认证后,通过对数据包捕获和进行分析,就可以得到连接的序列号。

一旦得到正确的序列号就可以发送一个假冒的 TCP 分段,接管已经建立的连接。这样,被假冒主机发送的数据包都会被目标主机忽略,因为它们的序列号会被目标主机认为不正确。

防范措施

最主要的 *** 是在传输层对数据进行加密。

2.3 拒绝服务( Denial Of Service )

拒绝服务坷的目的就是使受害的服务器不能提供正常的 *** 服务。

2.3.1 SYN 淹没 (SYN Flooding)

当开放了一个TCP端口后,该端口就处于Listening状态,不停地监视发到该端口的Syn报文,一旦接收到Client发来的Syn报文,就需要为该请求分配一个TCB(Tran *** ission Control Block),通常一个TCB至少需要280个字节,在某些操作系统中TCB甚至需要1300个字节,并返回一个SYN ACK命令,立即转为SYN-RECEIVED即半开连接状态,而操作系统在SOCK的实现上最多可开启半开连接个数是一定的。

image.png

从以上过程可以看到,如果恶意的向某个服务器端口发送大量的SYN包,则可以使服务器打开大量的半开连接,分配TCB,从而消耗大量的服务器资源,同时也使得正常的连接请求无法被相应。而攻击发起方的资源消耗相比较可忽略不计。

防范措施

无效连接监视释放

这种 *** 不停监视系统的半开连接和不活动连接,当达到一定阈值时拆除这些连接,从而释放系统资源。这种 *** 对于所有的连接一视同仁,而且由于SYN Flood造成的半开连接数量很大,正常连接请求也被淹没在其中被这种方式误释放掉,因此这种 *** 属于入门级的SYN Flood *** 。

延缓TCB分配 ***

从前面SYN Flood原理可以看到,消耗服务器资源主要是因为当SYN数据报文一到达,系统立即分配TCB,从而占用了资源。而SYN Flood由于很难建立起正常连接,因此,当正常连接建立起来后再分配TCB则可以有效地减轻服务器资源的消耗。常见的 *** 是使用Syn Cache和Syn Cookie技术。

Syn Cache技术:

这种技术是在收到SYN数据报文时不急于去分配TCB,而是先回应一个SYN ACK报文,并在一个专用HASH表(Cache)中保存这种半开连接信息,直到收到正确的回应ACK报文再分配TCB。在FreeBSD系统中这种Cache每个半开连接只需使用160字节,远小于TCB所需的736个字节。在发送的SYN ACK中需要使用一个己方的Sequence Number,这个数字不能被对方猜到,否则对于某些稍微智能一点的Syn Flood攻击软件来说,它们在发送Syn报文后会发送一个ACK报文,如果己方的Sequence Number被对方猜测到,则会被其建立起真正的连接。因此一般采用一些加密算法生成难于预测的Sequence Number。

Syn Cookie技术:

对于SYN攻击,Syn Cache虽然不分配TCB,但是为了判断后续对方发来的ACK报文中的Sequence Number的正确性,还是需要使用一些空间去保存己方生成的Sequence Number等信息,也造成了一些资源的浪费。

Syn Cookie技术则完全不使用任何存储资源,这种 *** 比较巧妙,它使用一种特殊的算法生成Sequence Number,这种算法考虑到了对方的IP、端口、己方IP、端口的固定信息,以及对方无法知道而己方比较固定的一些信息,如MSS、时间等,在收到对方的ACK报文后,重新计算一遍,看其是否与对方回应报文中的(Sequence Number-1)相同,从而决定是否分配TCB资源。

使用SYN Proxy防火墙

Syn Cache技术和Syn Cookie技术总的来说是一种主机保护技术,需要系统的TCP/IP协议栈的支持,而目前并非所有的操作系统支持这些技术。因此很多防火墙中都提供一种SYN *** 的功能,其主要原理是对试图穿越的SYN请求进行验证后才放行,下图描述了这种过程:

image.png

从上图(左图)中可以看出,防火墙在确认了连接的有效性后,才向内部的服务器(Listener)发起SYN请求,在右图中,所有的无效连接均无法到达内部的服务器。

采用这种方式进行防范需要注意的一点就是防火墙需要对整个有效连接的过程发生的数据包进行 *** ,如下图所示:

请点击输入图片描述

image.png

因为防火墙代替发出的SYN ACK包中使用的序列号为c,而服务器真正的回应包中序列号为c’,这其中有一个差值|c-c’|,在每个相关数据报文经过防火墙的时候进行序列号的修改。

TCP Safe Reset技术:

这也是防火墙Syn *** 的一种方式,其工作过程如下图所示:

image.png

这种 *** 在验证了连接之后立即发出一个Safe Reset命令包,从而使得Client重新进行连接,这时出现的Syn报文防火墙就直接放行。在这种方式中,防火墙就不需要对通过防火墙的数据报文进行序列号的修改了。这需要客户端的TCP协议栈支持RFC 793中的相关约定,同时由于Client需要两次握手过程,连接建立的时间将有所延长。

2.3.2 死亡之 Ping(Ping O' Death )

死亡之 Ping 是利用 ICMP 协议的一种碎片攻击 。攻击者发送一个长度超过 65 535Byte 的 Echo Request 数据包,目标主机在重组分片的时候会造成事先分配的 65 535 Byt 字节缓冲区溢出,系统通常会崩愤或挂起

IP 数据包的更大长度是 65 535 (2 16 - 1) Byte,其中包括包头长度(如果 IP 选项末指定,一般为 20 B)超过 MTU( Maximum Tran *** ission Unit) 的数据包被分割成小的数据包,在接受端重新组装。一般以太网的MTU 为 11500 Byte ,互联网上的 MTU 通常是 576 Byte ICMP 回应请求放在 IP 数据包中,其中有 8 Byt 的 ICMP头信息,接下来是 "Ping" 请求的数据宇节的数目。因此数据区所允许的更大尺寸为 65 535 - 20 - 8 = 65 507Byte

image.png

分段后的 IP 包要在接收端的 IP 层进行重组,这样"死亡之 Ping"就可以再发送一个回应请求数据包,使它的数据包中的数据超过 65 507 Byte ,使得某些系统的 IP 分段组装模块出现异常。因为在 IP 分段组装的过程中,它通过每一个 IP 分段中的偏移量来决定每一个分段在整个 IP 包中的位置,最后一个分段中,如果 IP 包的长度大于 65 507 Byte各个分段组装后就会超过 IP 包的更大长度。某些操作系统要等到将所有的分段组装完后才对 IP 包进行处理,所以就存在这样一种内部缓冲区或内部变量溢出的可能性,这样会导致系统崩愤或重启。

防范措施

可以利用防火墙来阻止 Ping ,然而这样也会阻挡一些合法应用。所以只要阻止被分段的 Ping ,这样在大多数系统上允许一般合法的 64 Byt 的 Ping 通过,挡住了那些长度大于 MTU 的 ICMP 数据包.

这种攻击能使系统崩溃的原因因系统不同而异.有的可能因为内核中固定大小的缓冲区因 IP 数据包过大而越界,损坏了其它数据或编码;有的则可能因为用一个无符号的 16 bit 变量来保存数据包的长度和相关变量,当这些变量的值超过 65 535 Byte 时,变量不再与其数值一致,从而引发异常。因此可以为相应的系统打上补丁。

2.3.3 RST 和 FIN 攻击( RST and FIN attack)

在 TCP 包中有 6 个标志位来指示分段的状态。其中 RST 用来复位一个连接, FIN 表示没有数据要发送了攻击者经常利用这两个标志位进行拒绝服务攻击。他们先分析通过目标主机和受骗主机之间的 IP 数据包,计算出从受骗主机发往目标主机的下一个 TCP 段的序列号,然后产生一个带有 RST 位设置的 TCP 段,将其放在假冒源 IP 地址的数据包中发往目标主机,目标主机收到后就关闭与受骗主机的连接。

利用 FIN 位的攻击与 RST 位的攻击很相似。攻击者预测到正确的序列号后,使用它创建一个带 FIN 位的 TCP 分段,然后发送给目标主机,好像受骗主机没有数据要发送了,这样,由受骗主机随后发出的 TCP 段都会目标主机认为是 *** 错误而忽略。

2.3.6 Smurf攻击

通过地址欺骗,并使用回复地址设置成受害 *** 的广播地址的ICMP应答请求(ping)数据包来淹没受害主机的方式进行。最终导致该 *** 的所有主机都对此ICMP应答请求做出答复,导致 *** 阻塞

黑客锁定一个被攻击的主机(通常是一些Web服务器);

黑客寻找可做为中间 *** 的站点,用来对攻击实施放大(通常会选择多个,以便更好地隐藏自己,伪装攻击);

黑客给中间 *** 站点的广播地址发送大量的ICMP包(主要是指Ping命令的回应包)。这些数据包全都以被攻击的主机的IP地址做为IP包的源地址;

中间 *** 向其所在的子网上的所有主机发送源IP地址欺骗的数据包;

中间 *** 主机对被攻击的 *** 进行响应。

2.3.7 Land 攻击

用一个特别打造的SYN包,其原地址和目标地址都被设置成某一个服务器地址。此举将导致服务器向它自己的地址发送SYN-ACK消息,结果这个地址又发回ACK消息并创建一个空连接。被攻击的服务器每接收一个这样的连接都将保留,直到超时

防御 *** :

这类攻击的检测 *** 相对来说比较容易,因为可以直接通过判断 *** 数据包的源地址和目标地址是否相同确认是否属于攻击行为。反攻击的 *** 当然是适当地配置防火墙设备或制定包过滤路由器的包过滤规则,并对这种攻击进行审计,记录事件发生的时间、源主机和目标主机的MAC地址和IP地址,从而可以有效地分析并跟踪攻击者的来源。

2.3.8 UDP FLOOD攻击

UDP不需要像TCP那样进行三次握手,运行开销低,不需要确认数据包是否成功到达目的地。这就造成UDP泛洪攻击不但效率高,而且还可以在资源相对较少的情况下执行。UDP FLOOD可以使用小数据包(64字节)进行攻击,也可以使用大数据包(大于1500字节,以太网MTU为1500字节)进行攻击。大量小数据包会增大 *** 设备处理数据包的压力;而对于大数据包, *** 设备需要进行分片、重组,最终达到的效果就是占用 *** 传输接口的带宽、 *** 堵塞、服务器响应慢等等。

防御方案: 限制每秒钟接受到的流量(可能产生误判);通过动态指纹学习(需要攻击发生一定时间),将非法用户加入黑名单。

2.3.9 泪滴攻击

“teardrop”,又称“泪滴”:IP数据包在 *** 传递时,数据包可以分成更小的片段。攻击者可以通过发送两段(或者更多)数据包来实现TearDrop攻击。之一个包的偏移量为0,长度为N,第二个包的偏移量小于N。为了合并这些数据段,TCP/IP堆栈会分配超乎寻常的巨大资源,从而造成系统资源的缺乏甚至机器的重新启动,达到攻击者需要的拒绝服务的目的。

3. DOS与DDOS区别

3.1 DOS

“DoS”是Denial of Service,拒绝服务的缩写。所谓的拒绝服务是当前 *** 攻击手段中最常见的一种。它故意攻击 *** 协议的缺陷或直接通过某种手段耗尽被攻击对象的资源,目的是让目标计算机或 *** 无法提供正常的服务或资源访问,使目标系统服务停止响应甚至崩溃,而最值得注意的是,攻击者在此攻击中并不入侵目标服务器或目标 *** 设备,单纯利用 *** 缺陷或者暴力消耗即可达到目的。

从原理上来说,无论攻击者的攻击目标(服务器、计算机或 *** 服务)的处理速度多快、内存容量多大、 *** 带宽的速度多快都无法避免这种攻击带来的后果。任何资源都有一个极限,所以攻击者总能找到一个 *** 使请求的值大于该极限值,导致所提供的服务资源耗尽。

从技术分类的角度上来说,最常见的DoS攻击有对计算机 *** 的带宽攻击和连通性攻击。带宽攻击指以极大的通信量冲击 *** ,使得所有可用 *** 资源都被消耗殆尽,最后导致合法用户的请求无法通过。连通性攻击指用大量的连接请求冲击服务器或计算机,使得所有可用的操作系统资源都被消耗殆尽,最终计算机无法再处理合法用户的请求。

在 *** 还不发达的时候,单一的DoS攻击一般是采用一对一的方式,也就是攻击者直接利用自己的计算机或者设备,对攻击目标发起DoS攻击。当攻击目标处在硬件性能低下、 *** 连接情况不好等情况的时候,一对一的DoS攻击效果是非常明显的,很有可能直接一个攻击者就搞定一个网站或者一个服务器,让它拒绝服务。

3.2 DDOS

随着计算机和 *** 技术的发展,硬件设备的处理性能加速度增长,成本也变得非常低廉, *** 的快速发展更是让带宽、出入口节点宽度等大大的提升,这让传统的DoS攻击很难凑效。

随着这样情况的出现,攻击者研究出了新的攻击手段,也就是DDoS。

DDoS是在传统的DoS攻击基础之上产生的一种新的攻击方式,即Distributed Denial Of Service,分布式拒绝服务攻击。

如果说计算机与 *** 的处理能力比以往加大了10倍的话(示例数据,没有实质意义),那攻击者使用10台计算机同时进行攻击呢?也就达到了可以让目标拒绝服务的目的。简单来说,DDoS就是利用更多的计算机来发起攻击。

就技术实现方式来分析,分布式拒绝服务攻击就是攻击者利用入侵手段,控制几百台,或者成千上万台计算机(一般被控制的计算机叫做傀儡主机,或者口头被 *** 安全相关人员称为“肉鸡”),然后在这些计算机上安装大量的DDoS程序。这些程序接受来自攻击者的控制命令,攻击者同时启动全部傀儡主机向目标服务器发起拒绝服务攻击,形成一个DoS攻击群,猛烈的攻击目标,这样能极为暴力的将原本处理能力很强的目标服务器攻陷。

3.3 区别

通过上面的分析,可以看出DDoS与DoS的更大区别是数量级的关系,DoS相对于DDoS来说就像是一个个体,而DDoS是无数DoS的 *** 。另一方面,DDoS攻击方式较为自动化,攻击者可以把他的程序安装到 *** 中的多台机器上,所采用的这种攻击方式很难被攻击对象察觉,直到攻击者发下统一的攻击命令,这些机器才同时发起进攻。可以说DDoS攻击是由黑客集中控制发动的一组DoS攻击的 *** ,现在这种方式被认为是最有效的攻击形式,并且非常难以抵挡。

0条大神的评论

发表评论