这一次,介绍几种托攻击模型。托攻击是什么?
托攻击就是恶意用户或竞争对手公司可能试图在用户-项目矩阵中插入假的个人资料,以影响预测的评级或降低系统的性能。
接博客《托攻击检测基础知识-----WZW托攻击学习日记(一)》。在介绍托攻击的类型之前,再回顾一下,托攻击模型为
托攻击模型将整个系统的所有项目分为4种类型,所有用户分为两种类型。
项目分别为:
目标项目,target item,即希望攻击的项目;
选择项目,seleted item,即希望让攻击更有效选择出的项目;
装填项目,filler item,即希望让攻击更难被检测出来;
未评分项目,unrated item,剩余的所有的项目都是未评分项目。
为什么需要再有用户的构建?
一方面,因为有些系统存在社交关系,所以构建出社交关系可以使托攻击用户更加的隐蔽;另一方面,这种方式对社会化推荐算法有着很强的攻击效果。
用户分为:
链接用户,linked user,即与构造的托攻击用户有着直接联系的用户;
未链接用户,unlinked user,即与构造的托攻击用户没有联系的用户。
好,先针对于项目,也就是评分攻击,咱们先介绍几种攻击方法。
1.抽样攻击 sample attack
抽样攻击:选定固定的攻击项目后,其他的项目直接复制真实用户的概貌(即除了目标项目不同,选择项目,装填项目与真实用户完全相同)。
这种攻击方式由于不容易访问原始用户概要文件,实现这种类型的攻击相对不切实际。
2.随机攻击 random attack
随机攻击:选定固定的攻击项目后,选择项目为空,装填项目随机选择并随机赋值(系统项目评分的正太分布决定填充项目的评分值)
该攻击不需要任何系统知识,成本较低,但是攻击效果一般来说并不好
3.爱/憎攻击 love/hate attack
爱/憎攻击:选定固定的攻击项目后,选择项目为空,装填项目随机选择并随机赋最大值或最小值。
该攻击不需要任何知识,没有选择项目。这种攻击方式很简单,成本低,效果却很好。
4.平均攻击 average attack
平均攻击:选定固定的攻击项目后,选择项目为空,装填项目随机选择并赋全局的均值分布值
注意!这种方式因为还是太简单,在2004年Lam提出用每一个项目各自的均值分布,比起使用全局的均值分布是一种更有效的攻击方式。
Lam S K, Riedl J. Shilling recommender systems for fun and profit[C]// International Conference on World Wide Web. ACM, 2004:393-402
特点:较多的系统知识,因此攻击成本也随之增加
5.流行攻击 bandwagon attack
流行攻击:选择项目为最流行的项目并赋评分最大值,装填项目随机选择并随机赋值
解释:利用商品市场中的Zipf定律,即一部分流行的少量的商品会受到大量的关注,将流行的项目作为选择项目,通过这种方式,注入的虚假用户可以与系统中大量的用户建立相似关系。
特点:只需要较低的知识成本,它不需要具体的系统知识。
6.分段攻击 segment attack
分段攻击:选择项目为与目标项目非常类似的项目并赋评分最大值,装填项目随机选择并随机赋值
解释:设计思想就是将商品有针对性地推荐给可能会对其感兴趣的目标用户群,加强对具有相同兴趣爱好的用户的影响程度,实现将目标项目准确的推荐给潜在购买人群。
特点:需要知道项目间的相似程度,所以也需要大量的先验知识
7.探查攻击 probe attack
探查攻击:选择项目随机选择且探查系统中用户的评分项目评分,装填项目为事先设置好的种子项目并随机分配一定的评分
解释:通过推荐器本身的响应生成攻击用户文件。攻击者首先为少量种子项目分配评级,然后查询系统并构建与系统中现有用户非常相似的攻击概要。这样,在基于邻域的推荐系统中,目标项很容易产生偏差。
特点:只需要较少的先验知识
8.无组织恶意攻击 unorganized malicious attacks
无组织恶意攻击:随机选择n种攻击方式,按已设定好的比例生成相应数量的攻击用户。
特点:该种攻击方式由于其复杂的攻击方式极难被检测到。
-----------------------------------------------------------------------------------------------------------
另一方面,介绍关系攻击,相对于评分攻击关系攻击相对简单,不过需要注意的是,关系攻击是辅助攻击方式,不能独立于评分攻击单独存在。
1.随机链接攻击:攻击者随机的选取用户进行链接关系。
2.目标链接攻击:攻击者选择特定的用户进行链接关系。
针对目标攻击的话,需要选择特定的用户,现在已知比较常见的用户为
-----------------------------------------------------------------------------------------------------------------------------------
接下来,介绍一下混淆技术,由于只选择装填项目可能没办法很好的隐蔽起来,所以,研究者有使用一些混淆技术进行隐蔽。
1.噪音注入
噪音注入:攻击方式选择固定,在已经构建好的攻击概貌基础上再加一个随机值。
解释:为了掩盖常见攻击模型的特征,其中由某种特定分布(如高斯分布)产生的随机数被添加到一组攻击概要项中的每个评级中。
2.目标偏移
目标偏移:攻击方式选择固定,将目标项目的评分进行适当的调整。
解释:对目标项目评最高分或最低分容易引起检测器的注意, 目标偏移就是将目标项目评分改成次高分或次低分.
3.流行装填
流行装填:其中比较出名的是Aop(average over popular items)攻击,装填项目选择为Top-x%的流行项目,项目的评分基本与平均攻击相似。
解释:在 Top-x%的最流行项目集合内等概率选择装填项目, 项目流行程度可以通过项目被评分的数量来衡量。
ok,介绍完毕,托攻击效果的衡量指标去我的第一篇博客看就行~下一篇我们会介绍几个常见的托攻击检测算法。