Metodologia
Po przeczytaniu dowiesz się.
-
Jakie są możliwe metody testowania bezpieczeństwa aplikacji.
-
Jakie są zalety oraz wady tych metod.
-
Czy istnieje możliwość samodzielnego wykonania tego typu testów.
Wstęp
W niniejszym zestawieniu skupiamy się na testach aplikacji, jednak wskazane informacji można w dużej mierze przełożyć na inne elementy podlegające testom (sieć, infrastruktura, itp.). Tekst na poziomie ogólnym charakteryzuje możliwe podejścia do testów bezpieczeństwa aplikacji. Śledząc wskazane niżej zestawienie można również odpowiedzieć na pytanie czy posiadamy na tyle kompetencji aby testy wykonać samodzielnie.
Automatyczne narzędzia testujące
Skrótowy opis metody:
-
Do testów wykorzystane jest jedno z dostępnych na rynku narzędzi – np.:
-
W celu otrzymania rozsądnych wyników, narzędzie musi być każdorazowo odpowiednio skonfigurowane (niemal każda testowana aplikacja jest inna – samo narzędzie nie umie „inteligentnie” wykryć wszystkich różnic pomiędzy aplikacjami).
-
W wyniku testu otrzymujemy automatycznie generowany raport wykrytych podatności - w języku angielskim.
Zalety metody:
-
Szybkość wykonania testów.
-
Możliwość objęcia testami nawet bardzo dużej aplikacji.
Wady metody:
-
Brak wykrywania pewnych typów błędów (np. Logic Flaws – błędów w logice biznesowej czy błędów architektonicznych).
-
Wymaga konfiguracji, fachowej obsługi oraz odpowiedniej interpretacji wyników.
-
Ze względów czasowych algorytmy zawarte w oprogramowaniu testującym, ograniczają badanie aplikacji, skutkując niewykryciem potencjalnie sporej ilości błędów.
-
Brak implementacji zaawansowanych ataków – np. ataków czasowych.
-
Niemal zawsze brak pokrycia testem 100% aplikacji.
-
Raporty dostępne są jedynie w języku angielskim.
-
Raporty tworzone są na ogólnym poziomie.
-
Wysoki koszt narzędzi.
Testy ręczne
Skrótowy opis metody:
-
Główny ciężar testów spoczywa na profesjonaliście, posiadającym rozległą wiedzę z wielu dziedzin bezpieczeństwa IT.
-
Osoba ta korzysta z oprogramowania wspierającego manualne wykonanie testów.
-
Po znalezieniu podejrzenia błędu, w celu potwierdzenia podatności - może być on bardziej intensywnie zbadany.
-
Tester korzysta ze swojej wiedzy, identyfikując błędy praktycznie niewykrywalne przez żadne automatyczne oprogramowanie do testów bezpieczeństwa.
Zalety metody:
-
Możliwa wysoka skuteczność testów.
-
Możliwe wykrycie błędów nietypowych, charakterystycznych dla konkretnej konfiguracji aplikacji.
-
Możliwość przygotowania dedykowanych dla badanej aplikacji raportów.
-
Możliwe badanie błędów architektonicznych czy błędów w logice biznesowej.
Wady metody:
-
Wysoka czasochłonność podejścia.
-
Praktycznie brak możliwości analizy bardzo dużej aplikacji jedynie tą metodą.
Metoda hybrydowa
Skrótowy opis metody:
-
W pracach bierze udział specjalista od spraw bezpieczeństwa IT, wykorzystujący manualne i automatyczne narzędzia wspomagające.
-
Podczas prac następuje odpowiednie balansowanie prac automatycznych z manualnymi (w zależności od zastanej aplikacji).
Zalety metody:
-
Łączy najlepsze strony oby wyżej wskazanych technik, jednocześnie minimalizując wady.
-
Jest optymalna czasowo, kosztowo.