Co to jest testowanie fuzz?

Testowanie fuzz lub fuzzing to metoda sprawdzania, w jaki sposób program lub system komputerowy zareaguje na różne, czasem losowe, wejścia i informacji. Proces ten polega na generowaniu pewnego rodzaju danych, całkowicie losowych lub losowych w ramach określonych ograniczeń, a następnie przekazywania tych danych do programu, aby sprawdzić, w jaki sposób obsługuje nieoczekiwane informacje. Najbardziej podstawowa forma testowania fuzz polega na wysyłaniu losowej sekwencji naciśnięć klawiszów lub znaków do programu i sprawdzenie, czy je poprawnie przetwarza. Bardziej złożona wersja testowania Fuzz wykorzystuje dane strukturalne, które są następnie losowo manipulowane i wysyłane do programu. Dane mogą dotrzeć do programu jako zdarzenia systemowe, wejścia klawiatury, próbne sygnały sieciowe, a nawet jako pliki, które mają zostać załadowane.

Istnieją różne części programu komputerowego, które można przetestować za pomocą generatora fuzz. Graficzny interfejs użytkownika (GUI) może być TEUtworzono sekwencję losowych zdarzeń myszy i klawiatury i sprawdzając, czy GUI jest w stanie obsłużyć wejście bez awarii, zamrażania lub wykonywania nieoczekiwanego zadania. Protokoły sieciowe można przetestować, umożliwiając generatorowi Fuzz losowo zmieniać części prawidłowego pakietu danych, a następnie upewniając się, że protokół może działać po otrzymaniu zdeformowanych danych. Podstawowe elementy wejściowe prawie każdego programu można sprawdzić pod kątem ich zdolności do oporu błędów, takich jak wejście, które jest zbyt długie dla typu pamięci, wejście, które jest innego rodzaju niż oczekiwano, i wejściowe, które jest w jakiś sposób niekompletne lub niepoprawne.

Branża bezpieczeństwa komputerowego może korzystać z testów fuzz, aby upewnić się, że w niektórych systemach nie ma oczywistych otworów bezpieczeństwa. Można to zrobić za pomocą generatora fuzz zaprojektowanego do testowania bezpieczeństwa komputerowego. Programy te będą próbowały używać słów kluczowych systemowych, znane domyślne hasła administratora, funkcje w bibliotekach, których używany program i losowy calLS do funkcji systemowych, aby zobaczyć, jak zareaguje program.

Różne typy testów fuzz można dostosować do znajdujących się w określonych zakresach, a nawet do testowania tylko określonych rodzajów danych wejściowych. Oznacza to, że program może wysłać tylko prawidłowe polecenia, ale mogą być w nonsensownej kolejności. Istnieją bardziej złożone programy testowania fuzz, które mogą przyjmować elementy programu docelowego i manipulować je w celu tworzenia sytuacji, które można złośliwie wykorzystać. Może to obejmować zmianę kolejności procesów, które są spawnowane, modyfikacje uprawnień lub modyfikację podstawowych danych i plików bibliotecznych.

Końcowym rezultatem testowania fuzz jest sprawdzenie, czy program jest bezpieczny i zachowuje się tak, jak powinien być w stanie nieoczekiwanej sytuacji. W przypadku oprogramowania do profilowania i analizy z profilowaniem i analizą, może również wykrywać wycieki pamięci w obszarach takich jak obsługa błędów lub wąskie gardła wydajności. W przypadku bezpieczeństwa komputerowego niebezpieczne problemy, takie jak przepełnienia, które mogą się wycofaćOmise System można złapać za pomocą prawidłowej konfiguracji. Testy Fuzz nie można jednak używać jako jedynej metody testowania oprogramowania i musi być częścią większego procesu zapewnienia jakości i kontroli oprogramowania.

INNE JĘZYKI