劉昕,賈春福,劉國(guó)友,胡志超,王冬
(1.中國(guó)石油大學(xué)(華東) 計(jì)算機(jī)與通信工程學(xué)院,山東 青島 266580;2.南開(kāi)大學(xué) 信息技術(shù)科學(xué)學(xué)院,天津 300071;3.南京大學(xué) 計(jì)算機(jī)軟件新技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,江蘇 南京 210093)
隨著Web的廣泛應(yīng)用,包含惡意代碼和網(wǎng)上誘騙的網(wǎng)站也日益泛濫,對(duì)Web的安全應(yīng)用構(gòu)成了極大的威脅。網(wǎng)頁(yè)中的惡意代碼是指在用戶不知情的情況下自動(dòng)安裝到用戶計(jì)算機(jī)中的代碼,其目的是危害用戶系統(tǒng)和數(shù)據(jù),或從其中竊取信息。網(wǎng)上誘騙是指冒充他人騙取用戶個(gè)人信息或其他敏感信息的行為,通常采用虛假網(wǎng)站的方式。釣魚攻擊(phishing attack)是一種常用的網(wǎng)絡(luò)欺騙手段,主要通過(guò)電子郵件、網(wǎng)頁(yè)等途徑散布虛假信息,誘騙不知情的網(wǎng)絡(luò)用戶登錄仿冒的網(wǎng)站,如假冒的網(wǎng)上銀行、在線購(gòu)物等,從而騙取用戶的網(wǎng)銀賬號(hào)、信用卡號(hào)和密碼等敏感信息。據(jù)國(guó)際反釣魚工作組(APWG)統(tǒng)計(jì),2010年上半年全球釣魚攻擊為48244次,下半年則達(dá)67677次,增長(zhǎng)的主要原因是中國(guó)釣魚攻擊的增多[1]。
為了保護(hù)用戶的計(jì)算機(jī)不受惡意網(wǎng)站攻擊,當(dāng)前各種瀏覽器普遍采用的解決方案是附加安全功能,在用戶瀏覽惡意網(wǎng)站之前,向用戶發(fā)出警告信息,比如谷歌瀏覽器的安全瀏覽[2]和 IE瀏覽器的SmartScreen篩選器[3]等,用以幫助用戶防御網(wǎng)上誘騙和惡意代碼的攻擊。這些瀏覽器安全功能通常通過(guò)一種類似黑名單的惡意網(wǎng)址列表機(jī)制來(lái)實(shí)現(xiàn),將給定的URL與惡意網(wǎng)址列表進(jìn)行匹配,判斷該URL是否為惡意網(wǎng)站。
惡意網(wǎng)址列表通過(guò)自動(dòng)檢測(cè)和人工舉報(bào)結(jié)合的方式獲得,其原理簡(jiǎn)單且易于被瀏覽器和其他應(yīng)用程序?qū)崿F(xiàn)。其不足是第三方專業(yè)服務(wù)機(jī)構(gòu)為用戶提供的惡意網(wǎng)址列表的更新速度遠(yuǎn)遠(yuǎn)跟不上惡意網(wǎng)頁(yè)的更新速度。同時(shí),隨著網(wǎng)絡(luò)犯罪技術(shù)的不斷提高,發(fā)現(xiàn)惡意網(wǎng)頁(yè)的難度也在加大。若要及時(shí)發(fā)現(xiàn)新出現(xiàn)的惡意網(wǎng)站,必須盡可能應(yīng)用多方面的力量,而不能僅僅依賴第三方專業(yè)機(jī)構(gòu)。實(shí)際上,能夠最早發(fā)現(xiàn)新出現(xiàn)惡意網(wǎng)頁(yè)的正是廣大網(wǎng)絡(luò)用戶自己。
通常,用戶訪問(wèn)惡意欺詐網(wǎng)頁(yè)或者被惡意代碼攻擊之后,會(huì)獲得關(guān)于防御這些惡意網(wǎng)頁(yè)和惡意代碼的經(jīng)驗(yàn)。一用戶訪問(wèn)某個(gè)網(wǎng)站之前,若其好友恰好瀏覽過(guò)該網(wǎng)站,就可以根據(jù)好友提供的安全瀏覽經(jīng)驗(yàn),來(lái)決定是否訪問(wèn)該網(wǎng)站,從而避免登錄惡意網(wǎng)站,減少損失。這種方式實(shí)際上是借助多個(gè)用戶的經(jīng)驗(yàn)來(lái)處理同一問(wèn)題。如果能夠?qū)⒕W(wǎng)絡(luò)用戶的經(jīng)驗(yàn)充分利用起來(lái),將非常有利于對(duì)惡意網(wǎng)頁(yè)的防御。
用戶只愿意向其信任的好友提供其瀏覽網(wǎng)頁(yè)的經(jīng)驗(yàn),也只愿意接收來(lái)自其信任的好友推薦的信息。許多用戶都已加入到各種不同的社會(huì)交互應(yīng)用,如 Facebook、QQ、MSN、校內(nèi)網(wǎng)、人人網(wǎng)和新浪微博等。截至2011年6月,F(xiàn)acebook的用戶數(shù)量已經(jīng)突破 7.5億[4]。這些在線社會(huì)網(wǎng)絡(luò)將人們之間的信任關(guān)系從現(xiàn)實(shí)生活中轉(zhuǎn)移到網(wǎng)絡(luò)中。
信任是所有社會(huì)交互的基礎(chǔ)。隨著 Web的演化,社會(huì)信任關(guān)系的使用是實(shí)用的而且是必須的[5]。社會(huì)網(wǎng)絡(luò)應(yīng)用越來(lái)越廣泛,成為一個(gè)良好的通信平臺(tái),在信任的基礎(chǔ)上用戶可以與好友共享資源、分享經(jīng)驗(yàn)。
本文提出了一種基于社會(huì)信任的分布式網(wǎng)頁(yè)安全評(píng)價(jià)方案。除應(yīng)用第三方提供的惡意網(wǎng)址列表之外,還利用用戶的經(jīng)驗(yàn)和好友間的信任,獲得更為可信的網(wǎng)頁(yè)評(píng)價(jià)結(jié)果,及時(shí)避免用戶訪問(wèn)惡意網(wǎng)頁(yè)。從一個(gè)用戶角度看,以用戶個(gè)體為中心,與好友之間形成協(xié)作防御;從整個(gè)社會(huì)網(wǎng)絡(luò)角度看,基于社會(huì)網(wǎng)絡(luò)平臺(tái),每個(gè)用戶都可以與其好友協(xié)作,充分利用整個(gè)網(wǎng)絡(luò)上的資源、能力和經(jīng)驗(yàn),從而在宏觀上形成一個(gè)網(wǎng)狀的防御體系。
社會(huì)信任在很多方面都有應(yīng)用。比如,文獻(xiàn)[6]將信任應(yīng)用到推薦系統(tǒng)以提高推薦的正確性;文獻(xiàn)[7,8]將社會(huì)信任用于垃圾郵件過(guò)濾;文獻(xiàn)[9]將社會(huì)網(wǎng)絡(luò)中用戶之間的信任用于檢測(cè) Sybil攻擊等。我們希望將社會(huì)信任引入用戶主機(jī)安全防御系統(tǒng),以減緩惡意代碼傳播。
Sirivianos[7]提出了一個(gè)基于信任的協(xié)作式垃圾郵件過(guò)濾系統(tǒng)SocialFilter。每一個(gè)SocialFilter的節(jié)點(diǎn)都發(fā)送報(bào)告到一個(gè)中央數(shù)據(jù)庫(kù),中央數(shù)據(jù)庫(kù)形成信任圖進(jìn)行信任推導(dǎo),并計(jì)算一個(gè)節(jié)點(diǎn)到其他所有節(jié)點(diǎn)的最大信任路徑。SocialFilter利用社會(huì)網(wǎng)絡(luò)中的信任關(guān)系來(lái)評(píng)價(jià)對(duì)發(fā)送報(bào)告者的信任程度,其目的是聚集多種垃圾郵件檢測(cè)器的經(jīng)驗(yàn),使每一個(gè)不具備郵件分類功能的用戶主機(jī)通過(guò)查詢,就可以確定一個(gè)主機(jī)是否為垃圾郵件制造者。
評(píng)級(jí)、信譽(yù)和推薦系統(tǒng)已經(jīng)成為很多Web在線系統(tǒng)的核心組成部分,這些系統(tǒng)通過(guò)綜合用戶對(duì)產(chǎn)品和服務(wù)的評(píng)論,從而形成有價(jià)值的參考信息。比較成功的商業(yè)案例包括Amazon和eBay的推薦系統(tǒng)[10]和Google網(wǎng)頁(yè)評(píng)級(jí)系統(tǒng)[11]等。
有些學(xué)者研究識(shí)別惡意網(wǎng)頁(yè)的安全機(jī)制。如,Jean Camp提出了一個(gè)NetTrust系統(tǒng)[12],它結(jié)合用戶的瀏覽習(xí)慣和朋友的意見(jiàn)來(lái)識(shí)別惡意網(wǎng)頁(yè),將好友的瀏覽行為信息放到工具欄上,供用戶參考。但該系統(tǒng)缺乏社會(huì)化網(wǎng)絡(luò)中信任傳遞的應(yīng)用,只利用直接好友的意見(jiàn),沒(méi)有對(duì)評(píng)價(jià)信息進(jìn)行綜合,所得到的網(wǎng)頁(yè)評(píng)價(jià)信息有限。
WOT是一個(gè)基于社區(qū)的、免費(fèi)的瀏覽器插件[13]。當(dāng)用戶在網(wǎng)上瀏覽和購(gòu)物時(shí),WOT可以保護(hù)用戶的安全。WOT用顏色標(biāo)記網(wǎng)頁(yè)上的鏈接來(lái)提醒用戶:紅色代表可疑網(wǎng)站,綠色代表健康網(wǎng)站。每個(gè)網(wǎng)絡(luò)用戶都可以注冊(cè)成為WOT用戶,并對(duì)網(wǎng)站進(jìn)行評(píng)價(jià)。WOT將用戶的所有評(píng)價(jià)綜合起來(lái)形成對(duì)網(wǎng)站的評(píng)價(jià)值,但是該插件沒(méi)有應(yīng)用社會(huì)信任,用戶不能根據(jù)好友的建議訪問(wèn)網(wǎng)站。
很多研究者提出了社會(huì)網(wǎng)絡(luò)中信任傳遞的計(jì)算方法[14,15]。其中文獻(xiàn)[15]提出的方法非常簡(jiǎn)單,是一個(gè)輕量級(jí)算法。本文將該方法應(yīng)用于分布式防御系統(tǒng)中計(jì)算信任的傳遞,因而不會(huì)明顯增加用戶主機(jī)運(yùn)行開(kāi)銷。
在網(wǎng)頁(yè)協(xié)作防御系統(tǒng)中,網(wǎng)頁(yè)評(píng)價(jià)分布式地內(nèi)嵌于每個(gè)用戶的瀏覽器中,用戶可以對(duì)訪問(wèn)的網(wǎng)頁(yè)進(jìn)行評(píng)價(jià)。依據(jù)“本地存儲(chǔ)、定期交換、及時(shí)通知”的原則存儲(chǔ)用戶網(wǎng)頁(yè)評(píng)價(jià),獲取好友評(píng)價(jià)信息,警告好友防范惡意網(wǎng)頁(yè)。每個(gè)用戶主機(jī)設(shè)置一個(gè)評(píng)價(jià)表,用于存儲(chǔ)用戶及其好友對(duì)所瀏覽網(wǎng)頁(yè)的安全程度的評(píng)價(jià);用戶通過(guò)社會(huì)網(wǎng)絡(luò)平臺(tái)與好友定期交換網(wǎng)頁(yè)評(píng)價(jià)信息;發(fā)現(xiàn)惡意程度高的網(wǎng)頁(yè),用戶應(yīng)及時(shí)通知其好友。
社會(huì)網(wǎng)絡(luò)采用MSN用戶構(gòu)成的即時(shí)通信網(wǎng)絡(luò),通過(guò)信任傳遞的計(jì)算獲得對(duì)間接好友的間接信任程度,即間接信任值。根據(jù)用戶直接好友和間接好友的信任值及其對(duì)網(wǎng)頁(yè)的評(píng)價(jià)值,計(jì)算用戶評(píng)價(jià)表中每個(gè)網(wǎng)頁(yè)的綜合評(píng)價(jià)值。由于每個(gè)用戶信任的好友以及信任的程度都是不同的,因此針對(duì)同一個(gè)網(wǎng)頁(yè),在不同用戶主機(jī)上,計(jì)算所得的網(wǎng)頁(yè)綜合評(píng)價(jià)值通常也不相同。
用戶訪問(wèn)一個(gè)先前沒(méi)有瀏覽過(guò)的網(wǎng)頁(yè)時(shí),瀏覽器插件會(huì)過(guò)濾網(wǎng)頁(yè):首先檢查第三方提供的惡意網(wǎng)址列表,然后檢查用戶評(píng)價(jià)表,根據(jù)計(jì)算得到的綜合評(píng)價(jià)值所處的區(qū)間,給用戶不同的提示。若繼續(xù)訪問(wèn)該頁(yè)面,用戶可以評(píng)價(jià)該頁(yè)面的安全級(jí)別,給網(wǎng)頁(yè)打分。如果用戶評(píng)價(jià)表中沒(méi)有該網(wǎng)址,直接顯示該網(wǎng)頁(yè),用戶即可打分。
若用戶訪問(wèn)一個(gè)惡意程度很高的網(wǎng)頁(yè),對(duì)其評(píng)分很低,則需要立即發(fā)送其評(píng)價(jià)給好友,及時(shí)提醒好友避免打開(kāi)該網(wǎng)頁(yè)。好友可以繼續(xù)向其好友傳遞該評(píng)價(jià),從而降低惡意網(wǎng)頁(yè)的訪問(wèn)量,減少惡意網(wǎng)頁(yè)帶來(lái)的危害。
通過(guò)對(duì)信任及其傳遞進(jìn)行計(jì)算,獲得達(dá)到一定信任程度的好友,根據(jù)這些好友的信任值計(jì)算網(wǎng)頁(yè)綜合評(píng)價(jià)值。
3.2.1 信任的概念
根據(jù)文獻(xiàn)[16]對(duì)信任的定義以及本文的應(yīng)用環(huán)境,對(duì)社會(huì)信任定義如下。
定義 1 社會(huì)信任是一種建立在已有知識(shí)上的主觀判斷,是用戶A根據(jù)所處環(huán)境,對(duì)用戶B能夠按照用戶A的意愿提供特定服務(wù)的度量,以下簡(jiǎn)稱信任。
定義2 直接信任(direct trust)是用戶A根據(jù)與用戶B的直接聯(lián)系歷史記錄而得出的對(duì)用戶B的信任。
定義 3 間接信任(indirect trust)是用戶間根據(jù)第三個(gè)用戶的推薦形成的信任,也稱推薦信任。
如圖1所示,將3個(gè)用戶的信任關(guān)系進(jìn)行了抽象,其中,TAB表示用戶A對(duì)用戶B的信任值。用戶A與C之間不存在直接關(guān)系,用戶A為獲得對(duì)用戶C的間接信任值,需要求助于用戶B。根據(jù)用戶B的推薦,利用信任傳遞公式計(jì)算,可以得到A對(duì)C的間接信任值。
圖1 用戶信任關(guān)系傳遞
3.2.2 信任傳遞機(jī)制
間接信任通過(guò)信任傳遞機(jī)制來(lái)計(jì)算。
本文使用Golbeck[15]提出的信任計(jì)算模型,其中,2個(gè)用戶之間的間接信任值計(jì)算公式如式(1)所示。
其中,Tij表示用戶i對(duì)用戶j的信任值,N(i)表示i的所有好友集合,包括直接好友和間接好友。
當(dāng)用戶計(jì)算對(duì)間接好友的信任值時(shí),需要獲得好友對(duì)間接好友的信任。通過(guò)與好友互換信息的方式可以獲得這些信任值,然后進(jìn)行信任傳遞計(jì)算。對(duì)于信任值很低的好友,用戶不愿意與其交換信息。為了忽略這些好友的評(píng)價(jià),設(shè)置一個(gè)可信度閾值Tmin。當(dāng)計(jì)算得到的間接信任值大于Tmin時(shí),則記錄該好友信息,同時(shí)與該好友交換網(wǎng)頁(yè)評(píng)價(jià)信息;否則不記錄該用戶及其評(píng)價(jià)信息。
用戶訪問(wèn)一個(gè)網(wǎng)頁(yè)時(shí),可以對(duì)該網(wǎng)頁(yè)進(jìn)行評(píng)價(jià),稱為直接評(píng)價(jià)。但要求用戶評(píng)價(jià)所訪問(wèn)的每一個(gè)網(wǎng)頁(yè)比較困難,為了補(bǔ)充評(píng)價(jià)信息,根據(jù)用戶的瀏覽行為增加一種評(píng)價(jià)方式:行為評(píng)價(jià)。
3.3.1 直接評(píng)價(jià)
WOT將網(wǎng)頁(yè)分為5個(gè)級(jí)別:極差、較差、令人不滿意、較好、極佳,這種分級(jí)方式比較粗略。NetTrust 允許用戶在區(qū)間[1, 5]和[?1, ?5]指定一個(gè)值為網(wǎng)頁(yè)評(píng)級(jí)。為了精確地對(duì)網(wǎng)頁(yè)分級(jí)且便于計(jì)算網(wǎng)頁(yè)綜合評(píng)價(jià)值,?1、?2、?3、?4、?5 分別表示網(wǎng)頁(yè)的危險(xiǎn)程度:有點(diǎn)低、較低、低、很低、嚴(yán)重。相應(yīng)地,正值代表網(wǎng)站的健康程度。用戶可以指定一個(gè)[?5, 5]之間的數(shù)值來(lái)評(píng)價(jià)一個(gè)網(wǎng)頁(yè)的安全程度。負(fù)值代表用戶認(rèn)為該網(wǎng)頁(yè)存在危險(xiǎn)性,正值代表用戶認(rèn)為該網(wǎng)頁(yè)為健康網(wǎng)頁(yè)。用戶根據(jù)自己的瀏覽經(jīng)驗(yàn)為網(wǎng)頁(yè)打分,將其評(píng)價(jià)結(jié)果存放到本地網(wǎng)頁(yè)評(píng)價(jià)表。最終網(wǎng)頁(yè)上顯示給用戶的綜合評(píng)價(jià)值是[?5, 5]區(qū)間內(nèi)的一個(gè)值,可以使用戶獲得更精確的網(wǎng)頁(yè)安全信息。
3.3.2 行為評(píng)價(jià)
用戶只瀏覽網(wǎng)頁(yè)而不對(duì)網(wǎng)頁(yè)的安全性進(jìn)行主動(dòng)評(píng)價(jià)時(shí),可以利用用戶的瀏覽行為對(duì)網(wǎng)頁(yè)形成評(píng)價(jià)。當(dāng)一個(gè)用戶多次重復(fù)訪問(wèn)一個(gè)網(wǎng)站時(shí),說(shuō)明該用戶已經(jīng)足夠信任該網(wǎng)站,默認(rèn)該網(wǎng)站為健康網(wǎng)站。NetTrust系統(tǒng)記錄用戶對(duì)每個(gè)網(wǎng)站的訪問(wèn)頻率,以此作為參數(shù)獲得對(duì)該網(wǎng)站的評(píng)價(jià)[12]。
行為評(píng)價(jià)使用用戶訪問(wèn)一個(gè)網(wǎng)站的次數(shù)來(lái)評(píng)價(jià)網(wǎng)站的健康程度。對(duì)于一個(gè)給定的網(wǎng)頁(yè),行為評(píng)價(jià)用一個(gè)[0, 5]區(qū)間內(nèi)的整數(shù)值來(lái)評(píng)價(jià)網(wǎng)頁(yè)的健康程度,與直接評(píng)價(jià)的正數(shù)區(qū)間保持一致。根據(jù)用戶的瀏覽行為和綜合評(píng)價(jià)值的計(jì)算需要,為行為評(píng)價(jià)選取 4個(gè)影響因素:最大約束值、開(kāi)始計(jì)數(shù)延遲、最小訪問(wèn)間隔和計(jì)數(shù)衰減期限,用以限制計(jì)數(shù)的最大值和有效性,可以較精確地間接評(píng)價(jià)網(wǎng)頁(yè)的健康程度。
1) 最大約束值
用來(lái)設(shè)置行為評(píng)價(jià)值的上限。最大約束值將行為評(píng)價(jià)值限定在5以內(nèi),計(jì)數(shù)達(dá)到5之后就不再增加,使得行為評(píng)價(jià)值和直接評(píng)價(jià)值在數(shù)值上統(tǒng)一,便于綜合評(píng)價(jià)值的計(jì)算。
2) 開(kāi)始計(jì)數(shù)延遲
當(dāng)用戶第一次訪問(wèn)一個(gè)網(wǎng)站時(shí),不能立即將這個(gè)網(wǎng)站的行為評(píng)價(jià)值記為 1,要經(jīng)歷一段時(shí)間即開(kāi)始計(jì)數(shù)延遲之后才會(huì)將該網(wǎng)站的評(píng)價(jià)值設(shè)為 1。開(kāi)始計(jì)數(shù)延遲設(shè)置為5天。根據(jù)APWG的統(tǒng)計(jì)[17],釣魚網(wǎng)站的平均存活時(shí)間通常不超過(guò)5天,設(shè)置開(kāi)始計(jì)數(shù)延遲能夠避免對(duì)釣魚網(wǎng)站的錯(cuò)誤計(jì)數(shù)。
3) 最小訪問(wèn)間隔
行為評(píng)價(jià)隨著用戶的訪問(wèn)次數(shù)不斷變化。對(duì)網(wǎng)頁(yè)的重復(fù)訪問(wèn)必須達(dá)到一定的時(shí)間間隔,訪問(wèn)次數(shù)才具有一定的意義。如果不設(shè)置該參數(shù),用戶可以通過(guò)不斷刷新某一個(gè)頁(yè)面來(lái)達(dá)到提升該頁(yè)面行為評(píng)價(jià)值的目的。若用戶長(zhǎng)期重復(fù)訪問(wèn)某個(gè)網(wǎng)站,每天訪問(wèn)一次該網(wǎng)站是多數(shù)用戶的習(xí)慣,因此將最小訪問(wèn)間隔設(shè)置為一天。
4) 計(jì)數(shù)衰減期限
如果用戶在一段很長(zhǎng)時(shí)間內(nèi)(即衰減期限)都沒(méi)再訪問(wèn)某個(gè)網(wǎng)頁(yè),該網(wǎng)頁(yè)的行為評(píng)價(jià)值縮減到原來(lái)的一半。計(jì)數(shù)衰減期限設(shè)置為 15天。若用戶很久沒(méi)有訪問(wèn)一個(gè)網(wǎng)頁(yè),之后重新開(kāi)始訪問(wèn)該網(wǎng)頁(yè),則根據(jù)前面的計(jì)數(shù)規(guī)則繼續(xù)對(duì)其進(jìn)行行為評(píng)價(jià)。
對(duì)于同一個(gè)網(wǎng)頁(yè),如果用戶給出了直接評(píng)價(jià),則不再記錄行為評(píng)價(jià)。除了對(duì)一個(gè)網(wǎng)頁(yè)進(jìn)行數(shù)值評(píng)價(jià)外,用戶還可以進(jìn)行文字描述。這些文字描述對(duì)網(wǎng)頁(yè)的數(shù)值評(píng)價(jià)沒(méi)有影響,但當(dāng)用戶訪問(wèn)該網(wǎng)頁(yè)時(shí),相關(guān)描述會(huì)被顯示,用戶可以選擇查看。
每個(gè)用戶主機(jī)上設(shè)置一個(gè)網(wǎng)頁(yè)評(píng)價(jià)表,如表 1所示。用于存儲(chǔ)用戶及其好友(包括直接好友與間接好友)對(duì)訪問(wèn)過(guò)網(wǎng)頁(yè)的安全程度評(píng)價(jià),以及用戶對(duì)其好友的信任值。用戶ID使用用戶的MSN賬號(hào),是全局唯一的。該表同時(shí)也保存本地用戶做出的評(píng)價(jià),并以100%作為其信任值。表1中最后一行是綜合評(píng)價(jià)值,在綜合其他用戶對(duì)網(wǎng)頁(yè)評(píng)價(jià)和其信任值的基礎(chǔ)上進(jìn)行計(jì)算得到。這些評(píng)價(jià)具有個(gè)體性,每個(gè)用戶根據(jù)自己的網(wǎng)頁(yè)評(píng)價(jià)表計(jì)算網(wǎng)頁(yè)綜合評(píng)價(jià)值。任何2個(gè)用戶的網(wǎng)頁(yè)評(píng)價(jià)表是不同的。
好友之間交換網(wǎng)頁(yè)評(píng)價(jià)信息可以幫助用戶利用好友的經(jīng)驗(yàn)豐富自己的網(wǎng)頁(yè)評(píng)價(jià)表。經(jīng)驗(yàn)豐富和值得信賴的好友信任值會(huì)比較高,會(huì)提供更有價(jià)值的信息。
式(2)給出了計(jì)算一個(gè)網(wǎng)頁(yè)的綜合評(píng)價(jià)值的方法,其中 Ru表示對(duì)網(wǎng)址u的綜合評(píng)價(jià)值,rju表示好友j對(duì)網(wǎng)址u的評(píng)價(jià)值。
它綜合所有訪問(wèn)過(guò)該網(wǎng)頁(yè)且達(dá)到可信度閾值的好友給出的評(píng)價(jià)值,以對(duì)好友的信任值作為權(quán)重,進(jìn)行加權(quán)評(píng)價(jià),計(jì)算出的綜合評(píng)價(jià)值如表1所示。一個(gè)信任程度高的好友對(duì)網(wǎng)頁(yè)的評(píng)價(jià)值在綜合評(píng)價(jià)值中的貢獻(xiàn)會(huì)多一些。
表1 網(wǎng)頁(yè)評(píng)價(jià)
當(dāng)用戶訪問(wèn)一個(gè)網(wǎng)頁(yè)時(shí),根據(jù)綜合評(píng)價(jià)值給用戶不同的提示。若綜合評(píng)價(jià)值不大于?4,直接終止網(wǎng)頁(yè)的顯示,給出嚴(yán)重警告并顯示給出評(píng)價(jià)值的好友及其信任值,向用戶提示該網(wǎng)站可能會(huì)損害用戶計(jì)算機(jī);若綜合評(píng)價(jià)值在(?4,0)范圍內(nèi),顯示網(wǎng)頁(yè)之前給用戶一個(gè)提示,顯示出綜合評(píng)價(jià)值,提示用戶是否繼續(xù)顯示;如果綜合評(píng)價(jià)值是正值,直接顯示網(wǎng)頁(yè),不給用戶提示,同時(shí)仍然顯示綜合評(píng)價(jià)值;若用戶評(píng)價(jià)表中沒(méi)有該網(wǎng)頁(yè),則直接顯示。若只有一個(gè)好友訪問(wèn)過(guò)某個(gè)惡意網(wǎng)頁(yè),對(duì)該網(wǎng)頁(yè)評(píng)價(jià)值不大于?4時(shí),他會(huì)通知其所有好友包括該用戶。若該用戶所有其他好友都沒(méi)有瀏覽過(guò)該網(wǎng)頁(yè),即其他好友對(duì)該網(wǎng)頁(yè)的評(píng)價(jià)值都為 0。最后計(jì)算得到的綜合評(píng)價(jià)值與好友的評(píng)價(jià)值相同。若該好友是一個(gè)惡意用戶,用虛假的網(wǎng)頁(yè)評(píng)價(jià)阻止其好友訪問(wèn)該網(wǎng)頁(yè),多個(gè)用戶會(huì)受其影響不能訪問(wèn)健康網(wǎng)頁(yè)。為了避免這種情況,將評(píng)價(jià)該網(wǎng)頁(yè)的好友顯示給用戶,由用戶決定是否繼續(xù)訪問(wèn)該網(wǎng)頁(yè)。
對(duì)于用戶以前瀏覽過(guò)的網(wǎng)頁(yè),根據(jù)網(wǎng)頁(yè)評(píng)價(jià)表中用戶自己的評(píng)價(jià)進(jìn)行過(guò)濾。
本系統(tǒng)通過(guò)使用MSN提供的開(kāi)放接口來(lái)應(yīng)用社會(huì)網(wǎng)絡(luò)。MSN是微軟公司推出的一款即時(shí)通信軟件,可以與親人、朋友和同事等進(jìn)行即時(shí)交流?,F(xiàn)實(shí)生活中的朋友關(guān)系在MSN中得到很好的體現(xiàn),出現(xiàn)在MSN好友列表中的用戶大多數(shù)是用戶生活中真實(shí)的同學(xué)、朋友和親人。
用戶可以通過(guò)MSN賬號(hào)登錄我們的系統(tǒng),系統(tǒng)自動(dòng)記錄用戶賬號(hào)信息,并將MSN的好友信息集成到系統(tǒng)中,實(shí)現(xiàn)好友之間的協(xié)作。
系統(tǒng)提供接口允許用戶對(duì)自己的好友設(shè)定一個(gè)信任值,用百分?jǐn)?shù)來(lái)描述。如用戶非常信任某個(gè)好友,可以用90%以上的數(shù)值表示。這些信任值用于信任傳遞和網(wǎng)頁(yè)綜合評(píng)價(jià)值的計(jì)算。
每個(gè)用戶對(duì)網(wǎng)頁(yè)的評(píng)價(jià)和對(duì)好友的信任值都保存在本地。為了獲得好友對(duì)網(wǎng)頁(yè)的評(píng)價(jià)值,用戶與其直接好友會(huì)定期交換彼此的網(wǎng)頁(yè)評(píng)價(jià)和對(duì)好友的信任值信息。交換網(wǎng)頁(yè)評(píng)價(jià)信息相當(dāng)于用戶向好友咨詢的過(guò)程。因?yàn)槿魏螢g覽行為都無(wú)法容忍過(guò)長(zhǎng)的等待時(shí)間,用戶不能在訪問(wèn)網(wǎng)頁(yè)的時(shí)候才去向好友咨詢,所以,只有獲取盡可能多可信任用戶的網(wǎng)頁(yè)評(píng)價(jià)值存儲(chǔ)到本地,才能在訪問(wèn)網(wǎng)頁(yè)前及時(shí)獲得準(zhǔn)確的網(wǎng)頁(yè)綜合評(píng)價(jià)信息,對(duì)用戶訪問(wèn)網(wǎng)頁(yè)提供建議。
圖2是一個(gè)信息交換的例子。用戶A與B1、B2互相交換信息后,A就獲得了B1和B2對(duì)C的信任值,通過(guò)式(1)計(jì)算得到A對(duì)C的間接信任值。B1、B2和C以及C和D也會(huì)互相交換信息,所以B1和B2也可以計(jì)算對(duì)D的信任值。從而在下一次交換信息時(shí)A能夠計(jì)算對(duì)D的間接信任值。用戶通過(guò)與好友之間信息的不斷交換,會(huì)獲得盡可能多的可信任用戶的網(wǎng)頁(yè)評(píng)價(jià)信息。
圖2 信息交換舉例
為了及時(shí)向好友發(fā)送惡意網(wǎng)頁(yè)的警告信息,除了定期交換信息外,系統(tǒng)還將被用戶評(píng)價(jià)為高危網(wǎng)頁(yè)的網(wǎng)頁(yè)評(píng)價(jià)信息(如用戶把某個(gè)網(wǎng)站評(píng)價(jià)為?4以下的值)迅速分發(fā)給自己的好友。收到這個(gè)評(píng)價(jià)信息的好友按同樣方法處理。這使得惡意網(wǎng)頁(yè)的評(píng)價(jià)信息能及時(shí)發(fā)送出去,避免更多的用戶訪問(wèn)惡意網(wǎng)頁(yè)。
圖3給出了本文設(shè)計(jì)的系統(tǒng)結(jié)構(gòu)。虛線框表示防御系統(tǒng)在用戶主機(jī)上實(shí)現(xiàn)的功能。瀏覽器工具欄模塊用于顯示網(wǎng)頁(yè)評(píng)價(jià)信息和用戶進(jìn)行網(wǎng)頁(yè)評(píng)價(jià)的接口,評(píng)價(jià)信息主要包括好友對(duì)該網(wǎng)頁(yè)的綜合評(píng)價(jià)值以及第三方資源評(píng)價(jià)。評(píng)價(jià)引擎主要功能是計(jì)算用戶對(duì)其好友的間接信任值和網(wǎng)頁(yè)綜合評(píng)價(jià)值。社會(huì)網(wǎng)絡(luò)模塊主要用于存儲(chǔ)用戶的好友信息,以及通過(guò)MSN接口與其他好友進(jìn)行信息交換功能。同步模塊主要功能是獲取和存儲(chǔ)網(wǎng)頁(yè)評(píng)價(jià)信息。
用戶啟動(dòng)裝有該插件的瀏覽器后,用其 MSN賬號(hào)登錄系統(tǒng)。系統(tǒng)啟動(dòng)以后,用戶可以通過(guò)瀏覽器工具欄查看網(wǎng)頁(yè)綜合評(píng)價(jià)值以及用戶對(duì)網(wǎng)頁(yè)的相關(guān)文字描述,或者評(píng)價(jià)正在訪問(wèn)的網(wǎng)頁(yè)。用戶評(píng)價(jià)信息通過(guò)同步模塊完成存儲(chǔ)。在用戶瀏覽網(wǎng)頁(yè)的同時(shí),系統(tǒng)會(huì)定期通過(guò)同步模塊和社會(huì)網(wǎng)絡(luò)模塊與其他用戶交換評(píng)價(jià)信息。
圖3 系統(tǒng)結(jié)構(gòu)
第三方專業(yè)機(jī)構(gòu)提供的惡意網(wǎng)址列表比較全面,好友之間的經(jīng)驗(yàn)共享比較及時(shí),兩者相互補(bǔ)充能夠更加有效地降低惡意網(wǎng)頁(yè)的訪問(wèn)量。本系統(tǒng)使用Google安全瀏覽API[18],可以根據(jù)Google不斷更新的可疑仿冒網(wǎng)頁(yè)和惡意軟件網(wǎng)頁(yè)列表來(lái)檢查網(wǎng)址。惡意網(wǎng)址列表中出現(xiàn)的網(wǎng)頁(yè)或者好友評(píng)價(jià)的惡意網(wǎng)頁(yè)都要被過(guò)濾,減少對(duì)用戶的威脅。
Sybil攻擊是指一個(gè)惡意節(jié)點(diǎn)可以使用多個(gè)ID偽裝成網(wǎng)絡(luò)系統(tǒng)中多個(gè)不同節(jié)點(diǎn),從而對(duì)評(píng)價(jià)結(jié)果產(chǎn)生影響?;谏鐣?huì)信任的網(wǎng)頁(yè)防御機(jī)制一個(gè)重要的安全特性就是可以有效抵御 Sybil攻擊。系統(tǒng)通過(guò)MSN開(kāi)放接口來(lái)接入社會(huì)網(wǎng)絡(luò)。若一個(gè)惡意用戶偽造多個(gè)MSN賬號(hào)進(jìn)行Sybil攻擊,由于缺乏信任,偽造的賬號(hào)難以與網(wǎng)絡(luò)中其他用戶建立好友關(guān)系,因此無(wú)法獲得其他用戶比較高的信任。系統(tǒng)不接收沒(méi)有達(dá)到可信度閾值的用戶信息,評(píng)價(jià)表中不存放這些用戶對(duì)網(wǎng)頁(yè)的評(píng)價(jià)值,使得偽造賬號(hào)對(duì)網(wǎng)頁(yè)的評(píng)價(jià)無(wú)法影響網(wǎng)頁(yè)綜合評(píng)價(jià)值的計(jì)算。因此本文設(shè)計(jì)的系統(tǒng)能夠有效抵御Sybil攻擊。
設(shè)計(jì)的仿真實(shí)驗(yàn)中,100個(gè)用戶隨機(jī)訪問(wèn)1000個(gè)虛擬網(wǎng)頁(yè),其中包括900個(gè)健康網(wǎng)頁(yè)和100個(gè)惡意網(wǎng)頁(yè)。實(shí)驗(yàn)分為3種情況:第一種不應(yīng)用協(xié)作防御系統(tǒng);第二種社會(huì)信任不傳遞,只利用直接好友的瀏覽行為信息,即NetTrust系統(tǒng)采用的方法;第三種在信任傳遞的基礎(chǔ)上,用戶相互協(xié)作,共同防御惡意網(wǎng)頁(yè)。
實(shí)驗(yàn)記錄所有用戶訪問(wèn)的惡意網(wǎng)頁(yè)的總次數(shù)。對(duì)信任不傳遞和信任傳遞2種情況的實(shí)驗(yàn)結(jié)果進(jìn)行比較。這2種情況下每步惡意網(wǎng)頁(yè)的總訪問(wèn)次數(shù)與第一種情況相比,計(jì)算得到總訪問(wèn)次數(shù)的降低率,如圖4所示。其中橫坐標(biāo)是實(shí)驗(yàn)步數(shù),每訪問(wèn)一次網(wǎng)頁(yè)作為一步;縱坐標(biāo)表示惡意網(wǎng)頁(yè)總訪問(wèn)次數(shù)的減少率,即應(yīng)用防御系統(tǒng)和未應(yīng)用防御系統(tǒng)惡意網(wǎng)頁(yè)訪問(wèn)次數(shù)之差與未應(yīng)用防御系統(tǒng)時(shí)訪問(wèn)次數(shù)的比值。應(yīng)用防御系統(tǒng),30步后,惡意網(wǎng)頁(yè)訪問(wèn)減少率逐漸達(dá)到 100%,說(shuō)明用戶最終都不再訪問(wèn)惡意網(wǎng)頁(yè)。應(yīng)用信任傳遞比沒(méi)有信任傳遞惡意網(wǎng)頁(yè)訪問(wèn)減少率明顯增大,說(shuō)明防御系統(tǒng)的防御能力比NetTrust系統(tǒng)有明顯增強(qiáng)。
圖4 2種情況下訪問(wèn)惡意網(wǎng)頁(yè)減少率
用戶對(duì)網(wǎng)頁(yè)的主觀評(píng)價(jià)有可能是不正確的。改變?cè)u(píng)價(jià)的正確率,在60%、75%、90%、100%的用戶評(píng)價(jià)是正確的情況下,與第一種情況進(jìn)行比較,惡意網(wǎng)頁(yè)的總訪問(wèn)量下降比例如圖5所示。實(shí)驗(yàn)表明用戶評(píng)價(jià)的正確率越高,系統(tǒng)防御能力越強(qiáng),但是差別并不明顯,說(shuō)明防御系統(tǒng)對(duì)用戶評(píng)價(jià)正確率具有彈性,系統(tǒng)可以容忍一定程度的用戶錯(cuò)誤評(píng)價(jià)。
圖5 評(píng)價(jià)準(zhǔn)確率不同時(shí)訪問(wèn)惡意網(wǎng)頁(yè)減少率
惡意網(wǎng)頁(yè)的數(shù)目會(huì)不斷變化,設(shè)置實(shí)驗(yàn)中惡意網(wǎng)頁(yè)的數(shù)目分別為:100、200和300,惡意網(wǎng)頁(yè)總訪問(wèn)次數(shù)的減少率如圖6所示,表明網(wǎng)絡(luò)中惡意網(wǎng)頁(yè)的數(shù)目對(duì)系統(tǒng)的性能幾乎沒(méi)有影響。
圖6 惡意網(wǎng)頁(yè)數(shù)目不同時(shí)訪問(wèn)惡意網(wǎng)頁(yè)減少率
有些用戶不對(duì)網(wǎng)頁(yè)進(jìn)行評(píng)價(jià),做出評(píng)價(jià)的用戶分別為50%、70%、90%和100%時(shí),惡意網(wǎng)頁(yè)總訪問(wèn)次數(shù)減少率如圖7所示。評(píng)價(jià)的用戶越少,系統(tǒng)的性能會(huì)越差。只要有50%的用戶參與評(píng)價(jià),即可避免相當(dāng)一部分用戶訪問(wèn)惡意網(wǎng)頁(yè)。如果所有用戶都不評(píng)價(jià),相當(dāng)于沒(méi)有應(yīng)用協(xié)作防御系統(tǒng)。但是在用戶不直接對(duì)訪問(wèn)的網(wǎng)頁(yè)做出評(píng)價(jià)時(shí),系統(tǒng)可以應(yīng)用行為評(píng)價(jià)獲得網(wǎng)頁(yè)的評(píng)價(jià)值,彌補(bǔ)這個(gè)不足。
圖7 參與評(píng)價(jià)的用戶的比例不同時(shí)訪問(wèn)惡意網(wǎng)頁(yè)減少率
由于每個(gè)用戶訪問(wèn)的網(wǎng)頁(yè)數(shù)目有限,而且用戶好友大多是其同學(xué)、同事或者親朋好友,用戶與其可信任好友通常會(huì)有共同的愛(ài)好興趣或者成長(zhǎng)經(jīng)歷,網(wǎng)頁(yè)評(píng)價(jià)表中存儲(chǔ)的信息是有限的。采用的信任傳遞算法是輕量級(jí)的,因此防御系統(tǒng)不會(huì)明顯影響用戶主機(jī)系統(tǒng)的開(kāi)銷。
本文提出了一種輕量級(jí)的基于社會(huì)信任的惡意網(wǎng)頁(yè)分布式協(xié)作防御系統(tǒng)。通過(guò)即時(shí)通信網(wǎng)絡(luò)利用好友間的信任,進(jìn)行信任傳遞,存儲(chǔ)和獲取用戶對(duì)網(wǎng)頁(yè)的評(píng)價(jià)值,并且綜合多個(gè)用戶對(duì)于訪問(wèn)過(guò)的網(wǎng)頁(yè)的安全經(jīng)驗(yàn),協(xié)作防御惡意網(wǎng)頁(yè),整個(gè)社會(huì)網(wǎng)絡(luò)在宏觀上形成一個(gè)網(wǎng)狀的防御體系。由于即時(shí)通信的實(shí)時(shí)性,好友之間的經(jīng)驗(yàn)共享比較及時(shí),另外結(jié)合第三方專業(yè)機(jī)構(gòu)提供的惡意網(wǎng)址列表,利用該列表的全面性對(duì)系統(tǒng)加以補(bǔ)充,更加有效地降低惡意網(wǎng)頁(yè)的訪問(wèn)量。實(shí)驗(yàn)結(jié)果表明該系統(tǒng)顯著提高了社會(huì)網(wǎng)絡(luò)防御惡意網(wǎng)頁(yè)的能力。
由于系統(tǒng)基于社會(huì)信任實(shí)現(xiàn),可以保證獲得的評(píng)價(jià)信息是可信的。但是在進(jìn)一步分辨高水平評(píng)價(jià)信息的問(wèn)題上還存在缺陷。在以后的工作中,可以采用有效反饋機(jī)制,用戶對(duì)每個(gè)好友做出的評(píng)價(jià)給出一個(gè)反饋。將第三方資源的評(píng)價(jià)結(jié)果作為參考評(píng)判好友對(duì)網(wǎng)頁(yè)評(píng)價(jià)的正確性,如果好友的評(píng)價(jià)正確,則提高其信任值;如果評(píng)價(jià)錯(cuò)誤,則降低其信任值。隨著網(wǎng)絡(luò)的演化動(dòng)態(tài)改變綜合網(wǎng)頁(yè)評(píng)價(jià)值,提高網(wǎng)絡(luò)對(duì)惡意網(wǎng)頁(yè)的實(shí)時(shí)防御能力。
防御系統(tǒng)未區(qū)分社會(huì)網(wǎng)絡(luò)中不同連接度節(jié)點(diǎn)的能力。在未來(lái)工作中,可以應(yīng)用復(fù)雜網(wǎng)絡(luò)理論分析社會(huì)網(wǎng)絡(luò)特征,充分利用優(yōu)勢(shì)節(jié)點(diǎn)(好友特別多的節(jié)點(diǎn))的作用,更加合理地部署防護(hù)機(jī)制。
[1]APWG.Anti phishing work group[EB/OL].http://www.antiphishing.org, 2011.
[2]Google chrome and google safe browsing[EB/OL].http://www.google.com/chrome/intl/zh-cn/more/security.html, 2011.
[3]SmartScreen filter[EB/OL].http://windows.microsoft.com/en-US/ internet- explorer/products/ie-9/features/smartscreen-filter, 2011.
[4] Mark zuckerberg officially confirmed that facebook reached 750 million active users milestone[EB/OL].http://www.techsnapr.com/2011/07/07/mark-zuckerberg-officially-confirmed-that-facebook-reach ed-750-million-active-users-milestone/, 2011.
[5]GOLBECK J.Weaving a Web of trust[J].Science Magazine, AAAS,2008, 321 (5896):1640-1641.
[6]DONOVAN J O’, SMYTH B.Trust in recommender systems[A].IUI’05:Proceedings of the 10th International Conference on Intelligent User Interfaces[C].New York, NY, USA, 2005.167-174.
[7]SIRIVIANOS M, KIM K, YANG X.SocialFilter:introducing social trust to collaborative spam mitigation[A].INFOCOM[C].2011.2300-2308.
[8]BOYKIN P O, ROYCHOWDHURY V.Personal email networks:an effective anti-spam tool[J].IEEE Computer, 2005, 38(4):61-68.
[9]YU H, KAMINSKY M, GIBBONS P B, et al.Sybilguard:defending against sybil attacks via social networks[A].Proc ACM SIGCOMM[C].2006.576-589.
[10]RESNICK P, ZECKHAUSER R.Trust among strangers in Internet transactions:empirical analysis of ebay’s reputation system[J].The Economics of the Internet and E-Commerce, Advances in Applied Microeconomics, Elsevier Science, 2002,11:127-157.
[11]PAGE L, BRIN S, MOTWANI R, et al.The Pagerank Citation Ranking:Bringing order to the Web[R].Stanford University, 1998.
[12]JEAN CAMP L.Net trust:signaling malicious Web sites[J].I/S A Journal of Law and Policy in the Information Society, 2007, 3(2):211-235.
[13]Safe browsing tool:WOT (Web of trust) [EB/OL].http://www.mywot.com/,2011.
[14]HANG C, WANG Y, SINGH M P.Operators for propagating trust and their evaluation in social networks[A].Proceedings of the 8th International Joint Conference on Autonomous Agents and Multiagent Systems[C].2009.1025-1032.
[15] GOLBECK J.Computing and Applying Trust in Web-based Social Networks[D].University of Maryland, College Park, 2005.
[16]李勇軍,代亞非.對(duì)等網(wǎng)絡(luò)信任機(jī)制研究[J].計(jì)算機(jī)學(xué)報(bào) 2010, (3):390-405.LI Y J, DAI Y F.Research on trust mechanism for peer-to-peer network[J].Chinese Journal of Computers, 2010, (3):390-405.
[17]AARON G, RASMUSSEN R.Global phishing survey 2h2010:trends and domain name use[EB/OL].http://www.antiphishing.org/reports/APWG_GlobalPhishingSurvey_2H2010.pdf, 2011.
[18]Google safe browsing API[EB/OL].http://code.google.com/intl/en/apis/safebrowsing/, 2010.