DECANTeR: DEteCtion of Anomalous outbouNd HTTP TRaffic by Passive Application Fingerprinting


ACSAC
网络与信息安全 B类

Q:如何区分背景 & 浏览器产生的流量?

摘要

DECANTeR——检测异常出站HTTP通信的系统,它被动地提取在受监视主机上运行的每个应用程序的指纹。我们系统的目标是检测从主机网络流量中提取的未知指纹所指示的未知恶意软件和后门通信。我们使用来自国际组织的实际数据和由恶意流量组成的数据集来评估原型。我们表明,对于441台受监控的主机,我们的系统实现了0.9%的误报率,平均检测率为97.7%,并且使用简单的规避技术(如使用已知的浏览器用户代理值)无法避免恶意软件。我们将我们的解决方案与DUMONT [24]进行比较,后者是目前最先进的IDS,它通过关注良性HTTP流量来检测HTTP隐蔽通信信道。结果表明,DECANTeR在检测率,假阳性率,甚至逃避抗性方面均优于DUMONT。最后,DECANTeR在我们的数据集中检测到96.8%的信息窃取者,这显示了其检测数据泄漏的潜力。

研究点的提出

网络攻击者使用恶意软件泄漏数据,间谍软件获取数据,以及利用后门来和受害者进行沟通。十分有必要识别异常的出站流量。

现有的网络安全设备:识别恶意交流——基于指纹技术(依赖于已知样本)、自动产生指纹(将确定流量编码更具有鲁棒性);不规则地检测(基于特定攻击的特征)

产生的问题:

  1. 基于指纹不能识别新、未知攻击
  2. 有些特定的攻击很难建模、缺乏清晰的攻击模式:研究者基于正常流量建模,但是这种方式易于逃逸,假阳性

DECANTeR:使用被动应用指纹技术对正常流量进行建模,不依赖于任何恶意样本
假设: 指纹特征动态适用于应用,内容特征代表流量的静态模式

论文内容

  1. 提出DECANTeR:基于被动应用指纹技术,检测出站异常HTTP流量。DECANTeR可适用于host行为变化
  2. DECANTeR和DUMONT对比,DECANTeR检测性能更佳,并且难以逃逸
  3. 公开数据集

数据集

user dataset

某个大学的9个研究机器,123776个HTTP request、超过493小时流量
在这里插入图片描述

organization dataset

he traffic was inspected using Bro 19
3773106 HTTP 请求,441 个host,307053 指纹

数据泄漏软件

使用Cuckoo在每个样本的虚拟机(VM)中分析了大约60分钟的数百个恶意软件样本

删除了生成少于100个字节的HTTP流量的所有网络数据样本

这些样本属于8个信息窃取恶意软件系列:iSpy,Shakti,FareIT,CosmicDuke,Ursnif,Pony,Dridex和SpyEye

Randsomware 勒索软件

从FSShield [7]的作者那里获得了290个pcaps

CryptoWall,CryptoDefense,Critroni,TeslaCrypt和Crowti

实验内容

建模部分

背景:企业通过无法绕过的网络监视器路由所有流量来监视其主机的网络流量
使用HTTP原因:

  • 绝大多是恶意软件使用HTTP
  • 很多企业防火墙可能会拦截非web流量(企业也会设置TLS-MITM代理他们的网络)

一个host在不同应用上产生的流量 A = { a 1 , … , a n } A = \{a_1, \dots , a_n\} A={a1,,an},产生的指纹 F a I F_{a_I} FaI, H H H即为F的并集。

传统的指纹识别解决方案通过离线和通常完整的数据集创建指纹,其中根据不同的输入动态分析应用程序,以触发嵌入其中的所有可能行为;

challenge

  • 从实时流量生成应用程序的指纹,这可能是不完整的(由于有限的捕获时间)和异构(由于相同应用程序随时间的不同消息)
  • 系统应该提供更新机制,以防由于安装在主机上的新软件而产生新的指纹

Model

  • train:系统在固定时间内被动地为每个主机学习其指纹集
    1. label:HTTP request 聚类+标记(聚类依据UA)
    2. 指纹产生:从聚类中生成指纹
    3. 结果:每个受监控主机的一组指纹
      • 训练是在主机处于无恶意软件状态时完成的
      • 训练阶段排除所有被外部威胁情报标记为恶意的请求
  • test:每X分钟运行一次。在X内被动提取指纹,当超时发生时,DECANTeR确定与训练的指纹相比是否有任何新提取的指纹是异常的
    1. label
    2. 指纹产生
    3. 检测:检测模块通过不同的相似性检查来验证这些新提取的指纹是否是异常的

检测方式是HTTP request,GET和POST占主体部分

系统细节

  • label:UA:根据用户UA聚类以区分不同应用,正常流量保证所有这些请求都是由同一个应用程序生成的。分析每个群集,并根据其应用类型为其分配标签。 此模块运行特定的超时,我们称之为聚合时间t。 在测试模式期间,t是X分钟的固定时间窗口,而在训练模式中,t匹配训练周期的长度。 当t结束时,每个标记的簇被传递到下一个模块
  • 应用类型:后台VS 浏览器;后台流量具有可预测的行为,并在其通信中显示固定模式;浏览器直接依赖于用户操作和特定访问网站
  • label 方式:区分后台和浏览器:利用浏览器流量的动态行为来实现这一目标(浏览器会生成其他HTTP流量)

在这里插入图片描述

头节点,产生的流量链接至头节点,产生的图视为一个浏览器;断开的流量聚合具有相同URI(没有参数)的所有请求来查找重复请求,并验证它们的头字段和值随时间变化是相似的。所有具有参数的POST或GET以及随时间重复的请求都被视为后台请求,并将它们插入到新的群集中。其他已断开连接的节点将插入浏览器群集中。如果没有连接节点,我们检查断开连接的节点是否连接到前一时隙t-1的图形

  • 指纹产生:Host、Constant Header FIelds、平均request大小、UA、accept-language、outgoing information:跟踪群集中的请求传输了多少信息
  • 通过检查User-Agent,Language和Outgoing Infor- mation来为浏览器应用程序建模。 这些功能分别捕获固定通信模式,这些模式是后台和浏览器应用程序的特征。
    -检测 计算test、train 不同应用F的相似性
  • 指纹更新 计算UA相似性,设置阈值,认为相似则更新
  • 相似性函数计算 前四个特征的相似度计算
  • 浏览器相似度函数 后两个相似度计算相加

评估部分

UD、RAN、DEM pcap文件,使用Bro处理
UD:将没有匹配到任何机器的UA值视作恶意
RAN、DEM:在没有运行恶意软件的情况下收集虚拟机的流量视为正常
OD:ThreatCrowd (https://www.threatcrowd. org/) and VirusTotal (https://virustotal.com/).

UD:第一天工作日视为train,后面是test。train中移去恶意流量
RAN,DEM:正常流量train、恶意test
OD:第一周train、其余为test

参数选择: / t h e t a = 1000 /theta = 1000 /theta=1000 多少new information 产生指纹
t = 30分钟
在这里插入图片描述

识别性能: 如果指纹包含至少一个先前标记为恶意的请求,则会将其标记为恶意,否则它们将被视为良性。

UD:117恶意指纹
RAN、DEM:8恶意指纹

对比实验
DUMPNT : SVM 17个HTTP不同特征,不能用于加密的HTTP post

在这里插入图片描述

逃逸测试
恶意软件试图模仿浏览器用户代理字符串

通过将原始用户代理值替换为VM浏览器(在这种情况下是受害者)来修改DEM和RAN日志中的所有恶意请求。我们对accept-language标题做了相同的操作,如果它不存在,我们将它注入日志中。

逃逸

  1. 根据$/theta $和t的值进行逃逸——随机两个值的选择
  2. 恶意软件可以通过模仿浏览器的动态行为并将其用户代理和语言字符串修改为受害者的浏览器来逃避——真正的恶意通信没有显示任何动态模式
  3. 模拟已安装的后台应用程序——1)恶意客户端应该调整其请求的常量标头,这可能会与服务器实现产生兼容性问题; 2)后台应用程序的平均大小通常很小,因此要避免检测恶意软件也应该生成小的请求。
  4. 使用与真实浏览器生成的头节点请求匹配的Referrer字段创建请求——这种攻击非常先进,因为恶意软件应该能够监控网络并根据实时流量详细信息调整其内容
  5. 说服DECANTeR用恶意指纹更新良性指纹来试图破坏指纹更新机制——DE-CANTeR可以通过监视旧的用户代理字符串(在更新发生之前)来检测这一点

论文创新点

  • 通过对良心流量地训练,生成指纹检测出异常恶意流量
  • 使用图的思想区分正常 & 背景流量
  • 性能好

讨论

  1. DECANTeR依赖于图,当网站不需要HTML本身以外的其他资源时,在这种情况下,这些请求不存在图形
  2. 当非浏览器应用程序使用REFERER字段(例如,云存储或聊天客户端)时
  3. DECANTeR可以通过多种方式得到改进。例如,我们可以改进标记方法或指纹比较和生成的方式,这仍然处于实验阶段。另一个想法是用浏览器配置文件(或反之亦然)交叉检查背景,但这也会增加FN的风险,因此我们不认为它是一个好的选择。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值