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.