对于Dos攻击的防御

对于Dos攻击的防御smurf、trinoo、tfn、tfn2k以及stacheldraht是比较常见的DoS攻击程序“smurf攻击”,如何抵御Smurf是一种简单但有效的DDoS攻击技术,它利用了ICMP(Int

大家好,又见面了,我是你们的朋友全栈君。

smurf、trinoo、tfn、tfn2k以及stacheldraht是比较常见的DoS攻击程序

“smurf攻击”,如何抵御

  • Smurf是一种简单但有效的DDoS攻击技术,它利用了ICMP(Internet控制信息协议)。ICMP在Internet上用于错误处理和传递控制信息。
  • 它的功能之一是与主机联系,通过发送一个“回音请求”(echorequest)信息包看看主机是否“活着”。最普通的ping程序就使用了这个功能。
  • Smurf是用一个偷来的帐号安装到一个计算机上的,然后用一个伪造的源地址连续ping一个或多个计算机网络,这就导致所有计算机所响应的那个计算机并不是实际发送这个信息包的那个计算机。
  • 这个伪造的源地址,实际上就是攻击的目标,它将被极大数量的响应信息量所淹没。对这个伪造信息包做出响应的计算机网络就成为攻击的不知情的同谋。

SmurfDDoS攻击的基本特性以及建议采用的抵御策略:

1、Smurf的攻击平台:smurf为了能工作,必须要找到攻击平台,这个平台就是:其路由器上启动了IP广播功能。
这个功能允许smurf发送一个伪造的ping信息包,然后将它传播到整个计算机网络中。

2、为防止系统成为smurf攻击的平台,要将所有路由器上IP的广播功能都禁止。一般来讲,IP广播功能并不需要。

3、攻击者也有可能从LAN内部发动一个smurf攻击,在这种情况下,禁止路由器上的IP广播功能就没有用了。
为了避免这样一个攻击,许多操作系统都提供了相应设置,防止计算机对IP广播请求做出响应。

4、如果攻击者要成功地利用你成为攻击平台,你的路由器必须要允许信息包以不是从你的内网中产生的源地址离开网络。
配置路由器,让它将不是由你的内网中生成的信息包过滤出去,这是有可能做到的。这就是所谓的网络出口过滤器功能。

5、ISP则应使用网络入口过滤器,以丢掉那些不是来自一个已知范围内IP地址的信息包。

6、挫败一个smurf攻击的最简单方法对边界路由器的回音应答(echoreply)信息包进行过滤,然后丢弃它们,
这样就能阻止“命中”Web服务器和内网。对于那些使用Cisco路由器的人,另一个选择是CAR(CommittedAccessRate,承诺访问速率)。
  • 丢弃所有的回音应答信息包能使网络避免被淹没,但是它不能防止来自上游供应者通道的交通堵塞。
  • 如果你成为了攻击的目标,就要请求ISP对回音应答信息包进行过滤并丢弃。如果不想完全禁止回音应答,那么可以有选择地丢弃那些指向你的公用Web服务器的回音应答信息包。
  • CAR技术由Cisco开发,它能够规定出各种信息包类型使用的带宽的最大值。例如,使用CAR,我们就可以精确地规定回音应答信息包所使用的带宽的最大值。

“trinoo”,如何抵御

  • trinoo是复杂的DDoS攻击程序,它使用“master”程序对实际实施攻击的任何数量的“代理”程序实现自动控制。
  • 攻击者连接到安装了master程序的计算机,启动master程序,然后根据一个IP地址的列表,由master程序负责启动所有的代理程序。
  • 接着,代理程序用UDP信息包冲击网络,从而攻击目标。
  • 在攻击之前,侵入者为了安装软件,已经控制了装有master程序的计算机和所有装有代理程序的计算机。

trinooDDoS攻击的基本特性以及建议采用的抵御策略:

1、在master程序与代理程序的所有通讯中,trinoo都使用了UDP协议。
入侵检测软件能够寻找使用UDP协议的数据流。

2、Trinoomaster程序的监听端口是27655,攻击者一般借助telnet通过TCP连接到master程序所在计算机。
入侵检测软件能够搜索到使用TCP并连接到端口27655的数据流。

3、所有从master程序到代理程序的通讯都包含字符串“l44”,并且被引导到代理的UDP端口27444。
入侵检测软件检查到UDP端口27444的连接,如果有包含字符串l44的信息包被发送过去,那么接受这个信息包的计算机可能就是DDoS代理。

4、Master和代理之间通讯受到口令的保护,但是口令不是以加密格式发送的,因此它可以被“嗅探”到并被检测出来。
使用这个口令以及来自DaveDittrich的trinot脚本,要准确地验证出trinoo代理的存在是很可能的。

一旦一个代理被准确地识别出来,trinoo网络就可以安装如下步骤被拆除:

  • 在代理daemon上使用”strings”命令,将master的IP地址暴露出来。
  • 与所有作为trinoomaster的机器管理者联系,通知它们这一事件。
    在master计算机上,识别含有代理IP地址列表的文件(默认名“…”),得到这些计算机的IP地址列表。
  • 向代理发送一个伪造“trinoo”命令来禁止代理。通过crontab文件(在UNIX系统中)的一个条目,代理可以有规律地重新启动,因此,代理计算机需要一遍一遍地被关闭,直到代理系统的管理者修复了crontab文件为止。
  • 检查master程序的活动TCP连接,这能显示攻击者与trinoomaster程序之间存在的实时连接。
  • 如果网络正在遭受trinoo攻击,那么系统就会被UDP信息包所淹没。Trinoo从同一源地址向目标主机上的任意端口发送信息包。探测trinoo就是要找到多个UDP信息包,它们使用同一来源IP地址、同一目的IP地址、同一源端口,但是不同的目的端口。

“TribalFloodNetwork”和“TFN2K”,如何抵御

  • TribeFloodNetwork与trinoo一样,使用一个master程序与位于多个网络上的攻击代理进行通讯。
  • TFN可以并行发动数不胜数的DoS攻击,类型多种多样,而且还可建立带有伪装源IP地址的信息包。
  • 可以由TFN发动的攻击包括:UDP冲击、TCPSYN冲击、ICMP回音请求冲击以及ICMP广播。

以下是TFNDDoS攻击的基本特性以及建议的抵御策略:

1、发动TFN时,攻击者要访问master程序并向它发送一个或多个目标IP地址,然后Master程序继续与所有代理程序通讯,指示它们发动攻击。

TFNMaster程序与代理程序之间的通讯使用ICMP回音应答信息包,实际要执行的指示以二进制形式包含在16位ID域中。

ICMP(Internet控制信息协议)使信息包协议过滤成为可能。

通过配置路由器或入侵检测系统,不允许所有的ICMP回音或回音应答信息包进入网络,就可以达到挫败TFN代理的目的。

但是这样会影响所有使用这些功能的Internet程序,比如ping。

TFNMaster程序读取一个IP地址列表,其中包含代理程序的位置。

这个列表可能使用如“Blowfish”的加密程序进行了加密。如果没有加密的话,就可以从这个列表方便地识别出代理信息。

2、用于发现系统上TFN代理程序的程序是td,发现系统上master程序的程序是tfn。

TFN代理并不查看ICMP回音应答信息包来自哪里,因此使用伪装ICMP信息包冲刷掉这些过程是可能的。

TFN2K是TFN的一个更高级的版本,它“修复”了TFN的某些缺点:

1、在TFN2K下,Master与代理之间的通讯可以使用许多协议,例如TCP、UDP或ICMP,这使得协议过滤不可能实现。
2、TFN2K能够发送破坏信息包,从而导致系统瘫痪或不稳定。
3、TFN2K伪造IP源地址,让信息包看起来好像是从LAN上的一个临近机器来的,这样就可以挫败出口过滤和入口过滤。
4、由于TFN2K是被识破的,因此还没有一项研究能够发现它的明显弱点。

在人们能够对TFN2K进行更完全的分析之前,最好的抵御方法是:

  • 加固系统和网络,以防系统被当做DDoS主机。
  • 在边界路由器上设置出口过滤,这样做的原因是或许不是所有的TFN2K源地址都用内部网络地址进行伪装。
  • 请求上游供应商配置入口过滤。

“stacheldraht”,如何防范

  • Stacheldraht也是基于TFN和trinoo一样的客户机/服务器模式,其中Master程序与潜在的成千个代理程序进行通讯。
  • 在发动攻击时,侵入者与master程序进行连接。Stacheldraht增加了以下新功能:攻击者与master程序之间的通讯是加密的,
  • 以及使用rcp(remotecopy,远程复制)技术对代理程序进行更新。
  • Stacheldraht同TFN一样,可以并行发动数不胜数的DoS攻击,类型多种多样,而且还可建立带有伪装源IP地址的信息包。
  • Stacheldraht所发动的攻击包括UDP冲击、TCPSYN冲击、ICMP回音应答冲击以及ICMP播放。

以下是StacheldrahtDDoS攻击的基本特征以及建议采取的防御措施:

1、在发动Stacheldraht攻击时,攻击者访问master程序,向它发送一个或多个攻击目标的IP地址。

Master程序再继续与所有代理程序进行通讯,指示它们发动攻击。

Stacheldrahtmaster程序与代理程序之间的通讯主要是由ICMP回音和回音应答信息包来完成的。

配置路由器或入侵检测系统,不允许一切ICMP回音和回音应答信息包进入网络,这样可以挫败Stacheldraht代理。

但是这样会影响所有要使用这些功能的Internet程序,例如ping。

2、代理程序要读取一个包含有效master程序的IP地址列表。这个地址列表使用了Blowfish加密程序进行加密。

代理会试图与列表上所有的master程序进行联系。如果联系成功,代理程序就会进行一个测试,以确定它被安装到的系统是否会允许它改变"伪造"信息包的源地址。

通过配置入侵检测系统或使用嗅探器来搜寻它们的签名信息,可以探测出这两个行为。
代理会向每个master发送一个ICMP回音应答信息包,其中有一个ID域包含值666,一个数据域包含字符串“skillz”。

如果master收到了这个信息包,它会以一个包含值667的ID域和一个包含字符串“ficken”的数据域来应答。

代理和master通过交换这些信息包来实现周期性的基本接触。通过对这些信息包的监控,可以探测出Stacheldraht。

一旦代理找到了一个有效master程序,它会向master发送一个ICMP信息包,其中有一个伪造的源地址,这是在执行一个伪造测试。

这个假地址是“3.3.3.3”。如果master收到了这个伪造地址,在它的应答中,用ICMP信息包数据域中的“spoofworks”字符串来确认伪造的源地址是奏效的。

通过监控这些值,也可以将Stacheldraht检测出来。

3、Stacheldraht代理并不检查ICMP回音应答信息包来自哪里,因此就有可能伪造ICMP信息包将其排除。

4、Stacheldraht代理程序与TFN和trinoo一样,都可以用一个C程序来探测。

笔记来源:https://blog.csdn.net/weixin_41924879/article/details/102582024

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155517.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • nginx负载均衡的五种算法

    nginx负载均衡的五种算法nginx负载均衡的五种算法一、Nginx负载均衡算法1、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务,如果后端某台服务器死机,自动剔除故障系统,使用户访问不受影响。例如:upstreambakend{server192.168.0.1;server192.168.0.2;}2、weight(轮询权值)we…

    2022年10月12日
  • mysql远程连接数据库 权限_sql远程连接数据库失败

    mysql远程连接数据库 权限_sql远程连接数据库失败我们在刚学习MySQL数据库时一般都是连接localhost然后登录root用户创建数据库进行操作,那么问题来了,如何通过其他主机来访问自己的数据库呢?一、我们要保证两台主机在同一个局域网,也就是说你使用ping命令能够ping通另一台主机,这样才可以实现远程访问你的数据库 图中192.168.116.96为对方主机的ip地址,我的IP地址为192.168.116.92,因为我们在同一…

    2022年10月13日
  • Anaconda 安装python第三方库的各类方法

    Anaconda 安装python第三方库的各类方法Anaconda安装python第三方库的各类方法之前的文章讲了有关anaconda的一些介绍和安装,第三方源也介绍了,本文介绍Anaconda安装python第三发库的各类方法第一种:1.双击打开AnacondaNavigator,选择Environments界面2.然后选择Notinstall,在右边搜索框进行搜索需要的库包名字,选择需要的库包,选择apply进行安装第二种1.双击打开AnacondaPrompt(Anaconda3)(打开系统菜单找到anaconda就能看到)

    2022年10月14日
  • 解决:java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.base.BaseSelectProvider

    解决:java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.base.BaseSelectProvider控制台报错:java.lang.NoSuchMethodException:tk.mybatis.mapper.provider.base.BaseSelectProvider.<init>()浏览器访问:http://localhost:8081/category/list?pid=0解决办法:应该导入importtk.mybatis…

  • 倒立摆matlab仿真_控制系统设计实例

    倒立摆matlab仿真_控制系统设计实例本文的研究内容及安排如下:第一章是对倒立摆系统的介绍和分析,简要介绍了对倒立摆系统研究的历程,并对倒立摆系统进行建模,推倒出了倒立摆系统的状态空间表达式;第二章简要介绍了模糊控制的基本原理;第三章简要介绍了BP神经网络;第四章分别用常规PID、最优控制理论以及神经网络模糊控制实现了对倒立摆系统的控制,并对倒立摆系统的响应结果进行比较;第五章是结论,对论文做了总结,并提出了存在的一些问题。本论文研究…

  • mybatis–面向接口编程

    mybatis–面向接口编程

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号