1. Strona główna
  2. Sylabus dla poziomu zaawansowanego – Techniczny analityk testowy (wersja z 19.10.2012)
  3. 4. Atrybuty jakości w testach technicznych
  4. 4.3 Testowanie zabezpieczeń
  5. 4.3.1 Wprowadzenie

4.3.1 Wprowadzenie

Testowanie zabezpieczeń różni się od innych form testowania funkcjonalnego w dwóch istotnych obszarach:

  1. standardowe techniki wyboru testowych danych wejściowych mogą nie uwzględniać ważnych kwestii bezpieczeństwa;
  2. objawy problemów związanych z bezpieczeństwem bardzo się różnią od symptomów wykrywanych w innych rodzajach testowania funkcjonalnego.

W ramach testowania zabezpieczeń dokonywana jest ocena podatności systemu na zagrożenia poprzez podjęcie próby naruszenia ochrony systemu określonej przez jego strategię bezpieczeństwa.

Poniższa lista zawiera listę potencjalnych zagrożeń, które należy uwzględnić podczas testowania zabezpieczeń:

  • Kopiowanie aplikacji lub danych bez upoważnienia.
  • Nieautoryzowany dostęp (np. możliwość wykonywania zadań, do których użytkownik nie ma uprawnień). Prawa użytkowników, zasady dostępu i uprawnienia są najważniejszymi elementami sprawdzanymi podczas testowania. Takie informacje powinny być dostępne w specyfikacji systemu.
  • Oprogramowanie, którego zamierzonemu działaniu towarzyszą niezamierzone skutki uboczne. Na przykład, działaniu odtwarzacza plików multimedialnych, który poprawnie odtwarza pliki audio, ale zapisuje przy tym pliki w nieszyfrowanej pamięci tymczasowej, towarzyszy skutek uboczny, który może zostać wykorzystany przez cyberprzestępców.
  • Kod umieszczany na stronie internetowej, który może zostać uruchomiony przez kolejnych użytkowników (tzw. cross-site scripting; XSS). Kod taki może wyrządzić szkody.
  • Przepełnienie bufora, które może być spowodowane wprowadzaniem w polu wejściowym w interfejsie użytkownika łańcuchów o długości większej niż możliwa do poprawnego obsłużenia w kodzie. Występowanie tego zjawiska może stanowić okazję do uruchomienia szkodliwego kodu.
  • Odmowa usługi, czyli sytuacja, gdy użytkownicy nie mogą nawiązać interakcji z aplikacją (przyczyną może być np. przeciążenie serwera WWW ustawicznie ponawianymi żądaniami).
  • Przechwycenie, naśladowanie lub modyfikowanie, a następnie przekierowanie informacji (np. transakcji kartą kredytową) przez stronę trzecią w taki sposób, że użytkownik pozostaje nieświadomy istnienia strony trzeciej (atak typu man in the middle).
  • Złamanie algorytmów szyfrujących używanych do ochrony wrażliwych danych.
  • Bomby logiczne (nazywane czasami „kukułczymi jajami”), które mogą zostać rozmyślnie umieszczone w kodzie i aktywowane jedynie w pewnych okolicznościach (np. konkretnego dnia). Po aktywowaniu bomba logiczna może wykonać szkodliwe działania, takie jak usunięcie plików albo sformatowanie dysków.