System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數(shù)名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現(xiàn)步驟摘要】
本專利技術涉及信息安全,更具體的說是涉及一種基于安全平行切面的web應用防護系統(tǒng)、方法及裝置。
技術介紹
1、隨著web攻擊手段開始變得復雜,攻擊面也越來越廣。傳統(tǒng)的安全防護手段,像waf、ids等等,大多是基于規(guī)則,很難適用復雜的網絡架構環(huán)境,已經不能滿足企業(yè)對安全的基本需求。而“應用自我保護”技術概念的提出,強調了對應用服務的安全保護,不應該只依賴于外部系統(tǒng),應用服務應該具備自我保護的能力,即構建以內建安全、主動防御、整體防御為主要特點的原生安全技術。
2、在程序開發(fā)中,提高開發(fā)效率、促進可維護性、增強可移植性和兼容性等是軟件工程中的核心目標,也是企業(yè)降本提效的重要措施之一。因此在程序設計時,安全防護和應用服務能夠融合在一起但又相互解耦,即安全能夠深入業(yè)務邏輯,不再是外掛式安全;安全防護即插即用,與應用業(yè)務服務獨立部署,安全防護升級部署不影響應用業(yè)務服務;同時安全能力可編程、可擴展,與業(yè)務各自獨立演進。原生安全需要一個正交融合的平行空間,以既融合又解耦的方式進行安全防護,非常好地滿足了企業(yè)建立“原生安全”能力的需求。
3、當前,基于安全切面實現(xiàn)web應用的方法基本采用以下兩種方式:一種采用啟動時加載代理方式,即在web應用啟動時指定代理程序,這種方式安全切面只能對當前的web應用生效,無法做到批量代理或者對正在運行時的web應用實施代理,局限性大;另一種方式采用運行時加載,但大多是在安全切面啟動時通過啟動參數(shù)方式動態(tài)綁定運行的應用進程,一旦啟動后就無法繼續(xù)對新的web應用進行綁定,沒有友好的人機交互的
技術實現(xiàn)思路
1、針對現(xiàn)有技術中存在的問題,本專利技術的目的在于提供一種基于安全平行切面的web應用防護系統(tǒng)、方法及裝置,能夠有效解決對web應用進行代理插樁時無法人機交互、無法實時動態(tài)批量綁定或卸載等問題。
2、本專利技術為實現(xiàn)上述目的,通過以下技術方案實現(xiàn):
3、一種基于安全平行切面的web應用防護系統(tǒng),包括:attach模塊、boot模塊和engine模塊;
4、attach模塊,用于通過加載基于groovy腳本的人機交互引擎獲取虛擬機上正在運行的業(yè)務應用進程,選擇業(yè)務應用進程進行hook切面的控制操作并加載boot模塊;
5、boot模塊,用于執(zhí)行agentmain方法,初始化并啟動engine模塊;
6、engine模塊,用于初始化切面管理器,通過切面管理器進行hook的加載檢查、instrumentation注冊器類的初始化和transform的重寫,并將hook切面注入到目標類中,為目標對象提供安全防護功能和權限管控功能。
7、相應的,本專利技術還公開了一種基于安全平行切面的web應用防護方法,包括:
8、啟動attach模塊,通過加載基于groovy腳本的人機交互引擎獲取虛擬機上正在運行的業(yè)務應用進程,選擇業(yè)務應用進程進行hook切面的控制操作并加載boot模塊;
9、在boot模塊中,通過執(zhí)行agentmain方法,初始化并啟動engine模塊;
10、加載engine模塊,并初始化切面管理器,通過切面管理器進行hook的加載檢查、instrumentation注冊器類的初始化和transform的重寫,并將hook切面注入到目標類中,為目標對象提供安全防護功能和權限管控功能。
11、進一步,所述啟動attach模塊,通過加載基于groovy腳本的人機交互引擎獲取虛擬機上正在運行的業(yè)務應用進程,包括:
12、啟動attach模塊,加載基于groovy腳本的人機交互引擎,通過groovyscriptengine進入groovy啟動流程主方法,通過com.sun.tools.attach.virtualmachine接口與虛擬機交互,獲取當前虛擬機上所有正在運行的業(yè)務應用進程。
13、進一步,所述選擇業(yè)務應用進程進行hook切面的控制操作并加載boot模塊,包括:
14、通過groovyscriptengine執(zhí)行groovy腳本,提供用戶交互界面;
15、通過用戶交互界面獲取用戶的選擇信息,以確定選擇的業(yè)務應用進程,并確定對業(yè)務應用進程進行hook切面的卸載或安裝操作;
16、通過virtualmachine的loadagent方法加載boot模塊。
17、進一步,所述在boot模塊中,通過執(zhí)行agentmain方法,初始化并啟動engine模塊,包括:
18、在boot模塊的pom文件中配置manifest.mf文件,以指定代理類;
19、當虛擬機加載時,根據(jù)manifest.mf文件,自動查找并調用指定的代理類的agentmain方法;
20、通過運行agentmain方法加載engine模塊,并啟動engine模塊。
21、進一步,所述通過切面管理器進行hook的加載檢查、instrumentation注冊器類的初始化和transform的重寫,并將hook切面注入到目標類中,包括:
22、使用spring動態(tài)注入技術,通過自定義注解來標記hook點;
23、利用抽象工廠模式定義一個hook的抽象類;
24、初始化自定義的instrumentation注冊器,通過類掃描器自動發(fā)現(xiàn)并注冊所有繼承自hook的抽象類的hook子類,并將這些子類收集到set集合中;
25、重寫transform方法,對set集合中的hook子類與目標類進行匹配,如果匹配成功,則利用字節(jié)碼修改技術對目標類的字節(jié)碼進行修改,并插入hook邏輯。
26、進一步,所述hook的抽象類包括基于字節(jié)碼技術的插入邏輯,任一hook點繼承所述抽象類后,可重寫插入邏輯。
27、相應的,本專利技術還公開了一種基于安全平行切面的web應用防護裝置,包括:
28、存儲器,用于存儲計算機程序;
29、處理器,用于執(zhí)行所述計算機程序時實現(xiàn)如上文任一項所述基于安全平行切面的web應用防護方法步驟。
30、對比現(xiàn)有技術,本專利技術有益效果在于:本專利技術提供了一種基于安全平行切面的web應用防護系統(tǒng)、方法及裝置,通過一種自定義注解、類掃描和工廠模式等來統(tǒng)一管理hook切面,并模塊化構建hook程序啟動加載流程,以人機交互的方式展示服務器中的web應用進程以及操作,可隨時靈活地對web應用進行批量注入或者卸載hook。本專利技術在啟動后,加載交互引擎,動態(tài)綁定應用進程并初始化切面管理器。切面管理器主要負責對hook的集中管控、類型匹配、instrumentation的初始化和transform的重寫等,并基于字節(jié)碼修改技術,將不同的hook點注入到目標類方法中。
31、本專利技術通過分模塊架構設計以及基于springboot、groovy、java?ag本文檔來自技高網...
【技術保護點】
1.一種基于安全平行切面的Web應用防護系統(tǒng),其特征在于,包括:attach模塊、boot模塊和engine模塊;
2.一種基于安全平行切面的Web應用防護方法,其特征在于,所述方法采用如權利要求1所述的基于安全平行切面的Web應用防護系統(tǒng);
3.根據(jù)權利要求2所述基于安全平行切面的Web應用防護方法,其特征在于,所述啟動attach模塊,通過加載基于Groovy腳本的人機交互引擎獲取虛擬機上正在運行的業(yè)務應用進程,包括:
4.根據(jù)權利要求3所述基于安全平行切面的Web應用防護方法,其特征在于,所述選擇業(yè)務應用進程進行hook切面的控制操作并加載boot模塊,包括:
5.根據(jù)權利要求4所述基于安全平行切面的Web應用防護方法,其特征在于,所述在boot模塊中,通過執(zhí)行agentmain方法,初始化并啟動engine模塊,包括:
6.根據(jù)權利要求5所述基于安全平行切面的Web應用防護方法,其特征在于,所述通過切面管理器進行hook的加載檢查、Instrumentation注冊器類的初始化和transform的重寫,并將ho
7.根據(jù)權利要求6所述基于安全平行切面的Web應用防護方法,其特征在于,
8.一種基于安全平行切面的Web應用防護裝置,其特征在于,包括:
...【技術特征摘要】
1.一種基于安全平行切面的web應用防護系統(tǒng),其特征在于,包括:attach模塊、boot模塊和engine模塊;
2.一種基于安全平行切面的web應用防護方法,其特征在于,所述方法采用如權利要求1所述的基于安全平行切面的web應用防護系統(tǒng);
3.根據(jù)權利要求2所述基于安全平行切面的web應用防護方法,其特征在于,所述啟動attach模塊,通過加載基于groovy腳本的人機交互引擎獲取虛擬機上正在運行的業(yè)務應用進程,包括:
4.根據(jù)權利要求3所述基于安全平行切面的web應用防護方法,其特征在于,所述選擇業(yè)務應用進程進行hook切面的控制操作并加載boo...
【專利技術屬性】
技術研發(fā)人員:苗功勛,王茂飛,李興國,王金國,張慶亮,
申請(專利權)人:中孚安全技術有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。