本發(fā)明涉及計算機安全技術(shù)領(lǐng)域,更具體地涉及一種惡意樣本養(yǎng)殖蜜網(wǎng)高交互轉(zhuǎn)化低交互的系統(tǒng)及方法。
背景技術(shù):
在現(xiàn)有技術(shù)中,根據(jù)養(yǎng)殖蜜網(wǎng)數(shù)據(jù)的交互程度可以將養(yǎng)殖蜜網(wǎng)技術(shù)分為兩類:低交互養(yǎng)殖蜜網(wǎng)和高交互養(yǎng)殖蜜網(wǎng)。低交互養(yǎng)殖蜜網(wǎng)采用模擬技術(shù),沒有真實的操作系統(tǒng)和服務(wù),交互程度低,只能根據(jù)已知漏洞模擬操作系統(tǒng)和應(yīng)用程序的應(yīng)答行為;高交互養(yǎng)殖蜜網(wǎng)運行在真實的操作系統(tǒng)上,部署真實的應(yīng)用程序,可以構(gòu)造真實的服務(wù)環(huán)境,捕獲更豐富的攻擊數(shù)據(jù)。
目前,需要研究人員在沙箱內(nèi)養(yǎng)殖大量惡意樣本來通過獲取樣本的網(wǎng)絡(luò)信息,達到監(jiān)控命令與控制服務(wù)器或攻擊行為,這種方式稱為高交互的養(yǎng)殖方法。高交互的方式實現(xiàn)的效率較為低下,風(fēng)險較高,需要耗費大量網(wǎng)絡(luò)和實體資源來實現(xiàn)運行環(huán)境,才能達到效果,長期高并發(fā)的實現(xiàn)代價較大。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題,提供了根據(jù)本發(fā)明的一種惡意樣本養(yǎng)殖高交互轉(zhuǎn)化低交互的系統(tǒng)及方法。
根據(jù)本發(fā)明的第一方面,提供了一種惡意樣本養(yǎng)殖高交互轉(zhuǎn)化低交互的系統(tǒng)。該系統(tǒng)包括:高交互模塊,用于基于運行環(huán)境中不少于二次重運行惡意行為,獲取惡意行為網(wǎng)絡(luò)通信的首包數(shù)據(jù),運行中保持不變的首包數(shù)據(jù)為模擬重放數(shù)據(jù);低交互模塊,用于基于所述模擬重放數(shù)據(jù),對相同家族惡意行為發(fā)送所述首包數(shù)據(jù),監(jiān)聽并獲取惡意行為通信的網(wǎng)絡(luò)信息。
在一些實施例中,所述高交互模塊包括:獲取子模塊,用于獲取運行環(huán)境中不少于二次重運行的惡意行為在網(wǎng)絡(luò)通信中首次與服務(wù)器建立通信的所述首包數(shù)據(jù);比對子模塊,用于比對不少于二次的首包數(shù)據(jù),所述首包數(shù)據(jù)保持不變的記錄為模擬重放數(shù)據(jù)。
在一些實施例中,還包括:運行模塊,用于模擬網(wǎng)絡(luò)運行環(huán)境運行惡意行為,并在每次獲取所述首包數(shù)據(jù)之后,重運行惡意行為前對所述模擬網(wǎng)絡(luò)運行環(huán)境進行數(shù)據(jù)清洗。
在一些實施例中,所述獲取子模塊,用于部署在網(wǎng)絡(luò)接口,監(jiān)控連接網(wǎng)絡(luò)發(fā)送數(shù)據(jù),獲取所述首包數(shù)據(jù)。
在一些實施例中,所述首包數(shù)據(jù)包括重運行時第一次與所述服務(wù)器三次握手后的有通信內(nèi)容的數(shù)據(jù)包,由內(nèi)置在所述惡意行為中的指令進行自動發(fā)送。
根據(jù)本發(fā)明的第二方面,提供一種惡意樣本養(yǎng)殖高交互轉(zhuǎn)化低交互的方法,包括:基于運行環(huán)境中不少于二次重運行惡意行為,獲取惡意行為網(wǎng)絡(luò)通信的首包數(shù)據(jù),運行中保持不變的首包數(shù)據(jù)為模擬重放數(shù)據(jù);基于模擬重放數(shù)據(jù),對相同家族惡意行為發(fā)送首包數(shù)據(jù),監(jiān)聽并獲取惡意行為通信的網(wǎng)絡(luò)信息。
在一些實施例中,所述基于運行環(huán)境中不少于二次重運行惡意行為,獲取惡意行為通信的首包數(shù)據(jù),運行中保持不變的首包數(shù)據(jù)為模擬重放數(shù)據(jù),包括:獲取運行環(huán)境中不少于二次重運行的惡意行為在網(wǎng)絡(luò)通信中首次與服務(wù)器建立通信的首包數(shù)據(jù);比對不少于二次的首包數(shù)據(jù),首包數(shù)據(jù)保持不變的記錄為模擬重放數(shù)據(jù)。
在一些實施例中,還包括:模擬網(wǎng)絡(luò)運行環(huán)境運行惡意行為,并在每次獲取首包數(shù)據(jù)之后,重運行惡意行為前對所述模擬網(wǎng)絡(luò)運行環(huán)境進行數(shù)據(jù)清洗。
在一些實施例中,所述獲取不少于二次重運行的惡意行為在網(wǎng)絡(luò)通信中首次與服務(wù)器建立通信的所述首包數(shù)據(jù),用于部署在網(wǎng)絡(luò)接口,監(jiān)控連接網(wǎng)絡(luò)發(fā)送數(shù)據(jù),獲取所述首包數(shù)據(jù)。
在一些實施例中,所述首包數(shù)據(jù)包括重運行時第一次與所述服務(wù)器三次握手后的有通信內(nèi)容的數(shù)據(jù)包,由內(nèi)置在所述惡意行為中的指令進行自動發(fā)送。
通過使用本發(fā)明的方法和系統(tǒng),利用沙箱的網(wǎng)絡(luò)監(jiān)控,獲取真實的惡意行為首包,利用有限的網(wǎng)絡(luò)和實體資源,僅發(fā)送高仿真的惡意行為首包,發(fā)揮最大限度的并發(fā)能力,依據(jù)持續(xù)運轉(zhuǎn)的自動化模塊,實現(xiàn)持續(xù)、自動化的監(jiān)控惡意行為活動??梢詽M足自動化、高效的惡意樣本的監(jiān)控,利用有限的網(wǎng)絡(luò)資源和其他實體資源實現(xiàn)高效的惡意樣本監(jiān)控,獲取最新的惡意樣本的情報資源。
附圖說明
為了更清楚地說明本發(fā)明的技術(shù)方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為根據(jù)本發(fā)明實施例的通信系統(tǒng)100 的應(yīng)用場景的示意圖;
圖2為根據(jù)本發(fā)明實施例的一種惡意樣本養(yǎng)殖高交互轉(zhuǎn)化低交互的系統(tǒng)的框圖;
圖3為根據(jù)本發(fā)明實施例的一種惡意樣本養(yǎng)殖高交互轉(zhuǎn)化低交互的系統(tǒng)高交互模塊的框圖;
圖4為根據(jù)本發(fā)明實施例的一種惡意樣本養(yǎng)殖高交互轉(zhuǎn)化低交互的方法的流程圖。
具體實施方式
下面參照附圖對本發(fā)明的優(yōu)選實施例進行詳細說明,在描述過程中省略了對于本發(fā)明來說是不必要的細節(jié)和功能,以防止對本發(fā)明的理解造成混淆。雖然附圖中顯示了示例性實施例,然而應(yīng)當理解,可以以各種形式實現(xiàn)本發(fā)明而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈景l(fā)明的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。
圖1 是示出了根據(jù)本發(fā)明的通信系統(tǒng)100 的應(yīng)用場景的示意圖。如圖1 所示,通信系統(tǒng)100 可以包括生產(chǎn)網(wǎng)絡(luò)服務(wù)器110 和命令與控制服務(wù)器120。生產(chǎn)網(wǎng)絡(luò)服務(wù)器110 可以通過通信網(wǎng)絡(luò)130 與命令與控制服務(wù)器120 相連并與之進行通信。通信網(wǎng)絡(luò)130 可以是有線的或無線的。具體地,通信網(wǎng)絡(luò)130 的示例可以包括(但不限于):有線電纜或光纖型網(wǎng)絡(luò)、或WLAN(“無線局域網(wǎng)”,可能是WiFi或者WiMAX型的)、或者還可能是藍牙型的無線短距離通信網(wǎng)絡(luò)。
生產(chǎn)網(wǎng)絡(luò)服務(wù)器110在網(wǎng)絡(luò)環(huán)境下向命令與控制服務(wù)器120發(fā)送數(shù)據(jù)包,并接收命令與控制服務(wù)器120傳過來的數(shù)據(jù)包,進行網(wǎng)絡(luò)通信。生產(chǎn)網(wǎng)絡(luò)服務(wù)器110中包括高交互沙箱111和低交互服務(wù)器112,低交互服務(wù)器112可以由用戶A 操作。根據(jù)本發(fā)明,高交互沙箱111能多次養(yǎng)殖并運行惡意代碼樣本,并向命令與控制服務(wù)器120發(fā)送并獲取真實的數(shù)據(jù)包,通過部署在沙箱中的網(wǎng)絡(luò)接口,可獲取多次的首包數(shù)據(jù),找到不變化的首包數(shù)據(jù)發(fā)送給低交互服務(wù)器112,通過低交互服務(wù)器112向命令與控制服務(wù)器120模擬重發(fā)這一首包數(shù)據(jù),同時進行監(jiān)聽,以獲取相同家族樣本的網(wǎng)絡(luò)信息。
圖2是示出了根據(jù)本發(fā)明的一種惡意樣本養(yǎng)殖高交互轉(zhuǎn)化低交互的系統(tǒng)的框圖,如圖2所示,系統(tǒng)包括:高交互模塊210、低交互模塊220和運行模塊230,其中,運行模塊230是可選的。
高交互模塊210,用于基于運行環(huán)境中不少于二次重運行惡意行為,獲取惡意行為網(wǎng)絡(luò)通信的首包數(shù)據(jù),運行中保持不變的首包數(shù)據(jù)為模擬重放數(shù)據(jù);
基于惡意代碼行為樣本,在沙箱運行環(huán)境中對樣本進行養(yǎng)殖,通過部署在沙箱的網(wǎng)絡(luò)接口中的高交互模塊210獲取命令與控制首包數(shù)據(jù)相關(guān)網(wǎng)絡(luò)信息并儲存。然后進行清洗數(shù)據(jù)環(huán)節(jié),在沙箱中進行第二次養(yǎng)殖并再次獲取命令與控制首包數(shù)據(jù),也可多次養(yǎng)殖并獲取首包數(shù)據(jù),若兩次首包數(shù)據(jù)不變則作為低交互的模擬重放數(shù)據(jù)。
這里主要關(guān)注的信息是命令與控制首包數(shù)據(jù),即沙箱的網(wǎng)絡(luò)通信中高交互模塊210第一次與命令與控制服務(wù)器三次握手后的首包,這個首包是由本地的高交互模塊210向命令與控制服務(wù)器發(fā)出的第一個有通信內(nèi)容的數(shù)據(jù)包。因為命令與控制服務(wù)器首包通常是內(nèi)置在樣本中的指令進行自動發(fā)送的,理論上來說,只要模擬樣本中的指令自動發(fā)包的情況,就可以真實的收到命令與控制服務(wù)器發(fā)回的網(wǎng)絡(luò)信息。進一步的,還可進行命令與控制行為,這時,可以對高交互產(chǎn)生的有害通信數(shù)據(jù)(比如DDoS數(shù)據(jù))進行無害化處理,能有效阻止攻擊行為。
第一次運行惡意行為樣本的目的是對已有的樣本進行第一次篩選,篩選出能進行命令與控制通信的樣本,并記錄首包數(shù)據(jù)。
高交互模塊210二次重運行惡意行為,通過高交互養(yǎng)殖樣本,向命令與控制服務(wù)器發(fā)送并獲取真實的命令與控制首包數(shù)據(jù)。對兩次獲取到的命令與控制首包數(shù)據(jù)進行對比,如果首包數(shù)據(jù)信息不變的,則認為是有效的命令與控制首包數(shù)據(jù),并儲存相關(guān)網(wǎng)絡(luò)信息。
因為需要保證發(fā)送的首包數(shù)據(jù)是相對命令與控制首包真實的,才能保證命令與控制服務(wù)器能正確的接收,因此要找到多次發(fā)送的首包中的變和不變的部分。因為樣本中的指令所發(fā)出的首包數(shù)據(jù)可能會依賴于一些變量,比如時間、系統(tǒng)配置信息等等。找到了變和不變的部分,才能發(fā)送更真實的命令與控制首包,以獲得真實的通信數(shù)據(jù),以免發(fā)送的數(shù)據(jù)因命令與控制服務(wù)器的設(shè)置而無法進行命令與控制通信。二次養(yǎng)殖運行惡意行為樣本,并對首包數(shù)據(jù)進行比對的目的是找到首包中可變和不變的地方,以獲取可重放的真實的命令與控制首包數(shù)據(jù)為模擬重放數(shù)據(jù)。
低交互模塊220,用于基于模擬重放數(shù)據(jù),對相同家族惡意行為發(fā)送首包數(shù)據(jù),監(jiān)聽并獲取惡意行為通信的網(wǎng)絡(luò)信息。
基于高交互模塊210獲取的模擬重放數(shù)據(jù),低交互模塊220向命令與控制服務(wù)器中的相同家族樣本模擬重放命令與控制首包數(shù)據(jù),同時接收并監(jiān)聽網(wǎng)絡(luò)通信數(shù)據(jù),以獲取相同家族樣本的網(wǎng)絡(luò)信息。
這里主要關(guān)注的信息是低交互模塊220把命令與控制首包發(fā)送給命令與控制服務(wù)器,與命令與控制服務(wù)器通信,因此可以獲得命令與控制通信數(shù)據(jù)的網(wǎng)絡(luò)信息,對網(wǎng)絡(luò)信息進行處理和儲存。
在一些實施例中,系統(tǒng)還包括:
運行模塊230,用于模擬網(wǎng)絡(luò)運行環(huán)境運行惡意行為,并在每次獲取所述首包數(shù)據(jù)之后,重運行惡意行為前對模擬網(wǎng)絡(luò)運行環(huán)境進行數(shù)據(jù)清洗。
圖3是示出了根據(jù)本發(fā)明的一種惡意樣本養(yǎng)殖高交互轉(zhuǎn)化低交互的系統(tǒng)高交互模塊的框圖,如圖3所示,高交互模塊包括:獲取子模塊212、比對子模塊214。
獲取子模塊212,用于獲取運行環(huán)境中不少于二次重運行的惡意行為在網(wǎng)絡(luò)通信中首次與服務(wù)器建立通信的首包數(shù)據(jù)。這里的服務(wù)器是命令與控制服務(wù)器,獲取子模塊212可以用于部署在高交互沙箱111網(wǎng)絡(luò)接口,監(jiān)控連接網(wǎng)絡(luò)發(fā)送數(shù)據(jù),獲取首包數(shù)據(jù)。
比對子模塊214,用于比對不少于二次的首包數(shù)據(jù),首包數(shù)據(jù)保持不變的記錄為模擬重放數(shù)據(jù)。對首包數(shù)據(jù)進行比對的目的是找到首包中可變和不變的地方,以獲取可重放的真實的命令與控制首包數(shù)據(jù)為模擬重放數(shù)據(jù)。
圖4是示出了根據(jù)本發(fā)明的一種惡意樣本養(yǎng)殖高交互轉(zhuǎn)化低交互的方法的流程圖,如圖4所示,方法包括:
S410,運行環(huán)境中第一次運行惡意行為,獲取網(wǎng)絡(luò)通信中首次與服務(wù)器建立網(wǎng)絡(luò)通信的首包數(shù)據(jù)1,這里的服務(wù)器是命令與控制服務(wù)器。
基于惡意代碼行為樣本,在沙箱運行環(huán)境中對樣本進行養(yǎng)殖,通過部署在沙箱的網(wǎng)絡(luò)接口中的高交互模塊210獲取命令與控制首包數(shù)據(jù)相關(guān)網(wǎng)絡(luò)信息并儲存。
S420,在每次獲取首包數(shù)據(jù)之后,重運行惡意行為前對模擬網(wǎng)絡(luò)運行環(huán)境進行數(shù)據(jù)清洗。
S430,運行環(huán)境中二次重運行惡意行為,獲取惡意行為網(wǎng)絡(luò)通信的首包數(shù)據(jù)2。
S440,比對二次的首包數(shù)據(jù),首包數(shù)據(jù)保持不變的記錄為模擬重放數(shù)據(jù)。
惡意行為樣本中的指令所發(fā)出的首包數(shù)據(jù)可能會依賴于一些變量,比如時間、系統(tǒng)配置信息等等。找到了變和不變的部分,才能發(fā)送更真實的命令與控制首包,以獲得真實的通信數(shù)據(jù),以免發(fā)送的數(shù)據(jù)因命令與控制服務(wù)器的設(shè)置而無法進行命令與控制通信。
首包數(shù)據(jù)包括重運行時第一次與所述服務(wù)器三次握手后的有通信內(nèi)容的數(shù)據(jù)包,由內(nèi)置在所述惡意行為中的指令進行自動發(fā)送。
S450,基于模擬重放數(shù)據(jù),對相同家族惡意行為發(fā)送首包數(shù)據(jù),監(jiān)聽并獲取惡意行為通信的網(wǎng)絡(luò)信息。
本發(fā)明通過利用沙箱的網(wǎng)絡(luò)監(jiān)控,獲取真實的命令與控制首包,利用有限的網(wǎng)絡(luò)和實體資源,僅發(fā)送高仿真的命令與控制首包,發(fā)揮最大限度的并發(fā)能力,依據(jù)持續(xù)運轉(zhuǎn)的自動化模塊,實現(xiàn)持續(xù)、自動化的監(jiān)控命令與控制活動??梢詽M足自動化、高效的惡意樣本的監(jiān)控,利用有限的網(wǎng)絡(luò)資源和其他實體資源實現(xiàn)高效的惡意樣本監(jiān)控,獲取最新的惡意樣本的情報資源。
至此已經(jīng)結(jié)合優(yōu)選實施例對本發(fā)明進行了描述。應(yīng)該理解,本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍的情況下,可以進行各種其它的改變、替換和添加。因此,本發(fā)明的范圍不局限于上述特定實施例,而應(yīng)由所附權(quán)利要求所限定。