本技術(shù)涉及網(wǎng)絡(luò)安全測試,具體地,涉及一種測試用例樣本切割的方法及裝置、系統(tǒng)、存儲介質(zhì)。
背景技術(shù):
1、目前,隨著信息技術(shù)發(fā)展,軟件和系統(tǒng)復(fù)雜度增加,安全漏洞頻發(fā),測試成為保障質(zhì)量與安全的關(guān)鍵環(huán)節(jié)。傳統(tǒng)安全測試多依賴內(nèi)部團(tuán)隊,存在覆蓋范圍有限、成本高昂、難以發(fā)現(xiàn)隱蔽漏洞等問題,分布式安全眾測平臺應(yīng)運(yùn)而生,其允許全球安全專家參與測試,能更廣泛挖掘潛在安全問題。然而,在分布式安全眾測中,測試用例作為核心文檔,因測試對象規(guī)模和復(fù)雜性及測試環(huán)境多樣性,存在單個測試用例龐大、包含多個場景和步驟的情況,這使得編寫和維護(hù)難度大,測試執(zhí)行效率低下。
2、為解決上述問題,相關(guān)技術(shù)將復(fù)雜測試用例進(jìn)行切割,以提高測試效率和效果。例如,通過人工分析測試用例的結(jié)構(gòu)和功能,將其拆分為多個較小的部分,或者基于簡單的規(guī)則對測試用例進(jìn)行分割。
3、在實(shí)現(xiàn)本公開實(shí)施例的過程中,發(fā)現(xiàn)相關(guān)技術(shù)中至少存在如下問題:
4、采用相關(guān)技術(shù)一定程度上提高了分布式安全測試的效率。然而,在實(shí)際應(yīng)用中,相關(guān)技術(shù)在切割測試用例時,切割邏輯往往依賴固定規(guī)則或者人工經(jīng)驗(yàn),使得分布式安全測試的覆蓋范圍可能不準(zhǔn)確,無法應(yīng)對不同測試場景下的實(shí)際安全風(fēng)險,導(dǎo)致分布式安全測試的效果不佳。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例中提供了一種測試用例樣本切割的方法及裝置、系統(tǒng)、存儲介質(zhì)。
2、本技術(shù)實(shí)施例的第一個方面,提供了一種測試用例樣本切割的方法,包括:
3、構(gòu)建工控系統(tǒng)攻擊戰(zhàn)術(shù)庫;其中,戰(zhàn)術(shù)庫包括分類整理的攻擊手法和對應(yīng)的安全屬性;
4、對測試用例樣本進(jìn)行信息解析與語義分析,生成測試用例樣本的結(jié)構(gòu)化數(shù)據(jù)和/或測試用例樣本中功能點(diǎn);
5、根據(jù)安全屬性和/或結(jié)構(gòu)化數(shù)據(jù)和/或功能點(diǎn)切割測試用例樣本,得到與安全屬性和/或功能點(diǎn)對應(yīng)的測試片段。
6、在本技術(shù)一個可選的實(shí)施例中,構(gòu)建工控系統(tǒng)攻擊戰(zhàn)術(shù)庫,包括:
7、根據(jù)收集的漏洞信息確定對應(yīng)的攻擊手法,并按照安全屬性對攻擊手法進(jìn)行分類;
8、構(gòu)建與攻擊手法對應(yīng)的戰(zhàn)術(shù)模型,并搭建與工控系統(tǒng)對應(yīng)的模擬環(huán)境,生成使戰(zhàn)術(shù)模型在模擬環(huán)境中執(zhí)行對應(yīng)攻擊手法的自動化腳本;
9、將漏洞信息、安全屬性、攻擊手法、戰(zhàn)術(shù)模型、模型環(huán)境和/或自動化腳本集成至戰(zhàn)術(shù)庫。
10、在本技術(shù)一個可選的實(shí)施例中,構(gòu)建工控系統(tǒng)攻擊戰(zhàn)術(shù)庫,還包括:
11、在模擬環(huán)境中對戰(zhàn)術(shù)庫中的攻擊手法進(jìn)行功能測試;和/或,測試戰(zhàn)術(shù)庫性能指標(biāo);性能指標(biāo)包括的執(zhí)行效率和/或資源占用;和/或,對戰(zhàn)術(shù)庫進(jìn)行安全性測試;
12、根據(jù)上述一個或者多個測試結(jié)果,生成戰(zhàn)術(shù)庫的測試報告。
13、在本技術(shù)一個可選的實(shí)施例中,構(gòu)建工控系統(tǒng)攻擊戰(zhàn)術(shù)庫,還包括:
14、定期獲取工控軟系統(tǒng)的漏洞信息,并更新戰(zhàn)術(shù)庫中的漏洞信息;和/或,
15、根據(jù)戰(zhàn)術(shù)庫的測試結(jié)果,調(diào)整戰(zhàn)術(shù)庫中的攻擊手法;和/或,
16、記錄戰(zhàn)術(shù)庫每次日志更新的內(nèi)容、時間和/或原因。
17、在本技術(shù)一個可選的實(shí)施例中,對測試用例樣本進(jìn)行信息解析,生成測試用例樣本的結(jié)構(gòu)化數(shù)據(jù),包括:
18、對測試用例樣本的文本進(jìn)行預(yù)處理,并提取第一關(guān)鍵信息;
19、根據(jù)提取的第一關(guān)鍵信息,生成表示測試用例樣本結(jié)構(gòu)化數(shù)據(jù)。
20、在本技術(shù)一個可選的實(shí)施例中,第一關(guān)鍵信息包括輸入?yún)?shù)、預(yù)期行為和/或異常情況描述。
21、在本技術(shù)一個可選的實(shí)施例中,對測試用例樣本進(jìn)行語義分析,生成測試用例樣本中功能點(diǎn),包括:
22、對經(jīng)預(yù)處理的測試用例樣本的文本進(jìn)行語義角色標(biāo)注;
23、根據(jù)語義角色標(biāo)注結(jié)果,識別測試用例樣本的邏輯意圖并分類,并從測試用例樣本的文本中提取與邏輯意圖相關(guān)的第二關(guān)鍵信息;
24、根據(jù)測試用例樣本的上下文關(guān)系,生成上下文理解結(jié)果;
25、根據(jù)邏輯意圖、第二關(guān)鍵信息和/或上下文理解結(jié)果,提取測試用例樣本的功能點(diǎn)。
26、在本技術(shù)一個可選的實(shí)施例中,第二關(guān)鍵信息包括測試目標(biāo)和/或測試場景。
27、在本技術(shù)一個可選的實(shí)施例中,根據(jù)安全屬性和/或結(jié)構(gòu)化數(shù)據(jù)和/或功能點(diǎn)切割測試用例樣本,得到與安全屬性和/或功能點(diǎn)對應(yīng)的測試片段,包括:
28、使測試用例樣本、戰(zhàn)術(shù)庫和/或漏洞觸發(fā)原語模型的數(shù)據(jù)格式一致;
29、利用預(yù)設(shè)方法識別測試用例樣本的冗余數(shù)據(jù),并對冗余數(shù)據(jù)進(jìn)行標(biāo)記;
30、將測試用例樣本與戰(zhàn)術(shù)庫中的安全屬性進(jìn)行映射,識別出與測試用例樣本相關(guān)的安全屬性;
31、根據(jù)冗余數(shù)據(jù)標(biāo)記結(jié)果和/或安全屬性和/或功能點(diǎn)分析測試用例樣本的結(jié)構(gòu),確定切割點(diǎn);
32、根據(jù)切割點(diǎn)的位置和和/或測試需求,確定切割策略;
33、根據(jù)切割策略,將測試用例樣本切割成若干測試片段。
34、在本技術(shù)一個可選的實(shí)施例中,根據(jù)安全屬性和/或結(jié)構(gòu)化數(shù)據(jù)和/或功能點(diǎn)切割測試用例樣本,得到與安全屬性和/或功能點(diǎn)對應(yīng)的測試片段后,還包括:
35、根據(jù)測試片段,對工控系統(tǒng)進(jìn)行測試。
36、在本技術(shù)一個可選的實(shí)施例中,根據(jù)切測試片段,對工控系統(tǒng)進(jìn)行測試,包括:
37、對測試片段進(jìn)行分類并建立標(biāo)簽;
38、根據(jù)測試片段的類型和標(biāo)簽,確定測試片段的優(yōu)先級;
39、根據(jù)工控系統(tǒng)各測試節(jié)點(diǎn)的執(zhí)行能力和對應(yīng)測試片段的優(yōu)先級,分配測試任務(wù),以對工控系統(tǒng)進(jìn)行測試。
40、在本技術(shù)一個可選的實(shí)施例中,根據(jù)安全屬性和/或結(jié)構(gòu)化數(shù)據(jù)和/或功能點(diǎn)切割測試用例樣本,得到與安全屬性和/或功能點(diǎn)對應(yīng)的測試片段后,還包括:
41、收集工控系統(tǒng)使用測試片段進(jìn)行測試的測試數(shù)據(jù);
42、根據(jù)測試數(shù)據(jù)調(diào)整切割策略。
43、在本技術(shù)一個可選的實(shí)施例中,根據(jù)測試數(shù)據(jù)調(diào)整切割策略,包括:
44、對成功案例數(shù)據(jù)和失敗案例數(shù)據(jù)進(jìn)行統(tǒng)計分析和/或關(guān)聯(lián)分析;
45、根據(jù)分析結(jié)果,定位測試用例樣本的當(dāng)前切割策略存在的問題并分析;
46、根據(jù)問題定位和原因分析,調(diào)整測試用例樣本切割策略。
47、本技術(shù)實(shí)施例的第二個方面,提供了一種測試用例樣本切割的裝置,包括處理器和存儲有程序指令的存儲器,處理器被配置為在運(yùn)行程序指令時,執(zhí)行如本技術(shù)實(shí)施例的第一個方面的測試用例樣本切割的方法。
48、本技術(shù)實(shí)施例的第三個方面,提供了一種測試系統(tǒng),包括:
49、測試系統(tǒng)本體;以及,
50、如本技術(shù)實(shí)施例的第二個方面的測試用例樣本切割的裝置,被安裝于測試系統(tǒng)本體。
51、本技術(shù)實(shí)施例的第四個方面,提供了一種計算機(jī)可讀存儲介質(zhì),存儲有程序指令,程序指令在運(yùn)行時,用以使得計算機(jī)執(zhí)行如本技術(shù)實(shí)施例的第一個方面的測試用例樣本切割的方法。
52、采用本技術(shù)實(shí)施例中提供的測試用例樣本切割的方法及裝置、系統(tǒng)、存儲介質(zhì),具有以下有益效果:
53、本技術(shù)實(shí)施例構(gòu)建工控系統(tǒng)攻擊戰(zhàn)術(shù)庫,戰(zhàn)術(shù)庫包括分類整理的攻擊手法和對應(yīng)的安全屬性。對測試用例樣本進(jìn)行信息解析與語義分析,生成測試用例樣本的結(jié)構(gòu)化數(shù)據(jù)和/或測試用例樣本中功能點(diǎn)。根據(jù)安全屬性和/或結(jié)構(gòu)化數(shù)據(jù)和/或功能點(diǎn)切割測試用例樣本,得到與安全屬性和/或功能點(diǎn)對應(yīng)的測試片段。通過構(gòu)建戰(zhàn)術(shù)庫確保了切割基于分類的攻擊手法和安全屬性,信息解析與語義分析則能夠準(zhǔn)確提取關(guān)鍵信息并理解測試意圖,避免冗余測試,使切割后的測試片段能專注于特定安全屬性或功能點(diǎn),使分布式安全測試覆蓋范圍和更準(zhǔn)確,從而提高了分布式安全測試的效果。