首页 理论教育 推荐系统中的托攻击检测研究:基于目标项目分析

推荐系统中的托攻击检测研究:基于目标项目分析

更新时间:2025-01-19 工作计划 版权反馈
【摘要】:下面详细介绍这几种托攻击检测算法。基于监督学习的托攻击检测方法分为训练和测试两个过程。张付志等人[71]针对使用用户概貌提取技术描述托攻击概貌不精确的问题,提出了一种结合支持向量机和粗糙集理论的托攻击检测方法。基于无监督的托攻击检测算法直接操作和处理测试集,并输出检测结果[87,88]。这两个托攻击检测方法能有效检测填充规模密度较高的托攻击,但会导致大量真实概貌被误判为托攻击概貌。

随着推荐系统和推荐技术受到越来越多的重视,推荐系统托攻击检测技术已经成为推荐系统领域的研究热点[58-60]。推荐系统托攻击检测研究虽然起步较晚,但现有的研究从不同角度研究托攻击检测,按照工作机制分为两类:一类是通过挖掘推荐系统中用户—项目评分矩阵,分析托攻击评分概貌与正常评分概貌的差异对托攻击进行检测;另一类是指利用除用户—项目评分矩阵以外的信息,挖掘包括评分时间序列[61]、用户关系[62]、标签信息[63]、用户信任度[10,52,64,65]等在内的信息,以达到检测托攻击的目的。在挖掘用户—项目评分矩阵的托攻击检测算法中,有的算法直接对用户—项目评分矩阵进行分析从而实现对恶意用户的检测[66],但是此类方法只能针对用户和项目较少的评分矩阵。所以目前大多数托攻击检测技术致力于研究在评分矩阵概貌级别对托攻击概貌和正常用户概貌进行区分,从而消除托攻击概貌在推荐系统中的影响[7]。托攻击概貌一般是由某种攻击模型生成,并且托攻击概貌之间具有群体性的特性;另外攻击概貌和真实概貌在个体上具有不同概貌属性值,如正常用户与恶意用户的概貌中某些项目受到评分的个数及目标项的评分存在差异[67],利用这些特征将有助于托攻击检测[49]

托攻击者往往利用某一种或多种攻击模型构建攻击概貌[68]。对托攻击者来说实施托攻击有两个目标:第一个是注入攻击概貌以达到攻击意图(推攻击或者是核攻击);第二个是避免注入的攻击概貌被发现,这就要求攻击概貌尽量与真实用户概貌相似,避免被检测到。但是攻击概貌和真实概貌在评分特征和群体特征上仍然具有差异,所以找出攻击概貌的群体性特征及发现托攻击概貌异于真实用户概貌的评分特征是设计出高效托攻击检测方法的关键。如果将推荐系统托攻击检测看成一个二分类问题,那么分类器的目的是将一个用户概貌归入“真实”或“攻击”两类之一[7]。托攻击分类器可通过分类技术或聚类技术实现。通过概貌属性提取技术提取用户概貌属性,并结合机器学习方法可以将托攻击概貌从真实概貌中分离出来。按分类器需要的样本标签的多少可以将托攻击检测技术分为三大类[11,69,70]:基于监督学习的托攻击检测算法[71-73],基于无监督学习的托攻击检测算法[74-77],以及基于半监督学习的托攻击检测算法[35,78,79]。下面详细介绍这几种托攻击检测算法。

(1)基于监督学习的托攻击检测算法

基于监督学习的托攻击检测方法是通过概貌属性提取技术,提取用户概貌属性,使用有标签的用户概貌属性数据作为训练集,构造一个分类器,并在测试集上对未知标签的用户概貌进行分类[67,80]。基于监督学习的托攻击检测方法分为训练和测试两个过程。在训练过程中,在训练集上使用基于监督学习算法生成一个分类模型,构造分类器;在测试过程中,在测试集上使用得到的分类器对测试集分类,并计算分类结果的准确性[81]。因此,使用概貌属性提取技术提取能够有效区分攻击概貌和正常概貌的概貌属性,是基于监督学习的托攻击检测算法的前提[82]。文献[78]在这些用户概貌属性特征的基础上构造分类器:包括最近邻方法(kNN)[83]、决策树方法(C4.5)和支持向量机方法(SVM)[84]。C4.5和SVM检测结果召回率较高,但kNN方法相对SVM和C4.5方法有对真实用户误判率低的优势,SVM方法的综合检测性能在三者中最佳[78,85]

Williams等人[24,86]提出了几种概貌属性,包括填充项方差平均FMV,填充项平均差异度FMD,填充项平均相关度FAC,概貌偏离度PV等专用概貌属性,这些概貌属性可用来检测已知的、特定类型的推荐系统托攻击;另外,平均偏离度RDMA,加权偏离度WDA,加权平均偏离度WDMA,近邻相似度DegSim,长度变量值LengthVar等通用概貌属性,这些概貌属性不针对特定类型的攻击模型。Williams等人的检测方法能有效监测已知特定攻击类型的托攻击概貌,但是该方法有较高的误报率。

伍之昂等人[70]利用概貌属性集针对某种攻击模型有效的性质,使用特征选择算法Relief为不同的托攻击类型选择不同的概貌属性集,提出了一种基于选择概貌属性的托攻击检测方法,该方法能有效检测已知攻击类型的托攻击,托攻击检测灵活性较好。但是该方法针对性较强,无法有效检测攻击类型未知的托攻击。

张付志等人[71]针对使用用户概貌提取技术描述托攻击概貌不精确的问题,提出了一种结合支持向量机和粗糙集理论的托攻击检测方法。该方法根据项目类别提出了一种概貌属性提取方法,并结合新概貌属性与Williams等人提出的概貌属性,使用支持向量机进行分类,最后使用粗糙集理论进行决策。该方法检测部分类型的托攻击有较高的召回率,但检测结果中假正率也较高。

(2)基于无监督学习的托攻击检测算法

基于无监督学习的托攻击检测算法一般通过聚类方法分离托攻击者类和真实用户类[42]。基于无监督的托攻击检测算法直接操作和处理测试集,并输出检测结果[87,88]。由于基于无监督的检测方法没有使用标签信息,因此这种托攻击检测方法需要一定的先验知识才能进行检测[74,89,90],并且需要在满足一定的假设条件下才有较好的检测效果[82]

Chirita等人[19]将虚假的用户评分概貌认为是托攻击概貌,认为托攻击概貌的评分模式不同于真实概貌的评分模式。提出使用统计指标来区分攻击概貌和真实概貌,并根据利用托攻击概貌和真实概貌属性值的不同,提出了两个托攻击检测算法来检测托攻击概貌。这两个托攻击检测方法能有效检测填充规模密度较高的托攻击,但会导致大量真实概貌被误判为托攻击概貌。这两种方法在一定前提条件下才能成立,即假设评分矩阵中攻击概貌的数目远少于真实概貌的数目。此外,当检测托攻击概貌中填充规模较小的托攻击类型时检测精度不高。

Lee等人[23,91]提出了一种分两阶段的托攻击检测方法:第一阶段,找到最有可能是托攻击概貌的概貌集合;第二阶段,利用K-means聚类方法将第一阶段得到的概貌集合聚类,托攻击概貌所在的类中用户概貌之间具有最大评分偏离度进而将此类中全部用户概貌标识为托攻击概貌。该检测方法能够有效对填充率较高的托攻击类型进行检测,但无法有效检测低填充率的托攻击类型,并且该方法检测稀疏的评分矩阵时检测结果中假正率较高,会将一部分真实用户误判为攻击用户。

Bhaumik等人[49,92-94]通过聚类技术检测托攻击概貌。提出的算法使用K-means聚类将用户概貌分成两类;将少数类中的全部概貌标识为托攻击概貌,将多数类中的全部概貌标识为真实概貌。但是作为一种基于无监督的检测方法,该方法需要一定的系统先验知识。这种方法假定评分矩阵中存在托攻击,同时假定托攻击概貌的数量比真实概貌的数量少。此方法检测结果中真实概貌容易被误判为托攻击概貌,从而导致总体检测精度不高。李聪等人[69,95]分析了托攻击群体性的特征,提出了一种基于无监督的检测算法IBIGDA。IBIGDA算法在一定程度上减少了对系统先验知识的依赖,但是该算法仍假定托攻击概貌的数目比真实概貌的数目少。

(3)基于半监督学习的托攻击检测算法(www.xing528.com)

文献[79,96,97]中的基于半监督的托攻击检测方法根据用户的概貌属性,首先使用少量训练样本训练贝叶斯分类器,再利用大量没有标签的数据提高分类器的性能。基于半监督的托攻击检测算法的优点体现在其能够利用大量无标签的用户概貌数据提升分类器的性能。

除了上述的托攻击检测方法,研究者们还提出了根据用户—项目评分矩阵以外的其他信息来检测推荐系统中的托攻击的方法。例如基于用户信任的推荐系统[98-100],这种方法给每个用户一个信任度,通过用户信任度的计算,达到提高信任度高的用户在推荐系统中的影响,降低信任度低的用户在推荐系统中的影响的目的。但是这种方法的缺点是,用户的信任度针对的是用户的所有评分,但是用户在不同时间阶段的评分信任度是不同的[101]。MP O’Mahony[48]提出了一种通过计算概貌数据的概率分布来检测推荐系统中自然噪声数据和人为噪声数据的信号检测方法[20,102]提出使用相似度传播算法,对群组概貌而不是对单个用户概貌进行分类[45]。利用用户的评分间隔、频率和数量等属性,提出了一种利用用户评分间时间间隔检测托攻击评分的方法。Sheng Zhang等[103]根据用户评分,针对每个目标项目构建一个时间序列,使用时间窗口来组织一个项目的评分,计算每个时间窗口的样本均值和样本熵,利用这些属性值来检测攻击行为。另外,还有基于模型的托攻击检测方法[32]、基于记忆的托攻击检测方法等[33,104]

推荐系统托攻击检测研究已经取得了一定的研究成果,但仍然存在不足之处,主要体现在下述几个方面。

(1)特征提取方法不能有效描述用户概貌属性

已有的特征提取方法对击概貌的描述能力较弱,提取的概貌属性值区分度不高。另外,已有的概貌属性提取方法不能有效描述未知类型的托攻击。

(2)基于监督学习的托攻击检测方法的误报率较高

基于监督学习的托攻击检测方法虽然能检测部分类型的托攻击,但检测结果假正率较高。并且检测结果过度依赖训练集数据,在实际推荐系统中难以找到大量有标签的托攻击概貌数据。

(3)托攻击检测算法通用性低,不能有效检测未知的托攻击类型

已有检测方法在检测已知特定类型的托攻击时,检测结果较好。但是在检测未知攻击类型的托攻击时表现不佳。另外,基于监督学习的托攻击检测算法面临类不均衡问题,导致基于监督学习的托攻击检测算法精度不高。

(4)基于无监督托攻击检算法受到先验知识的限制

基于无监督托攻击检测需要一定的推荐系统先验知识,而且先验知识的准确性直接影响托攻击检测性能。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈