問題定義:

現有的一些推薦演算法,特別是協同過濾推薦演算法,它們容易受到外界認為攻擊的影響,例如在Amazon上,有些使用者刻意地對自己的商品評高分,而對競爭對手的商品評低分,這樣一來,Amazon的推薦系統就更容易推薦這些人的商品,而其他人的商品就很難被推薦。這就有點像在google搜尋引擎裡面,有些使用者通過特定的方式來提高自己網站的pagerank值。到目前為止,這種攻擊有很多種,針對不同的演算法有不同的攻擊,本章節就是主要討論攻擊的種類,評價指標以及推薦演算法在受到這些攻擊時候的表現情況。

 

問題描述:

圖1 攻擊框架

  1. 攻擊框架

首先我們來看一下傳統的推薦系統攻擊的框架,如圖1所示。圖1中展示了兩種攻擊型別,一種是高效的攻擊,另一種是非高效的攻擊。這兩種攻擊都有一個可檢測區域,即圖中的陰影部分。一般來說,非高效的攻擊不容易被檢測出來,但是它們對推薦系統的影響往往比較小,因此我們的主要精力應該放在如何檢測和防範高效的攻擊。

  1. 名詞描述

Attack profile:攻擊者偽造的使用者

Product push:提高某些商品的推薦概率

Product nuke:降低某些商品的推薦概率

High-acknowledge attack:這種攻擊要求攻擊者瞭解系統的資訊,例如系統使用的演算法,評分的分佈情況,商品的平均分。這種攻擊方法成本較高。

Low-acknowledge attack:這種攻擊方法就不需要太多的系統資訊。

Inform attack:這種方式就更高階了,攻擊者不但知道了許多系統的資訊,而且對系統使用的演算法非常瞭解,這樣他們就針對系統的推薦演算法採取特定的攻擊。

  1. 示例:

圖2 攻擊示例

圖2展示了一個攻擊示例,假設我們現在要決定是否向使用者h推薦商品7。如果系統中只有那些合法使用者,即使用者a-g,通過上表我們發現使用者a和f與使用者h的品味比較相似,由於使用者a和f都喜歡商品7,那麼系統應該把商品7推薦給使用者h。以上情況是我們沒有考慮那些攻擊者的行為,如果我們考慮他們的行為,我們發現,大多數攻擊者(使用者i-m)的品味都與使用者h相似,並且他們對商品7都給了負面的評價,那麼在這種情況下,系統就不會把商品7推薦給使用者h,這樣一來,就達到了那些攻擊者的目的,即product nuke。

  1. 攻擊型別

Basic attack

1)      隨機攻擊

在這個模型中,那些偽造的使用者對特定的商品評最高分(push)或者最低分(nuke),而對其他的商品隨機的評分。這種攻擊方式要求的資訊量比較少,但是攻擊效果也不是很好。

2) 平均值攻擊

與隨機攻擊類似,偽造使用者對特定的商品評最高分或者最低分,不同的是,這些偽造使用者對其他的商品評分值等於該商品的其他使用者對這個商品的平均評分值。

Low-acknowledge attack

3)Bandwagon攻擊

這種攻擊的主要原理是將目標商品與那些少量的熱銷商品繫結在一起,由於那些熱銷的商品具有大量的使用者群體,那麼這些目標商品也就很容易被推薦出去。

4)Segment攻擊

這種攻擊的主要原理是將目標商品推薦給那些特定的使用者群體。一般情況下,攻擊者都比較瞭解這些使用者群體,另外通過一些特定的方式,推薦系統也容易將那些目標商品推薦給這些使用者。例如,攻擊者可以將那些恐怖片推薦給喜歡恐怖片的使用者,而這些使用者的資訊都是被攻擊者所掌控的,攻擊者往往將目標商品與這些使用者都喜歡的熱銷商品繫結在一起,因此推薦演算法就很容易把目標商品推薦給這些使用者群體。

Nuke attack

5)love/hate攻擊

這種攻擊方式很簡單,就是給那些目標商品評最高分,而給那些需要過濾的商品評最低分。這種攻擊方式需要的資訊量非常少,但是這種攻擊對於基於使用者的協同過濾演算法來說,非常有效。

6)Reverse Bandwagon攻擊

這種攻擊方式是Bandwagon攻擊的一個變種,與Bandwagon攻擊不同的是,那些目標商品往往與系統中很不受歡迎的商品繫結在一起,在這種情況下,系統就不容易推薦那些目標商品。

Informed attack

7)popular攻擊

這種攻擊方式需要更多的資訊,包括推薦演算法,商品的平均分,使用者的平均分。假設系統使用的基於使用者的推薦演算法,使用者間的相似度指標為皮爾森係數。我們知道,兩個使用者共同評分是商品數目越多,並不意味著這兩個使用者越相似,還要看他們的評分方式,有時候兩個的共同評分商品很多,但是他們的皮爾森係數可能為負的。在bandwagon攻擊中,那些過濾商品是隨機選擇的,這樣一來,那些偽造的使用者與系統中的合法使用者的相似性就比較隨機,最後就有可能使得那些目標商品計算得到的預測評分值不高。Popular攻擊利用了所有商品的平均分,同樣的,根據商品的得分是否高於平均分,來給這些商品評rmin+1和rmin,rmin代表最低分。通過這種方式,偽造使用者與合法使用者的皮爾森相似度就容易是正的,這樣就可以更容易控制目標商品的推薦。

8)  Probe Attack Strategy

儘管沒有相關的研究表明popular攻擊容易被發現,但是直觀的看,這種攻擊很容易被察覺,因為在這種攻擊模式下,偽造使用者的評分大多都是rmin+1和rmin,所以很容易被系統檢測到。Probe Attack Strategy相對來說,就比較隱蔽,這種方法首先偽造一個使用者,這樣系統就會向這個使用者推薦一些商品,根據這些推薦商品的情況,我們就可以知道這個偽造使用者的鄰居(相似使用者)選擇商品的情況,在得到這些鄰居的資訊之後,就可以對他們選擇的商品進行攻擊,例如用到前面提高的popular攻擊。