安全防御 --- DDOS攻击(01)

DOS攻击(deny of service)--- 拒绝式服务攻击

例:2016年10月21日,美国提供动态DNS服务的DynDNS遭到DDOS攻击,攻击导致许多使用DynDNS服务的网站遭遇访问问题,此事件中,黑客人就是运用了DNS洪水攻击手段。

DDOS攻击

(1)分类

<1> 流量型攻击:Flood方式攻击

  • 耗尽网络带宽
  • 耗尽服务器资源

流量型攻击是指攻击者通过大量的无用数据占用过多的资源以达到服务器拒绝服务的目的。这类攻击典型特征是通过发出海量数据包,造成设备负载过高,最终导致网络带宽或是设备资源耗尽。通常,被攻击的路由器、服务器和防火墙的处理资源都是有限的,攻击负载之下它们就无法处理正常的合法访问,导致正常服务被拒绝。

<2> 单包攻击

  • 耗尽网络带宽
  • 耗尽服务器资源

[1] 扫描窥探攻击:利用ping扫射(包括ICMP和TCP)来标识网络上存活着的系统,从而准确定位潜在的目标;利用TCP和UDP端口扫描,就能检测出操作系统和监听着的潜在服务。

本质:不停变换端口/地址的扫描

[2] 畸形报文攻击:通过向目标系统发送有缺陷的IP报文,使得目标系统在处理这样的IP报文时发生错误,或者造成系统崩溃,影响目标系统的正常运行。

例:畸形报文攻击有Ping of Death(死亡之ping)、Teardrop(泪滴)等

本质:构造不正常的包,如超过正常基线值、分片阻不起来

[3] 特殊报文攻击:攻击者利用一些合法的报文对网络进行侦察或者数据检测,这些报文都是合法的应用类型,只是正常网络很少用到。

本质:正常的包发动的大量访问行为

(2)发展

[1] 传统的DDoS攻击多利用僵尸主机(Zombies,又称Bot,即肉鸡)组成僵尸网络(Botnet)来发起。"肉鸡"是指中了木马,或者被一些人留了后门的计算机,成为"肉鸡"的计算机可以被黑客远程操控。"肉鸡"的存在多由于用户系统存在各种脆弱性导致,一旦被入侵,黑客便可轻易获得控制权。

[2] DRDoS攻击(Distributed Reflection Denial of Service,分布式反射拒绝服务攻击),其原理是黑客伪造成被攻击者的IP地址,向互联网上大量开放特定服务的服务器发起请求,接收到请求的那些主机根据源IP地址将响应数据包返回给受害者。整个过程中,返回响应的服务器并不知道请求源的恶意动机。

[3] 互联网上存在DNS、NTP、SNMP等协议脆弱性的开放服务漏洞不断被修复,可以用来发起反射攻击的服务器数量数量越来越少。智能家居的激增,让黑客看到了另一个可以不断挖掘的金山。这些智能设备普遍采用UPnP(即插即用)协议作为网络通讯协议, 而UPnP设备的发现是通过源端口为1900的SSDP(简单服务发现协议)进行相互感知,黑客利用SSDP协议发动DDoS攻击成为趋势。

<1> 攻击趋势

  • 攻击呈现的"Fast Flooding"特点

大流量攻击基本上都呈现出"Fast"的特点,攻击流量峰值在几秒内即可从O上升至几十Gbps,直接挑战防御系统的快速响应能力。

  • 随着loT僵尸网络的规模不断扩大,越来越多的反射源被挖掘

loT终端设备缺乏必要的安全防护,弱口令和出厂固化的账号密码现象普遍存在,海量loT终端已经成为僵尸网络快速发展的温床。loT终端不仅实时在线,相比数据中心服务器,被控后用户不易发现,已经成为TCP会话耗尽及应用层DDoS攻击的新傀儡。

  • 同针对业务系统的各类慢速攻击和应用层攻击更加拟人化

SYN攻击呈现出"慢速"的特点,速率甚至可以低到和正常用户访问行为接近

<2> 防御诉求

  • 攻击呈现的"Fast Flooding"特点要求防御系统"零"延迟
  • 海量的、实时在线的loT僵尸攻击源需要分层防御或者专业的DDoS 防护服务。
  • 良好的防御系统应具备根据攻击流量或转发流量进行实时的攻击风险评估的能力,系统能够自动调整告警等级,并基于告警等级自动调整防御策略。

<3> 攻击分析

(3)单包攻击


畸形报文攻击:攻击者发送大量有缺陷的报文,造成主机或服务器处理这类报文时系统崩溃

扫描类攻击:潜在攻击行为,不具备直接破坏行为,通常是攻击者发动真正攻击前的探测行为

特殊控制报文攻击:也是一种潜在的攻击行为,不具备直接的破坏行为,通常是攻击者发送特殊控制报文探测网络结构


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/18486.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LinearAlgebraMIT_5_SpacesOfVectors

这一节中我们将学习向量空间。 x.1 转置矩阵和构造对称矩阵 在开启向量空间的学习前我们先复习一下转置矩阵和置换矩阵。我们将矩阵转置前后不变的矩阵称为对称矩阵。而我们如何得到一个对称矩阵呢&#xff0c;我们使用矩阵乘以矩阵的转置便可得到。 x.2 Vectors Space 向量…

如何执行Photoshop脚本

环境 Photoshop: CC2017 OS: Windows 10 脚本放置位置 C:\Program Files\Adobe\Adobe Photoshop CC 2015\Presets\Scripts #也就是 PS的安装目录\Presets\Scripts

探究Vue源码:mustache模板引擎(5) 对比rollup与webpack,在本地搭建webpack环境

好 从本文开始 我们就来手写一下mustache这个库 他是模板引擎的一个祖先 将模板字符串编译成一个dom字符串 就是它的思想&#xff0c;这也是一个具有跨时代意义的思想 这里的话 我们还是搭一个 webpack 的项目环境 这里值得一提的是 mustache 他官方是通过rollup来进行打包的 …

简述JMeter实现分布式并发及操作

为什么要分布式并发&#xff1f; JMeter性能实践过程中&#xff0c;一旦进行高并发操作时就会出现以下尴尬场景&#xff0c;JMeter客户端卡死、请求错误或是超时等&#xff0c;导致很难得出准确的性能测试结论。 目前知道的有两个方法可以解决JMeter支撑高并发&#xff1a; …

微信小程序学习之数据绑定,事件绑定,事件传参与数据同步的学习记录

数据绑定&#xff0c;事件绑定&#xff0c;事件传参与数据同步 1. 数据绑定1.1. 在data中定义数据1.2. 在wxml中渲染数据 &#xff08;mustache语法&#xff09; 2. 事件绑定2.1. 事件2.2. 常用的事件2.3. 事件对象的属性列表2.4. target 和 currentTarget的区别 3. 事件传参与…

订单结算页+下单业务

一、订单结算页 1.业务分析 (1) 获取用户收货地址信息 一般的收货地址都是多个&#xff0c;使用时选中一个&#xff0c;所以收货地址使用List集合封装 (2)获取购物车商品信息 购物车商品也是多个&#xff0c;使用List集合封装 (3)查询商品库存 查询每个商品是否有库存&#…

Scrap爬虫框架集成Selenium来解析动态网页

1、爬虫项目单独使用scrpay框架的不足 当前网站普遍采用了javascript 动态页面&#xff0c;特别是vue与react的普及&#xff0c;使用scrapy框架定位动态网页元素十分困难&#xff0c;而selenium是最流行的浏览器自动化工具&#xff0c;可以模拟浏览器来操作网页&#xff0c;解…

spring boot MySQL操作

极简spring boot MySQL测试 默认: spring boot环境已经搭好,可以跑最基本的hello world 有MySQL环境有部分测试数据表,并且有MySQL语法基础 配置 application.yml 如下配置,根据自己的数据库信息与个人需求配置 server: tomcat: uri-encoding: UTF-8 threads: …

使用Feign进行微服务之间的接口调用:Spring Cloud Alibaba中的声明式服务调用

一、Feign介绍 Feign是一个声明式的HTTP客户端框架&#xff0c;用于简化微服务架构中服务之间的通信。它是Spring Cloud框架的一部分&#xff0c;旨在提供一种优雅且易于使用的方式来定义和调用HTTP请求。 Feign的设计目标是让服务之间的通信变得更加简单和直观。通常情况下&am…

数据结构中队列的操作方式,一目了然

队列的概念 首先我们联想一下链表&#xff0c;在单链表中&#xff0c;我们只能对他的链表表尾进行插入&#xff0c;对链表的表头进行结点的删除&#xff0c;这样强限制性的链表&#xff0c;就是我们所说的队列。 也就是说&#xff0c;队列&#xff08;queue&#xff09;是限定…

代码随想录算法训练营第十二天 | 二叉树系列3

二叉树系列3 二叉树 看到二叉树就想到递归404 左叶子之和重点代码随想录的代码我的代码(当日晚上自己理解后写) 513 找树左下角的值重点代码随想录的代码我的代码(当日晚上自己理解后写)我去&#xff0c;我怎么能写出这样的代码&#xff0c;没有return的递归&#xff0c;大错特…

在Visual Studio Code里导出8266固件

1.编辑 .vscode目录下 arduion.json 添加 一个配置项output即输出目录.当然你不设置其它软固件一样会生成,只是就不知道你能不能找到了.我的配置如下 当然这个路径你想写什么 就是什么 . 2. 切换到 arduion的项目文件 xxxx.ino.点击vsc右上的验证 即可在上面设置的目录下找到…