朱子涵,陳霖
(中國移動湖南公司信息安全管理部,湖南長沙410001)
基于SPARK平臺的釣魚網(wǎng)站識別技術(shù)研究
朱子涵,陳霖
(中國移動湖南公司信息安全管理部,湖南長沙410001)
目前網(wǎng)絡(luò)消費變得越來越頻繁,但釣魚網(wǎng)站給網(wǎng)上交易平臺及相關(guān)用戶帶來較重的經(jīng)濟損失,如何有效甄別釣魚網(wǎng)站,減少用戶損失,顯得尤為重要。文章通過URL特征、網(wǎng)頁內(nèi)容、網(wǎng)頁圖片特征等屬性來描述網(wǎng)頁,根據(jù)釣魚網(wǎng)頁不同類型,針對各個特征屬性,構(gòu)建不同的分類器,然后通過逐步判別方式,達到動態(tài)預(yù)測各待檢測網(wǎng)頁的目的。工具上,針對處理大數(shù)據(jù)集,利用SPARK平臺計算結(jié)果,通過實驗測試,取得了良好的分類效果。
釣魚網(wǎng)站;逐步動態(tài)分類;SPARK平臺
釣魚網(wǎng)站常指通過冒充銀行和電商等機構(gòu),利用欺騙性垃圾郵件、虛假廣告等手段,竊取用戶個人賬戶和密碼等私密信息的網(wǎng)站。近年來,通過仿冒真實網(wǎng)站的URL地址及其頁面內(nèi)容的“釣魚網(wǎng)站”已威脅到用戶的隱私和財產(chǎn)安全。這不僅給用戶造成了損失,也給企業(yè)形象造成了負(fù)面影響。
目前關(guān)于釣魚網(wǎng)站的研究很多,研究方法大體上可以分為四類:
1)基于黑名單的檢測。此方法雖然精確度高,但只能檢測到包含在名單里的網(wǎng)站,而釣魚網(wǎng)站在線時間普遍較短,平均大概只有4天,因此,黑名單方法實時性不強,且更新黑名單耗時耗力,應(yīng)用范圍有限。
2)基于圖像相似性的檢測。此方法將釣魚網(wǎng)站的檢測轉(zhuǎn)化為圖像匹配問題,主要通過區(qū)別網(wǎng)頁中的關(guān)鍵點,利用感知哈希方法等計算網(wǎng)頁間的相似性,達到檢測的目的。但隨著技術(shù)的發(fā)展,釣魚網(wǎng)站與正規(guī)網(wǎng)站相比,越來越逼真,利用圖像相似性的方法檢測準(zhǔn)確率降低。
3)基于URL和網(wǎng)站內(nèi)容特征的檢測。通常URL特征屬性包括IP地址、hosts、特殊符號如”@”等,網(wǎng)站內(nèi)容特征有標(biāo)題(title)、關(guān)鍵詞(keywords)等。此方法是常用的釣魚網(wǎng)站檢測方法,但具體實施時,選擇哪些特征屬性作為分類依據(jù),針對不同類型的釣魚網(wǎng)站,需要具體考慮。
4)基于搜索引擎的檢測。此方法依據(jù)的主要原理是利用正規(guī)網(wǎng)站的URL搜索能夠得到大量排名靠前的網(wǎng)站,而用釣魚網(wǎng)站的URL搜索得到的網(wǎng)站沒有排名或者排名很靠后。
各類方法各有優(yōu)缺點,本文基于以上各研究類型,針對種類繁多的釣魚網(wǎng)站,提出了逐步構(gòu)建基于URL特征、網(wǎng)頁文本內(nèi)容、網(wǎng)頁圖片的單個分類器,依次檢測出對應(yīng)特征明顯的釣魚網(wǎng)站,最后達到檢測出所有釣魚網(wǎng)站的目的。
1.1 網(wǎng)頁特征分析
1)URL特征
釣魚網(wǎng)站為了吸引用戶瀏覽,往往通過模仿URL地址達到目的,尤其是模仿域名用以迷惑用戶。因此,可以選取網(wǎng)站域名,作為檢測網(wǎng)站的特征,采集數(shù)據(jù)時通過目標(biāo)網(wǎng)站與釣魚網(wǎng)站的URL獲得相應(yīng)的域名,計算兩域名的編輯距離。
2)網(wǎng)頁內(nèi)容特征
釣魚網(wǎng)站另一個手段就是網(wǎng)站內(nèi)容盡量和目標(biāo)網(wǎng)站一致,因此,可以通過網(wǎng)站文本內(nèi)容的相似性度量評價網(wǎng)站是否為釣魚網(wǎng)站。整理數(shù)據(jù)時爬取目標(biāo)網(wǎng)站與待測網(wǎng)站文本內(nèi)容,通過simhash算法,轉(zhuǎn)變?yōu)楣V?,計算兩網(wǎng)站海明距離。
3)網(wǎng)頁圖片特征
對于釣魚網(wǎng)頁,通常包含的圖片與目標(biāo)網(wǎng)站都基本一致,因此,可以爬取其包含的所有圖片,利用感知哈希算法,計算得到網(wǎng)頁的指紋集,作為評價特征。
假定目標(biāo)網(wǎng)站G有n張圖片,指紋集為:
待測網(wǎng)站H有m張圖片,對應(yīng)指紋集為:
設(shè)距離函數(shù)為:
則兩個網(wǎng)站的相似性度量為:
由于各待測網(wǎng)站圖片數(shù)量不同,為統(tǒng)一度量,取相似性度量的平均值,即:
1.2 釣魚網(wǎng)站識別過程
本文首先通過計算PageRank值,剔除部分排名靠前的網(wǎng)站,然后從URL特征、網(wǎng)頁文本內(nèi)容、網(wǎng)頁圖片特征三個方面識別可疑網(wǎng)站,具體識別步驟如下:
1)計算待檢測網(wǎng)站PageRank值,排名靠前的剔除,剩下的網(wǎng)站進入下一步;
2)計算待檢測網(wǎng)站與目標(biāo)網(wǎng)站的域名編輯距離,篩選出一部分釣魚網(wǎng)站,余下數(shù)據(jù)進入下一步;
3)利用SimHash算法計算待測網(wǎng)站和目標(biāo)網(wǎng)站文本內(nèi)容的海明距離,較小的為可疑網(wǎng)站,再一次篩選網(wǎng)站,剩下數(shù)據(jù)進入下一步;
4)利用感知哈希算法計算待檢測網(wǎng)站和目標(biāo)網(wǎng)站圖片特征的海明距離,越小的越相似,為可疑網(wǎng)站;
5)綜合集成上面結(jié)果,判定篩選出最終的釣魚網(wǎng)站結(jié)果。
2.1 PageRank算法
PageRank根據(jù)網(wǎng)站的外部鏈接和內(nèi)部鏈接的數(shù)量和質(zhì)量來衡量網(wǎng)站的價值,核心思想為:
1)如果一個網(wǎng)頁被很多其他網(wǎng)頁鏈接到,pagerank值相對較高;
2)如果一個pagerank值很高的網(wǎng)頁鏈接到一個其他的網(wǎng)頁,被鏈接的網(wǎng)頁pagerank值相應(yīng)的被提高。計算公式如下:
kjout是節(jié)點k的出度,即節(jié)點k指向的節(jié)點數(shù)目。常數(shù)c為隨機跳轉(zhuǎn)概率,保證沒有被指向的節(jié)點同樣有值。
2.2 最小編輯距離算法
編輯距離是測量一個字符串轉(zhuǎn)換成另外一個字符串需要操作(插入、刪除、置換)的最小次數(shù)。許可的編輯操作包括將一個字符替換成另一個字符,插入一個字符,刪除一個字符。本算法中,編輯距離越小,兩個字符串的相似度越大。計算公式如下:
其中,對于字符串s1與s2,d[i-1,j]表示s2改變一個字母,d[i,j-1]表示s1改變一個字母,xi表示s1中的第i個字母,yj表示s2中的第j個字母。
通過上述計算公式,可通過對釣魚網(wǎng)站的URL關(guān)鍵字符進行編輯距離計算,得出相似度閾值。
2.3 Sim Hash算法
Simhash算法的主要思想是降維,將高維的特征向量映射成一個低維的特征向量,通過兩個向量的Hamming距離來確定待測網(wǎng)站內(nèi)容是否重復(fù)或者高度近似。算法見圖1,具體步驟如下:
圖1 SimHash算法過程圖
1)對于給定的一段語句,進行分詞,得到有效的特征向量;
2)為每一個特征向量設(shè)置一個權(quán)值,權(quán)值根據(jù)tfidf公式得到;
3)對每一個特征向量計算hash值,為0、1組成的n-bit簽名;
4)所有特征向量進行加權(quán)(1則為正,0則為負(fù)),進行累加;
5)對于n-bit簽名的累加結(jié)果,如果>0置1,否則置0;
6)得到該語句的simhash值;
7)根據(jù)不同語句simhash的海明距離就來判斷相似程度。
SimHash中為每一個抓取到的網(wǎng)頁內(nèi)容通過hash的方式生成一個指紋(fingerprint),目的是為了讓整個分布盡可能地均勻,輸入內(nèi)容哪怕只有輕微變化,hash就會發(fā)生很大地變化。采用的哈希函數(shù)中,需要對幾乎相同的輸入內(nèi)容,產(chǎn)生相同或者相近的hashcode,即hashcode的相似程度要能直接反映輸入內(nèi)容的相似程度。
2.4 海明距離
對于二進制字符串的a和b,海明距離等于在a XOR b運算結(jié)果中1的個數(shù),比如1011101 XOR 1001001為0010100,運算結(jié)果里有兩個1,海明距離就是2。本文用的海明距離都是二進制編碼海明距離。
2.5 TF-IDF算法
TF-IDF是一種統(tǒng)計方法,用以評估一字詞對于一個文件集或一個語料庫中的其中一份文件的重要程度,本文主要表示對應(yīng)文本特征的權(quán)重。計算公式如下:
其中:
ni,j是詞ti在文件dj中的出現(xiàn)次數(shù),則是文件dj中所有詞的出現(xiàn)次數(shù)之和,|D|為語料庫中文件總數(shù),為包含詞ti的文件數(shù)目。
2.6 感知哈希算法
感知哈希算法的實現(xiàn)方式很多,本文具體實現(xiàn)方式如下:
1)將圖片縮小到8*8的尺寸,共64個像素,其作用是摒棄不同尺寸、比例帶來的圖片差異;
2)將縮小后的圖片,轉(zhuǎn)為64級灰度,即所有像素點只有64種顏色;
3)計算所有64個像素的灰度平均值;
4)將每個像素的灰度,與平均值比較,大于或等于平均值的記為1,小于平均值的記為0;
5)將上一步的比較結(jié)果組合在一起,就構(gòu)成了一個64位的字符串,得到圖片的指紋;
6)計算該圖片與目標(biāo)圖片指紋的海明距離。如果海明距離小于一定閾值,就表明兩張圖片相似度很大,否則,相似度很小。
2.7 逐步動態(tài)分類
檢測釣魚網(wǎng)站的方法手段很多,但釣魚網(wǎng)站的類型也很多,有模仿URL域名的,有主要模仿內(nèi)容的等。因此,用單一的檢測手段很難有效地檢測種類繁多的釣魚網(wǎng)站。鑒于此類現(xiàn)狀,可以根據(jù)不同特征,采用不同檢測方法,逐步篩選出釣魚網(wǎng)站。主要原理就是在每一步過程中,保持低誤判率,逐步降低漏判率,最終檢測出各類型的釣魚網(wǎng)站,詳細(xì)過程見圖2。
圖2 逐步分類過程圖
Hadoop是一個開源的可運行于大規(guī)模集群上的分布式并行編程框架,其最核心的設(shè)計包括:MapReduce和HDFS?;贖adoop,可以輕松地編寫可處理海量數(shù)據(jù)的分布式并行程序,并將其運行于由成百上千個結(jié)點組成的大規(guī)模計算機集群上。Spark相比于Mapreduce有其優(yōu)勢,主要表現(xiàn)為MapReduce通常將中間結(jié)果放到HDFS上,Spark是基于內(nèi)存并行大數(shù)據(jù)框架,中間結(jié)果存放到內(nèi)存,對于迭代數(shù)據(jù)Spark效率高;MapReduce總是消耗大量時間排序,而有些場景不需要排序,Spark可以避免不必要的排序所帶來的開銷等,針對這些特點,本文主要利用spark計算。具體實現(xiàn)框架如圖3:
圖3 實驗框架圖
獲取用戶上網(wǎng)日志數(shù)據(jù),結(jié)合爬蟲集群,以海量的頁面數(shù)據(jù)作為數(shù)據(jù)源;在數(shù)據(jù)存儲上采用經(jīng)典的分布式存儲系統(tǒng)HDFS與NOSQL類分布式數(shù)據(jù)庫(例如:MongoDB)相結(jié)合的方式;在計算層上則采用目前熱門的Spark計算框架,在Spark上實現(xiàn)關(guān)鍵的釣魚網(wǎng)站甄別算法。
實驗使用數(shù)據(jù)以用戶上網(wǎng)日志數(shù)據(jù)和分布式爬蟲獲得的頁面數(shù)據(jù)為主,通過逐步篩選方法,得到了最終實驗結(jié)果,驗證了這種方法的有效性和可行性。
4.1 實驗評估方法
模型好壞一般利用混淆矩陣(表1)中的數(shù)據(jù)計算準(zhǔn)確率、覆蓋率等評估模型,本次試驗中用到的評估參數(shù)有正類準(zhǔn)確率(PR)、正類覆蓋率(PA),計算公式如下:
其中,TP表示本來為正類預(yù)測也為正類的個數(shù),F(xiàn)P表示本來為負(fù)類預(yù)測為正類的個數(shù),F(xiàn)N表示本來為正類預(yù)測為負(fù)類的個數(shù),TN表示本來為負(fù)類預(yù)測為負(fù)類的個數(shù)。PA表示分類器的敏感程度,PR表示分類器的正類準(zhǔn)確度。如表1所示。
表1 混淆矩陣表
由于本次實驗中通過逐步篩選,每一次檢測都會得到混淆矩陣,因此,最終的混淆矩陣是前幾步得到的混淆矩陣對應(yīng)值之和。假定每一步得到的對應(yīng)值為TPi、FNi、FPi、TNi,則評價最終結(jié)果的(13)-(14)式可寫為:
4.2 各步檢測結(jié)果比較
試驗中從正規(guī)網(wǎng)站和釣魚網(wǎng)站中隨機抽取100000條記錄作為樣本集,做十次獨立試驗,取十次實驗得到的結(jié)果,根據(jù)公式(13)-(14)得到各步之間的結(jié)果比較,如圖4與圖5所示。
圖4 各實驗正類覆蓋率對比圖
圖5 各實驗準(zhǔn)確率對比圖
從圖4中可以看出各步實驗結(jié)果的正類覆蓋率,其中PA-1表示通過URL特征檢測得到的正類覆蓋率,PA-2表示通過網(wǎng)站內(nèi)容檢測得到的正類覆蓋率,PA-3表示通過網(wǎng)頁圖片得到的正類覆蓋率,PA-T表示最終檢測結(jié)果的正類覆蓋率,圖像表示單獨用網(wǎng)頁圖片特征檢測網(wǎng)站得到的正類覆蓋率。通過比較,PA-1最低,說明釣魚網(wǎng)站中通過URL域名模仿正規(guī)網(wǎng)站的比例不高,單純從URL特征檢測釣魚網(wǎng)站效果不大好,而通過網(wǎng)頁內(nèi)容檢測網(wǎng)站,召回率達到了近90%,這也符合釣魚網(wǎng)站模仿正規(guī)網(wǎng)站內(nèi)容,欺騙用戶的事實,同時說明網(wǎng)頁內(nèi)容是用來檢測釣魚網(wǎng)站的主要特征,圖片也屬于網(wǎng)頁內(nèi)容,但最后一步檢測正類覆蓋率較低,可能的原因是通過前兩步檢測,剔除了大部分的釣魚網(wǎng)站,剩下的不僅在內(nèi)容和URL上模仿的不好,圖片做的也比較粗糙,但總的結(jié)果表明這只是一少部分。為了說明圖片為特征的檢測效果,以同樣的樣本單獨做檢測,正類覆蓋率平均值約為65%,比以文本內(nèi)容為特征的檢測效果要差,說明一部分釣魚網(wǎng)站在制作上不是足夠精細(xì),只是為了快速達到欺騙用戶的目的。通過累計前幾步的結(jié)果,最終得到結(jié)果的正類覆蓋率PA-T平均為94.7%,檢測效果良好。
通過圖5可以看到,各檢測方法的正類準(zhǔn)確率比較高,說明各分類器效果較好。還可以看到通過文本內(nèi)容檢測的正類準(zhǔn)確率比總結(jié)果的正類準(zhǔn)確率還高,結(jié)合圖4可知,這是增加了圖片檢測,通過適當(dāng)降低正類正確率,提高召回率,得到更好的檢測效果。
4.3 與其他檢測方法比較
為了說明檢測效果,試驗中做了與樸素貝葉斯檢測結(jié)果的對比,如圖6所示,通過同一樣本,各做十次實驗,逐步檢測結(jié)果正類覆蓋率在92-95%之間,樸素貝葉斯分類結(jié)果的正類覆蓋率在87-93%之間,說明本文提出的逐步分類檢測效果更好,且更穩(wěn)定。
圖6 與樸素貝葉斯檢測結(jié)果比較圖
本文提出逐步檢測釣魚網(wǎng)站的方法,基于URL特征、網(wǎng)站文本內(nèi)容和網(wǎng)站圖片特征,通過編輯距離、SimHash、圖片感知哈希等算法,逐步檢測網(wǎng)站,最終達到分類的目的。本次實驗基于spark平臺,實驗結(jié)果表明,逐步檢測效果良好,并比傳統(tǒng)的樸素貝葉斯分類效果要好。下一步繼續(xù)總結(jié)釣魚網(wǎng)站特征,更全面地分析檢測因素,改進各步檢測算法,提高檢測釣魚網(wǎng)站效率。
[1]顧曉清,王洪元,倪彤光,丁輝.基于貝葉斯和支持向量機的釣魚網(wǎng)站檢測方法[J].計算機工程與應(yīng)用,2015(4):87-90.
[2]Pan Y,Ding X.Anomaly Based Web Phishing Page Detection [J].Acsac,2006:381-392.
[3]Anti-PhishingWorking Group.Phishing activity trends report [EB/OL].http://antiphishing.org/APWG_Report_March_2007. pdf,2007.
[4]Chen T-C,Dick S,Miller J.Detecting visually similar Web pages:Application tophishingdetection[J].ACM Transactionson InternetTechnology(TOIT),2010(2):5.
[5]Chen K-T,Chen J-Y,Huang C-R,et al.Fighting phishing with discriminative keypoint features[J].Internet Computing, IRRR,2009(3):56-63.
[6]盧康,周安民.基于圖像相似性的釣魚網(wǎng)站檢測[J].信息安全與通信保密,2016(3):115-117.
Research on phishing site identification technology based on SPARK p latform
ZHU Zi-han,CHEN Lin
(Information SecurityManagementDepartment,ChinaMobileGroup Hunan Co.,Ltd,Changsha, Hunan,China410001)
Network consumption is becomingmore andmore frequent,but the phishingwebsites have caused serious economic loss for the online trading platform and related users.So how to effectively identify phishing sites and reduce the loss of users is becoming more and more important.This paper describes the webpages through such attributes as the URL features,web content,web images features.According to the different types and attributes of phishing webpages,different classifiers are built and then through stepwise discriminantmethod to achieve the purpose of dynamic forecast for thewebpages to be tested.For dealingwith large datasets,SPARK platform isused to calculate the resultsand through the experimental test,good classification resultsare achieved.
phishingwebsite;step-by-step dynamic classification;SPARK Platform
10.3969/j.issn.2095-7661.2017.02.009】
TP393.08
A
2095-7661(2017)02-0030-05
2016-11-16
朱子涵(1989-),男,湖南慈利人,中國移動通信集團湖南有限公司信息安全管理部,北京郵電大學(xué)軟件學(xué)院學(xué)士,研究方向:信息安全。