Co to jest testowanie bezpieczeństwa? Przykład

Co to jest testowanie bezpieczeństwa?

Testowanie bezpieczeństwa jest rodzajem testowania oprogramowania, który ujawnia luki, zagrożenia, ryzyka w aplikacji oprogramowania i zapobiega złośliwym atakom ze strony intruzów. Celem testów bezpieczeństwa jest identyfikacja wszystkich możliwych luk i słabości systemu oprogramowania, które mogą skutkować utratą informacji, przychodów, reputacji z rąk pracowników lub osób z zewnątrz Organizacji.

Testowanie bezpieczeństwa

Dlaczego testowanie bezpieczeństwa jest ważne?

Głównym celem Testowanie bezpieczeństwa polega na identyfikacji zagrożeń w systemie i zmierzeniu jego potencjalnych podatności, tak aby można było napotkać zagrożenia, a system nie przestał działać lub nie mógł być wykorzystany. Pomaga także w wykrywaniu wszystkich możliwych zagrożeń bezpieczeństwa w systemie i pomaga programistom rozwiązać problemy poprzez kodowanie.

Rodzaje testów bezpieczeństwa w testowaniu oprogramowania

Istnieje siedem głównych typów testów bezpieczeństwa zgodnie z podręcznikiem metodologii testowania bezpieczeństwa Open Source. Wyjaśniono je w następujący sposób:

Rodzaje testów bezpieczeństwa w testowaniu oprogramowania

  • Skanowanie luk: Odbywa się to za pomocą zautomatyzowanego oprogramowania skanującego system pod kątem znanych sygnatur luk w zabezpieczeniach.
  • Skanowanie bezpieczeństwa: Obejmuje identyfikację słabości sieci i systemu, a następnie dostarcza rozwiązań w celu zmniejszenia tych ryzyk. To skanowanie może być wykonywane zarówno w trybie ręcznym, jak i automatycznym.
  • Testy penetracyjne: Ten rodzaj testów symuluje atak złośliwego hakera. Testowanie to obejmuje analizę konkretnego systemu w celu sprawdzenia potencjalnych luk w zabezpieczeniach przed próbą włamania z zewnątrz.
  • Ocena ryzyka: Testowanie to polega na analizie zagrożeń bezpieczeństwa zaobserwowanych w organizacji. Ryzyka są klasyfikowane jako niskie, średnie i wysokie. Badanie to zaleca kontrole i środki mające na celu zmniejszenie ryzyka.
  • Audyt bezpieczeństwa: Jest to wewnętrzna kontrola Aplikacji i Operasystemy tingu za luki w zabezpieczeniach. Audyt można również przeprowadzić poprzez kontrolę kodu linia po linii
  • Etyczne hakowanie: To hakowanie systemów oprogramowania organizacji. W przeciwieństwie do złośliwych hakerów, którzy kradną dla własnych korzyści, celem jest ujawnienie luk w zabezpieczeniach systemu.
  • Ocena postawy: Łączy to skanowanie zabezpieczeń, Etyczne hakowanie oraz oceny ryzyka, aby pokazać ogólny stan bezpieczeństwa organizacji.

Jak przeprowadzić testy bezpieczeństwa

Zawsze zgadza się, że koszty będą większe, jeśli odłożymy sprawę testy bezpieczeństwa po fazie wdrożenia oprogramowania lub po wdrożeniu. Dlatego konieczne jest włączenie testów bezpieczeństwa w cykl życia SDLC na wcześniejszych etapach.

Przyjrzyjmy się odpowiednim procesom bezpieczeństwa, które należy zastosować na każdym etapie SDLC

Testowanie bezpieczeństwa

Fazy ​​SDLC Procesy bezpieczeństwa
wymagania Analiza bezpieczeństwa pod kątem wymagań i sprawdzanie przypadków nadużyć/niewłaściwego użycia
Wnętrze Analiza zagrożeń bezpieczeństwa na potrzeby projektowania. Rozwój Plan testów łącznie z testami bezpieczeństwa
Kodowanie i testowanie jednostkowe Testowanie statyczne i dynamiczne oraz bezpieczeństwo Biały Box Testowanie
Testy integracyjne Czarny Box Testowanie
Testowanie systemu Czarny Box Testowanie i skanowanie podatności
Wdrożenie Testowanie penetracyjne, Skanowanie podatności
Wsparcie Analiza wpływu łatek

Plan testów powinien zawierać

  • Przypadki testowe lub scenariusze związane z bezpieczeństwem
  • Dane testowe związane z testowaniem bezpieczeństwa
  • Narzędzia testowe wymagane do testowania bezpieczeństwa
  • Analiza różnych wyników testów z różnych narzędzi bezpieczeństwa

Przykładowe scenariusze testowe dla testów bezpieczeństwa

Przykładowe scenariusze testowe umożliwiające wgląd w przypadki testów bezpieczeństwa –

  • Hasło powinno być w formacie zaszyfrowanym
  • Aplikacja lub system nie powinien dopuszczać nieprawidłowych użytkowników
  • Sprawdź pliki cookie i czas sesji dla aplikacji
  • W przypadku witryn finansowych przycisk Wstecz przeglądarki nie powinien działać.

Metodologie/Podejście/Techniki testowania bezpieczeństwa

W testowaniu bezpieczeństwa stosuje się różne metodologie, a są one następujące:

  • Tygrys Box: To hakowanie odbywa się zwykle na laptopie, na którym znajduje się zbiór systemów operacyjnych i narzędzi hakerskich. Testowanie to pomaga testerom penetracyjnym i testerom bezpieczeństwa w przeprowadzaniu oceny podatności i ataków.
  • Czarna skrzynka: Tester jest upoważniony do testowania wszystkiego, co dotyczy topologii sieci i technologii.
  • Szary Box:Testerowi przekazywana jest częściowa informacja o systemie, który stanowi połączenie modeli czarnej i białej skrzynki.

Role testowania bezpieczeństwa

  • Hakerzy – Uzyskaj dostęp do systemu komputerowego lub sieci bez autoryzacji
  • Krakersy – włamują się do systemów w celu kradzieży lub zniszczenia danych
  • Etyczny haker – wykonuje większość działań związanych z włamaniem, ale za zgodą właściciela
  • Script Kiddies lub małpy pakietowe – niedoświadczeni hakerzy ze znajomością języka programowania

Narzędzia do testowania bezpieczeństwa

1) Teramind

Teramind dostarcza kompleksowy pakiet do zapobiegania zagrożeniom wewnętrznym i monitorowania pracowników. Zwiększa bezpieczeństwo poprzez analizę zachowań i zapobieganie utracie danych, zapewniając zgodność i optymalizując procesy biznesowe. Jego konfigurowalna platforma odpowiada różnym potrzebom organizacyjnym, zapewniając przydatne informacje, które koncentrują się na zwiększaniu produktywności i ochronie integralności danych.

Teramind

Cechy:

  • Zapobieganie zagrożeniom wewnętrznym: Wykrywa i zapobiega działaniom użytkownika, które mogą wskazywać na wewnętrzne zagrożenia dla danych.
  • Optymalizacja procesów biznesowych: Wykorzystuje analizę zachowań opartą na danych w celu redefiniowania procesów operacyjnych.
  • Produktywność siły roboczej: Monitoruje produktywność, bezpieczeństwo i zachowania zgodności pracowników.
  • Zarządzanie zgodnością: Pomaga zarządzać zgodnością za pomocą jednego, skalowalnego rozwiązania odpowiedniego dla małych firm, przedsiębiorstw i agencji rządowych.
  • Kryminalistyka incydentów: Zapewnia dowody wzbogacające reakcję na incydenty, dochodzenia i informacje o zagrożeniach.
  • Zapobieganie utracie danych: Monitoruje i chroni przed potencjalną utratą wrażliwych danych.
  • Monitorowanie pracowników: Oferuje możliwości monitorowania wydajności i działań pracowników.
  • Analityka behawioralna: Analizuje szczegółowe dane dotyczące zachowań klientów w aplikacjach w celu uzyskania szczegółowych informacji.
  • Konfigurowalne ustawienia monitorowania: Umożliwia dostosowanie ustawień monitorowania do konkretnych przypadków użycia lub wdrożenie predefiniowanych reguł.
  • Informacje o panelu kontrolnym: Zapewnia widoczność i praktyczny wgląd w działania pracowników za pośrednictwem wszechstronnego pulpitu nawigacyjnego.

Odwiedzić Teramind >>


2) Owasp

Otwarty projekt bezpieczeństwa aplikacji internetowych (OWASP) to ogólnoświatowa organizacja non-profit skupiająca się na poprawie bezpieczeństwa oprogramowania. W projekcie dostępnych jest wiele narzędzi do piórowego testowania różnych środowisk oprogramowania i protokołów. Flagowymi narzędziami projektu są m.in

  1. Proxy Ataku Zeda (ZAP – zintegrowane narzędzie do testów penetracyjnych)
  2. Kontrola zależności OWASP (skanuje zależności projektu i sprawdza znane luki)
  3. Projekt środowiska testowania sieci OWASP (zbiór narzędzi bezpieczeństwa i dokumentacji)

3) WireShark

Wireshark jest narzędziem do analizy sieci, wcześniej znanym jako Ethereal. Przechwytuje pakiety w czasie rzeczywistym i wyświetla je w formacie czytelnym dla człowieka. Zasadniczo jest to analizator pakietów sieciowych, który dostarcza szczegółowych informacji o protokołach sieciowych, deszyfrowaniu, informacjach o pakietach itp. Jest to oprogramowanie typu open source i może być używane w systemie Linux, Windows, OS X, Solaris, NetBSD, FreeBSD i wiele innych systemów. Informacje pobierane za pomocą tego narzędzia można przeglądać za pomocą interfejsu GUI lub narzędzia TShark Utility w trybie TTY.

4) W3af

w3af to platforma do ataków i audytów aplikacji internetowych. Posiada trzy typy wtyczek; wykrywanie, audyt i atak, które komunikują się ze sobą pod kątem wszelkich luk w zabezpieczeniach witryny, na przykład wtyczka wykrywająca w w3af szuka różnych adresów URL w celu przetestowania pod kątem luk i przekazuje je do wtyczki audytu, która następnie wykorzystuje te adresy URL do wyszukiwania luk.

Mity i fakty dotyczące testowania bezpieczeństwa

Porozmawiajmy o ciekawym temacie dotyczącym mitów i faktów dotyczących testowania bezpieczeństwa:

Mit nr 1 Nie potrzebujemy polityki bezpieczeństwa, ponieważ mamy małą firmę

Fakt: Każdy i każda firma potrzebuje polityki bezpieczeństwa

Mit nr 2 Inwestycja w testowanie bezpieczeństwa nie zwraca się

Fakt: Testowanie bezpieczeństwa może wskazać obszary wymagające ulepszeń, które mogą poprawić wydajność i skrócić przestoje, umożliwiając maksymalną przepustowość.

Mit nr 3: Jedynym sposobem zabezpieczenia jest odłączenie go od prądu.

Fakt: Jedynym i najlepszym sposobem na zabezpieczenie organizacji jest znalezienie „Idealnego bezpieczeństwa”. Doskonałe bezpieczeństwo można osiągnąć poprzez ocenę postawy ciała i porównanie jej z uzasadnieniami biznesowymi, prawnymi i branżowymi.

Mit nr 4: Internet nie jest bezpieczny. Kupię oprogramowanie lub sprzęt, aby zabezpieczyć system i uratować firmę.

Fakt: Jednym z największych problemów jest zakup oprogramowania i sprzętu zapewniającego bezpieczeństwo. Zamiast tego organizacja powinna najpierw zrozumieć bezpieczeństwo, a następnie je zastosować.

Podsumowanie

Testowanie bezpieczeństwa jest najważniejszym testem aplikacji i sprawdza, czy poufne dane pozostają poufne. W tego typu testach tester odgrywa rolę atakującego i bawi się systemem, aby znaleźć błędy związane z bezpieczeństwem. Testowanie bezpieczeństwa jest bardzo ważne w inżynierii oprogramowania, aby chronić dane wszelkimi środkami.