1
Ochrona sieci komputerowych
przedmioty ochrony:
•
Topologia i infrastruktura sieci
•
Zasoby komputerowe
•
Usługi sieciowe
•
Serwery nazw (DNS i NIS(+) )
•
Serwery haseł/kluczy
•
Serwery PROXY
•
Poczta elektroniczna
•
WWW
•
Transfer plików (FTP, TFTP)
•
Sieciowy system plików (NFS)
•
Dane
Atrybuty bezpieczeństwa danych.
dostępność (ang. availability) - właściwość danych, informacji oraz systemów
informatycznych dzięki której są one osiągalne i mogą być uŜywane w kaŜdym czasie i w
wymagany sposób.
poufność (ang. confidentiality) - właściwość danych i informacji polegająca na ujawnianiu
ich wyłącznie uprawnionym podmiotom i na potrzeby określonych procedur, w dozwolonych
przypadkach i w dozwolony sposób.
integralność (ang. integrity) - cecha danych i informacji oznaczającą ich dokładność i
kompletność oraz utrzymywanie ich w tym stanie.
1.
Atak na dostępność. Zwany równieŜ atakiem na dyspozycyjność, polega na
przerwaniu transmisji.
ObniŜenie ryzyka i skutków takiego ataku to: kopie zapasowe danych w róŜnych miejscach,
zapewnienie awaryjnej drogi komunikacji, mirrory, czyli lustra zawartości serwerów
2. Przechwycenie. Wiadomość zostaje przechwycona przez intruza i nie dociera do nadawcy.
Intruz przy tym rodzaju ataku moŜe:
a) powielić wiadomość,
b) skasować wiadomość,
c) poznać treść wiadomości.
Szyfrowanie danych chroni dane przed skutkami przechwycenia, ale nie chroni przed
samym przechwyceniem.
3. Podsłuch. Podsłuch to odmiana przechwyceniu transmisji. Informacja wprawdzie dociera
do odbiorcy, lecz jej treść jest znana równieŜ osobie trzeciej. Szyfrowanie danych
uniemoŜliwia podsłuchującemu poznanie ich zawartości.
4. Modyfikacja. Jest to atak na nienaruszalność danych. Intruz przechwytuje informację, po
czym moŜe:
a) wprowadzić do niej zmiany i wysłać ją do odbiorcy,
b) opóźnić transmisję,
c) opóźnić i zmienić kolejność sekwencyjną danych,
d) skasować fragment informacji.
2
Zabezpieczenie się przed modyfikacją to stosowanie podpisów cyfrowych przesyłanych
wiadomości.
5. Atak na autentyczność wiadomości. Mamy z nim do czynienia, gdy odbiorca otrzymuje
fałszywe dane nie pochodzące od nadawcy stojącego po drugiej stronie kanału
transmisyjnego, lecz od intruza, który podszywa się pod nadawcę.
Uchronienie się przed podszywaniem to przede wszystkim stosowanie autoryzacji,
poprzez bezpieczne protokoły transmisji lub certyfikaty.
Metody ochrony
•
Znacznik integralności jest tworzony na podstawie treści danych przy pomocy funkcji
skrótu.
•
Integralność sekwencji wiadomości –poprzez numer sekwencyjny wiadomości i
znacznik czasu. W praktyce moŜna spotkać kontrolę integralności w protokole SSL
wyposaŜony w funkcje kontrolujące integralność przesyłanych sekwencji danych.
•
Uwierzytelnianie nadawcy wiadomości - znacznik uwierzytelnienia wiadomości jest
tworzony na podstawie wiadomości i tajnego klucza. Przykładem praktycznym
realizowania tej usługi moŜe być program PGP
•
Poufność zawartości informacji -realizuje się ją przez zaszyfrowanie wiadomości
odpowiednimi metodami kryptograficznymi.
•
Niezaprzeczalność nadania informacji - realizowana jest przy pomocy podpisu
cyfrowego, który jest funkcją podpisywanej wiadomości i klucza prywatnego
nadawcy.
•
Niezaprzeczalność odbioru informacji –w informacji potwierdzającej zawiera się
podpis cyfrowy odbiorcy, który jest funkcją potwierdzanej wiadomości.
Strategia ochrony sieci
Planowanie strategii bezpieczeństwa systemu zaporowego sprowadza się do określenia
zasad, norm i procedur ochrony sieci prywatnej przed niepoŜądaną ingerencją z
zewnątrz. Strategia bezpieczeństwa to nie tylko reguły filtracji pakietów, to takŜe wiele
innych istotnych czynników warunkujących prawidłowy poziom zabezpieczenia:
•
przeciwdziałanie infekcji wirusem komputerowym z sieci
•
ukrywanie wewnętrznej struktury systemu
•
szyfrowanie i uwierzytelnianie danych przesyłanych w sieci publicznej (tworzenie
wirtualnych sieci prywatnych VPN – Virtual Private Network)
•
przeciwdziałanie przenikania do systemu "złośliwych" apletów Java, ActiveX i
innych załączników do stron WWW
•
metody bezpiecznego administrowania FIREWALL
•
ochrona serwera poczty elektronicznej
•
procedury reagowania na zdarzenia
•
metody powiadamiania administratora w sytuacjach wyjątkowych
•
okresowe testy systemu zaporowego pod względem szczelności i efektywności
•
procedury analizowania danych archiwalnych
•
metody uwierzytelniania toŜsamości uŜytkowników
•
procedury tworzenia kopii zapasowych BACK-UP
•
plany awaryjno-ewakuacyjne, itd.
3
Administracja kontami uŜytkowników Windows:
W systemie Windows wykorzystywane jest pojęcie uŜytkowników oraz grup do
uwierzytelniania i autoryzacji, gdzie kaŜdy uŜytkownik musi być członkiem co najmniej
jednej grupy.
Konta uŜytkowników dzielą się na trzy grupy:
•
lokalne konta uŜytkowników,
•
domenowe konta uŜytkowników,
•
konta wbudowane.
Lokalne konto uŜytkownika jest najczęściej wykorzystywane podczas pracy w grupie
roboczej lub na komputerach autonomicznych, umoŜliwia uŜytkownikowi logowanie do
komputera oraz dostęp do zasobów. PoniewaŜ konto lokalne jest tworzone w lokalnej bazie
kont SAM, umoŜliwia dostęp do zasobów wyłącznie na komputerze, w którego bazie zostało
stworzone.
Domenowe konto uŜytkownika jest wykorzystywane wyłącznie wtedy, gdy komputer pracuje
w domenie. Konta domenowe są zakładane przez administratora domeny w usłudze Active
Directory. Konto domenowe umoŜliwia logowanie do domeny, co oznacza, Ŝe podczas
logowania do komputera po wpisaniu przez uŜytkownika swojej nazwy i hasła dane te są
przesyłane przez sieć do kontrolera domeny, który autoryzuje uŜytkownika, sprawdzając bazę
kont, czyli Active Directory. Dzięki temu mechanizmowi uŜytkownik, posiadając pojedyncze
konto, moŜe uzyskiwać dostęp do dowolnych zasobów w całej domenie.
Wbudowane konta uŜytkowników są tworzone automatycznie podczas instalacji MS
Windows lub podczas instalacji kontrolera domeny po to, aby umoŜliwić wykonywanie zadań
administracyjnych w systemie. Są dwa konta wbudowane, które nie mogą być usunięte:
Administrator i Gość. Lokalne konta Administratora i Gościa są przechowywane w lokalnej
bazie kont SAM, natomiast domenowe konta Administratora i Gościa są przechowywane w
Active Directory i powstają podczas instalacji kontrolera domeny.
Techniki włamań do systemów komputerowych:
Włamanie przez exploit - polegające na bezpośrednim połączeniu intruza z
atakowanym systemem i wykonaniu w nim niedozwolonych działań dzięki
wykorzystaniu błędów jego aplikacji,
Włamanie przez agenta - polegające na przesłaniu do systemu specjalnie napisanego
programu, który po uruchomieniu wykonuje niedozwolone działania zaprogramowane
przez intruza.
Metody ataków sieciowych na systemy informatyczne:
Skanowanie – wyszukiwanie luk w systemie,
Sniffing – podsłuchiwanie pakietów przepływających przez sieć,
Spoofing – podszywanie się pod inny komputer,
Hijacking – przechwycenie sesji (spoofing+sniffing).
4
Główne formy nielegalnych ingerencji w polskim Internecie w 2005 roku:
•
Skanowanie struktury i zasobów sieci,
•
Programy szkodliwe - wirusy i robaki, konie trojańskie, exploity, rootkity,
•
Spam,
•
DoS i DDoS (tworzenie sieci BotNet),
•
SQL injection (atakowanie informacji przechowywanych w bazie za pomocą zapytań
SQL),
•
Wykradanie informacji (inŜynieria społeczna, Spyware, Keylogger, Phishing),
•
Uzyskanie dostępu do zasobów sieciowych (systemu, mocy obliczeniowej, danych).
Systemy zabezpieczeń systemów komputerowych:
Network IDS (Intrusion Detection System),
Firewall (zapora ogniowa),
Host IPS (Intrusion Prevention System) ,
Network IPS.
Technologie zabezpieczeń zawarte w zintegrowanych rozwiązaniach ochronnych:
zapory sieciowe (ogniowe),
wykrywanie włamań,
wirtualne sieci prywatne (VPN),
system wykrywania i zapobiegania włamaniom (IDS/IPS) ,
filtrowanie treści,
zarządzanie lukami,
ochrona antywirusowa.
Ataki pasywne
Polegają na podsłuchiwaniu i monitorowaniu przesyłanych informacji. Celem takich ataków
moŜe być dąŜenie do ujawnienia treści wiadomości lub uzyskania informacji o samym ruchu
w sieci, które to mogą być wykorzystane do przeprowadzenia dalszych ataków na system.
•
Podsłuchiwanie (IP sniffing)
Polega na podsłuchiwaniu za pomocą odpowiedniego oprogramowania (sniffery)
pakietów przesyłanych w sieci w celu pozyskania haseł, wiadomości email lub innych
poufnych informacji. Analizator ruchu moŜe być załoŜony w dowolnym miejscu sieci jednak
na szczególne niebezpieczeństwo naraŜone są komputery będące bramkami pomiędzy
sieciami. Ruch generowany w okolicach takiego komputera zawiera stosunkowo najwięcej
pakietów pochodzących z procedur autoryzacji.
•
Skanowanie portów
Działalność tego typu polega na wysyłaniu zapytań do portów TCP/IP i
zapisywaniu odpowiedzi otrzymywanych z serwera. Dokonują tego specjalne programy
zwane skanerami. Gromadzą cenne informacje na temat wybranego serwera poprzez
ustalenie:
1.
Usług udostępnianych przez serwer
2.
Właścicieli procesów serwerów tych usług
3.
Czy serwer zezwala na anonimowe logowanie
5
4.
Czy dla wybranych usług stosowane są procedury autoryzacji uŜytkownika
Programy tego typu wywołują sporo kontrowersji. Mogą słuŜyć zarówno włamywaczom
chcącym poznać słabe strony skanowanej maszyny, jak równieŜ administratorom pomagając
„uszczelnić” swój system. NaleŜy przyjąć jednak, iŜ działalność tego typu bez wiedzy
administratora skanowanego systemu prowadzi do planowanego ataku i uzyskania
nieautoryzowanego dostępu do komputera.
Do skanowania portów stworzono wiele narzędzi, zarówno dla systemów Windows jak
i Unix. Jednym z najbardziej znanych i najbardziej zaawansowanych jest nmap (ang.
Network Mapper). Został on stworzony przez Insecure.Org i moŜna go bezpłatnie pobrać ze
strony
http://www.insecure.org/nmap/
.
Nmap posiada zarówno wersję tekstową jak i graficzną
Ataki aktywne
Jest to najczęściej spotykany typ ataków sieciowych na bezpieczeństwo systemu.
Polega on na modyfikowaniu strumienia informacji lub tworzeniu fałszywych danych.
Działania te mieszczą równieŜ podszywanie się pod osobę uprawnioną oraz blokowanie
działania (uniemoŜliwienie dostępu do usługi sieciowej).
•
Blokowanie działania (Denial of Service)
Mają one na celu utrudnienie uprawnionym uŜytkownikom korzystanie z zaatakowanego
systemu. Mogą to być ataki wykorzystujące błędy w systemie operacyjnym. (Na przykład
program teardrop.c wysyłał serie fragmentowanych pakietów IP, zachodzących na siebie w
specyficzny sposób, co powodowało zawieszenie lub restart systemu operacyjnego).
Najprostszy atak DOS to zatapianie (flood). Polega on na wygenerowaniu duŜego ruchu
skierowanego do atakowanego systemu. Jeśli jest on podłączony do sieci niezbyt szybkim
łączem, to atakujący moŜe całkowicie zająć jego przepustowość, znacząco utrudniając
komunikację z zaatakowanym serwerem. Źle skonfigurowane routery mogą spowodować, Ŝe
cała sieć zostanie uŜyta jako „wzmacniacz ICMP”. Ataki typu DOS mogą być bardzo
uciąŜliwe. Nie dają one atakującemu kontroli nad serwerem, ale uniemoŜliwiają korzystanie z
niego innym. W wielu przypadkach (na przykład dostawca Internetu, popularny serwer
6
WWW) jest to nie do zaakceptowania. Pewne ataki (np. spoofing) wymagają, aby pewien
węzeł sieci był przez krótki czas nieaktywny. MoŜna to osiągnąć właśnie atakiem typu DOS.
Wykrywanie źródła takich ataków jest często bardzo trudne. Protokół IP daje moŜliwość
fałszowania adresu nadawcy, toteŜ na informacji z nagłówka IP nie moŜna polegać.
•
Rozproszone blokowanie działania (Distributed Denial of Service -DDoS)
Jest to forma ataków typu DOS jednak wykonywana jednocześnie z wielu
komputerów. Stosuje się je w przypadku kiedy atakowany system posiada łącze o duŜej
przepustowości i zablokowanie jego serwisów z pojedynczego komputera jest niemoŜliwe
(np. portale internetowe). Za pomocą całej sieci komputerów atakujący steruje atakiem, który
w rzeczywistości jest strumieniem pakietów kierowanych z wielu róŜnych komputerów. Sieć
taka składa się z następujących elementów:
Atakującego – z tej maszyny zostaje nadany rozkaz rozpoczęcia ataku
Mastera – kontroluje demony i przekazuje rozkaz ataku od atakującego
Demona – wysyła i odbiera polecenia od mastera, jego podstawową funkcją jest generowanie
strumienia pakietów
•
Bomby pocztowe (Mail spamming)
Typowa bomba pocztowa jest serią wiadomości wysłanej do skrzynki pocztowej
ofiary. Celem atakującego jest wypełnienie atakowanej skrzynki duŜą ilością informacji
„śmieci”. Atak tego typu raczej nie doprowadza do utraty danych lub naruszenia
bezpieczeństwa systemu, jednak potrafi skutecznie uprzykrzyć ofierze funkcjonowanie w
sieci. W rzadkich przypadkach bomby pocztowe mogą spowodować blokadę świadczonych
przez serwer usług.
•
Zapisywanie uŜytkownika do wielu list dyskusyjnych. Jest to odmiana ataku
bomby pocztowej. Napastnik, podszywając się pod swoją ofiarę, zapisuje się na wiele
list dyskusyjnych jednocześnie. Większość list generuje przynajmniej 50 listów
dziennie, niektóre zawierają równieŜ binarne załączniki. Jeśli napastnik zapisze swoją
ofiarę do setki list, wówczas będzie ona otrzymywać tysiące wiadomości dziennie
•
Podszywanie się pod adres IP (IP spoofing)
Jest to atak polegający na podszywaniu się pod legalnego uŜytkownika w warstwie
adresów IP. Metoda ta jest często stosowana w połączeniu z innymi atakami (np. TCP SYN
Flood) w celu ukrycia adresu maszyny przeprowadzającej atak.
•
Przechwycenie sesji
Włamywacz szuka istniejącego połączenia między dwoma komputerami, a następnie
badając nie zabezpieczone routery lub firewalle powoduje, Ŝe komputer główny przerywa
połączenie z legalnym uŜytkownikiem i pozwala napastnikowi na uzyskanie dostępu do sesji
legalnego uŜytkownika.
Ataki konstruktywne
Tego typu ataki mają na celu uzyskanie dostępu do systemu, często z przywilejami
administratora. Wykorzystują one luki w aplikacjach sieciowych lub słabość protokołów.
Ataki konstruktywne wykorzystują błędy nie w systemie operacyjnym, lecz w aplikacjach.
Większość programów sieciowych uŜywa TCP, który jest protokołem połączeniowym, dzięki
czemu trudno sfałszować źródło ataku. Dlatego identyfikacja atakującego jest zazwyczaj
wiarygodna.
•
Wykorzystanie luk w aplikacjach sieciowych
Wiele programów (w szczególności często aplikacje CGI) to skrypty interpretatora poleceń
(shell), takiego jak bash czy tcsh, oraz skrypty w języku perl. Atakujący moŜe wewnątrz
7
danych posyłanych do serwera zamieścić polecenia interpretatora poleceń lub perla,
poprzedzając je jednym ze znaków specjalnych. Niektóre skrypty podczas przetwarzania
danych wywołują interpretator poleceń, podając jako jeden z argumentów dane posłane przez
atakującego. MoŜe to doprowadzić do wykonania na serwerze poleceń posłanych przez
intruza.
Niekiedy programy sieciowe próbują ograniczyć zakres usługi, który oferują. Na przykład
serwery WWW lub DNS udostępniają tylko pliki leŜące w pewnym wydzielonym
podkatalogu (środowisko chroot).
•
Przepełnienie bufora (Buffer overflow)
Technika ta wykorzystuje brak lub niewłaściwe sprawdzanie długości łańcuchów
tekstowych w programach uprzywilejowanych, czyli na przykład takich, które wykonują się z
uprawnieniami administratora. Jego pomyślne wykorzystanie daje atakującemu moŜliwość
wykonania dowolnego kodu na serwerze. Wiele aplikacji jest podatnych na ten atak.
Wystarczy wspomnieć o demonie pocztowym Sendmail (praktycznie wszystkie wersje
wcześniejsze niŜ 8.8.0) czy teŜ demonie obsługującym zapytania DNS, Bind (wersje 4.x). Te
programy były uŜywane na wielu odmianach Unixa. Przepełnienie bufora w aplikacji
pracującej pod kontrolą Windows NT jest równie niebezpieczne.
Programy destrukcyjne
•
Wirusy
Mogą one powodować nie tylko odmowę usługi (DoS), ale teŜ niszczyć dane a nawet
cały system komputerowy. Klasyfikacja wirusów
Wirusy plikowe
Wirusy boot-sektora
Wirusy makr
Robaki
Konie trojańskie
Exploity
Spamy
Robak (worm) jest to program, który do swojego działania nie potrzebuje innych
programów, zuŜywa na swoje potrzeby zasoby zainfekowanego komputera i potrafi przenosić
się na inne komputery (ostatnio najczęściej jako załączniki w poczcie elektronicznej). Istnieje
więc zasadnicza róŜnica między wirusami a robakami. Wirusy dokonują modyfikacji
programu-nosiciela lub wybranych miejsc na dysku, co stanowi główną przeszkodę w ich
rozprzestrzenianiu się w systemach z wbudowaną ochroną plików. Robaki nie potrzebują
takich warunków, aby Ŝyć i rozmnaŜać się. Najbardziej zagroŜone są systemy
wielozadaniowe takie jak np. Unix.
8
Konie trojańskie
Program typu koń trojański jest obcym kodem dołączonym do prawowitego
programu. Kod ten realizuje funkcje nieznane uŜytkownikowi (i najczęściej przez niego
niepoŜądane).
Jest programem, który wydaje się realizować poŜądane i poŜyteczne funkcje, lecz realizuje
równieŜ nieznane jego uŜytkownikowi zadania (i przez niego nie akceptowane).
Nielegalne funkcje realizowane przez konia trojańskiego mogą czasami zakwalifikować go do
grupy wyjątkowo niebezpiecznych programów destrukcyjnych. Do określenia tego pasują
niektóre wirusy, mogą one ukrywać swoją obecność w poŜytecznym programie. Wówczas
taki program moŜna nazywać zarówno koniem trojańskim jak i wirusem.
Koń trojański moŜe występować w dowolnej formie. MoŜe być programem narzędziowym,
który indeksuje katalogi lub łamie kody rejestracyjne w oprogramowaniu. MoŜe być to
edytor tekstu lub narzędziowy program sieciowy. Konie trojańskie mogą być zaszyte nie
tylko w binarnych skompilowanych programach. MoŜna je znaleźć równieŜ w skryptach
powłoki, programach w Perlu i być moŜe nawet w skryptach takich jak JavaScript lub
VBScript. Generalnie, koń trojański moŜe być umieszczony w kaŜdym programie.
W kontekście bezpieczeństwa środowiska sieciowego konie trojańskie wykonują
najczęściej następujące zadania:
1.
Ujawniają istotne informacje o systemach, na których zostały uruchomione, bądź
bezpośrednio doprowadzające do pokonania zabezpieczeń systemu.
2.
Pozwalają na przejęcie całkowitej kontroli nad systemem zdalnemu uŜytkownikowi
Konie trojańskie stanowią waŜny aspekt bezpieczeństwa systemów - są dość często
stosowane przez róŜnej maści krakerów. UwaŜa się je za programy działające podstępnie,
poniewaŜ nawet po wykryciu ich wpływ jest wciąŜ odczuwalny. W tym sensie są podobne do
analizatorów pakietów (snifferów) - niełatwo ocenić skalę zniszczeń (penetracji systemu)
jakie program dokonał. Konie trojańskie w Ŝaden sposób nie ujawniają swej obecności -
pracują w tle, po cichu i skutecznie. Co gorsza, większość dobrze zaprojektowanych
programów tego typu umieszczana jest w narzędziach, które normalnie są obecne i
uruchomione w systemie.
9
Exploits, to programy najczęściej pisane w C++, które wykorzystują luki w systemie
operacyjnym, bądź teŜ w określonej usłudze, przez co w dość łatwy sposób osoba
nieuprawniona moŜe uzyskać uprawnienia administratora. Odpowiednie aplikacje
wykorzystują przy tym kilka popularnych technik, jak na przykład
buffer overflow
,
heap
overflow
czy
format string
. Programy te są łatwo dostępne w Internecie i dość proste
w obsłudze, a co za tym idzie mogą być wykorzystywane przez osoby nie posiadające duŜej
wiedzy w tej dziedzinie.
Powstały równieŜ pewnego rodzaju zintegrowane narzędzia, które są połączeniem exploit’ów
i skanerów. Programy te same wyszukują system, który jest nieodporny na atak
i automatycznie dokonują wtargnięcia. Jedną z najpopularniejszych stron WWW, na której
znajdują się informacje o lukach i zagroŜeniach jest
http://www.frsirt.com/english/company.php
FrSIRT VNS™ is a 24x7 security alerting service which helps IT professionals to
improve security, prioritize resources, cut time
and costs, and stay ahead of the latest
vulnerabilities, exploits and malware threats.
Oprogramowanie antywirusowe nie radzi sobie najlepiej z zagroŜeniami ze strony
rootkitów. Te niewielkie programy ukrywają niebezpieczny kod nie tylko przed
uŜytkownikiem, ale takŜe przed antywirusem. Uruchamiany w czasie startu, wgrany do
pamięci operacyjnej, wpisany do rejestru albo zmieniający jądro systemu - to tylko
niektóre jego oblicza.
Persistent rootkit
Jest wczytywany podczas uruchamiania systemu operacyjnego. Swój kod ukrywa w rejestrze
lub w systemie plików i uaktywnia się automatycznie przy starcie.
Memory rootkit
Zapisuje swój kod tylko w pamięci RAM.
Virtualised rootkit
Operuje na najniŜszym poziomie. Modyfikuje sekwencję startową tak, Ŝe podczas
uruchamiania komputera wczytuje się zamiast oryginalnego systemu operacyjnego i dopiero
wtedy inicjuje wczytanie systemu operacyjnego jako maszyny wirtualnej.
Kernel rootkit
Działa na nieco wyŜszym poziomie, modyfikując fragmenty jądra systemu lub dodając do
niego nowe porcje własnego kodu.
Library rootkit
Modyfikuje działające w trybie uŜytkownika wywołania systemowe (funkcje systemu, z
których korzystają programy) w taki sposób, aby ukryć obecność swoją czy innego szkodnika
w komputerze.
Application rootkit
Działa na najwyŜszym poziomie, modyfikując kod popularnych aplikacji, zmieniając ich
działanie czy dodając funkcjonalność konia trojańskiego.
10
Zdobywanie informacji
Wszelkie próby nieautoryzowanego dostępu zaczynają się od zdobywania informacji na
temat celu ataku. MoŜna je uzyskać na wiele sposobów w zaleŜności od posiadanej wiedzy
osoby atakującej. Od powodzenia tej operacji zaleŜy późniejszy sukces włamywaczy, dla tego
typu techniki.
Social Engineering
Social Engineering, czyli inŜynieria społeczna, jest sztuką i nauką uzyskiwania od ludzi
informacji, których potrzebujemy. Jest to szeroki zakres sposobów wyłudzania danych od
często nic nie podejrzewających osób, w tym poufnych informacji czy nawet ich własnych
haseł i numerów kart kredytowych. Metoda ta stała się jednym z głównych narzędzi
11
wykorzystywanych przez hakerów i crackerów, a najsłabszym ogniwem w całym systemie
zabezpieczeń komputerowych jest właśnie człowiek.
Phishing
Phishing, to dość nowe określenie techniki uzyskiwania informacji, która ostatnio stała się
dość popularna a zarazem bardzo niebezpieczna. Jest to sposób „wyłudzania” informacji
od uŜytkowników sieci Internet. Polega ona na przykład, na spreparowaniu witryny WWW,
która przypomina oryginalny odpowiednik strony zaufanej przez uŜytkownika. Proceder ten
rozpoczyna się najczęściej poprzez wysłanie do uŜytkownika e-maila, na przykład od jego
banku, z informacją o waŜnych zmianach w systemie oraz potrzebie zweryfikowania danych,
po czym podawany jest link do spreparowanej strony WWW.
Trash Scanning
Trash Scanning w dosłownym tłumaczeniu oznacza „skanowanie śmieci”. Metoda ta polega
na przeglądaniu, czy teŜ wykradaniu róŜnego rodzaju dokumentów opuszczających cel ataku
(przeglądanie śmietników firmy). Jest to poszukiwanie informacji mających na celu wsparcie
ataku.
Jednym z prekursorów tej techniki pozyskiwania informacji jest, wcześniej juŜ wymieniony
Kevin D. Mitnick, który dzięki takiemu postępowaniu zdobywał wiele informacji na temat
central i firm telekomunikacyjnych.
Trash Scanning jest stosowany w tzw. Credit Carding’u, popularnym w USA, polegającym na
korzystaniu z cudzych kart kredytowych. W hotelowych czy sklepowych koszach na śmieci
znajdowane są odbite na kalce numerów kart płatniczych wraz z terminami ich waŜności.
Keylogger
Keylogger’y, są to programy lub teŜ urządzenia słuŜące do nasłuchiwania i zapisywania
kaŜdego z naciśniętych klawiszy na klawiaturze. Dzięki tej metodzie bez wiedzy uŜytkownika
moŜna przechwycić jego login’y i hasła oraz inne poufne dane, a takŜe dowiedzieć się, jakie
strony WWW ogląda czy do kogo pisze wiadomości. Sprzętowe keylogger’y, są to zazwyczaj
małe urządzenia podłączane pomiędzy klawiaturę a komputer, monitorujące naciśnięte
klawisze i zapisujące je w swej wewnętrznej pamięci.
Programowe keylogger’y zazwyczaj zapisują kaŜdy naciśnięty przez uŜytkownika klawisz w
pliku na komputerze, na którym zostały zainstalowane.
Łamanie haseł
Hasła nie są zazwyczaj przechowywane w postaci jawnej. Zapisywane są one w plikach, które
naleŜy odpowiednio zabezpieczyć przed dostaniem się w niepowołane ręce. Funkcja
kodowanie nie jest odwracalna z matematycznego punktu widzenia.
WyróŜniamy dwie metody łamania haseł:
•
Brutal Force – to technika, która zwana jest teŜ metodą siłową. Polega na
sprawdzaniu wszystkich moŜliwych kombinacji znaków, które mogły zostać wpisane
z klawiatury w celu trafienia na poprawna identyfikacje. Technika ta jest dość
czasochłonna i moŜe zająć nawet kilka miesięcy czy nawet lat w zaleŜności od
szybkości komputerów uŜywanego w tym celu oraz w przypadku zdalnego łamania
hasła, przepustowości łącza.
•
Metoda słownikowa (ang. Dictionary attack) - polega na podstawianiu gotowych
haseł zapisanych na liście, zamiast stosowania wszystkich moŜliwych kombinacji
znaków. Jest to metoda znacznie szybsza niŜ w przypadku Brutal Force. Powodzenie
tego typu ataku zaleŜy od posiadania odpowiedniego słownika z bardzo duŜą ilości
zapisanych w nim haseł. Sposób ten nie jest skuteczny w przypadku hasła, którego
konstrukcja zawiera cyfry, znaki specjalne oraz litery.
12
Ataki poprzez skrypty
Kolejnym niebezpieczeństwem związanym z przeglądarkami są języki skryptów uŜywane w
nich, takie jak: JavasSript, VisualScript czy ActiveX. Stwarzają one moŜliwość pisania
skryptów umoŜliwiających zdalne ataki poprzez strony www. Pomimo Ŝe JavaScript
umoŜliwia bezpieczne uruchomienie kodu skryptu odseparowanego od danych uŜytkownika,
nadal istnieją błędy w samej strukturze bezpieczeństwa obsługi skryptów.
ActiveX nie zapewnia pełnego bezpieczeństwa, bazuje na modelu zaufania klient-serwer
przez podpis cyfrowy. O bezpieczeństwie VisualScript trudno tu w ogóle mówić. Przykładem
jego braku są ataki wirusa „ILOVEYOU”, który był napisany w VisualScript. Uruchomienie
dołączonego do listu kodu powodowało niekontrolowaną ingerencję programu w systemie.
Nie trudno napisać podobny skrypt, który potrafiłby na komputerze ofiary stwierdzać
istnienie pakietu PGP, kraść z dysku newralgiczne dane i modyfikować sam program
szyfrujący czy zostawiać konie trojańskie.
Główne funkcje programów do monitorowania stanu i zabezpieczania sieci:
gromadzenie danych o zasobach sieciowych,
ś
ledzenie zmian w konfiguracji sieci,
wynajdowanie słabych lub przeciąŜonych punktów w sieci,
ułatwianie znalezienia uszkodzenia,
blokowanie niepoŜądanych pakietów danych przychodzących z sieci zewnętrznych
(bądź w obrębie sieci lokalnej).
13
Ś
ciany ognia –zapory sieciowe(Firewall)
Ze względu na swoją kluczową rolę "ściany ognia" instalowane są na ogół na pomostach
pomiędzy sieciami LAN i WAN, bądź w systemach współpracujących z routerami
stanowiącymi te pomosty. Firewall moŜe być programem, sprzętem wyposaŜonym w
"zaszyte" w układach elektronicznych oprogramowanie jak równieŜ rozwiązaniem
sprzętowo-programowym. Mimo ciągłych działań skierowanych przeciwko systemom
firewall naleŜą one do najbardziej skutecznych rozwiązań problemu bezpieczeństwa sieci.
NaleŜy jednak zaznaczyć, Ŝe "ściany ognia" wymagają bardzo solidnej i przemyślanej
konfiguracji, która jest w zgodzie z załoŜoną polityką bezpieczeństwa.
W budowaniu zapór ogniowych Internetu są stosowane róŜne technologie:
•
Bramy poziomu aplikacji -wszystkie pakiety są adresowane na poziomie aplikacji
uŜytkownika w bramie, która przekazuje pakiety pomiędzy dwoma punktami
komunikacji. Bramy aplikacyjne mogą zapewnić bardzo wysoki poziom ochrony,
jednak mogą one obsługiwać tylko ograniczoną liczbę aplikacji i usług. Działają w
warstwie aplikacji modelu OSI. Stosują zawansowane metody uwierzytelniania
uŜytkownika (hosta), który próbuje dostać się do do sieci. Są skuteczne w walce z
podszywaniem się pod innego uŜytkownika.
•
Firewall poziomu obwodów (połączenia) (aplikacje pośredniczące i kontrola
połączeń). Brama połączenia zapewnia bardziej ogólną metodę implementacji
bram aplikacyjnych. MoŜe ona obsługiwać niektóre aplikacje TCP, nie obsługuje
natomiast innych protokołów. Działa w warstwie transportowej modelu OSI.
14
UmoŜliwia zachowanie tajemnicy o hostach sieci wewnętrznej (firewall jest stacją
pośredniczącą)
•
Filtracja pakietów. Bramy filtrujące pakiety działają jako routery pomiędzy dwiema
sieciami; pakiety przepływające od źródła do miejsca swego przeznaczenia są
przekazywane dalej lub blokowane. Router wykorzystując listy dostępu zezwala
lub nie na połączenie. Technologia ta zapewnia efektywny sposób kontroli ruchu
sieciowego. Mogą być oparte o kontrolę adresu IP urządzenia wysyłającego lub
numeru portu protokołu, który utworzył pakiet. Jest to najprostszy, szybki
firewall działający w warstwie sieciowej OSI.
Techniki relizacji firewall:
•
Tłumaczenie adresów NAT (Network Adres Translation)
Jest to technika pozwalająca podłączać do Internetu sieci wewnętrzne dysponujące klasą
adresów nierutowalnych. Pakiety wychodzące z sieci wewnętrznej są maskowane na
zewnętrzny adres, jaki ma jeden z interfejsów sieciowych komputera pełniącego rolę bramy.
Wszystkie pakiety wychodzące z sieci wewnętrznej do Internetu wyglądają tak jak by
pochodziły jedynie z jednego komputera – bramy. Natomiast nadchodzące z Internetu są
kierowane z komputera bramy do poszczególnych komputerów w sieci wewnętrznej.
Technika stosowana jest tam gdzie istnieje potrzeba podłączenia sieci komputerowej
do Internetu, jednak istnieje tylko jeden adres IP do wykorzystania Dzięki NAT moŜliwe jest
udostępnienie Internetu niemalŜe dowolnej liczbie komputerów. System ten pełni
dodatkowo rolę ściany ogniowej, poniewaŜ sieć komputerowa korzystająca z NAT nie ma
bezpośredniego dostępu do Internetu (posiada adresy z klasy nierutowalnej), natomiast
korzysta ze specjalnego komputera jako routera. W ten sposób Ŝaden komputer z sieci
zewnętrznej nie moŜe dostać się do sieci wewnętrznej, jednocześnie komputery z wewnątrz
mają swobodny dostęp do Internetu.W Linuxie technika NAT nazwana jest IP-
Masquerade (maskowanie adresów IP) i zaimplementowana jest na poziomie jądra systemu.
Korzystanie z NAT wymaga, aby „ściana ogniowa” przechowywała tablicę, w której
zapisane są przyporządkowane sobie gniazda wewnętrzne i zewnętrzne. Kiedy
wewnętrzny klient nawiązuje połączenie z zewnętrznym hostem, „ściana ogniowa” zmienia
jego port źródłowy na jeden ze swoich portów zewnętrznych i dokonuje odpowiedniego
zapisu w tablicy translacji. Zapis ten zawiera aktualne wewnętrzne gniazdo źródłowe,
gniazdo docelowe oraz przypisane gniazdo zewnętrzne zapory. Kiedy host zewnętrzny
wysyła dane z powrotem do gniazda hosta wewnętrznego, „ściana ogniowa” wykonuje
odwrotne przekształcenie. Jeśli w tablicy translacji nie ma pozycji dla danego gniazda lub
gdy źródłowy adres IP jest inny od tego, którego oczekuje firewall, pakiet jest
odrzucany.
Przypomnienie:
procesy: programy, demony, usługi, serwisy sieciowe.
Identyfikacja przynaleŜności transmisji sieciowej do konkretnego procesu odbywa się na
podstawie numeru portu. Numer portu jest liczbą (liczba 16-bitowa) związaną z procesem
komunikującym się w sieci.
KaŜda transmisja w sieci identyfikowana jest przez dwie grupy liczb: nadawca –adres IP +
nr portu (gniazdo)
odbiorca - adres IP + nr portu
DMZ (strefa zdemilitaryzowana - DeMilitarized Zone)
staje się pomocny, gdy w
sieci LAN instalowany jest serwer usług dla Internetu (np. serwery WWW i poczty
elektronicznej). Dla bezpieczeństwa wewnętrznych uŜytkowników sieci naleŜy w chwili
15
uruchomienia takiego serwera tak zdefiniować reguły zapory ogniowej, aby dopuszczany był
cały ruch z zewnątrz, a jednocześnie personel firmy miał zapewniony przyzwoity poziom
bezpieczeństwa Strefa DMZ jest wydzielonym miejscem w sieci, miejscem, w którym
umieszcza się serwery usług wymagające otwarcia na ruchu z Internetu. PoniewaŜ w DMZ z
załoŜenia umieszcza się obiekty świadczące usługi dla sieci o obniŜonym poziomie zaufania,
konieczne jest więc wyodrębnienie jej (logiczne lub fizyczne) ze struktury sieci wewnętrznej.
MoŜna to zrobić za pomocą wydzielonego przełącznika, poprzez ustanowienie dodatkowego
firewalla lub skonfigurowanie VLAN (wirtualnej sieci lokalnej) na wspólnym przełączniku
sieci.
Serwer Proxy
Pozwala on pełnić rolę firewalla zapewniając jednocześnie buforowanie przesyłanych
stron WWW.
Serwer Proxy umieszczony jest pomiędzy dwoma sieciami: zewnętrzną oraz wewnętrzną.
Wszelkie odwołania do sieci zewnętrznej nie odbywają się bezpośrednio jak ma to
miejsce w klasycznym firewallu, lecz są kierowane do serwera PROXY, który wykonuje
zlecone zadania i przesyła ich wyniki do klienta Jest to bezpieczne rozwiązanie chroniące
sieć wewnętrzną przed bezpośrednim dostępem z zewnątrz.
Wadą korzystania z mechanizmu NAT jest to, Ŝe jest on implementowany tylko na poziomie
warstwy transportowej. Oznacza to, Ŝe informacja ukryta w części danych pakietu TCP/IP
moŜe być przesłana do usług wyŜszej warstwy i wykorzystana do eksploatacji słabości w
innej warstwie lub do komunikowania się z koniem trojańskim. UŜytkownik, który chce
zapobiec naruszeniom bezpieczeństwa usług warstw wyŜszych nadal musi korzystać z usług
takich jak PROXY. Mechanizm NAT moŜna uwaŜać za podstawowy mechanizm zastępczy
PROXY: pojedynczy host wysyła Ŝądania w imieniu wszystkich wewnętrznych hostów,
ukrywając w ten sposób ich toŜsamość przed siecią publiczną
Funkcje
Zalety PROXY wynikają z ponownego generowania Ŝądania oraz połoŜenia PROXY
między sieciami wewnętrzną i zewnętrzną:
•
PROXY moŜe blokować niebezpieczne URL.
•
PROXY ukrywa prywatnego klienta przed światem zewnętrznym.
•
Zanim prześle dane do klienta PROXY moŜe filtrować niebezpieczną zawartość
taką, jak wirusy i konie trojańskie.
•
PROXY moŜe badać spójność przesłanej informacji.
•
PROXY moŜe eliminować potrzebę routingu w warstwie transportowej między
sieciami.
16
•
PROXY zapewnia pojedynczy punkt dostępu, nadzorowania i rejestracji
zdarzeń.
17
18
Przykładowe systemy FIREWALL -Subnelt Kerio Personal Firewall
funkcja NIPS (Network IPS) czerpie informacje o znanych rodzajach ataków z
bazy danych, dzięki której wykrywa ataki i blokuje je.
HIPS (Host IPS) ma na celu zapobieganie atakom, które są wymierzone w
najsłabsze punkty aplikacji zainstalowanych na komputerze.
trzecia funkcja ochrony systemu pełni dodatkową kontrolę nad zdarzeniami,
takimi jak próby modyfikacji zaufanych programów, czy uruchamianie aplikacji
poprzez inne aplikacje,
ochrona poufnych informacji (np. hasła),
blokowanie programów szpiegujących, koni trojańskich i cookies,
pod systemy MS Windows dla stacji roboczych - program nie działa w systemach
serwerowych).
Realizacja VPN
VPN (Virtual Private Network) jest technologią pozwalającą na łączenie sieci
prywatnych szyfrowanym kanałem przez sieć publiczną (najczęściej INTERNET). Istnieje
wiele sposobów realizacji tej techniki. Aktualnie buduje się sieci VPN oparte na róŜnych
protokołach z najpopularniejszym IPsec. Rozwiązania te wymagają aby bramy pośredniczące
pomiędzy sieciami posiadały zewnętrzne adresy IP. Niestety nie zawsze jest to moŜliwe
dlatego doskonałą alternatywą jest wykorzystanie protokołu ppp oraz szyfrowanego kanału
udostępnianego przez ssh, gdzie wymagane jest istnienie tylko jednego adresu IP.
19
Zasada działania
Aby zbudować VPN w oparciu o ppp-ssh potrzebne są dwie bramy pośredniczące.
Brama klienta nawiązuje połączenie poprzez sesje ssh z bramą serwera dzięki czemu
powstaje szyfrowany kanał pomiędzy sieciami przyłączonymi do routerów. Cały ruch
pomiędzy sieciami przekazywany jest z uŜyciem protokołu ppp skierowanego na kanał ssh.
Rozwiązanie takie pozwala umieścić bramę klienta w dowolnym miejscu sieci
wewnętrznej np. moŜe się ona znajdować za firewallem chroniącym sieć wewnętrzną. Sieci
połączone poprzez VPN posiadają adresy IP z puli wewnętrznej. Jeśli dodatkowo wymagane
jest połączenie komputerów w chronionych sieciach z internetem, naleŜy na bramach
pośredniczących ustawić mechanizm IP-masqurade.
Bezpieczeństwo VPN
Bezpieczeństwo jest bardzo istotne w przypadku VPN. Komputery przeznaczone na
bramy pośredniczące nie powinny udostępniać Ŝadnych innych usług poza ssh. Komputery te
naleŜy bardzo dokładnie zabezpieczyć. Nie powinny to być maszyny udostępniające konta
innym uŜytkownikom. Autentykacja na serwerze VPN powinna odbywać się poprzez
system klucza publicznego. Dlatego naleŜy wyłączyć obsługę haseł. W ten sposób dostęp do
serwera będą mieli tylko posiadacze klucza prywatnego.
Sieci VPN wykorzystują Internet do przekazania ruchu sieci LAN między sieciami
prywatnymi. Pakiety przesyłane w sieci LAN są poddane enkapsulacji w pakietach
protokołu IP. Zaszyfrowane pakiety nie mogą być odczytane przez pośredniczące
komputery znajdujące się w sieci Internet.
Wirtualne sieci prywatne łączące sieci LAN mogą być tworzone przy uŜyciu komputerów
pełniących rolę serwerów, „ścian ogniowych” lub routerów. Systemy oparte wyłącznie o sieci
VPN nie zapewniają odpowiedniej ochrony. Ponadto do ochrony sieci niezbędna jest
„ściana ogniowa” i inne usługi zwiększające bezpieczeństwo stosowane w sieci Internet.
W szczególności naleŜy zwrócić uwagę na problemy bezpieczeństwa protokołu PPTP (ang.
Point-to-Point Tunneling Protocol).
Technologie związane z VPN (Virtual Private Network) dostarczają takich funkcji jak
tunelowanie, uwierzytelnianie oraz szyfrowanie.
20
Trusted VPN, czyli takie, którym moŜna ufać, to sieci, w których klient VPN ufa dostawcy
takiej usługi, Ŝe zarządza on integralnością łączy między oddziałami jego firmy i stosuje
najlepsze sposoby zabezpieczenia ruchu sieciowego przed podsłuchiwaniem i podszywaniem
się. Dostawca VPN, zapewnia klienta, Ŝe nikt oprócz niego nie wykorzystuje tego samego
łącza do komunikacji. Dzięki temu klient moŜe zachować własną adresację IP i własne
polityki bezpieczeństwa.
Secure VPN, czyli bezpieczne, chronione VPN, to sieci zbudowane w oparciu o szyfrowanie
ruchu. Stosują protokoły zapewniające szyfrowanie danych na brzegu sieci lub juŜ w
komputerze wysyłającym dane. Protokoły przenoszone są przez sieć Internet tak jak dane, a
proces odszyfrowania zachodzi w miejscu osiągnięcia sieci korporacyjnej klienta lub w
komputerze docelowym. Ruch szyfrowany działa jak tunel między dwoma sieciami, daje to
taką właściwość, Ŝe, pomimo, Ŝe haker widzi ruch to nie moŜe nic odczytać ani nie moŜe
zmodyfikować ruchu, bo będzie to widoczne przez odbiorcę, a jeśli to zrobi to ruch zostanie
odrzucony przez niego.
Hybrid VPN, czyli mieszane VPN, powstają przez wykorzystanie secure VPN na
działających juŜ trusted VPN. Część chroniona mieszanego VPN moŜe być zarządzana przez
klienta albo przez dostawcę trusted VPN. Czasami cały mieszany VPN moŜe być chroniony
przez bezpieczny VPN, ale częściej tylko część mieszanego VPN jest chroniona.
Technologie bezpiecznych VPN (secure):
a. IPsec z szyfrowaniem (RFC 2401, RFC 2406 do RFC 2409)
b. IPsec wewnątrz L2TP (jak opisanoo w RFC 3193)
c. SSL 3.0 lub TLS z szyfrowaniem (TLS opisano w RFC 2246)
Technologie ufnych VPN (trusted).
Istnieje tu podział na VPN warstwy 2 i VPN warstwy 3:
A. VPN layer 2 (warstwy 2):
Łącza wirtualne ATM
Łącza wirtualne Frame Relay
Transport ramek warstwy 2 przez MPLS (draft-ietf-l2vpn-vpls-ldp-05)
B. VPN layer 3 (warstwy 3):
MPLS z ograniczoną dystrybucją informacji o routingu przez BGP
21
22
Ethereal Network Analyzer:
słuŜy do monitorowania aktywności sieciowej (sniffer),
zbiera informacje o danych, jakie są transmitowane przez sieć lokalną jak i bramę,
pozwala zobaczyć listę połączeń sieciowych zrealizowanych między róŜnymi
protokołami, na określonych portach oraz według MAC-adresów interfejsów
sieciowych ,
monitoruje prędkość przesyłania pakietów, co pozwala kontrolować ciągłość i jakość
połączenia ze zdalnym hostem,
posiada moŜliwość przechwytywania i analizy pakietów danych. Pojedyncze pakiety
dekodowane są aŜ do najniŜszej warstwy,
przeprowadza analizę uŜytych głównych protokołów sieciowych,
prezentuje statystyki w postaci graficznej,
poprzez system filtrowania umoŜliwia odrzucenie niepotrzebnych pakietów,
działa na platformach systemowych Unix, Linux, MS Windows.