[發(fā)明專利]一種Java Web應(yīng)用內(nèi)存木馬檢測(cè)方法、終端設(shè)備及存儲(chǔ)介質(zhì)有效
| 申請(qǐng)?zhí)枺?/td> | 202110685500.3 | 申請(qǐng)日: | 2021-06-21 |
| 公開(公告)號(hào): | CN113312624B | 公開(公告)日: | 2023-06-30 |
| 發(fā)明(設(shè)計(jì))人: | 曾祥江;鄭杭杰;楊雅芳;陳奮;陳榮有 | 申請(qǐng)(專利權(quán))人: | 廈門服云信息科技有限公司;建信金融科技有限責(zé)任公司 |
| 主分類號(hào): | G06F21/56 | 分類號(hào): | G06F21/56;G06F8/30 |
| 代理公司: | 廈門市精誠(chéng)新創(chuàng)知識(shí)產(chǎn)權(quán)代理有限公司 35218 | 代理人: | 何家富 |
| 地址: | 361000 福建省廈*** | 國(guó)省代碼: | 福建;35 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 java web 應(yīng)用 內(nèi)存 木馬 檢測(cè) 方法 終端設(shè)備 存儲(chǔ) 介質(zhì) | ||
本發(fā)明涉及一種Java?Web應(yīng)用內(nèi)存木馬檢測(cè)方法、終端設(shè)備及存儲(chǔ)介質(zhì),該方法中包括:S1:從運(yùn)行中的Java虛擬機(jī)中獲取Class字節(jié)流;S2:將Class字節(jié)流解析為可識(shí)別的Constant和Method;S3:根據(jù)由敏感規(guī)則構(gòu)成的敏感規(guī)則庫(kù),對(duì)解析后的Constant和Method進(jìn)行匹配,根據(jù)匹配結(jié)果判斷Class字節(jié)流的風(fēng)險(xiǎn)。本發(fā)明相比于傳統(tǒng)的檢測(cè)方法消耗資源更低,進(jìn)而對(duì)業(yè)務(wù)系統(tǒng)運(yùn)行的影響更小,且避免了大量I/O操作。
技術(shù)領(lǐng)域
本發(fā)明涉及木馬檢測(cè)領(lǐng)域,尤其涉及一種Java?Web應(yīng)用內(nèi)存木馬檢測(cè)方法、終端設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù)
Web應(yīng)用系統(tǒng)現(xiàn)廣泛應(yīng)用于社交、購(gòu)物和郵件等重要業(yè)務(wù)線上,在網(wǎng)絡(luò)資產(chǎn)中占有非常重要的地位,系統(tǒng)的受攻擊面廣和攻擊技術(shù)多,導(dǎo)致系統(tǒng)易被入侵。“無(wú)文件馬”(內(nèi)存馬)是“主機(jī)層安全面”的無(wú)文件馬,其實(shí)現(xiàn)方法有:進(jìn)程注入(shellcode注入)、WMI后門(駐留惡意payload)、遠(yuǎn)程執(zhí)行下載命令(如:powershell、mshta、regsvr32等)。“應(yīng)用層安全面”的無(wú)文件馬(即內(nèi)存馬)是通過(guò)web容器(如tomcat、WebLogic等)或容器中的Web應(yīng)用漏洞(如:任意命令執(zhí)行、文件上傳、反序列化等)使惡意代碼駐留在內(nèi)存中,攻擊者經(jīng)常用內(nèi)存馬做權(quán)限維持。較之傳統(tǒng)的“有文件馬”攻擊,這一攻擊方式可以大大減少攻擊者在靶機(jī)中留下的痕跡(傳統(tǒng)的安全產(chǎn)品對(duì)這類攻擊的檢測(cè)能力不足)。攻擊者可以利用Java、C#、PHP等不同開發(fā)語(yǔ)言構(gòu)造不同類型的內(nèi)存馬。受限于檢測(cè)技術(shù)消耗進(jìn)程cpu資源較大。內(nèi)存馬注入方式以及實(shí)現(xiàn)變化不斷,現(xiàn)有的檢測(cè)方法很難低消耗的有效檢測(cè)出。
現(xiàn)使用內(nèi)存木馬檢測(cè)方法主要分為agent注入反編譯Class文件檢測(cè)、利用請(qǐng)求上下文StandardContext遍歷成員變量filterMaps,servletMappings判斷磁盤源檢測(cè)等其他手段口。Agent注入方式通過(guò)Java?instrumentation機(jī)制,將檢測(cè)jar包attach到j(luò)vm進(jìn)程,檢查加載到j(luò)vm中的類是否異常。整體檢測(cè)思路為:獲取jvm中所有加載的類。遍歷每個(gè)類,判斷是否為風(fēng)險(xiǎn)類。這里把可能被攻擊方新增/修改內(nèi)存中的類,標(biāo)記為風(fēng)險(xiǎn)類(比如實(shí)現(xiàn)了filter/servlet的類)。遍歷風(fēng)險(xiǎn)類,檢查是否為webshell;檢查高風(fēng)險(xiǎn)類的Class文件是否存在;反編譯風(fēng)險(xiǎn)類字節(jié)碼,檢查Java文件中包含惡意代碼。其優(yōu)勢(shì)為內(nèi)測(cè)木馬檢出率高,但對(duì)于目標(biāo)進(jìn)程cpu占用和對(duì)系統(tǒng)IO占用資源消耗較大,用JDK官方工具JMC發(fā)現(xiàn)檢測(cè)過(guò)程中在1核2G?cpu使用率飚升到80%~90%之間,嚴(yán)重影響了業(yè)務(wù)應(yīng)用,有概率直接導(dǎo)致進(jìn)程異常崩潰。經(jīng)研究消耗主要集中在dump?Class文件和Class反編譯。
發(fā)明內(nèi)容
為了解決上述問(wèn)題,本發(fā)明提出了一種Java?Web應(yīng)用內(nèi)存木馬檢測(cè)方法、終端設(shè)備及存儲(chǔ)介質(zhì)。
具體方案如下:
一種Java?Web應(yīng)用內(nèi)存木馬檢測(cè)方法,包括以下步驟:
S1:從運(yùn)行中的Java虛擬機(jī)中獲取Class字節(jié)流;
S2:將Class字節(jié)流解析為可識(shí)別的Constant和Method;
S3:根據(jù)由敏感規(guī)則構(gòu)成的敏感規(guī)則庫(kù),對(duì)解析后的Constant和Method進(jìn)行匹配,根據(jù)匹配結(jié)果判斷Class字節(jié)流的風(fēng)險(xiǎn)。
進(jìn)一步的,步驟S1中通過(guò)Java?agent技術(shù)從運(yùn)行中的Java虛擬機(jī)中獲取Class字節(jié)流。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廈門服云信息科技有限公司;建信金融科技有限責(zé)任公司,未經(jīng)廈門服云信息科技有限公司;建信金融科技有限責(zé)任公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110685500.3/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 上一篇:一種環(huán)保氣體絕緣開關(guān)柜斷路器手動(dòng)操作切電聯(lián)鎖裝置
- 下一篇:一種基于DSP技術(shù)的智能環(huán)網(wǎng)柜監(jiān)控系統(tǒng)
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過(guò)保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過(guò)保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過(guò)感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過(guò)限制訪問(wèn)計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過(guò)限制訪問(wèn)或處理程序或過(guò)程
- 基于支持類的標(biāo)識(shí)來(lái)下載Java應(yīng)用的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品
- 啟動(dòng)JAVA應(yīng)用的方法及裝置
- Java虛擬機(jī)的管理方法、監(jiān)控系統(tǒng)和監(jiān)控代理模塊
- 一種運(yùn)行Java程序的方法和裝置
- 一種保護(hù)java程序的方法
- Java卡的Java代碼補(bǔ)丁方法
- 一種基于中間件架構(gòu)下java棧的多線程實(shí)現(xiàn)方法
- 一種支持JAVA卡補(bǔ)丁函數(shù)的智能卡
- 一種改進(jìn)的Java卡初始化方法和Java卡
- JavaEE平臺(tái)構(gòu)建方法、JavaEE平臺(tái)及云端系統(tǒng)
- 提供共享Web模塊的系統(tǒng)和方法
- 管理環(huán)球網(wǎng)網(wǎng)頁(yè)中的環(huán)球網(wǎng)媒體的系統(tǒng)及其實(shí)現(xiàn)方法
- 一種WEB業(yè)務(wù)實(shí)現(xiàn)系統(tǒng)、裝置及方法
- 高速緩存廣播信息的方法和裝置
- 基于QoS指標(biāo)和Web服務(wù)輸出參數(shù)的Web服務(wù)組合方法和裝置
- Web托管審查方法、裝置及Web托管系統(tǒng)
- 用于信息處理和Web瀏覽歷史導(dǎo)航的方法和設(shè)備及電子裝置
- 用于將web站點(diǎn)轉(zhuǎn)換為目標(biāo)web app站點(diǎn)的方法和裝置
- 用于防護(hù)WEB漏洞的方法和設(shè)備
- 一種Web攻擊報(bào)告生成方法、裝置、設(shè)備及計(jì)算機(jī)介質(zhì)
- 在線應(yīng)用平臺(tái)上應(yīng)用間通信的回調(diào)應(yīng)答方法、應(yīng)用及在線應(yīng)用平臺(tái)
- 應(yīng)用使用方法、應(yīng)用使用裝置及相應(yīng)的應(yīng)用終端
- 應(yīng)用管理設(shè)備、應(yīng)用管理系統(tǒng)、以及應(yīng)用管理方法
- 能力應(yīng)用系統(tǒng)及其能力應(yīng)用方法
- 應(yīng)用市場(chǎng)的應(yīng)用搜索方法、系統(tǒng)及應(yīng)用市場(chǎng)
- 使用應(yīng)用的方法和應(yīng)用平臺(tái)
- 應(yīng)用安裝方法和應(yīng)用安裝系統(tǒng)
- 使用遠(yuǎn)程應(yīng)用進(jìn)行應(yīng)用安裝
- 應(yīng)用檢測(cè)方法及應(yīng)用檢測(cè)裝置
- 應(yīng)用調(diào)用方法、應(yīng)用發(fā)布方法及應(yīng)用發(fā)布系統(tǒng)





