文/嚴(yán)格知 周麗娟 洪劍珂 劉戀
校園網(wǎng)用戶基數(shù)龐大,網(wǎng)絡(luò)應(yīng)用種類繁多。不良的用戶習(xí)慣和層出不窮的軟硬件安全漏洞使校園網(wǎng)潛伏著多種網(wǎng)絡(luò)安全威脅。病毒、木馬借釣魚網(wǎng)站、垃圾郵件、惡意軟件等進(jìn)行傳播,一旦入侵用戶設(shè)備,還將伺機(jī)向同網(wǎng)段其它設(shè)備蔓延,最終目的是攻陷設(shè)備以?shī)Z取控制權(quán)。
監(jiān)測(cè)發(fā)現(xiàn),受害設(shè)備將周期性地與C&C服務(wù)器(Command & Control Server)建立聯(lián)系,接收指令以實(shí)施勒索、DDoS、垃圾郵件、挖礦等進(jìn)一步攻擊。最初,C&C服務(wù)器的域名/IP地址硬編碼在惡意軟件中,受害設(shè)備周期性訪問該地址以建立控制信道,安全人員監(jiān)測(cè)到此地址后加入防火墻黑名單以實(shí)現(xiàn)阻斷?,F(xiàn)在,攻擊者通常使用域名生成算法(Domain Generation Algorithms, DGA)批量生成惡意域名,其中僅有少部分可解析,受害設(shè)備通過訪問域名,便可獲得C&C服務(wù)器地址[1]。
域名生成算法DGA還結(jié)合速變服務(wù)網(wǎng)絡(luò)(Fast-Flux)頻繁改變域名與IP映射關(guān)系,使域名在短時(shí)間內(nèi)多次解析得到不同結(jié)果[2]。如圖1所示,客戶端訪問使用Fast-Flux技術(shù)部署的域名,返回的域名生存時(shí)間TTL為0,迫使客戶端每次訪問都必須向該域名的權(quán)威DNS服務(wù)器請(qǐng)求解析,且多次解析同一域名,獲取的IP地址都不同。Fast-Flux技術(shù)模糊了C&C服務(wù)器的地址,使安全人員無法阻止所有可能的地址,成為惡意軟件躲避追蹤的常見技術(shù)手段。因此,訪問此類惡意域名成為設(shè)備受惡意軟件侵害的表征。在校園網(wǎng)中,可通過檢測(cè)惡意域名定位受害設(shè)備,以阻止惡意軟件傳播。
圖1 客戶端訪問Fast-Flux網(wǎng)絡(luò)流程
域名生成算法DGA通過隨機(jī)種子,利用多種加密算法生成一系列偽隨機(jī)字符串。表1所示為部分惡意域名家族及其域名實(shí)例。不同域名家族的DGA算法不同,但同一域名家族的各域名的域名長(zhǎng)度、字符分布等字符特征具有一定規(guī)律。
表1 惡意域名家族及域名實(shí)例
目前,關(guān)于惡意域名的檢測(cè)方法主要有三種:
1. 基于域名字符特征的檢測(cè)
正常域名與惡意域名在字符分布上有明顯差異。正常域名一般可讀性較好,域名長(zhǎng)度較短。惡意域名一般為無意義字符串。研究者使用分詞算法分解域名,以一元分詞、二元分詞頻率作為特征[3][4]。除此以外,域名字符串長(zhǎng)度、域名字符信息熵分布,元音輔音比、最長(zhǎng)有意義子串、域名K-L距離等均被作為特征[5][6]以檢測(cè)惡意域名。
2. 基于域名流量信息的檢測(cè)
正常域名與惡意域名的流量信息有很大不同。惡意域名的生存時(shí)間TTL很短,訪問量在時(shí)間軸上呈現(xiàn)明顯激增、激減的態(tài)勢(shì)。研究者提取訪問時(shí)間規(guī)律、訪問量突變點(diǎn)、域名和IP的多對(duì)多關(guān)系、域名Whois信息、TTL信息、域名解析NXDOMAIN比率[7][8]等特征檢測(cè)惡意域名。這一領(lǐng)域的研究重點(diǎn)在于針對(duì)時(shí)間規(guī)律、突變點(diǎn)的有效檢測(cè)。
3. 使用深度學(xué)習(xí)方法檢測(cè)
近年來,大量研究應(yīng)用深度學(xué)習(xí)方法,如循環(huán)神經(jīng)網(wǎng)絡(luò)、長(zhǎng)短期記憶網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)等都被用于惡意域名檢測(cè)[9][10][11]。深度學(xué)習(xí)不依賴于人工提取特征,且可從輸入信息中提取人工無法發(fā)現(xiàn)的深度特征。研究表明,相較于傳統(tǒng)的機(jī)器學(xué)習(xí)方法,基于長(zhǎng)短期記憶網(wǎng)絡(luò)和卷積神經(jīng)網(wǎng)絡(luò)的分類模型的整體檢測(cè)效果更佳[12]。
域名流量信息提取較為困難,難以在現(xiàn)實(shí)網(wǎng)絡(luò)中應(yīng)用;域名字符特征獲取簡(jiǎn)便,但誤檢率較高[13]。本系統(tǒng)綜合兩者優(yōu)勢(shì),使用長(zhǎng)短期記憶網(wǎng)絡(luò)LSTM基于域名字符特征建立分類模型,根據(jù)分類結(jié)果結(jié)合域名流量行為加以驗(yàn)證。系統(tǒng)每日運(yùn)行,對(duì)華中科技大學(xué)校園網(wǎng)(以下簡(jiǎn)稱校園網(wǎng))用戶訪問域名進(jìn)行檢測(cè),架構(gòu)如圖2所示,系統(tǒng)包含模型訓(xùn)練、數(shù)據(jù)收集、域名檢測(cè)和數(shù)據(jù)展示四個(gè)模塊。
圖2 校園網(wǎng)惡意域名檢測(cè)系統(tǒng)架構(gòu)
1.樣本收集
為訓(xùn)練分類模型,系統(tǒng)每天共收集100萬(wàn)條有標(biāo)簽的樣本作為分類模型的訓(xùn)練數(shù)據(jù)。其中惡意域名數(shù)據(jù)來源于Netlab DGA Project[14],該項(xiàng)目收集了50余個(gè)DGA家族的100余萬(wàn)條域名并每日更新,每條記錄包括域名、家族名、域名有效期信息。由于部分域名家族每天更新的域名樣本量很少,系統(tǒng)每日將新更新數(shù)據(jù)與舊數(shù)據(jù)合并,不斷擴(kuò)大樣本規(guī)模,并從中隨機(jī)取50萬(wàn)域名作為正樣本。
正常域名數(shù)據(jù)來源于Alexa每日統(tǒng)計(jì)的全球流量Top 100萬(wàn)域名[15],每日選取前50萬(wàn)條域名作為負(fù)樣本。由于流量大的域名一般不可能為惡意域名,研究者通常使用此名單作為正常域名樣本。
2.訓(xùn)練模型
系統(tǒng)使用基于長(zhǎng)短期記憶網(wǎng)絡(luò)LSTM的分類模型,其結(jié)構(gòu)如圖3所示,分為嵌入層(Embedding)、LSTM層、Dropout層和全連接層(Dense)。域名經(jīng)過編碼轉(zhuǎn)換,將數(shù)字0-9、字母a-z、中劃線、下劃線等字符轉(zhuǎn)換為數(shù)字序列后輸入模型,嵌入層將其映射為長(zhǎng)度128的向量;LSTM層包含128單元,用于提取深度特征;Dropout層防止過擬合;全連接層輸出分類結(jié)果。訓(xùn)練數(shù)據(jù)被分為訓(xùn)練集、驗(yàn)證集及測(cè)試集。每天使用訓(xùn)練集對(duì)該模型訓(xùn)練多輪,每輪訓(xùn)練后使用驗(yàn)證集測(cè)試分類準(zhǔn)確率,直到此準(zhǔn)確率不再提升為止,隨后生成并保存模型。
圖3 基于LSTM 的分類模型
為測(cè)試模型分類效果,使用2022-01-11的訓(xùn)練數(shù)據(jù)和生成的模型,對(duì)惡意域名樣本中未選取為訓(xùn)練集的2,766,875條域名進(jìn)行分類。表2描述了這21個(gè)家族的域名總數(shù)和分類準(zhǔn)確率統(tǒng)計(jì)。有共20個(gè)家族的分類準(zhǔn)確率超過80%,16個(gè)家族超過90%,其中10個(gè)家族超過99%。檢測(cè)效果較好的家族域名實(shí)例如表1所示,其字符特征明顯,易于檢測(cè)??傮w而言,2,766,875個(gè)惡意域名樣本的整體檢測(cè)準(zhǔn)確率為96.57%。
1.數(shù)據(jù)收集
系統(tǒng)每日向校園網(wǎng)DNS日志下載前一日全校用戶所訪問的域名列表,約包含150萬(wàn)~200萬(wàn)條不同域名。由于惡意域名訪問量較少,為減少檢測(cè)開銷,僅對(duì)日查詢次數(shù)低于2000的域名進(jìn)行分類。
2. 數(shù)據(jù)預(yù)處理
用戶查詢中存在大量不合法域名,如帶“http://”前綴、不符合域名結(jié)構(gòu)等,須使用正則表達(dá)式過濾,并去掉從Alexa收集的正常域名樣本以節(jié)省計(jì)算時(shí)間(這里只取二級(jí)域名,如“www.baidu.com”中的“baidu.com”,所有此后綴域名均分類為正常域名)。經(jīng)過預(yù)處理后約剩下70萬(wàn)~100萬(wàn)條待分類域名。
1.數(shù)據(jù)分類
將過濾后的域名數(shù)據(jù)經(jīng)過編碼轉(zhuǎn)換后輸入分類模型,輸出分類結(jié)果。
2.分析結(jié)果
分類模型基于域名字符特征進(jìn)行分類,對(duì)其中被分類為“惡意域名”者,為避免單憑字符特征造成誤分類,系統(tǒng)結(jié)合用戶訪問行為進(jìn)一步分析。
真實(shí)惡意域名中大部分沒有映射IP(解析結(jié)果為NXDOMAIN)。系統(tǒng)從DNS響應(yīng)日志中提取每次解析均返回NXDOMAIN的域名列表,從檢測(cè)結(jié)果中排除可解析域名。
訪問惡意域名是惡意軟件的自動(dòng)行為,受害設(shè)備一般每天定期訪問一批同一域名家族的域名。系統(tǒng)對(duì)檢測(cè)結(jié)果中的惡意域名按查詢?cè)碔P匯總,以直觀地展示批量訪問行為,對(duì)訪問域名數(shù)超過一定閾值的設(shè)備判定為存在高危訪問行為,根據(jù)經(jīng)驗(yàn)數(shù)據(jù)設(shè)定該閾值為3。
1.管理員通知
系統(tǒng)每日將分析結(jié)果和運(yùn)行日志郵件發(fā)送給管理員,包括按訪問惡意域名數(shù)倒序排序的設(shè)備列表,每條記錄包含設(shè)備IP、訪問惡意域名數(shù)量及域名列表。對(duì)存在高危訪問行為的設(shè)備,還附有設(shè)備訪問惡意域名的時(shí)間序列圖示。
2.控制臺(tái)展示及用戶通知
存在高危訪問行為的設(shè)備可能已感染病毒,并會(huì)向其他設(shè)備進(jìn)行傳播。系統(tǒng)對(duì)高危訪問設(shè)備列表和訪問時(shí)間序列圖片封裝了API,通過控制臺(tái)前端調(diào)用展示每日檢測(cè)到的惡意域名及其訪問設(shè)備IP。
系統(tǒng)對(duì)接校園網(wǎng)統(tǒng)一通信平臺(tái),經(jīng)管理員人工核對(duì)后,通過控制臺(tái)可選用短信/郵件方式通知相關(guān)用戶,內(nèi)容包括設(shè)備IP,訪問的惡意域名列表和訪問時(shí)間信息,提醒該設(shè)備存在高危訪問行為,需即刻采取查殺病毒、重裝或關(guān)停設(shè)備等措施。
本系統(tǒng)自2020年11月上線運(yùn)行,部署在華中科技大學(xué)高性能計(jì)算公共服務(wù)平臺(tái),環(huán)境配置如表3所示。
運(yùn)行期間,共發(fā)現(xiàn)惡意域名9900個(gè),涉及受害設(shè)備73個(gè)。對(duì)檢測(cè)出的受害設(shè)備,當(dāng)日通知相關(guān)用戶并提供修復(fù)措施,經(jīng)管理員確定的受害設(shè)備即時(shí)斷網(wǎng),未出現(xiàn)高危訪問行為大面積傳播現(xiàn)象。
分析檢測(cè)出的惡意域名及相關(guān)受害設(shè)備,發(fā)現(xiàn)校園網(wǎng)網(wǎng)絡(luò)安全態(tài)勢(shì)存在三點(diǎn)問題 :
1. 惡意域名家族分布極不均衡
表4展示了檢測(cè)發(fā)現(xiàn)的9900個(gè)惡意域名的家族分布,其中Conficker域名占9623條,占比為97.20%,表明在現(xiàn)實(shí)網(wǎng)絡(luò)流量中,惡意域名家族分布極不均衡,Conficker域名占絕大多數(shù),成為防范重點(diǎn)。Conficker病毒是以Windows操作系統(tǒng)為攻擊目標(biāo)的蠕蟲病毒,利用系統(tǒng)漏洞傳播。為避免引入病毒,用戶設(shè)備須謹(jǐn)防下載不安全的應(yīng)用軟件;為避免被傳播病毒,用戶設(shè)備需保持安裝系統(tǒng)更新。
2. 無線設(shè)備更易遭到網(wǎng)絡(luò)攻擊
在發(fā)現(xiàn)的73個(gè)訪問惡意域名的設(shè)備中,無線設(shè)備占59個(gè),占比約為80%,這與校園網(wǎng)總用戶數(shù)中的無線用戶數(shù)占比相近。一方面,無線設(shè)備攜帶便捷、應(yīng)用廣泛,在校園網(wǎng)入網(wǎng)設(shè)備中占比更大;另一方面,無線設(shè)備由于其可移動(dòng)性,一旦被入侵,有利于惡意軟件在移動(dòng)過程中向新接入子網(wǎng)傳播,較有線設(shè)備具有更大危害性。
3. 公用設(shè)備網(wǎng)絡(luò)安全缺乏維護(hù)
對(duì)73個(gè)設(shè)備追蹤其使用場(chǎng)景,其中公用設(shè)備占52個(gè),占比約為70%。如表5所示,公用設(shè)備包括辦公室或?qū)嶒?yàn)室中的公用電腦、教學(xué)樓教室電腦、自助查詢?cè)O(shè)備、用戶自建信息系統(tǒng)服務(wù)器等。相當(dāng)部分公用設(shè)備一經(jīng)建立,長(zhǎng)期處于無人維護(hù)狀態(tài),因疏于安裝更新系統(tǒng)或查殺軟件而引入病毒。缺乏有效的網(wǎng)絡(luò)安全維護(hù),會(huì)給校園網(wǎng)帶來安全風(fēng)險(xiǎn)。目前校園網(wǎng)在分配入網(wǎng)賬號(hào)時(shí),對(duì)需長(zhǎng)期在線設(shè)備均限制使用特殊網(wǎng)段IP,網(wǎng)段內(nèi)IP之間無法互通,限制了惡意程序的自動(dòng)傳播。
表5 部分感染設(shè)備及屬性
本文針對(duì)校園網(wǎng)中以惡意域名訪問行為為表征的惡意軟件傳播問題,提出了一種基于深度學(xué)習(xí)的惡意域名檢測(cè)方法,即通過長(zhǎng)短期記憶網(wǎng)絡(luò)LSTM基于域名字符特征建立分類模型,并根據(jù)分類結(jié)果結(jié)合域名流量行為加以驗(yàn)證。
根據(jù)該方法,華中科技大學(xué)在校園網(wǎng)中部署了相應(yīng)檢測(cè)系統(tǒng)。每日檢測(cè)校園網(wǎng)域名訪問記錄,對(duì)訪問惡意域名的設(shè)備進(jìn)行定位并通知受害用戶。系統(tǒng)在長(zhǎng)期運(yùn)行中發(fā)現(xiàn)惡意域名9900條,涉及受害設(shè)備73個(gè)。對(duì)相關(guān)用戶即時(shí)通知并協(xié)助修復(fù),避免了惡意軟件繼續(xù)傳播。
根據(jù)對(duì)惡意域名檢測(cè)結(jié)果及相關(guān)受害設(shè)備的分析發(fā)現(xiàn),校園網(wǎng)中惡意域名家族分布極不均衡,且無線設(shè)備及公用設(shè)備更易遭到網(wǎng)絡(luò)安全攻擊。因此,在繼續(xù)培養(yǎng)用戶的網(wǎng)絡(luò)安全意識(shí)和良好用網(wǎng)習(xí)慣的同時(shí),應(yīng)持續(xù)通過各級(jí)網(wǎng)絡(luò)安全設(shè)備和檢測(cè)手段實(shí)現(xiàn)有針對(duì)性的網(wǎng)絡(luò)安全防護(hù),使監(jiān)控、定位、通知及阻斷形成閉環(huán)。