如何利用fBox算法检测隐蔽性强的欺诈用户

发布者: 发布时间:2017-04-05来源:

 

作者:汪昊编译来源:51CTO.com



【51CTO.com快译】随着互联网的蓬勃发展和互联网用户的不断增长,各种互联网网站面临着各种各样的技术挑战。出于不同的非法动机,许多用户选择采用欺诈行为谋取经济利益。各种常见的互联网欺诈行为包括短时间内大量点击页面的行为(Lockstep)等。

为了应对互联网行业内泛滥的欺诈行为,各大高校和互联网公司纷纷推出了自己设计的算法。Facebook 推出了著名的 CopyCatch 和 SynchroTrap 算法。知名学府卡耐基梅隆大学也发表了一系列反欺诈算法的论文。我们下面分享的论文来自卡耐基梅隆大学,论文名称是 Spotting Suspicious Link Behavior with fBox : An Adversarial Perspective。

作者首先指出了反欺诈谱分析算法的弊端。谱分析算法通常采用 SVD 算法对图的邻接矩阵进行分解,并选择特征值较大的向量对应的特征来进行反欺诈。谱分析算法通常能发现较大的和密度较高的欺诈团伙,但是对于规模较小的和隐蔽性较强的欺诈团伙通常无能为力,例如下图:

\

这幅图展示了谱分析算法在 Twitter 的社交网络数据集合上可以检测许多明显的欺诈行为,却对坐标原点处的隐蔽性较强的欺诈行为无能为力。

作者采取了对抗式的算法来检测欺诈行为,首先考察了什么样的欺诈行为可以躲过流行的谱分析算法。谱分析算法通常会对图的邻接矩阵做 SVD 分解并且利用前 K 大特征值设计算法。设第 K 大特征值为\,通常特征值小于 k 的欺诈行为都能躲过谱分析算法。

具体的,假定有c 个用户,每个人从具有 f 个欺诈账户的欺诈网络购买了 s 个欺诈行为, 攻击者能够控制的行为是邻接矩阵的一个 f * c 子矩阵。可以证明如果对这个 f * c 进行 SVD 分解得到的最大的特征值小于\,则攻击者可以躲过谱算法的检测。

攻击者可以利用的攻击方式主要有以下三种:简单注入(Naive Injection)、阶梯注入(Staircase Injection)、随机图注入(Random Graph Injection)。

\

三种常见的攻击注入方式如上图所示。三种攻击注入方法的最大特征值均可通过计算得到公式。针对三种攻击注入方式的算法伪代码如下图所示:

\

因为隐蔽的攻击不会反映在前 K 大的特征向量中,因此作者利用\来重构邻接矩阵节点的出度。隐蔽的攻击基本不会贡献值给重构的节点的出度,因此较小的重构值通常意味着隐蔽的攻击。用这种方法可以计算出欺诈用户的集合。类似的,可以通过重构邻接矩阵的入度的方式检测隐蔽攻击的物品集合。

fBox 和 SpokeEigen 等谱算法是互补的关系。fBox 通常能够捕捉较隐蔽的和规模较小的欺诈行为,而 SpokeEigen 等算法捕捉的通常都是较为明显直观的欺诈行为。从 fBox 等算法可以看出 SVD 分解在欺诈检验领域的重要性。在人工智能发展汹涌澎湃的今天,掌握基础的线性代数等知识也是非常重要的。

原文标题:Spotting Suspicious Link Behavior with fBox : An Adversarial Perspective,作者:Neil Shah , Alex Beutel , Brian Gallagher , Christos Faloutsos

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】