日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

內(nèi)存馬檢測方法、裝置及電子設(shè)備與流程

文檔序號:39707200發(fā)布日期:2024-10-22 12:51閱讀:2來源:國知局
內(nèi)存馬檢測方法、裝置及電子設(shè)備與流程

本發(fā)明涉及網(wǎng)絡(luò)安全,具體而言,涉及一種內(nèi)存馬檢測方法、裝置及電子設(shè)備。


背景技術(shù):

1、隨著攻防技術(shù)的不斷更新迭代,內(nèi)存馬逐漸發(fā)展成為一種熱門的攻擊方式。攻擊者通過使用web中間件(位于web服務(wù)器和web應(yīng)用程序之間的軟件組件或庫,用于實現(xiàn)附加功能、處理請求和向應(yīng)用程序提供服務(wù))的漏洞或利用鏈,向目標(biāo)服務(wù)器的內(nèi)存中注入惡意后門或木馬并執(zhí)行,從而實現(xiàn)遠程控制目標(biāo)服務(wù)器,相關(guān)技術(shù)中,主要采用以下兩種方式檢測內(nèi)存馬。

2、方式一、將檢測java(一種編程語言)內(nèi)存馬的程序注入到待檢測進程中,通過重寫相關(guān)函數(shù),從而獲取待檢測進程中已被加載的所有java類的class字節(jié)流進行內(nèi)存馬的檢測分析,但是,該方式需要按照class文件的格式解析所有字節(jié)流內(nèi)容,然后根據(jù)解析結(jié)果進行內(nèi)存馬檢測,檢測效率低,并且受jdk(java?development?kit,java開發(fā)工具包)或jre(java?runtime?environment,java運行時環(huán)境)版本差異的影響,該方式存在兼容性問題,需要針對不同版本編寫對應(yīng)的agent(代理檢測程序),而且在目標(biāo)進程中注入檢測程序,具有侵入性,另外檢測引擎運行于目標(biāo)jvm(java虛擬機)中,增加了待檢測進程的內(nèi)存開銷,進一步降低內(nèi)存馬的檢測效率。

3、方式二、遍歷目標(biāo)jvm所有的底層類,將類的字節(jié)碼整個下載下來,并反編譯,然后檢測待檢測進程是否包含內(nèi)存馬,性能低下,檢測效率較差。

4、針對上述的問題,目前尚未提出有效的解決方案。


技術(shù)實現(xiàn)思路

1、本發(fā)明實施例提供了一種內(nèi)存馬檢測方法、裝置及電子設(shè)備,以至少解決相關(guān)技術(shù)中將檢測程序注入待檢測進程中檢測內(nèi)存馬,或者,下載字節(jié)碼文件進行反編譯的方式檢測內(nèi)存馬,檢測效率低的技術(shù)問題。

2、根據(jù)本發(fā)明實施例的一個方面,提供了一種內(nèi)存馬檢測方法,包括:確定目標(biāo)設(shè)備中處于運行狀態(tài)的目標(biāo)進程;遍歷所述目標(biāo)進程已加載的類對象,并針對遍歷到的每一個類對象,根據(jù)目標(biāo)映射緩存,確定是否將所述類對象作為本次檢測的待檢測類對象,其中,所述目標(biāo)映射緩存中記錄有:進程的進程信息與所述進程的被檢測過的類對象信息之間的映射關(guān)系;在將遍歷到的類對象作為本次檢測的待檢測類對象的情況下,對所述待檢測類對象的常量池進行檢測,得到檢測結(jié)果;根據(jù)所述檢測結(jié)果,確定所述目標(biāo)進程是否被注入內(nèi)存馬。

3、進一步地,對所述待檢測類對象的常量池進行檢測,得到檢測結(jié)果,包括:確定所述待檢測類對象的常量池;基于所述待檢測類對象的常量池在所述目標(biāo)進程的內(nèi)存中的存儲格式,解析所述常量池,得到解析結(jié)果;利用目標(biāo)檢測工具加載預(yù)設(shè)檢測規(guī)則對所述解析結(jié)果進行檢測,得到所述待檢測類對象對應(yīng)的檢測結(jié)果。

4、進一步地,所述常量池的存儲格式中至少包括:第一數(shù)組和第二數(shù)組,其中,所述第一數(shù)組用于存儲所述常量池的類型,所述第二數(shù)組用于存儲所述常量池的數(shù)據(jù);基于所述待檢測類對象的常量池在所述目標(biāo)進程的內(nèi)存中的存儲格式,解析所述常量池,得到解析結(jié)果,包括:基于所述第一數(shù)組和所述第二數(shù)組,解析所述待檢測類對象的常量池,得到所述解析結(jié)果。

5、進一步地,基于所述第一數(shù)組和所述第二數(shù)組,解析所述待檢測類對象的常量池,得到所述解析結(jié)果,包括:解析所述第一數(shù)組,得到所述待檢測類對象的常量池的類型,并解析所述第二數(shù)組,得到所述待檢測類對象的常量池的數(shù)據(jù);基于所述常量池的類型,替換所述常量池的數(shù)據(jù)中的符號引用,得到所述解析結(jié)果,其中,所述符號引用表示采用符號描述數(shù)據(jù)內(nèi)容。

6、進一步地,內(nèi)存馬檢測方法還包括:在被檢測過的類對象中存在屬性信息發(fā)生變化的目標(biāo)類對象時,根據(jù)所述目標(biāo)類對象的發(fā)生變化的屬性信息,更新所述目標(biāo)映射緩存;和/或,在獲得所述待檢測類對象的常量池對應(yīng)的檢測結(jié)果后,根據(jù)所述待檢測類對象的屬性信息以及所述目標(biāo)進程的進程信息,更新所述目標(biāo)映射緩存。

7、進一步地,根據(jù)目標(biāo)映射緩存,確定是否將所述類對象作為本次檢測的待檢測類對象,包括:確定所述目標(biāo)映射緩存中是否存儲有所述類對象的屬性信息;在所述目標(biāo)映射緩存中未存儲有所述類對象的屬性信息,或者所述類對象的屬性信息在上一次檢測之后發(fā)生變化的情況下,確定將所述類對象作為本次檢測的待檢測類對象;在所述目標(biāo)映射緩存中存儲有所述類對象的屬性信息,且所述類對象的屬性信息在上一次檢測之后未發(fā)生變化的情況下,確定不將所述類對象作為本次檢測的待檢測類對象。

8、進一步地,內(nèi)存馬檢測方法還包括:在確定不將當(dāng)前遍歷到的第一類對象作為本次檢測的待檢測類對象的情況下,根據(jù)所述目標(biāo)映射緩存,獲取對所述第一類對象的常量池進行檢測得到的歷史檢測結(jié)果;根據(jù)所述檢測結(jié)果,確定所述目標(biāo)進程是否被注入內(nèi)存馬,包括:根據(jù)所述第一類對象的歷史檢測結(jié)果以及第二類對象的檢測結(jié)果,確定所述目標(biāo)進程是否被注入內(nèi)存馬,其中,所述第二類對象用于作為本次檢測的待檢測類對象。

9、根據(jù)本發(fā)明實施例的另一方面,還提供了一種內(nèi)存馬檢測裝置,包括:第一確定單元,用于確定目標(biāo)設(shè)備中處于運行狀態(tài)的目標(biāo)進程;處理單元,用于遍歷所述目標(biāo)進程已加載的類對象,并針對遍歷到的每一個類對象,根據(jù)目標(biāo)映射緩存,確定是否將所述類對象作為本次檢測的待檢測類對象,其中,所述目標(biāo)映射緩存中記錄有:進程的進程信息與所述進程的被檢測過的類對象信息之間的映射關(guān)系;檢測單元,用于在將遍歷到的類對象作為本次檢測的待檢測類對象的情況下,對所述待檢測類對象的常量池進行檢測,得到檢測結(jié)果;第二確定單元,用于根據(jù)所述檢測結(jié)果,確定所述目標(biāo)進程是否被注入內(nèi)存馬。

10、進一步地,檢測單元包括:第一確定子單元,用于確定所述待檢測類對象的常量池;解析子單元,用于基于所述待檢測類對象的常量池在所述目標(biāo)進程的內(nèi)存中的存儲格式,解析所述常量池,得到解析結(jié)果;檢測子單元,用于利用目標(biāo)檢測工具加載預(yù)設(shè)檢測規(guī)則對所述解析結(jié)果進行檢測,得到所述待檢測類對象對應(yīng)的檢測結(jié)果。

11、進一步地,所述常量池的存儲格式中至少包括:第一數(shù)組和第二數(shù)組,其中,所述第一數(shù)組用于存儲所述常量池的類型,所述第二數(shù)組用于存儲所述常量池的數(shù)據(jù);解析子單元包括:解析模塊,用于基于所述第一數(shù)組和所述第二數(shù)組,解析所述待檢測類對象的常量池,得到所述解析結(jié)果。

12、進一步地,解析模塊包括:解析子模塊,用于解析所述第一數(shù)組,得到所述待檢測類對象的常量池的類型,并解析所述第二數(shù)組,得到所述待檢測類對象的常量池的數(shù)據(jù);替換子模塊,用于基于所述常量池的類型,替換所述常量池的數(shù)據(jù)中的符號引用,得到所述解析結(jié)果,其中,所述符號引用表示采用符號描述數(shù)據(jù)內(nèi)容。

13、進一步地,內(nèi)存馬檢測裝置還包括:第一更新單元,用于在被檢測過的類對象中存在屬性信息發(fā)生變化的目標(biāo)類對象時,根據(jù)所述目標(biāo)類對象的發(fā)生變化的屬性信息,更新所述目標(biāo)映射緩存;和/或,第二更新單元,用于在獲得所述待檢測類對象的常量池對應(yīng)的檢測結(jié)果后,根據(jù)所述待檢測類對象的屬性信息以及所述目標(biāo)進程的進程信息,更新所述目標(biāo)映射緩存。

14、進一步地,處理單元,包括:第二確定子單元,用于確定所述目標(biāo)映射緩存中是否存儲有所述類對象的屬性信息;第三確定子單元,用于在所述目標(biāo)映射緩存中未存儲有所述類對象的屬性信息,或者所述類對象的屬性信息在上一次檢測之后發(fā)生變化的情況下,確定將所述類對象作為本次檢測的待檢測類對象;第四確定子單元,用于在所述目標(biāo)映射緩存中存儲有所述類對象的屬性信息,且所述類對象的屬性信息在上一次檢測之后未發(fā)生變化的情況下,確定不將所述類對象作為本次檢測的待檢測類對象。

15、進一步地,內(nèi)存馬檢測裝置還包括:獲取單元,用于在確定不將當(dāng)前遍歷到的第一類對象作為本次檢測的待檢測類對象的情況下,根據(jù)所述目標(biāo)映射緩存,獲取對所述第一類對象的常量池進行檢測得到的歷史檢測結(jié)果;第二確定單元包括:處理子單元,用于根據(jù)所述第一類對象的歷史檢測結(jié)果以及第二類對象的檢測結(jié)果,確定所述目標(biāo)進程是否被注入內(nèi)存馬,其中,所述第二類對象用于作為本次檢測的待檢測類對象。

16、根據(jù)本發(fā)明實施例的另一方面,還提供了一種電子設(shè)備,包括:處理器;以及存儲器,用于存儲處理器的可執(zhí)行指令;其中,處理器配置為經(jīng)由執(zhí)行可執(zhí)行指令來執(zhí)行本技術(shù)實施例中的內(nèi)存馬檢測方法。

17、根據(jù)本發(fā)明實施例的另一方面,還提供了一種計算機可讀存儲介質(zhì),計算機可讀存儲介質(zhì)存儲有計算機程序,其中,在計算機程序運行時控制計算機可讀存儲介質(zhì)所在設(shè)備執(zhí)行本技術(shù)實施例中的內(nèi)存馬檢測方法。

18、在本發(fā)明中,確定目標(biāo)設(shè)備中處于運行狀態(tài)的目標(biāo)進程;遍歷目標(biāo)進程已加載的類對象,并針對遍歷到的每一個類對象,根據(jù)目標(biāo)映射緩存,確定是否將類對象作為本次檢測的待檢測類對象,其中,目標(biāo)映射緩存中記錄有:進程的進程信息與進程的被檢測過的類對象信息之間的映射關(guān)系;在將遍歷到的類對象作為本次檢測的待檢測類對象的情況下,對待檢測類對象的常量池進行檢測,得到檢測結(jié)果;根據(jù)檢測結(jié)果,確定目標(biāo)進程是否被注入內(nèi)存馬。進而解決了相關(guān)技術(shù)中將檢測程序注入待檢測進程中檢測內(nèi)存馬,或者,下載字節(jié)碼文件進行反編譯的方式檢測內(nèi)存馬,檢測效率低的技術(shù)問題。

19、在本發(fā)明中,通過遍歷目標(biāo)進程中已加載的類對象,查找常量池,通過解析類對象的常量池,確定待檢測進程是否被注入內(nèi)存馬,并利用已檢測類對象的緩存(即目標(biāo)映射緩存)來避免重復(fù)檢測同一個類,達到了無需向待檢測進程注入檢測程序,獲取class字節(jié)流,以及無需下載字節(jié)碼文件,進行反編譯,即可對待檢測進程進行內(nèi)存馬檢測的目的,從而實現(xiàn)了提高內(nèi)存馬的檢測效率的技術(shù)效果。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1