|
Strategie i techniki ochrony systemów informatycznych
Mariusz Stawowski
CLICO Sp. z o.o. |
Systemy informatyczne są niezbędne do prawidłowego
funkcjonowania większości firm i instytucji.
Często zależy od
nich realizacja zadań biznesowych. Dla banków, biur
maklerskich, linii lotniczych i kolejowych oraz wielu innych
firm zakłócenia w pracy systemów komputerowych bezpośrednio
oznaczają utratę dochodów.
Utrzymanie bezpieczeństwa systemu
informatycznego stało się koniecznością. Bezpieczeństwa nie
można kupić jako produktu. Bezpieczeństwo to stan, który
uzyskuje się z użyciem środków fizycznych (np. sejfy, kamery),
technicznych (np. Firewall, IDS), organizacyjnych (np.
procedury i kontrola) oraz prawnych (np. ubezpieczenie).
Najbardziej obszerny i zarazem skomplikowany temat stanowią
zabezpieczenia technicznie, czyli środki ochrony zawarte w
oprogramowaniu, sprzęcie komputerowym i urządzeniach
telekomunikacyjnych.
Wynika to z faktu, że zabezpieczenia te
ulegają ciągłemu rozwojowi wraz z rozwojem technologii
informatycznych za ochronę, których odpowiadają (m.in.
systemów operacyjnych, aplikacji, baz danych, protokołów
sieciowych). Rozwój zabezpieczeń technicznych dodatkowo
wymuszają pojawiające się nowe zagrożenia jak rozproszone
ataki destrukcyjne DDoS, czy inteligentne robaki.
Normy i standardy bezpieczeństwa
Ustalanie wytycznych i zasad prawidłowego zarządzania
bezpieczeństwem jest od wielu lat tematem prac wielu
instytucji rządowych i firm komercyjnych. W 1995 roku został
wydany przez Brytyjski Instytut Normalizacyjny (BSI) zbiór
najbardziej znanych obecnie wytycznych do zarządzania
bezpieczeństwem informacji Brytyjska Norma nr 7799 (BS 7799).
W roku 2000 dokument BS 7799 został poddany normalizacji przez
ISO (Międzynarodowa Organizacja Normalizacyjna) oraz IEC
(Międzynarodowa Komisja Elektrotechniczna).
Wynikiem tych prac jest norma o nazwie „Praktyczne zasady
zarządzania bezpieczeństwem informacji” (ISO/IEC 17799:2000).
Także w Polsce trwają prace nad stworzeniem odpowiedników norm
BSI i ISO/IEC. Opracowaniem normy PN-ISO/IEC-17799 zajmuje się
Polski Komitet Normalizacyjny.
Wytyczne, normy i wymagania w odniesieniu do bezpieczeństwa
systemów informatycznych są także tworzone przez wiele innych
instytucji rządowych m.in. w Stanach Zjednoczonych przez NSA
(Narodowa Agencja Bezpieczeństwa) i NIST (Narodowy Instytut
Standardów i Technologii) oraz stowarzyszenia i instytucje
nie-rządowe, m.in. SANS Institute i ISACA. Odpowiednie
dyrektywy wydała w tym zakresie Unia Europejska (95/46/EC,
97/33/EC, 97/66/EC, 98/10/EC, 99/93/EC, 2002/58/EC) oraz
indywidualne państwa, w tym także Polska (Dz.U.29.08.97,
Dz.U.03.06.98, Dz.U.08.02.99, Dz.U.05.03.99).
Strategie ochrony
Istnieją dwie wiodące strategie ochrony systemów
informatycznych. Pierwsza, tradycyjna strategia opiera się na
analizie ryzyka. Druga strategia ma charakter bardziej
praktyczny. Wychodzi ona z założenia, że nadużycia
bezpieczeństwa w systemach informatycznych są nieuniknione
(np. ataki wirusów, włamania) i należy odpowiednio przygotować
się do ich obsługi. Analiza ryzyka identyfikuje obszary
systemu informatycznego, gdzie wymagane jest wprowadzenia
zabezpieczeń.
Przy czym zabezpieczenia powinny być zastosowane w pierwszej
kolejności do ochrony zasobów stanowiących największą wartość
dla instytucji oraz tych zasobów, dla których istnieje duże
zagrożenie i które są na to zagrożenie podatne. W zakresie
zabezpieczeń technicznych podstawowym dokumentem w tym
zakresie jest RFC 2196 o nazwie „Site Security Handbook”. |
Rys 1) Zarządzanie bezpieczeństwem systemu informatycznego wg
metodyki SKiP |
Popularna strategia ochrony, oparta na metodach praktycznych
to Security Knowledge in Practice (SKiP). Jest ona
rozwinięciem ogólnej strategii bezpieczeństwa "Defense in
Depth" w zakresie zabezpieczeń technicznych. Została
opracowana przez CERT i współpracujących z tą instytucją
specjalistów.
SKiP zakłada, iż należy przygotować się do właściwej obsługi
nadużyć bezpieczeństwa, które nieuchronnie kiedyś wystąpią.
Proces zarządzania bezpieczeństwem rozpoczyna się od analizy i
wzmocnienia istniejących w systemie informatycznym środków
bezpieczeństwa.
W pierwszej kolejności należy wzmocnić systemy operacyjne i
aplikacje, czyli elementy będące najczęściej obiektem ataków.
Następnie należy przygotować się na określone zdarzenia (m.in.
analizować nowe zagrożenia i podatności), monitorować system w
celu ich wykrywania, sprawnie obsługiwać incydenty i poprawiać
zabezpieczenia, aby się nie powtórzyły (patrz rysunek 1).
Zintegrowane systemy zabezpieczeń
Zabezpieczenia techniczne systemu informatycznego można
umownie podzielić na warstwy ochrony, które w poprawnie
zaprojektowanym systemie uzupełniają i ubezpieczają się
wzajemnie.
Do podstawowych warstw ochrony można zaliczyć:
· warstwa zabezpieczeń systemu operacyjnego,
· warstwa zabezpieczeń systemu bazy danych,
· warstwa zabezpieczeń aplikacji,
· warstwa zabezpieczeń sieciowych.
Każda z w/w warstw ochrony spełnia istotne, specyficzne dla
siebie zadania. Poziom bezpieczeństwa zasobów systemu
informatycznego zależy od stanu i prawidłowego współdziałania
wszystkich warstw ochrony. Zabezpieczenia różnych warstw
powinny być ze sobą logicznie powiązane tak, aby ewentualne
braki występujące w jednej warstwie zostały uzupełnione przez
zabezpieczenia innych warstw.
Dla przykładu, podatność serwera WWW na określony atak Exploit
może zostać ukryta przed intruzem za pomocą odpowiednio
skonfigurowanego systemu zaporowego Firewall, który zablokuje
wszystkie nadchodzące z Internetu zapytania HTTP, zawierające
wzorzec tego ataku (np. odpowiednio skonfigurowany dobrej
klasy Firewall może skutecznie blokować ataki CodeRed i Nimda).
Warstwy zabezpieczeń sieciowych stanowią wzmocnienie dla
innych środków bezpieczeństwa istniejących w systemie
informatycznym. Architektura zabezpieczeń powinna zostać
zaprojektowana tak, aby poszczególne warstwy ochrony
ubezpieczały i uzupełniały się wzajemnie. W razie wystąpienia
niepoprawnego działania jednej z warstw (np. błąd
konfiguracji, błąd oprogramowania, wstrzymanie działania
zabezpieczeń) pozostałe warstwy nie powinny pozwolić na łatwe
zaatakowanie zasobów sieci chronionej oraz umożliwiały szybkie
zidentyfikowanie nieprawidłowości.
Często popełnianym błędem w projektach jest nieprzestrzeganie
zasady ubezpieczania zabezpieczeń. Ochrona wartościowych
zasobów systemu informatycznego nie może opierać się wyłącznie
na jednym mechanizmie zabezpieczenia nawet, jeżeli zastosowana
technologia jest uznawana za wysoce zaawansowaną i niezawodną.
Nie wolno dopuścić do sytuacji, w której “złamanie” lub awaria
jednego mechanizmu pozostawia system bez jakiejkolwiek
ochrony.
Dla przykładu, skuteczny system kontroli zawartości (m.in.
wykrywania wirusów, robaków, koni trojańskich i innych
groźnych aplikacji) opiera się, na co najmniej dwóch warstwach
ochrony, zaimplementowanych z użyciem technologii różnych
producentów. W typowej konfiguracji pierwsza kontrola
zawartości realizowana jest przez serwer antywirusowy, zaś
drugą kontrolę wykonuje pracujący w trybie on-line skaner na
stacji użytkownika.
Zabezpieczania powinny stanowić skuteczną ochronę przed
atakami prowadzonymi popularną strategią włamań o nazwie
Island Hopping Attack. Polega ona na zdobywaniu
nieupoważnionego dostępu do słabiej zabezpieczonych systemów
komputerowych (najczęściej nie posiadających dużego znaczenia
dla instytucji), a następnie wykorzystywaniu ich jako podłoża
do penetracji lepiej ochranianych, wartościowych elementów
systemu informatycznego. Ochrona przed tą techniką prowadzenia
ataku powinna zostać dokładnie przeanalizowana w trakcie
planowania stref bezpieczeństwa i architektury zabezpieczeń.
Strefy i monitorowanie bezpieczeństwa
Poprawnie zaprojektowany system zabezpieczeń sieci powinien
separować i chronić strefy o wyższym poziomie zaufania od
stref, które z uwagi na swoją lokalizację i funkcję pełnioną w
systemie informatycznym są bardziej narażone na włamania i
inne nieupoważnione działania. Strefy bezpieczeństwa w
obszarze sieci chronionej są precyzyjnie wyznaczane przez
zabezpieczenia Firewall (m.in. dedykowane systemy zaporowe,
filtry pakietów w urządzeniach sieciowych).
Typowym przykładem jest wydzielona na dedykowanym interfejsie
sieciowym Firewall tzw. strefa zdemilitaryzowana DMZ, gdzie
umieszczane są serwery najbardziej narażone na włamania z
Internetu (np. publiczne serwery WWW, E-Mail, FTP). Dzięki
temu ewentualne włamanie do serwera, który świadczy usługi w
Internecie nie otwiera drogi do zasobów sieci wewnętrznej
firmy (patrz rysunek 2). Budowanie stref bezpieczeństwa za
pomocą innych środków (np. serwerów z dwoma interfejsami
sieciowymi z wyłączonym rutingiem) w praktyce jest mało
skuteczną techniką ochrony. |
Rys 2) Separowanie i monitorowanie stref bezpieczeństwa |
Wczesne wykrywanie i eliminowanie
zagrożeń
Podstawą skutecznego systemu zabezpieczeń jest wczesne
wykrywanie i eliminowanie zagrożeń.
Za wykonywanie tych zadań odpowiadają zwykle skanery
zabezpieczeń oraz systemy wykrywania intruzów IDS. Skanery
zabezpieczeń wykrywają podatności i luki istniejące w systemie
informatycznym (np. na serwerach, urządzeniach sieciowych,
stacjach PC). Są one od wielu lat w powszechnym użyciu
administratorów i audytorów. Obecnie ich rozwój praktycznie
ogranicza się do szybkiej aktualizacji baz sygnatur i
rozszerzania zakresu działania (np. skanowanie sieci
bezprzewodowych). Systemy IDS na podstawie analizy ruchu
sieciowego identyfikują niedozwolone i podejrzane działania
intruzów (m.in. próby penetracji, włamań, ataki destrukcyjne).
Ich rozwój w okresie ostatnich lat jest bardzo dynamiczny.
Tradycyjne systemy IDS funkcjonują na zasadach Sniffera (tzn.
są podłączone do sieci skąd przechwytują pakiety, składają je
w sesje i poddają analizie). Proces ten jest skomplikowany i
powoduje, że tradycyjne systemy IDS w konsekwencji posiadają
niską wykrywalność ataków, generują fałszywe alarmy (tzw.
false positives) oraz nie nadążają za sytuacją w sieci o
wysokim poziomie obciążenia (tzn. „gubią pakiety”). Wykonane
przez niezależną instytucję NSS Group (http://www.nss.co.uk)
praktyczne testy różnych systemów IDS wykazały, iż nawet
dobrej klasy rozwiązania nie wykryły od 5 do 40% ataków,
pomimo że sygnatury tych ataków były im znane. Z punktu
widzenia zarządzania bezpieczeństwem jeszcze większym
problemem są fałszywe alarmy. Powodują one, że w trakcie
eksploatacji zabezpieczeń rzeczywiste ataki i naruszenia
bezpieczeństwa mogą zostać przez administratorów zignorowane.
Niektórzy producenci IDS implementują mechanizmy automatycznej
rekonfiguracji zabezpieczeń Firewall. Sama koncepcja jest
ciekawa i pozornie wydaje się być przydatna. Dla przykładu, w
razie gdy system IDS wykryje atak samodzielnie połączy się z
Firewall i zablokuje na nim adres IP intruza.
W rzeczywistości mają one jednak charakter bardziej
marketingowy, ponieważ są mało skuteczne, a nawet
niebezpieczne dla chronionego systemu. Duża część ataków może
być wykonywana z dowolnie wybranych adresów. Nietrudno
wyobrazić sobie sytuację, że intruz będzie wykonywał ataki na
sieć korporacji z adresów IP należących do jej partnerów i
klientów, a IDS widząc ataki doprowadzi do zablokowania tych
adresów na Firewall. Pomijając już fakt, że w praktyce często
normalna komunikacja sieciowa jest przez systemy IDS
interpretowana jak ataki.
Obecnie dużą popularność zyskuje nowa kategoria systemów
wykrywania intruzów tzw. in-line IDS. Systemy te posiadają
architekturę zbliżoną do Firewall. Ruch sieciowy wchodzi do
urządzenia IDS jednym interfejsem, jest wewnątrz poddawany
analizie i wychodzi poprzez drugi interfejs sieciowy (patrz
rysunek 3). Dzięki temu kontrola ruchu sieciowego jest
łatwiejsza, ataki mogą być skutecznie blokowane w czasie
rzeczywistym i nie ma zagrożenia, że IDS „zgubi pakiety”.
Zastrzeżenia budzi jednak wydajność tych rozwiązań. Wg
informacji podawanych przez producentów posiadają one
przepływność od 100 do 400 Mb/s. Ich zakres zastosowań jest
więc ograniczony do ochrony pojedynczych segmentów sieci.
Przykładem rozwiązań in-line IDS jest Check Point SmartDefence,
ISS RealSecure Guard i NetScreen-IDP (dawniej OneSecure). |
Rys 3) Koncepcja funkcjonowania in-line IDS |
Inną, chociaż bardzo kontrowersyjną techniką wczesnego
wykrywania zagrożeń jest stosowanie rozwiązań określanych jako
„honeypot”. Są to najczęściej specjalnie przygotowane
komputery, które symulują rzeczywiste środowisko systemu
informatycznego i mają za zadanie dokładnie rozpoznać
działania intruzów. Dla instytucji zajmujących się
bezpieczeństwem „honeypot” może być źródłem praktycznej wiedzy
na temat nowych zagrożeń i technik hakerów. Dla zwykłej firmy
stosowanie takich rozwiązań jest jednak zbyt ryzykowne.
Łatwo wyobrazić sobie sytuację, że system „honeypot” nie
został poprawnie przygotowany i intruz przejął nad nim
kontrolę, a następnie wykonał z tego systemu serię ataków na
serwery innych korporacji (np. banki, instytucje rządowe). W
rejestrach zabezpieczeń tych systemów znajdą się wtedy
informacje skąd zostały wykonane ataki, a właściciel „honeypot”
może mieć spore trudności w wykazaniu, że ataków nie dokonali
jego pracownicy.
Hybrydowe systemy zabezpieczeń
Systemy informatyczne funkcjonują coraz częściej w sieciach o
wysokiej przepustowości (np. Gigabit Ethernet). Wymaganiem
stawianym zabezpieczeniom jest nie tylko wysoki poziom
bezpieczeństwa chronionych zasobów, ale także wydajność.
Zabezpieczenia nie powinny zakłócać pracy aplikacji, powodując
np. duże opóźnienia transmisji danych. Najbardziej
newralgicznym w zakresie wydajności elementem zabezpieczeń są
systemy zaporowe Firewall. Filtracja pakietów, w tym także
realizowana na poziomie sieci kontrola Statefull Inspection
nie powodują znaczącego obniżenia wydajności.
Nie pozwalają one jednak na wykonywanie precyzyjnej kontroli
aplikacji sieciowych (np. uwierzytelnianie i rozliczanie
użytkowników, blokowanych niedozwolonych poleceń i danych
aplikacji). Systemy zaporowe funkcjonujące na poziomie
aplikacji, określane jako Firewall Proxy lub Application
Gateway mają w tym zakresie większe możliwości. Obsługa ruchu
sieciowego na poziomie aplikacji powoduje jednak duże
opóźnienia aplikacji sieciowych. Oprócz tego zabezpieczenia
Firewall funkcjonują wtedy jako procesy w systemie operacyjnym
i obowiązują je wszystkie związane z tym ograniczenia (np.
ograniczona liczba deskryptorów plików dla jednego procesu,
ograniczona liczba procesów na maszynie Firewall, ograniczone
możliwości synchronizacji stanu procesów w klastrze Firewall).
Wiodące na rynku rozwiązania to systemy hybrydowe integrujące
różne technologie – Statefull Inspection, Application Gateway
oraz Intrusion Detection. Powszechnym stało się także
implementowanie razem z Firewall modułów kryptograficznej
ochrony transmisji danych VPN.
W zależności od potrzeb aktywowane są odpowiednie
zabezpieczenia tak, aby zapewnić wymagany poziom ochrony nie
powodując przy tym ograniczeń dostępności. Dodatkowo
producenci zabezpieczeń Firewall stosują różne techniki
programowego i sprzętowego przyspieszania pracy zabezpieczeń.
Programowe przyspieszenie pracy Firewall polega na wykonywaniu
podstawowych algorytmów kontroli ruchu sieciowego na niskim
poziomie jądra systemu operacyjnego.
Sprzętowe podejście to implementacja algorytmów zabezpieczeń w
formie układów scalonych ASIC (Application Specific Integrated
Circuit). Uzyskuje się w ten sposób przepływności Firewall
nawet rzędu 12 Gb/s.
Jeden producent nie jest w stanie dostarczać wszystkich
rodzajów zabezpieczeń. Dlatego też czołowi producenci
zabezpieczeń sieciowych utworzyli porozumienia biznesowe z
dostawcami innych zabezpieczeń (np. Check Point OPSEC, Cisco
AVVID Partner Program, NetScreen Global Security Alliance). W
oparciu o nie rozwijane są kompatybilne zabezpieczenia,
rozszerzające funkcjonalność systemu ochrony (m.in. Firewall o
kontrolę antywirusową, uwierzytelnianie użytkowników i obsługę
PKI).
Rozproszone systemy zabezpieczeń
Systemy informatyczne funkcjonujące w wielu, odległych
miejscach w środowisku sieciowym wymagają odpowiednich do tego
zabezpieczeń. Obowiązująca zasada „najsłabszego ogniwa
łańcucha” słusznie określa, iż poziom bezpieczeństwa systemu
informatycznego wyznacza najsłabszy (najmniej zabezpieczony)
element tego systemu. Zabezpieczenia zostały więc dostosowane
do potrzeb i także funkcjonują w architekturze rozproszonej
m.in. środki ochrony implementowane są w urządzeniach
sieciowych, na serwerach aplikacji oraz indywidualnych
stacjach użytkowników.
W ostatnich latach dostrzeżono konieczność ochrony komputerów
osobistych. Zwykle nie przechowuje się na nich strategicznych
informacji, ani też nie świadczą usług niezbędnych do
realizacji zadań biznesowych instytucji. Komputery PC
użytkowników stanowią punkt dostępowy do zasobów systemu
informatycznego. Po przejęciu nad nimi kontroli intruz
uzyskuje dostęp na takich samych zasadach jak legalny
użytkownik. Powszechne stało się precyzyjne kontrolowanie
komputerów PC. Instalowane są na nich dedykowane
zabezpieczenia służące m.in. od ochrony przed nieupoważnionym
dostępem (Personal Firewall/IDS), podsłuchem i
przechwytywaniem połączeń (VPN Client) oraz atakami wirusów i
innych groźnych aplikacji. Dodatkowo, komputery użytkowników
mobilnych uzyskujące poprzez VPN zdalny dostęp do sieci
wewnętrznej przed zestawieniem połączeń z serwerami poddawane
są kontroli w zakresie posiadanego stanu bezpieczeństwa.
Kontroli może podlegać zainstalowana polityka Firewall,
aktualność bazy sygnatur oprogramowania antywirusowego, czy
zainstalowane aplikacje i protokoły sieciowe.
Dużym problemem utrzymania bezpieczeństwa aplikacji sieciowych
są stosowane w tych aplikacjach mechanizmy szyfrowania danych.
Uniemożliwiają one poddawanie tych informacji należytej
kontroli.
Dla przykładu, w typowej aplikacji e-commerce komunikacja
pomiędzy klientem i serwerem jest zabezpieczona protokołem SSL.
Szyfrowana komunikacja nie może być poddawana inspekcji przez
zabezpieczenia Firewall, IDS i systemy kontroli zawartości.
Bezpieczeństwo opiera się wtedy wyłącznie na zabezpieczeniach
samego serwera. Stosowane są trzy sposoby poprawy
bezpieczeństwa aplikacji e-commerce – terminowanie sesji SSL
na dedykowanych urządzeniach zlokalizowanych przed serwerem
aplikacji, stosowanie dedykowanych systemów IDS działających
bezpośrednio na serwerach oraz uwierzytelnianie użytkowników
aplikacji na Firewall przed dopuszczeniem ich do serwera.
Zarządzenie bezpieczeństwem
Systemy informatyczne stają się coraz bardziej rozbudowane i
skomplikowane. Istnieje stała zależność, iż bardziej złożony
system informatyczny wymaga bardziej złożonych zabezpieczeń.
Producenci zabezpieczeń zdają sobie z tego sprawę i w miarę
możliwości starają się dostarczać dla swoich rozwiązań
narzędzia ułatwiające ich zarządzanie i utrzymanie. Głównie
sprowadza się to do dostarczania graficznych, intuicyjnych w
obsłudze edytorów polityki bezpieczeństwa oraz narzędzi
wspomagających analizę i raportowanie rejestrowanych zdarzeń.
Podejmowane są także próby opracowania systemu wizualizacji
polityki bezpieczeństwa oraz monitorowania stanu rozproszonych
geograficznie komponentów zabezpieczeń.
W korporacjach tworzone są centralne konsole zarządzania
zabezpieczeń tak, aby wszystkie elementy w rozproszonym
systemie zabezpieczeń mogły być konfigurowane i monitorowane z
jednego miejsca i funkcjonowały w ramach jednej, spójnej
polityki bezpieczeństwa. W praktyce liczba zdarzeń
rejestrowanych przez systemy zabezpieczeń jest bardzo duża.
Możliwości człowieka nie pozwalają, aby mógł je bez
specjalistycznych narzędzi przeanalizować. Czynione są
starania, aby konsole zarządzania posiadały możliwości
korelacji zdarzeń rejestrowanych przez różne zabezpieczenia.
Dla przykładu, administrator otrzymuje informacje o
wystąpieniu nadużycia bezpieczeństwa w oparciu o korelację
zdarzeń wykrytych przez skaner zabezpieczeń, IDS i Firewall.
Strategie i techniki ochrony systemów informatycznych jak i
poszczególne technologie zabezpieczeń próbują cały czas
nadążać za zagrożeniami, które stają się coraz bardziej
inteligentne i nieprzewidywalne. Kilka lat temu nikt nie
przewidywał, że w sieci pojawią się „inteligentne robaki” jak
CodeRed, czy NimDa, które z łatwością przedostają się na
serwery w sieci wewnętrznej korporacji skąd wykonują zmasowane
ataki na systemy innych instytucji.
|
|