Dlaczego warto wykonywać?
Po przeczytaniu dowiesz się:
-
Jakie korzyści biznesowe płyną z wykonywania testów bezpieczeństwa.
-
Jakim zagrożeniom podlegają zasoby IT organizacji.
-
W jaki sposób można chronić się przed tymi zagrożeniami.
-
Dlaczego warto wykonywać testy bezpieczeństwa.
-
Kiedy wykonywanie kopii zapasowej (backupu) nie zapewnia bezpieczeństwa.
Wstęp
Aby zrozumieć kontekst biznesowy, w którym będziemy prowadzić rozważania, spójrzmy na poniższy przykład:
-
Pewien bank posiada internetową bankowość elektroniczną.
-
Istnieją ludzie o odpowiedniej wiedzy, którzy mogą przełamać taką bankowość – powodując realne straty klientów banku (okradanie kont), oraz realne straty samego banku (utrata reputacji).
-
Przełamanie zabezpieczeń bankowości jest tym trudniejsze, im lepsze środki zapobiegające włamaniu zostaną zastosowane.
-
Decyzja biznesowa banku polega na wydaniu środków na zabezpieczenie bankowości elektronicznej, tym samym minimalizując straty, które mogą wyniknąć w wyniku udanego ataku.
-
Jeśli koszty poniesione na zabezpieczenia są niższe, niż koszty związane z potencjalnymi stratami wynikającymi z niezabezpieczonej bankowości – decyzja biznesowa jest słuszna.
Warto pamiętać, iż jednym z celów działalności firm jest zapewnienie zyskownego i prawidłowego działania w dłuższym okresie czasu. Powyższy przykład pokazuje, że zabezpieczenie systemów IT to jeden z czynników mogący pozytywnie wpłynąć na to założenie. Z kolei testy bezpieczeństwa są jedną z optymalnych metod zabezpieczania systemów IT.
W tym momencie moglibyśmy zakończyć rozważania o testach
bezpieczeństwa – odpowiedzieliśmy na pytanie postawione w tytule. Zobaczmy
jednak jak zagadnienie wygląda w szczegółach.
Będziemy dążyć do pokazania,
jakich elementów wymaga skuteczny atak na zasoby IT. Wiedząc, to
określimy w jaki sposób nie dopuścić do takiego ataku.
Zasoby IT a bezpieczeństwo
Obecnie, niemal każda organizacja posiada istotne dla swego działania zasoby IT, na przykład:
-
Portal korporacyjny.
-
Bankowość elektroniczna.
-
Dowolne oprogramowanie wspierające konkretne procesy biznesowe.
-
Bazy danych (np. klientów, umów, innych dokumentów).
-
Poczta elektroniczna.
-
Sieć bezprzewodowa.
Każdy zasób IT, aby był przydatny dla organizacji, powinien cechować się odpowiednim poziomem bezpieczeństwa – np. dane bankowe powinny być znane tylko właścicielowi konta, nie każdy powinien móc edytować zawartość portalu korporacyjnego, a poczta elektroniczna powinna być zawsze dostępna.
Powyższe przykłady wskazują na trzy składniki bezpieczeństwa IT:
-
Poufność.
-
Integralność (brak niekontrolowanych zmian – np. w treści portalu).
-
Dostępność.
Często, jeśli mówi się o bezpieczeństwie, wspomina się tylko o poufności danych. Jednak nawet na tak prostych przykładach jak powyżej, widać że istotna może być również integralność oraz dostępność systemów.
Systemy IT ciągle się zmieniają – są zasilane danymi, udostępniane są nowe wersje oprogramowania... w czasie zmienia się też bezpieczeństwo systemu. Czynnikiem, który może wpłynąć negatywnie na bezpieczeństwo systemu jest zagrożenie, o którym więcej poniżej.
Zagrożenia i podatności
Wraz ze wzrostem stopnia informatyzacji zasobów firmy, pojawiają się nowe - wcześniej nieznane – zagrożenia bezpieczeństwa. Głośne w mediach bezpośrednie ataki hackerskie to tylko jeden tego typu czynnik. Inne przykładowe zagrożenia to:
-
Pracownicy (przypadkowe błędy ludzkie oraz ataki z wewnątrz organizacji).
-
Wirusy i inne oprogramowanie malware.
-
Awarie (oprogramowania i sprzętu).
-
Czynniki środowiskowe (np. powodujące uszkodzenie nośników z kopiami zapasowymi).
Do zrozumienia pełnej drogi ataku na system IT potrzebne jest jeszcze określenie czym jest podatność. Otóż podatność to pewna luka (błąd), umożliwiająca naruszenie bezpieczeństwa danego zasobu (naruszenie poufności, integralności lub dostępności).
Podsumowując:
-
Bezpieczeństwo każdego zasobu IT (np. portalu korporacyjnego) jest zagrożone przez pewne czynniki – np. atak hackerski czy awarie.
-
Atak do swej skuteczności potrzebuje wykorzystać podatność w atakowanym systemie.
-
Udany atak często wiąże się ze stratami atakowanego podmiotu.
Przykład.
W fizycznym świecie, cennym zasobem mogą być papierowe dokumenty w biurze, zagrożeniem złodziej, a podatnością słaby zamek w drzwiach do biura. Włamując się do biura, złodziej narusza poufność dokumentów.
W świecie IT cennym zasobem mogą być dane osobowe klientów placówki medycznej, zagrożeniem hacker, a podatnością źle (tj. niebezpiecznie) napisana aplikacja przechowująca dane medyczne. Włamując się do systemu, hacker narusza poufność systemu przechowującego dane medyczne klientów.
W dalszej części powiemy, jak nie dopuścić do realizacji powyższego scenariusza.
Czym są testy bezpieczeństwa?
Aby nie dopuścić do skutecznego ataku, stosuje się pewne środki bezpieczeństwa – sprowadzające się do likwidacji podatności (lub ich nieeksponowania na zagrożenia). Istnieje wiele metod, umożliwiających osiągnięcie tego celu, np.:
-
Instalacja systemu typu firewall.
-
Wdrożenie oprogramowania antywirusowego.
-
Stosowanie odpowiednich mechanizmów w aplikacjach.
-
Wykonywanie kopii zapasowych danych.
-
Instalacja systemu typu IDS (system wykrywania włamań, ang. Intrusion Detection System).
- Monitorowanie stanu bezpieczeństwa systemu.
-
Hardening (zwiększanie bezpieczeństwa) systemów operacyjnych.
Są to mechanizmy, które w założeniu powinny chronić przed atakami. W praktyce nie wiadomo jednak:
-
Czy zostały one odpowiednio dobrane (np. jaka warstwa komunikacji sieciowej sprawdzana jest poprzez firewall).
-
Czy dobór jest kompletny (np. wdrożono system firewall, a zapomniano o systemie antywirusowym).
-
Czy wdrożone mechanizmy zostały odpowiednio skonfigurowane.
-
Czy sam chroniony zasób (np. portal korporacyjny) nie posiada w sobie luk, umożliwiających atak – niezależnie od zastosowanych metod aplikacyjnych.
Odpowiedzią na te problemy jest wykonywanie testów bezpieczeństwa. Polegają one na możliwie całościowym spojrzeniu na problem bezpieczeństwa danego systemu oraz wykonaniu kontrolowanych prób ataku. Całość procedury testów bezpieczeństwa można przedstawić w kilku krokach:
-
Weryfikacja ogólnych założeń bezpieczeństwa przyjętych dla systemu.
-
Symulacja realnych ataków na zasoby IT (np. na portal korporacyjny).
-
Wykrycie podatności systemu.
-
Naprawa słabości, przez zastosowanie adekwatnych środków (np. poprawa mechanizmów aplikacji, czy instalacja firewalla aplikacyjnego).
-
Sprawdzenie, czy podatności rzeczywiście zostały naprawione.
Testy bezpieczeństwa idą więc o krok dalej - w porównaniu ze standardowymi metodami ochrony – sprawdzają realne, a nie potencjalne zabezpieczenia zasobów IT firmy.
Proste przykłady testów bezpieczeństwa
Przykład 1.
Centrala firmy ubezpieczeniowej udostępnia w Internecie aplikację służącą jako platforma dla agentów ubezpieczeniowych. Agenci mogą przesyłać do niej nowe umowy ubezpieczeniowe, co przyspiesza obsługę klientów.
Dostawca aplikacji zapewnia, że aplikacja jest bezpieczna: udostępniona w Internecie poprzez szyfrowany protokół HTTPS oraz umieszczona za firewallem. W rzeczywistości:
-
Aplikacja posiada błędy typu SQL injection, co pozwala na nieautoryzowany, pełen dostęp do bazy danych klientów ubezpieczyciela.
-
System operacyjny, na którym jest zainstalowana aplikacja nie jest aktualizowany (istnieje możliwość uzyskania nieuprawnionego dostępu do systemu operacyjnego i co za tym idzie do wszystkich danych aplikacji).
-
Firewall ani szyfrowany protokół HTTPS nie chroni przed ww. atakami.
-
Błędna konfiguracja protokołu HTTPS umożliwia złamanie szyfrowania i dostęp do poufnych danych.
W powyższym przykładzie test bezpieczeństwa wskaże:
-
Wykryte błędy aplikacyjne (np. SQL Injection).
-
Jak solidne są zabezpieczenia infrastruktury (system operacyjny, serwer www, baza danych).
-
Przed jakimi typami ataków chroni firewall oraz czy chroni się on przed ominięciem zabezpieczeń.
-
Czy parametry szyfrowania w protokole HTTPS zostały odpowiednio dobrane.
-
Jakie dodatkowe środki zaradcze można stosować aby zwiększyć bezpieczeństwo aplikacji (np. firewall aplikacyjny, środowisko w chroot).
-
Czym skutkować może wykorzystanie przez atakującego wskazanych luk.
-
Jak konkretnie naprawić wskazane błędy oraz jak uniknąć ich w przyszłości.
Przykład 2.
Tworzona jest kopia bazy danych osobowych klientów firmy (tj. zastosowany jest mechanizm zabezpieczający istotne dane firmy). Do tej pory nie wykonywano testów odtworzeniowych backupu.
W momencie awarii i próby przywrócenia danych z kopii zapasowej mogą wystąpić sytuacje:
-
W rzeczywistości backup nie jest wykonywany (nośniki są puste).
-
Backupu nie da się odtworzyć (np. w wyniku uszkodzenia nośnika – czynnik środowiskowy).
-
Został wykonany niepełny backup danych, umożliwiający odtworzenie tylko części danych.
-
Backup mógł być dostępny dla niepowołanych osób (ujawnienie poufnych informacji).
W powyższym przykładzie test bezpieczeństwa odpowie na pytania:
-
Czy dla określonych danych zostały przygotowane procedury wykonywania backupu i czy zostały one wdrożone?
-
Czy istnieje realna możliwość odtworzenia pełnych danych z kopii zapasowej?
-
Czy dostęp do backupu jest fizycznie ograniczony tylko dla uprawnionych osób?
-
Jak konkretnie naprawić wskazane problemy oraz jak uniknąć ich w przyszłości.
Podsumowanie
-
Zabezpieczenie zasobów IT firmy – to cel biznesowy, przekładający się na zyski organizacji.
-
Jedną ze skuteczniejszych metod zabezpieczenia zasobów IT firmy jest test bezpieczeństwa.
-
Test bezpieczeństwa odpowiada na pytanie: jak wygląda realne bezpieczeństwo systemu IT.
-
Testy bezpieczeństwa odpowiadają na to pytanie w możliwie najszerszym kontekście.
-
Osiągane jest to poprzez szerokie spojrzenie na bezpieczeństwo testowanego zasobu oraz kontrolowane symulowanie realnych ataków.
Więcej informacji
- Co
dostarczamy po przeprowadzeniu testów bezpieczeństwa.
- Na jakim etapie wdrażania systemu najlepiej wykonywać test bezpieczeństwa.
- Z jakiej
lokalizacji można wykonywać testy bezpieczeństwa.
- W jaki sposób można wykonywać testy bezpieczeństwa (metodologia).
- Kto wykonuje testy w ramach oferty Securitum.