技术领域
[0001] 本发明涉及加密视频流量识别方法,属于网络流量识别领域。
相关背景技术
[0002] 加密视频流量识别研究工作首先会从加密视频流量中提取有效特征。其中一部分研究工作提取加密视频流量的时间序列特征构造指纹进行匹配。另一部分研究提取加密视频流量的多维特征,然后使用深度学习模型进行训练识别。
[0003] 从加密视频流量中提取视频块序列作为流量指纹,在指纹库中匹配得到对应的视频,这种识别流程主要应用时间序列相似性匹配技术。Gu等人[1]采用差分的思想改进了DTW,提出P‑DTW来匹配视频指纹。Wu等人[2]对指纹进行了差分变换,然后用滑动窗口对齐视频指纹。Yang等人[3]使用马尔科夫链将视频指纹转化为张量形式,再通过比较张量之间的相似度来进行匹配。
[0004] 基于深度学习的方法会提取加密视频流量的多维特征,然后放到神经网络中进行训练,最后将训练好的模型用于识别加密视频流量。Bae等人[4]提取加密视频流量的DCI信息输入到CNN中,再将CNN放到LTE网络中进行识别。
[0005] 目前视频主要通过DASH进行加密传输,然而,一方面QUIC开始渐渐代替TLS作为DASH的加密协议,另一方面复杂的网络环境和多样的浏览方式,都会使流量相比以往发生严重失真。基于时间序列的方法大多用到了DTW或者其变体,这些方法不依赖大量的数据集资源进行训练,在小规模的应用场景下表现的很有效。但是当加密视频流量规模变大,指纹库会同等增大,效率就会明显降低。深度学习模型使用大量数据进行训练,可以使自身的识别精度很高,但需要大量的数据。另外它非常不适合在真实网络环境中运行,因为当需要将新的视频添加到模型时,整个模型需要重新训练,其耗费的资源是十分庞大的。
[0006] 参考文献:
[0007] [1]Jiaxi Gu,Jiliang Wang,Zhiwen Yu,and Kele Shen.2019.Traffic‑Based Side‑Channel Attack in Video Streaming.IEEE/ACM Transactions on Networking 27,3(2019),972‑985.
[0008] [2]Hua Wu,Zhenhua Yu,Guang Cheng,and Shuyi Guo.2020.Identification of Encrypted Video Streaming Based on Differential Fingerprints.In IEEE INFOCOM 2020‑IEEE Conference on Computer Communications Workshops(INFOCOM WKSHPS).74‑
79.
[0009] [3]Luming Yang,Shaojing Fu,Yuchuan Luo,and Jiangyong Shi.2020.Markov Probability Fingerprints:A Method for Identifying Encrypted Video Traffic.In 2020 16th International Conference on Mobility,Sensing and Networking(MSN).283‑290.
[0010] [4]Sangwook Bae,Mincheol Son,Dongkwan Kim,CheolJun Park,Jiho Lee,Sooel Son,and Yongdae Kim.2022.Watching the Watchers:Practical Video Identification Attack in LTE Networks.In 31st USENIX Security Symposium(USENIX Security 22).USENIX Association,Boston,MA,1307‑1324.
具体实施方式
[0032] 下文结合图1用详细步骤介绍本实施例的步骤。
[0033] 1.提取视频指纹
[0034] 视频文件分为fmp4和webm两种格式,sidx和cues分别是fmp4和webm内的一种控件,用来存储视频片段和关键帧的相关信息。视频段信息在sidx和cues中的索引值在视频网页元素的“adaptiveFormats”中,“indexRange”中的“start”和“end”分别为视频段信息的开始索引和结束索引。sidx中的“Reference_Size”和两个相邻cues中的“Cluster Position”之差就是视频段的大小,这样就可以从视频头文件中提取出视频段序列作为视频指纹。
[0035] 2.构建视频指纹库
[0036] 针对不同检测领域或检测方向甚至于具体视频,可以灵活建立不同的视频指纹库。把上一步骤中得到的视频段序列进行组合封装得到视频指纹库。基于使用者需要,可以提前建立不同检测领域的视频指纹库,在需要时可以直接调用或拼接后直接调用作为识别模板。
[0037] 3.视频指纹转换
[0038] 视频指纹所构建的视频指纹库作为识别模板,流量指纹作为识别目标。但是视频指纹为视频段序列,流量指纹为视频块序列,需要将视频指纹转化成与流量指纹相同的视频块序列形式,才能使视频指纹和流量指纹进行匹配。视频块是由若干个视频段组合而成,所以可以将视频指纹中的视频段进行组合形成视频块序列,称为视频中间指纹。视频段的组合有两个规则,规则一:视频段倾向于尽量多地进行组合,直到达到所能组合的最大大小。规则二:视频指纹的前几个视频段的组合方式较为随机。
[0039] 随机游走通常用来表征不规则的变动形式,一维的随机游走模型也可以看作一个马尔可夫链,当游走达到稳态后,每个节点被访问的概率符合一种特定的分布。将视频指纹作为游走序列,在游走时遵循规则一和规则二,另外还有规则三:游走是单向向后。以最终的游走概率来进行视频段的组合。假设有视频指纹VF={s1,s2,…,sn},s为视频段,则某一次的游走结果为RW={r1,r2,…,rn},ri为1则表示第i个视频段被游走访问,为0则表示没有被游走访问。假设一共迭代m次游走,第i个视频段被游走的频率公式为
[0040] 其中RWj表示第j次游走的结果。视频指纹在游走m次后的游走频率向量为Frem=(fre1,fre2,…,fren),迭代完游走之后再迭代游走概率,将游走m次后的游走频率向量作为m初始游走概率向量P0=Fre,则第t次迭代的游走概率向量公式为Pt=(1‑θ)·P0+θ·Pt‑1。
[0041] 其中θ为阻尼因子,表示游走策略选择向前的概率,不允许向后游走,所以1‑θ表示指原地不动的概率。多次迭代游走概率后,每个视频段被游走的概率会趋于稳定,将最终的游走概率向量Pm=(p1,p2,…,pn)做Sigmoid变换判断,公式为
[0042] ui为判定因子,ui为1表示第i个视频段为一个组合的终点,得到最终的判定向量U=(u1,u2,…,un)。将相邻的值为1的判定因子中所夹的视频段进行组合,例如u4=u7=1,u5=u6=0,则应当将第5、6和7个视频段组合成一个视频块。
[0043] 4.提取流量指纹
[0044] 首先根据五元组{srcIP,srcPort,dstIP,dstPort,Protocol}将流量以流为单位划分。
[0045] 对于基于TLS加密TCP传输的DASH加密视频流量,根据TCP握手中的SNI从加密流量中提取出加密视频流量。在加密视频流量中传输相同视频或音频内容的数据包的ACK相同,并且视频内容会按照顺序传输,所以可以根据ACK从加密视频流量中提取视频块序列。
[0046] 对于基于QUIC加密的DASH加密视频流量,首先通过判断流大小从加密流量中提取出加密视频流量,经过统计大于4MB的流有91.9%的概率为加密视频流。两次上行数据包中间所夹的下行数据包之和即为一个视频块的大小,可以从加密视频流量中提取视频块序列。
[0047] 5.指纹匹配
[0048] 将视频块视为词,则序列就为文档,其中视频块序列的子集就为句子。通过计算序列子集的频率来计算指纹的相似度,若流量指纹与视频指纹库中某条视频中间指纹的相似度最大,则认为加密视频流量来自这个视频。匹配算法如图2所示。
[0049] 假设视频指纹库FD={v1,v2,…}有若干视频指纹 是视频v在某种itag下的视频指纹,s为视频段。视频指纹转换后得到视频中间指纹c为视频块。提取出流量指纹TF={c1,c2,…}。首先将视频块的大小范
围划分为平均大小的多个区域,区域的划分公式为 其中area为区域
的大小,sizemax为视频块的最大值,一般为2MB,sizemin为视频块的最小值,一般为600KB,are_num为区域的数量。将每个视频块划分到对应的区域,公式为 将视频块
sn
c划分到第sn个区域,则该视频块转化为单词W ,流量指纹TF转化为流量指纹文档TT={w1,w2,…},视频中间指纹 转化为视频中间指纹文档
[0050] 文档T中的句子集合为Sen={sen1,sen2,…},每个句子长度相同,本实施例中设定句子长度为2,则句子集合为Sen={w1w2,w2w3,…}。文档中同一个句子可能出现多次,使用来记录句子sen在文档T中出现的次数。
[0051] 首先从宏观角度上进行分析,计算每个句子在视频指纹库中的频率,公式为就是视频指纹库中所有视频中间指纹文档的句子总数, 就是sen在视频指纹库中出现的次数。接下来使用句子频率来计算视频中间指纹与流量指纹的相似度。第一个阶段从宏观角度计算在视频指纹库层面视频v的视频中间指纹与流量指纹的相似度,公式为
[0052] 可能出现多个视频的视频中间指纹与流量指纹相似度一样最大。这时进入匹配的第二个阶段。然后从微观角度分析,计算每个句子在某文档下的频率,公式为就是文档T中句子的总数。第二个阶段将进一步从微观角度使用文档句子频率计算在文档层面视频v的视频中间指纹与流量指纹的相似度,公式为
[0053]
[0054] 如图3所示,为了提高方法效率和计算速度,本发明还提出一种频率字典的存储结构:视频中间指纹通过TLM算法得到视频中间指纹句子集合,记录每个句子的指纹库频率和文档频率。
[0055] 表1体现了本发明方法较现有的技术在识别加密视频流量时各项指标的准确率,通过表1可知本发明方法的准确率优于本领域其它现有算法。
[0056]
[0057] 表1。