本技術(shù)涉及計算機,尤其涉及一種應(yīng)用于聯(lián)盟鏈的網(wǎng)絡(luò)測試方法、裝置、設(shè)備、介質(zhì)及產(chǎn)品。
背景技術(shù):
1、隨著聯(lián)盟鏈應(yīng)用范圍的不斷擴大,如何保證聯(lián)盟鏈的穩(wěn)定性和安全性成為亟需解決的技術(shù)問題。
2、現(xiàn)有技術(shù)中,缺乏針對聯(lián)盟鏈/區(qū)塊鏈的專用測試工具,并且,傳統(tǒng)的網(wǎng)絡(luò)測試方法一般是通過合成大量合法的交易請求,來測試網(wǎng)絡(luò)的交易負載和性能指標。
3、這種測試方式僅僅針對網(wǎng)絡(luò)的性能進行測試,測試層面較為單一,導致網(wǎng)絡(luò)測試結(jié)果較為片面。同時,這種測試方式也沒有針對網(wǎng)絡(luò)的安全性進行測試,從而無法有效確定出網(wǎng)絡(luò)中存在的安全隱患,從而影響了網(wǎng)絡(luò)的測試效果。
技術(shù)實現(xiàn)思路
1、本技術(shù)提供一種應(yīng)用于聯(lián)盟鏈的網(wǎng)絡(luò)測試方法、裝置、設(shè)備、介質(zhì)及產(chǎn)品,用以解決現(xiàn)有技術(shù)中網(wǎng)絡(luò)測試較為片面,無法有效確定出網(wǎng)絡(luò)中存在的安全隱患的問題。
2、第一方面,本技術(shù)提供一種應(yīng)用于聯(lián)盟鏈的網(wǎng)絡(luò)測試方法,包括:
3、響應(yīng)于用戶發(fā)起的模擬攻擊配置操作,獲取與所述模擬攻擊配置操作相匹配的攻擊參數(shù)信息;其中,所述模擬攻擊配置操作用于配置針對聯(lián)盟鏈的模擬攻擊;所述攻擊參數(shù)信息中包括所述模擬攻擊配置操作所配置的模擬攻擊的攻擊類型、攻擊節(jié)點和攻擊強度;
4、確定與所述攻擊參數(shù)信息中所包括的攻擊類型相匹配的攻擊模板和攻擊方式,并基于所述攻擊模板、所述攻擊方式和所述攻擊參數(shù)信息,確定攻擊腳本文件;其中,所述攻擊模板用于生成模擬攻擊;所述攻擊方式用于確定模擬攻擊所對應(yīng)的攻擊數(shù)據(jù),和/或,攻擊路徑;所述攻擊數(shù)據(jù)指示能夠上傳至聯(lián)盟鏈的交易數(shù)據(jù);
5、基于所述攻擊腳本文件,對所述聯(lián)盟鏈進行模擬攻擊處理,并獲取所述聯(lián)盟鏈的網(wǎng)絡(luò)狀態(tài)信息;
6、基于所述聯(lián)盟鏈的網(wǎng)絡(luò)狀態(tài)信息,確定所述聯(lián)盟鏈的測試結(jié)果。
7、在一種可能的設(shè)計中,所述模擬攻擊指示交易洪水攻擊場景下的攻擊;基于所述攻擊腳本文件,對所述聯(lián)盟鏈進行模擬攻擊處理,包括:
8、基于所述攻擊腳本文件生成第一交易數(shù)據(jù);其中,所述第一交易數(shù)據(jù)指示無效交易數(shù)據(jù),和/或,偽造交易數(shù)據(jù);
9、將所述第一交易數(shù)據(jù),通過所述攻擊參數(shù)信息中的攻擊節(jié)點上傳至所述聯(lián)盟鏈中,并將所述第一交易數(shù)據(jù)廣播至所述聯(lián)盟鏈包括的除所述攻擊節(jié)點之外的其他節(jié)點中。
10、在一種可能的設(shè)計中,所述模擬攻擊指示智能合約攻擊場景下的攻擊;基于所述攻擊腳本文件,對所述聯(lián)盟鏈進行模擬攻擊處理,包括:
11、基于所述攻擊腳本文件,生成與所述聯(lián)盟鏈內(nèi)所包括的智能合約的漏洞信息相匹配的第二交易數(shù)據(jù);其中,所述第二交易數(shù)據(jù)指示函數(shù)調(diào)用數(shù)據(jù);
12、將所述第二交易數(shù)據(jù),通過所述攻擊參數(shù)信息中的攻擊節(jié)點上傳至所述聯(lián)盟鏈中之后,調(diào)用所述聯(lián)盟鏈內(nèi)所包括的智能合約中的目標函數(shù);其中,所述目標函數(shù)指示用于修改所述智能合約的合約狀態(tài)的函數(shù);
13、基于所述目標函數(shù)修改所述智能合約的合約狀態(tài)。
14、在一種可能的設(shè)計中,所述方法還包括:
15、若基于所述目標函數(shù)未成功修改所述智能合約的合約狀態(tài),則確定智能合約調(diào)用頻率;
16、按照所述智能合約調(diào)用頻率,將所述攻擊腳本文件所生成的第二交易數(shù)據(jù),上傳至所述聯(lián)盟鏈中。
17、在一種可能的設(shè)計中,所述攻擊腳本的數(shù)量為多個;基于所述攻擊腳本文件,對所述聯(lián)盟鏈進行模擬攻擊處理,包括:
18、確定多個所述攻擊腳本文件對應(yīng)的攻擊順序;
19、基于各個所述攻擊腳本文件以及各個所述攻擊腳本對應(yīng)的攻擊順序,對所述聯(lián)盟鏈進行模擬攻擊處理。
20、在一種可能的設(shè)計中,所述模擬攻擊包括交易洪水攻擊場景下的攻擊和智能合約攻擊場景下的攻擊;獲取所述聯(lián)盟鏈的網(wǎng)絡(luò)狀態(tài)信息,包括:
21、獲取所述聯(lián)盟鏈內(nèi)所包括的各個智能合約的合約調(diào)用信息和合約廣播信息;并獲取所述聯(lián)盟鏈的網(wǎng)絡(luò)性能指標信息;
22、基于所述合約調(diào)用信息、所述合約廣播信息和所述網(wǎng)絡(luò)性能指標信息,確定所述聯(lián)盟鏈的網(wǎng)絡(luò)狀態(tài)信息。
23、第二方面,本技術(shù)提供一種應(yīng)用于聯(lián)盟鏈的網(wǎng)絡(luò)測試裝置,包括:
24、響應(yīng)單元,用于響應(yīng)于用戶發(fā)起的模擬攻擊配置操作,獲取與所述模擬攻擊配置操作相匹配的攻擊參數(shù)信息;其中,所述模擬攻擊配置操作用于配置針對聯(lián)盟鏈的模擬攻擊;所述攻擊參數(shù)信息中包括所述模擬攻擊配置操作所配置的模擬攻擊的攻擊類型、攻擊節(jié)點和攻擊強度;
25、第一確定單元,用于確定與所述攻擊參數(shù)信息中所包括的攻擊類型相匹配的攻擊模板和攻擊方式,并基于所述攻擊模板、所述攻擊方式和所述攻擊參數(shù)信息,確定攻擊腳本文件;其中,所述攻擊模板用于生成模擬攻擊;所述攻擊方式用于確定模擬攻擊所對應(yīng)的攻擊數(shù)據(jù),和/或,攻擊路徑;所述攻擊數(shù)據(jù)指示能夠上傳至聯(lián)盟鏈的交易數(shù)據(jù);
26、攻擊單元,用于基于所述攻擊腳本文件,對所述聯(lián)盟鏈進行模擬攻擊處理;
27、獲取單元,用于獲取所述聯(lián)盟鏈的網(wǎng)絡(luò)狀態(tài)信息;
28、第二確定單元,用于基于所述聯(lián)盟鏈的網(wǎng)絡(luò)狀態(tài)信息,確定所述聯(lián)盟鏈的測試結(jié)果。
29、在一種可能的設(shè)計中,所述模擬攻擊指示交易洪水攻擊場景下的攻擊;攻擊單元包括,第一攻擊模塊,用于:
30、基于所述攻擊腳本文件生成第一交易數(shù)據(jù);其中,所述第一交易數(shù)據(jù)指示無效交易數(shù)據(jù),和/或,偽造交易數(shù)據(jù);
31、將所述第一交易數(shù)據(jù),通過所述攻擊參數(shù)信息中的攻擊節(jié)點上傳至所述聯(lián)盟鏈中,并將所述第一交易數(shù)據(jù)廣播至所述聯(lián)盟鏈包括的除所述攻擊節(jié)點之外的其他節(jié)點中。
32、在一種可能的設(shè)計中,所述模擬攻擊指示智能合約攻擊場景下的攻擊;攻擊單元包括,第二攻擊模塊,用于:
33、基于所述攻擊腳本文件,生成與所述聯(lián)盟鏈內(nèi)所包括的智能合約的漏洞信息相匹配的第二交易數(shù)據(jù);其中,所述第二交易數(shù)據(jù)指示函數(shù)調(diào)用數(shù)據(jù);
34、將所述第二交易數(shù)據(jù),通過所述攻擊參數(shù)信息中的攻擊節(jié)點上傳至所述聯(lián)盟鏈中之后,調(diào)用所述聯(lián)盟鏈內(nèi)所包括的智能合約中的目標函數(shù);其中,所述目標函數(shù)指示用于修改所述智能合約的合約狀態(tài)的函數(shù);
35、基于所述目標函數(shù)修改所述智能合約的合約狀態(tài)。
36、在一種可能的設(shè)計中,第二攻擊模塊,還用于:
37、若基于所述目標函數(shù)未成功修改所述智能合約的合約狀態(tài),則確定智能合約調(diào)用頻率;
38、按照所述智能合約調(diào)用頻率,將所述攻擊腳本文件所生成的第二交易數(shù)據(jù),上傳至所述聯(lián)盟鏈中。
39、在一種可能的設(shè)計中,所述攻擊腳本的數(shù)量為多個;攻擊單元,用于:
40、確定多個所述攻擊腳本文件對應(yīng)的攻擊順序;
41、基于各個所述攻擊腳本文件以及各個所述攻擊腳本對應(yīng)的攻擊順序,對所述聯(lián)盟鏈進行模擬攻擊處理。
42、在一種可能的設(shè)計中,所述模擬攻擊包括交易洪水攻擊場景下的攻擊和智能合約攻擊場景下的攻擊;獲取單元,用于:
43、獲取所述聯(lián)盟鏈內(nèi)所包括的各個智能合約的合約調(diào)用信息和合約廣播信息;并獲取所述聯(lián)盟鏈的網(wǎng)絡(luò)性能指標信息;
44、基于所述合約調(diào)用信息、所述合約廣播信息和所述網(wǎng)絡(luò)性能指標信息,確定所述聯(lián)盟鏈的網(wǎng)絡(luò)狀態(tài)信息。
45、第三方面,本技術(shù)實施例提供一種計算機設(shè)備,包括:至少一個處理器和存儲器;所述存儲器存儲計算機執(zhí)行指令;所述至少一個處理器執(zhí)行所述存儲器存儲的計算機執(zhí)行指令,使得所述至少一個處理器執(zhí)行如上第一方面以及第一方面各種可能的設(shè)計所述的應(yīng)用于聯(lián)盟鏈的網(wǎng)絡(luò)測試方法。
46、第四方面,本技術(shù)實施例提供一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)中存儲有計算機執(zhí)行指令,當處理器執(zhí)行所述計算機執(zhí)行指令時,實現(xiàn)如上第一方面以及第一方面各種可能的設(shè)計所述的應(yīng)用于聯(lián)盟鏈的網(wǎng)絡(luò)測試方法。
47、第五方面,本技術(shù)實施例提供一種計算機程序產(chǎn)品,包括計算機程序,所述計算機程序被處理器執(zhí)行時,實現(xiàn)如上第一方面以及第一方面各種可能的設(shè)計所述的應(yīng)用于聯(lián)盟鏈的網(wǎng)絡(luò)測試方法。
48、本技術(shù)提供的應(yīng)用于聯(lián)盟鏈的網(wǎng)絡(luò)測試方法、裝置、設(shè)備、介質(zhì)及產(chǎn)品,可以響應(yīng)于用戶發(fā)起的模擬攻擊配置操作,獲取與模擬攻擊配置操作相匹配的攻擊參數(shù)信息,此時,可以通過發(fā)起模擬攻擊配置操作來自定義各種類型的模擬攻擊,從而能夠基于配置的模擬攻擊實現(xiàn)對聯(lián)盟鏈的全方面的測試。然后,確定與攻擊參數(shù)信息中所包括的攻擊類型相匹配的攻擊模板和攻擊方式,并基于攻擊模板、攻擊方式和攻擊參數(shù)信息,確定攻擊腳本文件,從而使攻擊腳本文件能夠通過預(yù)先設(shè)置的攻擊方式,來執(zhí)行對應(yīng)的模擬攻擊,從而能夠引入攻擊的惡意性邏輯,以提高對聯(lián)盟鏈的網(wǎng)絡(luò)測試的真實性,進而提升測試效果。之后,可以基于攻擊腳本文件,對聯(lián)盟鏈進行模擬攻擊處理,并獲取聯(lián)盟鏈的網(wǎng)絡(luò)狀態(tài)信息,從而可以基于聯(lián)盟鏈的網(wǎng)絡(luò)狀態(tài)信息,確定聯(lián)盟鏈的測試結(jié)果,從而根據(jù)聯(lián)盟鏈的測試結(jié)果,對聯(lián)盟鏈進行性能和安全性分析,從而有助于輔助增強聯(lián)盟鏈的安全性和性能。