一、已知威胁与未知威胁
17世纪之前的欧洲人认为天鹅都是白色的,直到有一天在澳大利亚发现第一只黑天鹅,这就是“黑天鹅事件”。这使得之前的人们“天鹅都是白色”的观念崩溃了。黑天鹅事件的存在寓意着“未知的事比你知道的事更有意义”。在人类社会发展的进程中,对历史和社会产生重大影响的,通常都不是我们已知或可以预见的东西。而我们平常所说的“未知”,其实我们是意识到了这种未知的存在,即使不清楚到底是什么或者程度有多深。但是还有很多是我们压根没有意识到的“未知”。过去,人们对“已知的未知”投入了很多精力进行防范和预测,对“未知的未知”却缺乏关注,但真正造成伤害的正是这些“未知的未知”。
当下的安全攻防最大一个特点就是:未知攻击会越来越多,企业所面临的攻击工具可能是从来没有使用过,或者身边的监控视野范围没有看到过的。因此,在网络安全行业里,“未知威胁”也同样具有很大的破坏力。举个例子来说:“某家网络公司的数据遭到了丢失、篡改,运维人员却无法找到此次攻击的根源所在。”如此一来,既然被攻击的原因与所有已知的漏洞与威胁都不匹配,则这个公司很有可能是被一种新的攻击手段攻击了,在网络安全领域,这叫做“未知威胁”。未知威胁又分为两种,一种是能预测到可能会发生的,可以一定程度上进行防范的,称为“已知的未知威胁”,而另一种则是无法预测,因此让人觉得无从防范的,则称为“未知的未知威胁”。
例如之前热炒的“威胁情报”,就属于“已知的未知”,对某个单位来说是未知威胁,但在别的地方早就已经发生过了,这种情况则可以共享“威胁情报”实现已知的未知威胁的发现。传统威胁检测方法就是基于特征或规则的,这要求算法必须提前学习到威胁的特征或者规则,才可以识别对应威胁。如果依据已知的威胁情报,能够判断出是当前的发生的威胁与哪一种已知的威胁最为相似,则可以是说这种威胁为“已知威胁”。然而,面对全新品种的恶意软件,其入侵指标(IOC)自然就不为人知,因此又怎么能检测出最新的威胁呢?这种情况叫做“未知的未知威胁”。
对于这些未知威胁,某种程度上来说是无法预测的。如果无法预测,那又该怎么办?此时需要转换思路,需要将“未知的未知威胁”转为“已知的未知风险”的控制问题。比如,通过基于流量分析的威胁检测,来发现未知手段的黑客入侵行为。异常不一定是威胁,但一般来说威胁一定有异常。几乎所有恶意软件,包括0-Day攻击等,攻击进行时都会表现出一些异常行为。如果能发现这些异常行为,则为发现潜在威胁提供了线索。虽然,在海量的主机数据中寻找异常线索十分困难,但也并非无迹可寻的。这就好比有经验的警察,可以根据一个人异常表情、微小动作来判断一个人是否有嫌疑一样,基于异常的检测需要根据文件、进程等信息的偏离情况,对收集上来的信息进行分析,来发现异常现象,再通过对异常的深入分析则可以获得可能存在的威胁。
二、基于流量的未知威胁检测
2.1 问题描述
针对网络流量的未知威胁检测任务,这里将其转化为分类任务。假设网络上的任意两个节点可以通过网络服务提供商进行通信。通信节点A传信息给通信节点B,其信息存储在数据包中,这些信息可以作为网络流量数据的形式被捕获到,并存于文件中。每个数据包都有一组字节数,具有相同五元组(源IP地址、目标IP地址、源端口、目标端口和传输协议)的数据包形成一条网络流。然后结合每个流量数据的日志可以获得流量的标签为:
分别是异常流量、可疑流量、通知过的流量和正常流量。然后构建深度学习模型对流量数据进行分类,输出流量数据的标签。由于网络环境的变化和未知威胁的出现,使得传统的模型对网络未知威胁检测能力下降,检测准确率降低。为了缓解该问题,将迁移学习引入网络未知威胁检测任务中。
域自适应技术常通过学习源域和目标域间的公共特征子空间,也就是共享表示,以此来减小两个域间的差距。域划分网络DSN模型作为一种学习共享表示的方法,通过设计一个目标函数进行域划分网络的训练。该网络包含了源域私有编码器、目标域私有编码器、共享编码器、共享解码器和分类器,但是该模型只是提出一种共享表示的学习思想,由于原论文中针对图像任务进行迁移,编解码器都是使用卷积神经网络结构,还不能适用于流量分类任务。
域划分网络DSN通过一个复杂的目标函数设计进行共享表示网络的学习,且其网络结构单一的使用卷积神经网络;对抗域自适应网络DANN引入对抗学习的思想,但是其缺乏对原信息的完整建模。这两种方法都是应用于图像领域的迁移学习,针对网络流量的未知威胁检测任务,需要进一步进行模型的改进和提升。首先,我们考虑引入卷积神经网络和循环神经网络作为特征提取部分,应用于共享表示学习网络中,同时结合对抗学习,对原信息进行完整的建模的同时,通过域判别器有效地学习目标域和源域的共享表示。
2.2 网络未知威胁检测模型
针对网络未知威胁的检测的深度域自适应模型的详细框架图如图18所示。采用时空特征提取方法的网络结构作为相关的表示学习,在构建完整信息的同时,通过对抗学习进行共享表示的学习。在模型中,有两个网络进行对抗训练来学习源域和目标域间的共享表示,一个是共享表示判别网络,目标是尽可能准确判断生成的共享表示是来自于源域还是目标域;另一个是共享表示生成网络,目标是尽可能生成共享表示,使得判别网络无法区分数据来自于源域还是目标域。
如图18,深度域自适应模型由两个私有编码器(private encoder)、一个共享编码器(shared encoder)、一个重构解码器(reconstruct encoder)、一个域判别器(domain discriminator)和一个任务相关的分类器(task classifier)组成。源域私有编码器 和目标域私有编码器分别用于学习源域和目标域的私有表示。重构解码器 D 通过私有表示和共享表示的叠加作为输入来构建原来的完整的表示信息,而任务分类器 C 通过源域中的标签和共享表示学习任务相关的信息表示。共享编码器作为共享表示生成网络,对源域和目标域之间的共享表示进行建模;域判别器则作为共享表示的判别网络,通过对抗训练中的博弈帮助共享表示网络更加有效地学习源域和目标域间的共享表示。
图18 深度域自适应模型框架图
2.3 模型方法验证及分析
由于MALILab数据集为不平衡数据集,本文采用准确率和带权重的、召回率、精准率作为评价指标,衡量模型检测的性能。准确率是指所有预测准确的样本占全部样本总数的比率。 MALILab数据集中网络流量的标签有四种,对应的检测任务为多分类任务。计算每个类别的TP(真阳性数)、TN(真阴性数)、FP(假阳性数)和FN(假阴性数)时,将当前类别视为正样本,其他所有类别视为负样本。各个评价指标的公式如下所示。