胡德敏 朱德福
摘要 協(xié)同過濾是推薦系統(tǒng)中普遍使用的一種推薦技術,然而協(xié)同推薦系統(tǒng)很容易遭受惡意用戶的攻擊。攻擊者通過向系統(tǒng)注入大量有規(guī)律的攻擊用戶信息,達到人為操縱推薦系統(tǒng)的目的。為了檢測系統(tǒng)中存在的攻擊用戶,通過研究攻擊用戶信息的統(tǒng)計特征,提出了一種基于特征分析的攻擊檢測算法。試驗結果表明,該算法具有更高的檢測率,有效緩解了推薦系統(tǒng)遭受托攻擊操縱的問題,確保了推薦系統(tǒng)的可靠性。
關鍵詞 推薦系統(tǒng);協(xié)同過濾;托攻擊;特征分析;攻擊檢測算法
DOI DOI: 10.11907/rjdk.162568
中圖分類號: TP312
文獻標識碼: A 文章編號 文章編號: 16727800(2017)002004206
0 引言
通過生成高質量的個性化推薦結果,推薦系統(tǒng)能夠有效幫助用戶應對信息過載問題。協(xié)同過濾 [13]是目前主流的推薦技術,然而由于系統(tǒng)的開放性和用戶的參與性,基于協(xié)同過濾的推薦系統(tǒng)很容易受到惡意用戶攻擊,尤其是在電子商務網站中,這種惡意攻擊現象更加普遍。
研究表明[46],基于協(xié)同過濾的推薦系統(tǒng)很容易遭受到托攻擊(shilling attack)影響,惡意用戶通過偽造虛假的用戶概貌模型,對系統(tǒng)實施托攻擊,使系統(tǒng)增加或減少對某些商品的推薦頻率。文獻[7]第一次提到通過人工設計用戶評分數據模型就可成功操控系統(tǒng)推薦結果的例子,文獻[4]列舉了一些人為操縱推薦系統(tǒng)的真實案例,其中包括像Amazon和eBay等知名網站。表1中的數據簡略展示了托攻擊操縱協(xié)同推薦系統(tǒng)原理,該例中用戶評分等級是15分,分值越高代表用戶就越喜歡某個項目。該例中項目6是目標項目,用戶6是目標用戶,攻擊者的目的是增加系統(tǒng)對目標項目的預測分值,即對其實施推舉攻擊。在不考慮攻擊用戶的情況下,系統(tǒng)根據目標用戶的歷史評分和其近鄰用戶的歷史評分,預測目標用戶對目標項目的喜歡程度。若只考慮用戶1到用戶6之間的真實用戶信息,推薦系統(tǒng)則傾向于給目標項目偏低的預測分值,并且不會將目標項目推薦給目標用戶。但是,如果同時考慮攻擊用戶1到攻擊用戶5之間的攻擊信息時,由于這些攻擊用戶是目標用戶的相似近鄰用戶,并且都給予目標項目最高評分,從而系統(tǒng)就會傾向于給目標項目一個較高的預測評分,將項目6推薦給用戶6,從而達到操縱推薦系統(tǒng)的目的。
如何防范和檢測托攻擊,提升推薦系統(tǒng)的健壯性和穩(wěn)定性,成為近年推薦系統(tǒng)領域的研究熱點。本文針對推薦系統(tǒng)托攻擊檢測問題展開了研究。
1 相關工作
目前該領域經常用到的技術有分類、聚類和統(tǒng)計學技術等。文獻[8]基于統(tǒng)計學知識,提出了幾個可用來分析攻擊用戶特征的統(tǒng)計量,通過試驗評估了它們在檢測托攻擊中具有的潛能大小,提出了一種基于概率模型的攻擊檢測算法;文獻[9]通過研究現存的幾種不同攻擊模型特性,引進了基于特定攻擊模型的攻擊檢測方法,通過利用有監(jiān)督的機器學習方法構建分類器,區(qū)分攻擊用戶和真實用戶。但是,隨著新的攻擊策略出現,該方法卻不能保證其檢測結果精準度;文獻[10]針對推薦系統(tǒng)中存在的托攻擊現象進行了綜述,總結了現有的攻擊模型、攻擊檢測方法等相關內容,并指出了度量攻擊模型性能的統(tǒng)計度量標準,最后指出該領域需要重點研究攻擊者難以檢測的問題;文獻[11]研究了托攻擊對基于SVD算法的推薦系統(tǒng)影響,在此基礎上提出了一種基于SVD算法的攻擊檢測方法,實驗表明,提出的檢測算法針對隨機攻擊具有很高的檢測率,但在平均攻擊模型下的檢測率卻異常的低;文獻[12]通過對推薦系統(tǒng)攻擊模型的研究,提出了基于項目識別的用戶概貌攻擊檢測算法,最終試驗表明,所提出的用戶概貌攻擊檢測算法對推舉攻擊的檢測能力很高,但是對于核攻擊的檢測效果卻不理想;文獻[13]提出了攻擊塊概念,提出通過挖掘攻擊塊算法(MAB)來檢測系統(tǒng)中存在的攻擊塊,然而在攻擊檢測問題上,只從理論上進行了論證,未在真實數據集上對其效果進行檢驗。
現有的一些攻擊檢測算法沒有充分利用用戶的統(tǒng)計特征,只是依賴于某一個固定特征,以此作為攻擊概貌檢測指標,這種單一的檢測標準在應對不同攻擊場景或新出現的攻擊策略時,很難保證檢測結果的精確度。為此,本文通過分析用戶概貌的統(tǒng)計特征,在充分利用用戶統(tǒng)計特征的基礎上,提出了一種新穎的DegAgrOptimize攻擊檢測算法。該算法主要分為兩個階段:①利用用戶評分模型的統(tǒng)計特征將所有的用戶劃分為真實用戶集和潛在攻擊用戶集;②利用與其他用戶的一致程度(DegAgr)這一統(tǒng)計特征進行優(yōu)化處理,減少檢測結果中真實用戶的輸出。通過這兩個階段的處理,保證了算法的檢測率,降低了算法檢測的錯誤率。
2 托攻擊
2.1 定義
通常情況下,單個用戶信息不足以改變系統(tǒng)的推薦結果,攻擊者為了達到操縱推薦系統(tǒng)的目的,需要有規(guī)律地偽造大量的攻擊用戶信息,聯合起來對特定的目標項目進行攻擊。文獻[14]首次提出了攻擊用戶概貌的明確定義,如圖1所示。一個攻擊用戶的概貌信息可以表示為一個 n 維評分向量, n 為系統(tǒng)中項目的總個數。攻擊概貌一般由4部分組成,IT為攻擊的目標項目,當攻擊類型是推舉攻擊或打壓攻擊時會分別賦予其系統(tǒng)所允許的最大或最小評分,填充項目集合IF用來掩飾攻擊用戶,使其看起來更像是系統(tǒng)中的真實用戶,同時填充項目集合也保證了攻擊用戶與系統(tǒng)中真實用戶的近鄰關系,IS是具有某種特定評分特征的項目集合,集合Iφ是攻擊用戶概貌中未被評分的項目。攻擊概貌的不同生成策略決定了不同的攻擊模型,同時也賦予攻擊用戶與真實用戶之間不同的統(tǒng)計量特征。
2.2 攻擊類型
文獻[4]提出了兩種攻擊模型:隨機攻擊和平均攻擊,并且分析了它們對基于用戶和基于項目的協(xié)同過濾推薦系統(tǒng)性能的影響,文獻[15]對目前存在的推薦系統(tǒng)托攻擊進行了綜合的調查分析,并列舉了其它的攻擊模型,其中包括局部攻擊、喜愛/憎惡攻擊和混合攻擊等。隨機攻擊和平均攻擊是現實中常見的攻擊類型,因此本文主要研究這兩種攻擊模型的托攻擊檢測問題。
2.2.1 隨機攻擊
在隨機攻擊中,填充項目會被賦予隨機評分值,隨機值在所有用戶對所有商品的平均評分值為中心的某個很小范圍內隨機選取。根據攻擊目的不同,在推舉攻擊或打壓攻擊中分別賦予目標項目系統(tǒng)允許的最高或最低評分。隨機攻擊實施比較簡單,只需要稍微了解系統(tǒng)數據庫知識即可進行攻擊。
2.2.2 平均攻擊
平均攻擊比隨機攻擊略微復雜一些,在平均攻擊中每個項目的平均評分用作為填充項目的評分值。攻擊用戶的這種生成策略考慮了已有評分數據集的更多信息,保證了生成的攻擊用戶有更多的近鄰用戶,從而在采取協(xié)同過濾技術的推薦系統(tǒng)中能夠影響更多用戶的推薦結果。平均攻擊類型的代價是需要額外的系統(tǒng)知識來確定評分值,即需要估計每個物品的平均得分值。在某些推薦系統(tǒng)中,系統(tǒng)會顯式提供這些評分值,因此平均攻擊的實施會變得更容易。已有研究結果表明[5],在平均攻擊模型中,當攻擊用戶信息中只含有很少一部分填充項目評分的情況下,就能夠對基于用戶的協(xié)同推薦系統(tǒng)產生明顯影響。在平均攻擊中,攻擊用戶對目標項目的評分同隨機攻擊一樣,根據攻擊目的不同分別對目標項目賦予系統(tǒng)所允許的最高或最低評分。
3 統(tǒng)計量與算法描述
3.1 統(tǒng)計量
經過上述分析可知,為了達到人工操縱推薦系統(tǒng)的目的,托攻擊實施者需要向系統(tǒng)有規(guī)律地注入大量的攻擊用戶信息。根據攻擊用戶信息的生成策略可知,攻擊用戶與真實用戶之間存在區(qū)別,不同之處主要體現在3個方面:①對目標項目的評分;②對填充項目的評分;③由于所有的攻擊用戶信息采用同樣的生成策略,致使攻擊用戶信息之間具有高度的相似性。
本文通過對攻擊用戶信息特征進行分析,利用攻擊用戶信息與真實用戶信息之間統(tǒng)計特征的區(qū)別,提出基于特征分析的攻擊檢測算法,來區(qū)分系統(tǒng)中的真實用戶和攻擊用戶。文獻 [8]中列舉的幾個統(tǒng)計量從不同角度反映了攻擊概貌有別于真實用戶概貌的特征,本文主要研究用戶以下3個統(tǒng)計特征:平均背離度(RDMA)、與其他用戶的一致度(DegAgr)和平均相似度(DegSim)。
3.1.1 平均背離度
平均背離度反映了系統(tǒng)中某個用戶的評分向量與其他用戶的平均偏離程度,某一用戶的平均背離度計算公式如下:RDMA = ∑ Nu i = 0 ru,i -ri NR
其中Nu是用戶u評過分的項目個數,ru,i是用戶 u 對項目 i 的評分, ri 是項目 i 的系統(tǒng)評分均值,NRi是系統(tǒng)中對項目 i 有過評分的用戶個數。在推舉攻擊中,目標項目往往是那些評分較低的項目。為了達到推舉攻擊目的,攻擊用戶會賦予目標項目最高的評分值,導致攻擊用戶會背離系統(tǒng)中真實用戶的評分習慣,從而使攻擊用戶具有較高的平均背離度。同樣,在打壓攻擊中攻擊用戶會賦予目標項目最低的評分值,也會由于攻擊用戶對目標項目的評分習慣與真實用戶背離,使得攻擊用戶具有較高的平均背離度。
圖2給出了在隨機攻擊下每個用戶的平均背離度分布情況,試驗數據集來自MovieLens,其中編號為944至968的用戶是人為注入到數據集中的攻擊用戶。從圖1可以看出,統(tǒng)計量RDMA提供了一個有效檢測攻擊用戶的指標。
3.1.2 與其他用戶的一致程度
該統(tǒng)計量用來度量某一用戶與其他用戶評分的一致性程度,計算公式如下:
其中ru,i是用戶 u 對項目 i 的評分, k 是用戶 u 有過評分的項目個數, ri 是項目 i 獲得評分的均值。在后面的試驗中,從局部角度出發(fā),計算每一個用戶與其最相似的25個近鄰用戶之間統(tǒng)計值。圖3給出了在隨機攻擊下用戶統(tǒng)計量DegAgr的分布,其中編號為944至968的用戶是人為注入到數據集中的攻擊用戶。試驗結果發(fā)現攻擊用戶之間的DegAgr值在一個很小的范圍內波動,幾乎是相等的,這主要是因為攻擊用戶信息采取同樣的生成策略,因此攻擊用戶概貌中填充項目的評分值幾乎是一樣的。本文提出的算法也正是利用攻擊用戶這一統(tǒng)計特征,對算法的檢測結果進行了優(yōu)化處理,移除檢測結果中誤判的真實用戶,從而保證算法對攻擊用戶的檢測率,降低檢測算法的錯誤率。
3.1.3 平均相似度該統(tǒng)計量用來度量某一用戶與系統(tǒng)中其他用戶之間平均相似度的大小,計算公式如下:
其中Wu,v是根據皮爾遜相關系數計算出來的用戶之間的相似性。由于皮爾遜相關系數計算時依賴用戶之間共同評分的項目個數,當共同評分的項目較少時,用戶之間的相似性會受到影響,對此本文對其作如下調整:
3.2 算法描述
攻擊用戶往往具有較高的平均背離度和平均相似度,同時具有幾乎相同的評分一致度。在算法第一階段,利用平均背離度和平均相似度這兩個統(tǒng)計量,將所有的用戶劃分為攻擊用戶集和真實用戶集,即當某個用戶的平均背離度大于某個設定的閾值tr時,將其添加到可疑攻擊用戶集合中。同樣,當某個用戶的平均相似度大于某個設定閾值td時,將其添加到可疑的攻擊用戶集合中。經過第一階段,可疑的攻擊用戶集合中會含有幾乎所有的攻擊用戶和少量的真實用戶。在算法第二階段,利用統(tǒng)計量DegAgr對第一階段得到的可疑攻擊用戶集進行優(yōu)化處理。由于每一個攻擊用戶的DegAgr值幾乎相同,因此可疑攻擊用戶集合中大部分用戶的這一統(tǒng)計值都會集中接近于某個數值,不妨將這個數值看作眾數(Mode),然后從可疑攻擊用戶集合中移除那些明顯偏離眾數的用戶,偏離程度用閾值tm表示。經過上述兩個階段的處理,將最終得到的可疑攻擊用戶集合作為檢測結果輸出,算法步驟如下:
DegAgr-Optimize攻擊檢測算法
輸入:用戶評分矩陣
輸出:攻擊用戶集合
①對于每個用戶
計算該用戶的 RDMA 和 DegSim 值;
②如果該用戶的 RDMA 值大于設定的閾值tr或該用戶的 DegSim 值大于設定的閾值td,
則將該用戶添加到可疑攻擊用戶集合中;③對于可疑攻擊用戶集合中的每個用戶
計算該用戶的 DegAgr 值;
④計算出可疑攻擊用戶集合中所有用戶 DegAgr 值中的眾數 Mode;
⑤對于可疑攻擊用戶集合中的每個用戶,
計算該用戶的 DegAgr 值與眾數 Mode 之間的偏離程度: DegAgr-Mode ,
如果差值大于設定的閾值tr,
則將該用戶從可疑攻擊用戶集合中移除;
⑥輸出可疑攻擊用戶集合
4 實驗
4.1 數據集
實驗中用到的數據集來自MovieLens,該數據集包含了943個用戶對1682部電影的100,000條評分,評分等級是1-5分,分值越高表示用戶對某個電影越滿意,數據集中的每個用戶都至少對20個電影有過評分記錄。
實驗在不同攻擊大小和填充大小的條件下進行,攻擊大小定義為注入到系統(tǒng)中的攻擊用戶數量與系統(tǒng)中所有用戶的百分比,填充大小定義為攻擊用戶概貌中填充項目的個數與系統(tǒng)中所有項目的百分比。
4.2 算法評估標準
為評估算法的檢測效果,本文采用檢測率和錯誤率作為評定標準,定義如下:
檢測率= #真正用戶 #攻擊用戶 (5)
錯誤率= #假正用戶 #真實用戶 (6)
其中,#真正用戶表示被算法準確檢測出來的攻擊用戶個數,#攻擊用戶表示所有注入到數據集中的攻擊用戶個數,#假正用戶表示被誤判為攻擊者的真實用戶個數,#真實用戶表示系統(tǒng)中真實用戶的個數。檢測率的值越大說明算法的檢測能力越高,錯誤率越低說明算法檢測結果中假正用戶的個數越少,算法檢測的準確率越高。
4.3 參數分析
算法中用到的參數有tr、td和tm。參數tr和td的選取依據是要保證統(tǒng)計量RDMA和DegSim具有較高的區(qū)分度,這樣就可容易區(qū)分真實用戶和攻擊用戶,同時也保證在算法的第一個階段中可疑攻擊用戶集合盡可能包含所有的攻擊用戶,盡管這樣做會有一小部分真實用戶被誤判為攻擊用戶,但在第二階段的優(yōu)化過程中,還是有機會將這些假正用戶移除。在選定的數據集規(guī)模下,閾值tr和td選取為系統(tǒng)中所有用戶的均值時,即可保證它們具有較高的區(qū)分度。試驗中通過對所有用戶統(tǒng)計量DegAgr的分布特點進行分析,得到當閾值tm取0.02時,即可保證算法取得較好的檢測效果。
5 試驗結果與分析
試驗設計為2×5×5不同實驗條件下的攻擊場景,即攻擊模型(隨機攻擊、平均攻擊),攻擊大小(1%,2%,5%,10%,15%),填充大小(1%,3%,5%,10%,25%)。
圖5展示了填充大小為5%,攻擊大小作為變量時的攻擊檢測結果??梢钥闯?,無論在隨機推舉攻擊還是平均推舉攻擊中,算法的整體檢測率在96%以上,而且隨著攻擊大小的變化,檢測結果能夠穩(wěn)定保持在96%~98.5%之間,體現了檢測算法的穩(wěn)定性。
從圖6中還可看出,在攻擊大小保持不變的情況下,隨著攻擊用戶填充大小的不斷增大,檢測率有穩(wěn)步上升趨勢。這主要是因為隨著攻擊用戶填充大小的增加,攻擊用戶的統(tǒng)計特征就越顯著,攻擊用戶之間的規(guī)律性就越明顯,致使攻擊用戶能容易地檢測出來。
表2和表3給出了算法檢測結果的錯誤率。實驗中,雖然經過算法第一個階段處理后,會有少量的真實用戶被誤認為是攻擊用戶,但是在第二階段中,通過利用統(tǒng)計量DegAgr的優(yōu)化處理,大幅度降低了真實用戶的輸出,從而使得檢測算法的錯誤率保持在很小的范圍內,從表2和表3可以得出算法檢測的錯誤率在0.10%~0.25%之間。較低的錯誤率也反映了檢測結果的準確性。
在與文獻[11]的對比實驗中,為確保試驗結果的可比性,試驗選擇大小為1M的MovieLens數據集,同文獻[11]中的試驗參數保持一致。表4給出了在隨機推舉攻擊下的試驗對比結果,其中攻擊用戶的填充規(guī)模固定為2000,攻擊規(guī)模作為變量。從實驗結果可以看出本文的檢測算法在處理更大規(guī)模的數據集時,檢測率也能保持在96%,比文獻[11]的檢測率整體上要高出1%左右。
表5給出了在攻擊用戶個數固定為100,不同填充規(guī)模條件下的隨機推舉攻擊試驗結果。可以看出,當攻擊用戶的填充規(guī)模低于150時,文獻[11]中的檢測率異常低,說明當填充規(guī)模較小時,文獻[11]中提出的基于SVD的檢測算法并不能有效檢測出數據集中存在的攻擊用戶;而本文的檢測算法,即使在填充規(guī)模低于150時,也能獲得95%的檢測率,而且隨著填充規(guī)模的增大,檢測率有穩(wěn)步上升趨勢,這主要是因為隨著攻擊用戶填充規(guī)模的不斷增大,攻擊用戶的統(tǒng)計特征變得越來越突出,攻擊用戶之間所具有的規(guī)律性也就越顯著,從而使算法能夠準確檢測出人為注入到數據集中的攻擊用戶。
通過試驗分析可知,本文所提出的攻擊檢測算法的整體檢測率能保持在95%,與文獻[11]中的試驗結果相比具有更高的檢測率;錯誤率保持在0.10%-0.25%之間的一個很低范圍內,確保了算法檢測結果的準確性。綜合評價,本文提出的攻擊檢測算法高效可行。
6 結語
隨著推薦系統(tǒng)重要性的日益顯現,推薦系統(tǒng)的健壯性和安全性問題受到高度重視。本文主要采用了統(tǒng)計學技術,充分研究了用戶的統(tǒng)計特征,文中提出的DegAgrOptimize攻擊檢測算法綜合利用了用戶概貌的統(tǒng)計特征,并在隨機攻擊和平均攻擊模型下驗證了該算法對攻擊用戶的檢測效果。試驗結果表明,該算法能夠高效檢測系統(tǒng)中存在的攻擊用戶。后續(xù)工作中,將繼續(xù)研究該算法在其它攻擊模型下的檢測效果。
參考文獻:
[1] GOOD N,SCHAFER J B,KONSTAN J A,et al.Combining collaborative filtering with personal agents for better recommendations[C].Sixteenth National Conference on Artificial Intelligence and the EleventhInnovative Applications of Artificial Intelligence Conference Innovative Applications of Artificial Intelligence.American Association for Artificial Intelligence,1999:439446.
[2] HERLOCKER J L,KONSTAN J A,BORCHERS A,et al.An algorithmic framework for performing collaborative filtering[C].SIGIR '99: Proceedings of the,International ACM SIGIR Conference on Research and Development in Information Retrieval,Augus 1519,1999,Berkeley,Ca,Usa,1999:230237.
[3] HERLOCKER J L.Evaluating collaborative filtering recommender systems[J].Acm Transactions on Information Systems,2004,22(1):553.
[4] LAM S K,RIEDL J.Shilling recommender systems for fun and profit[C].International Conference on World Wide Web.ACM,2004:393402.
[5] BURKE R,MOBASHER B,BHAUMIK R.Limited knowledge shilling attacks in collaborative filtering systems[J].Proceedings of Ijcai Workshop in Intelligent Techniques for Personalization,2005(2):155164.
[6] M O MAHONY,N HURLEY,N KUSHMERICK,et al.Collaborative recommendation:arobustnessanalysis[C].ACM Transactions on Internet Technology,2004,4(4):344377.
[7] OMAHONY M P,HURLEY N J,SILVESTRE G C M.Promoting recommendations:an attack on collaborative filtering[C].International Conference on Database and Expert Systems Applications.SpringerVerlag,2002:494503.
[8] CHIRITA P A,NEJDL W,ZAMFIR C.Preventing shilling attacks in online recommender systems[C].ACM International Workshop on Web Information andData Management,2005:6774.
[9] BURKE R,MOBASHER B,WILLIAMS C,et al.Classification features for attack detection in collaborative recommender systems[C].Twelfth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,Philadelphia,Pa,Usa,August,2006:542547.
[10] ZHANG F.A survey of shilling attacks in collaborative filtering recommender systems[C].International Conference on Computational Intelligence and Software Engineering.IEEE,2009:14.
[11] ZHANG S,OUYANG Y,FORD J,et al.Analysis of a lowdimensional linear model under recommendation attacks.[C].SIGIR 2006: Proceedings of the,International ACM SIGIR Conference on Research and Development in Information Retrieval,Seattle,Washington,Usa,August.2006:517524.
[12] 高潔,鄧尉,盧美蓮.推薦系統(tǒng)中惡意攻擊檢測方法的實現[EB/OL].[20131223].http://www.paper.edu.cn/releasepaper/content/201312694.
[13] 瞿春燕.推薦系統(tǒng)內攻擊塊檢測算法研究[D].合肥:中國科學技術大學,2015.
[14] BHAUMIK R,WILLIAMS C,MOBASHER B,et al.Securing collaborative filtering against malicious attacksthrough anomaly detection[J].Aaai Workshop on Intelligent Techniques for Web Personalization,2006(5):224231.
[15] GUNES I,KALELI C,BILGE A,et al.Shilling attacksagainst recommender systems: a comprehensive survey[J].Artificial Intelligence Review,2014,42(4):767799.
(責任編輯:杜能鋼)