本發(fā)明涉及信息安全,特別涉及一種服務(wù)器惡意文件注入行為的檢測方法與系統(tǒng)。
背景技術(shù):
1、當(dāng)前的主機安全防護方法通過在每個端點設(shè)備上安裝輕量級數(shù)據(jù)收集工具或代理來收集數(shù)據(jù),包括登錄、進程運行/創(chuàng)建、目錄/文件訪問日志、dns請求信息等,將數(shù)據(jù)匯到中央服務(wù)節(jié)點。在中央服務(wù)節(jié)點,通過智能檢測算法、ueba(user?and?entity?behavioranalytics,用戶實體行為分析)綜合分析、事件關(guān)聯(lián)分析等技術(shù),識別可疑活動、未知或變種威脅。對高級威脅,攻擊者采用零日漏洞,入侵到系統(tǒng)中,注入免殺改造的惡意軟件,edr則難以進行發(fā)現(xiàn)和查殺,或者進行查殺時已經(jīng)在惡意軟件觸發(fā)運行之后,存在系統(tǒng)仍然被感染的風(fēng)險,實際上管理員難以發(fā)現(xiàn)被注入的文件。當(dāng)前的防護模式屬于事后防護,對高級威脅不能在事發(fā)時進行攔截。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的是解決基于零日漏洞下惡意文件注入的攻擊、在攻擊發(fā)生時實時清除攻擊文件的問題,提供一種服務(wù)器惡意文件注入行為的檢測方法。
2、本發(fā)明的技術(shù)解決方案是:一種服務(wù)器惡意文件注入行為的檢測方法,其包括:
3、步驟1、通過定時檢測系統(tǒng)的網(wǎng)絡(luò)服務(wù)端口,如果發(fā)現(xiàn)新開啟了網(wǎng)絡(luò)服務(wù)端口,則查找啟動該端口的進程對應(yīng)的可執(zhí)行文件名,如進程對應(yīng)的文件名屬于監(jiān)控范圍內(nèi),將該文件名加入到程序管理列表中,形成一個程序管理節(jié)點,系統(tǒng)對該程序管理節(jié)點初始設(shè)定規(guī)則學(xué)習(xí)狀態(tài)和學(xué)習(xí)時間閾值,對該進程進行文件訪問監(jiān)控;
4、步驟2、建立主機文件訪問監(jiān)控機制,收集被監(jiān)控的進程創(chuàng)建文件的事件消息;
5、步驟3、對一個新應(yīng)用程序的監(jiān)控首先進入學(xué)習(xí)階段,監(jiān)控系統(tǒng)對該程序的進程的文件訪問記錄進行統(tǒng)計和學(xué)習(xí),對該進程訪問記錄進行存盤保存;
6、步驟4、當(dāng)學(xué)習(xí)時間超過閾值時,則對監(jiān)控的行為進行總結(jié),提取進程對文件目錄的訪問規(guī)則,進入監(jiān)控模式,依次判斷該程序節(jié)點的分析狀態(tài),如果該程序節(jié)點處于學(xué)習(xí)狀態(tài)但學(xué)習(xí)閾值超時,則提取該程序節(jié)點的訪問記錄及提取訪問規(guī)則,并將規(guī)則注入到該程序的規(guī)則列表中;
7、步驟5、在監(jiān)控模式下系統(tǒng)對被監(jiān)控的進程的文件訪問記錄,結(jié)合該進程的訪問規(guī)則進行分類比對,識別異常文件訪問事件并進行處理。
8、進一步地,步驟1中,通過建立定時處理流程,查詢本機服務(wù)開放的網(wǎng)絡(luò)端口,查找該端口的服務(wù)進程文件名;如果該文件名屬于被監(jiān)控的對象,則對該進程pid進行文件訪問監(jiān)控。
9、進一步地,步驟2中,文件訪問監(jiān)控采用linux系統(tǒng)文件訪問監(jiān)控框架fanotify,監(jiān)聽進程打開、創(chuàng)建的事件消息,提取文件路徑和文件名,收集該進程的目錄訪問記錄,對每個事件解析出訪問文件的進程id和文件名及路徑,將解析結(jié)果形成消息。
10、進一步地,步驟3中,首先將消息寫入數(shù)據(jù)庫中,根據(jù)進程pid,獲得該程序的分析狀態(tài),如果該進程文件訪問監(jiān)控處于學(xué)習(xí)狀態(tài),則將該消息放入緩存中;如果程序已經(jīng)完成了規(guī)則學(xué)習(xí),則根據(jù)規(guī)則,將該訪問記錄進行規(guī)則匹配,研判該訪問是否為可疑訪問,如果不滿足訪問規(guī)則,則將訪問行為記錄到異常文件的訪問記錄表中,同時對監(jiān)控進程異常的文件進行隔離和清除。
11、進一步地,步驟4中,所述訪問規(guī)則是被監(jiān)控進程學(xué)習(xí)到的創(chuàng)建文件的目錄列表。
12、進一步地,步驟5中,異常文件處理時,對新的創(chuàng)建文件的消息,檢查創(chuàng)建文件是否在該目錄列表中,如果創(chuàng)建文件不在該目錄列表,監(jiān)控程序進行告警,并對文件進行刪除和備份。
13、本發(fā)明的有益效果是:通過建立文件訪問監(jiān)控框架,統(tǒng)計和分析網(wǎng)絡(luò)服務(wù)程序的文件訪問行為,通過自學(xué)習(xí)和預(yù)配置形成訪問規(guī)則,形成程序文件創(chuàng)建行為的安全策略。后續(xù)正常業(yè)務(wù)運行中,可以對文件創(chuàng)建行為進行監(jiān)控,檢測出異常文件寫入行為,實時刪除和清理異常文件。該方案通過文件規(guī)則過濾,能有效的實時發(fā)現(xiàn)和清理基于未知漏洞注入的惡意文件,阻斷通過零日漏洞等高級攻擊威脅。該方法簡單易用,適合基于服務(wù)器固定業(yè)務(wù)模型的服務(wù)器場景,具有較好的防護效果。
1.一種服務(wù)器惡意文件注入行為的檢測方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的一種服務(wù)器惡意文件注入行為的檢測方法,其特征在于,步驟1)中,通過建立定時處理流程,查詢本機服務(wù)開放的網(wǎng)絡(luò)端口,查找該端口的服務(wù)進程文件名;如果該文件名屬于被監(jiān)控的對象,則對該進程pid進行文件訪問監(jiān)控。
3.根據(jù)權(quán)利要求1所述的一種服務(wù)器惡意文件注入行為的檢測方法,其特征在于,步驟2)中,文件訪問監(jiān)控采用linux系統(tǒng)文件訪問監(jiān)控框架fanotify,監(jiān)聽進程打開、創(chuàng)建的事件消息,提取文件路徑和文件名,收集該進程的目錄訪問記錄,對每個事件解析出訪問文件的進程id和文件名及路徑,將解析結(jié)果形成消息。
4.根據(jù)權(quán)利要求1所述的一種服務(wù)器惡意文件注入行為的檢測方法,其特征在于,步驟3)中,首先將消息寫入數(shù)據(jù)庫中,根據(jù)進程pid,獲得該程序的分析狀態(tài),如果該進程文件訪問監(jiān)控處于學(xué)習(xí)狀態(tài),則將該消息放入緩存中;如果程序已經(jīng)完成了規(guī)則學(xué)習(xí),則根據(jù)規(guī)則,將該訪問記錄進行規(guī)則匹配,研判該訪問是否為可疑訪問,如果不滿足訪問規(guī)則,則將訪問行為記錄到異常文件的訪問記錄表中,同時對監(jiān)控進程異常的文件進行隔離和清除。
5.根據(jù)權(quán)利要求1所述的一種服務(wù)器惡意文件注入行為的檢測方法,其特征在于,步驟4)中,所述訪問規(guī)則是被監(jiān)控進程學(xué)習(xí)到的創(chuàng)建文件的目錄列表。
6.根據(jù)權(quán)利要求1所述的一種服務(wù)器惡意文件注入行為的檢測方法,其特征在于,步驟5)中,異常文件處理時,對新的創(chuàng)建文件的消息,檢查創(chuàng)建文件是否在該目錄列表中,如果創(chuàng)建文件不在該目錄列表,監(jiān)控程序進行告警,并對文件進行刪除和備份。