Testy bezpieczeństwa aplikacji

Metodyka audytu aplikacji została opracowana w oparciu o wieloletnią praktykę w obszarze realizacji audytów bezpieczeństwa aplikacji (testy black box, white box, przeglądy kodu źródłowego) głównie dla klientów z sektora finansowego. Zdobyte doświadczenia pozwoliły zaadaptować na potrzeby audytu metodykę OWASP (Open Web Application Security Project) oraz wytyczne Web Security Consortium, z którego zagranicznymi członkami zespół Safe Computing miał okazję wspólnie realizować audyty aplikacji.
Badanie bezpieczeństwa może odbywać się zgodnie z podejściem „white box” („glass box”), które zakłada pewien poziom wiedzy o badanym systemie, najczęściej wiedzę taką jaką posiadają o systemie jego twórcy lub administratorzy albo zgodnie z podejściem „black box”, które zakłada minimalną wiedzę o badanym systemie, najczęściej taką jaką można posiąść ze źródeł ogólnie dostępnych. W podejściu „white box” możliwa jest bardziej szczegółowa i jednocześnie rozleglejsza analiza poziomu bezpieczeństwa systemów, w szczególności możliwe staje się badanie podatności niedostępnych z poziomu sieciowego (np. nieprawidłowe prawa dostępu do plików systemu operacyjnego) lub też takich, których badanie metodą „black box” jest nieefektywne (np. polityka haseł). Audyt typu „white box” jest praktycznie pozbawiony niepewności wyników, ponieważ wiedza na temat konfiguracji i zainstalowanego oprogramowania pochodzi bezpośrednio z badanych systemów, a nie z wyników testów zdalnych. Dodatkowo testy tego typu cechuje minimalne ryzyko związane z uszkodzeniem danych lub systemów. Elementem testów „white box” są również techniki stosowane w testach „black box”, które mają za zadanie potwierdzenie wyników analizy konfiguracji z rzeczywistym zachowaniem systemów. Rozwinięciem metodyki "white box" są testy prowadzone równolegle z przeglądem kodu źródłowego aplikacji, co pozwala na wykrycie pewnych klas podatności (np. tylnych furtek), praktycznie niewykrywalnych innymi metodami. Przegląd kodu źródłowego pozwala również na bardziej efektywne wprowadzanie modyfikacji w aplikacji, gdyż znajdowane są przyczyny błędów a nie tylko metody i skutki ich wykorzystania, jak w przypadku audytów "black box".
Zakres prac audytowych z punktu widzenia bezpieczeństwa aplikacji obejmuje:

  • Uwierzytelnianie użytkowników w systemie
  • Mechanizmy autoryzacji użytkowników
  • Mechanizm zarządzania użytkownikami
  • Mechanizmy walidacji danych wejściowych i wyjściowych (input/output)
  • Mechanizmy obsługi błędów i wyjątków
  • Funkcjonalność i funkcje administracyjne systemu

Wynikiem naszych prac audytowych jest raport końcowy. Struktura raportu przedstawia się następująco:

  • Streszczenie dla kierownictwa
  • Zakres prac, przebieg prac, ograniczenia
  • Objaśnienie sposobu opisu podatności
  • Zidentyfikowane podatności
  • Załączniki (w zależności od wyników prac)

Nasz zespół posiada blisko 10-letnie doświadczenie w testach bezpieczeństwa aplikacji i ma na swoim koncie ponad 200 przebadanych aplikacji, wykonanych w różnych technologiach i o różnym przeznaczeniu - od prostych aplikacji webowych poprzez aplikacje grubego klienta aż po najnowsze rozwiązania mobilne.