发布时间:2020-02-06所属分类:计算机职称论文浏览:1次
摘 要: 摘 要:作为一种应对信息过载问题的有效手段,协同过滤推荐系统被广泛应用到诸多领域.然而托攻击的存在严重影响了推荐系统的推荐质量,因此如何保障推荐系统不受托攻击的影响已经成为推荐系统安全领域的研究热点.本文首先介绍托攻击产生的动机及分类,然后对
摘 要:作为一种应对“信息过载”问题的有效手段,协同过滤推荐系统被广泛应用到诸多领域.然而托攻击的存在严重影响了推荐系统的推荐质量,因此如何保障推荐系统不受托攻击的影响已经成为推荐系统安全领域的研究热点.本文首先介绍托攻击产生的动机及分类,然后对推荐系统中的托攻击检测技术和鲁棒推荐算法的现状进行分析,最后对推荐系统安全领域的未来发展趋势进行了展望.
关键词:推荐系统;协同过滤;托攻击;攻击检测;鲁棒推荐
推荐系统(recommendersystems)[1]是一种解决“信息过载”的有效手段,能够基于用户-项目评分矩阵为用户提供推荐.协同过滤(collaborativefiltering,CF)是推荐系统中应用最为广泛的一种,目前已被广泛应用于电子商务、电 影 和 视 频 网 站、音 乐 网 络 电 台、社 交 网 络 等 诸 多 领 域[2-3],如 著 名 的 Amazon、Netflix、YouTube、Facebook等平台均使用协同过滤推荐系统.这种技术能够依据用户的历史评分概貌寻找与其相似的近邻,根据多个最近邻的概貌信息为目标用户产生推荐结果.协同过滤推荐系统的预测模式符合现实生活中人的行为模式,然而自身的开放性也为恶意用户提供了可乘之机,即恶意用户可通过向评分系统中注入大量虚假用户概貌来产生对其有利的推荐结果[4-5].例如,在电子商务应用环境,一些不法商家可能会委托提供专门服务的灰色组织对其产品评最高分或者对其竞争对手的产品评最低分,以提升或降低目标产品被系统推荐的频率.2014年,19家虚假评论公司被检测出在 Yahoo、Yelp等多个评分系统中进行虚假欺诈评价[6].恶意用户的 这 种 行 为 被 称 为 托 攻 击(shillingattack),也称为概貌注入攻击(profilesinjectionat-tack)或推荐攻击(recommenderattack)[4].已有研究表明,协同过滤推荐系统在面对“托攻击”时呈现脆弱性[4,7],因此推荐系统安全一直是一个不容忽视的问题.
由于推荐系统具有重要的应用价值,而推荐系统安全能够影响和制约推荐系统的使用及发展,因此托攻击问题自出现以来一直受到国内外学者的广泛关注.德国的汉诺威大学、美国的德保尔大学、爱尔兰都柏林大学等及国内的西安交通大学、南京财经大学、重庆大学、燕山大学等研究团队均对该领域进行了深入研究并取得了丰硕成果.目前,尽管已有少量针对托攻击检测的综述文献[4,8-9],但未能包含近几年该领域取得的最新研究成果,且攻击检测技术并不是实现推荐系统安全的唯一手段.根据已有的研究[10],推荐系统安全机制包括攻击检测技术和鲁棒推荐算法.为此,本文总结自托攻击概念出现以来,托攻击模型、攻击检测技术和鲁棒推荐算法领域的最新进展,讨论已有工作的局限性,进而对未来的发展趋势和研究方向进行预测.
1 托攻击模型的产生及发展
协同过滤推荐系统中,系统根据每个用户最近邻的概貌信息为其生成推荐列表,因此恶意用户可利用推荐系统的开放性,人为地向系统中注入大量虚假概貌,企图成为多个真实用户的近邻,进而达到影响真实用户推荐结果的目的.这种向推荐系统注入虚假概貌的行为即为托攻击,2004年由 Lam 等[11]首次正式提出.自此以后,推荐系统中的托攻击问题一直备受关注.依据攻击目的的 不 同,托攻击可分为推攻击(pushat-tack)和核攻击(nukeattack).推攻击试图提升目标项目的推荐排名,而核攻击则相反.
图1为攻击概貌的一般结构,其中:IS 和IF 分别为选择项目集合和填充项目集合,it 表示目标项目,IΦ 则为未评分的项目集合.由图1可知,为达到攻击目的和意图,攻击用户除对目标项目进行异常评分外,还需对许多其他项目进行评分,这些被评分的非目标项目被称为选择项目或填充项目.不同攻击模型中,IS和IF 的选择方式不同,这些项目上的评分值生成策略也不同,分别由函数δ 和σ确定.攻击的目标项目可以是单个或多个,目标项目it 的评分值由函数γ 确定.
1.1 标准攻击
文献[11]最先提出了2种基本的标准攻击模型,分别为随机攻击(randomattack)和均值攻击(averageattack).随后文献[12-13]提出了流行攻击(bandwagonattack)、分段攻击(segmentattack)和love/hate攻击.Gunes等[4]则在流行攻击 基础上,讨 论 了 逆 流 行 攻 击 (reversebandwagonattack).近 来,Seminario等[14-15]提出了 PUA(poweruserattack)和 PIA(poweritemattack).不同攻击模型对推荐系统评分集所需的先验知识不同,表1列出了8种标准攻击模型的生成策略,推攻击时目标项目均被注入最高分,核攻击时目标项目则被评最低分.
表1中,rrandom表示对应项目上的评分值服从整个评分集上的评分均值和方差的正态分布,raverage表示评分值服从对应项目上的评分均值和方差的正态分布,rmax和rmin分别表示推荐系统中的最高评分值和最低评分值.
1.2 模糊攻击
为逃避检测,攻击用户可采用混淆技术来增大攻击检测的难度,目前已有的混淆技术[16]主要有:噪音注入(noiseinjection)、用户偏移(usershifting)、目标偏移(targetshifting)和流行装填[7].
1)噪音注入:在选择项目或填充项目的评分上加上一个随机数.
2)用户偏移:对攻击用户u,在其攻击概貌中,任意挑选部分选择项目和填充项目,在这些项目的原有评分值上均增加一个偏移量,偏移量的具体值由用户u 对应的偏移函数决定.
3)目标偏移:将每个攻击概貌中对应目标项目的评分值替换为次高分(推攻击)或次低分(核攻击).
4)流行装填:即 AoP攻击,在前x%的流行项目集合上选择填充项目构造均值攻击.项目流行程度依据项目上的被评分数量.
将这些混淆技术应用在标准攻击上即为模糊攻击,显然混淆技术使得模糊攻击比普通的标准攻击更为复杂,其检测难度也相应增大.
1.3 群组攻击
Su等[17]最先提到了推荐系统中的组攻击场景,即每个攻击用户仅攻击目标项目集中的一部分而非全部.这种组攻击场景的检测并不复杂,因此很长一段时间以来,群组攻击模型并未被单独讨论.不同于传统的托攻击模型,组攻击模型应是一种全新的攻击模型.攻击群组内的多个攻击概貌彼此协同,共同攻击一个或一组关联的目标项目.2012年,Wang等[18]提出了一种新的群组攻击模型的生成算法,在基于均值攻击或随机攻击模型生成的攻击概貌基础上,按照一定的策略生成攻击组中的组成员概貌,严格条件的群组攻击生成模型需满足:1)群组内的任意2个不同概貌间均有共同评分项目;2)任意3个不同概貌间均无共同评分项目;3)任意2个不同概貌间的相似度均为-1.由于每个组成员其评分行为都和正常用户相近,这使得从个体检测角度出发的托攻击检测模型失效.由于这些攻击概貌间相似度较低,因此与传统的托攻击模型相比,组攻击的检测也更为复杂.然而,按照文献中组攻击模型的生成策略构造的群组其规模是受限的,即能够同时满足这3个条件的概貌较少,因此群组攻击模型的生成方法还有待深入研究.
2 托攻击检测技术
自2004年托攻击模型被提出以来,国内外学者对托攻击检测方法进行了深入研究并取得了一系列成果.托攻击检测问题常被视为二分类问题,可从机器学习角度将托攻击检测技术分为基于监督学习的攻击检测、基于半监督学习的攻击检测和基于无监督学习的攻击检测.
2.1 基于监督学习的攻击检测
基于监督学习的攻击检测将托攻击检测问题视为分类问题,首先基于训练集中的标记样本训练分类器,进而对测试集中的攻击 概 貌 进 行 分 类.Burke等[19]在 提 出 的 通 用 特 征 和 专 有 特 征 基 础 上,利 用 训 练 好 的KNN 分类器检测随机攻击和均值攻击.伍之昂等[20]提出了一种有效的特征选择方法,在已知攻击类型的先验条件下,使用朴素贝叶斯分类(NaiveBayesianClassifier)来检测托攻击.李文涛等[21]提出了3种基于项目流行度的检测特征,利用所提特征训练决策树算法检测攻击概貌,对于包含大量随机选择项目的攻击概貌具有较好的检测效果.Zhang等[22]从项目流行度和新颖度角度,利用互信息知识和 Hilbert-Huang变换提取评分项目序列上的检测特征,训练支持向量机(SVM)分类器检测攻击概貌.Yang等[23]和 Zhang等[24]对集成检测算法进行了研究,通过训练多个基分类器实现攻击概貌的集成检测,提升了托攻击检测器的检测精度.Zhou[25]针对 AoP展开研究,利用词频-逆文档频率法提取 AoP攻击特征.周巍等[26]提出了基于 SVM和目标项目的托攻击检测方法,通过使用自适应人工合成样本方法 Borderline-SMOTE 方法对边界样本进行拟合,缓解了推荐系统托攻击检测中存在的类不均衡问题,一定程度上提高了检测性能.此外,Zhou等[27]针对未知类型的攻击检测问题,提出了一种基于仿生模式识别的检测方法,利用仿生模式识别实现训练集(仅包含真实概貌)上的最佳覆盖,覆盖范围外的测试样本则被判别为攻击概貌.
基于监督学习的托攻击检测方法通常在检测单一的已知攻击类型时具有优越的检测性能,但对于混合攻击却效果不好,这是因为不同攻击类型下攻击概貌的特征不同,需要根据混合攻击的类型及比例调整特征的权重参数,从而达到理想的分类效果.此外监督学习需要在标记数据集上训练分类器,而在许多真实场景中,大量标记数据的获取是困难的,这很大程度上制约了基于监督学习的托攻击检测方法的发展.
2.2 基于半监督学习的攻击检测
尽管在很多实际场景中获取大量标记数据是困难的,但通常有部分概貌是很容易识别和标记的,同时大量无标记数据是容易获取的,据此出现了一系列基于半监督学习的攻击检测方法.Cao等[28]提出了一种两阶段的半监督检测模型,首先在部分标记数据上训练朴素贝叶斯分类器,然后通过带参数的最大期望(EM)算法组合无标记数据,从而检测出攻击概貌.伍之昂等[29]提出了一种针对混合托攻击的半监督检测器——— HySAD.HySAD基于常用的统计特征,利用半监督朴素贝叶斯方法在部分标记数据上训练初始分类器,然后利用无标记数据对初始分类器进行改进.该方法利用极大似然估计参数值,使用类似最大期望算法迭代求解,能够将随机攻击和均值攻击二者构成的混合攻击下的攻击用户和正常用户进行有效区分,提升了混合攻击的检测效果.此外,Zhang等[30-31]提出了一种基于半监督学习的群组攻击检测方法.
基于半监督学习的攻击检测方法能够在大量无标记数据场景下,充分利用部分标记数据的准确性,实现真实概貌和攻击概貌的有效区分,相比于需要大量标记数据的有监督检测方法具有更广阔的应用场景.
2.3 基于无监督学习的攻击检测
基于监督学习和半监督学习的攻击检测均依赖于特征指标和训练集,因此无需训练过程的无监督方法一直受到广泛关注.
Mehta等[32-33]利用主成分分析(principalcomponentanalysis,PCA)计算概貌的主成分系数得分,认为攻击概貌对推荐系统贡献的信息较少,因此在主成分空间上取值较小.这种方法对推荐系统中的多种托攻击模型均具有优越的检测性能,但需要预先获知攻击规模(攻击概貌数量),这在实际中较难准确获取.Bry-an等[34]提出了一种基于基因领域 Hv-score的无监督检测方法,首先借鉴基因领域 Hv-score指标的计算方法度量推荐系统中每个用户的可疑度,然后基于高 Hv-score值的用户识别出目标项目,最后结合识别出的目标项目检测出所有的攻击概貌.这种方法能够检测多种标准攻击及模糊攻击,但仅适用于检测单个目标项目的攻击场景.Hurley等[7]提出了一种基于 Neyman-Pearson理论的无监督检测方法,该方法不需先验知识,但仅用来检测高填充率和大规模的标准攻击和 AoP攻击,对低填充率和小规模的攻击检测效果较差.Lee等[35]认为有效的攻击概貌应位于真实概貌分布的中心,利用聚类的方法将用户划分为多个簇,进而利用所提出的簇参数检测出攻击概貌所在的簇.该方法仅对填充规模较大的均值攻击具有良好的检测效果.文献[36]提出了一种基于信念传播(beliefpropapation)算法的无监督检测方法.该方法不依赖用户的评分模式,而是在假定已知多个目标项目前提下,利用信念传播算法推断出概貌是否属于攻击用户,然而该方法的检测性能与目标项目数量有关,在目标项目数量较少时其检测性能较差.文献[37-38]从图论的角度解决托攻击检测问题,他们认为攻击概貌间是彼此高度相似的,因此用户评分相似矩阵中的最大子阵包含了所有的攻击用户.文献[39]在用户-项目的二分图中,基于部分已标记的攻击用户迭代计算所有用户和项目的可疑程度.所提方法的检测性能不受攻击模型类型的影响,对传统的托攻击模型或群组攻击均具有优越的检测性能,但该方法需要预先标记出一些攻击概貌并且需预先获取攻击概貌数量.Yang等[40]提出了一种基于图挖掘和图相似的无监督检测方法,首先利用图挖掘方法构建可疑用户集,然后结合目标项目分析方法识别出可疑用户集中的攻击 用 户.这种检测方法不受具体的攻击类型影响,但 不 能 检 测 小 规 模 的 攻 击.另 外,Yang等[41]在已有的大量托攻击检测特征基础上,应用自适应的结构学习选择更有效的特征,利用基于密度的聚类算法聚类可疑用户,最后结合目标项目识别攻击用户.近来,Zhang等[42]提出了一种基于隐马尔科夫模型和层次聚类的无监督检测方法,首先基于隐马尔科夫模型计算每个用户的可疑度,然后通过层次聚类技术识别出攻击用户.这种方法对多种传统托攻击模型具有卓越的检测性能,但不能有效检测出 AoP攻击.
3 鲁棒推荐技术
协同过滤推荐算法对托攻击呈现脆弱性,为使推荐算法具备抑制托攻击的能力,人们围绕推荐算法自身的鲁棒性进行研究,提出了各种鲁棒推荐技术.
3.1 基于内存的鲁棒推荐算法
针对基于用户的协同过滤算法中攻击用户对目标用户的影响问题,文献[43]最先采用了邻域过滤机制,通过聚类技术将目标用户的近邻分为攻击用户组和真实用户组,仅利用真实用户组的评分概貌对目标用户进行评分预测.后来,信任的概念被引入推荐系统中,文献[44]利用目标用户与近邻间的信任关系来为目标用户选取最近邻居,文献[45]提出了一种基于双重邻居选取策略的鲁棒推荐算法,一方面考虑与目标用户的兴趣相近,另一方面考虑与目标用户间的可信程度,综合这2方面为目标用户选取可信近邻.由于在近邻中引入了可信度量机制,从而缓解了攻击用户对目标用户的影响.文献[46]提出了一种自动建立信任的防攻击推荐算法,能够依据评分系统动态调整用户间信任关系,从而为目标用户选取可信邻居进行推荐.文 献[47]提出了一种基于k-距离的用户可疑度度量技术,利用基于距离的离群点检测技术寻找可疑用户,并综合用户可疑度和用户间相似度为目标用户选取最近邻,从而达到鲁棒推荐的目的.此外,Yi等[48]也提出了一种基于可疑用户度量和多维信任的鲁棒推荐方法,从用户评分的权威性、客观性和相似性这3个方面度量与目标用户间的隐含信任关系,综合用户的可疑度及用户间的信任关系为目标用户选择可信的最近邻.
3.2 基于模型的鲁棒推荐算法
基于模型的推荐算法不是直接利用用户-项目评分数据产生推荐,而是利用训练得到的抽象模型为目标用户进行推荐.目前,基于模型的协同过滤推荐算法广泛使用的技术是矩阵分解.与基于内存的协同过滤推荐算法相比,基于模型的推荐算法本身具有一定的鲁棒性.然而矩阵分解中的最小二乘估计量对离群点敏感,为此出现了鲁棒矩阵分解算法.
文献[49-50]提出了基于 M-估计量的鲁棒推荐算法,该算法对于中、小规模的托攻击具有一定的鲁棒性.此外,Mehta等[51]也提出了基于奇异值分解的鲁棒推荐算法,该方法在过滤掉可疑概貌后的评分数据集上进行基于奇异值的矩阵分解,但所提方法不适合应用在大规模数据集.文献[52]提出了基于 L-估计量的鲁棒推荐算法,通过限制目标函数的范围来降低攻击概貌的影响,该方法虽然提高了推荐算法的鲁棒性,但由于舍弃了部分真实概貌数据而降低了推荐精度.Zhang等[53]引入核函数计算用户间相似度,引入 Welsch加权 M-估计量进行模型训练,通过对特征矩阵的鲁棒参数估计实现了推荐算法的鲁棒性.文献[54]提出了基于用户声誉的鲁棒推荐算法,将用户声誉和矩阵分解模型进行了结合,增强了系统抵御均值攻击的能力.文献[55]提出了基于核矩阵分解的鲁棒推荐方法.近来,伊华伟等[56]提出了一种新的鲁棒推荐算法,首先利用模糊核聚类方法对用户概貌进行聚类,然后对含有攻击概貌的聚类利用支持向量机进行分类,进而过滤掉识别出的攻击概貌,最后通过矩阵分解技术实现鲁棒推荐.
相关期刊推荐:《河北大学学报(自然科学版)》(双月刊)创刊于1962年,是河北大学主办的自然科学综合性学术刊物,国内外公开发行。本刊主要刊登数学、物理学、化学、生物学、电子及计算机科学等学科的基础研究和应用研究方面的原创性学术论文。本刊在编辑出版过程中,始终坚持办刊宗旨,坚持质量第一的原则,严把稿件质量关。近年来,本刊曾多次荣获各种荣誉称号,取得了明显的社会效益。为保证本刊的权威性,杜绝任何形式的抄袭稿。稿件文责由作者自负,编辑部有权作必要的修改。文稿在3个月内未收到退修或录用通知,作者可自行处理,另投他刊。未被录用的稿件一般不退稿,请自留底稿。有投稿需求的作者,可以咨询期刊天空在线编辑。
SCISSCIAHCI