軟體安全 fuzzing

2021-10-12 05:56:18 字數 304 閱讀 9509

fuzz本意是「羽毛、細小的毛髮、使模糊、變得模糊」,後來用在軟體測試領域,中文一般指「模糊測試」,英文叫「fuzzing」。

fuzzing技術是一種基於黑盒(或灰盒)的測試技術,通過自動化生成並執行大量的隨機測試用例來發現產品或協議的未知漏洞。

在軟體領域有乙個著名的bug:蘋果手機在鎖屏後,使用者需要等待128年後才能解鎖。而這一bug是乙個小孩在玩她媽媽手機時遇到的,因為孩子的思維並不按套路出牌。所以為了盡可能地模擬真實世界中可能會出現的輸入(窮舉所有的輸入顯然也不現實,等產品測試完上線黃花菜都涼了),fuzzing產生的輸入應該是「模糊」(不確定)的。

Fuzzing測試你懂嗎?

fuzzing測試對於很多同學都比較陌生,甚至一些做過多年測試的同學都沒有聽說過。作為以為專業的測試人員,一般是根據軟體的功能逐步設計測試用例,先覆蓋所有正常的功能,然後再設計一些非法的測試用例 俗稱 negative 比如 一些非法的使用者輸入或者邊界值,再然後是一些效能和壓力的用例。即使是整個團...

fuzzing工具之Angora的安裝與使用

angora 是安全四大會中okland會議中發表的fuzzer,angora是基於突變的 覆蓋率指導的fuzzer。目前fuzzer中一大難題是如何解決fuzzing過程中的路徑約束,以提高 branch coverage。angora在沒有利用符號執行的前提下解決了這個問題。在angora 中a...

軟體安全技術

在高度保證企業應用程式安全的過程中我們不免會考慮到如下的安全需求,然後我們針對這些安全需求提出各種安全技術 1 完整性驗證 integrity verification 也就是以防止我們需要的內容不被篡改,仍然不吃其真實性。2 機密性保持 confidentiality preservation 通...