论文笔记

《AmpPot: Monitoring and Defendin

2019-11-28  本文已影响0人  Great_Jojo

1 论文概况

2 研究原因

  1. DDoS攻击多年来一直威胁着关键的互联网基础设施,近年来反射放大DDoS攻击越来越受欢迎。反射放大攻击能够用非常少的资源造成GB级别攻击流量,危害极大。
  2. 获得攻击的动机并制定有效对策的最好办法就是获取真实攻击流量并进行分析,而以往的研究中没有足够的实际反射放大流量攻击数据支撑。

3 研究贡献

  1. 设计了一种新型蜜罐AmpPot来捕获放大DDoS攻击, AmpPot是第一个跟踪放大DDoS攻击的蜜罐。本文评估了蜜罐的各种响应模式,设计部署此类蜜罐的最佳方案。
  2. 利用一个/16的暗网(dark net)和21个蜜罐实例收集的数据来展示实际放大攻击的当前状态,利用这些结果设计了蜜罐辅助防御机制。
  3. 以往的蜜罐部署时间太短,分析数据集只涉及8次DDoS攻击。本文通过对21个蜜罐的纵向、广泛部署发现大量攻击,表明蜜罐确实有助于获得攻击情报。
  4. 分析了最近基于linux的DDoS bots的威胁。证明这些Bots提供了放大DDoS功能,但是根据流量指纹分析表明它们在放大攻击中的总体份额是微不足道的。
  5. 以往的研究中没有实际攻击数据支撑。本文提供实际攻击的数据支撑。本文进一步说明了在实际放大攻击中协议是如何被利用的。

4 背景知识

4.1 反射放大攻击

4.1.1 发动DDoS反射放大攻击的必要条件

根据资料和自己的理解总结的,与本论文无关

反射放大攻击
  1. 基于UDP的有放大漏洞的协议
    基于UDP是因为无连接,可以实现假冒源IP;有放大漏洞是指这个协议某些request的response字节数或者包数是request的数倍。例如DNS (53), SNMP (161) , SSDP (1900), SSDP (1900), SIP (5060/5061);
  2. 公网上存在大量有这个协议漏洞的服务器:
    有放大漏洞的服务器称为反射器,被攻击者利用来反射放大DDoS攻击的流量。
    攻击者寻找反射器的方法一般是通过互联网扫描(Internet-wide scan),利用开源扫描器,如ZMap和Masscan。


Zmap,2013年的USENIX 《ZMap: Fast Internet- wide Scanning and Its Security Applications》


Masscan,Mass IP port scanner. https://github.com/robertdavidgraham/masscan (2014)

4.1.2 DDoS反射放大攻击相关工作

  1. 检查协议中的具体放大漏洞,提出防御机制和测量放大器
  1. 研究某个特定协议的反射放大攻击

4.2 扫描简介

根据资料和自己的理解总结的,与本论文无关

  1. 存活性扫描:判断主机是否存活。常用的是ICMP Echo扫描,如Ping。
  2. 端口扫描:判断是否开放。比如,存活Tcp syn扫描是向目标主机的特定端口发送一个SYN包,如果端口没开放就不会返回syn+ack,这时会给你一个rst,停止建立连接。
  3. 服务识别:通过端口扫描的结果,可以判断出主机提供的服务及其版本。
  4. 操作系统识别:利用服务的识别,可以判断出操作系统的类型及其版本。
  5. 反射放大攻击可利用服务扫描:向服务所利用的端口(比如DNS的53端口)发送请求包,查看返回包是否能够形成放大攻击。

4.3 蜜罐介绍

5 本论文如何识别扫描

分析发往暗网(论文原文是dark net,本文翻译为暗网,不是平时所指的dark web)的流量,在一天内至少访问了同一端口上的64个暗网地址的主机即为扫描者。本文分析了一个 /16的暗网,由NICTER运作。NICTER是一个拥有暗网地址块的日本安全机构(猜测网络中发往这个地址块的流量都发往了这个机构,这个机构保存这些流量做分析。)

暗网介绍

6 分析扫描者的属性

7 本文的AMPPOT蜜罐设计和实现

本文的蜜罐是什么?

蜜罐用处

  1. 监视潜在攻击者的扫描(这个暗网地址也在做)
  2. 攻击者寻找放大器会对全网地址进行扫描。
  3. 监视攻击者的攻击行为
    在被攻击者把这些蜜罐放入可用放大器列表之后,攻击者会利用这些蜜罐发动攻击。

AMPPOT三种模式

  1. 仿真模式:在蜜罐上实现特定协议的解析器。蜜罐收到一个特定协议的有效request,就回复一个该协议的响应,这个响应是从预先生成的一组特定协议的响应集合中随机选择的,一般这些响应都有很大的负载。
  2. 代理模式:蜜罐把收到的request转发给真正运行有漏洞协议的服务器,收到response后再转发给客户端。这个模式需要配置有漏洞协议的服务器。
  3. 随机模式:蜜罐收到request后,不管这个request是什么样子的,都使用包含随机字节的大响应进行响应(请求大小的100倍/最大MTU)。这种模式假定攻击者并不真正关心响应的有效性,而是只寻找返回负载很大的响应的主机。

AMPPOT实现的一些细节
1. Response的实现(仿真模式):需要实现特定协议负载很大的回复。
如何设计回复?1)检查已知的漏洞报告,2)被动地观察针对暗网的请求,3)扫描Internet以发现典型的大型响应。
2. 速率限制:避免参与真实的DDoS攻击,但是能够使攻击者认为是可被利用的放大器。
区分是扫描请求还是攻击请求:将疑似被攻击目标(被伪造的源IP)放入黑名单,一小时后删除,放入黑名单的IP则不再返回其请求。如果客户端IP每分钟发送超过10个请求,将这个客户端IP地址以及相对应的/24网段认为是受害者。
3. 数据存储:每个蜜罐记录每个源IP地址的前100个请求,并将它们存储在Sqlite数据库中。

各个模式具体支持的协议:

  1. 代理模式:CharGen, QOTD, DNS, NTP, SNMP, SSDP。
  2. 仿真模式:代理模式实现的+NetBIOS, MSSQL, SIP。
  3. 随机模式:所有的,F蜜罐总是以1472字节UDP负载响应,M将请求负载的长度乘以100,以创建相对于请求长度的响应。内容都是随机的字符。


8 根据蜜罐捕获的流量分析反射放大攻击

8.1 攻击总体情况

8.2 蜜罐收敛性

8.3 蜜罐从部署到被利用的时间间隔

8.4 攻击来源是单台主机(eg: booter服务)还是多台主机(eg: 僵尸网络)

8.5 攻击持续时间和次数

8.6 受害者分析

8.7 攻击请求的熵

攻击请求的熵,即被攻击利用的每个协议的请求有效负载(不包括UDP和IP报头) 的多样性。

单个攻击请求的熵
1. DNS:45.3%的攻击所有请求负载相同,80%以上的攻击最多使用3种请求负载。
2. NetBIOS、SNMP、SIP仍然具有较高的请求熵(只有一种请求负载的攻击不到30%)。
结论:不能断定在单个攻击中请求负载的种类很少。

9 用蜜罐辅助进行反射放大攻击防御

10 论文总结

上一篇 下一篇

猜你喜欢

热点阅读