Korzyści z włamania

O narzędziach słów kilka

Jeśli test penetracyjny ma symulować działanie intruza, to używane narzędzia powinny również odpowiadać narzędziom stosowanym przez intruzów. Dobór narzędzi zależy tak naprawdę od przedmiotu testów. W praktyce stosuje się zarówno narzędzia niskopoziomowe (skanery portów, narzędzia pozwalające na konstruowanie pakietów, itp.), jak i (często, ale nie zawsze) skanery automatyczne. Wyniki uzyskane za pomocą tych ostatnich są zawsze szczegółowo sprawdzane i weryfikowane.

Przyjęło się uważać, że hakerzy używają tylko specjalizowanych narzędzi niskopoziomowych. Prawda jest taka, że jedynie do takich właśnie większość z nich ma dostęp. Skanery zintegrowane to zazwyczaj narzędzia łączące wiele funkcji, a przez to drogie, choć... możliwe do zdobycia. W praktyce klientowi zależy, aby czas przeznaczony na testy był jak najkrótszy, zastosowanie skanerów zintegrowanych ma więc uzasadnienie. Powtórzę jednak jeszcze raz - dobór narzędzi jest ściśle uzależniony od działań, jakie będą wykonywane.

Podczas realizacji testu penetracyjnego używa się wielu narzędzi, z których żadne nie jest uniwersalne. Każde z nich wykorzystuje się, aby wykonać określone działania przewidziane w scenariuszu ataku. Pełnej listy narzędzi potrzebnych do przeprowadzenia testu nie sposób ustalić z góry. Na każdym kolejnym etapie jest zdobywana nowa wiedza, która modyfikuje scenariusz testu, a wraz z nim także portfolio narzędziowe.

Dążę tu do tego, że domaganie się od potencjalnych wykonawców testów przedstawienia listy narzędzi - co w specyfikacji zamówienia jest nagminne - mija się z celem. Doświadczone zespoły wykonujące testy penetracyjne często dysponują narzędziami autorskimi, których nazwy nikomu nic nie powiedzą. Często zdarza się, że narzędzie jest opracowywane na potrzeby konkretnego zadania.

Zbiór narzędzi to istotny element know-how firmy wykonującej testy, a zatem domaganie się jego ujawnienia - i to już na etapie składania oferty - jest niestosowne. Zamawiający naraża się w ten sposób na przyjęcie ofert nierzetelnych i zamówienie w ostatecznym rozrachunku np. skanowania automatem, zamiast rzeczywistego testu penetracyjnego.

Standardów praktycznie brak

Panuje opinia, że testy penetracyjne jako działania symulujące atak intruza nie poddają się ścisłej standaryzacji. Rzeczywiście, skonstruowanie listy zadań do wykonania przed przystąpieniem do ich realizacji nie jest możliwe, ponieważ wyniki każdego kolejnego etapu mogą w istotny sposób modyfikować kolejne kroki. Tym bardziej że sama materia, a więc systemy informatyczne, a wraz z nimi stan i jakość zabezpieczeń zmieniają się dosyć szybko.

W praktyce stosuje się podejście iteracyjne, polegające na sporządzaniu list zadań do wykonania w kolejnym etapie na podstawie dotychczas zebranych wyników. Pozwala to na właściwe uporządkowanie prac, a jednocześnie nie "zabija" idei testów penetracyjnych. Za wyznaczanie kierunków działań i przydział zadań powinien odpowiadać kierujący zespołem, wskazane jest jednak, aby decyzje były podejmowane kolektywnie przez cały zespół testujący. Nadmierne ograniczenie kreatywności zespołu testującego przez narzucenie zbyt ścisłych i sformalizowanych procedur może, paradoksalnie, doprowadzić do znacznego obniżenia jakości testu.

Współczesne standardy dotyczące bezpieczeństwa teleinformatycznego tematykę związaną z testami penetracyjnymi traktują bardzo powierzchownie. Przede wszystkim dlatego że są to standardy ogólne, abstrahujące od konkretnego systemu, aplikacji czy protokołu. Testy penetracyjne są prowadzone w kontekście konkretnych produktów. Jednym z nielicznych przykładów prób standaryzacji tej dziedziny jest dokument Open Source Security Testing Methodology Manual (OSSTMM), mający status standardu otwartego. Uwagi i propozycje może zgłaszać każdy, stąd open source w nazwie. Standard OSSTMM jest rozwijany od 2000 r., obecnie obowiązuje wersja 2.1. Trzeci rozdział tego dokumentu - Internet Technology Security zawiera m.in. opisy działań, jakie mogą zostać wykonane podczas testów penetracyjnych, nie narzuca jednak ścisłej listy zadań do wykonania.

Czas trwania testów

Bardzo ważnym parametrem, który należy ustalić (zamawiający powinien zrobić to samodzielnie lub ewentualnie w porozumieniu z oferentem), jest czas trwania testów. Skoro test penetracyjny ma odpowiadać na pytanie, ile informacji intruz jest w stanie zdobyć w określonym czasie, trzeba go określić realistycznie.

Z drugiej strony, wiadomo że test penetracyjny może być prowadzony bez mała w nieskończoność. Zespół testujący zdobywa coraz to nowe informacje i może je wykorzystać do coraz to nowych prób ataku. Oczywiście, nie dotyczy to testów z ustalonym ściśle celem. W takim przypadku test kończy się, jeśli został on osiągnięty lub upłynął ustalony czas.

Czas trwania testu jest jednym z istotnych, choć nie jedynym, parametrem wyceny prac testowych. Ustalenie właściwego (przy danym zakresie i stopniu trudności prac) czasu trwania testu leży w interesie zamawiającego. Ze względu na to, że celem testu jest zdobycie informacji o stanie zabezpieczeń, nie może to być czas zbyt krótki - powinien on pozwalać wykonać testy w sposób rzetelny. Nie ma tutaj złotego środka - wszystko zależy od tego, jaki jest obiekt testów i co chce osiągnąć zamawiający test.


TOP 200