Przenikanie_firewalli_w_tunelach_kryptograficznych.pdf

(460 KB) Pobierz
Microsoft Word - 8-Patkowski_1212www.doc
BIULETYN INSTYTUTU AUTOMATYKI I ROBOTYKI
NR 17, 2002
Badanie możliwości przenikania firewalli
atakami w tunelach kryptograficznych
Marek KWIATKOWSKI, Adam PAŁASZ
Adam E. PATKOWSKI, Maciej RYCHTER, Radosław RYŃSKI
Marcin STAWORKO, Konrad TRUBAS, Fryderyk WRÓBEL
Instytut Automatyki i Robotyki WAT
ul. Kaliskiego 2, 00-908 Warszawa
STRESZCZENIE: Artykuł wprowadza w problematykę badań pewnej klasy teleinformatycznych
ataków na systemy komputerowe chronione zaporą sieciową (firewallem). Przedstawiono
odpowiednią procedurę badawczą. Do artykułu dołączono dwa wybrane protokoły z opisywanych
badań.
1. Wstęp
Firewalle są obecnie szeroko reklamowanym i stosowanym, a w wielu
sieciach jedynym, mechanizmem zabezpieczającym. Rozpoznanie słabości
firewalli jest zatem niezwykle ważne. Możliwość tunelowania bywa instalowana
(np. SSH) jako niezwykle skuteczny mechanizm ochronny przed podsłuchem
(w szczególności tzw. sniffingiem ), pożądane jest zatem określenie, czy i jakie
ryzyko wprowadza to dla systemu. W Instytucie Automatyki i Robotyki w tym
roku prowadzone są badania, zmierzające do znalezienia odpowiedzi na to
pytanie.
Przedmiotem badań są możliwości wykonywania ataków na podsieci
strzeżone przez rozbudowane filtry pakietowe, w szczególności firewalle, być
może instalowane na samodzielnych bastionach. Istotą rozpatrywanych ataków
jest przenikanie przez firewalle za pomocą tunelowania kryptograficznego
141
M. Kwiatkowski, A. Pałasz, A. E. Patkowski, M. Rychter, ...
między komputerami spoza i wewnątrz sieci. Celem jest ocena zagrożeń
i znalezienie sposobów detekcji oraz przeciwdziałania tego rodzaju atakom.
2. Podstawy
Zakłada się, że firewall jest oprogramowaniem osadzonym na
komputerze wyposażonym w co najmniej dwa interfejsy (karty) sieciowe,
rozdzielającym dwa obszary sieci, między którymi to obszarami nie istnieje
alternatywna droga pakietów. Zadaniem firewalla jest poddawanie analizie
informacji przebiegającej między rozdzielonymi sieciami i jej przekazywanie
lub nie. Informacja nieprzekazana może zostać po prostu zgubiona ( drop albo
deny ) lub odrzucona ( reject ). W tym ostatnim przypadku nadawca zostanie
poinformowany o tym, że komunikacja jest zabroniona.
Firewalle zwykle poddają analizie informację w pewnym, wybranym
protokole – np. analizują pakiety IP (są to firewalle działające w warstwie
trzeciej modelu ISO/OSI) lub jednostki informacji wymieniane w ramach usług
wyższego poziomu (firewalle działające w warstwie aplikacji; dodatkowo
zdolne są one zwykle do buforowania informacji – są to tzw. proxy). Firewall
musi skompletować pojedynczą jednostkę przesyłanej informacji, aby następnie
poddać ją analizie. Dla protokołów wysokopoziomowych jednostki te mogą być
znacznych i różnych rozmiarów: np. w protokole FTP taką jednostką będzie cały
przesyłany plik. W przypadkach analizy porcji informacji dużych rozmiarów,
firewalle mogą powodować znaczne zahamowania w transmisji, wynikające
z wstrzymania przekazywania pakietów przez firewall do chwili
skompletowania jednostki informacji protokołu wysokiego poziomu i podjęcia
jej przesyłania dopiero po zakończeniu analizy. W praktyce firewalle nie
kompletują jednak każdej jednostki informacji, ale po prostu zapamiętują pewne
wybrane cechy przebiegających pakietów (protokołu IP4 – jednostek informacji
w warstwie trzeciej). Dzięki temu mogą „wyrabiać sobie pogląd” na własności
protokołu wyższej warstwy (np. TCP) w trakcie przebiegania pakietów, bez
drastycznego spowalniania ich ruchu. Tę umiejętność nazywa się „ stateful
analysis ” lub „ stateful inspection ”. W efekcie wyposażenie firewalla
działającego w warstwie IP w mechanizmy stateful analysis powoduje,
że zaczyna on działać w warstwie wyższej.
Jak już wspomniano firewalle działające w warstwie IP praktycznie
analizują tylko zawartość nagłówka każdego pakietu, dodanie im własności
stateful rozszerza zakres analizy na nagłówki jednostek informacji warstwy
wyższej i pewne dodatkowe możliwości analizy poprawności strumienia
pakietów warstwy IP: np. odrzucone zostaną pakiety z flagą kontynuacji, gdy nie
było poprzedzających je pakietów, podobnie traktowane są pakiety ACK nie
142
Biuletyn Instytutu Automatyki i Robotyki, 17/2002
Badanie możliwości przenikania firewalli atakami w tunelach kryptograficznych
poprzedzone przez SYN itd. Wykryte również zostaną niewłaściwe konstrukcje
pofragmentowanych pakietów warstw wyższych. Jest to istotnie nowa jakość
praktycznie eliminująca tzw. skaning typu stealth . Nie zmienia to faktu,
że zawartość pakietów każdej z warstw w przytłaczającej większości pozostanie
nieanalizowana przez typowe firewalle.
Głównym elementem konfiguracji każdego firewalla jest uporządkowany
zbiór reguł. Każda z reguł składa się warunku i zalecenia. Reguły stosowane są
do każdej jednostki informacji (np. pakietu IP, jeśli w tej warstwie działa
firewall) zgodnie z porządkiem zbioru reguł. Jeśli warunek pierwszej reguły nie
jest spełniony dla tej jednostki informacji, to sprawdzana jest druga reguła i tak
dalej, aż do wyczerpania zbioru lub do napotkania reguły, której warunek jest
spełniony. Jeśli zaś warunek reguły jest spełniony, to do jednostki informacji
stosuje się zalecenie owej spełnionej reguły. Zalecenie jest zwykle ze zbioru:
przepuścić (pakiet), zgubić lub odrzucić . W przypadku stateful analysis reguły
dodatkowo uwzględniają stan i manipulują czymś w rodzaju pamięci podręcznej
stanów transmisji.
Obecnie firewalle (w każdym razie te produkcji czołowych firm) mogą
współpracować z systemami wykrywania włamań ( IDS – Intruder Detection
Systems ): na podstawie informacji z IDS, że nastąpiła próba ataku z komputera
o pewnym adresie IP, firewall tworzy natychmiast odpowiednią dynamiczną
regułę blokującą, rozszerzając tym samym zbiór reguł.
Firewalle stosowane są najczęściej z intencją ochrony pewnej podsieci
komputerowej przed niepożądaną działalnością użytkowników spoza tej sieci,
ale znane są, choć rzadsze, rozwiązania separujące dwa segmenty sieci
korporacyjnej, przy czym nie rozstrzyga się, w której z podsieci są zasoby
cenniejsze czy bardziej warte ochrony. Celem jest „kategoryzacja” zasobów:
rozdzielenie zasobów podsieci. Pozwala to na uniemożliwienie licznych ataków
wewnątrz korporacji.
W opisywanych dalej badaniach chronione zasoby nie są istotne –
doskonale można się obejść bez tego pojęcia. Określeń „sieć wewnętrzna”
i „sieć zewnętrzna” używa się tylko dla wygody. Należy zauważyć,
że dotychczas opisane funkcje firewalla są w pełni symetryczne i nie wymagają
preferowania którejś ze „stron” (inna rzecz, że mogą tego wymagać konkretne
zastosowania firewalla). Jednak w rzeczywistych instalacjach firewalli
filtrowaniu pakietów towarzyszą jeszcze inne funkcje, dla których opisana
symetria nie występuje. Komputer-nosiciel firewalla, z racji zainstalowanych
kilku interfejsów sieciowych pełni zwykle jednocześnie rolę bramy sieciowej
( gateway ), a w przypadku więcej niż dwóch interfejsów – także routera. Jako
gateway , firewall najczęściej realizuje funkcję translacji adresów ( NAT –
Network Address Translation ), a ta funkcja jest zdecydowanie asymetryczna –
jeden z interfejsów jest zawsze „zewnętrzny”. Podobnie w przypadku
rozszerzenia firewalla o sensor IDS również wyróżnia się jedną ze stron – tę
Biuletyn Instytutu Automatyki i Robotyki, 17/2002
143
M. Kwiatkowski, A. Pałasz, A. E. Patkowski, M. Rychter, ...
mianowicie, po której wszystkie pakiety są analizowane przez IDS, co czyni tak
uzupełniony firewall asymetrycznym. Wbrew pozorom wybór „strony”
firewalla, po której zostanie zainstalowany sensor, wcale nie jest prosty.
Upraszczając argumentacje: rozsądne jest zainstalowanie IDS po stronie
„zewnętrznej” firewalla, bo chociaż w przypadku realizacji NAT analiza jest
znacznie utrudniona, zmniejszając czułość IDS, to jednak, po wykryciu ataku
i zablokowaniu ruchu przez firewall, IDS może nadal analizować działania
napastnika, co daje pewne korzyści.
Dla opisywanych badań istotne jest to, że podlegające badaniu ataki
komputerowe realizowane są „poprzez” firewall, co w skrócie oznacza,
że system komputerowy, który jest narzędziem napastnika znajduje się po jednej
stronie firewalla, zaś system komputerowy, który jest celem ataku („komputer
ofiary”) znajduje się po przeciwnej stronie firewalla. Można się rozsądnie
umówić, że strona wewnętrzna to ta, po której znajdują się cele ataków.
Tunelem kryptograficznym nazywa się mechanizm zapewniający
przesyłanie na pewnym odcinku trasy w sieci teleinformatycznej pakietów
w postaci zaszyfrowanej. Tunel kryptograficzny tworzony jest zwykle dla
jednego z podstawowych protokołów warstwy trzeciej lub czwartej. Początkiem
tunelu może być komputer (najczęściej router szyfrujący lub stacja robocza)
a dokładniej pewna warstwa oprogramowania sieciowego tego komputera.
Nie zawsze jest to związane z dodaniem nowej warstwy protokołów (drogą
kapsułkowania); w niektórych rozwiązaniach nagłówek pakietu pozostaje bez
zmian, zaś szyfrowana jest tylko treść pakietu. O tunelowaniu mówi się, gdy
szyfrowanie związane jest z wybranym protokołem a nie wyróżnia się explicite
aplikacji, której komunikacja jest szyfrowana. W przypadku szyfrowania
informacji przez aplikację lub system informatyczny pozostaje się przy
określeniu szyfrowanie, unikając określenia „tunelowanie”.
Mechanizmy tunelowania wykorzystywane są do realizacji VPN ( Virtual
Private Networks ), w tym również małych VPNów tworzonych drogą
„uzgodnień bilateralnych” między komputerami, jak np. w oprogramowaniu
PGP firmy NAI. Znanym mechanizmem tunelującym jest SSH ( Secure SHell ).
Typowe szyfrowanie na trasie klient-serwer w protokołach SSL ( Secure Socket
Layer ) lub HTTPS może, co prawda przy niezbyt ortodoksyjnym zastosowaniu
definicji, również zostać uznane za formę tunelowania. W wersji 6 protokołu IP
szyfrowanie jest znacznie łatwiej dostępne niż w wersji 4 i należy się
spodziewać rozpowszechnienia zjawiska tunelowania.
Przez „przenikanie” firewalla rozumieć należy przedostanie się przezeń
pakietów, które, najogólniej rzecz biorąc, przedostać się nie powinny. Innymi
słowy: bez tunelowania pakiety owe, w postaci niezaszyfrowanej, nie zostałyby
przez firewall przepuszczone: zostałyby wykryte i zablokowane przez którąś
144
Biuletyn Instytutu Automatyki i Robotyki, 17/2002
Badanie możliwości przenikania firewalli atakami w tunelach kryptograficznych
ze statycznych reguł lub po rozpoznaniu sygnatury ataku przez sensor IDS
powstałaby dynamiczna reguła blokująca.
Tunelowanie jest skuteczną metodą przenikania firewalli, jeśli ukrywa
przed firewallem tę część oryginalnego pakietu, którą wykorzystują reguły
firewalla (np. oryginalny nagłówek pakietu IP), w tym także reguły stateful
analysis , lub ukrywa przed sensorem IDS firewalla sygnatury ataków zawarte
w treści pakietu.
3. Badania
Badania prowadzone były w laboratoriach Instytutu Automatyki i Roboty-
ki. Do tej pory przedmiotem badania było oprogramowanie firm Symantec
(dawniej Axent), CheckPoint oraz darmowe firewalle filtrujące dla systemu
Linux i BSD:
- Symatec Enterprise Firewall (Axent Raptor 6.5) z rozszerzeniem NetProwler
3.5.1;
- CheckPoint Firewall 1 v. 4.1;
- CheckPoint Firewall Next Generation z rozszerzeniem SNORT 1.8.6
FlexResp;
- Ip Filter dla FreeBSD 4.4;
- PGP E-ppliance100 (firewall sprzętowy).
Sprawdzane techniki ataku wymagają starannego wyboru. Najogólniej
muszą one spełniać kilka warunków:
- Technika ataku powinna być użyteczna samodzielnie lub w ramach
scenariusza ataku kombinowanego.
- Atak powinien być blokowany przez firewall.
- Dzięki szyfrowaniu (w ramach tunelu) powinna istnieć możliwość ukrycia
przed firewallem tej części przesyłanej informacji, która stanowi podstawę
rozstrzygania warunku reguły blokującej.
Przykładami wybranych ataków są: różne formy ataków z agresywnych
stron WWW, ataki przez tunel SSH lub ataki z wykorzystaniem połączenia
ustanawianego przez VPN między stacjami wyposażonymi w PGP Corporate
Desktop.
Dla osiągnięcia celów badań sformułowano procedurę badawczą, jako
wzorzec postępowania w trakcie badań. Protokoły badań stanowią podstawę
do heurystycznych analiz w ocenach zagrożeń, poszukiwaniu środków
Biuletyn Instytutu Automatyki i Robotyki, 17/2002
145
Zgłoś jeśli naruszono regulamin