本發(fā)明屬于通訊測試領域,尤其涉及一種基于v2x通信協(xié)議的模糊測試方法與系統(tǒng)。
背景技術:
1、v2x通信是指車輛之間(v2v)、車輛與基礎設施之間(v2i)、車輛與行人之間(v2p)以及車輛與網(wǎng)絡之間(v2n)的通信。這種通信可以通過無線網(wǎng)絡進行,如wi-fi、蜂窩網(wǎng)絡或專用的車輛通信頻段(如dsrc或5g)
2、v2x通信的主要目的是提高道路安全、交通效率和行駛舒適性。通過v2v通信,車輛可以相互交換位置、速度、行駛方向等信息,從而避免碰撞、減少交通堵塞,并提供更智能的駕駛輔助功能。通過v2i通信,車輛可以接收來自交通信號燈、路邊設施或道路管理中心的信息,以優(yōu)化行駛路線、減少燃料消耗等。v2p通信可以提供行人與車輛之間的警示,有助于避免撞人事故。而v2n通信則可以將車輛連接到互聯(lián)網(wǎng),提供更豐富的信息服務和車輛管理功能。因此,v2x通信協(xié)議的安全不僅關系到車主個人,更關系到整個道路交通的安全,因此必須保證v2x通信協(xié)議的安全性。
3、模糊測試是一種常用的通信協(xié)議安全測試方法,該方法的核心在于通過發(fā)送大量的異常數(shù)據(jù),挖掘通信協(xié)議可能存在的未知漏洞,大幅度提升漏洞挖掘效率。
4、現(xiàn)有的模糊測試技術大多應用于藍牙、wifi以及網(wǎng)絡協(xié)議等方面的信息安全檢測,而v2x相關的測試目前大多停留于功能性測試。因此,有必要設計一種針對v2x通信協(xié)議進行模糊測試的方法。
技術實現(xiàn)思路
1、為了針對上述背景,本發(fā)明提供了一種基于v2x通信協(xié)議的模糊測試方法與系統(tǒng),通過捕獲正常v2x通信數(shù)據(jù)包,獲取初始種子,根據(jù)通信數(shù)據(jù)包的不同字段,進行指令遍歷和異常數(shù)據(jù)包變異,同時監(jiān)控被測設備的響應狀態(tài),判斷是否發(fā)生異常影響。本發(fā)明能夠深入挖掘v2x通信協(xié)議未知漏洞,提高漏洞挖掘效率,并能夠快速定位到造成被測設備異常的數(shù)據(jù)包,并自動生成漏洞驗證腳本,便于后續(xù)的漏洞復現(xiàn)以及漏洞定位。
2、為了實現(xiàn)上述目的,第一方面,本發(fā)明提出了一種基于v2x通信協(xié)議的模糊測試方法,該方法包括如下步驟:
3、s1:抓取v2x正常通信數(shù)據(jù)包作為初始種子,對通信數(shù)據(jù)進行解析獲得多個字段,分析各字段所代表的含義;
4、s2:對字段中字節(jié)進行數(shù)據(jù)變異,生成變異數(shù)據(jù)包;
5、s3:通過v2x配套硬件設備發(fā)送變異數(shù)據(jù)包到測試設備系統(tǒng),從而進行模糊測試。
6、進一步地,所述通信數(shù)據(jù)包字段包括:幀頭、mac地址、源地址、目的地址、時間戳、有效載荷、序列號、證書和密鑰信息、尾部。
7、進一步地,所述變異數(shù)據(jù)包包括針對某一特定字節(jié)進行變異,或者針對多個字節(jié)進行變異。
8、進一步地,所述數(shù)據(jù)變異包括:選擇一字段,針對所述字段中的若干字節(jié)進行數(shù)據(jù)變異,包括:
9、s21、對隨機選中字節(jié)替換為隨機值;
10、s22、對所述隨機選中字節(jié)的鄰位進行反轉操作;
11、s23、對經反轉操作的字段中增加2個字節(jié);
12、s24、將經添加字節(jié)的字段中將任意非邊界的1個字節(jié)修改為邊界值0xff;
13、s25、將若干邊界值的鄰位替換為ascii字符。
14、第二方面,本發(fā)明提出了一種基于v2x通信協(xié)議的模糊監(jiān)測方法,包括如下步驟:
15、s1:狀態(tài)監(jiān)測工具通過調試接口接入到被測設備系統(tǒng),錄制被測設備接收到正常v2x通訊信號的報文,以及收到異常v2x通訊信號的報文;
16、s2:模糊測試系統(tǒng)每發(fā)送一條變異數(shù)據(jù)包后,監(jiān)測系統(tǒng)將再發(fā)送一條正常的通信數(shù)據(jù)包,同時對被測設備系統(tǒng)的報文進行檢測,通過正則表達式判斷報文響應狀態(tài)是否為正常狀態(tài);
17、s3:當被測設備接收到模糊測試生成的變異數(shù)據(jù)包,并響應正常報文,則判定未發(fā)現(xiàn)漏洞,繼續(xù)執(zhí)行下一條用例;
18、s4:當被測設備接收到模糊測試生成的變異數(shù)據(jù)包后,未響應正常報文,則判定發(fā)現(xiàn)漏洞,暫停數(shù)據(jù)包發(fā)送,并彈出提示告警。
19、s5、當通信協(xié)議狀態(tài)監(jiān)測系統(tǒng)發(fā)現(xiàn)漏洞后,系統(tǒng)自動保存當前變異數(shù)據(jù)包的信息,及被測設備報文信息,包括測試項目信息、發(fā)包時間、數(shù)據(jù)包文件;
20、模糊測試系統(tǒng)基于保存的可觸發(fā)變異數(shù)據(jù)包自動生成該變異數(shù)據(jù)包發(fā)送的腳本。
21、第三方面,本發(fā)明提出了一種基于v2x通信協(xié)議的模糊測試系統(tǒng),該系統(tǒng)包括如下模塊:
22、種子獲取模塊,抓取v2x正常通信數(shù)據(jù)包作為初始種子,對通信數(shù)據(jù)進行解析獲得多個字段,分析各字段所代表的含義;
23、變異模塊,用于對字段中字節(jié)進行數(shù)據(jù)變異,生成變異數(shù)據(jù)包;
24、發(fā)送模塊,用于通過v2x配套硬件設備發(fā)送變異數(shù)據(jù)包到測試設備系統(tǒng),從而進行模糊測試;
25、狀態(tài)監(jiān)聽模塊,用于狀態(tài)監(jiān)測工具通過調試接口接入到被測設備系統(tǒng),錄制被測設備接收到正常v2x通訊信號的報文,以及收到異常v2x通訊信號的報文;
26、狀態(tài)檢測模塊,用于在發(fā)送模塊每發(fā)送一條變異數(shù)據(jù)包后,狀態(tài)監(jiān)聽模塊將再發(fā)送一條正常的通信數(shù)據(jù)包,同時對被測設備系統(tǒng)的報文進行檢測,通過正則表達式判斷報文響應狀態(tài)是否為正常狀態(tài);
27、狀態(tài)判斷模塊,用于當被測設備接收到模糊測試生成的變異數(shù)據(jù)包,并響應正常報文,則判定未發(fā)現(xiàn)漏洞,繼續(xù)執(zhí)行下一條用例;當被測設備接收到模糊測試生成的變異數(shù)據(jù)包后,未響應正常報文,則判定發(fā)現(xiàn)漏洞,暫停數(shù)據(jù)包發(fā)送,并彈出提示告警;
28、異常保存模塊,用于當狀態(tài)判斷模塊發(fā)現(xiàn)漏洞后,系統(tǒng)自動保存當前變異數(shù)據(jù)包的信息,及被測設備報文信息,包括測試項目信息、發(fā)包時間、數(shù)據(jù)包文件;
29、腳本生成模塊,用于基于保存的可觸發(fā)變異數(shù)據(jù)包自動生成該變異數(shù)據(jù)包發(fā)送的腳本。
30、本發(fā)明的有益效果如下:
31、1)通過設置變異生成發(fā)送模塊、狀態(tài)監(jiān)聽、檢測模塊,能夠自動生成測試用例并監(jiān)控測試過程中的異常響應,提高測試效率和覆蓋率。
32、2)通過設置數(shù)據(jù)特定變異方式,可以生成帶有bug的復雜變體,用來模擬真實世界中可能出現(xiàn)的錯誤,有助于提前識別和修復潛在的問題。
33、上述說明,僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明技術手段,可依照說明書的內容予以實施,并且為了讓本發(fā)明的上述說明和其它目的、特征及優(yōu)點能夠更明顯易懂,特舉較佳實施例,詳細說明如下。
1.一種基于v2x通信協(xié)議的模糊測試方法,其特征在于,該方法包括如下步驟:
2.根據(jù)權利要求1所述基于v2x通信協(xié)議的模糊測試方法,其特征在于:所述通信數(shù)據(jù)包字段包括:幀頭、mac地址、源地址、目的地址、時間戳、有效載荷、序列號、證書和密鑰信息、尾部。
3.根據(jù)權利要求1所述基于v2x通信協(xié)議的模糊測試方法,其特征在于:所述變異數(shù)據(jù)包包括針對某一特定字節(jié)進行變異,或者針對多個字節(jié)進行變異。
4.根據(jù)權利要求3所述基于v2x通信協(xié)議的模糊測試方法,其特征在于:所述數(shù)據(jù)變異包括:選擇一字段,針對所述字段中的若干字節(jié)進行數(shù)據(jù)變異,包括:
5.一種基于v2x通信協(xié)議的模糊監(jiān)測方法,用于對如權利要求1所述基于v2x通信協(xié)議的模糊測試方法中產生的變異數(shù)據(jù)包進行監(jiān)測,其特征在于,包括如下步驟:
6.根據(jù)權利要求5所述基于v2x通信協(xié)議的模糊監(jiān)測方法,其特征在于:在步驟s4后,還包括:
7.一種基于v2x通信協(xié)議的模糊測試系統(tǒng),其特征在于,該系統(tǒng)包括如下模塊: