System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及計算機與網絡空間安全,尤其涉及一種基于分布式調度機制的web應用防火墻自動測試方法及裝置。
技術介紹
1、web應用防火墻(web?application?firewall,waf)是一種專門設計用于保護web應用程序的安全設備或服務,通過對web業務流量進行智能全方位檢測,有效識別惡意流量并防御,避免源站服務器被惡意入侵,保護網站核心業務安全和數據安全。
2、當前,對于web應用防火墻的測試主要包括對其引擎或規則庫模塊的測試。現階段對web應用防火墻的測試大都基于人工構造的測試用例或者利用測試工具構造的測試用例,這兩種方式構造的測試用例具有滯后性,與真實的網站攻擊流量存在差異,無法引入0day漏洞檢驗web應用防火墻對0day漏洞的防護能力,且構造效率較低。
3、此外,測試人員常采用人工或半自動化的方式對web應用防火墻進行測試,當測試功能較多時,需要人工手動接入大量的防護配置并執行大量的測試用例,一次引擎或規則庫的迭代升級就會消耗較長的時間進行測試,嚴重影響了上線的速度。
4、在web應用防火墻的測試工作中,首先需要將待防護的網站接入web應用防火墻并為該網站配置不同的防護策略(cc防護、bot防護、web基礎防護、ip黑白名單、地域訪問控制等等),接下來就需要針對不同防護模塊構造相應的攻擊流量并觸發攻擊,以檢驗web應用防火墻的各模塊的防護策略是否生效。當前web應用防火墻的防護類型和規則較多,各規則之間存在優先級關系,如ip黑名單策略的優先級高于cc規則,cc規則的優先級又高
技術實現思路
1、本申請示出了一種基于分布式調度機制的web應用防火墻自動測試方法及裝置。
2、第一方面,本申請示出了一種基于分布式調度機制的web應用防火墻自動測試方法,所述方法包括:
3、基于分布式調度機制的一主多從結構,主進程接入預設數量的防護網站,其中,所述預設數量與防護模塊的數量相同;
4、收集測試用例,主進程進行測試用例分組;
5、初始化子進程,主進程將不同組的測試用例分配給與防護網站數量相同的工作節點;
6、每個工作節點并行執行,每個工作節點收到主進程發送的測試用例,執行測試用例,并向主進程上報測試結果;
7、主進程收集測試結果;
8、主進程生成測試結果,發送測試報告。
9、根據本申請第一方面的方法,所述主進程接入不同的防護網站,包括:
10、主進程會根據運行時指定的工作節點數量,動態接入相應數量的防護網站;
11、主進程記錄每個防護網站的域名,并新建以域名命名的測試用例文件夾。
12、根據本申請第一方面的方法,所述收集測試用例,包括如下步驟:
13、s101、設計測試用例,對不同防護模塊分別設計不同的用例模板;
14、s102、獲取真實攻擊流量,自動更新對應測試用例下的攻擊流量;
15、s103、設置爬蟲模塊,定期采集互聯網中公布的0day漏洞,并進行分類,自動創建新的測試用例。
16、根據本申請第一方面的方法,所述用例模板包括對應防護模塊配置接入子模塊、攻擊流量觸發子模塊、web應用防火墻對應防護日志獲取子模塊以及防護模塊驗證子模塊,所述對應防護模塊配置接入子模塊通過讀取其所在文件夾的文件夾名來動態確認在哪一個防護網站下接入防護配置;攻擊流量觸發子模塊通過讀取其所在文件夾的文件夾名來確認對哪一個防護網站發起攻擊,其攻擊請求參數的配置源于攻擊流量對應的配置文件,在配置文件中設置了攻擊流量的uri、port、headers等信息;web應用防火墻對應防護日志獲取子模塊通過其所在文件夾的文件夾名及攻擊流量發送的時間作為參數實時獲取web應用防火墻的防護日志信息;防護模塊驗證子模塊通過配置文件中設置的預期防護信息和日志中獲取的防護信息進行比較來確認防護模塊是否生效。
17、根據本申請第一方面的方法,所述獲取真實攻擊流量,自動更新對應測試用例下的攻擊流量,包括:
18、獲取攻擊集群日志中對應防護模塊的真實攻擊流量;
19、針對對應模塊攻擊流量,保留payload、path、user_agent等攻擊特征,將攻擊域名等信息替換為測試域名信息;
20、用生成的新測試用例替換測試文件中的對應模塊測試用例。
21、根據本申請第一方面的方法,所述主進程進行測試用例分組,包括:
22、主進程掃描指定測試用例文件夾下的所有測試用例,根據防護模塊對測試用例進行分類,并將防護模塊均分放入以域名命名的對應文件夾中。
23、根據本申請第一方面的方法,所述主進程將不同組的測試用例分配給與防護網站數量相同的工作節點,包括:
24、主進程通過execnet創建網關,與各個工作節點相連接;
25、發送任務時,主進程使用execnet的send(發送)方法將測試用例路徑發送給工作節點;
26、工作節點通過execnet的receive(接收)方法,將測試結果回傳給主進程。
27、根據本申請第一方面的方法,所述主進程與所述工作節點之間的進程通信,包括如下步驟:
28、s201、基于輪詢的調度方法,主進程將每個文件夾中約30%的測試用例發送到對應的工作節點;
29、s202、基于探測的方法,主進程將每個文件夾中約70%的測試用例發送到對應的工作節點;
30、s203、當工作節點待執行的用例還剩5%時,工作節點會發送一個“hungry”信號給主進程,主進程收到信號后會繼續給對應工作節點發送新的測試用例;
31、s204、當主進程沒有更多測試任務時,發送“shutdown”信號給所有工作節點,工作節點收到信號后退出進程;
32、s205、主進程等待所有工作節點退出后,執行防護網站接出和報告發送操作。
33、根據本申請第一方面的方法,所述每個工作節點并行執行,包括:
34、每個工作節點收到任務后,在獨立環境中順序執行分配到的測試用例;
35、工作節點會在收集完一套完整的測試集后,將收集到的測試id發送給不承擔執行任務的主進程。
36、一種基于分布式調度機制的web應用防火墻自動化測試裝置,包括處理器和用于存儲處理器可執行指令的存儲器;其中,所述處理器被配置為執行如上述任一方面所述的基于分布式調度機制的web應用防火墻自動化測試的方法。
37、本申請提供的技術方案可以包括以下有益效果:
3本文檔來自技高網...
【技術保護點】
1.一種基于分布式調度機制的WEB應用防火墻自動測試方法,其特征在于,所述方法包括:
2.根據權利要求1所述的基于分布式調度機制的WEB應用防火墻自動測試方法,其特征在于,所述主進程接入預設數量的防護網站,包括:
3.根據權利要求2所述的基于分布式調度機制的WEB應用防火墻自動測試方法,其特征在于,所述收集測試用例,包括如下步驟:
4.根據權利要求3所述的基于分布式調度機制的WEB應用防火墻自動測試方法,其特征在于,所述用例模板包括對應防護模塊配置接入子模塊、攻擊流量觸發子模塊、WEB應用防火墻對應防護日志獲取子模塊以及防護模塊驗證子模塊,所述對應防護模塊配置接入子模塊通過讀取其所在文件夾的文件夾名來動態確認在哪一個防護網站下接入防護配置;攻擊流量觸發子模塊通過讀取其所在文件夾的文件夾名來確認對哪一個防護網站發起攻擊,其攻擊請求參數的配置源于攻擊流量對應的配置文件,在配置文件中設置了攻擊流量的uri、port、headers等信息;WEB應用防火墻對應防護日志獲取子模塊通過其所在文件夾的文件夾名及攻擊流量發送的時間作為參數實時獲取WEB應用防火
5.根據權利要求3所述的基于分布式調度機制的WEB應用防火墻自動測試方法,其特征在于,所述獲取真實攻擊流量,自動更新對應測試用例下的攻擊流量,包括:
6.根據權利要求3所述的基于分布式調度機制的WEB應用防火墻自動測試方法,其特征在于,所述主進程進行測試用例分組,包括:
7.根據權利要求1所述的基于分布式調度機制的WEB應用防火墻自動測試方法,其特征在于,所述主進程將不同組的測試用例分配給與防護網站數量相同的工作節點,包括:
8.根據權利要求7所述的基于分布式調度機制的WEB應用防火墻自動測試方法,其特征在于,所述主進程與所述工作節點之間的進程通信,包括如下步驟:
9.根據權利要求1所述的基于分布式調度機制的WEB應用防火墻自動測試方法,其特征在于,所述每個工作節點并行執行,包括:
10.一種基于分布式調度機制的WEB應用防火墻自動測試裝置,其特征在于,包括處理器和用于存儲處理器可執行指令的存儲器;其中,所述處理器被配置為執行如權利要求1-9中任一項所述的基于分布式調度機制的WEB應用防火墻自動化測試的方法。
...【技術特征摘要】
1.一種基于分布式調度機制的web應用防火墻自動測試方法,其特征在于,所述方法包括:
2.根據權利要求1所述的基于分布式調度機制的web應用防火墻自動測試方法,其特征在于,所述主進程接入預設數量的防護網站,包括:
3.根據權利要求2所述的基于分布式調度機制的web應用防火墻自動測試方法,其特征在于,所述收集測試用例,包括如下步驟:
4.根據權利要求3所述的基于分布式調度機制的web應用防火墻自動測試方法,其特征在于,所述用例模板包括對應防護模塊配置接入子模塊、攻擊流量觸發子模塊、web應用防火墻對應防護日志獲取子模塊以及防護模塊驗證子模塊,所述對應防護模塊配置接入子模塊通過讀取其所在文件夾的文件夾名來動態確認在哪一個防護網站下接入防護配置;攻擊流量觸發子模塊通過讀取其所在文件夾的文件夾名來確認對哪一個防護網站發起攻擊,其攻擊請求參數的配置源于攻擊流量對應的配置文件,在配置文件中設置了攻擊流量的uri、port、headers等信息;web應用防火墻對應防護日志獲取子模塊通過其所在文件夾的文件夾名及攻擊流量發送的時間作為參數實時獲取web應用防火墻的防護日志信息;防護模塊驗證子模塊通過配置文件中設置的預期防...
【專利技術屬性】
技術研發人員:李正涵,張偉,滕永平,魏心嵐,
申請(專利權)人:天翼云科技有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。