本發(fā)明涉及信息安全技術(shù)領(lǐng)域,尤其涉及一種檢測(cè)無(wú)實(shí)體文件惡意代碼的方法及系統(tǒng)。
背景技術(shù):
傳統(tǒng)的惡意代碼檢測(cè)軟件是遍歷計(jì)算機(jī)磁盤(pán)中的所有文件,提取特征碼進(jìn)行對(duì)比,以及使用特征對(duì)內(nèi)存進(jìn)行匹配,這種方法無(wú)法有效檢出未知的無(wú)實(shí)體文件類惡意代碼。
已經(jīng)有越來(lái)越多的APT(高級(jí)可持續(xù)性威脅)使用無(wú)實(shí)體文件的攻擊方法,利用這種無(wú)實(shí)體文件的惡意代碼在入侵主機(jī)系統(tǒng)后,將自身或衍生的惡意代碼注入到系統(tǒng)內(nèi)存中,并不在磁盤(pán)中產(chǎn)生或存在實(shí)體文件,傳統(tǒng)終端安全產(chǎn)品對(duì)這種無(wú)實(shí)體文件的攻擊檢出較弱。無(wú)實(shí)體文件類惡意代碼有可能將惡意代碼寫(xiě)入注冊(cè)表中,或惡意代碼運(yùn)行后刪除本地文件,這都使得已有的惡意代碼檢測(cè)工具束手無(wú)策。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述技術(shù)問(wèn)題,本發(fā)明基于進(jìn)程和模塊與文件的對(duì)應(yīng)關(guān)系來(lái)判定是否存在無(wú)實(shí)體文件惡意代碼,解決了傳統(tǒng)基于特征碼的檢測(cè)方法無(wú)法有效識(shí)別無(wú)實(shí)體文件類惡意代碼的問(wèn)題。
本發(fā)明采用如下方法來(lái)實(shí)現(xiàn):一種檢測(cè)無(wú)實(shí)體文件惡意代碼的方法,包括:
遍歷系統(tǒng)內(nèi)正在運(yùn)行的進(jìn)程和模塊;
獲取所有進(jìn)程和模塊對(duì)應(yīng)的路徑和文件名并逐條形成記錄;
根據(jù)記錄中的路徑和文件名判斷在系統(tǒng)磁盤(pán)下是否存在對(duì)應(yīng)的文件,若存在則放棄相應(yīng)記錄,若不存在則阻止相關(guān)進(jìn)程和模塊的運(yùn)行,并進(jìn)行深度檢測(cè)。
進(jìn)一步地,所述獲取所有進(jìn)程和模塊對(duì)應(yīng)的路徑和文件名并逐條形成記錄,具體為:獲取所有進(jìn)程和模塊對(duì)應(yīng)的路徑和文件名,并以列表的形式記錄在內(nèi)存中。
進(jìn)一步地,所述根據(jù)記錄中的路徑和文件名判斷在系統(tǒng)磁盤(pán)下是否存在對(duì)應(yīng)的文件之前,還包括:將路徑和文件名記錄逐條與白名單匹配,放棄與白名單成功匹配的路徑和文件名記錄。
更進(jìn)一步地,所述白名單,具體為根據(jù)系統(tǒng)文件的路徑和文件名生成的白名單。
上述方法中,所述進(jìn)行深度檢測(cè),具體為:分析并判斷相關(guān)進(jìn)程和模塊是否存在惡意代碼,若存在則提取特征添加到特征庫(kù),若不存在,則提取路徑和文件名添加到白名單。
本發(fā)明可以采用如下系統(tǒng)來(lái)實(shí)現(xiàn):一種檢測(cè)無(wú)實(shí)體文件惡意代碼的系統(tǒng),包括:
進(jìn)程和模塊遍歷模塊,用于遍歷系統(tǒng)內(nèi)正在運(yùn)行的進(jìn)程和模塊;
路徑和文件名獲取模塊,用于獲取所有進(jìn)程和模塊對(duì)應(yīng)的路徑和文件名并逐條形成記錄;
惡意代碼判定模塊,用于根據(jù)記錄中的路徑和文件名判斷在系統(tǒng)磁盤(pán)下是否存在對(duì)應(yīng)的文件,若存在則放棄相應(yīng)記錄,若不存在則阻止相關(guān)進(jìn)程和模塊的運(yùn)行,并進(jìn)行深度檢測(cè)。
進(jìn)一步地,所述路徑和文件名獲取模塊,具體用于:獲取所有進(jìn)程和模塊對(duì)應(yīng)的路徑和文件名,并以列表的形式記錄在內(nèi)存中。
進(jìn)一步地,還包括:白名單匹配模塊,用于將路徑和文件名記錄逐條與白名單匹配,放棄與白名單成功匹配的路徑和文件名記錄。
更進(jìn)一步地,所述白名單,具體為根據(jù)系統(tǒng)文件的路徑和文件名生成的白名單。
上述系統(tǒng)中,所述進(jìn)行深度檢測(cè),具體為:分析并判斷相關(guān)進(jìn)程和模塊是否存在惡意代碼,若存在則提取特征添加到特征庫(kù),若不存在,則提取路徑和文件名添加到白名單。
綜上,本發(fā)明通過(guò)監(jiān)控系統(tǒng)內(nèi)正在運(yùn)行的進(jìn)程和模塊,并獲取進(jìn)程和模塊所對(duì)應(yīng)的路徑和文件名,判斷在系統(tǒng)磁盤(pán)中是否存在對(duì)應(yīng)的文件,若存在則初步判定不存在無(wú)實(shí)體文件類惡意代碼,若不存在則認(rèn)為高度可疑,可以繼續(xù)進(jìn)行深度檢測(cè),進(jìn)而判定是否存在惡意代碼。
有益效果為:本發(fā)明與傳統(tǒng)基于內(nèi)存檢測(cè)不同的是,不依賴于內(nèi)存特征進(jìn)行匹配,而是基于進(jìn)程和模塊與文件的對(duì)應(yīng)關(guān)系來(lái)識(shí)別并判定是否存在惡意代碼。本發(fā)明所述方法及系統(tǒng)能夠應(yīng)用在反病毒產(chǎn)品中,進(jìn)而解決了傳統(tǒng)基于特征碼的檢測(cè)方法無(wú)法有效檢測(cè)無(wú)實(shí)體文件惡意代碼的問(wèn)題。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的一種檢測(cè)無(wú)實(shí)體文件惡意代碼的方法實(shí)施例1流程圖;
圖2為本發(fā)明提供的一種檢測(cè)無(wú)實(shí)體文件惡意代碼的方法實(shí)施例2流程圖;
圖3為本發(fā)明提供的一種檢測(cè)無(wú)實(shí)體文件惡意代碼的系統(tǒng)實(shí)施例結(jié)構(gòu)圖。
具體實(shí)施方式
本發(fā)明給出了一種檢測(cè)無(wú)實(shí)體文件惡意代碼的方法及系統(tǒng)實(shí)施例,為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明中技術(shù)方案作進(jìn)一步詳細(xì)的說(shuō)明:
本發(fā)明首先提供了一種檢測(cè)無(wú)實(shí)體文件惡意代碼的方法實(shí)施例1,如圖1所示,包括:
S101:遍歷系統(tǒng)內(nèi)正在運(yùn)行的進(jìn)程和模塊;
其中,所述模塊為DLL動(dòng)態(tài)鏈接庫(kù)文件,所述DLL文件放置于系統(tǒng)中,當(dāng)執(zhí)行某一個(gè)程序時(shí),相應(yīng)的DLL文件會(huì)被調(diào)用。
S102:獲取所有進(jìn)程和模塊對(duì)應(yīng)的路徑和文件名并逐條形成記錄;
具體為:獲取所有進(jìn)程和模塊對(duì)應(yīng)的路徑和文件名,并以列表的形式記錄在內(nèi)存中。
S103:根據(jù)記錄中的路徑和文件名判斷在系統(tǒng)磁盤(pán)下是否存在對(duì)應(yīng)的文件,若存在則放棄相應(yīng)記錄,若不存在則阻止相關(guān)進(jìn)程和模塊的運(yùn)行,并進(jìn)行深度檢測(cè)。
其中,當(dāng)判定記錄中的路徑和文件名在系統(tǒng)磁盤(pán)下不存在對(duì)應(yīng)的文件,則判定相關(guān)進(jìn)程和模塊是高度可疑的,則調(diào)用反病毒產(chǎn)品或者由分析人員進(jìn)行進(jìn)一步地分析和判斷,進(jìn)而最終判定涉及的進(jìn)程和模塊是否存在無(wú)實(shí)體類惡意代碼。若存在則提取特征添加到特征庫(kù),若不存在,則提取路徑和文件名添加到白名單。
本發(fā)明同時(shí)提供了一種檢測(cè)無(wú)實(shí)體文件惡意代碼的方法實(shí)施例2,如圖2所示,包括:
S201:遍歷系統(tǒng)內(nèi)正在運(yùn)行的進(jìn)程和模塊。
S202:獲取所有進(jìn)程和模塊對(duì)應(yīng)的路徑和文件名并逐條形成記錄。
具體為:獲取所有進(jìn)程和模塊對(duì)應(yīng)的路徑和文件名,并以列表的形式記錄在內(nèi)存中。
S203:將路徑和文件名記錄逐條與白名單匹配,放棄與白名單成功匹配的路徑和文件名記錄。
其中,所述白名單,可以但不限于:根據(jù)系統(tǒng)文件的路徑和文件名生成的白名單。目的在于過(guò)濾系統(tǒng)進(jìn)程和模塊。也可以是用戶根據(jù)需要添加的認(rèn)為是安全的進(jìn)程和模塊。
S204:根據(jù)記錄中的路徑和文件名判斷在系統(tǒng)磁盤(pán)下是否存在對(duì)應(yīng)的文件,若存在則放棄相應(yīng)記錄,若不存在則阻止相關(guān)進(jìn)程和模塊的運(yùn)行,并進(jìn)行深度檢測(cè)。
其中,所述進(jìn)行深度檢測(cè),具體為:分析并判斷相關(guān)進(jìn)程和模塊是否存在惡意代碼,若存在則提取特征添加到特征庫(kù),若不存在,則提取路徑和文件名添加到白名單。
本發(fā)明其次提供了一種檢測(cè)無(wú)實(shí)體文件惡意代碼的系統(tǒng)實(shí)施例,如圖3所示,包括:
進(jìn)程和模塊遍歷模塊301,用于遍歷系統(tǒng)內(nèi)正在運(yùn)行的進(jìn)程和模塊;
路徑和文件名獲取模塊302,用于獲取所有進(jìn)程和模塊對(duì)應(yīng)的路徑和文件名并逐條形成記錄;
惡意代碼判定模塊303,用于根據(jù)記錄中的路徑和文件名判斷在系統(tǒng)磁盤(pán)下是否存在對(duì)應(yīng)的文件,若存在則放棄相應(yīng)記錄,若不存在則阻止相關(guān)進(jìn)程和模塊的運(yùn)行,并進(jìn)行深度檢測(cè)。
優(yōu)選地,所述路徑和文件名獲取模塊,具體用于:獲取所有進(jìn)程和模塊對(duì)應(yīng)的路徑和文件名,并以列表的形式記錄在內(nèi)存中。
優(yōu)選地,還包括:白名單匹配模塊,用于將路徑和文件名記錄逐條與白名單匹配,放棄與白名單成功匹配的路徑和文件名記錄。
更優(yōu)選地,所述白名單,具體為根據(jù)系統(tǒng)文件的路徑和文件名生成的白名單。
上述系統(tǒng)實(shí)施例中,所述進(jìn)行深度檢測(cè),具體為:分析并判斷相關(guān)進(jìn)程和模塊是否存在惡意代碼,若存在則提取特征添加到特征庫(kù),若不存在,則提取路徑和文件名添加到白名單。
本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同或相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
如上所述,上述實(shí)施例給出了一種檢測(cè)無(wú)實(shí)體文件惡意代碼的方法及系統(tǒng)實(shí)施例,首先獲取系統(tǒng)內(nèi)運(yùn)行的進(jìn)程和模塊,獲取進(jìn)程和模塊對(duì)應(yīng)的路徑和文件名,并依據(jù)記錄中的路徑和文件名判斷系統(tǒng)磁盤(pán)下是否存在對(duì)應(yīng)的文件,若不存在則判定疑似存在無(wú)實(shí)體類惡意代碼,并進(jìn)行深度分析確認(rèn)。本發(fā)明提供的上述實(shí)施例能夠彌補(bǔ)傳統(tǒng)檢測(cè)方法無(wú)法檢測(cè)無(wú)實(shí)體文件類惡意代碼的問(wèn)題,能夠有效的識(shí)別和阻止無(wú)實(shí)體文件類惡意代碼。
以上實(shí)施例用以說(shuō)明而非限制本發(fā)明的技術(shù)方案。不脫離本發(fā)明精神和范圍的任何修改或局部替換,均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。