Fuzzer yang berorientasi pada keamanan, didorong oleh umpan balik, evolusioner, dan mudah digunakan dengan opsi analisis yang menarik. Lihat dokumen Penggunaan untuk informasi dasar tentang penggunaan Honggfuzz.
Versi stabil terbaru: 2.6
log perubahan
sudo apt-get install binutils-dev libunwind-dev libblocksruntime-dev clang make
Ini multi-proses dan multi-thread : tidak perlu menjalankan banyak salinan fuzzer Anda, karena honggfuzz dapat membuka potensi semua inti CPU yang tersedia dengan satu instance yang berjalan. Korpus file secara otomatis dibagikan dan ditingkatkan di antara semua proses fuzzed.
Ini sangat cepat ketika mode fuzzing persisten digunakan. Fungsi LLVMFuzzerTestOneInput yang sederhana/kosong dapat diuji hingga 1 bulan iterasi per detik pada CPU yang relatif modern (misalnya i7-6700K).
Memiliki rekam jejak yang kuat dalam menemukan bug keamanan: satu-satunya kerentanan (hingga saat ini) di OpenSSL dengan nilai skor kritis ditemukan oleh honggfuzz. Lihat paragraf Piala untuk ringkasan temuan hingga saat ini.
Menggunakan antarmuka tingkat rendah untuk memantau proses (misalnya ptrace di Linux dan NetBSD). Berbeda dengan fuzzer lainnya, ia akan menemukan dan melaporkan sinyal yang dibajak/diabaikan dari error (yang disadap dan berpotensi disembunyikan oleh program fuzz).
Mudah digunakan, masukkan direktori korpus sederhana (bahkan bisa kosong untuk fuzzing berbasis umpan balik), dan itu akan terus berkembang, memperluasnya dengan memanfaatkan metrik cakupan berbasis umpan balik.
Mendukung beberapa (lebih banyak daripada fuzzer berbasis umpan balik berbasis cakupan lainnya) berbasis perangkat keras (CPU: penghitungan cabang/instruksi, Intel BTS , Intel PT ) dan mode fuzzing berbasis umpan balik berbasis perangkat lunak. Juga, lihat mode qemu baru untuk fuzzing biner blackbox.
Bekerja (setidaknya) di bawah GNU/Linux, FreeBSD, NetBSD, Mac OS X, Windows/CygWin dan Android.
Mendukung mode fuzzing persisten (proses berumur panjang yang memanggil API fuzzed berulang kali). Lebih lanjut tentang itu dapat ditemukan di sini.
Muncul dengan direktori contoh , yang terdiri dari pengaturan fuzz dunia nyata untuk perangkat lunak yang banyak digunakan (misalnya Apache HTTPS, OpenSSL, libjpeg, dll.).
Menyediakan mode minimalisasi korpus .
Linux - Pustaka BFD (libbfd-dev) dan libunwind (libunwind-dev/libunwind8-dev), clang-5.0 atau lebih tinggi untuk mode cakupan berbasis perangkat lunak
FreeBSD - gmake, clang-5.0 atau lebih baru
NetBSD - gmake, dentang, batu penjuru, libBlocksRuntime
Android - Android SDK/NDK. Lihat juga dokumen mendetail ini tentang cara membuat dan menjalankannya
Windows - CygWin
Darwin/OS X - Xcode 10.8+
jika Dentang/LLVM digunakan untuk mengkompilasi hoggfuzz - tautkan dengan Perpustakaan BlocksRuntime (libblocksruntime-dev)
Honggfuzz telah digunakan untuk menemukan beberapa masalah keamanan yang menarik dalam paket perangkat lunak utama; Daftar yang tidak lengkap:
Puluhan masalah keamanan melalui proyek OSS-Fuzz
Kerusakan jarak jauh sebelum autentikasi di OpenSSH
Apache HTTPD
Kerusakan jarak jauh di mod_http2 • CVE-2017-7659
Gunakan setelah bebas di mod_http2 • CVE-2017-9789
Kebocoran memori di mod_auth_digest • CVE-2017-9788
Akses di luar batas • CVE-2018-1301
Tulis setelah gratis di HTTP/2 • CVE-2018-1302
Bacaan di luar batas • CVE-2018-1303
Berbagai lib SSL
OOB jarak jauh dibaca di OpenSSL • CVE-2015-1789
Penggunaan Jarak Jauh setelah Bebas (potensi RCE, dinilai kritis ) di OpenSSL • CVE-2016-6309
Tulis OOB jarak jauh di OpenSSL • CVE-2016-7054
OOB jarak jauh dibaca di OpenSSL • CVE-2017-3731
Penggunaan mem yang tidak diinisialisasi di OpenSSL
Kerusakan di LibreSSL
Gratis tidak valid di LibreSSL
Penggunaan mem yang tidak diinisialisasi di BoringSSL
Kerusakan memori Adobe Flash • CVE-2015-0316
Banyak bug di perpustakaan libtiff
Banyak bug di perpustakaan librsvg
Banyak bug di perpustakaan poppler
Beberapa bug yang dapat dieksploitasi di IDA-Pro
DoS jarak jauh di Crypto++ • CVE-2016-9939
Penerjemah bahasa pemrograman
PHP/Python/Ruby
PHPWDDX
PHP
Perl: #1, #2, #3
Bebas ganda di LibXMP
Tumpukan buffer overflow di SAPCAR • CVE-2017-8852
Kerusakan di libbass
Tipe Gratis 2 :
CVE-2010-2497
CVE-2010-2498
CVE-2010-2499
CVE-2010-2500
CVE-2010-2519
CVE-2010-2520
CVE-2010-2527
Masalah kerusakan tumpukan di parser Windows OpenType: #1, #2, #3
Loop tak terbatas di Unit NGINX
Beberapa masalah di MATLAB MAT File I/O Library : #1, #2, #3, #4, #5
NASM #1, #2, #3, #4, #5, #6, #7, #8, #9, #10
Samba tdbdump + tdbtool, #2, #3, #4, #5, #6 CVE-2019-14907 CVE-2020-10745 CVE-2021-20277 LPRng_time
Kecelakaan di Djvulibre
Beberapa kerusakan di VLC
Buffer meluap di ClassiCube
Tumpukan buffer-overflow (atau UAF) di MPV
Tumpukan buffer-overflow di picoc
Kerusakan di OpenCOBOL : #1, #2
DoS di ProFTPD : #1 • #2
Berbagai masalah keamanan di ImageIO (iOS/MacOS)
Kerusakan memori di htmldoc
Kerusakan memori di OpenDetex
Kerusakan memori di Yabasic
Kerusakan memori di Xfig
Kerusakan memori di LibreOffice
Kerusakan memori di ATasm
Kerusakan memori di oocborrt • CVE-2020-24753
Kerusakan memori di LibRaw
NULL-ptr deref dalam penurunan harga pasak
Nilai yang tidak diinisialisasi di MD4C • CVE-2020-26148
17 bug baru di fwupd
Penegasan di libvips
[Kerusakan di libocispec )(https://github.com/containers/libocispec/commit/6079cd9490096cfb46752bd7491c71253418a02c)
Karat :
panik() di regex #1, #2, #3
panik() di h2 #1, #2, #3
panik() di pengurai tidur #1
panik() di lewton #1
panik()/DoS di Ethereum-Parity #1
crash() di Bagian - manajer partisi GPT #1
mogok di karat-bitcoin/karat-petir #1
... dan banyak lagi
QuickFuzz oleh CIFASIS
OSS-Fuzz
Katak dan Bulu Halus
juru bahasa fuzzing : dengan dyjakan
riufuzz : hoggfuzz dengan UI mirip AFL
h2fuzz : mengaburkan implementasi HTTP/2 Apache
honggfuzz-dharma : honggfuzz dengan tata bahasa dharma fuzzer
Owl : sistem untuk menemukan serangan konkurensi
honggfuzz-docker-apps
FFW : Fuzzing Untuk Cacing
hoggfuzz-rs : mengaburkan Rust dengan Honggfuzz
cukup kasar-bulu halus
Monyet : server HTTP
Killerbeez API : kerangka fuzzing modular
FuzzM : kerangka fuzzing berbasis model kotak abu-abu
FuzzOS : oleh Keamanan Mozilla
Android : oleh OHA
QDBI : oleh Quarkslab
fuzzer-test-suite : oleh Google
DeepState : oleh Trail-of-Bits
Quiche-HTTP/3 : oleh Cloudflare
Bolero : kerangka pengujian fuzz dan properti
pwnmachine : file gelandangan untuk pengembangan eksploitasi di Linux
Quick700 : menganalisis efektivitas fuzzers pada web browser dan web server
python-hfuzz : merekatkan honggfuzz dan python3
go-hfuzz : menempelkan honggfuzz dan pergi
Magma : tolok ukur fuzzing kebenaran dasar
tes model sewenang-wenang : makro prosedural untuk menguji model berstatus
Clusterfuzz : mesin fuzzing di belakang OSS-fuzz/Chrome-fuzzing
Server HTTP Apache
centos-bulu halus
FLUFFI : Utilitas yang Sepenuhnya Dilokalkan Untuk Fuzzing Secara Instan oleh Siemens
Fluent Bit : pemroses dan penerus log cepat untuk Linux
Samba : server UKM
universal-fuzzing-docker : oleh nnamon
Canokey Core : implementasi inti dari kunci aman sumber terbuka
uberfuzz2 : kerangka fuzzing kooperatif
TiKV : database nilai kunci transaksional terdistribusi
monitor bulu halus
libmutator : perpustakaan C yang dimaksudkan untuk menghasilkan kasus uji acak dengan memutasi kasus uji yang sah
StatZone : penganalisis file zona DNS
shub-fuzz/honggfuzz : gambar singularitas untuk honggfuzz
Kecerdasan Kode : fuzzing-as-a-service
SpecFuzz : mencari kerentanan Spectre
rcc : kompiler Rust C
EIP1962Fuzzing : Pengujian fuzzy berbagai implementasi EIP1962
wasm-fuzz : Fuzzing wasmer, postingan blog
propfuzz : Alat Rust untuk menggabungkan fuzzing yang dipandu cakupan dengan pengujian berbasis properti - dari Facebook
Bitcoin Core : tidak jelas
ESP32-Fuzzing-Framework : Kerangka Fuzzing untuk aplikasi ESP32
Fuzzbench : Fuzzer Benchmarking Sebagai Layanan
rumpsyscallfuzz : NetBSD Rump Kernel kabur
libnbd : fuzzing libnbd dengan honggfuzz
EnsmallenGraph : Pustaka Rust untuk menjalankan penelusuran acak berbobot seperti node2vec pada grafik yang sangat besar
Inti Oasis
bp7-rs : Implementasi karat dari protokol bundel dtn 7
WHATWG : perpustakaan URL C++
Xaya Core / Chimera : Sistem pendaftaran dan transfer informasi sumber terbuka yang terdesentralisasi
OpenWRT : Sistem operasi Linux yang menargetkan perangkat tertanam
RcppDeepStateTools : Paket R khusus Linux, dengan fungsi R untuk menjalankan test harness DeepState
Materialize : Database streaming untuk aplikasi real-time
Karat-Bitcoin
Substrat : Kerangka kerja generasi berikutnya untuk inovasi blockchain
Solana : Blockchain yang cepat, aman, dan tahan sensor
fwupd : Sebuah proyek yang bertujuan untuk membuat pembaruan firmware di Linux otomatis, aman dan andal
polkadot : Implementasi node https://polkadot.network di Rust berdasarkan kerangka Substrat
systemd : diuji oleh honggfuzz
freetype : diuji oleh honggfuzz
ghostscript : diuji oleh Honggfuzz
Fuzzme : template fuzzing untuk bahasa pemrograman dan fuzzer
P0 : Gambar MengaburkanIO
TrapFuzz : dengan P0
Uji bulu karat
dan beberapa proyek Rust
Milis pengguna: [email protected], daftar dengan tautan ini.
Ini BUKAN produk resmi Google