亚洲日本免费-啊轻点灬太粗太长了三男一女-麻豆av电影在线观看-日韩一级片毛片|www.grbbt.com

基于靜態及動態特征的惡意域名檢測系統

1.前言

互聯網的產生是應用需求驅動的結果,強大的需求牽引其高速發展,在這一過程中,對于各種技術、協議的設計者,首要目標是解決面前的問題,在急切的需求面前投入太多精力去考慮其他問題似乎是奢侈的,正因如此,解決應用問題與制造安全問題的交織出現在網絡安全領域屢見不鮮,隨著眾多網絡技術的普遍采用,大量安全問題也隨之而來。

域名系統及其擴展是一個典型的事例,它的設計初衷是提升互聯網的易用性,其在一定程度上促成了互聯網的快速發展;以其為基礎的內容分發網絡技術,是一種廣泛應用的負載均衡技術;泛域名解析技術,是Web2.0發展過程中的底層技術之一;在復雜網絡架構中,域名系統也被采用以提升網絡的魯棒性和可用性。然而,以上這些技術并非只有正常的使用方式,結合其他惡意網絡技術,它們往往可以制造出令人頭疼的網絡安全問題。本文嘗試從大數據的角度出發來考慮與此相關的網絡安全問題,基于已知域名的某些特征,建立分類模型,通過數據來預測數據,從而發現那些被惡意使用的域名。

2.技術背景

DNS及其配套技術,具有使ip與域名解耦的功能,以及靈活配置的特點,DNS已成為互聯網不可或缺的技術,是極大多數用戶與應用系統的互聯網入口,近年來隨著Round-robin DNS、CDN(Content Distribution Networks,內容分發網絡)等技術逐漸普及,DNS技術在負載均衡、高可靠性網絡架構設計等方面獲得了廣泛應用。

但隨之而來的是,DNS技術的利用也受到了黑客的關注,目前DNS已經成為黑客的保護屏障,由于這道屏障建立成本很低,并且效果較好,當前流形的僵尸網絡往往都會利用DNS技術將C&C服務器進行隱藏,其中常用技術主要包括Domain Flux和IP Fast Flux(又稱為FFSN,Fast Flux Service Networks)兩類。

帶有惡意域名系統的僵尸網絡整體,包括多臺C&C服務器(或稱為mothership),多臺C&C代理服務器,以及多臺被控主機(或稱肉雞)。一個惡意域名,指向多臺C&C代理服務器,當一個肉雞獲取命令時,通過該域名獲取到一個C&C代理服務器的ip。當某個C&C代理服務器被破壞時,某個肉雞被“升級”為C&C代理服務器,填補空缺位置。在整個過程中,mothership的ip都沒有暴露,其ip只有C&C代理服務器知道,通過監聽肉雞和C&C代理服務器間的通信,無法得知,因此保護了實際的C&C服務器,這是FFSN的運作原理,這種網絡結構具備極高的可用性。

FFSN DNS的通常在間斷請求過程中,體現出一些動態特征,這些特性可做為鑒別FFSN DNS的依據,比如NXDomain返回頻率,ip切換頻率,TTL時間長度等。值得注意的是,這些特征并非非常明顯,大量情況會使得惡意DNS與正常DNS的動態特征十分相似,如:一些國際性大站,往往采用了CDN技術;一些關閉的站點;無效的P2P資源服務器等。

另一種惡意域名相關的技術是Domain Flux,該技術一般利用泛域名解析等技術,將多個FQDN(Full Qualified Domain Name,完整域名)域名對應到一個惡意ip,該惡意ip對目標主機的危害行為被邏輯地分散到多個FQDN,或者結合FFSN技術,每個惡意代理被控主機一個FQDN,使得針對FQDN域名的統計值失效。另一種可能的作用是,結合FFSN技術,當FFSN的C&C服務器暴露時,黑客會建立新的C&C服務器,沒死掉的agent基于DGA(Dynamic Generate Algorithm,動態生成算法)技術主動連入新的C&C服務器,重新接管僵尸網絡。

本文所述系統旨在解決上述惡意域名問題,其主要的途徑為,將用于Domain Flux檢測的靜態特征,與用于Fast Flux Service Networks檢測的動態特征相結合,配合常規的黑白名單過濾方法,構建以黑白名單檢測、針對Domain Flux的靜態特征分類器、針對FFSN的動態特征分類器為主體,具備黑白名單自維護、分類模型自學習的惡意域名識別系統。

3.具體實施方式

本節介紹本文所述系統的具體實施方式,首先籠統介紹系統框架,及系統的工作流程做一說明,然后對其中重要環節再做闡述,它們包括針對Domain Flux的靜態特征分類器,針對FFSN的動態特征分類器。

3.1 系統框架及其工作流程

本文所述的靜態及動態特征相結合的惡意域名識別系統,用于解決單一網絡(下文稱為防護目標網絡)相關的惡意DNS識別問題,也就說發生在防護目標網絡內的DNS查詢情況將被捕捉,經系統的三層分析后給出是否是惡意域名的判斷,相關結果提供給用戶作為決策參考。其系統框架如下圖1所示:

惡意域名檢測1圖1 系統框架

如上圖1所示,整個系統由數據采集層、靜態檢測層、動態檢測層、用戶接口層構成。各層依職能劃分,其基本職能為:

數據采集層:負責對防護目標網絡的DNS請求監聽,產生診斷目標(域名);同時負責動態特征原始數據的采集(通過DNS查詢來采集,采集間隔與次數由用戶指定,經驗參數為針對一個診斷目標,每3小時采集一次,共采集24次,即3天后完成動態特征原始數據的采集);

靜態檢測層:負責對檢測目標進行黑、白名單過濾;若黑、白名單未命中,則提取其靜態特征,利用靜態特征分類器來進行檢測,這一分類器主要針對Domain Flux問題,對于高可信度的診斷結果(采用支持向量機算法,并利用相適應的概率估計算法),直接給出判別結論,對于其他診斷結果,判別為‘可疑域名’,其留待后續程序處理。

動態檢測層:負責判斷可疑域名是否為惡意域名,在數據采集層提供的動態特征原始數據基礎上,建立動態特征,并利用動態特征分類器來進行檢測,這一分類器主要針對FFSN問題,,對于高可信度的診斷結果(采用支持向量機算法,并利用相適應的概率估計算法),直接給出判別結論,并將惡意域名加入黑名單,或將正常域名加入白名單;對于可信度低的診斷結果,只給出診斷結果,不對黑白名單做出修改。

用戶接口層:負責向外部系統提供軟件接口,這些外部接口包括用戶界面、IDS(入侵檢測系統)、IPS(入侵防護系統)、Information Securitry Management Systems(信息安全管理系統)等。

系統共包括三個主要的工作流程,它們是檢測流程,靜態特征分類器的訓練建模流程與動態特征分類器的訓練建模流程。后面兩個流程,周期性啟動(周期由用戶指定,依經驗可設定為30天)訓練樣本集構造、特征提取、支持向量機(Support Vector Machine, SVM)建模流程,用以更新相關的分類器模型。這里主要說明檢測流程,其可由下圖2表述。

惡意域名檢測2878

圖2 檢測流程

檢測流程由防護目標網絡中的DNS查詢捕捉事件觸發,一個診斷目標首先經過白名單過濾器、黑名單過濾器,若命中則立即給出結論并結束流程,否則向后進行;診斷目標的靜態特征將被提取,之后使用靜態特征分類器來做出判斷,對于高可信度的判斷結果,直接給出結論,結束流程,對于其他判斷結果,判別為‘可疑域名’進入后續流程;診斷目標的動態特征將被提取,之后使用動態特征分類器來做出判斷,對于高可信度的判斷結果,給出結論并將診斷目標放入相應的黑或白名單中,對于其他判斷結果,只給出結論,不修改黑白名單。

整個檢測流程,最多會進行四次判斷,即白名單過濾器、黑名單過濾器、靜態特征分類器與動態特征分類器。

3.2 黑白名單數據庫的初始化

在本文所述系統中,黑白名單數據庫是自維護的,在系統運行過程中,經動態特征分類器診斷的高可信結果將導入到黑白名單數據庫,以提升檢測效率,但在系統正式啟動前,黑白名單數據庫需要初始化,加入常見的白名單與確定的黑名單。

白名單初始化的方式——取Alexa排名靠前的域名,該列表可以從top.chinaz.com、www.alexa.cn等網站通過爬蟲獲取。

黑名單初始化的方式——有兩種途徑,其一、從掛馬舉報平臺通過爬蟲獲取被掛過木馬的域名,如www.anva.org.cn/virusAddress/listBlack,untroubled.org/spam/等;其二,利用公開的垃圾郵件數據庫,提取其中的域名。掛馬和垃圾郵件是僵尸網絡的主要用途,因此其中涵蓋大量惡意域名。

3.3 靜態特征分類器

靜態特征分類器主要針對于Domain Flux技術相關的惡意域名進行實時檢測,它的檢測原理基于這樣的前提假設,良好的(或正常的)域名構造方式是有一定統計規律的,如長度不宜過長,即使有數字但也不會太多,數字與字母交替的情況一般不超過兩次,這些構造規律本質上是保證域名可以被人們輕易記住,印象深刻,有益于網站的推廣,值得注意的是,這種域名往往很早被搶注甚至炒作,因此注冊成本很高;相反,僵尸網絡利用域名的目的并不是讓人去記住,而是用于計算機間的連接,結合注冊成本的考慮,根本不會考慮上述構造規律,因此以這些規律出發,可以有效建立區分惡意/正常域名的統計特征。

本系統涉及以下靜態特征:

1)域名長度——

FQDN的總長度,如www.163.com的長度為11。

2)數字比例

其中為FQDN中數字的數量。

3)數字與字母切換比例——DigitCharRatio

相鄰兩個字符稱為一個“相鄰字符對”,若一個相鄰字符對中只存在一個數字,則為一個“數字與字母切換”,該特征為數字與字母切換總數與相鄰字符對總數的比例。

4)站點名與主域名長度比例

其中為FQDN中站點名稱的長度,為主域名的長度。如:www.163.com的站點名稱為www,,主域名為163,。

5)連接符的數量——ConnectcharNum

FQDN中連接符“-”的個數。

6)最大詞長度

MaxWordLength為以小數點“.”為分隔符,將FQDN分割為多個字符串,其中最長的字符串的長度。

7)國家頂級域名的類型——CountryCode

如“cn”,”jp”等。

8)國際頂級域名的類型——InterCode

如“com”,”net”等。

9)二級國際頂級域名的類型——Inter2Code

如“edu”,“gov”等。

如圖1所示,靜態特征分類器的訓練樣本來自現有黑白名單,針對每一個FQDN可以直接計算上述靜態特征,從而形成訓練樣本,樣本依黑白名單,標注為兩類——正常域名、惡意域名。針對這些樣本,利用SVM算法建立分類器模型,該分類器模型除判別類別外,還支持輸出概率。

3.4 動態特征分類器

動態特征分類器主要針對于FFSN技術相關的惡意域名進行實時檢測,它的檢測原理基于這樣的前提假設,正常的域名一般是分為兩類,其一、一個域名就對應一個ip,TTL(域名緩存時長)一般較大,這是最常見的情況;其二、一個域名對應一組固定的ip,這些ip基本是固定的,且物理位置基本固定,這種情況一般發生在訪問量很大的站點,這些站點利用CDN技術,實現負載均衡。

對于其他情況則很可能是僵尸網絡利用惡意域名在維護網絡整體的通信的表象。例如,由于僵尸網絡的脆弱性,C&C代理主機經常性失效,此時一個惡意域名對應的ip就需要被替換為新的C&C代理主機,因此ip經常性變換、地理位置分布變化等就是一些明顯的現象。基于這些現象,可以建立一下統計特征,對于同一診斷目標(域名),采集N次(經驗值20次,間隔3小時)DNS請求返回的結果:

1)IP信息熵

該動態特征構造的基本思路是,把DNS結果中的IP分為4個字節,形成一個字節數組,以字節的頻度為基礎建立熵,用來評估返回ip的穩定性。

形式化定義:

惡意域名檢測4878,其中惡意域名檢測4923為第i次DNS請求的返回的第k個IP,IPSet為返回的IP集合。

惡意域名檢測4999 ,為算子從IP中以“.”分割,提取4個字節(此處假設IPv4,IPv6的處理方式與此類似)。

惡意域名檢測5088其中P(B)表示一個字節B的概率,B∈[0,254]? ,N為總共返回結果的次數。|·|算子表示集合的基,即元素個數,注意即使惡意域名檢測5302 ,它們只是值相同,但仍代表兩個不同的元素。

惡意域名檢測5366

從而上面給出IP信息熵的定義。

2)IP一致度

該動態特征構造的基本思路是,IP去重總數*請求次數/IP不去重總數,正常的域名應該為1.0,而惡意域名往往大于1。

沿用1)中假設,

惡意域名檢測5497

惡意域名檢測5541,只表示它們值相同,但仍為兩個元素。

3)IP變化次數

該動態特征構造的基本思路是,統計每次DNS查詢返回的一組IP集合發生變化的頻度,若相鄰兩次查詢的返回結果(兩個IP集合),完全相同,則視為無變化,否則計數加1。

4)IP國家分布變化次數

該動態特征構造的基本思路是,計算每一次DNS查詢結果的IP所屬國家的比率,若相鄰兩次查詢的IP所屬國家的比率完全相同,則視為無變化,否則計數加1。

Country={中國,美國,日本,……法國}

IP國家分布變化次數的形式化定義為惡意域名檢測5835,其中R(c)為國家c的占比,

惡意域名檢測5929 惡意域名檢測5972 為算子,提取惡意域名檢測6019所屬國家。

5)查詢失敗的頻度

該動態特征構造的基本思路是,當沒有成功查詢到域名時,DNS服務器會返回NxDomain狀態,該特征為此狀態出現的次數。

6)TTL_MIN

每一個DNS查詢結果都附帶一個TTL屬性,告知緩存服務器建議在TTL秒后更新該域名的緩存記錄,最小TTL指N次查詢返回結果中最小的TTL值。

7)TTL_MAX

最大TTL指N次查詢返回結果中最大的TTL值。

8)TTL_AVG

TTL均值指N次查詢返回結果中的TTL值的平均值。

9)TTL_STD

TTL標準差指N次查詢返回結果中的TTL值的標準差。

10)別名個數

該動態特征構造的基本思路是,一個域名有時會設置別名,正常域名的別名應該是固定的,該特征是N次查詢返回結果中出現的別名個數。

11)權威DNS服務器主域名一致率

該動態特征構造的基本思路是,一般來講,一個域名的所有權威服務器的主域域名是一致的,主域域名的數量遠遠小于權威服務器FQDN的數量,該特征是權威服務器的主域域名的最高頻度與權威服務器的主域域名總頻度的比率。

與靜態特征分類器的訓練過程類似,仍然從黑白名單中獲取訓練樣本,有所不同的是,這里需要依靜態特征對黑名單進行過濾,這是因為黑名單的標注來源于互聯網的一般用戶,其標注可靠性較低,在建立模型前有必要提高標注精度,而靜態特征可有效區分惡意與正常域名。

過濾的規則由人工進行設定,經驗地,可采用:

數字比例<0.5 or數字與字母切換比例>0.3 or域名長度>10

樣本形成后,通過DNS的定時查詢,完成上述動態特征的原始數據獲取及其統計值,最后利用SVM算法完成動態特征分類器的建模。

4.原型系統

相應的原型系統依照上述原理所設計,系統原型采用久經考驗的高并發服務框架Twisted作為底層框架,前端展現采用了Zend Framework,數據持久化采用了Mongodb,系統運行于Ubuntu12,系統語言采用python,因此系統具備跨操作系統的可移植性。

4.1 系統功能

1)實時查詢

除了直接將判斷結果展示給用戶外,本系統最大的意義在于,向其他安全產品提供惡意域名相關的數據信息,以支持這些安全產品達到更好的檢測效果,這些外延設備、軟件系統可以通過http請求的方式,獲得相關數據,例如curl命令:

curl http://192.168.55.100:8080/?IP=192.168.55.11&DNS=www.163.com

該命令以Json格式返回,對應域名的動/靜態惡意域名概率(如果建立動態特征的原始數據量不足,則相應值為None),其結果如下:

{‘filter': ‘Norm’, ‘ip': ‘192.168.55.11’, ‘static': {u’NormPossibility': u’0.838253′, u’timepoint': 1398411842, u’MaliPossibility': u’0.161747′}, ‘timepoint': 1400728820, ‘dns': ‘www.163.com’}

其中,Filter項表示黑白名單過濾結果,’Norm’與’Mali’分別表示命中白與黑名單,static項表示基于靜態特征的判斷結果,dynamic項表示基于動態特征的判斷結果。

相應的,下文介紹的界面展示的信息,基本上都可以通過http協議來獲取,如:

curl http://192.168.55.100:8081/? DNS=www.163.com&detail=1

上面的命令可以獲得相應域名的基本信息,包括動態特征、靜/動態模型的判斷結果,以及本地ip的歷史請求信息,與歷史解析信息。

2)域名信息查詢

域名信息包括該域名的動態惡意域名概率、靜態惡意域名概率,解析情況的歷史,在什么時間被解析為哪些ip地址,這些ip的物理位置,有哪些本地ip對其進行過查詢,以及頻度比例,原型界面如下:

惡意域名檢測3

圖3 域名信息查詢

這里提供了系統主要的判斷依據,包括一些動態統計特征,如TTL、IP集合變化均值等,靜態特征沒有顯示,但通過http協議也可以請求到Json格式的動/靜態特征數據,它們是概率生成的基礎;同時該界面還提供了,解析ip的物理位置,其是動態的,如下圖展示了ak.exe.imgfarm.com的解析歷史情況,這些信息對于進一步對域名進行定性,提供了豐富有效的信息;右側提供的本地ip對該域名的請求情況,為定位僵木蠕的被控主機提供了直接信息。

惡意域名檢測4圖4 域名解析IP地理位置分布

上圖是一個動畫的截圖,該動畫提供了域名ak.exe.imgfarm.com在不同時間點的,解析ip的物理位置變化情況,如上圖所示,該域名每隔10小時,往往會變化所解析的ip,同時物理位置不斷變化,橫跨美國、日本、歐洲,極不穩定,從動態特征的角度,十分可疑。

3)本地ip信息查詢

系統內部維護了本地ip查詢dns的歷史記錄,基于這個數據我們可以獲得一個本地ip近期訪問可疑域名的情況,原型界面如下:

惡意域名檢測5圖5 本地ip信息查詢

以上界面為用戶提供了,這個ip在什么時間,訪問了哪些可疑域名,這些可疑域名的動/靜態惡意域名概率,以及訪問可疑域名的頻率,結合其他網絡安全檢測信息,如流量特征、命中規則情況,可進一步確定該本地ip的網絡安全狀況。

注:本界面所展示信息,同樣支持http請求獲得Json格式的相同數據,外延產品可以方便地獲取及處理。

4)全局信息查詢

全局信息查詢,相當于一套惡意域名檢測系統的監控平臺,可以提供所防護網絡近一段時間,與dns請求相關的一些情況,原型界面如下:

惡意域名檢測6圖6 全局信息查詢

該界面從全局dns請求的視角,告訴用戶近一段時間:

1)動態惡意域名概率的均值波動情況;

2)靜態惡意域名概率的均值波動情況;

3)出現了哪些動態惡意域名概率高的域名,以及訪問它的本地ip;

4)出現了哪些動態惡意域名概率高的域名,以及訪問它的本地ip。

在分析開始時,用戶可以從以上這些信息入手,定位在何時、哪些本地ip訪問了哪些可疑域名,這是一個較好的分析入手點。

注:本界面所展示信息,同樣支持http請求獲得Json格式的相同數據,外延產品可以方便地獲取及處理。

4.2 應用方式

本系統的設計初衷是實現一個獨立運行的系統,通過http協議的API對外提供支持服務。對于允許Internet訪問的環境(準確的說,是訪問dns服務器)下,本系統直接部署,自行運維,包括建立動態特征的原始數據的自動采集,與模型更新。

對于不允許訪問dns服務器的環境下,可通過以下方式使用本系統提供的服務或數據:

1)部署本系統,但關閉建立動態特征的原始數據的自動采集,通過定期手工更新模型,此種方式下,靜態特征及其分類器可用,但動態特征及其分類器只支持數據庫中已更新的域名;

2)部署本系統,將建立動態特征的原始數據的自動采集關閉,但建立一個API(目前未開發),外延設備通過它將dns請求信息的返回結果導入到本系統數據,達到類似于‘原始數據的自動采集’的作用,這種情況下,靜/動態分類器可工作,但由于‘自動采集’是周期性采集,而外延設備的注入信息可能在時間長度和數量上都會不足,對于動態分類器判斷的及時性和有效性都會有一定影響(然而,由于有了網絡中真實的dns請求行為數據,有可能誘導出基于請求行為的新的檢測技術,這是好的一方面);

3)不部署本系統,本系統只負責導出白名單及其相關解析IP列表,和可疑域名名單及其相關解析IP列表(需要從數據庫中以一定指標過濾,目前未開發),講這些數據直接推送給外延設備,供其利用。

5.結束語

相較于一個成熟的產品,本文所述的惡意域名檢測方法及其原型系統必然有很多不足和缺陷,然而筆者認為其仍是填補國內相關空白的積極嘗試,隨著研究進程的發展,筆者感到這一領域依然存在著很大的挑戰,諸多問題對于惡意域名檢測效果會產生嚴重的影響,如中西方不同的域名構成習慣,CDN等技術對動態特征的混淆等等,這些問題還有待我們去深入研究;在系統的普適性方面,對于在與外部網絡隔絕的部署環境下,如何利用本地產生的DNS請求與解析信息建立動態特征,也是一個非常有意義的研究方向。

上一篇:基于MSEM的工業網絡安全防護系統研究

下一篇:全范式檢測框架淺析