Leksykon IT › Bezpieczeństwo › Fuzzing

Fuzzing

Bezpieczeństwo Svenska → Zaktualizowano: 2026-10-06

Technika testowania, która karmi program ogromnymi ilościami losowych, zniekształconych lub nieoczekiwanych danych, by znaleźć awarie, błędy pamięci i luki bezpieczeństwa. Komputer sam poluje na błędy, próbując „zepsuć” program na sposoby, które człowiekowi nie przyszłyby do głowy.

Mechanizm: fuzzer generuje mnóstwo wariantów danych i uruchamia program raz po razie, szukając awarii, zawieszeń lub wykrytych błędów pamięci (najlepiej z sanitizerami, jak AddressSanitizer, łapiącymi subtelne błędy). Nowoczesne fuzzery są sterowane pokryciem (AFL, libFuzzer): mierzą, które ścieżki kodu osiąga każde wejście, i mutują je mądrze, by odkrywać nowe gałęzie → o wiele skuteczniej niż czysta losowość. Zastosowanie: szukanie luk w kodzie parsującym niezaufane dane (formaty plików, protokoły sieciowe, biblioteki) — czyli dokładnie tam, gdzie mieszkają błędy pamięci i wstrzyknięcia. Odkrył tysiące poważnych błędów w dużych projektach; Google nieustannie uruchamia OSS-Fuzz przeciwko krytycznemu open source. Element nowoczesnego bezpiecznego wytwarzania obok SAST/DAST. Szczególnie mocny dla C/C++ i innego kodu niebezpiecznego pamięciowo.

← Wróć do leksykonu