Najlepsze pytania
Chronologia
Czat
Perspektywa
Fuzz testing
Z Wikipedii, wolnej encyklopedii
Remove ads
Fuzz testing (fuzzing) – automatyczna lub półautomatyczna metoda testowania oprogramowania lub znajdowania w nim dziur, przydatnych przy atakach hakerskich[1]. Polega ona na zautomatyzowanym wysyłaniu do programu różnego rodzaju losowych danych wejściowych i rejestrowaniu niepożądanych wydarzeń, takich jak crash, wycieki pamięci czy nieautoryzowany dostęp. Dane mogą być wprowadzane:
- z linii poleceń,
- za pomocą plików otwieranych w programie,
- za pomocą zdarzeń klawiatury i myszki,
- za pomocą protokołów internetowych.

Termin wprowadził Barton Miller z Uniwersytetu Wisconsin-Madison ok. 1989 roku, choć samo podejście było stosowane już wcześniej[2][3].
Fuzz testing jest mniej skuteczne w przypadku zagrożeń bezpieczeństwa, które nie powodują awarii programu, takich jak spyware, niektóre wirusy, robaki, trojany i keyloggery. Chociaż fuzz testing jest proste, to oferuje wysoki stosunek korzyści do kosztów i może ujawnić poważne defekty, które są pomijane, gdy oprogramowanie jest pisane i debugowane w klasyczny sposób. Nie może jednak dostarczyć pełnego obrazu ogólnego bezpieczeństwa, jakości lub skuteczności programu i jest najbardziej skuteczny w połączeniu z szeroko zakrojonymi testami black box testing, beta testing i innymi metodami debugowania[4].
Przy pomocy wolnego i otwartego fuzzera AFL autorstwa Michała „lcamtufa” Zalewskiego wykryto nieznane wcześniej podatności bezpieczeństwa i błędy w dziesiątkach programów i platform, takich jak PuTTY, PHP, OpenSSL, LibreOffice, Firefox, GnuPG, nginx, BIND, curl, Tor, kernelach iOS i OpenBSD, filtrze pakietów NetBSD czy Apache httpd[5].
Remove ads
Fuzzing mutacyjny
Polega na losowej zmianie poprawnych plików (tworzeniu ich mutacji). Za pomocą tej metody znaleziono dziury w Acrobat Reader 9.5.1 i 10.1.3.[6]
Zobacz też
Przypisy
Linki zewnętrzne
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads