Co to jest testowanie bezpieczeństwa?
TESTOWANIE BEZPIECZEŃSTWA to rodzaj testowania oprogramowania, który ujawnia luki, zagrożenia, ryzyko w aplikacji i zapobiega złośliwym atakom ze strony intruzów. Celem testów bezpieczeństwa jest zidentyfikowanie wszystkich możliwych luk i słabości systemu oprogramowania, które mogą skutkować utratą informacji, przychodów, reputacji pracowników lub osób postronnych Organizacji.
Dlaczego testy bezpieczeństwa są ważne?
Głównym celem Security Testing jest identyfikacja zagrożeń w systemie i pomiar jego potencjalnych podatności, tak aby można było napotkać zagrożenia, a system nie przestał działać lub nie można go było wykorzystać. Pomaga również w wykrywaniu wszystkich możliwych zagrożeń bezpieczeństwa w systemie i pomaga programistom w rozwiązywaniu problemów poprzez kodowanie.
W tym samouczku nauczysz się:
- Co to jest testowanie bezpieczeństwa?
- Rodzaje testów bezpieczeństwa
- Jak przeprowadzić testy bezpieczeństwa
- Przykładowe scenariusze testowe do testowania zabezpieczeń
- Metodologie / Podejście / Techniki testowania bezpieczeństwa
- Role testowania bezpieczeństwa
- Narzędzie do testowania bezpieczeństwa
- Mity i fakty dotyczące testowania bezpieczeństwa
Rodzaje testów bezpieczeństwa:
Istnieje siedem głównych typów testów bezpieczeństwa, zgodnie z podręcznikiem metodologii Open Source Security Testing. Są one wyjaśnione w następujący sposób:
- Skanowanie podatności : Odbywa się to za pomocą zautomatyzowanego oprogramowania do skanowania systemu pod kątem znanych sygnatur luk w zabezpieczeniach.
- Skanowanie bezpieczeństwa: obejmuje identyfikację słabych punktów sieci i systemu, a następnie dostarcza rozwiązania zmniejszające te zagrożenia. To skanowanie można przeprowadzić zarówno w przypadku skanowania ręcznego, jak i automatycznego.
- Testy penetracyjne : ten rodzaj testów symuluje atak złośliwego hakera. Te testy obejmują analizę konkretnego systemu w celu sprawdzenia potencjalnych luk w zabezpieczeniach podczas próby włamania z zewnątrz.
- Ocena ryzyka: To testowanie obejmuje analizę zagrożeń bezpieczeństwa zaobserwowanych w organizacji. Ryzyka są klasyfikowane jako niskie, średnie i wysokie. Testy te zalecają kontrole i środki w celu zmniejszenia ryzyka.
- Audyt bezpieczeństwa: jest to wewnętrzna inspekcja aplikacji i systemów operacyjnych pod kątem luk w zabezpieczeniach. Audyt można również przeprowadzić poprzez kontrolę kodu wiersz po wierszu
- 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, ich celem jest ujawnienie luk w zabezpieczeniach systemu.
- Ocena stanu: łączy skanowanie bezpieczeństwa, etyczne hakowanie i ocenę ryzyka, aby pokazać ogólny stan bezpieczeństwa organizacji.
Jak przeprowadzić testy bezpieczeństwa
Zawsze się zgadza, że koszt będzie wyższy, jeśli odłożymy testy bezpieczeństwa po fazie wdrożenia oprogramowania lub po wdrożeniu. Dlatego konieczne jest włączenie testów bezpieczeństwa do cyklu życia SDLC we wcześniejszych fazach.
Przyjrzyjmy się odpowiednim procesom bezpieczeństwa, które zostaną przyjęte na każdym etapie w SDLC
Fazy SDLC | Procesy bezpieczeństwa |
---|---|
Wymagania | Analiza bezpieczeństwa pod kątem wymagań i sprawdź przypadki nadużyć / nadużyć |
Projekt | Analiza zagrożeń bezpieczeństwa na potrzeby projektowania. Opracowanie planu testów, w tym testów bezpieczeństwa |
Kodowanie i testowanie jednostkowe | Testowanie statyczne i dynamiczne oraz testowanie białych skrzynek bezpieczeństwa |
Testy integracyjne | Testowanie czarnoskrzynkowe |
Testowanie systemu | Testowanie czarnoskrzynkowe i skanowanie w poszukiwaniu luk |
Realizacja | Testy penetracyjne, skanowanie podatności |
Wsparcie | Analiza wpływu poprawek |
Plan testów powinien zawierać
- Przypadki lub scenariusze testowe związane z bezpieczeństwem
- Dane testowe związane z testowaniem bezpieczeństwa
- Narzędzia testowe wymagane do testowania zabezpieczeń
- Analiza różnych wyników testów z różnych narzędzi bezpieczeństwa
Przykładowe scenariusze testowe do testowania bezpieczeństwa:
Przykładowe scenariusze testowe dające wgląd w przypadki testowe bezpieczeństwa -
- Hasło powinno być zaszyfrowane
- Aplikacja lub system nie powinny zezwalać na nieprawidłowych użytkowników
- Sprawdź pliki cookie i czas sesji dla aplikacji
- W przypadku witryn finansowych przycisk Wstecz w przeglądarce nie powinien działać.
Metodologie / Podejście / Techniki testowania bezpieczeństwa
W testowaniu bezpieczeństwa stosuje się różne metodologie, które są następujące:
- Tiger Box : To hakowanie jest zwykle wykonywane na laptopie, który ma kolekcję systemów operacyjnych i narzędzi hakerskich. Testy te pomagają testerom penetracyjnym i testerom bezpieczeństwa przeprowadzać oceny luk w zabezpieczeniach i ataki.
- Black Box : Tester jest upoważniony do testowania wszystkiego, co dotyczy topologii sieci i technologii.
- Gray Box : Tester otrzymuje częściowe informacje o systemie i jest to hybryda modeli białej i czarnej skrzynki.
Role testowania bezpieczeństwa
- Hakerzy - uzyskują dostęp do systemu komputerowego lub sieci bez autoryzacji
- Crackers - Włamanie się do systemów w celu kradzieży lub zniszczenia danych
- Etyczny haker - wykonuje większość czynności związanych z łamaniem zabezpieczeń, ale za zgodą właściciela
- Script Kiddies or packet monkeys - niedoświadczeni hakerzy ze znajomością języka programowania
Narzędzie do testowania bezpieczeństwa
1) Intruz
Intruder to skaner luk w zabezpieczeniach klasy korporacyjnej, który jest łatwy w użyciu. Przeprowadza ponad 10000 wysokiej jakości kontroli bezpieczeństwa w całej infrastrukturze IT, które obejmują między innymi: słabe punkty konfiguracji, słabe punkty aplikacji (takie jak wstrzykiwanie SQL i skrypty między lokacjami) oraz brakujące poprawki. Zapewniając inteligentnie ustalone priorytety wyników, a także proaktywne skanowanie pod kątem najnowszych zagrożeń, Intruder pomaga zaoszczędzić czas i chroni firmy każdej wielkości przed hakerami.
Funkcje:
- Łączniki AWS, Azure i Google Cloud
- Wyniki specyficzne dla obwodu w celu zmniejszenia zewnętrznej powierzchni ataku
- Wysokiej jakości raportowanie
- Integracje Slack, Microsoft Teams, Jira, Zapier
- Integracja API z potokiem CI / CD
2) Owasp
Projekt Open Web Application Security Project (OWASP) to ogólnoświatowa organizacja non-profit skupiona na poprawie bezpieczeństwa oprogramowania. Projekt ma wiele narzędzi do testowania różnych środowisk oprogramowania i protokołów. Do sztandarowych narzędzi projektu należą
- Zed Attack Proxy (ZAP - zintegrowane narzędzie do testowania penetracji)
- OWASP Dependency Check (skanuje zależności projektu i sprawdza pod kątem znanych podatności)
- Projekt OWASP Web Testing Environment (zbiór narzędzi bezpieczeństwa i dokumentacji)
3) WireShark
Wireshark to narzędzie do analizy sieci znane wcześniej 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 najdrobniejszych szczegółów na temat protokołów sieciowych, deszyfrowania, informacji o pakietach itp. Jest to oprogramowanie typu open source i może być używane w systemach Linux, Windows, OS X, Solaris, NetBSD, FreeBSD i wielu inne systemy. Informacje pobierane za pomocą tego narzędzia można przeglądać za pomocą interfejsu GUI lub narzędzia TShark w trybie TTY.
4) W3af
w3af to framework do ataku i audytu aplikacji internetowych. Posiada trzy rodzaje wtyczek; wykrywanie, audyt i atak, które komunikują się ze sobą pod kątem wszelkich luk w witrynie, na przykład wtyczka wykrywania w w3af szuka różnych adresów URL w celu przetestowania pod kątem luk w zabezpieczeniach i przekazuje je do wtyczki audytowej, która następnie wykorzystuje te adresy URL do wyszukiwania luk w zabezpieczeniach.
Mity i fakty dotyczące testów bezpieczeństwa:
Porozmawiajmy o interesującym temacie na temat mitów i faktów dotyczących testowania bezpieczeństwa:
Mit nr 1 Nie potrzebujemy polityki bezpieczeństwa, ponieważ mamy małą firmę
Fakt: Wszyscy i każda firma potrzebują polityki bezpieczeństwa
Mit nr 2 Nie ma zwrotu z inwestycji w testy bezpieczeństwa
Fakt: Testy bezpieczeństwa mogą wskazać obszary wymagające ulepszeń, które mogą poprawić wydajność i skrócić przestoje, zapewniając maksymalną przepustowość.
Mit 3 : Jedynym sposobem na zabezpieczenie jest odłączenie go.
Fakt: Jedynym i najlepszym sposobem zabezpieczenia organizacji jest znalezienie „idealnego bezpieczeństwa”. Doskonałe bezpieczeństwo można osiągnąć, przeprowadzając ocenę postawy i porównując ją z uzasadnieniami biznesowymi, prawnymi i branżowymi.
Mit 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ć.
Wniosek:
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 sposobami.