日本无码免费高清在线|成人日本在线观看高清|A级片免费视频操逼欧美|全裸美女搞黄色大片网站|免费成人a片视频|久久无码福利成人激情久久|国产视频一二国产在线v|av女主播在线观看|五月激情影音先锋|亚洲一区天堂av

  • 手機站
  • 小程序

    汽車測試網(wǎng)

  • 公眾號
    • 汽車測試網(wǎng)

    • 在線課堂

    • 電車測試

模糊測試究竟在干什么

2025-04-16 15:24:43·  來源:汽車MCU軟件設(shè)計  
 

目錄

1.軟件漏洞和缺陷

2.模糊測試與傳統(tǒng)測試

3.汽車領(lǐng)域中的模糊測試

4.常見工具總結(jié)

1.軟件漏洞和缺陷

提單、上票、拒收,這是開發(fā)和測試的日常博弈。大多數(shù)時候,我們是根據(jù)自己對需求的理解來進行開發(fā)和測試,這基本是屬于功能層級。

這種方式驗證出來的問題叫軟件缺陷,通俗叫Bug,一般是在開發(fā)時由于編碼錯誤、邏輯錯誤或者需求理解錯誤造成程序無法正常運行或者用戶體驗受損。

但還有一種缺陷,叫做軟件漏洞,它可以被攻擊者加以利用,破壞系統(tǒng)安全策略、竊取數(shù)據(jù)或執(zhí)行惡意操作,這一般是開發(fā)者不曾考慮的范疇,通常是由安全團隊介入,進行信息安全相關(guān)的測試,例如滲透測試、漏洞掃描、以及今天要聊的模糊測試。

換句話講,漏洞是缺陷的子集,但并非所有缺陷都是漏洞,只有那些可能被惡意利用的缺陷才會被歸類為漏洞。

我們都知道,軟件不可能沒有缺陷或者漏洞,這可能也就意味著即使安全團隊挖掘并修復了很多漏洞,但仍舊存在很多未知的漏洞,有一張圖很形象,我們看得到的漏洞可能就是冰山一角:

除了已知漏洞和未知漏洞之外,還存在一類漏洞,叫零日漏洞,它通常指還沒有補丁的安全漏洞。“零日”(0-day)來源于漏洞被公開后,補丁未出現(xiàn)的天數(shù)。

漏洞被公開當天,很難及時推出補丁,所以稱為零日漏洞;如果N日后仍然沒有補丁,則稱為N日漏洞。所以,我們常聽到的“零日攻擊”就可以理解為針對此漏洞的攻擊出現(xiàn)在漏洞公開當天,以此類推。當然,這不是今天的主題,僅作延伸。

2.模糊測試與傳統(tǒng)測試

我們最常接觸的測試手段主要就包括靜態(tài)測試和動態(tài)測試,而動態(tài)測試主要分為白盒、灰盒和黑盒。白盒測試,顧名思義我們了解待測對象的內(nèi)部結(jié)構(gòu),以此為基礎(chǔ)進行測試;黑盒測試,就是只能通過給定輸入,來觀察輸出是否符合預期;灰盒測試則介于白盒和黑盒之間,不僅關(guān)注輸入輸出,還關(guān)注目標內(nèi)部狀態(tài)。

很明顯,這類測試手段依賴測試人員的專業(yè)素質(zhì)、預定義模式,針對公開漏洞的測試有一定優(yōu)勢,但很難挖掘出未公開的攻擊方法和漏洞。

為此,模糊測試站了出來。

模糊測試(Fuzz Test)通過大量生產(chǎn)隨機或者變異的輸入數(shù)據(jù),有一定幾率能夠模擬攻擊者行為,從而觸發(fā)軟件系統(tǒng)中隱藏的漏洞或者缺陷。

為啥叫模糊了,大概是因為其模糊的特征的。

模糊測試最初被稱為"猴子測試",靈感來源于猴子隨機敲擊鍵盤的行為(1983年Steve Capps開發(fā)的Mac測試工具),這種測試方法就像"蒙眼投飛鏢"——不依賴測試人員對程序邏輯的深入理解,而是通過隨機生成輸入數(shù)據(jù)觸發(fā)異常,輸入路徑不可預測、輸入數(shù)據(jù)無規(guī)律;

此外,模糊測試的模糊還體現(xiàn)在測試數(shù)據(jù)的生成邏輯,主要有三種:


  • 結(jié)構(gòu)模糊:變異型模糊測試(Mutation-based)會破壞正常數(shù)據(jù)的格式,例如將PDF文件格式.PDF改為.PDQ



  • 語義模糊:生成型模糊測試(Generation-based)雖遵循協(xié)議規(guī)范,但會故意違反字段約束,例如在HTTP請求中插入未定義的協(xié)議版本號



  • 邊界模糊:針對數(shù)值型字段注入極端值(如超長字符串、負數(shù)、浮點溢出值),打破程序預設(shè)的輸入假設(shè)


 在實際的模糊測試里,大致可分為四個步驟:

(1)識別待測對象和輸入:主要包括識別被測對象類型,是Bin還是源碼,是否有公開漏洞記錄,在此基礎(chǔ)上識別是由可能的輸入向量,有助于提高測試覆蓋;

(2)基于規(guī)則生成模數(shù)測試數(shù)據(jù),包括現(xiàn)有數(shù)據(jù)變異、臨時數(shù)據(jù)生成、邊界值生成等等;

(3)執(zhí)行測試:通過自動化工 具,大規(guī)模地生成和執(zhí)行測試用例,從而提高測試效率和覆蓋率;

(4)觀察行為、記錄漏洞:在模糊測試過程中,通過自動化工具來實時觀察系統(tǒng)行為的異常,包括參數(shù)值和返回值收集等等;如果發(fā)現(xiàn)了潛在缺陷,首先是多次復現(xiàn),其次是評估該缺陷是否能進一步升級為漏洞,判斷會被惡意利用,最后記錄和修復。

3.汽車領(lǐng)域中的模糊測試

汽車網(wǎng)絡(luò)安全已被提到了一個高度,因此網(wǎng)絡(luò)安全測試是汽車整車開發(fā)中必不可少的部分。

在ISO21434中明確提高,除了常見的功能測試,還需要漏洞掃描、模糊測試和滲透測試,在開發(fā)早期盡可能識別潛在漏洞,從而提升汽車的魯棒性。

由于汽車本身是一個多學科融合的復雜工作,其攻擊面涵蓋了幾乎我們能想到的產(chǎn)品,安全團隊的測試人員完全可以利用模糊測試對WIFI、藍牙、CAN、V2X、充電樁、NFC等進行協(xié)議模糊測試,除此之外,在智駕領(lǐng)域,任何漏洞或者缺陷都可能造成嚴重后果,因此針對雷達、攝像頭等輸入數(shù)據(jù)進行模糊測試,也是非常有必要的。

4.常見工具總結(jié)

最后,匯總一下常見的模糊測試工具及使用場景。

圖片


分享到:
 
反對 0 舉報 0 收藏 0 評論 0
滬ICP備11026917號-25