一種僵尸網(wǎng)絡(luò)分布式實(shí)時(shí)檢測方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通訊領(lǐng)域,尤其涉及一種僵尸網(wǎng)絡(luò)分布式實(shí)時(shí)檢測方法和系統(tǒng)。
【背景技術(shù)】
[0002] 當(dāng)前,全球互聯(lián)網(wǎng)安全威脅正處于深遠(yuǎn)變革階段,攻擊者的攻擊目的從針對網(wǎng)絡(luò) 架構(gòu)本身,使其不能夠正常使用,轉(zhuǎn)移到以普通用戶和相關(guān)組織為目標(biāo)。這類新型攻擊直接 影響了全球網(wǎng)絡(luò)用戶的日常生活,威脅到了企業(yè)用戶和政府網(wǎng)絡(luò)的安全。例如,計(jì)算機(jī)用戶 正在遭受間諜軟件窺探其敏感信息、垃圾郵件對其郵箱賬戶進(jìn)行洪泛攻擊、釣魚網(wǎng)站偷竊 認(rèn)證數(shù)據(jù)等。這些攻擊的核心就是大量被控制的計(jì)算機(jī),這些機(jī)器可能位于世界各地的家 庭、學(xué)校、公司或政府。攻擊者使用這些受控主機(jī)作為匿名代理去隱藏其真實(shí)身份和意圖, 同時(shí)放大攻擊能力。僵尸惡意程序能夠使操作者遠(yuǎn)程控制受控主機(jī),并將這些主機(jī)組織成 僵尸網(wǎng)絡(luò)。僵尸網(wǎng)絡(luò)問題的范圍很難定義,由于其受控主機(jī)高度的可轉(zhuǎn)換特性(由受控主 機(jī)轉(zhuǎn)變?yōu)檎V鳈C(jī)),僵尸網(wǎng)絡(luò)很難檢測,甚至很難評估。不過,截止2013年底,CERT已經(jīng) 報(bào)道最大的僵尸網(wǎng)絡(luò)包含近500, 000受控主機(jī),而且已經(jīng)報(bào)告的受控主機(jī)數(shù)目接近300萬。
[0003] 目前,傳統(tǒng)的基于主機(jī)的僵尸惡意軟件檢測方法,例如反病毒掃描器,對于檢測僵 尸網(wǎng)絡(luò)具有一定的局限性。為了輔助檢測,基于網(wǎng)絡(luò)的僵尸網(wǎng)絡(luò)檢測方法已經(jīng)被提出來,并 開始被廣泛研究。當(dāng)前,對于僵尸網(wǎng)絡(luò)的檢測多采用事后處理機(jī)制,即類CERT機(jī)構(gòu)在發(fā)現(xiàn) 某個(gè)大型網(wǎng)站或重要網(wǎng)絡(luò)受到DDoS攻擊或垃圾郵件攻擊時(shí),才開始協(xié)調(diào)相關(guān)部門和安全 企業(yè)進(jìn)行調(diào)查,其調(diào)查結(jié)果多數(shù)情況是不能夠定位僵尸網(wǎng)絡(luò)控制節(jié)點(diǎn)和攻擊發(fā)起人,甚至 不能夠發(fā)現(xiàn)實(shí)施攻擊的僵尸網(wǎng)絡(luò)受控主機(jī)。這個(gè)過程中,攻擊所造成的損失以及調(diào)查的代 價(jià)非常大,所以研究和實(shí)現(xiàn)一種有效的、能夠?qū)嵱糜诟黝惥W(wǎng)絡(luò)環(huán)境(企業(yè)網(wǎng),互聯(lián)網(wǎng)服務(wù)提 供商(ISP))的、分布式的實(shí)時(shí)僵尸網(wǎng)絡(luò)檢測方法是非常必要的。
[0004] 對當(dāng)前僵尸網(wǎng)絡(luò)檢測技術(shù)調(diào)研,主流的技術(shù)例如BotSniffer、BotMiner或TAMD等 系統(tǒng)通常采用關(guān)聯(lián)網(wǎng)絡(luò)中多個(gè)主機(jī)的行為,而且依賴僵尸網(wǎng)絡(luò)產(chǎn)生的噪音進(jìn)行檢測,例如 垃圾郵件和DoS行為,而這類行為妨礙了偷竊類僵尸惡意軟件的檢測。盡管,當(dāng)前存在的 許多系統(tǒng)都允許檢測主機(jī)僵尸惡意軟件感染,但該類檢測產(chǎn)品通常使用的是深度包解析方 法。這類方法特征提取階段時(shí)間代價(jià)較大,僅適用于企業(yè)千兆網(wǎng)絡(luò)環(huán)境,難以應(yīng)用到萬兆企 業(yè)環(huán)境(丟包嚴(yán)重),更難以應(yīng)用于ISPs客戶環(huán)境。
【發(fā)明內(nèi)容】
[0005] 為了解決上述問題,本發(fā)明提出了一種僵尸網(wǎng)絡(luò)分布式實(shí)時(shí)檢測方法和系統(tǒng),能 夠既可以應(yīng)用在千兆流量的企業(yè)網(wǎng),又可以應(yīng)用到ISPs網(wǎng)絡(luò)中;提高了僵尸網(wǎng)絡(luò)檢測的總 體檢測性能。
[0006] 為了達(dá)到上述目的,本發(fā)明提出了一種僵尸網(wǎng)絡(luò)分布式實(shí)時(shí)檢測方法,該方法包 括:
[0007] 數(shù)據(jù)生成組件接收網(wǎng)絡(luò)流量生成網(wǎng)絡(luò)流量元數(shù)據(jù)Netflow信息,并將Netflow信 息發(fā)送給數(shù)據(jù)檢測組件。
[0008] 數(shù)據(jù)檢測組件的檢測模型訓(xùn)練單元,從經(jīng)過標(biāo)注的訓(xùn)練數(shù)據(jù)中提取多個(gè)訓(xùn)練檢測 特征,基于該訓(xùn)練檢測特征,建立作為實(shí)時(shí)檢測單元的檢測標(biāo)準(zhǔn)的檢測模型。
[0009] 數(shù)據(jù)檢測組件的實(shí)時(shí)檢測單元,接收數(shù)據(jù)生成組件實(shí)時(shí)發(fā)送的Netflow信息,基 于該Netf low信息提取多個(gè)檢測特征,將檢測特征與檢測模型進(jìn)行比較,當(dāng)比較結(jié)果匹配 時(shí),得出包括檢測對象標(biāo)識符的告警信息,將該告警信息與主機(jī)黑白名單相比較,得出確認(rèn) 受控僵尸主機(jī)和可疑受控僵尸主機(jī)。
[0010] 優(yōu)選地,數(shù)據(jù)生成組件接收網(wǎng)絡(luò)流量生成網(wǎng)絡(luò)流量元數(shù)據(jù)Netflow信息是指:
[0011] 數(shù)據(jù)生成組件的網(wǎng)絡(luò)設(shè)備接收網(wǎng)絡(luò)流量生成標(biāo)準(zhǔn)的Netflow信息;或,
[0012] 數(shù)據(jù)生成組件的安全設(shè)備或軟件接收網(wǎng)絡(luò)流量生成自定義的Netflow信息。
[0013] 優(yōu)選地,訓(xùn)練數(shù)據(jù)是指:數(shù)據(jù)檢測組件的僵尸惡意樣本處理單元根據(jù)僵尸惡意樣 本家族的分類結(jié)果,在可控的虛擬機(jī)或沙箱環(huán)境下執(zhí)行同一個(gè)家族的惡意代碼,捕獲和存 儲所有的原始網(wǎng)絡(luò)流量,安全設(shè)備或軟件對原始網(wǎng)絡(luò)流量進(jìn)行包重組為原始流并從原始流 中提取的自定義Netf low信息。
[0014] 優(yōu)選地,檢測模型的建立包括以下步驟:
[0015] 構(gòu)建主機(jī)關(guān)系鏈訓(xùn)練子單元基于火花流Spark Stream分布式流處理引擎和訓(xùn)練 數(shù)據(jù),建立訓(xùn)練多級主機(jī)訪問關(guān)系鏈。
[0016] 構(gòu)建主機(jī)Netflow圖譜訓(xùn)練子單元基于Spark Stream分布式流處理引擎和訓(xùn)練 數(shù)據(jù),建立訓(xùn)練主機(jī)Netf low圖譜。
[0017] 基于統(tǒng)計(jì)的特征提取訓(xùn)練子單元分析訓(xùn)練主機(jī)訪問關(guān)系鏈、訓(xùn)練主機(jī)Netflow圖 譜和Netflow信息,提取多個(gè)訓(xùn)練檢測特征,形成訓(xùn)練檢測特征向量。
[0018] 建立檢測模型子單元基于訓(xùn)練檢測特征向量建立檢測模型。
[0019] 優(yōu)選地,多個(gè)訓(xùn)練檢測特征包括:主機(jī)訪問關(guān)系鏈、平均間隔、平均流持續(xù)時(shí)長、平 均流大小、對于流起始時(shí)間的傅里葉變換、IP地址熵、上下行流量比、流量負(fù)載熵。
[0020] 優(yōu)選地,建立檢測模型子單元建立檢測模型的過程包括:使用聚類算法分別對多 個(gè)訓(xùn)練檢測特征向量的各個(gè)分量進(jìn)行聚類,刪除不符合聚類評估函數(shù)的聚類簇,基于剩余 的所述聚類簇建立所述檢測模型。
[0021] 優(yōu)選地,得出確認(rèn)受控僵尸主機(jī)和可疑受控僵尸主機(jī)的步驟包括;
[0022] 構(gòu)建主機(jī)關(guān)系鏈實(shí)時(shí)子單元基于Spark Stream分布式流處理引擎和實(shí)時(shí)的 Netf low信息建立實(shí)時(shí)多級主機(jī)訪問關(guān)系鏈。
[0023] 構(gòu)建主機(jī)Netflow圖譜實(shí)時(shí)子單元基于Spark Stream分布式流處理引擎和實(shí)時(shí) Netf low信息,建立實(shí)時(shí)主機(jī)Netflow圖譜。
[0024] 基于統(tǒng)計(jì)的特征提取實(shí)時(shí)子單元分析實(shí)時(shí)主機(jī)訪問關(guān)系鏈、實(shí)時(shí)主機(jī)Netflow圖 譜和實(shí)時(shí)Netflow信息,提取多個(gè)檢測特征,組成檢測特征向量。
[0025] 僵尸主機(jī)檢測單元將獲取的待檢測的檢測特征向量的每個(gè)分量與檢測模型進(jìn)行 比較,并根據(jù)每個(gè)分量對檢測精度的影響不同給予不同的權(quán)重,根據(jù)比較結(jié)果命中的分量 和權(quán)重計(jì)算檢測特征向量的總體評分;判斷總體評分是否超過預(yù)定的閾值,如果超過閾值, 發(fā)出包括檢測對象標(biāo)識符的告警信息;否則,標(biāo)注正常,進(jìn)行下一輪的檢測。
[0026] 黑白名單子單元將所述告警信息中的檢測對象標(biāo)識符與白名單進(jìn)行比較,刪除與 白名單相匹配的主機(jī),過濾誤報(bào)主機(jī);還用于將告警信息中的檢測對象標(biāo)識符與黑名單進(jìn) 行比較,檢測出與黑名單相匹配的主機(jī),確認(rèn)為受控僵尸主機(jī);將與白名單和所述黑名單都 不匹配的主機(jī)確認(rèn)為可疑受控僵尸主機(jī);并且根據(jù)確認(rèn)結(jié)果,更新黑名單和所述白名單的 內(nèi)容。
[0027] 本發(fā)明還提出一種僵尸網(wǎng)絡(luò)分布式實(shí)時(shí)檢測系統(tǒng),該系統(tǒng)包括:數(shù)據(jù)生成組件和 數(shù)據(jù)檢測組件。
[0028] 數(shù)據(jù)生成組件,用于接收網(wǎng)絡(luò)流量生成網(wǎng)絡(luò)流量元數(shù)據(jù)Netflow信息,并將所述 Netf low信息發(fā)送給所述數(shù)據(jù)檢測組件。
[0029] 數(shù)據(jù)檢測組件,包括檢測模型訓(xùn)練單元和實(shí)時(shí)檢測單元。
[0030] 檢測模型訓(xùn)練單元,用于從經(jīng)過標(biāo)注的訓(xùn)練數(shù)據(jù)中提取多個(gè)訓(xùn)練檢測特征,基于 該訓(xùn)練檢測特征,建立作為實(shí)時(shí)檢測單元的檢測標(biāo)準(zhǔn)的檢測模型。
[0031] 實(shí)時(shí)檢測單元,用于接收數(shù)據(jù)生成組件實(shí)時(shí)發(fā)送的Netflow信息,基于該Netflow 信息提取多個(gè)檢測特征,將檢測特征與檢測模型進(jìn)行比較,當(dāng)比較結(jié)果匹配時(shí),得出包括檢 測對象標(biāo)識符的告警信息,將該告警信息與主機(jī)黑白名單相比較,得出確認(rèn)受控僵尸主機(jī) 和可疑受控僵尸主機(jī)。
[0032] 優(yōu)選地,數(shù)據(jù)生成組件包括網(wǎng)絡(luò)設(shè)備、安全設(shè)備和軟件。
[0033] 網(wǎng)絡(luò)設(shè)備,用于接收網(wǎng)絡(luò)流量生成標(biāo)準(zhǔn)的Netflow信息。
[0034] 安全設(shè)備和軟件,用于接收網(wǎng)絡(luò)流量生成自定義的Netf low信息。
[0035] 優(yōu)選地,數(shù)據(jù)檢測組件還包括僵尸惡意樣本處理單元,用于根據(jù)僵尸惡意樣本家 族的分類結(jié)果,在可控的虛擬機(jī)或沙箱環(huán)境下執(zhí)行同一個(gè)家族的惡意代碼,捕獲和存儲所 有的原始網(wǎng)絡(luò)流量。
[0036] 優(yōu)選地,安全設(shè)備和軟件還用于,對原始網(wǎng)絡(luò)流量進(jìn)行包重組為原始流,從原始流 中提取自定義Netflow信息并保存,形成訓(xùn)練數(shù)據(jù)。
[0037] 優(yōu)選地,檢測模型訓(xùn)練單元包括構(gòu)建主機(jī)關(guān)系鏈訓(xùn)練子單元、構(gòu)建主機(jī)Netflow 圖譜訓(xùn)練子單元、基于統(tǒng)計(jì)的特征提取訓(xùn)練子單元和建立檢測模型子單元。
[0038] 構(gòu)建主機(jī)關(guān)系鏈訓(xùn)練子單元,基于火花流Spark Stream分布式流處理引擎和訓(xùn)練 數(shù)據(jù),建立訓(xùn)練多級主機(jī)訪問關(guān)系鏈。
[0039] 構(gòu)建主機(jī)Netf low圖譜訓(xùn)練子單元,基于Spark Stream分布式流處理引擎和所述 訓(xùn)練數(shù)據(jù),建立訓(xùn)練主機(jī)Netf low圖譜。
[0040] 基于統(tǒng)計(jì)的特征提取訓(xùn)練子單元,用于分析訓(xùn)練主機(jī)訪問關(guān)系鏈、訓(xùn)練主機(jī) Netflow圖譜和Netflow信息,提取多個(gè)訓(xùn)練檢測特征,形成訓(xùn)練檢測特征向量。
[0041] 建立檢測模型子單元,用于基于訓(xùn)練檢測特征向量,建立檢測模型。
[0042] 優(yōu)選地,多個(gè)訓(xùn)練檢測特征包括:主機(jī)訪問關(guān)系鏈、平均間隔、平均流持續(xù)時(shí)長、平 均流大小、對于流起始時(shí)間的傅里葉變換、IP地址熵、上下行流量比、流量負(fù)載熵。
[0043] 優(yōu)選地,建立檢測模型子單元還用于,使用聚類算法分別對多個(gè)訓(xùn)練檢測特征向 量的各個(gè)分量進(jìn)行聚類,刪除不符合聚類評估函數(shù)的聚類簇,基于剩余的聚類簇建立檢測 模型。
[0044] 優(yōu)選地,實(shí)時(shí)檢測單元包括構(gòu)建主機(jī)關(guān)系鏈實(shí)時(shí)子單元、構(gòu)建主機(jī)Netflow圖譜 實(shí)時(shí)子單元、基于統(tǒng)計(jì)的特征提取實(shí)時(shí)子單元、僵尸主機(jī)檢測單元和黑白名單子單元。
[0045] 構(gòu)建主機(jī)關(guān)系鏈實(shí)時(shí)子單元,基于Spark Stream分布式流處理引擎和實(shí)時(shí)的 Netflow信息,建立實(shí)時(shí)多級主機(jī)訪問關(guān)系鏈。
[0046] 構(gòu)建主機(jī)Netf low圖譜實(shí)時(shí)子單元,基于Spark Stream分布式流處理引擎和所述 實(shí)時(shí)Netflow信息,建立實(shí)時(shí)主機(jī)Netflow圖譜。
[0047] 基于統(tǒng)計(jì)的特征提取實(shí)時(shí)子單元,用于分析實(shí)時(shí)主機(jī)訪問關(guān)系鏈、所述實(shí)時(shí)主機(jī) Netflow圖譜和所述實(shí)時(shí)Netflow信息,提取多個(gè)檢測特征,組成檢測特征向量。
[0048] 僵尸主機(jī)檢測單元,用于將獲取的待檢測的檢測特征向量的每個(gè)分量與檢測模型 進(jìn)行比較,并根據(jù)每個(gè)分量對檢測精度的影響不同給予不同的權(quán)重,根據(jù)比較結(jié)果命中的 分量和該權(quán)重計(jì)算檢測特征向量的總體評分;判斷總體評分是否超過預(yù)定的閾值,如果超 過閾值,發(fā)出包括檢測對象標(biāo)識符的告警信息;否則,標(biāo)注正常,進(jìn)行下一輪的檢測;
[0049] 黑白名單子單元,用于將告警信息中的檢測對象標(biāo)識符與白名單進(jìn)行比較,刪除 與白名單相匹配的主機(jī),過濾誤報(bào)主機(jī);還用于將告警信息中的檢測對象標(biāo)識符與黑名單 進(jìn)行比較,檢測出與黑名單相匹配的主機(jī),確認(rèn)為受控僵尸主機(jī);將與白名單和所述黑名單 都不匹配的主機(jī)確認(rèn)為可疑受控僵尸主機(jī);并且根據(jù)確認(rèn)結(jié)果,更新黑名單和所述白名單 的內(nèi)容。
[0050] 與現(xiàn)有技術(shù)相比,本發(fā)明包括:數(shù)據(jù)生成組件接收網(wǎng)絡(luò)流量生成網(wǎng)絡(luò)流量元數(shù)據(jù) Netf low信息,并將該Netf low信息發(fā)送給數(shù)據(jù)檢測組件;數(shù)據(jù)檢測組件的檢測模型訓(xùn)練單 元,從經(jīng)過標(biāo)注的訓(xùn)練數(shù)據(jù)中提取多個(gè)訓(xùn)練檢測特征,基于該訓(xùn)練檢測特征,建立作為實(shí)時(shí) 檢測單元的檢測標(biāo)準(zhǔn)的檢測模型;數(shù)據(jù)檢測組件的實(shí)時(shí)檢測單元,接收數(shù)據(jù)生成組件實(shí)時(shí) 發(fā)送的Netf low信息,基于該Netf low信息提取多個(gè)檢測特征,將該檢測特征與上述的檢測 模型進(jìn)行比較,當(dāng)比較結(jié)果匹配時(shí),得出包括檢測對象標(biāo)識符的告警信息,將所述告警信息 與主機(jī)黑白名單比較,得出確認(rèn)受控僵尸主機(jī)和可疑受控僵尸主機(jī)。本發(fā)明的方案既可以 應(yīng)用在千兆流量的企業(yè)網(wǎng),又可以應(yīng)用到ISPs網(wǎng)絡(luò)中;提高了僵尸網(wǎng)絡(luò)檢測的總體檢測性 能。
【附圖說明】
[0051 ] 下面對本發(fā)明實(shí)施例中的附圖進(jìn)行說明,實(shí)施例中的附圖是用于對本發(fā)明的進(jìn)一 步理解,與說明書一起用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明保護(hù)范圍的限制。
[0052] 圖1為本發(fā)明僵尸網(wǎng)絡(luò)分布式實(shí)時(shí)檢測方法流程