Machine Learning for Encrypted Malware Traffic Classification: Accounting for Noisy Labels and Non-Stationarity–阅读笔记
论文来源:2017 KDD
论文链接
Abstract
加密恶意软件流量分类的机器学习:考虑噪声标签和非平稳性
不准确的基本事实和高度不固定的数据分布使得机器学习算法在恶意网络流量监测中结果不理想。
作者基于现实世界的制约,提供了具体的建议。
Introduction
除了被动监控要求之外,准确地识别单个基于会话级别上的恶意网络流量是必要的,因为它能保证网络设备(如路由器和交换机)有效地执行网络策略。
利用加密的网络传输的百分比正在迅速增加,恶意软件作者也利用这一趋势来逃避基于签名的检测。
由于隐私、法律和技术原因,使用中间人解密传输,然后使用传统技术来检测威胁并不理想。
考虑到上述约束条件,对加密网络会话的元数据进行机器学习是一个自然的解决方案。
网络数据中的不准确的基础事实和非稳定性使得机器学习难以达到满意的效果。
获取标记数据进行培训的最直接的方法是使用沙盒环境运行恶意软件,并收集样本的相关数据包捕获文件,以获得正面标记的恶意数据,并监视网络并收集所有负面标记的良性连接数据。
网络数据中的不准确的基础事实:
- 对于良性的情况,即使在使用IP黑名单过滤数据集之后,通常会有一个不可忽视的网络流量百分比被认为是可疑的。
- 对于恶意案件,恶意软件样本通常会执行连接性检查或其他固有的良性活动。
网络数据的非稳定性:
- 在用户层面上,网站和服务的流行频繁变化。例如,将托管的云存储从box.com转换到google.com/drive/将对观察到的加密传输模式产生影响。
- 在网络和协议级别,当TLS 1.3或HTTP / 2 等新协议发布时,可以引入更改点。这些修订可以显着影响握手和应用层消息的结构,影响用于分类的数据特征。
作者通过实验测试六种常见算法在面对网络安全领域中不准确的基础事实和不断发展的数据流时的表现。
作者还提供了用于此问题的标准特征集与在领域专家的帮助下开发的自定义特征集之间的比较。
一般来说,追求对数据的更深入的理解和对数据生成过程的反复证明是非常有价值的。
附加的数据特征可以减轻准确的地面真实标签方面的一些负担:恶意软件通常通过访问标准网站(例如https://www.google.com)来执行连接检查。标准的检测不可能从这种标准网站开始区分,但是,如果包含关于连接的附加功能(如TLS握手元数据:TLS提供有关始发客户端的信息)则可以区分这两种情况。
作者在算法和数据特征方面为从业者提供了具体的建议,以正确和健壮地对加密的恶意软件通信进行分类。
Background
TLS (运输层协议)是保护许多纯文本应用程序协议的主要协议,例如,HTTPS是TLS上的纯文本HTTP(应用层)协议。
一个简单的TLS会话的图形表示:
客户端最初发送一个ClientHello消息(未加密),该消息为服务器提供了一个密钥套件列表和客户端支持的一组TLS扩展:
- 密钥套件列表按照客户端的优先顺序排列,每个密码套件定义一组TLS运行所需的加密算法。
- TLS扩展扩展为服务器提供了附加信息,以便于扩展功能。
ClientHello之后,服务器发送一个ServerHello消息,其中包含:
- 从客户机列表中选择的选定密码套件,该列表定义了将用于保护交换的应用程序数据的一组加密算法。
- 服务器支持的扩展列表,其中该列表是客户端支持的子集。此时,服务器还会发送一个包含服务器证书链的证书消息,该证书消息可用于对服务器进行身份验证。
客户端然后发送一个ClientKeyExchange消息,建立TLS会话的预主密钥。
- 客户端和服务器交换ChangeCipherSpec消息,指示将来的消息将使用协商的密码参数进行加密。
- 客户端和服务器开始交换应用程序数据。
Algorithms
Linear Regression
线性回归: 找到一个线性模型,使得系数向量w使数据样本和标签之间的残差平方和误差最小。
- 优点:有利于训练/测试,并且通过权重向量与数据特征之间的相互作用可以容易地解释所产生的预测。
- 缺点:依赖于数据特征的缩放,不能模拟非线性函数,并且即使在数据是线性可分的情况下,经常在分类设置中表现不佳。
Logistic Regression
逻辑回归返回一个适当的概率,可以解释为一个特征向量属于一个特定类别的概率。 我们使用了逻辑回归的两个不同版本: l