文/嚴格知 周麗娟 洪劍珂 劉戀
校園網用戶基數龐大,網絡應用種類繁多。不良的用戶習慣和層出不窮的軟硬件安全漏洞使校園網潛伏著多種網絡安全威脅。病毒、木馬借釣魚網站、垃圾郵件、惡意軟件等進行傳播,一旦入侵用戶設備,還將伺機向同網段其它設備蔓延,最終目的是攻陷設備以奪取控制權。
監測發現,受害設備將周期性地與C&C服務器(Command & Control Server)建立聯系,接收指令以實施勒索、DDoS、垃圾郵件、挖礦等進一步攻擊。最初,C&C服務器的域名/IP地址硬編碼在惡意軟件中,受害設備周期性訪問該地址以建立控制信道,安全人員監測到此地址后加入防火墻黑名單以實現阻斷。現在,攻擊者通常使用域名生成算法(Domain Generation Algorithms, DGA)批量生成惡意域名,其中僅有少部分可解析,受害設備通過訪問域名,便可獲得C&C服務器地址[1]。
域名生成算法DGA還結合速變服務網絡(Fast-Flux)頻繁改變域名與IP映射關系,使域名在短時間內多次解析得到不同結果[2]。如圖1所示,客戶端訪問使用Fast-Flux技術部署的域名,返回的域名生存時間TTL為0,迫使客戶端每次訪問都必須向該域名的權威DNS服務器請求解析,且多次解析同一域名,獲取的IP地址都不同。Fast-Flux技術模糊了C&C服務器的地址,使安全人員無法阻止所有可能的地址,成為惡意軟件躲避追蹤的常見技術手段。因此,訪問此類惡意域名成為設備受惡意軟件侵害的表征。在校園網中,可通過檢測惡意域名定位受害設備,以阻止惡意軟件傳播。

圖1 客戶端訪問Fast-Flux網絡流程
域名生成算法DGA通過隨機種子,利用多種加密算法生成一系列偽隨機字符串。表1所示為部分惡意域名家族及其域名實例。不同域名家族的DGA算法不同,但同一域名家族的各域名的域名長度、字符分布等字符特征具有一定規律。

表1 惡意域名家族及域名實例
目前,關于惡意域名的檢測方法主要有三種:
1. 基于域名字符特征的檢測
正常域名與惡意域名在字符分布上有明顯差異。正常域名一般可讀性較好,域名長度較短。惡意域名一般為無意義字符串。研究者使用分詞算法分解域名,以一元分詞、二元分詞頻率作為特征[3][4]。除此以外,域名字符串長度、域名字符信息熵分布,元音輔音比、最長有意義子串、域名K-L距離等均被作為特征[5][6]以檢測惡意域名。
2. 基于域名流量信息的檢測
正常域名與惡意域名的流量信息有很大不同。惡意域名的生存時間TTL很短,訪問量在時間軸上呈現明顯激增、激減的態勢。研究者提取訪問時間規律、訪問量突變點、域名和IP的多對多關系、域名Whois信息、TTL信息、域名解析NXDOMAIN比率[7][8]等特征檢測惡意域名。這一領域的研究重點在于針對時間規律、突變點的有效檢測。
3. 使用深度學習方法檢測
近年來,大量研究應用深度學習方法,如循環神經網絡、長短期記憶網絡、卷積神經網絡等都被用于惡意域名檢測[9][10][11]。深度學習不依賴于人工提取特征,且可從輸入信息中提取人工無法發現的深度特征。研究表明,相較于傳統的機器學習方法,基于長短期記憶網絡和卷積神經網絡的分類模型的整體檢測效果更佳[12]。
域名流量信息提取較為困難,難以在現實網絡中應用;域名字符特征獲取簡便,但誤檢率較高[13]。本系統綜合兩者優勢,使用長短期記憶網絡LSTM基于域名字符特征建立分類模型,根據分類結果結合域名流量行為加以驗證。系統每日運行,對華中科技大學校園網(以下簡稱校園網)用戶訪問域名進行檢測,架構如圖2所示,系統包含模型訓練、數據收集、域名檢測和數據展示四個模塊。

圖2 校園網惡意域名檢測系統架構
1.樣本收集
為訓練分類模型,系統每天共收集100萬條有標簽的樣本作為分類模型的訓練數據。其中惡意域名數據來源于Netlab DGA Project[14],該項目收集了50余個DGA家族的100余萬條域名并每日更新,每條記錄包括域名、家族名、域名有效期信息。由于部分域名家族每天更新的域名樣本量很少,系統每日將新更新數據與舊數據合并,不斷擴大樣本規模,并從中隨機取50萬域名作為正樣本。
正常域名數據來源于Alexa每日統計的全球流量Top 100萬域名[15],每日選取前50萬條域名作為負樣本。由于流量大的域名一般不可能為惡意域名,研究者通常使用此名單作為正常域名樣本。
2.訓練模型
系統使用基于長短期記憶網絡LSTM的分類模型,其結構如圖3所示,分為嵌入層(Embedding)、LSTM層、Dropout層和全連接層(Dense)。域名經過編碼轉換,將數字0-9、字母a-z、中劃線、下劃線等字符轉換為數字序列后輸入模型,嵌入層將其映射為長度128的向量;LSTM層包含128單元,用于提取深度特征;Dropout層防止過擬合;全連接層輸出分類結果。訓練數據被分為訓練集、驗證集及測試集。每天使用訓練集對該模型訓練多輪,每輪訓練后使用驗證集測試分類準確率,直到此準確率不再提升為止,隨后生成并保存模型。

圖3 基于LSTM 的分類模型
為測試模型分類效果,使用2022-01-11的訓練數據和生成的模型,對惡意域名樣本中未選取為訓練集的2,766,875條域名進行分類。表2描述了這21個家族的域名總數和分類準確率統計。有共20個家族的分類準確率超過80%,16個家族超過90%,其中10個家族超過99%。檢測效果較好的家族域名實例如表1所示,其字符特征明顯,易于檢測。總體而言,2,766,875個惡意域名樣本的整體檢測準確率為96.57%。
1.數據收集
系統每日向校園網DNS日志下載前一日全校用戶所訪問的域名列表,約包含150萬~200萬條不同域名。由于惡意域名訪問量較少,為減少檢測開銷,僅對日查詢次數低于2000的域名進行分類。
2. 數據預處理
用戶查詢中存在大量不合法域名,如帶“http://”前綴、不符合域名結構等,須使用正則表達式過濾,并去掉從Alexa收集的正常域名樣本以節省計算時間(這里只取二級域名,如“www.baidu.com”中的“baidu.com”,所有此后綴域名均分類為正常域名)。經過預處理后約剩下70萬~100萬條待分類域名。
1.數據分類
將過濾后的域名數據經過編碼轉換后輸入分類模型,輸出分類結果。
2.分析結果
分類模型基于域名字符特征進行分類,對其中被分類為“惡意域名”者,為避免單憑字符特征造成誤分類,系統結合用戶訪問行為進一步分析。
真實惡意域名中大部分沒有映射IP(解析結果為NXDOMAIN)。系統從DNS響應日志中提取每次解析均返回NXDOMAIN的域名列表,從檢測結果中排除可解析域名。
訪問惡意域名是惡意軟件的自動行為,受害設備一般每天定期訪問一批同一域名家族的域名。系統對檢測結果中的惡意域名按查詢源IP匯總,以直觀地展示批量訪問行為,對訪問域名數超過一定閾值的設備判定為存在高危訪問行為,根據經驗數據設定該閾值為3。
1.管理員通知
系統每日將分析結果和運行日志郵件發送給管理員,包括按訪問惡意域名數倒序排序的設備列表,每條記錄包含設備IP、訪問惡意域名數量及域名列表。對存在高危訪問行為的設備,還附有設備訪問惡意域名的時間序列圖示。
2.控制臺展示及用戶通知
存在高危訪問行為的設備可能已感染病毒,并會向其他設備進行傳播。系統對高危訪問設備列表和訪問時間序列圖片封裝了API,通過控制臺前端調用展示每日檢測到的惡意域名及其訪問設備IP。
系統對接校園網統一通信平臺,經管理員人工核對后,通過控制臺可選用短信/郵件方式通知相關用戶,內容包括設備IP,訪問的惡意域名列表和訪問時間信息,提醒該設備存在高危訪問行為,需即刻采取查殺病毒、重裝或關停設備等措施。
本系統自2020年11月上線運行,部署在華中科技大學高性能計算公共服務平臺,環境配置如表3所示。
運行期間,共發現惡意域名9900個,涉及受害設備73個。對檢測出的受害設備,當日通知相關用戶并提供修復措施,經管理員確定的受害設備即時斷網,未出現高危訪問行為大面積傳播現象。
分析檢測出的惡意域名及相關受害設備,發現校園網網絡安全態勢存在三點問題 :
1. 惡意域名家族分布極不均衡
表4展示了檢測發現的9900個惡意域名的家族分布,其中Conficker域名占9623條,占比為97.20%,表明在現實網絡流量中,惡意域名家族分布極不均衡,Conficker域名占絕大多數,成為防范重點。Conficker病毒是以Windows操作系統為攻擊目標的蠕蟲病毒,利用系統漏洞傳播。為避免引入病毒,用戶設備須謹防下載不安全的應用軟件;為避免被傳播病毒,用戶設備需保持安裝系統更新。
2. 無線設備更易遭到網絡攻擊
在發現的73個訪問惡意域名的設備中,無線設備占59個,占比約為80%,這與校園網總用戶數中的無線用戶數占比相近。一方面,無線設備攜帶便捷、應用廣泛,在校園網入網設備中占比更大;另一方面,無線設備由于其可移動性,一旦被入侵,有利于惡意軟件在移動過程中向新接入子網傳播,較有線設備具有更大危害性。
3. 公用設備網絡安全缺乏維護
對73個設備追蹤其使用場景,其中公用設備占52個,占比約為70%。如表5所示,公用設備包括辦公室或實驗室中的公用電腦、教學樓教室電腦、自助查詢設備、用戶自建信息系統服務器等。相當部分公用設備一經建立,長期處于無人維護狀態,因疏于安裝更新系統或查殺軟件而引入病毒。缺乏有效的網絡安全維護,會給校園網帶來安全風險。目前校園網在分配入網賬號時,對需長期在線設備均限制使用特殊網段IP,網段內IP之間無法互通,限制了惡意程序的自動傳播。

表5 部分感染設備及屬性
本文針對校園網中以惡意域名訪問行為為表征的惡意軟件傳播問題,提出了一種基于深度學習的惡意域名檢測方法,即通過長短期記憶網絡LSTM基于域名字符特征建立分類模型,并根據分類結果結合域名流量行為加以驗證。
根據該方法,華中科技大學在校園網中部署了相應檢測系統。每日檢測校園網域名訪問記錄,對訪問惡意域名的設備進行定位并通知受害用戶。系統在長期運行中發現惡意域名9900條,涉及受害設備73個。對相關用戶即時通知并協助修復,避免了惡意軟件繼續傳播。
根據對惡意域名檢測結果及相關受害設備的分析發現,校園網中惡意域名家族分布極不均衡,且無線設備及公用設備更易遭到網絡安全攻擊。因此,在繼續培養用戶的網絡安全意識和良好用網習慣的同時,應持續通過各級網絡安全設備和檢測手段實現有針對性的網絡安全防護,使監控、定位、通知及阻斷形成閉環。