物联网中具备终端匿名的加密流量双层过滤方法

2023-08-24 08:02冯景瑜时翌飞
西安邮电大学学报 2023年2期
关键词:身份验证信度协商

冯景瑜,张 静,时翌飞

(西安邮电大学 网络空间安全学院,陕西 西安 710121)

随着微型传感器和驱动器在传统工业体系中的广泛接入,促使传统工业加速转型为具备灵活感知、密集互动、自主保障和调节能力的物联网(Internet of Things,IoT)[1],通过数量庞大的终端设备向控制中心提供感知数据以帮助控制中心实施准确的决策。然而,由于缺乏有效保护,终端极易被攻陷,从而变成攻击实施的帮凶。通过控制大量的终端向目标系统释放恶意流量,攻击者可以使系统通信受阻,导致系统宕机[2]。因此,恶意流量检测已作为一个重要的研究方向被广泛应用到入侵检测系统中,以提升目标系统的网络通信质量[3]。为应对日趋开放和动态的网络边界造成的个人隐私泄露风险,《通用数据保护规范》[4]《个人信息安全规范》[5]相继出台,以在政策层面对风险进行控制。此外,传输层安全 (Transport Layer Security,TLS)、互联网安全协议(Internet Protocol Security,IPSec)等密码安全套件[6]也被广泛应用到信息系统中,以增强个人隐私保护能力。网络通信中充斥着大量以加密形式存在的流量,明文特征作为识别依据的流量检测方法表现堪忧,有效识别恶意加密流量成为了更具挑战性的研究方向之一。

目前,针对于加密流量检测的方法大体上可分为基于机器学习的恶意流量识别和基于密码学的恶意流量识别[7]。基于机器学习的恶意流量识别主要通过提取加密流量的特征,构造训练集训练分类模型,通过对模型的优化得到较好的识别率。结合多特征的恶意加密流量检测方法[8]通过融合加密流量会话包长、时间马尔可夫链、证书及协议等特征,构造了一个长达863维的特征向量,并利用机器学习方法实现对恶意流量的检测。文献[9]将Efficientnet-B0模型迁移到加密流量数据集上进行部分重训,从而实现了在小样本条件下对加密流量的精准检测。基于密码学的恶意流量识别的核心在于通过可搜索加密实现对加密流量中恶意关键字的识别。文献[10]通过将可搜索密文检索技术同深度包检测技术的有效结合,提出了一种针对于加密流量的检测技术。此外,加密恶意流量识别还表现出一些场景特性。在云环境下的恶意流量检测场景下,文献[11]提出了使用信任过滤的方式率先检测出一部分恶意流量源头,以减轻云环境下的检测恶意流量所产生的计算负载。文献[12]针对于车联网环境提出了一种通过路边单元使用Hurst自相似参数估计检测流量相似性的方法,以检测到恶意流量的突增。

考虑到当待检测流量被重定向到流量检测中间件时,中间件常以外部接入的形式存在,将不可避免地引发隐私问题,导致流量特征泄露[13]。因此,为有效缓解流量特征泄露问题,流量特征加密技术被广泛应用[14]。文献[15]提出利用同态加密的方式在两台非共谋的云服务器上实现恶意关键字的匹配和检测,在对流量内容和特征保护的条件下实现恶意流量检测。文献[16]针对于网络流量的异常值检测时涉及的隐私问题,提出了一种用于增量数据集的隐私保护异常值检测协议,通过高效可互换的协议实现了多个加密模块,并集成活动窗口,定期淘汰过期数据,保护流量隐私。尽管这类处理方法使得流量特征得到了保护,但由于数据部分性质缺失,一些依赖于流量特征的识别方法无法发挥其特点[14]。因此,如何平衡流量隐私保护同流量检测效率之间的冲突,成为亟待解决的问题。

此外,由不同密码体制所产生的密文在统计特征上表现出一定的差异,利用这些差异化特征的密码体制识别成为了恶意流量检测中新的应用方向。基于随机森林的密码体制分层识别方案[17],先通过簇分识别加密算法所属的密码体制,再利用单分识别具体的密码算法,其在多分类任务场景下的准确率维持在60%~70%。基于决策树的密码体制识别方案[18],在针对SM4与常用密码体制的二分类识别过程中,识别率表现较为优异。文献[19]基于美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)公布的随机性测试标准[20]提出了新的特征提取方法,并借助随机森林实现密码体制识别,其在较少密文特征下可实现较高的识别准确率。然而,上述工作并未涉及安全套接字层/传输层安全(Secure Socket Layer / Transport Layer Security,SSL/TLS)常用加密算法的识别,多数识别方法采用传统的机器学习实现,识别效果受限于模型的表现能力。

针对加密流量检测的困难性以及流量特征的隐私性需求,拟设计一种具备终端匿名化的加密恶意流量的双层过滤方法。通过终端接入匿名化方法抵御利用流量隐私的终端身份推断,确保流量检测模块对现网流量环境是未知的。此外,针对加密流量检测的困难性,首先,利用终端接入受信程度评估方法,根据接入终端的诚实性从源头阻断恶意流量。其次,根据安全通信过程中的协商密码算法集合,利用随机性检测提取流量特征,区分加密流量使用的密码算法,筛选掉不属于协商算法的恶意加密流量。

1 系统架构

作为物联网生态重要的一环,大量的物联网终端被广泛部署在偏远地区,难以维护和缺乏必要的安全策略使其长期暴露在风险中[21]。一旦物联网终端失陷,终端设备将变成攻击帮凶,系统中会充斥着大量的恶意流量,造成通信阻塞的同时也将影响控制中心的最终决策。因此,有效检测出恶意流量是阻断这类攻击的重要手段。

为检测出物联网中存在的恶意加密流量,并确保流量特征对检测系统未知,提出一种具备终端匿名化的加密流量双层过滤方法。加密流量双层过滤主要包含接入匿名化、接入受信度过滤和协商密码体制过滤,总体架构如图1所示。

图1 加密流量双层过滤结构

1)接入匿名化。对每个接入物联网的终端设备授予一个匿名身份,构建匿名化的流量检测环境,防止攻击者利用流量隐私对物联网终端身份恶意推断。

2)接入受信度过滤。通过对流量源终端的接入受信任程度进行评估,对不可信终端发送的流量进行阻断,达到从源头过滤恶意流量的目的。接入受信度依据其对当前接入环境的熟悉程度以及终端身份验证的正确性进行评估。对于来自于较高受信度终端所流量予以转发。对于来自于较低受信度终端所发送的流量直接丢弃。对于中等受信度的终端,由于无法对其发布的流量进行判断,将流量转发至第二级过滤。

3)协商密码体制过滤。考虑到建立安全传输前会协商相应的加密算法,因此在过滤的过程中先对流量密文的随机特征进行识别,分类所属的密码体制,不属于非协商密码体制的流量将被丢弃,属于密码体制的流量将予以转发。

2 加密流量双层过滤方法设计

为提升系统的网络通信质量,恶意流量检测方法被广泛应用到入侵检测系统中。传统的流量检测方法通过对流量特征及流量载荷的检测区分恶意流量。然而,随着个人隐私泄露事件频发,越来越多的加密组件被应用到通信过程中。在实际的加密传输中并非所有的内容都是以密文形式存在的,一些流量的显著特征并没有被屏蔽掉。

加密流量双层过滤方法首先引入终端匿名接入方法,构造源终端匿名的流量环境,防范流量检测模块利用流量隐私对源终端身份的恶意推断。其次,采用接入终端受信度评估,过滤来自低受信度终端的流量。对于中等受信度终端流量,由于评估困难,转发至第二层过滤。第二层过滤基于深度学习识别出加密流量所使用的密码算法,判断是否是此前协商的密码算法,从而对恶意加密流量进行过滤。此外,检测服务提供者(Detection Service Provider,DSP)是由一个或一组高可用且计算资源充足的服务器构成,可实现加密流量检测服务的外包化,以缓解物联网的计算负载。

2.1 终端匿名化接入

通过物联网终端的匿名接入,可在不破坏流量特征的前提下,防范利用流量特征对源终端身份的恶意推断。终端匿名化接入方法包含终端匿名身份生成和终端匿名身份验证两个连续阶段。

2.1.1 终端匿名身份生成

由于DSP往往是半诚实且好奇的,表现为对待检测加密流量有一定程度的好奇,并且可能会绕过一些安全措施直接访问原始数据。因此,为确保匿名环境的安全构建,在匿名身份生成和验证过程中,检测服务提供者应仅具有代理转发的功能。终端匿名身份生成过程如图2所示。

图2 终端匿名身份生成过程

利用代理重加密实现的匿名身份生成包含以下5个步骤。

步骤2DSP通过rT-A计算重加密密文R[TID]r,并转发R[TID]r给匿名服务器。匿名服务器利用其私钥As解密R[TID]r,匿名服务器在И中检索n,И是一个由匿名服务器维护的匿名参数列表。

步骤3如果n不在匿名参数列表И中,则匿名服务器计算匿名身份PID=h(TIDn),并由私有链维护一个真实身份和匿名身份的映射记录表ΓPID,其中该私有链仅由匿名服务器拥有访问权限。如果n在И中,匿名服务器发送一个重置响应给接入终端,并要求接入终端重新选取临时匿名参数n直到该参数不重复,以此确保每个接入终端拥有唯一匿名身份。

步骤5匿名化响应S[PID]r由DSP广播。DSP利用rA-T和S[PID]计算重代理密文S[PID]r。接入终端利用其私钥Ts解密S[PID]r,接入终端获取其匿名身份PID。

2.1.2 终端匿名身份验证

终端匿名身份验证过程如图3所示,具体步骤如下。

图3 终端匿名身份验证

步骤2DSP利用rT-A计算重加密密文RV[PID]r并转发RV[PID]r给匿名服务器。匿名服务器利用其私钥As解密RV[PID]r,匿名服务器检索PID在匿名身份映射表ΓPID中。

步骤4DSP利用其私钥Ds解密SV[vPID]并获得身份验证结果vPID。如果vPID=1,DSP将生成访问令牌分发给接入终端,接入终端持令牌加入物联网环境。

2.2 终端接入受信度评估

根据终端的接入环境和历史行为,基于对终端匿名身份验证和访问环境的熟悉程度,评估终端的接入受信度,从源头上过滤掉恶意流量。如果终端受信度较高,则可默认其发送的流量包是可信的,对其发出的流量予以转发。如果终端受信度较低,则认为流量是恶意的不予转发。

为方便接入受信度的衡量,将最终的接入受信度以归一化[22]的形式映射到[0,1]区间内。Beta概率密度函数凭借其计算简单、灵活高效的特点适合作为信任评估的计算原型[23],其表达式为

(1)

式中:θ为物联网终端设备的行动概率,0<θ<1;α为物联网终端设备匿名身份验证成功计数,α>0;β物联网终端设备匿名身份验证失败计数,β>0。

对终端进行匿名身份验证,并将其作为基本接入受信度的评估因素。设第i个终端用户的匿名身份验证成功为Vi1,匿名身份验证失败为Vi2,则基于对匿名身份验证的统计计数,物联网终端的基本接入受信度的评估表达式为

(2)

然而,仅根据匿名身份验证得到的基本接入受信度在失陷终端检测中表现出一定的滞后性,一旦终端设备被攻击者攻陷,基本受信度将长时间处于小范围的波动中,无法与物联网终端的实际行为模式相匹配。信任作为一种主观状态,应随着用户的交互行为、环境等因素的动态变化而发生变化,利用静态信任进行计算会使最终结果渐渐偏离现实状态[24]。因此,考虑到终端设备的接入环境时常发生变化,设置接入统计计数c(k),利用终端设备对接入环境熟悉程度辅助进行终端受信度的评估。接入统计计数的表达式为

(3)

式中:τ为接入门限;k为接入统计次数。终端设备接入统计计数由第一次设备接入时开始,达到接入门限时,1/τ将被重置为0。每次接入统计计数包含当前的访问环境信息。此外,设置可信系数fp和可疑系数fd记录每次终端接入的情况,综合这两种系数实现对终端综合接入受信度的评估。

接入可信系数表达式定义为

(4)

式中,e(k)为当前接入环境同历史接入环境的相似指标。若当前接入环境同任一历史接入环境均不相同,设置e(k)=0。若当前接入环境同历史接入环境有重叠,则e(k)=m/k,m为与历史接入环境相似的次数。若当前接入环境同上次接入环境完全一致,将e(k)直接置为1。最终的接入可信系数由接入环境相似指标和接入统计计数乘积决定。

接入可疑系数表达式定义为

(5)

式中,d(k)为当前接入环境同历史接入环境的差异指标。若当前的接入环境同任一历史接入环境均不相同,设置d(k)=1。若当前接入环境同历史接入环境有重叠,则将d(k)置为d(k)=(k-m)/k。若当前的接入环境同上次的接入环境相同,置d(k)=0。最终的接入可疑系数由接入差异指标和接入统计计数的乘积决定。由DSP维护一个接入记录表YC,包含终端设备历史访问环境统计信息。

定义Fi={(fp1,fd1),(fp2,fd2),…,(fp(n-1),fd(n-1))}为终端接入产生的历史可信系数和可疑系数。利用接入可信系数和可疑系数,依据每次接入环境的变化,引入威胁衰减因子ti,以对环境的变化做出敏感的变化,其表达式为

(6)

引入威胁衰减因子ti后,终端综合接入受信度可表示为

TCOMPi=

(7)

基于终端接入受信度的流量过滤步骤如下。

步骤1执行终端匿名身份验证。从加密流量中提取终端签名sTs(PID)通过匿名服务器验证终端匿名身份PID。如果身份验证失败,拒绝转发来源于该终端的流量,更新Vi2=Vi2+1。否则,更新匿名身份验证成功计数Vi1=Vi1+1。

步骤2计算终端综合接入受信度TCOMPi。首先根据匿名身份验证结果计算基本受信度TBASEi。其次,从接入记录表YC获取终端设备的历史接入环境信息,判断当前环境与历史环境的差异性,计算可信系数fp和可疑系数fd。若终端首次接入当前环境,设置e(k)=1,d(k)=0。若当前的接入环境同上次的接入环境完全相同,则设置e(k)=1,d(k)=0。若当前接入环境同历史接入环境有重叠,则设置e(k)=m/k,d(k)=(k-m)/k。之后,依据fp和fd计算威胁衰减因子ti,进而得到终端综合接入受信度TCOMPi。

步骤3判定是否将流量转发至第二层过滤。如果TCOMPi小于受信度门限σ,则认为该流量可信,允许通过。否则,将流量转发至第二层过滤。

2.3 终端协商密码体制过滤

在建立TLS、IPsec等安全连接前,首先需要参与双方运行握手流程,对加密通信和数据完整性校验所使用到的密码算法达成共识,将安全通信过程中所使用到的密码算法集合定义为集合Ξ。如果在加密通信过程中捕获到使用了不属于上述算法集合Ξ的加密流量,则认为其为恶意流量予以拦截。如果检测到的加密算法属于提取协商的算法集合中,予以放行。基于这一思路,利用基于随机性检测的密码体制分类方法实现对加密流量的第二层过滤。根据每种加密算法产生的密文在比特串分布上呈现的随机性特征,训练分类模型以区分不同的加密算法。

NIST提出的SP800-22 Revla随机性检测和度量标准套件被广泛应用到密文随机性衡量上[25]。SP800-22拥有15种随机性度量指标,通过对特征重要性筛选,选取其中较为常见的11种随机性检测指标作为对协商密码体制过滤识别的分类特征。下面介绍5种常见的检测指标。

1)串行测试(Serial Test)。该指标检测所有连续m比特的序列在待检测序列中出现的频率,代表给定长度模式串分布的均匀性。

2)单个位测试(Monobit Test)。该指标以表示待检测序列中0、1比特出现的比例,完全随机的序列应拥有相同数量的0、1比特。

3)块内频率测试(Frequency within Block Test)。该指标待检测序列分割为多个序列块,对每个分割后的序列块执行单个位测试。

4)游程测试(Run Test)。游程被定义为n长的具有相同比特位的序列,该指标通过统计一段待测序列中所包含的不同长度游程的数量,衡量与完全随机序列中包含游程数量是否一致。

5)块内最长游程检验(Test for Longest Run Ones in a Block)。该指标通过将待检测序列划为多个序列块,对每个序列块执行游程检测,衡量待测序列与完全随机序列中包含游程数量是否一致。

基于SP800-22随机性检测套件,在加密块链(Cipher Block Chaining, CBC)和电子密码本(Electronic Code Book, ECB)工作模式下的高级加密标准(Advanced Encryption Standard, AES)算法、SM4算法、数据加密标准(Data Encryption Standard, DES)算法、数据加密标准3(Data Encryption Standard 3, DES3)算法以及Blowfish算法所产生的模拟TLS流的随机性检测结果对比分别如图4—图7所示。可以看出,利用SP800-22随机性检测套件对加密流量进行随机性检测,得到的随机性检测指标的p_value值有着很好的区分效果,因此可选p_value值构成的特征空间作为协商密码体制分类模型的输入。

图4 SM4和AES的块内频率检测结果对比

图5 DES3和SM4的游程检测结果对比

图6 AES和Blowfish的序列检测结果对比

图7 DES和SM4的单个位检测结果对比

为满足协商密码体制过滤需求,对前馈神经网络结构进行修改,针对协商密码体制过滤的前馈神经网络模型如图8所示。

图8 前馈神经网络模型

针对协商密码体制过滤的前馈神经网络模型输入层由11个输入节点构成,其中11种随机性度量指标的p_value值作为输入特征项(x1,x2,…,x11),16个神经元构成双隐层网络结构(h1,h2,…,h8),神经元y1作为输出项对协商密码体制进行分类。该模型对应一个二分类问题,即通过对高级加密标准电子密码本(Advanced Encryption Standard Electronic Code Book,AES ECB)、高级加密标准Galois/Counter模式(Advanced Encryption Standard Galois/Counter Mode,AES GCM)、RC4(Rivest Cipher 4)、高级加密标准加密块链(Advanced Encryption Standard Cipher Block Chaining,AES CBC)模式和数据加密标准(Data Encryption Standard, DES)等密码算法或工作模式进行识别,判断纯密文流量样本使用的加密算法是否属于TLS套件中的协商密码算法集合,以此区分流量样本类别,实现对恶意加密流量的非解密过滤。FNN基于反向传播(Back Propagation,BP)算法构建对识别结果敏感的反向控制流,通过该反向控制流寻找最优的权重和偏置使得模型损失函数最小化,以实现较好的检测效果。同时,在针对协商密码体制过滤的FNN网络中引入批标准化操作使得数据分布更加合理,提升模型训练效率,并将sigmoid作为输出层的激活函数,区分流量样本为恶意流量或良性流量。最终,对于难以根据接入受信度评估的恶意加密流量,根据其加密体制进行快速的过滤。

3 性能分析与讨论

3.1 仿真实验设置

采用Python3.7在AMD Ryzen5 4600H 3.00 GHz 16 GB环境下搭建实验平台,对所提方法进行实验分析,验证双层过滤方法对恶意加密流量的检测效果性能。仿真环境参数设置如表1所示。

表1 仿真环境参数设置

通过对在现网环境中采集到的流量样本解析,得到其中绝大部分TLS流使用不同密钥长度的AES GCM或AES CBC工作模式实现传输数据加密,剩余流量样本则较多的使用到ChaCha20与RC4加密算法[27]。为验证所提方法有效性,由本地模拟环境生成原始内容为超文本传输协议(Hyper-Text Transfer Protocol,HTTP)形式的响应载荷,随机生成20 000条长度为1 000~1 200字节的文本序列。同时,利用OpenSSL对随机生成的文本序列进行加密,以此模拟由TLS密码套件所产生的纯密文流量负载。此外,为验证协商密码体制过滤的性能,还额外加入了几种较常见的分组密码加密算法,生成不属于TLS协商密码体制的恶意样本。分组密码加密算法及其工作模式如表2所示。

表2 分组密码加密算法及其工作模式

实验共使用200 000个加密流量样本,10种使用到的密码算法或工作模式产生的样本数量一致。在利用FNN进行协商密码体制过滤过程中,对属于协商密码体制的AES、ChaCha20和RC4等3种密码算法及工作模式产生的样本标识为良性样本,而其余样本标识为恶意样本,恶意样本与良性样本比例维持在1∶1。此外,将数据集依据7∶3的比例划分为训练集和测试集。

3.2 双层流量过滤性能分析

所提方法中第一层检测主要依赖于物联网终端的受信任程度实现,接入受信度是实现对恶意加密流量源头过滤的主要依据。设置80轮仿真实验,在第30轮引入失陷物联网终端,模拟被攻击者所控制的终端并发送恶意流量。观察接入受信度的变化情况如图9所示。

图9 物联网终端失陷后接入受信度变化情况

由图9可以看出,在前30轮,物联网终端尚未被攻陷,基本接入受信度和综合接入受信度都趋于增加。在30轮之后,物联网终端被攻陷,综合接入受信度开始大范围波动,基本接入受信度的变化范围很小,不利于过滤检测。对于基本接入受信度的评估方法,其接入受信度具有一定程度的静态滞后性,导致失陷物联网终端不容易被察觉。通过引入可信系数fp和可疑系数fd的综合受信度评估方法,可以对物联网终端失陷情形做出快速反应,使得接入受信度迅速衰减。

为进一步观察对失陷终端引发的恶意流量的抑制情况,设置物联网终端的总数为1 000,其中失陷终端占比40%,恶意流量抑制变化情况如图10所示。可以看出,通过将衰减因子ti引入基本接入受信度,综合受信度可以快速对物联网终端的失陷行为做出反应,从而有效抑制了恶意流量的增加。

图10 恶意流量抑制变化情况

将10种加密算法加密的200 000条密文样本进行划分,采用Adam优化器寻找最优的参数组合,如学习率、迭代次数和批处理等。获得的参数将应用到FNN中,并用交叉验证的方式评估FNN模型表现。当学习率为1、迭代次数为10和批处理为16时,FNN对于协商密码体制识别有较好的训练和测试分数。

为进一步评估基于前馈神经网络的协商密码体制的识别效果,引入查准率、召回率、准确率和F1分数等4种常用评价指标,将其分别与卷积神经网络(Convolutional Neural Networks,CNN)和循环神经网络(Recurrent Neural Networks,RNN)两种深度学习模型进行对比,结果如表3所示。

表3 不同模型协商密码体制识别效果对比

由表3可知,FNN在准确率、召回率、查准率以及F1分数指标的表现上优于CNN和RNN两种深度学习模型。另外,FNN在训练时间开销方面同样表现优秀,这是因为FNN算法相较于RNN拥有更为简单的网络结构。此外,由于CNN依赖于大量的卷积操作,其平均训练时延仍要高于FNN。因此,FNN是更适合于协商密码体制识别的模型算法。

4 结语

具备终端匿名化的双层加密流量过滤方法在防范利用流量特征进行终端身份推断的同时,实现了对恶意加密流量的过滤。通过设计终端匿名接入方法,为接入物联网终端赋予匿名身份,构建对流量检测模块匿名的流量环境。在第一层过滤中,引入终端接入受信度评估快速检测失陷终端,从源头上抑制恶意流量产生。在第二层过滤中,利用随机性检测构造特征空间,训练前馈神经网络对加密流量进行协商密码体制识别,检测不属于协商算法集的加密流量。实验分析表明,所提方法可以在保障接入终端身份隐私的同时快速检测恶意加密流量,且具有良好的检测效率和时间开销。

猜你喜欢
身份验证信度协商
《广东地区儿童中医体质辨识量表》的信度和效度研究
论协商实效与协商伦理、协商能力
Rheological Properties and Microstructure of Printed Circuit Boards Modifed Asphalt
以政协参与立法深化协商民主
科技成果评价的信度分析及模型优化
耳鸣残疾问卷中文版的信度和效度检验及其临床应用
中文版脑性瘫痪儿童生活质量问卷的信度
Endogenous neurotrophin-3 promotes neuronal sprouting from dorsal root ganglia
协商民主与偏好转变
身份验证中基于主动外观模型的手形匹配