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.