彭如香 楊 濤 孔華鋒 王永劍
(公安部第三研究所 上海 201204) (信息網(wǎng)絡(luò)安全公安部重點(diǎn)實(shí)驗(yàn)室 上海 201204)
基于廣告聯(lián)盟的虛擬身份畫像方法研究
彭如香 楊 濤 孔華鋒 王永劍
(公安部第三研究所 上海 201204) (信息網(wǎng)絡(luò)安全公安部重點(diǎn)實(shí)驗(yàn)室 上海 201204)
目前,網(wǎng)絡(luò)虛擬賬號(hào)繁多,大多數(shù)賬號(hào)無需實(shí)名認(rèn)證便可使用,這樣不利于網(wǎng)絡(luò)空間的安全維護(hù)與監(jiān)管。針對(duì)這一情況,提出一種以虛擬賬號(hào)為屬性的網(wǎng)絡(luò)空間身份畫像方法。該方法首先利用大數(shù)據(jù)預(yù)處理技術(shù)實(shí)現(xiàn)從無關(guān)聯(lián)的http post數(shù)據(jù)提取網(wǎng)絡(luò)虛擬賬號(hào);然后,基于廣告聯(lián)盟機(jī)制,利用頁面標(biāo)簽技術(shù)中Cookie存儲(chǔ)用戶唯一ID,將虛擬身份進(jìn)行關(guān)聯(lián)綁定與關(guān)聯(lián)分析,進(jìn)而構(gòu)建虛擬身份畫像原型;最后通過相似度計(jì)算方法,完成相似畫像原型的重組。實(shí)驗(yàn)結(jié)果表明,該方法能有效刻畫網(wǎng)絡(luò)空間身份。
廣告聯(lián)盟 虛擬身份畫像 數(shù)據(jù)挖掘 相似度計(jì)算
隨著互聯(lián)網(wǎng)技術(shù)日新月異,各種互聯(lián)網(wǎng)應(yīng)用應(yīng)運(yùn)而生,通過互聯(lián)網(wǎng)進(jìn)行溝通交流、商品交易等已經(jīng)成為人們生活的一部分;互聯(lián)網(wǎng)應(yīng)用的便捷性與高效性,使得人們的生活更廣泛地融入的互聯(lián)網(wǎng)環(huán)境中。然而,這些應(yīng)用大多數(shù)無需實(shí)認(rèn)證就可使用,一個(gè)人可以注冊(cè)多個(gè)相同種類或不同種類的虛擬賬號(hào),這給網(wǎng)絡(luò)空間安全管理提出了艱巨難題[3],如何尋找到一種有效的虛擬身份刻畫方法,成為解決該問題的重要突破口。本文基于廣告聯(lián)盟機(jī)制,提出一種有效的虛擬身份串并關(guān)聯(lián)方法,實(shí)現(xiàn)網(wǎng)絡(luò)空間身份的刻畫,為網(wǎng)絡(luò)空間安全管理提供有力的支撐。
廣告聯(lián)盟,通常指網(wǎng)絡(luò)廣告聯(lián)盟。網(wǎng)絡(luò)廣告聯(lián)盟,又稱聯(lián)盟營(yíng)銷,指集合中小網(wǎng)絡(luò)媒體資源(又稱聯(lián)盟會(huì)員,如中小網(wǎng)站、個(gè)人網(wǎng)站、WAP 站點(diǎn)等)組成聯(lián)盟,通過聯(lián)盟平臺(tái)幫助廣告主實(shí)現(xiàn)廣告投放,并進(jìn)行廣告投放數(shù)據(jù)監(jiān)測(cè)統(tǒng)計(jì),廣告主則按照網(wǎng)絡(luò)廣告的實(shí)際效果向聯(lián)盟會(huì)員支付廣告費(fèi)用的網(wǎng)絡(luò)廣告組織投放形式。
為了實(shí)現(xiàn)準(zhǔn)確計(jì)費(fèi)與廣告匹配,廣告聯(lián)盟平臺(tái)通常采用頁面標(biāo)簽技術(shù)通過訪客瀏覽器收集數(shù)據(jù),并將這些數(shù)據(jù)發(fā)送到遠(yuǎn)程數(shù)據(jù)接收服務(wù)器,分析人員可以從遠(yuǎn)程服務(wù)器查看數(shù)據(jù)報(bào)告。圖1展示廣告聯(lián)盟原理。這些信息通常通過放置在網(wǎng)站每個(gè)頁面中的JavaScript代碼進(jìn)行收集[1-2]。頁面標(biāo)簽技術(shù)使用cookie追蹤訪客,通常會(huì)在用戶的瀏覽器端創(chuàng)建唯一用戶ID,用戶訪問參與廣告聯(lián)盟加盟站點(diǎn)時(shí),通過Cookie攜帶用戶ID表明身份信息,用于計(jì)費(fèi)、用戶偏好刻畫等。表1為通過賬號(hào)jackcat111訪問www.cshn.net時(shí)抓取的Cookie數(shù)據(jù),表2為通過賬號(hào)jackcat訪問www.7k7k.com時(shí)抓取的數(shù)據(jù)。表中數(shù)據(jù)顯示,這兩次不同的網(wǎng)站訪問,BAIDUID卻是相同的。此處BAIDUID為百度廣告聯(lián)盟機(jī)制中追蹤訪客的用戶ID,該用戶ID存儲(chǔ)在Cookie中。上述的BAIDUID跟設(shè)備、瀏覽器相關(guān),并由這些因素決定,且在一定時(shí)間內(nèi)保持不變,而且唯一。從而,我們可以認(rèn)定賬號(hào)jackcat111和jackcat為關(guān)聯(lián)賬號(hào),進(jìn)而通過有效的關(guān)聯(lián)分析算法,將其他網(wǎng)絡(luò)虛擬信息串并起來,從另一視角刻畫網(wǎng)絡(luò)用戶。
圖1 廣告聯(lián)盟原理圖
表1 訪問csdn網(wǎng)站的Cookie數(shù)據(jù)表
續(xù)表1
表2 訪問7k7k游戲網(wǎng)站Cookie數(shù)據(jù)表
通過第1節(jié)的介紹,我們可以以廣告聯(lián)盟用戶ID為突破口,串并出關(guān)聯(lián)的虛擬身份,然后通過設(shè)定的關(guān)聯(lián)分析規(guī)則,歸整出身份屬性(虛擬賬號(hào)),并通過不斷的迭代更新,完善身份特征刻畫模型?;趶V告聯(lián)盟的虛擬身份畫像模型如圖2所示。該模型構(gòu)建過程分為兩個(gè)主要過程:關(guān)聯(lián)綁定、關(guān)聯(lián)分析。
圖2 基于廣告聯(lián)盟的虛擬身份畫像模型
2.1 關(guān)聯(lián)綁定
關(guān)聯(lián)綁定[4-5]即通過廣告聯(lián)盟用戶ID將無關(guān)聯(lián)的虛擬身份綁定為關(guān)聯(lián)虛擬身份;關(guān)聯(lián)綁定分為廣告聯(lián)盟內(nèi)虛擬身份關(guān)聯(lián)綁定、廣告聯(lián)盟間虛擬身份關(guān)聯(lián)綁定。
廣告聯(lián)盟內(nèi)虛擬身份關(guān)聯(lián)綁定規(guī)則為來自不同Cookie信息中的虛擬身份,若Cookie信息中的同一廣告聯(lián)盟用戶ID相同,則認(rèn)為這些虛擬身份為關(guān)聯(lián)虛擬身份,并稱為初始關(guān)聯(lián)組。圖3為一初始關(guān)聯(lián)組,是通過百度聯(lián)盟用戶ID(BAIDUID)9E304CC9357C1E000 9336A1EB49E0E86:FG=1進(jìn)行虛擬身份綁定的。
圖3 初始關(guān)聯(lián)組
廣告聯(lián)盟間虛擬身份綁定建立在廣告聯(lián)盟內(nèi)虛擬身份關(guān)聯(lián)綁定的基礎(chǔ)上,同一時(shí)間同一IP地址上抓取的cookie信息中包含不同廣告聯(lián)盟用戶ID,則可以將這些廣告聯(lián)盟用戶ID對(duì)應(yīng)的初始關(guān)聯(lián)組合并,形成合并關(guān)聯(lián)組。圖4為一合并關(guān)聯(lián)組,由于鳳凰博客網(wǎng)既使用百度聯(lián)盟,也使用了淘寶聯(lián)盟,通過鳳凰博客賬號(hào)jackman111訪問該網(wǎng)站,抓取的Cookie信息中既包含百度聯(lián)盟用戶ID,又包含淘寶聯(lián)盟用戶ID,從而可將這兩個(gè)用戶ID對(duì)應(yīng)的初始關(guān)聯(lián)組合并,進(jìn)而可知淘寶賬號(hào)Jackman與csdn賬號(hào)jackcat111為關(guān)聯(lián)賬號(hào)。經(jīng)過關(guān)聯(lián)綁定形成的組統(tǒng)稱為關(guān)聯(lián)組。
圖4 合并關(guān)聯(lián)組
2.2 關(guān)聯(lián)分析
通過2.1節(jié)的關(guān)聯(lián)綁定后,構(gòu)建了一張?zhí)摂M身份關(guān)系網(wǎng)大圖[6-7],該大圖可能包含重復(fù)的信息以及不準(zhǔn)確的信息,由此我們需要預(yù)設(shè)一些關(guān)聯(lián)分析規(guī)則,進(jìn)一步完善大圖信息,最后對(duì)虛擬身份畫像進(jìn)行特征描述。
通過第1節(jié)介紹我們知道,廣告聯(lián)盟用戶ID跟設(shè)備、瀏覽器相關(guān),并由這些因素決定;當(dāng)不同的用戶使用同一臺(tái)設(shè)備的相同瀏覽器時(shí),同一關(guān)聯(lián)組中將出現(xiàn)同一網(wǎng)站的不同賬號(hào)。如圖5所示,csdn網(wǎng)站的不同賬號(hào)Jackcat111與tina屬于同一關(guān)聯(lián)組,這種情況下,將無法確定開心網(wǎng)賬號(hào)547687927@qq.com與哪個(gè)csdn賬號(hào)關(guān)聯(lián)。另外同一用戶使用不同的設(shè)備或不同的瀏覽器訪問網(wǎng)站時(shí),這些用戶ID也會(huì)不同,這種情況可能出現(xiàn)某網(wǎng)站賬號(hào)(如csdn賬號(hào)tina)出現(xiàn)在不同的關(guān)聯(lián)組。如圖6所示。
圖5 出現(xiàn)同一網(wǎng)站不同賬號(hào)的關(guān)聯(lián)組示意圖
圖6 同一用戶不同賬號(hào)被分到不同的關(guān)聯(lián)組示意圖
為了解決上述問題,首先我們引入關(guān)聯(lián)度的定義。
定義1 關(guān)聯(lián)度不同虛擬賬號(hào)之間的緊密程度稱為關(guān)聯(lián)度。關(guān)聯(lián)度的取值范圍為[0,1]。不同虛擬賬號(hào)之間初始的關(guān)聯(lián)度為0;若兩個(gè)虛擬賬號(hào)關(guān)聯(lián)度為1,則表示這兩個(gè)虛擬賬號(hào)屬于同一用戶;關(guān)聯(lián)度為1時(shí),具有傳遞性;即若虛擬賬戶A與虛擬賬號(hào)B之間關(guān)聯(lián)度為1,虛擬賬戶A與虛擬賬號(hào)C之間關(guān)聯(lián)度為1,則虛擬賬號(hào)B與虛擬賬號(hào)C之間的關(guān)聯(lián)度也為1。
接下來,引入以下規(guī)則:
1) 初始設(shè)置關(guān)聯(lián)組內(nèi)的虛擬賬號(hào)之間的關(guān)聯(lián)度記為0.5。
2) 關(guān)聯(lián)組中同一時(shí)間同一IP獲取的虛擬賬號(hào)之間的關(guān)聯(lián)度記為1,所有相互之間關(guān)聯(lián)度為1的虛擬賬號(hào)組成不同用戶組。
3) 不同用戶組中,存在兩個(gè)及以上相同虛擬賬號(hào)的,判定為同一用戶組,并合并這些組。
反復(fù)運(yùn)用規(guī)則1)~ 3)對(duì)大圖進(jìn)更新,直到不滿足條件為止。至此可以得到用戶組群(虛擬賬號(hào)之間的關(guān)聯(lián)度為1)和剩下的關(guān)聯(lián)組群(虛擬賬號(hào)之間的關(guān)聯(lián)度為0.5)。用戶組群中每個(gè)用戶組內(nèi)不同虛擬身份我們可以認(rèn)定為同一畫像,從而構(gòu)建虛擬身份畫像原型[8-9](以下簡(jiǎn)稱原型)。
以下為關(guān)聯(lián)分析算法:
算法1 關(guān)聯(lián)分析算法
新建一個(gè)n*n關(guān)聯(lián)度矩陣A,初始值為0;這里矩陣A為上三角矩陣;
對(duì)于初始數(shù)據(jù)列表:
If 第k行與第m行的廣告聯(lián)盟類型與廣告聯(lián)盟值相同(0 對(duì)于所有A[k][m] = 0.5(0 If 初始數(shù)據(jù)列表中第k行與第m行的時(shí)間與IP相同,則 A[k][m] = 1; 對(duì)于所有的j,k,m (0 找出所有用戶組集合A1、A2、…、Ak,每個(gè)用戶組集合滿足: 1) 元素由序號(hào)組成,且大于0小于n; 2) 對(duì)于任意x,y屬于該集合,A[x][y]=1,(假設(shè)x 2.3 相似度計(jì)算 通過研究發(fā)現(xiàn),Cookie有一定的有效期,且可以被清空,這樣用戶ID將重新分配;或者用戶在不同的設(shè)備進(jìn)行上網(wǎng),這就出現(xiàn)同一個(gè)人將分配不同的用戶ID,這樣的我們也將構(gòu)建的多個(gè)虛擬身份畫像原型。另外,同一個(gè)人對(duì)用的用戶ID所關(guān)聯(lián)的虛擬身份可能不盡相同,為了使得構(gòu)建的原型的更加全面,計(jì)算上一節(jié)所構(gòu)建的原型之間的相似系數(shù),計(jì)算公式采用的是改進(jìn)的Jaccard相似系數(shù),如下所示: (1) 這里的X、Y表示為不同虛擬身份畫像原型。X={x1,x2,…,xn},由n個(gè)虛擬賬號(hào)組成,xi表示原型X第i個(gè)虛擬賬號(hào);Y={y1,y2,…,ym},由m個(gè)虛擬賬號(hào)組成,yk表示原型Y的第k個(gè)虛擬賬號(hào);當(dāng)X、Y之間的IM_Jaccard相似系數(shù)超過某閾值,我們認(rèn)定X、Y原型為同一原型,將X、Y原型合并,取X∪Y,組成新原型。 3.1 數(shù)據(jù)獲取 通過數(shù)據(jù)截取的方式獲取某局域網(wǎng)絡(luò)一段時(shí)間的全量數(shù)據(jù),且在該段時(shí)間內(nèi)不定期地使用不同計(jì)算機(jī)使用如表3所示的賬號(hào)登錄網(wǎng)絡(luò),所獲取的數(shù)據(jù)采用Redies方式存儲(chǔ),總的數(shù)據(jù)量大小為25.6 GB。 表3 測(cè)試賬號(hào) 3.2 數(shù)據(jù)預(yù)處理 首先,從redies數(shù)據(jù)抽取包含表4所示域名以及對(duì)應(yīng)用戶ID標(biāo)識(shí)的報(bào)文。對(duì)符合要求的報(bào)文,采用UTF-8的格式存儲(chǔ);處理后的數(shù)據(jù)形式如表5所示。 表4 數(shù)據(jù)抽取類型 表5 報(bào)文處理后的格式 然后,抽取Cookie中含有表6中字段標(biāo)識(shí)的報(bào)文。對(duì)于這些報(bào)文,按照時(shí)間、源IP、目的域名、目的網(wǎng)站、虛擬賬號(hào)、廣告聯(lián)盟類型、廣告聯(lián)盟值獲取相應(yīng)的數(shù)據(jù),并進(jìn)行相應(yīng)的數(shù)據(jù)格式轉(zhuǎn)換,如時(shí)間格式統(tǒng)一轉(zhuǎn)換為“yyyy-MM-dd HH:mm:ss”格式。 表6 不同網(wǎng)站虛擬賬號(hào)字段標(biāo)識(shí) 3.3 仿真實(shí)現(xiàn) 仿真實(shí)驗(yàn)在PC機(jī)上進(jìn)行,PC機(jī)的基本配置為:Intel Core i5 CPU,8 GB內(nèi)存,Windows 7 操作系統(tǒng);采用Python 2.7語言,使用PyCharm開發(fā)環(huán)境;采用MongoDB存儲(chǔ)數(shù)據(jù)。實(shí)驗(yàn)步驟如下: (1) 原型構(gòu)建 按照3.2的預(yù)處理方法,抽取相關(guān)的字段插入到MongoDB數(shù)據(jù)表中,共102 356條記錄。 根據(jù)3.2節(jié)的算法1實(shí)現(xiàn)原型的構(gòu)建,這里n取值為12 356。 構(gòu)建出5 356個(gè)原型,即5 356個(gè)虛擬賬號(hào)集合;每個(gè)集合的長(zhǎng)度不一,通過計(jì)算這些集合平均長(zhǎng)度為4.78;測(cè)試賬號(hào)分成3個(gè)原型,A={Jackcat,Jackman111, 2315424713, 2315424713@qq.com },B={Jackman111,Jackcat111,2315424713@qq.com, 13574101446},C={13574 101446 , 2315424713@ qq.com, 2315424713},平均長(zhǎng)度為3.67,少于實(shí)際長(zhǎng)度。 (2) 相似度計(jì)算 通過式(1),計(jì)算不同原型之間的相似度系數(shù),將不同IM_Jaccard相似系數(shù)大于設(shè)定的閾值原型合并。這里的閾值取值情況如表7所示。 表7 不同閾值下的原型情況表 由表7可知,隨著閾值不斷減小,原型數(shù)也不斷減小,原型平均長(zhǎng)度不斷增加;當(dāng)減小到一定值時(shí),這兩個(gè)值趨于穩(wěn)定,由此表明最后的1 897個(gè)為獨(dú)立的無冗余的原型;另外,測(cè)試賬號(hào)的最終原型為所有的測(cè)試虛擬賬號(hào),進(jìn)一步證明本文提出方法的有效性。這樣,我們可以認(rèn)定每個(gè)原型即代表網(wǎng)絡(luò)空間虛擬身份,其通過若干個(gè)虛擬身份刻畫該虛擬身份。 本文介紹了一種基于廣告聯(lián)盟機(jī)制的網(wǎng)絡(luò)空間身份畫像方法。該方法首先采用大數(shù)據(jù)預(yù)處理、清洗技術(shù),實(shí)現(xiàn)了從無關(guān)聯(lián)的http post數(shù)據(jù)提取網(wǎng)絡(luò)虛擬賬號(hào),并利用廣告聯(lián)盟用戶ID的唯一性將虛擬賬號(hào)進(jìn)行關(guān)聯(lián);然后通過虛擬賬號(hào)關(guān)聯(lián)分析算法,實(shí)現(xiàn)了虛擬身份畫像原型的構(gòu)建;最后采用改進(jìn)的Jaccard相似系數(shù)計(jì)算算法,將相似度高的原型合并,進(jìn)一步完善了畫像模型,實(shí)現(xiàn)了網(wǎng)絡(luò)空間虛擬身份的有效全面刻畫,為網(wǎng)絡(luò)安全管理工作提供有效的手段。 [1] 克利夫頓.流量的秘密[M].人民郵電出版社,2013. [2] Brad Geddes.Advanced Google AdWords[M].3rd ed.Avinash Kaushik,2014. [3] 李國(guó)杰,程學(xué)旗.大數(shù)據(jù)研究:未來科技及經(jīng)濟(jì)社會(huì)發(fā)展的重大戰(zhàn)略領(lǐng)——大數(shù)據(jù)的研究現(xiàn)狀與科學(xué)思考[J].中國(guó)科學(xué)院院刊,2012,27(6):647-657. [4] 劉中淼,王宇翔,陶小龍,等.一種面向安全領(lǐng)域的身份識(shí)別與關(guān)聯(lián)方法[J].軟件導(dǎo)刊,2016,15(2):170-174. [5] Li L,Zhang M.The Strategy of Mining Association Rule Based on Cloud Computing[C]//International Conference on Business Computing and Global Informatization.IEEE Computer Society,2011:475-478. [6] 賀瑤,王文慶,薛飛.基于云計(jì)算的海量數(shù)據(jù)挖掘研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013,23(2):69-72. [7] Dean J,Ghemawat S.MapReduce:Simplified Data Processing on Large Clusters[C]//Conference on Symposium on Opearting Systems Design & Implementation,2004:107-113. [8] 劉嶠,李楊,段宏,等.知識(shí)圖譜構(gòu)建技術(shù)綜述[J].計(jì)算機(jī)研究與發(fā)展,2016,53(3):582-600. [9] 杜亞軍,陳曉亮,范永全,等.微博知識(shí)圖譜構(gòu)建方法研究[J].西華大學(xué)學(xué)報(bào)自然科學(xué)版,2015(1):27-35. [10] Wang Yuanzhuo,Jia Yantao,Liu Dawei,et al.Open Web knowledge aided information search and data mining[J].Journal of Computer Research and Development,2014,52(2):456-474 (in Chinese). [11] Zhao Jun,Liu kang,Zhou Guangyou,et al.Open information extraction[J].Journal of Chinese Information Processing,2011,25(6):98-110(in Chinese). [12] Guo Jianyi,Li Zhen,Yu Zhengtao,et al.Extraction and relation prediction of domain ontology concept instance,atribute and atribute[J].Journal of Nanjing University:Natural Sciences,2012,48(4):383-389 (in Chinese). RESEARCH ON VIRTUAL IDENTITY PORTRAIT METHOD BASED ON ADVERTISEMENT ALLIANCE Peng Ruxiang Yang Tao Kong Huafeng Wang Yongjian (ThirdResearchInstituteofMinistryofPublicSecurity,Shanghai201204,China) (KeyLabofInformationNetworkSecurity,Shanghai201204,China) At present, the network virtual account is too numerous, most accounts do not need real-name authentication can be used. This is not conducive to the safety of network space maintenance and supervision. Aiming at this situation, this paper presents a network space identity portrait method with virtual account as attribute. The method first uses the big data preprocessing technique to extract the network virtual account from unrelated http post data; then, based on the mechanism of advertising alliance, this paper uses the cookie ID of the page tag technology to store the user unique ID, and the virtual identity is correlated with the binding analysis and then the virtual identity prototype is constructed; finally, the portrait of similar prototype is completed by the similarity calculation. The experimental results show that the method can effectively depict the identity of network space. Advertisement alliance Portraits of virtual identity Data mining Similarity computation 2016-06-27。廣州市科技計(jì)劃項(xiàng)目(2014Y2-00022)。彭如香,助理研究員,主研領(lǐng)域:信息安全,數(shù)據(jù)挖掘。楊濤,副研究員。孔華鋒,研究員。王永劍,副研究員。 TP301.6 A 10.3969/j.issn.1000-386x.2017.06.0183 虛擬身份畫像方法實(shí)現(xiàn)與分析
4 結(jié) 語