衛(wèi)星君 顧清華
(1.陜西能源職業(yè)技術(shù)學(xué)院 咸陽(yáng) 712000)(2.西安建筑科技大學(xué)管理學(xué)院 西安 710055)
攻擊者通過(guò)向推薦系統(tǒng)[1~2]注入偽造用戶(hù)概貌來(lái)影響推薦物品的頻率,實(shí)現(xiàn)對(duì)某個(gè)物品的熱寵或者打壓,進(jìn)而實(shí)現(xiàn)獲利,稱(chēng)為托攻擊(Shilling at?tack)[3]。
托攻擊是由注入推薦系統(tǒng)的攻擊概貌構(gòu)成,攻擊者確定攻擊項(xiàng),給予部分評(píng)分項(xiàng),構(gòu)成一條攻擊記錄。基本托攻擊模型如表1所示,IS選擇項(xiàng)是為了能成為更多用戶(hù)的近鄰,IF填充項(xiàng)使得攻擊記錄更像普通用戶(hù),IФ未評(píng)分項(xiàng),It目標(biāo)項(xiàng)則是攻擊者推舉或者打壓的對(duì)象。對(duì)于目標(biāo)項(xiàng),依據(jù)系統(tǒng)中的最高評(píng)分smax設(shè)定值,稱(chēng)為推攻擊。反之,依據(jù)系統(tǒng)中的最低評(píng)分smin設(shè)定值,稱(chēng)為核攻擊[4~5]。

表1 基本托攻擊模型
常見(jiàn)基本托攻擊模型有隨機(jī)、均值、流行攻擊[6~7]。隨機(jī)攻擊的選擇項(xiàng)為空集,填充項(xiàng)隨機(jī)選取除目標(biāo)項(xiàng)之外的項(xiàng)集,填充項(xiàng)的評(píng)分服從系統(tǒng)評(píng)分分布。均值攻擊的選擇項(xiàng)為空集,填充項(xiàng)隨機(jī)選取除目標(biāo)項(xiàng)之外的項(xiàng)集,填充項(xiàng)評(píng)分服從系統(tǒng)中對(duì)項(xiàng)目評(píng)分分布。流行攻擊會(huì)挑選幾款流行的物品,賦予系統(tǒng)中最大值評(píng)分(smax),填充項(xiàng)隨機(jī)選取除選擇項(xiàng)和目標(biāo)項(xiàng)之外的項(xiàng)集,填充項(xiàng)的評(píng)分服從系統(tǒng)中評(píng)分分布。
目前托攻擊檢測(cè)方法對(duì)基本托攻擊模型效果明顯,文獻(xiàn)[8]提出基于決策樹(shù)的基本托攻擊檢測(cè)方法;文獻(xiàn)[9]分析托攻擊對(duì)推薦系統(tǒng)危害,提出依賴(lài)特征指標(biāo)的托攻擊檢測(cè)方法;文獻(xiàn)[10]提出特征指標(biāo)興趣峰度系數(shù),進(jìn)一步提高了檢測(cè)精度。然而,為了躲避托攻擊的檢測(cè),文獻(xiàn)[11]提出了AOP(Average-over-Popular)攻擊,在最流行項(xiàng)中添加平均項(xiàng)構(gòu)造混淆攻擊概貌,實(shí)現(xiàn)有效攻擊。為了在有限的知識(shí)成本下提高攻擊效果,本文以推攻擊為例,給定混淆技術(shù),提出混淆流行交叉托攻擊模型(BOP),對(duì)比AOP攻擊,表明該模型的危害性更大。
定義1 變化評(píng)分項(xiàng)集,它是托攻擊模型中賦予評(píng)分項(xiàng)的集合。依據(jù)托攻擊概貌定義,不同攻擊模型有四部分組成(填充項(xiàng)IF、選擇項(xiàng)IS、未評(píng)分項(xiàng)IФ、目標(biāo)項(xiàng)It),則變化評(píng)分項(xiàng)集表示成:

定義2 偏移函數(shù),托攻擊模型中的評(píng)分大多是正太分布下的隨機(jī)值,滿(mǎn)足smin≤si≤smax。偏移函數(shù)作用是產(chǎn)生一個(gè)量來(lái)修改用戶(hù)概貌u中對(duì)項(xiàng)目i的評(píng)分值 si,修改后的值為,任然滿(mǎn)足

其中 Δθ∈[smin。smax)。
定義3 流行交叉項(xiàng),對(duì)項(xiàng)集進(jìn)行屬性劃分(fc1fc2…fcn),屬性的含義為該項(xiàng)屬于何種類(lèi)型物品。屬于屬性fci中的流行項(xiàng)集合I(Topfci-x%),屬于屬性fcj中的流行項(xiàng)集合I(Topfcj-x%)。由于一個(gè)物品可能具有多種屬性,則流行交叉項(xiàng)表示成:

定義4 混淆托攻擊模型,不同于基本托攻擊模型,混淆托攻擊模型定義為三部分,混淆變化項(xiàng)BIC,未評(píng)分項(xiàng)BIФ,混淆攻擊目標(biāo)項(xiàng)BIt。如表2所示。

表2 混淆托攻擊模型
攻擊概貌和普通概貌之間存在著區(qū)別,比如對(duì)于攻擊目標(biāo)項(xiàng)賦予系統(tǒng)中的最大評(píng)分,填充項(xiàng)評(píng)分服從一定規(guī)律,所以可以計(jì)算他們的共有的特征指標(biāo),從而識(shí)別出攻擊概貌。然而,攻擊者為了降低攻擊概貌和普通概貌之間的區(qū)別會(huì)使用混淆技術(shù)[4],使得攻擊概貌更加接近真實(shí)用戶(hù),盡可能消除同真實(shí)用戶(hù)的差異,最終逃避托攻擊的檢測(cè)來(lái)影響用戶(hù)的評(píng)分預(yù)測(cè)。文獻(xiàn)[12~13]提出了三種混淆技術(shù),但并沒(méi)有具體給出如何使用這些技術(shù)。本文在描述這三種混淆技術(shù)的同時(shí)將給出具體的使用方法。
1)噪音注入。
依據(jù)混淆托攻擊概貌定義,BIC混淆變化項(xiàng)BIt。設(shè)常數(shù)因子α,用α來(lái)控制BIC項(xiàng)集中評(píng)分噪音的大?。▽?duì)隨機(jī)產(chǎn)生的評(píng)分修改),這個(gè)噪音可以減少攻擊概貌和普通用戶(hù)概貌之間的差異。攻擊概貌評(píng)分可以表示成:

其中α∈(0,1]。
2)用戶(hù)評(píng)分偏移。
基本托攻擊模型中,對(duì)流行項(xiàng)的評(píng)分為系統(tǒng)中的最大評(píng)分smax。通過(guò)修改流行項(xiàng)評(píng)分值,降低攻擊概貌和普通用戶(hù)概貌之間的差異,躲避托攻擊檢測(cè),評(píng)分偏移表示成:

其中si是基本托攻擊模型中對(duì)物品i的評(píng)分。
3)目標(biāo)項(xiàng)評(píng)分偏移。
攻擊概貌定義中,目標(biāo)項(xiàng)It評(píng)分值為smax或smin,為了躲避檢測(cè),可以修改目標(biāo)項(xiàng)It評(píng)分值,躲避托攻擊檢測(cè),目標(biāo)項(xiàng)評(píng)分偏移表示成:

其中Δs為評(píng)分等級(jí)差。
現(xiàn)有的大部分托攻擊模型檢測(cè)中,基于無(wú)監(jiān)督、有監(jiān)督、半監(jiān)督模型都依賴(lài)于特征指標(biāo)。不論是攻擊概貌或者普通概貌它們內(nèi)部具有相似性,而它們之間又存在著差異性?;煜夹g(shù)的引入使得攻擊概貌同普通概貌之間的差異性降低,從而躲避托攻擊檢測(cè)。
在基本托攻擊模型中我們將攻擊概貌分為了4個(gè)部分,其本質(zhì)在于盡可能接近真實(shí)的用戶(hù)概貌,為了降低攻擊概貌和普通概貌的區(qū)別,采用上文提出的混淆技術(shù)。
由定義4,混淆托攻擊模型分為三部分。各部分采用混淆技術(shù)后表示為
1)混淆變化項(xiàng)

其中ABias(IinterTopi)u為用戶(hù)u對(duì)流行交叉項(xiàng)i的評(píng)分偏移函數(shù)。
2)混淆目標(biāo)項(xiàng),BIt為攻擊者要推舉或者打壓的對(duì)象,在基本托攻擊模型中它賦予系統(tǒng)中的極值,而使用目標(biāo)項(xiàng)評(píng)分偏移后評(píng)分值為

其中Δs為評(píng)分等級(jí)差。
我們發(fā)現(xiàn),現(xiàn)有的攻擊檢測(cè)模型中,由于攻擊模型對(duì)流行項(xiàng)的評(píng)分為系統(tǒng)中最高評(píng)分,致使對(duì)于流行攻擊的檢測(cè)識(shí)別率較高。因此流行交叉項(xiàng)應(yīng)在攻擊概貌中保持一定的比率,比率太小成為用戶(hù)的近鄰太少達(dá)不到攻擊效果,比率太大很容易被托攻擊檢測(cè)模型發(fā)現(xiàn)。文獻(xiàn)[7~8,14]中可知,從依賴(lài)特征指標(biāo)托攻擊檢測(cè)模型中流行攻擊的平均檢測(cè)準(zhǔn)確率隨著填充率的增加而提高。如圖1所示。

圖1 流行攻擊檢測(cè)準(zhǔn)確率
實(shí)際上對(duì)MovieLens數(shù)據(jù)[15]集分析,大部分流行項(xiàng)的評(píng)分都是次優(yōu),即用戶(hù)并不會(huì)為項(xiàng)目賦予系統(tǒng)中的最大值。如圖2所示,用戶(hù)對(duì)前50個(gè)流行項(xiàng)次優(yōu)評(píng)分率(次優(yōu)評(píng)分個(gè)數(shù)與全部評(píng)分個(gè)數(shù)比值),可以得到前50個(gè)流行項(xiàng)中有70%的項(xiàng)次優(yōu)評(píng)分率高于0.6。
因此對(duì)流行項(xiàng)使用混淆技術(shù),修改評(píng)分使得攻擊概貌更接近真實(shí)用戶(hù)概貌,進(jìn)而躲避攻擊檢測(cè)。
1)計(jì)算流行交叉項(xiàng)評(píng)分偏移。依據(jù)屬性對(duì)物品分類(lèi),使用定義3選擇流行交叉項(xiàng)。

圖2 前50個(gè)流行項(xiàng)次優(yōu)評(píng)分率

因此,用戶(hù)u的第i個(gè)混淆流行交叉項(xiàng)評(píng)分偏移函數(shù)表示為

用戶(hù)u的第i個(gè)混淆流行交叉項(xiàng)評(píng)分值表示為

其中i∈IinterTopset。
2)IF的評(píng)分值為基本托攻擊模型下的評(píng)分取值,使用式(4)給出。
3)目標(biāo)項(xiàng)偏移,使用式(6)給出評(píng)分值。
混淆流行交叉項(xiàng)托攻擊概貌如表3所示。

表3 混淆流行交叉項(xiàng)托攻擊概貌
攻擊危害評(píng)價(jià)總體框架如圖3所示。

圖3 危害評(píng)價(jià)總體框架
攻擊模塊設(shè)計(jì)包括了混淆流行交叉項(xiàng)攻擊概貌的自動(dòng)產(chǎn)生器和攻擊危害性指標(biāo)輸出。
(1)混淆流行交叉項(xiàng)托攻擊概貌自動(dòng)產(chǎn)生器。
Step1收集系統(tǒng)數(shù)據(jù)庫(kù)信息,獲得流行項(xiàng)集Itopset,對(duì)Itopset按照屬性進(jìn)行分類(lèi)。
Step2對(duì)分類(lèi)的Itopset選擇流行交叉項(xiàng)目集合
Step4選擇基本攻擊模型,使用表達(dá)式4隨機(jī)產(chǎn)生填充項(xiàng)評(píng)分值。
Step5確定攻擊的目標(biāo)項(xiàng)BIt,使用表達(dá)式6計(jì)算目標(biāo)項(xiàng)BIt的評(píng)分值。
Step6由Step2、Step3和Step4得到混淆填充項(xiàng)
Step7由Step5、Step6得到混淆流行交叉項(xiàng)托攻擊概貌。
Step8攻擊概貌注入系統(tǒng)數(shù)據(jù)庫(kù),對(duì)n個(gè)攻擊目標(biāo)項(xiàng)BIt預(yù)測(cè)評(píng)分值。
2)計(jì)算混淆流行交叉托攻擊模型危害指標(biāo)。
實(shí)驗(yàn)采用MovieLens100K數(shù)據(jù)集[15]。該數(shù)據(jù)集包含了943位用戶(hù),對(duì)1682部電影進(jìn)行了1~5的評(píng)分?jǐn)?shù)據(jù),同時(shí)每位用戶(hù)至少對(duì)20部電影進(jìn)行了打分。原有的用戶(hù)評(píng)分?jǐn)?shù)據(jù)視為標(biāo)記用戶(hù),他們對(duì)電影的評(píng)分真實(shí)可信,然后向系統(tǒng)分別注入混淆流行交叉項(xiàng)攻擊和AOP攻擊。推薦系統(tǒng)注入攻擊用戶(hù)太少不能影響推薦評(píng)分,太多容易被檢測(cè)發(fā)現(xiàn)。本文攻擊強(qiáng)度采用3%,實(shí)驗(yàn)填充率分別為3%、5%、10%、15%、20%情形下對(duì)混淆流行交叉項(xiàng)攻擊的危害行進(jìn)行評(píng)估。實(shí)驗(yàn)參數(shù)設(shè)定為:噪音系數(shù)α=0.8,評(píng)分等級(jí)差Δs=1,用戶(hù)近鄰個(gè)數(shù)N=20,Δθ由smax與項(xiàng)目i的評(píng)分均值差決定,流行交叉項(xiàng)個(gè)數(shù)取填充率20%和50%,攻擊目標(biāo)項(xiàng)It隨機(jī)選擇10個(gè)。
托攻擊的目的是能夠成為更多普通用戶(hù)的鄰近,從而通過(guò)攻擊目標(biāo)項(xiàng)的評(píng)分去影響推薦物品的評(píng)分,使得用戶(hù)推薦列表出現(xiàn)或者不存在該物品。因此衡量托攻擊概貌的危害性可以從目標(biāo)項(xiàng)平分偏移和命中率來(lái)描述[16]。
目標(biāo)項(xiàng)評(píng)分偏移描述推薦系統(tǒng)預(yù)測(cè)評(píng)分值同真實(shí)評(píng)分值的接近程度,即在無(wú)攻擊狀態(tài)下推薦系統(tǒng)對(duì)目標(biāo)項(xiàng)的評(píng)分和有攻擊狀態(tài)下推薦系統(tǒng)對(duì)目標(biāo)項(xiàng)的評(píng)分偏移。命中率描述在對(duì)推薦系統(tǒng)有攻擊和無(wú)攻擊狀態(tài)下目標(biāo)項(xiàng)是否出現(xiàn)在了用戶(hù)推薦列表中。目標(biāo)項(xiàng)平均評(píng)分偏移和命中率表示如下。
1)目標(biāo)項(xiàng)平均評(píng)分偏移:對(duì)目標(biāo)項(xiàng)it進(jìn)行預(yù)測(cè)評(píng)分的用戶(hù)個(gè)數(shù) |U |,無(wú)攻擊狀態(tài)下用戶(hù)u對(duì)目標(biāo)項(xiàng)預(yù)測(cè)評(píng)分值psuit,psuit攻擊狀態(tài)下用戶(hù)u對(duì)目標(biāo)項(xiàng)預(yù)測(cè)評(píng)分值為apsuit,目標(biāo)項(xiàng)平均評(píng)分偏移表示成:


2)命中率:對(duì)目標(biāo)項(xiàng)it進(jìn)行預(yù)測(cè)評(píng)分的用戶(hù)個(gè)數(shù) ||U ,用戶(hù)u的目標(biāo)項(xiàng)it出現(xiàn)在推薦列表中,否則hitsuit=0,目標(biāo)項(xiàng)it命中率表示成:


通過(guò)目標(biāo)項(xiàng)平均評(píng)分偏移和目標(biāo)項(xiàng)平均命中率可以定量的描述混淆流行交叉項(xiàng)托攻擊模型對(duì)推薦系統(tǒng)的危害程度。如圖4、圖5是對(duì)目標(biāo)項(xiàng)BOP(混淆流行交叉項(xiàng)填充率為20%、20%)和AOP攻擊(流行項(xiàng)填充率為50%、50%)的平均評(píng)分偏移,表明混淆流行交叉項(xiàng)托攻擊對(duì)評(píng)分預(yù)測(cè)影響更大。

圖4 BOP與AOP填充率20%的平均評(píng)分偏移

圖5 BOP與AOP填充率50%的平均評(píng)分偏移
圖6 、圖7對(duì)目標(biāo)項(xiàng)BOP攻擊(混淆流行交叉項(xiàng)填充率為20%、20%)和AOP攻擊(流行項(xiàng)填充率為50%、50%)的平均命中率,表明混淆流行交叉托攻擊對(duì)評(píng)分預(yù)測(cè)影響更大。

圖6 混淆流行交叉項(xiàng)攻擊平均命中率

圖7 AOP攻擊平均命中率
混淆技術(shù)變換攻擊概貌,對(duì)流行項(xiàng)按照物品屬性進(jìn)行分類(lèi),并選擇流行交叉項(xiàng)設(shè)計(jì)出新的攻擊模型——混淆流行交叉項(xiàng)托攻擊模型。該模型降低了攻擊概貌同真實(shí)用戶(hù)概貌之間的差異,使得更容易成為用戶(hù)的近鄰。注入攻擊概貌,分析攻擊危害指標(biāo),表明該攻擊模型對(duì)推薦系統(tǒng)的影響更大。下一步的重點(diǎn)工作是分析混淆托攻擊的特征,設(shè)計(jì)合適的分類(lèi)器,對(duì)混淆托攻擊進(jìn)行有效檢測(cè),保證推薦系統(tǒng)的安全性。