2. 河北省高可信信息系统重点实验室,河北 保定 071000
2. Key Lab. on High Trusted Info. System in Hebei Province, Baoding 071000, China
互联网技术的发展不断刺激着信息资源的快速增长,在大量的信息交互过程中,信息过载已经成为数字行业中的一种普遍现象[1-2],由此推动了推荐系统的产生。在众多的推荐方法中,协同过滤推荐是使用最为广泛的一种[3],尤其是随着深度学习在推荐领域的应用,融合深度学习和协同过滤的推荐系统得到深入研究[1]。然而,由于推荐系统的开放性,协同过滤推荐系统中存在欺诈攻击风险[4-5],即恶意用户通过向推荐系统中注入大量设计好的虚假评分概貌达到影响推荐结果的目的。已有研究表明,这些欺诈评分概貌的存在严重影响了推荐结果的准确性,降低了推荐用户对系统的满意度,由此制约了推荐系统的良性健康发展[6]。
自推荐系统中的欺诈攻击问题被发现以来,国内外学者围绕欺诈攻击检测问题展开了深入研究。早期的检测方法大多依赖于人工特征提取,通过有监督学习或无监督学习对特征进行分类或聚类识别出攻击概貌。Chirita[7]和Burke[8]等最先从用户对评分项目的评分值入手,基于用户评分概貌上的评分统计差异提取检测特征。Yang等[9]在已有基于评分值的检测特征基础上进行了扩展,利用集成学习构建分类器。随后,李文涛等[10]针对已知攻击类型,从用户评分项目流行度入手,提出了基于流行度分类特征的托攻击检测方法。Zhou等[11]提出了一种基于SVM和目标项目分析的托攻击检测方法SVM-TIA,从研究攻击概貌的群体特征角度出发,基于人工特征训练SVM分类器,对用户进行初步划分,然后利用目标项目分析从可疑用户候选集中过滤出真正的攻击者。Zhang等[12]从用户评分行为角度出发,提出了一种基于隐马尔可夫和层次聚类的托攻击检测方法UD-HMM;该方法利用隐马尔可夫模型对用户评分项目序列建模,使用层次聚类找出用户可疑度高的攻击用户。Dou等[13]提出了一种基于决策树和隐含因素的方法即CoDetector;该方法通过矩阵分解和词嵌入的方式细化用户和项目之间的隐含关系,将学习到的包含网络嵌入信息的用户隐含因素作为特征来检测攻击者;该方法主要适用于大攻击规模下的用户检测,小攻击规模的攻击检测性能受限。Hao等[14]从用户评分时间和项目新颖性方面设计了17个用户特征,构建了基于集成学习的有监督检测方法。在作者以前的工作[15]中,基于真实用户和攻击用户的评分兴趣差异提取检测特征,利用攻击用户行为相似性识别出攻击用户。基于人工提取特征的检测方法在很多攻击场景下均能有效检测攻击概貌,但人工特征的提取需要依赖专家知识,而且特征的有效性往往与数据集及攻击模型密切相关。
针对人工提取检测特征的局限性,Zhang等[16]提出了基于标签传播的攻击检测方法,利用用户与项目间的评分关系计算用户和项目的可疑度,该方法的检测性能与攻击模型无关,但需事先标记出一些种子用户,且种子数量多少和检测性能有直接关系。目前,深度学习理论在语音识别、机器翻译、图像分类等方面取得了快速发展[17-18],这也推动了更多的研究者尝试利用深度学习自动提取检测特征进而识别推荐系统中的攻击概貌。Tong等[19]提出了基于CNN的检测方法CNN-SAD,该方法从评分概貌的评分值视角学习用户低维向量,但未能从用户行为的不同视角学习更全面的深层次特征,使得在真实数据集下的检测性能并不理想。Hao等[20]提出了基于自编码器的特征提取方法SDAEs-PCA,在用户低维向量基础上使用PCA和SVM识别出攻击概貌;该方法先将用户对项目的评分值、用户评分项目的流行度以及用户–用户关系这3方面分别学习到的用户低维向量拼接,再利用弱分类器检测出攻击用户;该方法在多个数据集上都具有良好检测性能,但未挖掘用户在时间维度上的关系特征。Zhang等[21]提出了一种基于图卷积网络和神经随机森林的托攻击检测方法GraphRfi;该方法将系统中稳定的推荐机制与攻击用户检测结合起来,利用推荐系统中对用户评分预测的误差作为计算用户可疑度的主要依据来检测恶意用户,同时将用户被检测为攻击用户的概率值作为权重来降低攻击用户的评价对推荐系统的影响,提高了用户检测的精确率;但该方法需要较多的超参数,攻击检测的效果容易受超参数取值影响。Ebrahimian等[22]提出了融合卷积神经网络和循环神经网络的攻击检测模型;该方法利用了循环神经网络的时间有序性,将通过卷积神经网络提取后的特征向量输入循环神经网络,最终完成对用户的二元分类问题;在Netflix和MovieLens 1M数据集中的实验表明,随着填充规模的增大,该方法的精确率明显偏低。Vivekanandan等[23]提出了基于卷积神经网络和长短期记忆(LSTM)的攻击检测模型;该方法先利用用户–项目评分矩阵、用户–项目流行度矩阵和用户–用户邻接矩阵,训练CNN分类器,再通过LSTM对学习到的用户特征进一步筛选和融合,最终利用softmax实现对用户的二元分类;该方法对低填充规模的攻击具有较好的检测效果,但填充规模增大时检测效率下降。Zhou等[24]提出一种基于深度学习的检测方法DL-DRA,该方法采用插值算法解决输入评分矩阵的稀疏性问题,提高了检测性能,但其仅考虑了用户评分的单一视角。深度学习模型作为一个自动特征提取器,主要负责提取对评分用户分类最有效的深层次特征[25],将带有标签的样本放入神经网络下不断训练,得到训练过程中的最优参数。基于深度学习的推荐攻击检测方法取得了较好的分类效果,但仍存在一定的局限性。一方面,已有方法往往多基于单一的评分值视角[26],忽略了用户在评分时间及评分项目偏好方面上的行为特征,使得所提检测方法的检测准确性有待提升;另一方面,尽管已有基于多视图的深度学习检测方法[20],但这种将不同视图的用户低维向量进行简单拼接的方法仍不能获取较高的准确率。
针对以上局限性,本文提出了一种基于CNN和犹豫模糊集的欺诈攻击检测方法,简称 CNN-HFS(convolutional neural networks and hesitant fuzzy sets),从评分行为的时间和空间两方面入手,基于CNN自动学习不同视图下的特征向量并训练CNN分类器,利用犹豫模糊集群决策方法识别出攻击概貌。与作者之前的工作[15]相比,CNN-HFS克服了人工提取检测特征的局限性;与自动提取特征的CNN-SAD[19]和SDAEs-PCA[20]相比,CNN-HFS基于用户评分值、偏好及时间等多维特征进行了综合决策。MovieLens 1M和Amazon数据集上的实验表明,所提方法相较于已有方法,在不依赖专家知识提取检测特征的同时能更有效地提高检测性能。
1 背景知识与相关理论 1.1 攻击模型在协同过滤推荐系统中,攻击者可以通过生成一组虚假评分概貌实现对目标项目的推攻击或核攻击[27]。通常来说,一个攻击概貌中包括选择项目集
1)随机攻击(random attack)。
2)均值攻击(average attack)。
3)AoP攻击(average over popular attack)。
4)用户偏移攻击(user shifting attack)。
双三次插值(bicubic interpolation)是一种常用的图像或视频压缩方法[30],图像缩放过程中不会过多地改变图像的整体特征,插值前后图像的差异仅体现在大小和分辨率方面。在2维空间中,图像可以表示为像素点矩阵
![]() |
| 图1 双三次插值 Fig. 1 Bicubic interpolation |
图1中,每个像素点
| $ {W}_{i,j}=w({x}_{p}-{x}_{i})\times w({y}_{p}-{y}_{j}) $ | (1) |
式中,
| $ w\left(\Delta x\right)=\left\{ \begin{array}{l}(a+2){\left|\Delta x\right|}^{3}-(a+3){\left|\Delta x\right|}^{2}+1,\left|\Delta x\right|\le 1;\\ a{\left|\Delta x\right|}^{3}-5a{\left|\Delta x\right|}^{2}+8a\left|\Delta x\right|-4a,1 < \left|\Delta x\right| < 2;\\ 0\text{,}其他\end{array}\right. $ | (2) |
式中,常量
综合图1中16个像素点的权重及对应像素点的权值,可得到矩阵
| $ c={\sum\limits _{i=0}^{3}}{\sum\limits _{j=0}^{3}}({W}_{i,j}\times {c}_{ij}) $ | (3) |
卷积神经网络(convolutional neural networks, CNN)是一种前馈人工神经网络,能够在训练过程中自动获取隐式的低维特征向量[31]。由于CNN具有处理多维数据的能力,目前被广泛应用于文本分类、图像识别等多个领域[17]。此外,CNN可将文本信息转化为对应的词向量后进一步提取特征向量,因此也可用于“长度短,特征维度小”的短文本(例如口令)预测[32]。标准的CNN模型结构如图2所示,主要包括输入层、卷积层、池化层、全连接层和输出层。通常在一个完整的卷积神经网络会包含多个卷积层和池化层,卷积层和池化层的通道数由该层对应的卷积核或池化核数量决定。
![]() |
| 图2 卷积神经网络结构 Fig. 2 Convolutional neural network structure |
图2中:CNN的输入层通常是矩阵(例如图像对应的像素点矩阵);卷积层利用卷积核对输入矩阵执行深层次的特征提取;池化层是对卷积后的矩阵进行降维;通常每个卷积层后都有一个池化层,通过卷积层和池化层的多层级联后构成整个深度网络;全连接层在池化层之后,用于将卷积和池化处理后获取的特征向量展平为1维的向量表示,进而传送给输出层;最后由输出层执行分类或回归操作[18]。
1.2.3 犹豫模糊集犹豫模糊集(hesitant fuzzy set,HFS)是对模糊集的一种推广[33],被广泛应用于决策、人工智能和预测等方面。其特性为:在分类问题或决策问题中,当判断一个样本对不同类别集合的隶属度时,不同决策者可能会产生不同的决策值。
令
若
| $ {d}_{\rm ghn}({E}_{1},{E}_{2})={\left[\frac{1}{n}{\sum\limits _{i=1}^{n}}\left(\frac{1}{{l}_{{x}_{i}}}{\sum\limits _{j=1}^{{l}_{{x}_{i}}}}{\left|{h}_{{E}_{1}}^{\sigma \left(j\right)}\left({x}_{i}\right)-{h}_{{E}_{2}}^{\sigma \left(j\right)}\left({x}_{i}\right)\right|}^{\lambda }\right)\right]}^{\frac{1}{\lambda }} $ | (4) |
式中,
本文提出的基于CNN和犹豫模糊集的检测方法CNN-HFS的检测框架,如图3所示。
![]() |
| 图3 CNN-HFS框架 Fig. 3 CNN-HFS framework |
从图3可以看出,CNN-HFS主要包括3个阶段:基于时空特性的低维矩阵构建、基于CNN的攻击隶属度计算及基于广义犹豫模糊距离的犹豫模糊决策。1)先对每个用户分别从评分值、评分偏好和评分时间这3个视角抽取3个行为矩阵,再通过双三次插值法对3个矩阵进行缩放得到对应的低维矩阵;2)将每个用户任意视角下的行为矩阵视为一个图像,在3个不同视角下分别训练CNN,计算任意用户在每个视角下属于攻击用户类的隶属度;3)根据每个用户在多视角下的隶属度,构建用户的犹豫模糊集合,利用广义犹豫模糊距离计算用户属于攻击用户类的综合隶属度,将超过阈值的用户识别为攻击用户。
2.1 基于时空特性的低维矩阵构建受人工特征提取方法的启发,CNN-HFS模型同时考虑攻击用户和真实用户在用户–项目的评分值、评分时间及评分偏好上的差异。
定义1(低维用户评分矩阵) 对于用户集
令项目集为
| $ r_{j,k}'=\left\{ \begin{array}{l}r_{(j-1)\times n+k},(j-1)\times n+k\le \left|I\right|;\\ 0,其他\end{array}\right. $ | (5) |
式中,
考虑到用户已评项目数量通常远少于项目集规模,由评分概貌直接转换得到的矩阵会较稀疏,不利于下一阶段CNN的分类。为此,本文采用双三次插值法对任意用户
定义2(低维用户时间矩阵) 对于用户集U中任意用户u,其低维用户时间矩阵指在基于排序后的评分时间概貌转换得到的矩阵基础上缩放得到的密集矩阵,记为
令数据集中最早评分时间为第0天,最晚评分时间为截止时间,按天数递增顺序排列,总时间跨度为
| $ t_{j,k}'=\left\{\begin{array}{l}1,t_{(j-1)\times n+k}\ne 0;\\ 0,其他\end{array}\right. $ | (6) |
式中,
定义3(低维用户偏好矩阵) 对于用户集
用户所评项目流行度能在一定程度上反映用户的兴趣偏好。项目流行度大小即项目上的评分数量多少,被评次数最多的项目被认为是最流行的项目。因此,将项目集中所有项目依据项目流行度大小进行重排,按照原始用户评分矩阵的生成方式建立原始用户偏好矩阵。令排序后的项目集为
| $ p_{j,k}'=\left\{\begin{array}{l}p_{(j-1)\times n+k},(j-1)\times n+k\le \left|I\right|;\\ 0,其他\end{array}\right. $ | (7) |
式中,
在第2.1节中,用户集中的每个用户均构建了3个低维密集矩阵。同一视角下的所有用户矩阵构成一个图像集,用于训练及测试对应的CNN分类器。
在CNN进行特征提取阶段,卷积层一般连接在池化层之前。通常将每个卷积层和相邻的下一层池化层组成的整体视为一层,本文使用了3个完整的卷积池化层,其中:在第1层的卷积过程中,设置64个卷积核,尺寸大小为3×3,卷积遍历步长为1,边缘外自动补0;在第2层和第3层的卷积过程中,卷积核分别设置为32和16。为了提取用户更深层次的特征,采用多个卷积核分别进行卷积运算,上一层输出的特征图与每个卷积核进行卷积运算后都对应一张特征图。假定有
| $ {\boldsymbol x}_{j}^{l}=f\left({\sum\limits _{i\in {\boldsymbol M}_{j}}}{\boldsymbol x}_{i}^{l-1}*{\boldsymbol k}_{ij}^{l}+{\boldsymbol b}_{j}^{i}\right) $ | (8) |
式中,
池化操作是对卷积后的特征图进行降维,目的是加快计算速度并防止过拟合。对于池化层,有
| $ {{\boldsymbol x}^{l}_{j}}'=f({\boldsymbol \beta }_{j}^{l}down({\boldsymbol x}^{l-1}_{j})+{\boldsymbol b}_{j}^{l}) $ | (9) |
式中:
CNN-HFS中,设置池化核大小为3×3,采用最大池化方式,步长为2,边缘外设置自动扩充为0。第3层池化之后通过连接两个全连接层将特征矩阵展平为1维特征向量。为了提高模型的泛化能力,防止过拟合,将训练过程中的特征向量随机去除一部分,再输入softmax层进行分类,同时得到每个用户在对应CNN分类器下属于攻击用户类的隶属度。本文设置dropout操作的破坏率参数值为0.5。
定义4(攻击隶属度) 对任意用户
攻击检测被视为二分类问题,CNN中全连接层的特征向量与权重矩阵相乘得到
| $ L=\frac{{\rm e}^{{c}_{2}}}{{\rm e}^{{c}_{1}}+{\rm e}^{{c}_{2}}} $ | (10) |
式中:
基于第2.2节的3维攻击隶属度,使用广义犹豫模糊距离进行多属性决策。考虑到用户评分矩阵和用户偏好矩阵都与被评项目有关,而用户评分时间是从时间角度切入,将前两个视角下对应的攻击隶属度划分到空间属性下的隶属度,而后者对应的攻击隶属度称为时间属性下的隶属度。令
定义5(用户犹豫模糊集) 对任意用户
令绝对恶意用户
| $ \;\;\;\;\;\;\;\;\;\;\;\;{d}_{{{L}}_{{u}}}={\left[\frac{1}{2}{\sum\limits _{i=1}^{n}}\left(\frac{1}{{l}_{{x}_{i}}}{{\sum\limits _{j=1}^{{l}_{{x}_{i}}}}\left|{h}_{{{E}}_{{u}}}^{\sigma \left(j\right)}\left({x}_{i}\right)-{h}_{{E}_{{a}}}^{\sigma \left(j\right)}\left({x}_{i}\right)\right|^{2}}\right)\right]}^{\frac{1}{2}} $ | (11) |
MovieLens 1M:该数据集中包含6 040个用户对3 952个电影项目的1 000 209个评分和评分时间。评分值均为1~5之间的整数,评分值越高代表用户对项目的满意度越高。类似于已有研究,将数据集中所有用户均看作为正常用户。实验中,根据攻击模型、攻击规模、填充规模产生攻击概貌并注入到训练集和测试集中。攻击规模(attack size,as)设置为{3%,5%,10%,12%},填充规模(filler size,fs)设置为{3%,5%} ,攻击类型为随机攻击、均值攻击、AoP攻击和偏移攻击,目标项目从非流行项目中随机选取。每次实验,在真实概貌和攻击概貌中各选取80%用于训练,剩余20%作为测试集。采用五折交叉验证,取检测结果平均值为最终实验结果。
Amazon抽样数据集:该数据集从Amazon.cn爬行到645 072个用户对136 785个项目的评分及评分时间。为便于检测方法性能对比,使用文献[20]提供的由5 055个标记用户评分历史构成的抽样数据集,共包含17 610个项目上的53 777个评分和评分时间戳。其中,攻击用户和真实用户数量分别为3 118和1 937。实验按照训练集和测试集4∶1比例划分数据集,采用五折交叉验证方式,取平均检测结果为最终实验结果。
实验中,设置CNN全连接层的特征向量节点数为128,破坏率为0.5,学习率为0.000 1。基于犹豫模糊距离决策阈值是依据用户攻击隶属度确定的。在实验过程中容易发现,利用深度学习方法,可以根据提取的特征向量在一定的程度上区分正常用户和恶意用户,但基于数据不均衡和数据稀疏性问题,对用户的二元分类阈值往往并不能以0.5值进行简单的划分,因此本实验借鉴文献[35]所提阈值选取方法。首先,按照用户隶属度值的大小对用户进行降序排列;然后,计算各相邻用户之间的隶属度差值,构成隶属度差值集合;最后,取集合中的最大值作为距离阈值。根据上述方法,在MovieLens 1M数据集中阈值取0.75,在Amazon数据集中阈值取0.57。实验采用五折交叉验证,取5次实验结果的平均值作为对应场景下的检测结果。
3.2 评估指标为评估本文所提CNN-HFS方法在两种数据集中的检测性能,使用精确率(precision)、召回率(recall)和F1-measure值作为检测指标,分别以
| $ P=\frac{{N}_{{\rm{tp}}}}{{N}_{{\rm{tp}}}+{N}_{{\rm{fp}}}} $ | (12) |
| $ R=\frac{{N}_{{\rm{tp}}}}{{N}_{{\rm{tp}}}+{N}_{{\rm{fn}}}} $ | (13) |
| $ F=\frac{2\times P\times R}{P+R} $ | (14) |
式中,
为验证本文所提CNN-HFS方法的有效性,实验选取SVM-TIA[11]、CoDetector[13]、CNN-SAD[19]、SDAEs-PCA[20]、CNN-R、CNN-P和CNN-T作为对比方法。其中:SVM-TIA是基于人工提取特征的有监督检测方法,CoDetector利用自动获取的用户和项目间的隐含关系识别攻击用户,CNN-SAD从用户评分值视角学习用户低维向量训练CNN分类器以识别攻击概貌,SDAEs-PCA将用户评分值、评分项目流行度及用户间关系这3方面学习到的用户低维向量拼接成一个向量,CNN-R是仅基于低维用户评分矩阵训练CNN分类器,CNN-P是仅基于低维用户评分偏好矩阵训练CNN分类器,CNN-T是仅基于低维用户时间矩阵训练CNN分类器。
3.3.1 MovieLens 1M数据集上检测结果及分析将上述8种检测方法在MovieLens 1M数据集中4种攻击模型下的精确率进行对比,实验结果如图4所示。
![]() |
| 图4 8种检测方法在MovieLens 1M数据集上的精确率对比 Fig. 4 Comparison of precision for eight detection methods on MovieLens 1M dataset |
从图4可看出:相比于其他7种检测方法,CNN-HFS方法对不同攻击规模和填充规模的4种攻击模型均具有更优异的精确率,在AoP攻击下与SVM-TIA方法相比其精确率优势明显,这表明尽管基于AoP攻击模型注入的攻击概貌更接近于真实概貌,但CNN-HFS方法通过综合多视角进行决策仍能准确识别攻击概貌。与CoDetector方法相比,CNN-HFS方法在检测低攻击规模和填充规模的攻击模型时,仍保持高精确率,其原因是CNN-HFS方法在生成低维用户矩阵时采用插值算法降低矩阵的稀疏性。CNN-SAD和SDAEs-PCA方法均利用自动提取特征的深度学习方法,精确率要明显优于传统的人工提取特征方法,但仍低于CNN-HFS方法。主要原因是CNN-SAD方法仅利用用户评分矩阵提取特征;SDAEs-PCA方法虽然从多角度提取特征,但仅对特征向量进行简单的拼接;CNN-HFS方法在多视角特征提取基础上融合模糊决策,进一步提高精确率。CNN-R和CNN-P方法在精确率方面均低于CNN-HFS方法,CNN-T方法则和CNN-HFS方法一样具有优异的精确率,这表明在MovieLens 1M数据集上,攻击用户和真实用户在评分时间上比评分值和评分偏好上具有更明显的行为差异。
将上述8种检测方法在MovieLens 1M数据集中4种攻击模型下的召回率进行对比,实验结果如图5所示。从图5可以看出:SVM-TIA方法在不同攻击模型下的召回率较低,尤其是对于AoP攻击。CoDetector和CNN-SAD方法在随机攻击、均值攻击和AoP攻击下,填充规模3%时的召回率均明显低于填充规模5%时的召回率,表明CoDetector和CNN-SAD方法的召回率易受填充规模大小的影响。SDAEs-PCA方法在4种攻击模型下均具有优异的召回率,表明基于用户多维特征拼接的分类器能够将攻击用户分为一类。CNN-R方法在攻击规模小于5%时的召回率较低,这是由于数据集中正负样本严重失衡,导致CNN-R方法将不少攻击概貌误判为真实概貌。CNN-P方法的召回率随着攻击规模和填充规模的增加有明显的提升,并且在4种攻击模型下均优于CNN-R方法,但仍低于CNN-HFS方法。CNN-T方法在同种攻击模型和攻击规模下,填充规模为5%的召回率要远远优于填充规模为3%的召回率,这表明填充规模的大小直接影响CNN-T方法的召回率。当攻击规模为3%时,CNN-HFS方法在均值攻击模型下的召回率不如CoDetector、CNN-SAD和SDAEs-PCA方法,这是因为在均值攻击中,由于攻击概貌数量较少,且攻击用户的填充概貌与真实用户概貌在评分方面更为相近,导致部分攻击概貌未被有效区分。尽管如此,从图5中可看出,CNN-HFS方法的召回率在其他情形下均可达到1。
![]() |
| 图5 8种检测方法在MovieLens 1M数据集上的召回率对比 Fig. 5 Comparison of recall for eight detection methods on MovieLens 1M dataset |
将上述8种检测方法在MovieLens 1M数据集中4种攻击模型下的F1-measure值进行对比,实验结果如图6所示。
![]() |
| 图6 8种检测方法在MovieLens 1M数据集上的F1-measure值对比 Fig. 6 Comparison of F1-measure for eight detection methods on MovieLens 1M dataset |
从图6可看出,CNN-HFS方法在上述8种检测方法中均具有最高的F1-measure值,明显优于基于单一视角的CNN-R、CNN-P和CNN-T方法。主要原因是CNN-HFS方法充分利用了用户的多角度特征。提升了分类效果。这些结果表明,在MovieLens 1M数据集上,CNN-HFS方法能有效检测出不同类型的攻击概貌,并且比其他对比方法具有更优异的检测性能。
3.3.2 Amazon数据集上的检测结果及分析将8种检测方法在Amazon数据集上的检测性能对比,实验结果如表1所示。
| 表1 8种方法在Amazon数据集上检测性能对比 Tab. 1 Comparison of detection performance for eight methods on Amazon dataset |
![]() |
由表1可以看出:CNN-HFS方法在Amazon数据集上的精确率、召回率和F1-measure值分别为0.82、0.88和0.85,优于其他对比方法。在其他方法中,CNN-T方法的检测性能最低,这是因为该数据集上攻击用户和真实用户的评分数量均较少,且攻击用户的评分时间跨度也较大,这使得真实用户和攻击用户在时间矩阵上的分类效果不够理想。而CNN-HFS方法利用多角度特征提取和决策的方式降低了数据稀疏性的影响。SVM-TIA方法的召回率仅高于CNN-T方法,远低于CNN-HFS方法,原因是有些目标项目上的评分数量较少,部分目标项目不能被发现,从而导致一些攻击概貌被误判为真实概貌。CNN-SAD和CNN-R方法的精确率偏低,表明仅基于评分值矩阵会使得有些真实概貌被误识别为攻击概貌。相较而言,CoDetector和SDAEs-PCA方法的检测性能优于SVM-TIA、CNN-SAD、CNN-T和CNN-R方法,表明Amazon数据集上攻击用户和真实用户有更复杂的行为差异。尽管SDAEs-PCA方法能达到和CNN-HFS方法同样的召回率,但在精确率和F1-measure值上仍低于CNN-HFS方法。由于攻击用户和真实用户在项目选择上的差异,CNN-P方法在该数据集上的精确率、召回率和F1-measure值均高于CNN-T和CNN-R方法,但仍低于CNN-HFS方法。这些结果表明,引入犹豫模糊决策的CNN-HFS方法的检测性能明显优于单一决策的CNN-R、CNN-T和CNN-P方法,并且同样超过了其他对比方法的检测性能。
4 结 论基于自动特征学习的欺诈攻击检测是近来推荐系统安全领域的热点,为此本文提出了基于卷积神经网络和犹豫模糊集决策的攻击检测方法。受CNN在图像分类问题中的启发,首先,将每个用户在单一视角下的评分概貌转化为2维矩阵,采用双三次插值算法对转化后的稀疏矩阵进行降维;然后,训练对应视角下的CNN分类器,计算测试集中每个用户的攻击隶属度;最后,基于多视角下用户的攻击隶属度,利用犹豫模糊距离的多属性决策识别出攻击用户。MovieLens 1M和Amazon数据集上的实验表明,本文所提CNN-HFS方法能达到比所选取的经典对比方法更优的检测性能。
由于恶意用户为逃避检测,在实施攻击的过程中往往会更侧重于模拟正常用户的历史行为,这使得当攻击规模较小时,利用CNN学习到的分类特征不够明显,两类用户隶属度界限不够清晰,导致检测性能一定程度上的降低。因此,在未来的工作中,将寻找更加有效的高维特征学习方法,进一步提高检测方法在小攻击规模下的泛化能力。此外,在实验中也发现,真实数据集中存在一些评分数量过少的用户,评分数量较少直接影响对这类用户的行为分析,因此,下一步工作中,也将对此类攻击用户展开进一步研究。
| [1] |
Shambour Q. A deep learning based algorithm for multi-criteria recommender systems[J]. Knowledge-Based Systems, 2021, 211: 106545. DOI:10.1016/j.knosys.2020.106545 |
| [2] |
Sundar A P,Li Feng,Zou Xukai,et al. Understanding shilling attacks and their detection traits:A comprehensive survey[J]. IEEE Access, 2020, 8: 171703-171715. DOI:10.1109/ACCESS.2020.3022962 |
| [3] |
Bobadilla J,Ortega F,Hernando A,et al. Recommender systems survey[J]. Knowledge-Based Systems, 2013, 46: 109-132. DOI:10.1016/j.knosys.2013.03.012 |
| [4] |
Zhou Quanqiang,Duan Liangliang. Semi-supervised recommendation attack detection based on Co-Forest[J]. Computers & Security, 2021, 109: 102390. DOI:10.1016/j.cose.2021.102390 |
| [5] |
Zhang Fuzhi,WangShilei. Detecting group shilling attacks in online recommender systems based on bisecting K-means clustering[J]. IEEE Transactions on Computational Social Systems, 2020, 7(5): 1189-1199. DOI:10.1109/TCSS.2020.3013878 |
| [6] |
Si Mingdan,Li Qingshan. Shilling attacks against collaborative recommender systems:A review[J]. Artificial Intelligence Review, 2020, 53(1): 291-319. DOI:10.1007/s10462-018-9655-x |
| [7] |
Chirita P–A,Nejdl W,Zamfir C.Preventing shilling attacks in online recommender systems[C]//Proceedings of the 7th Annual ACM International Workshop on Web Information and Data Management(WIDM’05).New York:ACM,2005:67–74.
|
| [8] |
Burke R,Mobasher B,Williams C,et al.Classification features for attack detection in collaborative recommender systems[C]//Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining(KDD’06).New York:ACM,2006:542–547.
|
| [9] |
Yang Zhihai,Xu Lin,Cai Zhongmin,et al. Re-scale AdaBoost for attack detection in collaborative filtering recommender systems[J]. Knowledge-Based Systems, 2016, 100: 74-88. DOI:10.1016/j.knosys.2016.02.008 |
| [10] |
Li Wentao,Gao Min,Li Hua,et al. An shilling attack detection algorithm based on popularity degree features[J]. Acta Automatica Sinica, 2015, 41(9): 1563-1576. [李文涛,高旻,李华,等. 一种基于流行度分类特征的托攻击检测算法[J]. 自动化学报, 2015, 41(9): 1563-1576. DOI:10.16383/j.aas.2015.c150040] |
| [11] |
Zhou Wei,Wen Junhao,Gao Min,et al.A shilling attack detection method based on SVM and target item analysis in collaborative filtering recommender systems[M]//Knowledge Science,Engineering and Management.Cham:Springer,2015:751–763.
|
| [12] |
Zhang Fuzhi,Zhang Zening,Zhang Peng,et al. UD-HMM:An unsupervised method for shilling attack detection based on hidden Markov model and hierarchical clustering[J]. Knowledge-Based Systems, 2018, 148: 146-166. DOI:10.1016/j.knosys.2018.02.032 |
| [13] |
Dou Tong,Yu Junliang,Xiong Qingyu,et al.Collaborative shilling detection bridging factorization and user embedding[M]//Collaborative Computing:Networking,Applications and Worksharing.Cham:Springer,2018:459–469.
|
| [14] |
Hao Yaojun,Zhang Peng,Zhang Fuzhi. Multiview ensemble method for detecting shilling attacks in collaborative recommender systems[J]. Security and Communication Networks, 2018, 2018: 8174603. DOI:10.1155/2018/8174603 |
| [15] |
Cai Hongyun,Zhang Fuzhi. BS-SC:An unsupervised approach for detecting shilling profiles in collaborative recommender systems[J]. IEEE Transactions on Knowledge and Data Engineering, 2021, 33(4): 1375-1388. DOI:10.1109/TKDE.2019.2946247 |
| [16] |
Zhang Yongfeng,Tan Yunzhi,Zhang Min,et al.Catch the black sheep:Unified framework for shilling attack detection based on fraudulent action propagation[C]//Proceedings of the 24th International Conference on Artificial Intelligence.Menlo Park:AAAI Press,2015:2408–2414.
|
| [17] |
Chen Hongsong,Zhang Yongpeng,Cao Yongrui,et al. Security issues and defensive approaches in deep learning frameworks[J]. Tsinghua Science and Technology, 2021, 26(6): 894-905. DOI:10.26599/TST.2020.9010050 |
| [18] |
Batmaz Z,Yurekli A,Bilge A,et al. A review on deep learning for recommender systems:Challenges and remedies[J]. Artificial Intelligence Review, 2019, 52(1): 1-37. DOI:10.1007/s10462-018-9654-y |
| [19] |
Tong Chao,Yin Xiang,Li Jun,et al. A shilling attack detector based on convolutional neural network for collaborative recommender system in social aware network[J]. The Computer Journal, 2018, 61(7): 949-958. DOI:10.1093/comjnl/bxy008 |
| [20] |
Hao Yaojun,Zhang Fuzhi,Wang Jian,et al. Detecting shilling attacks with automatic features from multiple views[J]. Security and Communication Networks, 2019, 2019: 6523183. DOI:10.1155/2019/6523183 |
| [21] |
Zhang Shijie,Yin Hongzhi,Chen Tong,et al.GCN-based user representation learning for unifying robust recommendation and fraudster detection[C]//Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval.New York:ACM,2020:689–698.
|
| [22] |
Ebrahimian M,Kashef R. Detecting shilling attacks using hybrid deep learning models[J]. Symmetry, 2020, 12(11): 1805. DOI:10.3390/sym12111805 |
| [23] |
Vivekanandan K,Praveena N. Hybrid convolutional neural network(CNN) and long-short term memory(LSTM) based deep learning model for detecting shilling attack in the social-aware network[J]. Journal of Ambient Intelligence and Humanized Computing, 2021, 12(1): 1197-1210. DOI:10.1007/s12652-020-02164-y |
| [24] |
Zhou Quanqiang,Wu Jinxia,Duan Liangliang. Recommendation attack detection based on deep learning[J]. Journal of Information Security and Applications, 2020, 52: 102493. DOI:10.1016/j.jisa.2020.102493 |
| [25] |
Lund J,Ng Y K.Movie recommendations using the deep learning approach[C]//Proceedings of the 2018 IEEE International Conference on Information Reuse and Integration.Salt Lake City:IEEE,2018:47–54.
|
| [26] |
Al–Ghuribi S M,Mohd Noah S A. Multi-criteria review-based recommender system—The state of the art[J]. IEEE Access, 2019, 7: 169446-169468. DOI:10.1109/ACCESS.2019.2954861 |
| [27] |
Yuan Wanqiao,Xiao Yingyuan,Jiao Xu,et al.Neural network detection of shilling attack based on user rating history and latent features[C]//Proceedings of the 2019 International Conference on Machine Learning,Big Data and Business Intelligence(MLBDBI).Taiyuan:IEEE,2019:229–232.
|
| [28] |
Hao Yaojun,Zhang Fuzhi,Chao Jinbo. An ensemble detection method for shilling attacks based on features of automatic extraction[J]. China Communications, 2019, 16(8): 130-146. DOI:10.23919/JCC.2019.08.012 |
| [29] |
Hao Yaojun,Zhang Fuzhi. An unsupervised detection method for shilling attacks based on deep learning and community detection[J]. Soft Computing, 2021, 25(1): 477-494. DOI:10.1007/s00500-020-05162-6 |
| [30] |
Fadnavis S. Image interpolation techniques in digital image processing:An overview[J]. International Journal of Engineering Research and Applications, 2014, 4(10): 70-73. |
| [31] |
Al–Turaiki I,Altwaijry N. A convolutional neural network for improved anomaly-based network intrusion detection[J]. Big Data, 2021, 9(3): 233-252. DOI:10.1089/big.2020.0263 |
| [32] |
Wang Ding,Zou Yunkai,Tao Yi,et al. Password guessing based on recurrent neural networks and generative adversarial networks[J]. Chinese Journal of Computers, 2021, 44(8): 1519-1534. [汪定,邹云开,陶义,等. 基于循环神经网络和生成式对抗网络的口令猜测模型研究[J]. 计算机学报, 2021, 44(8): 1519-1534. DOI:10.11897/SP.J.1016.2021.01519] |
| [33] |
Tu Yan,Wang Huayi,Zhou Xiaoyang,et al. Comprehensive evaluation of security,equity,and efficiency on regional water resources coordination using a hybrid multi-criteria decision-making method with different hesitant fuzzy linguistic term sets[J]. Journal of Cleaner Production, 2021, 310: 127447. DOI:10.1016/j.jclepro.2021.127447 |
| [34] |
Xu Zeshui,Xia Meimei. Distance and similarity measures for hesitant fuzzy sets[J]. Information Sciences, 2011, 181(11): 2128-2138. DOI:10.1016/j.ins.2011.01.028 |
| [35] |
Zhang Fuzhi,Ling Zhoujun,Wang Shilei. Unsupervised approach for detecting shilling attacks in collaborative recommender systems based on user rating behaviours[J]. IET Information Security, 2019, 13(3): 174-187. DOI:10.1049/iet-ifs.2018.5131 |
2022, Vol. 54









