沙泓州,周舟,劉慶云,秦鵬
(1. 北京郵電大學(xué) 計(jì)算機(jī)學(xué)院,北京 100876;2. 中國科學(xué)院 信息工程研究所,北京 100093;3. 信息內(nèi)容安全技術(shù)國家工程實(shí)驗(yàn)室,北京 100093)
作為一個(gè)開放式的共享平臺(tái),互聯(lián)網(wǎng)在為人們提供便利的同時(shí)也為一些不法分子收集個(gè)人隱私信息、組織犯罪活動(dòng)創(chuàng)造了新的機(jī)會(huì)。在一些已知的網(wǎng)絡(luò)犯罪活動(dòng)中,包含惡意代碼[1]和網(wǎng)上誘騙[2]的網(wǎng)頁 (即惡意網(wǎng)頁[3],包括釣魚網(wǎng)站、網(wǎng)頁木馬、色情網(wǎng)站等)常常扮演著十分重要的角色??ò退够慕y(tǒng)計(jì)數(shù)據(jù)顯示[4],惡意網(wǎng)頁在 87.36%的網(wǎng)絡(luò)攻擊行為中出現(xiàn)并發(fā)揮作用。這類網(wǎng)頁或者在用戶不知情的情況下將惡意代碼自動(dòng)安裝到用戶的計(jì)算機(jī)中,或者協(xié)助不法分子冒充他人騙取用戶個(gè)人信息及其他敏感信息。Google[5]的統(tǒng)計(jì)數(shù)據(jù)表明,平均每天攔截新的惡意網(wǎng)頁數(shù)高達(dá)9 500個(gè)。這些惡意網(wǎng)頁的存在,對Web的安全應(yīng)用構(gòu)成極大的威脅。
為了保護(hù)用戶的計(jì)算機(jī)免受惡意網(wǎng)站攻擊,一些主流瀏覽器(例如,IE瀏覽器的SmartScreen篩選器[6]及谷歌瀏覽器的safebrowsing[7]等)往往采用內(nèi)置惡意網(wǎng)址列表的方法為用戶提供安全服務(wù)。具體方法為:瀏覽器首先通過自動(dòng)檢測和人工舉報(bào)的方式獲得一份類似黑名單的惡意網(wǎng)址列表;然后,在用戶瀏覽某個(gè)網(wǎng)頁前,瀏覽器通過掃描內(nèi)置的惡意網(wǎng)址列表來判斷該網(wǎng)頁的URL(uniform resource locator)是否為惡意網(wǎng)頁,如果確定為惡意網(wǎng)頁后,瀏覽器將向用戶發(fā)出警告,以提示用戶防止惡意代碼和網(wǎng)上誘騙的攻擊。這類安全服務(wù)的原理簡單且易于實(shí)現(xiàn),因此在工業(yè)界被廣泛應(yīng)用。然而,隨著互聯(lián)網(wǎng)的發(fā)展和網(wǎng)絡(luò)攻擊方式的層出不窮,這種方法逐漸面臨一些新的挑戰(zhàn)。
1) 大規(guī)模的網(wǎng)絡(luò)數(shù)據(jù)環(huán)境。作為一個(gè)開放式的共享平臺(tái),互聯(lián)網(wǎng)不斷發(fā)展,網(wǎng)頁規(guī)模不斷擴(kuò)大,新的網(wǎng)頁不斷涌現(xiàn)。由于第三方專業(yè)服務(wù)機(jī)構(gòu)提供的惡意網(wǎng)址列表的更新速度遠(yuǎn)遠(yuǎn)跟不上惡意網(wǎng)頁的更新速度,容易出現(xiàn)惡意網(wǎng)頁漏判的情況。
2) 網(wǎng)頁隱匿技術(shù)的使用。隨著傳統(tǒng)方法的廣泛應(yīng)用,很多攻擊者開始尋找并逐步使用網(wǎng)頁隱匿技術(shù)[8]來躲避檢查。例如,一些惡意站點(diǎn)通過偽裝網(wǎng)頁內(nèi)容來逃避啟發(fā)式爬蟲的自動(dòng)檢測,以避免被加入惡意網(wǎng)址列表,進(jìn)而常常導(dǎo)致網(wǎng)頁錯(cuò)判的情況。因此,隨著惡意網(wǎng)頁隱藏技術(shù)的逐步應(yīng)用,發(fā)現(xiàn)新惡意網(wǎng)頁的難度也在逐步加大。
3) 不均衡的數(shù)據(jù)集特點(diǎn)。少量惡意網(wǎng)頁往往淹沒在海量的正常網(wǎng)頁中。例如,Google每天檢查數(shù)億的URL只能發(fā)現(xiàn)約9 500個(gè)不安全的站點(diǎn)[7],大部分網(wǎng)頁的分析價(jià)值低,并且檢測需要消耗時(shí)間長。同時(shí),由于自動(dòng)分析和人工報(bào)告需要消耗大量的計(jì)算資源,如果對每個(gè)網(wǎng)頁都進(jìn)行分析,資源利用率將十分低。
因此,如何設(shè)計(jì)一套自動(dòng)化的工具快速準(zhǔn)確地將新出現(xiàn)的惡意網(wǎng)站及其 URL和其他大量正常網(wǎng)頁區(qū)分開來成為一個(gè)迫切需要解決的問題。
針對此問題,本文提出了一種基于訪問關(guān)系的URL分類方法 SLW (self-learning light-weight approach)。SLW方法首次將存儲(chǔ)在訪問日志中的訪問關(guān)系引入網(wǎng)頁信譽(yù)評價(jià)問題中,以彌補(bǔ)惡意網(wǎng)頁漏判和錯(cuò)判可能產(chǎn)生的不良影響。從文獻(xiàn)[8]實(shí)驗(yàn)中觀察到的現(xiàn)象可知,對頻繁訪問惡意網(wǎng)站的用戶而言,他們對其他網(wǎng)站的訪問交集也是可疑的。因此,通過引入訪問關(guān)系的概念,可以有效地發(fā)現(xiàn)潛在的惡意網(wǎng)頁。實(shí)驗(yàn)結(jié)果表明,在訪問關(guān)系的基礎(chǔ)上,SLW 結(jié)合黑名單的方法來區(qū)別不同的 URL,具有如下優(yōu)點(diǎn)。
1) 自學(xué)習(xí)。和傳統(tǒng)的基于黑名單的方法不同,系統(tǒng)可以通過用戶對黑名單列表的訪問記錄確定哪些用戶的可信度較低。然后,系統(tǒng)將利用低可信度用戶的訪問交集發(fā)現(xiàn)可疑 URL集合。最后,對所有可疑 URL進(jìn)行逐一分析和檢查,判斷其是否屬于惡意網(wǎng)址集合。如果是惡意網(wǎng)址,則將其添加到黑名單中,以保證黑名單的完整性和可用性,進(jìn)而可找到新的低可信度用戶。通過這一途徑,SLW方法可以適應(yīng)于用戶訪問行為的變化以及惡意網(wǎng)頁的更新。
2) 輕量級。在Bando等[9,10]工作中,常常需要抓取和檢查大量的網(wǎng)頁或URL。但這些動(dòng)作通常消耗大量的計(jì)算資源,其中絕大多數(shù)資源被浪費(fèi)在良性URL的排查上。SLW通過保存訪問關(guān)系限制了URL檢查范圍,從而節(jié)省了大量的計(jì)算資源和時(shí)間開銷。
本文通過抓取高校網(wǎng)關(guān)中的訪問日志來驗(yàn)證這一方法。實(shí)驗(yàn)結(jié)果表明,和傳統(tǒng)網(wǎng)頁分類方法相比,SLW方法能夠有效提升檢測中惡意網(wǎng)頁所占比例(從 1.09%提升至 1.38%~1.94%)和識(shí)別效率(惡意網(wǎng)頁檢測所需的平均時(shí)間降低6.36%~33.89%),以便快速有效地識(shí)別惡意網(wǎng)頁。
針對惡意網(wǎng)頁分類問題,國內(nèi)外學(xué)者進(jìn)行了廣泛的研究,如基于黑名單的方法[3,11]、基于深度包檢測的方法[12]和基于機(jī)器學(xué)習(xí)的方法[13,14]等。
基于黑名單的方法相對比較簡單,易于實(shí)現(xiàn)。它首先對惡意 URL進(jìn)行標(biāo)注,然后利用字符串匹配等技術(shù)實(shí)現(xiàn)惡意URL的識(shí)別。而惡意URL標(biāo)注可以通過人工標(biāo)注和自動(dòng)標(biāo)注[11]的方法完成。人工標(biāo)注比較準(zhǔn)確,但需要標(biāo)注人員有專業(yè)的領(lǐng)域知識(shí),并且耗時(shí)較長,只適合低速、小規(guī)模的網(wǎng)絡(luò)環(huán)境。而自動(dòng)標(biāo)注多利用啟發(fā)式的網(wǎng)絡(luò)爬蟲技術(shù)[11]進(jìn)行標(biāo)注,此類標(biāo)注方法易于實(shí)現(xiàn),可以進(jìn)行并行化處理,但不夠準(zhǔn)確。這主要是因?yàn)楹芏鄲阂饩W(wǎng)頁或者使用隱藏技術(shù)逃避檢測;或者特征不夠明顯,出現(xiàn)標(biāo)注錯(cuò)誤的情況。
為了解決基于黑名單方法存在的網(wǎng)站漏判問題,Pak等[12]提出基于內(nèi)容檢測的分類方法。相比基于黑名單的方法,這類方法更加準(zhǔn)確,能夠發(fā)現(xiàn)更多的惡意網(wǎng)頁,且易于并行化處理。但在執(zhí)行內(nèi)容檢測時(shí),由于分析處理的網(wǎng)頁內(nèi)容較多,數(shù)據(jù)格式復(fù)雜,實(shí)踐這一方法需要消耗很多計(jì)算資源和時(shí)間。此外,自動(dòng)化分析依賴于一套由具體領(lǐng)域的專業(yè)知識(shí)轉(zhuǎn)換成的識(shí)別規(guī)則。這些領(lǐng)域知識(shí)的主觀程度高,獲取困難。
為了降低計(jì)算資源的消耗和減少對領(lǐng)域知識(shí)的依賴,Ma等[11]以 URL詞匯特征和主機(jī)特征為基礎(chǔ)建立統(tǒng)一的分類模型(例如,SVM模型[15]等),進(jìn)而根據(jù)已有標(biāo)注集合識(shí)別惡意URL。此類方法通過選取有代表性的語法特征進(jìn)行判斷,并不依賴特定領(lǐng)域的專業(yè)知識(shí),分類速度快,資源占用少,是目前主流的 URL分類方法。但它分類的準(zhǔn)確性主要依賴于樣本集的選取,并且部分主機(jī)特征受網(wǎng)絡(luò)延遲影響較大。
上述方法從不同層面對 URL分類問題進(jìn)行了分析。在前人的研究基礎(chǔ)[16~19]上,本文提出一種新的URL分類方法SLW。該方法通過混合使用網(wǎng)頁黑名單以及“用戶—網(wǎng)站”間的訪問關(guān)系,實(shí)現(xiàn)了網(wǎng)頁的輕量級分類,并且有效提高黑名單的可擴(kuò)展性,使其能夠應(yīng)用于動(dòng)態(tài)網(wǎng)絡(luò)環(huán)境中。與人工報(bào)告和啟發(fā)式爬蟲相比,SLW提供了一種更好的動(dòng)態(tài)黑名單的產(chǎn)生方法。一方面,它通過使用訪問關(guān)系,限制了惡意 URL的檢查范圍,避免了對訪問流中所有未知URL(規(guī)模過億)的詳細(xì)檢查。另一方面,和人工報(bào)告相比,它需要更少的人為干預(yù)。
根據(jù)本文的應(yīng)用環(huán)境,對一些文中即將用到的概念定義如下。
定義 1訪問集合是指訪問者所訪問的所有網(wǎng)頁資源所構(gòu)成的集合,它包含了訪問者訪問過的所有網(wǎng)頁資源。如圖 1所示,訪問者A的訪問集合UA={p1,p2}。
定義2訪問交集是指2個(gè)或多個(gè)訪問集合的交集。一般地,對于給定的2個(gè)訪問集合A和B的交集,是指含有所有既屬于A又屬于B的元素,而沒有其他元素的訪問集合。
定義 3訪問關(guān)系是一種建立在訪問者和網(wǎng)頁資源之間的關(guān)系,是訪問者通過訪問網(wǎng)頁資源產(chǎn)生的一種對應(yīng)關(guān)系。如圖1所示,訪問者A和網(wǎng)頁資源p1的訪問關(guān)系r=。
定義4用戶行為可信度是指惡意網(wǎng)頁識(shí)別系統(tǒng)對訪問用戶根據(jù)用戶此前訪問記錄而產(chǎn)生的信任程度。通常來說,從不訪問惡意網(wǎng)頁的用戶行為可信度較高,經(jīng)常訪問惡意網(wǎng)頁的用戶行為可信度較低。因此,可以通過用戶過去一段時(shí)間內(nèi)的訪問記錄來預(yù)測用戶未來行為的可信任程度。在區(qū)間t(t視具體應(yīng)用而定,如3個(gè)月)內(nèi),假設(shè)用戶i的訪問次數(shù)為n,則用戶行為可信度可以通過式(1)進(jìn)行計(jì)算。
其中,V(i,pk)表示用戶i第k次訪問的網(wǎng)頁p的評價(jià)結(jié)果,它通過式(2)進(jìn)行計(jì)算。
本系統(tǒng)使用Google安全瀏覽 API[5]提供的惡意網(wǎng)頁列表作為判斷網(wǎng)頁評價(jià)結(jié)果的依據(jù)。
式(1)和式(2)表明,用戶可信度是通過對用戶的訪問次數(shù)和網(wǎng)頁本身的評價(jià)結(jié)果加權(quán)計(jì)算進(jìn)行度量的。
如圖1所示,將2個(gè)用戶(A,B)和2個(gè)網(wǎng)頁資源(p1,p2)的訪問關(guān)系進(jìn)行了抽象,其中,集合UA表示用戶A的訪問集合,UB表示用戶B的訪問集合,UAB表示用戶A和用戶B的訪問交集。
圖1 用戶訪問網(wǎng)頁資源關(guān)系示例
當(dāng)用戶訪問一個(gè)網(wǎng)頁時(shí),網(wǎng)頁評價(jià)結(jié)果是瀏覽器對用戶行為執(zhí)行不同操作(發(fā)出/不發(fā)出警示信息)的主要依據(jù)。瀏覽器可以依據(jù)惡意網(wǎng)址列表對用戶進(jìn)行直接評價(jià)。為了補(bǔ)充和完善評價(jià)信息,根據(jù)用戶的瀏覽行為增加一種評價(jià)方式:訪問行為評價(jià)[19]。
3.2.1 瀏覽器直接評價(jià)
瀏覽器根據(jù)先驗(yàn)知識(shí)(例如,惡意網(wǎng)址列表等)對網(wǎng)頁進(jìn)行直接評價(jià),這種評價(jià)方式比較簡單,使用方便,應(yīng)用范圍廣泛,其不足之處在于網(wǎng)頁評價(jià)分級方式比較粗略。此外,由于惡意網(wǎng)址列表的更新速度較慢,部分新出現(xiàn)的惡意網(wǎng)頁將無法得到正確評價(jià)結(jié)果。
3.2.2 訪問行為評價(jià)
在用戶瀏覽網(wǎng)頁的過程中,可以利用用戶的瀏覽行為對網(wǎng)頁形成評價(jià)。一些行為評價(jià)方式主要使用用戶訪問網(wǎng)站的次數(shù)來評價(jià)網(wǎng)站的健康程度。這種方式?jīng)]有考慮不同用戶之間的信譽(yù)差異對網(wǎng)站評分結(jié)果的影響。通過在3.2節(jié)引入用戶可信度這一概念,惡意網(wǎng)頁識(shí)別系統(tǒng)記錄訪問某個(gè)資源的用戶可信度和訪問次數(shù),以此作為參數(shù)獲得對該網(wǎng)頁資源的評價(jià)。網(wǎng)頁p的評價(jià)結(jié)果可以通過式(3)來計(jì)算
其中,Dk表示用戶k的可信度,T(k,p)表示用戶k對網(wǎng)頁p的訪問次數(shù),m表示用戶總數(shù)。
3.2.3 訪問行為評價(jià)因素
根據(jù)用戶瀏覽行為的規(guī)律以及評價(jià)值的計(jì)算需要,為訪問行為評價(jià)增加3個(gè)影響因素:最小訪問間隔I (interval)、訪問日志保存周期LC (log cycle)和行為評價(jià)更新周期EC (evaluation cycle),用以保證行為評價(jià)的準(zhǔn)確性和有效性。
1) 最小訪問間隔I
行為評價(jià)隨著訪問行為的變化而變化。單個(gè)用戶對網(wǎng)頁的重復(fù)訪問必須達(dá)到一定的時(shí)間間隔,統(tǒng)計(jì)得到的訪問次數(shù)才有意義。如果忽視這一參數(shù),則用戶可以通過不斷訪問某個(gè)頁面達(dá)到提升其評價(jià)值的目的。根據(jù)文獻(xiàn)[19]的經(jīng)驗(yàn),本文將最小訪問間隔I設(shè)置為一天,以防止出現(xiàn)上述情況。
2) 訪問日志保存周期LC
增加一定的訪問日志對分析和識(shí)別惡意網(wǎng)頁是必要的,但持續(xù)增加訪問日志則會(huì)大幅增加存儲(chǔ)負(fù)擔(dān),降低計(jì)算效率。因此確定合適的訪問日志保存周期,只保存一段時(shí)間內(nèi)的訪問日志,能夠避免造成存儲(chǔ)和計(jì)算壓力。本文中訪問日志保存周期LC取 30天,該周期可根據(jù)實(shí)際存儲(chǔ)能力和計(jì)算資源進(jìn)行相應(yīng)調(diào)整。
3) 行為評價(jià)更新周期EC
根據(jù)訪問行為的變化,行為評價(jià)需要及時(shí)更新,以適應(yīng)用戶的訪問需求。但是,對一些頻繁訪問的熱門網(wǎng)址和站點(diǎn)而言,大量不同用戶的連續(xù)訪問可能造成行為評價(jià)不穩(wěn)定和計(jì)算資源的浪費(fèi)。為避免這種情況,本文將行為評價(jià)更新周期EC設(shè)置為6 h。該周期EC可根據(jù)實(shí)際用戶訪問特點(diǎn)進(jìn)行調(diào)整。
此外,對于同一個(gè)網(wǎng)頁而言,如果瀏覽器給出了直接評價(jià),則不再記錄訪問行為評價(jià)。否則,記錄其訪問行為評價(jià)結(jié)果。
式(3)給出了一個(gè)網(wǎng)頁綜合評價(jià)值的計(jì)算方法。依據(jù)式(3),以訪問關(guān)系為基礎(chǔ),將用戶可信度作為權(quán)重,計(jì)算網(wǎng)頁綜合評價(jià)值。表1為網(wǎng)頁評價(jià)結(jié)果的示例。對比多個(gè)網(wǎng)頁的評價(jià)結(jié)果,可以發(fā)現(xiàn)一個(gè)可信度高的用戶多次訪問某一網(wǎng)頁,在該網(wǎng)頁的綜合評價(jià)中的貢獻(xiàn)會(huì)多一些。
URL分類可以描述為一個(gè)二分類問題,其中陽性例子是可疑 URL,陰性例子是正常 URL。解決URL分類問題的關(guān)鍵是正確劃分可疑URL和正常URL。
SLW 方法主要依據(jù)黑名單和訪問關(guān)系來劃分URL。具體過程如下:首先,使用黑名單和收集到的訪問關(guān)系查明可疑用戶集合并收集他們的訪問日志;其次,通過對這些訪問日志中的網(wǎng)頁進(jìn)行評價(jià),可以發(fā)現(xiàn)更多的可疑URL;最后,對這些可疑URL進(jìn)行詳細(xì)的分析檢查,以便準(zhǔn)確識(shí)別惡意URL。和其他方法相比,該方法需要增加額外的存儲(chǔ)空間以保存部分訪問日志,但保存部分訪問日志可以有效地縮小內(nèi)容檢測范圍并幫助發(fā)現(xiàn)潛在的惡意URL。
表1 網(wǎng)頁評價(jià)結(jié)果示例
圖2展示了SLW方法的架構(gòu),從整體角度分析,SLW方法包含2個(gè)主要步驟。
在第 1步中,采用已有成熟的分析技術(shù)(如DPI、關(guān)鍵詞掃描等)對日志中出現(xiàn)的每個(gè)網(wǎng)頁進(jìn)行深入分析。通過這一步驟,SLW可以積累一些惡意網(wǎng)頁作為“種子”。在第2步中,SLW方法從這些“種子”出發(fā),對訪問過這些已知惡意網(wǎng)頁的用戶的可信度進(jìn)行打分。對這些用戶進(jìn)行分類篩選出一部分可信度較低的用戶,利用它們的訪問日志以發(fā)現(xiàn)潛在的惡意網(wǎng)頁。下面詳細(xì)敘述了 SLW 方法中使用的每個(gè)組件。
種子。本文的種子是指預(yù)先檢測出來的惡意網(wǎng)頁的集合。作為低可信度用戶追蹤器的輸入,種子的質(zhì)量對整個(gè)追蹤過程至關(guān)重要。種子是由專業(yè)分析器產(chǎn)生的,當(dāng)分析器分析出一個(gè)惡意網(wǎng)頁時(shí),就可以將這個(gè)惡意網(wǎng)頁加入種子集合中,種子集合中常常包含2類網(wǎng)頁。第1類網(wǎng)頁是由攻擊者或犯罪分子直接建立的,這些網(wǎng)頁或者直接鏈接到一個(gè)惡意程序,或者包含一段可以在特定條件下執(zhí)行的惡意代碼。此外,這些網(wǎng)頁之間常常存在鏈接關(guān)系,以便提高成功入侵的幾率。第2類網(wǎng)頁則屬于良性網(wǎng)站的網(wǎng)頁,和正常的良性網(wǎng)頁不同,它們已經(jīng)被攻擊者掛馬,通常會(huì)嵌套一段跳轉(zhuǎn)程序?qū)⒂脩粢龑?dǎo)至惡意站點(diǎn)。SLW方法通過把這2類網(wǎng)頁加入到種子集合中,以便跟蹤這些低可信度的訪問者,從而從他們的訪問日志中發(fā)現(xiàn)潛在的惡意網(wǎng)頁。
低可信度用戶追蹤器。低可信度用戶追蹤器是 SLW 方法的核心。它的輸入是種子(包含惡意網(wǎng)頁的集合)以及“多對多”的訪問關(guān)系?;趯σ阎獝阂饩W(wǎng)頁和訪問關(guān)系的分析,低可信度用戶追蹤器產(chǎn)生低可信度用戶的集合(如圖2所示的過程①)。用戶的可信度可以通過式(1)計(jì)算得到。低可信度用戶往往訪問過已知的惡意站點(diǎn)并且今后訪問這些站點(diǎn)或者類似網(wǎng)頁的可能性較大。因此,將低可信度用戶集合提交至可疑 URL收集器。通過在網(wǎng)絡(luò)流中標(biāo)識(shí)低可信度的用戶,SLW方法就有可能發(fā)現(xiàn)它們的訪問歷史并識(shí)別其他惡意站點(diǎn)。
可疑URL收集器??梢蒛RL收集器基于低可信度用戶集合對他們的訪問交集進(jìn)行收集(如圖 2所示的過程②),即只有多個(gè)低可信度的用戶訪問的URL才會(huì)被收集。這個(gè)部件的功能是產(chǎn)生一個(gè)可疑URL的集合,并將它們發(fā)送給一組專業(yè)分析器。
專業(yè)分析器。專業(yè)分析器主要由Google提供的 safebrowsing黑名單[5]組成。這個(gè)黑名單已經(jīng)被Google用來實(shí)時(shí)處理數(shù)以億計(jì)的網(wǎng)頁,并有 API提供給外部調(diào)用者使用。此外,它不斷更新并且其誤判率很低。
預(yù)處理。預(yù)處理模塊的主要功能是對輸入的URL中的已知良性URL進(jìn)行過濾,是可選的。由于沒有收集到有關(guān)良性URL的先驗(yàn)知識(shí),因此沒有具體實(shí)現(xiàn)預(yù)處理模塊,但這不影響實(shí)驗(yàn)最終結(jié)果。
圖2 SLW方法的架構(gòu)
通過使用真實(shí)校園網(wǎng)關(guān)捕獲的數(shù)據(jù)集來驗(yàn)證SLW方法的性能。首先介紹實(shí)驗(yàn)的評價(jià)指標(biāo),然后對數(shù)據(jù)集和實(shí)驗(yàn)環(huán)境進(jìn)行分析,最后對實(shí)驗(yàn)結(jié)果進(jìn)行討論。
由于真實(shí)校園網(wǎng)關(guān)捕獲的數(shù)據(jù)集規(guī)模較大,并且呈現(xiàn)嚴(yán)重的不均衡性(數(shù)據(jù)不均衡性主要是指惡意網(wǎng)頁資源和良性網(wǎng)頁資源的數(shù)量相差很大,通常在一個(gè)數(shù)量級以上),不適合用傳統(tǒng)的準(zhǔn)確率和召回率來衡量本系統(tǒng)的好壞。因此,本文參考Invernizzi等的工作[20],選取了另外 2個(gè)指標(biāo)來驗(yàn)證系統(tǒng)的效果:濃度 (density)和擴(kuò)展度 (expansion)。
濃度是指新發(fā)現(xiàn)的可疑 URL中真正惡意的URL所占的比例。例如,如果一個(gè)可疑URL收集器提交100個(gè)可疑URL給專業(yè)分析器,并且其中10個(gè)URL最終被認(rèn)定是惡意的,那么其濃度為0.1。分類結(jié)果的濃度高表明分類系統(tǒng)的資源利用率高。
擴(kuò)展度是指系統(tǒng)根據(jù)一個(gè)惡意網(wǎng)頁 URL分析可以得到的平均惡意 URL數(shù)。擴(kuò)展度高低體現(xiàn)了惡意網(wǎng)頁資源是否得到有效利用。
濃度和擴(kuò)展度是此消彼長的關(guān)系,需要根據(jù)實(shí)際情況加以權(quán)衡??紤]到惡意網(wǎng)頁識(shí)別的實(shí)際應(yīng)用環(huán)境,特別是所采用不均衡的數(shù)據(jù)集,獲得更高的濃度對系統(tǒng)更加重要。
本實(shí)驗(yàn)在中國網(wǎng)站排名[21]上選取了10類共6 353個(gè)網(wǎng)址,并將它們作為良性 URL的代表。此外,以現(xiàn)有的URL黑名單[6]作為惡意URL標(biāo)注工具。通過在高校網(wǎng)關(guān)中捕獲130 GB網(wǎng)絡(luò)流量作為數(shù)據(jù)源,數(shù)據(jù)集的統(tǒng)計(jì)信息如表2所示。其時(shí)間范圍是在2013年3月22日至2013年4月8日。其中,一個(gè)典型的訪問行為如表3所示。本實(shí)驗(yàn)的實(shí)驗(yàn)環(huán)境為一臺(tái)8核2.13 GHz主頻CPU,內(nèi)存為16 GB內(nèi)存的服務(wù)器。
表2 數(shù)據(jù)集信息統(tǒng)計(jì)
表3 用戶訪問行為的示例
本文設(shè)計(jì)了2個(gè)實(shí)驗(yàn)來分別驗(yàn)證SLW方法的濃度、擴(kuò)展度和時(shí)間性能。第1個(gè)實(shí)驗(yàn)通過和傳統(tǒng)檢查方法進(jìn)行對比來驗(yàn)證SLW方法發(fā)現(xiàn)惡意URL的能力。首先,對很小的一部分(實(shí)驗(yàn)中取URL總數(shù)的0.2%,即6 310個(gè)URL)網(wǎng)址進(jìn)行深入分析和檢查(如圖1所示),得到一部分惡意URL(又稱“種子”,下同,本文中為67個(gè)URL);其次,充分使用“種子”來識(shí)別可信度低的用戶并繼續(xù)產(chǎn)生新的惡意URL(實(shí)驗(yàn)組1~3);最后,將SLW方法同其他傳統(tǒng)檢測方法(半數(shù)檢查是指檢查一半的訪問日志以發(fā)現(xiàn)惡意網(wǎng)址,全面檢查是指檢查全部訪問日志以發(fā)現(xiàn)惡意網(wǎng)址,如實(shí)驗(yàn)組4~5)進(jìn)行比較,以分析SLW方法的優(yōu)勢和劣勢。
如表4所示,初始階段,SLW從濃度為1.06%的URL庫里,分析并識(shí)別出67個(gè)惡意URL作為“種子”。在對“種子”分析的基礎(chǔ)上,SLW提交了18 440條URL給專業(yè)分析器,其中254條URL被最終認(rèn)定為惡意。由圖3可知,其濃度由1.29%提高到1.94%。此外,與全面檢查訪問記錄相比,只對可信度低用戶的訪問日志進(jìn)行分析,其惡意URL濃度分別上升6.97%~50.38%(如圖3所示)。即用戶的可信度越低,其訪問日志中包含的惡意URL濃度越高。
表4 濃度和擴(kuò)展度實(shí)驗(yàn)數(shù)據(jù)
表5 SLW方法時(shí)間開銷數(shù)據(jù)
擴(kuò)展度實(shí)驗(yàn)。如表4和圖3所示,只分析低可信度用戶的日志,其實(shí)際產(chǎn)生惡意 URL的數(shù)量初始惡意URL數(shù)量的3.25倍以上。
表5比較了不同方法的時(shí)間性能。如表5所示,檢查低可信度用戶訪問記錄是發(fā)現(xiàn)惡意 URL的一種有效方法。采用這種方法可以減少約33.89%的平均檢測時(shí)間。特別地,如果系統(tǒng)選取惡意用戶的比例比較小,其用于發(fā)現(xiàn)一個(gè)惡意 URL的平均時(shí)間將大大縮短。這種情況出現(xiàn)的可能原因是每次實(shí)驗(yàn)進(jìn)行前,將用戶按照可信度從低到高進(jìn)行了排序。
圖3 濃度擴(kuò)展度實(shí)驗(yàn)對比
實(shí)驗(yàn)結(jié)果顯示,相比于全部檢查,SLW方法可以顯著提高惡意URL的濃度(1.29% vs1.94%),從而大幅度(33.89%)降低平均檢測時(shí)間。此外,給定一定數(shù)量的惡意網(wǎng)頁,SLW方法有能力發(fā)現(xiàn)大量額外的惡意網(wǎng)頁。相比全面檢查、檢查同樣數(shù)量的URL,SLW可以發(fā)現(xiàn)3倍以上的惡意網(wǎng)頁。這一對比結(jié)果顯示,SLW在提高URL濃度,降低平均檢測時(shí)間方面具有較大優(yōu)勢。同時(shí),該方法需要部分惡意網(wǎng)頁作為“種子”以產(chǎn)生更多的惡意網(wǎng)頁。因此,SLW方法的局限性在于,惡意網(wǎng)頁識(shí)別能力的好壞依賴于初始種子的選擇。為緩解這一局限性帶來的問題,可以擴(kuò)大“種子”惡意網(wǎng)頁的選取范圍,或者提升“種子”惡意網(wǎng)頁質(zhì)量。
惡意網(wǎng)頁(例如,釣魚網(wǎng)站[18]、網(wǎng)頁木馬[1]、色情站點(diǎn)等)是互聯(lián)網(wǎng)健康發(fā)展的一個(gè)重要威脅。識(shí)別這類站點(diǎn)對抵制犯罪分子網(wǎng)絡(luò)活動(dòng)具有重要意義。然而,由于網(wǎng)頁規(guī)模的不斷擴(kuò)大,數(shù)據(jù)集的不均衡性以及網(wǎng)頁隱藏技術(shù)的使用等原因,網(wǎng)頁分類問題變得更具挑戰(zhàn)性。為了解決這一問題,本文提出了SLW方法以構(gòu)建具有反饋和自學(xué)習(xí)機(jī)制的輕量級網(wǎng)址分類系統(tǒng)。實(shí)驗(yàn)結(jié)果表明,相比傳統(tǒng)檢測方法,SLW 方法可以顯著提高惡意網(wǎng)頁濃度,大幅降低平均檢測時(shí)間,并且具有反饋和自學(xué)習(xí)的特點(diǎn)。
在未來的工作中,將重點(diǎn)圍繞以下幾個(gè)方面開展研究:首先,引入 URL白名單機(jī)制以避免一些不必要的資源消耗;其次,逐步引入 URL的靜態(tài)特征和語法規(guī)則作為分類依據(jù),以進(jìn)一步提升分類效果;最后,研究如何提高分類算法在動(dòng)態(tài)環(huán)境下的頑健性。
[1] 諸葛建偉, 韓心慧等. HoneyBow: 一個(gè)基于高交互式蜜罐技術(shù)的惡意代碼自動(dòng)捕獲器[J]. 通信學(xué)報(bào),2007, 12(28):8-13.ZHU GE J W, HAN X H,et al. HoneyBow: an automated malware collection tool based on the high-interaction honeypot principle[J].Journal of Communications, 2007, 12(28):8-13.
[2] PRAKASH P, KUMAR M, KOMPELLA R R,et al. Phishnet: predictive blacklisting to detect phishing attacks[A]. Proceedings of INFOCOM[C]. San Diego, CA, USA, 2010. 1-5.
[3] AKIYAMA M, YAGI T, ITOH M. Searching structural neighborhood of malicious urls to improve blacklisting[A]. Proceeding of the 11th Symposium on Applications and the Internet (SAINT)[C]. Munich,Germany, 2011.1-10.
[4] Kapaersky security bulletin. statistics 2012[EB/OL]. http://www.securelist.com/en/analysis/204792255/Kapersky, 2014.
[5] REPORT G T. Making the Web safer[EB/OL]. http://www.google.com/transparencyreport/safebrowsing/?hl=en, 2014.
[6] Smartscreen filter[EB/OL].http://windows.microsoft.com/zh-CN/ inter-net-explorer/use- smartscreen-filter#ie=ie-9, 2014.
[7] Google chrome and google safe browsing[EB/OL]. http://www.google.com/chrome/intl/zh-cn/more/security.html, 2014.
[8] KOLBITSCH C, LIVSHITS B, ZORN B,et al. Rozzle: De-cloaking internet malware[A]. IEEE Symposium on Security and Privacy(S&P)[C]. San Francisco, USA, 2012. 443-457.
[9] BANDO M, ARTAN N S, CHAO H J. Scalable look ahead regular expression detection system for deep packet inspection[J]. Transactions on Networking, IEEE/ACM, 2012, 20(3):699-714.
[10] JIANG J, SONG X, YU N,et al. Focus: learning to crawl Web forums[J]. IEEE Transactions on Knowledge and Data Engineering,2013, 25(6): 1293-1306.
[11] MA J, SAUL L K, SAVAGE S,et al. Beyond blacklists: learning to detect malicious Web sites from suspicious URL[A]. Proceedings of the 15th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining[C]. Paris, France, 2009.1245-1254.
[12] PAK W, CHOI Y J. High-performance packet classification for network-device platforms[J]. Communications Letters, IEEE, 2013, 17(6):1252-1255.
[13] ZHANG F G. Preventing recommendation attack in trust-based recommender systems [J]. Journal of Computer Science and Technology,2011, 26(5): 823-828.
[14] MA J, SAUL L K, SAVAGE S,et al. Learning to detect malicious URLs[J]. Transactions on Intelligent Systems and Technology, 2011,2(3):30.
[15] CHANG C C, LIN C J. LIBSVM: a library for support vector machines [J]. Transactions on Intelligent Systems and Technology, ACM,2011, 2(27):1-27.
[16] LEE S, KIM J. Warningbird: a near real-time detection system for suspicious urls in twitter stream [J]. Transactions on Dependable and Secure Computing, IEEE, 2013,10(3): 183-195.
[17] TSANG P P, KAPADIA A, CORNELIUS C,et al. Nymble: blocking misbehaving users in anonymizing networks[J]. Transactions on Dependable and Secure Computing, IEEE, 2011, 8(2):256-269.
[18] LE A, MARKOPOULOU A, FALOUTSOS M. Phishdef: URL names say it all[A]. Proceeding of the 30th IEEE International Conference on Computer Communications (IEEE INFOCOM 2011)[C]. Shanghai,China, 2011.191-195.
[19] 劉昕, 賈春福, 劉國友等. 基于社會(huì)信任的惡意網(wǎng)頁協(xié)防機(jī)制[J].通信學(xué)報(bào), 2013, 12(33):11-18.LIU X, JIA C F, LIU G Y,et al. Collaborative defending scheme against malicious Web pages based on social trust[J]. Journal on Communications, 2013, 12(33):11-18.
[20] INVERNIZZ I, LUC A,et al. Evilseed: a guided approach to finding malicious Web pages[A]. IEEE Symposium on Security and Privacy(S&P)[C]. San Francisco, USA, 2012. 428- 442.
[21] China Webmaster[EB/OL]. http://top.chinaz.com/, 2014.