本發(fā)明涉及計算機安全技術領域,更具體地涉及一種木馬隨機化行為的識別方法及系統(tǒng)。
背景技術:
木馬指通過特定程序惡意控制另一臺計算機。木馬通常有兩個可執(zhí)行程序,一是控制端,另一個是被控制端。木馬不經(jīng)計算機用戶允許就可獲得計算機的控制權。具有較高的隱蔽性,長期獲得的計算機控制權及用戶敏感信息。
惡意代碼分析師通過研究木馬的行為,得到檢測木馬的特征,比如木馬駐留的文件路徑、木馬使用的啟動項,木馬文件名等。殺毒軟件可以利用這些特征檢測系統(tǒng)是否存在木馬程序。因此,木馬程序為了增強其隱蔽性,提高被檢測難度,將一些可做特征且修改不會影響運行的內(nèi)容,比如,文件名、服務名、自啟動鍵值等,利用隨機算法在運行時生成。這些隨機化行為,將會影響惡意代碼分析師特征提取的準確性,在自動化提取特征時也成為干擾。
現(xiàn)今,對于木馬隨機化行為識別,主要依靠人工逆向分析發(fā)現(xiàn),這種方式產(chǎn)出效率低,發(fā)現(xiàn)不及時,無法處理大量的樣本文件。
技術實現(xiàn)要素:
為了解決直接連接網(wǎng)絡或通過虛擬網(wǎng)絡通訊方式的惡意代碼流量特征采集方法產(chǎn)生的威脅和低效率的技術問題,提供了根據(jù)本發(fā)明的基于模擬網(wǎng)絡環(huán)境的惡意代碼流量特征采集系統(tǒng)及方法。
根據(jù)本發(fā)明的第一方面,提供了一種木馬隨機化行為的識別方法。該方法包括:運行樣本文件,記錄運行后生成文件的包括文件名稱、文件內(nèi)容hash、文件注冊表信息,產(chǎn)生行為信息1;二次運行樣本文件,記錄運行后生成文件的包括文件名稱、文件內(nèi)容hash、文件注冊表信息,產(chǎn)生行為信息2;對比兩次運行記錄的行為信息,基于不一致的判斷結(jié)果,確定行為信息2對應行為為隨機行為。
在一些實施例中,所述對比兩次運行記錄的行為信息,基于不一致的判斷結(jié)果,確定行為信息2對應行為為隨機行為,包括:
對比兩次記錄的行為信息,如果所述文件內(nèi)容hash一致,所述文件名稱不同,則確定行為信息2對應行為為隨機行為。
在一些實施例中,所述對比兩次運行記錄的行為信息,基于不一致的判斷結(jié)果,確定行為信息2對應行為為隨機行為,包括:
對比兩次記錄的行為信息,如果文件名稱或注冊表信息中的名稱開始部分有設定長度的相同,則確定行為信息2對應行為為部分隨機行為。
在一些實施例中,所述注冊表信息包括鍵值路徑、鍵值名稱、鍵值數(shù)據(jù)。
在一些實施例中,所述對比兩次運行記錄的行為信息,基于不一致的判斷結(jié)果,確定行為信息2對應行為為隨機行為,包括:
對比兩次記錄的行為信息,如果所述注冊表信息的鍵值路徑和鍵值數(shù)據(jù)一致,所述鍵值名稱不同,則確定行為信息2對應行為為隨機行為。
根據(jù)本發(fā)明的第二方面,提供一種木馬隨機化行為的識別系統(tǒng),包括:第一運行模塊,用于運行樣本文件,記錄運行后生成文件的包括文件名稱、文件內(nèi)容hash、文件注冊表信息,產(chǎn)生行為信息1;第二運行模塊,用于二次運行樣本文件,記錄運行后生成文件的包括文件名稱、文件內(nèi)容hash、文件注冊表信息,產(chǎn)生行為信息2;判斷模塊,用于對比兩次運行記錄的行為信息,基于不一致的判斷結(jié)果,確定行為信息2對應行為為隨機行為。
在一些實施例中,所述判斷模塊,用于對比兩次記錄的行為信息,如果所述文件內(nèi)容hash一致,所述文件名稱不同,則確定行為信息2對應行為為隨機行為。
在一些實施例中,所述判斷模塊,用于對比兩次記錄的行為信息,如果文件名稱或注冊表信息中的名稱開始部分有設定長度的相同,則確定行為信息2對應行為為部分隨機行為。
在一些實施例中,所述注冊表信息包括鍵值路徑、鍵值名稱、鍵值數(shù)據(jù)。
在一些實施例中,所述判斷模塊,用于對比兩次記錄的行為信息,如果所述注冊表信息的鍵值路徑和鍵值數(shù)據(jù)一致,所述鍵值名稱不同,則確定行為信息2對應行為為隨機行為。
通過使用本發(fā)明的系統(tǒng)和方法,在相同系統(tǒng)環(huán)境下,兩次運行樣本文件,記錄樣本文件運行后生成文件的名稱、文件內(nèi)容hash、注冊表鍵值(注冊表鍵值信息包括鍵值路徑、鍵值名稱、鍵值數(shù)據(jù))等行為信息,將兩份行為信息進行對比判斷,識別出木馬隨機化行為,既可以規(guī)避隨機命名進入特征,同時關鍵信息隨機化作為一種具有威脅的行為也可以作為識別木馬的一種行為。對需要人工才能夠發(fā)現(xiàn)的木馬隨機化行為實現(xiàn)了自動化識別,可以批量地、及時地發(fā)現(xiàn)木馬隨機化行為。
附圖說明
為了更清楚地說明本發(fā)明的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為根據(jù)本發(fā)明實施例的一種木馬隨機化行為的識別方法的流程圖;
圖2為根據(jù)本發(fā)明實施例的一種木馬隨機化行為的識別系統(tǒng)的框圖。
具體實施方式
下面參照附圖對本發(fā)明的優(yōu)選實施例進行詳細說明,在描述過程中省略了對于本發(fā)明來說是不必要的細節(jié)和功能,以防止對本發(fā)明的理解造成混淆。雖然附圖中顯示了示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本發(fā)明而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈景l(fā)明的范圍完整的傳達給本領域的技術人員。
本發(fā)明基于比較法,實現(xiàn)木馬隨機化行為識別。由于惡意代碼在執(zhí)行過程中,可以使用一些隨機數(shù)算法,隨機生成文件名或服務名等。每次惡意代碼運行,產(chǎn)生的文件名或服務名都不一樣。因此,需要運行系統(tǒng)進程監(jiān)視,對系統(tǒng)中的任何文件操作過程及注冊表的讀寫操作過程進行監(jiān)視,并產(chǎn)生監(jiān)視日志,同時還需要計算hash的工具,對產(chǎn)生的新文件進行hash值的計算。
圖1示出了根據(jù)本發(fā)明實施例的一種木馬隨機化行為的識別方法的流程圖。如圖1所示,方法包括如下步驟:
S110,第一次運行樣本文件,記錄運行后生成文件的包括文件名稱、文件內(nèi)容hash、文件注冊表信息,產(chǎn)生行為信息1。
其中,第一次運行樣本文件,通過系統(tǒng)進程監(jiān)視軟件產(chǎn)生的動態(tài)行為日志,記錄運行樣本后生成文件的名稱、文件內(nèi)容hash、注冊表信息等行為信息1。然后,恢復系統(tǒng)初始狀態(tài),重新運行系統(tǒng)進程監(jiān)視軟件。
由于惡意代碼在執(zhí)行過程中,可以使用一些隨機數(shù)算法,隨機生成文件名或服務名等。每次惡意代碼運行,產(chǎn)生的文件名或服務名都不一樣。
S120,第二次運行樣本文件,記錄運行后生成文件的包括文件名稱、文件內(nèi)容hash、文件注冊表信息,產(chǎn)生行為信息2。
其中,第二次運行樣本文件,通過系統(tǒng)進程監(jiān)視軟件產(chǎn)生的動態(tài)行為日志,記錄運行樣本后生成文件的名稱、文件內(nèi)容hash、注冊表信息等行為信息2。
注冊表信息包括鍵值路徑、鍵值名稱、鍵值數(shù)據(jù)等項。其中,部分注冊表信息表示系統(tǒng)服務的相關信息,包括服務名,服務啟動方式等,部分注冊表信息還表示自啟動項的相關信息。
S130,對比兩次運行記錄的行為信息。
其中,可以通過記錄樣本兩次執(zhí)行產(chǎn)生的行為信息,比較記錄的信息,基于不一致的判斷結(jié)果,確定行為信息2對應行為為隨機行為,以發(fā)現(xiàn)木馬隨機化行為。
S140,如果兩次運行記錄中文件內(nèi)容hash一致,文件名稱不同,則確定行為信息2對應行為為隨機行為。
在一些實施例中,還包括:
S150,如果兩次運行記錄中文件名稱或注冊表信息中的名稱開始部分有設定長度的相同,則確定行為信息2對應行為為部分隨機行為。
具體的,對比兩次的文件名或注冊表變化項目的比例,如果發(fā)現(xiàn)開始長度3之間部分相同,則發(fā)現(xiàn)部分隨機化行為。比如第一次生成的文件名為hra33.dll ,第二次生成的文件名為hra456.dll,然后進行對比,發(fā)現(xiàn)從開頭有3個字符以上(包括三個字符)的相同,剩余的字符不同,則發(fā)現(xiàn)部分隨機化文件名。
在一些實施例中,還包括:
S160,如果兩次運行記錄中注冊表信息的鍵值路徑和鍵值數(shù)據(jù)一致,鍵值名稱不同,則確定行為信息2對應行為為隨機行為。
在一些實施例中,還包括:切換系統(tǒng)環(huán)境包括硬盤序列號、用戶名、計算機環(huán)境運行木馬,記錄上述相同信息,如果發(fā)現(xiàn)變化則發(fā)現(xiàn)具有系統(tǒng)信息依賴的隨機化行為。
圖2為根據(jù)本發(fā)明實施例的一種木馬隨機化行為的識別系統(tǒng)的框圖。如圖2所述,系統(tǒng)可以包括:第一運行模塊210、第二運行模塊220、判斷模塊230。
第一運行模塊210,用于運行樣本文件,記錄運行后生成文件的包括文件名稱、文件內(nèi)容hash、文件注冊表信息,產(chǎn)生行為信息1。
第二運行模塊220,用于二次運行樣本文件,記錄運行后生成文件的包括文件名稱、文件內(nèi)容hash、文件注冊表信息,產(chǎn)生行為信息2。
其中,注冊表信息包括鍵值路徑、鍵值名稱、鍵值數(shù)據(jù)等。部分注冊表信息表示系統(tǒng)服務的相關信息,包括服務名,服務啟動方式等,部分注冊表信息還表示自啟動項的相關信息。
判斷模塊230,用于對比兩次運行記錄的行為信息,基于不一致的判斷結(jié)果,確定行為信息2對應行為為隨機行為。
在一些實施例中,還包括:
判斷模塊230,用于對比兩次記錄的行為信息,如果文件內(nèi)容hash一致,文件名稱不同,則確定行為信息2對應行為為隨機行為。
在一些實施例中,還包括:
判斷模塊230,用于對比兩次記錄的行為信息,如果文件名稱或注冊表信息中的名稱開始部分有設定長度的相同,則確定行為信息2對應行為為部分隨機行為。
在一些實施例中,還包括:
判斷模塊230,用于對比兩次記錄的行為信息,如果注冊表信息的鍵值路徑和鍵值數(shù)據(jù)一致,鍵值名稱不同,則確定行為信息2對應行為為隨機行為。
本發(fā)明通過兩次運行樣本文件,記錄樣本文件運行并得到兩份行為信息,將其進行對比判斷,識別出木馬隨機化行為。對需要人工才能夠發(fā)現(xiàn)的木馬隨機化行為實現(xiàn)了自動化,可以批量地、及時地發(fā)現(xiàn)木馬隨機化行為。通過該種方法可發(fā)現(xiàn)包括木馬使用隨機文件名創(chuàng)建副本、利用隨機服務名注冊系統(tǒng)服務、自啟動項,對于發(fā)現(xiàn)新的隨機化行為具有良好的效果。
至此已經(jīng)結(jié)合優(yōu)選實施例對本發(fā)明進行了描述。應該理解,本領域技術人員在不脫離本發(fā)明的精神和范圍的情況下,可以進行各種其它的改變、替換和添加。因此,本發(fā)明的范圍不局限于上述特定實施例,而應由所附權利要求所限定。