论文题目:Network Flow Watermarking: A Survey
期刊(会议): IEEE Communications Surveys & Tutorials
时间:2016
级别:中科院1区
文章链接:https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7570208
被动流量分析(Traffic Analysis, TA)有三大缺点:1) 它需要使用复杂的机器学习算法,而这些算法通常无法在可扩展性和准确性之间实现最佳平衡;2) 需要大量的样本流量来提前训练机器学习算法;3) 容易受到流量扰动的影响,这可能是由于正常的网络行为造成的,也可能是由于对手恶意操纵流量造成的。
为了解决上述的一些弊端,该领域已经提出了主动TA算法。网络流量水印是一种主动式TA,它将水印嵌入选定的流量中,以识别网络中特定点的流量。
Zander 等人概述了计算机网络协议中现有的隐蔽信道,并根据隐蔽信道所传递信息的发送方和/或接收方是否同时也是合法信道所传递信息的发送方和/或接收方,区分了四种可能的通信情况。传输信息的合法系统通常被称为 “公开渠道”。图1展示了 Zander 等人描述的四种通信场景。
在第一种情况下,合法通信的发送方和接收方同时也是隐蔽通信的发送方和接收方。在第二种情况下,合法接收者和隐蔽接收者是同一个实体,而隐蔽发送者与合法发送者不同,后者不知道自己的通信被第三方用作隐蔽信道。相反,在第三种情况下,合法发送方和隐蔽发送方是同一个实体,而两个接收方则不同。在最后一种情况下,两个隐蔽信道端点与合法端点完全不同。
网络流水印是隐蔽信道的一种特殊情况,属于图1所示的最后一种通信场景。分析者应能够在源头附近主动、有意识地改变选定流量的某些统计特征,以便在流量中嵌入特定模式(水印)。由于水印的存在,在任何观察点都能轻易识别目标流量。
在互联网的两个或多个不同观测点识别相同的流量是网络流量水印的主要目标。这一特定目标通常被称为 “网络流量识别”、“流量链接”、"流量关联 "或 “流量回溯”,具体取决于参考场景和上下文。通常情况下,这种识别的结果是确定网络中流量从源节点到目的节点的路径(部分或全部)。
合法目标是指在计算机网络背景下,所有旨在改善服务和性能或反对恶意/非法行为的追求目标。
即使设计网络流水印的目的是合法的,它也可能被用来试图破坏互联网上的隐私或安全。
TOR、Crowds、Anonymizer.com、DC-net、GAP和Hordes是为提供匿名和私密通信而开发的一些技术平台。尽管它们都可能受到主动和被动TA的攻击,但只有TOR和Anonymizer.com在水印攻击下进行了测试。
网络流量水印技术由两个主要部分组成:水印嵌入器和水印检测器。这两个部分的位置是根据所追求的目标和预期观察目标流量的位置进行设计选择的。水印嵌入器负责将信息转换为具有特定特性的水印代码,并将其嵌入目标流中。相反,水印检测器观察通过特定节点的网络流量,并分析流量特征以检测带水印的流,然后解码水印从而获得嵌入其中的信息。图3描述了这两个部分的主要步骤。
我们将信息流视为从信息源发送到目的地并流经网络的单向有序信息序列。信息源在应用层生成的信息可以被分片/聚合和加密,然后根据互联网协议套件封装成IP数据包流。由于加密的原因,被动观察者通常无法读取应用层的报文。因此,大多数文献都将网络协议层的流量考虑在内。IP层的流量是单向有序的IP数据包序列,由五个IP属性的相同值标识:IP源地址、IP目的地地址、源端口、目的端口和IP协议字段。值得注意的是,由于代理的原因,同一应用流可以在网络的不同点由不同的IP 层流承载。此后,承载同一应用流的两个或多个IP流量被视为同一流量。
按照图3中的示意图,我们描述了水印器进行的四种操作:过滤、编码、传播和嵌入。编码和传播可在离线模式下进行,而过滤和嵌入只能在线实时进行。
水印检测器是一个组件,专门用于被动地观察网络中特定点的流量,分析流量特征,并确定观察到的流量中是否嵌入了水印。在系统考虑传输比特序列的情况下,必须识别正确的序列。一个或多个识别器在网络中的具体位置主要取决于人们希望在哪里观察到带水印的流量。
我们考虑了水印识别过程中的两个主要阶段:特征提取和解码。
我们将水印解码算法分为两类:"盲 "算法和 "非盲"算法。当水印是非盲的时候,识别器需要知道在水印嵌入点测量到的载波值才能做出判断,而在盲水印系统中,检测器可以根据在检测点观察到的特征做出判断。
为便于比较,表I列出了文献中提出的主要算法的目标、分集方案、载体和盲区特征。值得注意的有以下几点。尽管水印技术已在多个场景中被采用,并实现了许多不同的目标,但追踪基于网络的攻击无疑是最受追捧的目标。这是因为识别攻击源和攻击者的位置仍然是具有挑战性的问题,也是从事网络安全研究的科学界特别感兴趣的问题。其他情况引起的好奇心较少,但值得注意的是,网络流水印可以在不同环境下以多种方式使用,并具有不同的目标,而这些目标往往是相互对立的。
与基于大小、内容和速率的解决方案相比,基于时序的算法通常更受青睐,这主要是由于数据包时间更容易操纵,时序改变也更难被第三方识别。此外,在基于时序的算法中,均值平衡算法更受青睐,其主要原因是这类算法会给目标流量的每个数据包增加短时延时。
图5显示了攻击水印的一般场景。我们确定了两种攻击方式:被动攻击和主动攻击。在被动攻击中,敌方只能通过观察流量来发现流量中存在水印,但与水印检测器不同的是,敌方对用于嵌入代码的秘密参数一无所知。这种威胁也被称为 “隐形攻击”。在主动攻击中,敌手可以操纵流量的统计特征来移除嵌入流中的信息。这种攻击旨在破坏水印算法的鲁棒性和检测器识别水印的能力。
水印系统的质量可以根据检测水印流的能力、水印的隐蔽性以及对攻击的鲁棒性来评估。下面列出了较常见的评价指标,表 III 则显示了主要水印方法所衡量指标之间的比较。
本文研究了水印在流量分析中的应用。通过在流量特征中嵌入特定的可识别模式(水印),可以使流量分析工具变得更简单、更稳健。文献中包含大量与流量分析这一分支相关的工作,我们对这些工作进行了收集、分析和分类。特别是,我们指出了网络流水印所要解决的目标和问题,强调了恶意目标与合法目标之间的差异。我们还详细介绍了创建网络流水印系统的一般架构。分析表明,设计此类系统最重要的方面之一是选择水印载体。
虽然水印系统在结构和算法方面都具有低复杂性的特点,但水印应具备两个重要特性,即鲁棒性和隐蔽性。这两个特性使得水印算法的创建更具挑战性。要取得令人满意的结果,还有许多工作要做。