Fuzzer ที่มุ่งเน้นการรักษาความปลอดภัย ขับเคลื่อนด้วยฟีดแบ็ก มีวิวัฒนาการ และใช้งานง่าย พร้อมตัวเลือกการวิเคราะห์ที่น่าสนใจ ดูเอกสารการใช้งานสำหรับไพรเมอร์เกี่ยวกับการใช้ Honggfuzz
เวอร์ชันเสถียรล่าสุด: 2.6
บันทึกการเปลี่ยนแปลง
sudo apt-get install binutils-dev libunwind-dev libblocksruntime-dev clang make
เป็น แบบหลายกระบวนการ และ หลายเธรด : ไม่จำเป็นต้องเรียกใช้ fuzzer ของคุณหลายชุด เนื่องจาก Honggfuzz สามารถปลดล็อกศักยภาพของแกน CPU ที่มีอยู่ทั้งหมดของคุณด้วยอินสแตนซ์ที่ทำงานเพียงตัวเดียว คลังไฟล์จะถูกแชร์และปรับปรุงโดยอัตโนมัติระหว่างกระบวนการที่ไม่ชัดเจนทั้งหมด
มันเร็วมากเมื่อใช้โหมดการคลุมเครือแบบถาวร ฟังก์ชั่น LLVMFuzzerTestOneInput ที่เรียบง่าย/ว่างเปล่าสามารถทดสอบได้ด้วย การวนซ้ำสูงสุด 1mo ต่อวินาที บน CPU ที่ค่อนข้างทันสมัย (เช่น i7-6700K)
มีประวัติที่มั่นคงเกี่ยวกับข้อบกพร่องด้านความปลอดภัยที่เปิดเผย: ช่องโหว่ เดียว (จนถึงปัจจุบัน) ใน OpenSSL ที่มีคะแนนวิกฤต ถูกค้นพบโดย Honggfuzz ดูย่อหน้าถ้วยรางวัลสำหรับบทสรุปการค้นพบจนถึงปัจจุบัน
ใช้อินเทอร์เฟซระดับต่ำเพื่อตรวจสอบกระบวนการ (เช่น ptrace ภายใต้ Linux และ NetBSD) เมื่อเทียบกับ Fuzzer อื่นๆ มัน จะค้นพบและรายงานสัญญาณที่ถูกแย่งชิง/ถูกละเลยจากการขัดข้อง (ถูกดักและอาจซ่อนไว้โดยโปรแกรม Fuzz)
ใช้งานง่าย ป้อนไดเร็กทอรีคลังข้อมูลอย่างง่าย (สามารถเว้นว่างไว้สำหรับการคลุมเครือที่ขับเคลื่อนด้วยคำติชม) และมันจะทำงานต่อไป โดยขยายออกไปโดยใช้ตัวชี้วัดความครอบคลุมตามคำติชม
รองรับหลาย (มากกว่า fuzzer ที่ขับเคลื่อนด้วยฟีดแบ็กตามความครอบคลุมอื่นๆ) ที่ใช้ฮาร์ดแวร์ (CPU: การนับสาขา/คำสั่ง, Intel BTS , Intel PT ) และโหมด fuzzing ที่ขับเคลื่อนด้วยฟีดแบ็กที่ใช้ซอฟต์แวร์ ดู โหมด qemu ใหม่สำหรับการฟัซซี่ไบนารี blackbox
ใช้งานได้ (อย่างน้อย) ภายใต้ GNU/Linux, FreeBSD, NetBSD, Mac OS X, Windows/CygWin และ Android
รองรับ โหมด fuzzing แบบถาวร (กระบวนการที่มีอายุการใช้งานยาวนานเรียก fuzzed API ซ้ำๆ กัน) ข้อมูลเพิ่มเติมสามารถพบได้ที่นี่
มันมาพร้อมกับ ไดเร็กทอรีตัวอย่าง ซึ่งประกอบด้วยการตั้งค่า fuzz ในโลกแห่งความเป็นจริงสำหรับซอฟต์แวร์ที่ใช้กันอย่างแพร่หลาย (เช่น Apache HTTPS, OpenSSL, libjpeg เป็นต้น)
จัดเตรียมโหมด การย่อขนาดคลังข้อมูล
Linux - ไลบรารี BFD (libbfd-dev) และ libunwind (libunwind-dev/libunwind8-dev), clang-5.0 หรือสูงกว่าสำหรับโหมดความครอบคลุมที่ใช้ซอฟต์แวร์
FreeBSD - gmake, clang-5.0 หรือใหม่กว่า
NetBSD - gmake, เสียงดังกราว, capstone, libBlocksRuntime
ระบบปฏิบัติการ Android - ระบบปฏิบัติการ Android SDK/NDK ดูเอกสารโดยละเอียดเกี่ยวกับวิธีสร้างและรันด้วย
วินโดวส์ - CygWin
ดาร์วิน/OS X - Xcode 10.8+
หากใช้ Clang/LLVM เพื่อคอมไพล์ Honggfuzz - เชื่อมโยงกับ BlocksRuntime Library (libblocksruntime-dev)
Honggfuzz ถูกใช้เพื่อค้นหาปัญหาด้านความปลอดภัยที่น่าสนใจบางประการในแพ็คเกจซอฟต์แวร์หลักๆ รายการที่ไม่สมบูรณ์:
ปัญหาด้านความปลอดภัยมากมายผ่านโครงการ OSS-Fuzz
ข้อขัดข้องระยะไกลก่อนการตรวจสอบสิทธิ์ใน OpenSSH
อาปาเช่ HTTPD
ความผิดพลาดจากระยะไกลใน mod_http2 • CVE-2017-7659
ใช้งานฟรีใน mod_http2 • CVE-2017-9789
หน่วยความจำรั่วใน mod_auth_digest • CVE-2017-9788
การเข้าถึงนอกขอบเขต • CVE-2018-1301
เขียนฟรีใน HTTP/2 • CVE-2018-1302
การอ่านไม่อยู่ในขอบเขต • CVE-2018-1303
libs SSL ต่างๆ
OOB ระยะไกลอ่านใน OpenSSL • CVE-2015-1789
ใช้งานระยะไกลได้ฟรี (ศักยภาพ RCE ได้รับการจัดอันดับว่า วิกฤต ) ใน OpenSSL • CVE-2016-6309
OOB ระยะไกลเขียนใน OpenSSL • CVE-2016-7054
OOB ระยะไกลอ่านใน OpenSSL • CVE-2017-3731
การใช้ mem ที่ไม่ได้กำหนดค่าเริ่มต้นใน OpenSSL
ความผิดพลาดใน LibreSSL
ฟรีใน LibreSSL ไม่ถูกต้อง
การใช้ mem ที่ไม่ได้กำหนดค่าเริ่มต้นใน BoringSSL
Adobe Flash memory เสียหาย • CVE-2015-0316
มีข้อบกพร่องหลายประการในไลบรารี libtiff
มีข้อบกพร่องหลายประการในไลบรารี librsvg
มีข้อบกพร่องหลายอย่างในไลบรารี poppler
ข้อบกพร่องที่สามารถหาประโยชน์ได้หลายอย่างใน IDA-Pro
DoS ระยะไกลใน Crypto++ • CVE-2016-9939
ล่ามภาษาโปรแกรม
PHP/หลาม/รูบี้
PHP WDDX
PHP
เพิร์ล: #1, #2, #3
ฟรีสองเท่าใน LibXMP
ฮีปบัฟเฟอร์ล้นใน SAPCAR • CVE-2017-8852
ขัดข้องใน libbass
ฟรีประเภท 2 :
CVE-2010-2497
CVE-2010-2498
CVE-2010-2499
CVE-2010-2500
CVE-2010-2519
CVE-2010-2520
CVE-2010-2527
ซ้อนปัญหาความเสียหายในตัวแยกวิเคราะห์ Windows OpenType: #1, #2, #3
วนซ้ำไม่สิ้นสุดใน หน่วย NGINX
ปัญหาสองสามประการใน ไลบรารี I/O ไฟล์ MATLAB MAT : #1, #2, #3, #4, #5
นาสม์ #1, #2, #3, #4, #5, #6, #7, #8, #9, #10
แซมบ้า tdbdump + tdbtool, #2, #3, #4, #5, #6 CVE-2019-14907 CVE-2020-10745 CVE-2021-20277 LPRng_time
ความผิดพลาดใน djvulibre
ข้อขัดข้องหลายครั้งใน VLC
บัฟเฟอร์ล้นใน ClassiCube
ฮีปบัฟเฟอร์ล้น (หรือ UAF) ใน MPV
ฮีปบัฟเฟอร์ล้นใน picoc
ข้อขัดข้องใน OpenCOBOL : #1, #2
DoS ใน ProFTPD : #1 • #2
ปัญหาด้านความปลอดภัยหลายประการใน ImageIO (iOS/MacOS)
หน่วยความจำเสียหายใน htmldoc
หน่วยความจำเสียหายใน OpenDetex
หน่วยความจำเสียหายใน Yabasic
หน่วยความจำเสียหายใน Xfig
หน่วยความจำเสียหายใน LibreOffice
หน่วยความจำเสียหายใน ATasm
หน่วยความจำเสียหายใน oocborrt • CVE-2020-24753
หน่วยความจำเสียหายใน LibRaw
การยกเลิก NULL-ptr ใน peg-markdown
ค่าเริ่มต้นใน MD4C • CVE-2020-26148
17 ข้อบกพร่องใหม่ใน fwupd
การยืนยันใน libvips
[ความผิดพลาดใน libocispec )(https://github.com/containers/libocispec/commit/6079cd9490096cfb46752bd7491c71253418a02c)
สนิม :
panic() ใน regex #1, #2, #3
ความตื่นตระหนก () ใน h2 #1, #2, #3
panic() ใน sleep-parser #1
panic() ใน lewton #1
ความตื่นตระหนก () / DoS ใน Ethereum-Parity #1
Crash() ใน Parts - ตัวจัดการพาร์ติชัน GPT #1
ขัดข้องในrust-bitcoin/rust-lighting #1
... และอีกมากมาย
QuickFuzz โดย CIFASIS
OSS-ฟัซ
กบและฟัซ
ล่ามคลุมเครือ : โดย dyjakan
riufuzz : Honggfuzz พร้อม UI ที่เหมือน AFL
h2fuzz : การคลุมเครือการใช้งาน HTTP/2 ของ Apache
Honggfuzz-dharma : Honggfuzz พร้อมตัวคั่นไวยากรณ์ธรรมะ
Owl : ระบบค้นหาการโจมตีพร้อมกัน
Honggfuzz-นักเทียบท่า-แอป
FFW : คลุมเครือเพื่อเวิร์ม
honggfuzz-rs : ฟัซซี่ Rust กับ Honggfuzz
หยาบพอ-ฝอย
Monkey : เซิร์ฟเวอร์ HTTP
Killerbeez API : เฟรมเวิร์กฟัซซิ่งแบบโมดูลาร์
FuzzM : เฟรมเวิร์กฟัซซิ่งตามโมเดลกล่องสีเทา
FuzzOS : โดย Mozilla Security
Android : โดย OHA
QDBI : โดย Quarkslab
fuzzer-test-suite : โดย Google
DeepState : โดย Trail-of-Bits
Quiche-HTTP/3 : โดย Cloudflare
Bolero : กรอบการทดสอบคลุมเครือและคุณสมบัติ
pwnmachine : ไฟล์ vagrant สำหรับการพัฒนาช่องโหว่บน Linux
Quick700 : วิเคราะห์ประสิทธิภาพของ fuzzers บนเว็บเบราว์เซอร์และเว็บเซิร์ฟเวอร์
python-hfuzz : ติดกาว Honggfuzz และ python3
go-hfuzz : ติดกาว Honggfuzz แล้วไป
แม็กม่า : เกณฑ์มาตรฐานคลุมเครือตามความจริง
Arbitrary-model-tests : มาโครขั้นตอนสำหรับการทดสอบโมเดล stateful
Clusterfuzz : กลไกการคลุมเครือที่อยู่เบื้องหลัง OSS-fuzz/Chrome-fuzzing
เซิร์ฟเวอร์อาปาเช่ HTTP
centos-ฝอย
FLUFFI : ยูทิลิตี้ที่แปลเป็นภาษาท้องถิ่นอย่างสมบูรณ์สำหรับการ Fuzzing ทันทีโดย Siemens
Fluent Bit : ตัวประมวลผลบันทึกที่รวดเร็วและผู้ส่งต่อสำหรับ Linux
แซมบ้า : เซิร์ฟเวอร์ SMB
universal-fuzzing-docker : โดย nnamon
Canokey Core : การใช้งานหลักของคีย์ความปลอดภัยแบบโอเพ่นซอร์ส
uberfuzz2 : กรอบการทำงานคลุมเครือแบบร่วมมือ
TiKV : ฐานข้อมูลคีย์-ค่าของธุรกรรมแบบกระจาย
คลุมเครือมอนิเตอร์
libmutator : ไลบรารี C มีวัตถุประสงค์เพื่อสร้างกรณีทดสอบแบบสุ่มโดยการกลายพันธุ์กรณีทดสอบที่ถูกต้องตามกฎหมาย
StatZone : ตัววิเคราะห์ไฟล์โซน DNS
shub-fuzz/honggfuzz : ภาพเอกพจน์สำหรับ Honggfuzz
Code Intelligence : fuzzing-as-a-service
SpecFuzz : fuzzing สำหรับช่องโหว่ของ Spectre
rcc : คอมไพเลอร์ Rust C
EIP1962Fuzzing : การทดสอบคลุมเครือของการใช้งาน EIP1962 ต่างๆ
wasm-fuzz : Fuzzing of wasmer โพสต์ในบล็อก
propfuzz : เครื่องมือสนิมเพื่อรวมฟัซซิ่งที่มีการแนะนำความครอบคลุมเข้ากับการทดสอบตามคุณสมบัติ - จาก Facebook
Bitcoin Core : คลุมเครือ
ESP32-Fuzzing-Framework : Fuzzing Framework สำหรับแอปพลิเคชัน ESP32
Fuzzbench : การเปรียบเทียบ Fuzzer ในฐานะบริการ
rumpsyscallfuzz : การคลุมเครือของเคอร์เนล NetBSD Rump
libnbd : พร่ามัว libnbd ด้วย Honggfuzz
EnsmallenGraph : ไลบรารี่ Rust เพื่อรันการเดินสุ่มแบบถ่วงน้ำหนักเหมือน node2vec บนกราฟขนาดใหญ่มาก
โอเอซิสคอร์
bp7-rs : การใช้งาน Rust ของโปรโตคอล dtn Bundle 7
WHATWG : ไลบรารี URL C++
Xaya Core / Chimera : ระบบการลงทะเบียนและถ่ายโอนข้อมูลโอเพ่นซอร์สแบบกระจายอำนาจ
OpenWRT : ระบบปฏิบัติการ Linux ที่กำหนดเป้าหมายอุปกรณ์ฝังตัว
RcppDeepStateTools : แพ็คเกจ R เฉพาะสำหรับ Linux พร้อมฟังก์ชัน R สำหรับการรันชุดทดสอบ DeepState
Materialize : ฐานข้อมูลสตรีมมิ่งสำหรับแอปพลิเคชันแบบเรียลไทม์
สนิม-Bitcoin
Substrate : กรอบงานรุ่นต่อไปสำหรับนวัตกรรมบล็อกเชน
Solana : บล็อกเชนที่รวดเร็ว ปลอดภัย และต้านทานการเซ็นเซอร์
fwupd : โปรเจ็กต์ที่มุ่งทำให้การอัพเดตเฟิร์มแวร์บน Linux เป็นแบบอัตโนมัติ ปลอดภัย และเชื่อถือได้
polkadot : การใช้งานโหนด https://polkadot.network ใน Rust ตามกรอบงาน Substrate
systemd : ได้รับการทดสอบโดย Honggfuzz
freetype : ทดสอบโดย Honggfuzz
ghostscript : ได้รับการทดสอบโดย Honggfuzz
Fuzzme : เทมเพลตฟัซซิ่งสำหรับภาษาโปรแกรมและฟัซเซอร์
P0 : อิมเมจที่พร่ามัว
TrapFuzz : โดย P0
สนิมจะคลุมเครือที่สุด
และโครงการ Rust หลายโครงการ
รายชื่ออีเมลของผู้ใช้: [email protected] ลงทะเบียนด้วยลิงก์นี้
นี่ไม่ใช่ผลิตภัณฑ์อย่างเป็นทางการของ Google