Deciphering Malware’s use of TLS (without Decryption)阅读笔记

时间:2016年
作者:Blake Anderson等
下载地址:https://arxiv.org/abs/1607.01639

一、研究内容

(1)分析企业流量使用的TLS参数与恶意流量使用的TLS参数有哪些不同。
(2)分析不同恶意流量家族之间TLS参数有哪些不同。

二、准备工作

(一) 数据集

收集流量数据的位置是在客户端,若想收集客户端的流量就收集出口流量,若想收集服务端的流量就收集入口流量。
只收集443端口TLS流量
使用DPI技术或判断是否有TLS版本,ClientHello和SeverHello字段,来确定某一条流是否是TLS流

  1. 恶意流量:
  • 收集方法:商业沙盒,Windows XP操作系统
  • 收集时间:2015年8月~2016年5月,每个恶意流量值收集最初的五分钟流量。
  • 判定方法:使用VirusTotal检测,被至少4家杀软认定为恶意流量。
  • 家族:18个恶意流量家族(如果恶意流量A,安装了B和C,则B和C产生的流量被分类为A)。
  1. 企业流量:
  • 收集方法:一个拥有约 500 个活跃用户和约 4,000 个唯一 IP 地址的企业网络,Windows 7操作系统
  • 收集时间:2016年5月的四天,6月的4天。共收集1,500,005条

(二) 特征提取

  1. Flow metadata(流的元数据,Meta):入口字节数、出口字节数、入口数据包数、出口数据包数、源端口、目的端口和流持续时间
  2. Sequence of Packet Lengths and Times(数据包长度和时间序列,SPLT):每个流的前50个数据包的长度和包间到达时间间隔序列(丢掉没有载荷或重传的数据包)。用马尔科夫链处理SPLT特征 。(有点不明白这个地方是怎么实现的,需要补充一些马尔科夫链的知识)
  3. Byte Distribution(字节分布,BD):是一个长为256的数组,用来记录流中每个数据包的载荷大小出现的次数。(这个地方是怎么既表示大小又表示出现次数的?是用每个索引代表载荷的大小然后索引对应的值就是出现的次数吗)
  4. Unencrypted TLS Header Information(TLS握手过程的明文信息,TLS):ciphersuite list、TLS extension、 client’s public key length
  5. certificate 是否是self-signed(SS)

(三) TLS流量特征分析

  1. 恶意流量与企业流量

(1)TLS客户端角度:

  • ciphersuite lists:恶意流量与企业流量支持的密码套件不同,恶意流量支持的密码套件更弱;
  • advertised TLS extensions:恶意流量支持很少的TLS扩展;
  • The client’s public key length:企业流量使用512bits,恶意流量使用2048bits;
  • TLS client parameters:企业流量的客户端版本更新。

(2)TLS服务端角度:

  • ciphersuite lists:恶意流量连接的服务端选择的密码套件更弱;
  • advertised TLS extensions:恶意流量连接的服务端很少选择的TLS扩展,企业流量连接的服务端选择各种各样的TLS扩展;
  • the servers’ certificates:恶意流量同样会连接到正常的服务器,也会连接到使用DGA(域名生成算法)生成的域名所对应服务器;
  • self-signed:恶意流量使用自签名证书频率高一些。
  1. 恶意流量家族之间

(1)TLS客户端角度

  • 使用的Client
  • 具有独一无二的密码套件的个数
  • 频繁公布的扩展
  • Client的公钥长度(加密传输数据的密钥

(2)TLS服务端角度

  • 连接到独一无二的IP地址
  • 使用自签的频率
  • certificate subject

三、实验设计

  1. 分类器:4个具有l1惩罚的逻辑回归分类器
  2. 每个分类器使用特征:
  • Meta、SPLT、BD
  • TLS
  • Meta、SPLT、BD、TLS
  • Meta、SPLT、BD、TLS、SS

(一)二分类实验(恶意流量与企业流量)

  1. 数据集:
  • 处理方法:在原始数据集的基础上去除使用与WindowsXP SChannel实现的TLS库有序密码套件列表相同的TLS流,去除了大概40%的恶意流量,大概0.4%的企业流量。随机选取企业流量的一个子集。
  • 恶意流量数量:225,740条(总);133,744条(除)
  • 企业流量数量:225,000条(总);135,000条(除)
  1. 实验结果分析:不使用TLS头信息会导致性能显著变差。删除Windows XP SChannel TLS流对基于所有分类器的总精度没有影响。

(二)多分类实验(恶意流量家族之间)

实验二:分析不同恶意流量家族之间TLS参数设置的不同之处

  1. 数据集:
  • 处理方法:在2015年10月~2016年5月收集的恶意流量基础上,去除没有匹配到家族的,或不足100条。共收集18个家族的25,793个TLS流。使用二分类中用到的企业流量的数据集。
  • 恶意流量数量:(没有去除与使用与WindowsXP SChannel实现的TLS库有序密码套件列表相同的TLS流)
    2015年8月~2015年9月收集的76,760条作为训练集的正样本;
    2015年10月~2016年5月收集的数据作为测试集的正样本。
  • 企业流量数量:225,000条作为训练集的负样本
  1. 实验结果分析:对SS的识别是至关重要的。

你可能感兴趣的:(论文阅读笔记,加密流量)