Zagrozenia Internetowe


Bezpieczeństwo  Zagrożenia internetowe
Internetowe zagrożenia bezpieczeństwa
Główne zagadnienia wykładu
Przyłączenie sieci do Internetu naraża ją na wiele dodatkowych niebezpieczeństw. Podstawowe typy ataków:
. Ataki korzystające z haseł  są to najchętniej stosowane metody. Polegają na podjęciu próby przeniknięcia do
systemu przez podanie identyfikatora użytkownika i hasła. Są to tzw. ataki słownikowe.
. Węszenie  ataki polegają na przechwytywaniu pakietów wysyłanych podczas logowania, zawierających numery
kart kredytowych, przesyłki pocztowe i inne.
. Ataki korzystające z autoryzowanego dostępu  dotyczą systemów opartych na systemie korzystającym z
mechanizmu autoryzowanego dostępu (UNIX, Windows NT, VMS). Użytkownicy mogą tworzyć pliki zawierające
nazwy zaufanych serwerów (np. .rhosts). Połączenie z systemu zaufanego można uzyskać bez podawania ha-
sła (np. rlogin). Wielu administratorów umieszcza takie pliki w katalogu głównym.
. Ataki poprzez podszywanie się za pomocą protokołu IP  polegają na użyciu adresów IP umieszczanych w
przesyłanych pakietach. Do komputera odbiorcy wysyłane są fałszywe informacje o komputerze nadawcy, które
mają świadczyć, że jest on bezpieczny. Odpowiedzi nie docierają do włamywacza, lecz do komputera pod który
się on podszywa.
. Ataki polegające na nawiązaniu kontaktu z autoryzowanym użytkownikiem  polegają np. na wysłaniu do
użytkownika listu pocztą elektroniczną lub zatelefonowaniu i przedstawieniu się jako administrator sieci. Prosi
on użytkownika o podanie hasła w celu wykonania pewnych czynności administracyjnych.
. Ataki polegające na przewidywaniu numerów sekwencji  to forma podszywania się za pomocą protokołu IP.
Dwa komputery otwierające połączenie uzgadniają parametry transmisji wysyłając pakiet początkowy zawiera-
jący numer sekwencji. Numery te są tworzone na podstawie czasu. Znane są również algorytmy ich tworzenia.
Po zarejestrowaniu w różnych porach dniach kilku numerów, można przewidzieć sekwencję, która umożliwi
otwarcie połączenia.
. Ataki polegające na przechwyceniu sesji  umożliwiają przesyłanie i odbieranie danych z zaatakowanego
systemu. Włamywacz szuka istniejącego już połączenia i węsząc próbuje uzyskać adres użytkownika. Następ-
nie przejmuje sesję. Komputer właściwy jest odcinany.
. Ataki korzystające ze słabych punktów w systemie  to ataki korzystające z autoryzowanego dostępu lub
inne. Wszystkie systemy mają swoje słabe punkty. Np. IIS zatrzymywał się po odebraniu określonego adresu
zawierającego wiele cyfr. Adres ten był inny dla każdego systemu.
. Ataki korzystające ze współużytkowanych bibliotek  polegają na zastępowaniu niektórych funkcji bibliotecz-
nych wykorzystywanych przez system operacyjny i aplikacje.
Klasyfikacja zagrożeń
W literaturze można znalezć próby formalnego sklasyfikowania zagrożeń. Są to tzw. Stopnie Zagrożenia Inter-
netowego (Internet Threat Level - ITL). Większość problemów dotyczących ochrony można zaliczyć do jednej z kategorii:
. zagrożenia lokalne,
. zagrożenia zdalne,
. zagrożenia spoza firewalla
Kategorie te można podzielić dalej na:
. dostęp do odczytu,
. dostęp do zapisu i wykonania użytkownika zwykłego,
. dostęp do zapisu i wykonania użytkownika uprzywilejowanego.
Atak, który polega na odmowie usługi, trudno jest zaliczyć do którejś kategorii i traktowany jest jako klasa 0.
Opracował: Zbigniew Suski 1
Bezpieczeństwo  Zagrożenia internetowe
Klasa Opis
0 Odmowa usługi - użytkownicy nie mają dostępu do zasobów
1 Lokalni użytkownicy mogą uzyskać dostęp do odczytu plików systemu lokalnego
2 Lokalni użytkownicy mogą uzyskać dostęp do zapisu/wykonania plików użytkowników zwykłych
3 Lokalni użytkownicy mogą uzyskać dostęp do zapisu/wykonania plików użytkownika uprzywilejowanego
4 Użytkownicy zdalni z tej samej sieci mogą uzyskać dostęp do odczytu plików systemu lokalnego z wnę-
trza systemu lub poprzez sieć
5 Użytkownicy zdalni z tej samej sieci mogą uzyskać dostęp do zapisu/wykonania plików użytkowników
zwykłych z wnętrza systemu lub poprzez sieć
6 Użytkownicy zdalni z tej samej sieci mogą uzyskać dostęp do zapisu/wykonania plików użytkownika
uprzywilejowanego z wnętrza systemu lub poprzez sieć
7 Użytkownicy zdalni z innej sieci mogą uzyskać dostęp do odczytu plików systemu lokalnego z wnętrza
systemu lub poprzez sieć
8 Użytkownicy zdalni z innej sieci mogą uzyskać dostęp do zapisu/wykonania plików użytkowników zwy-
kłych z wnętrza systemu lub poprzez sieć
9 Użytkownicy zdalni z innej sieci mogą uzyskać dostęp do zapisu/wykonania plików użytkownika uprzy-
wilejowanego z wnętrza systemu lub poprzez sieć
Poziom zagrożenia powinien być oceniany na podstawie kilku czynników:
. zadań systemu,
. tajności danych w systemie,
. wagi integralności danych,
. wagi nieprzerwanego dostępu,
. rodzaju użytkowników,
. relacji pomiędzy systemem ocenianym a innymi systemami (zaufanie, eksport plików).
Najczęściej wykorzystywane fazy ataku
1. Zdobycie konta: poprzez uzyskanie pliku z hasłami lub sniffing.
2. Zdobycie przywilejów administratora: polega na wykorzystaniu nieszczelności takich jak skrypty SUID, nieograni-
czony dostęp do NFS (odczyt i zapis), serwer NIS.
3. Rozszerzenie dostępu: czyli atak na inne komputery sieci. Są to modyfikacje demonów, instalowanie snifferów,
podszywanie się.
Sniffing
Sniffing czyli wąchanie jest zagrożeniem biernym. Polega na odczytywaniu danych przez węzeł, dla którego nie
były one przeznaczone. Możliwość taka jest dostępna w wielu urządzeniach (np. analizator sieci). Urządzenia wykorzy-
stujące sniffing są pożyteczne i konieczne. Mogą być jednak wykorzystywane w złych zamiarach. Np. do przechwytywa-
nia haseł, odczytywania poczty, odczytywania przesyłanych rekordów baz danych.
Wszystkie interfejsy sieciowe w segmencie sieci mają dostęp do wszystkich transmitowanych w nich danych.
Każdy interfejs powinien mieć inny adres. Istnieje też przynajmniej jeden adres rozgłoszeniowy (broadcast) odpowiadają-
cy wszystkim interfejsom. Normalnie, interfejs reaguje tylko na pakiety, które w polu adresowym mają jego adres, lub
adres rozgłoszeniowy.
Sniffer przełącza interfejs w tryb podsłuchu, dzięki czemu interfejs może analizować każdy pakiet w danym seg-
mencie sieci. Jest to bardzo przydatne narzędzie w rękach administratora, służące do ustalania przyczyn nieprawidłowe-
go działania sieci. Można ustalić udział poszczególnych protokołów w ruchu sieciowym, udział poszczególnych hostów w
generowaniu i odbieraniu pakietów.
Oprogramowanie umożliwiające sniffing jest w tej chwili łatwo dostępne w Internecie. Oznacza to, że mogą z
niego korzystać również potencjalni intruzi. Sniffing danych z sieci prowadzi do utraty tajności pewnych informacji, które
powinny zostać tajne. Są to m.in.:
f& Hasła.
f& Numery kont finansowych (np. kart kredytowych).
f& Dane prywatne (np. zawarte w poczcie elektronicznej).
f& Informacje protokołów niskiego poziomu.
Walka ze sniffingiem polega na właściwej segmentacji sieci. W idealnej sytuacji każdy komputer powinien należeć do
osobnego segmentu. Ideał też można osiągnąć poprzez stosowanie przełączników zamiast koncentratorów.
Inne rozwiązanie polega na wykorzystaniu pojęcia zaufania pomiędzy komputerami. Komputery ufające sobie
mogą znajdować się w tym samym segmencie. Wykorzystuje się zabezpieczenia systemu operacyjnego oraz wiarygod-
Opracował: Zbigniew Suski 2
Bezpieczeństwo  Zagrożenia internetowe
ność osób mających dostęp do pomieszczeń i komputerów. Zaufanie, to nie tylko kwestia etyki ale również umiejętności
administratora i użytkownika.
Aby stworzyć segmenty godne zaufania, należy ustawić bariery pomiędzy segmentami bezpiecznymi i niezabez-
pieczonymi gdyż niektóre segmenty pozostaną niezabezpieczone.
W charakterze bariery można wykorzystać mosty (bridge). Relacja zaufania może być jedno lub dwukierunkowa
(wzajemna). W przypadku jednokierunkowej, komputery mniej bezpieczne ufają bardziej bezpiecznym lecz nie odwrotnie.
Zabezpieczenie przed sniffingiem poprzez instalowanie barier sprzętowych należy uznać za ostatnią linię obrony.
Pierwszą linia obrony jest unikanie transmisji jakichkolwiek cennych danych. Dotyczy to zwłaszcza haseł. Bariery mogą
ograniczać włamania do systemów lokalnych. Jeżeli użytkownicy mogą pracować zdalnie, to informacja może zostać
przechwycona poza siecią lokalną. Wobec tego jednym z radykalnych rozwiązań jest zakaz dostępu zdalnego.
Jednym ze środków ochrony haseł jest protokół rlogin. Pierwotnie był stosowany przy nawiązywaniu połączeń
terminalowych w systemie Unix. Protokół wymaga aby serwer zaufał klientowi co do weryfikacji użytkownika. Na serwerze
umieszczany jest plik (.rhosts), wskazujący jacy użytkownicy (również z jakich komputerów) mogą połączyć się z okre-
ślonym kontem. Użytkownik wykorzystując rlogin może wejść do systemu bez podawania jakichkolwiek danych. Musi on
ufać, że serwer jest wystarczająco bezpieczny i że nikt nie będzie mógł w sposób nieuprawniony zmienić pliku rhosts.
Nie powinno być również możliwe odczytanie tego pliku, gdyż mogłoby to spowodować atak pośredni poprzez komputer,
z którego jest możliwe połączenie rlogin.
Kolejnym plikiem związanym z rodziną protokołów rlogin (protokół rlogin jest wykorzystywany przez całą rodzinę
tzw. r-poleceń (rsh,rcp,)) jest plik ekwiwalencji hostów /etc/hosts.equiv. Każdy użytkownik komputera wymienionego w
tym pliku może łączyć się bez podania hasła z kontem o tym samym identyfikatorze na komputerze, na którym znajduje
się plik. Jest to wygodny mechanizm, gdyż unika się w ten sposób konieczności tworzenia plików rhosts. Otwiera to jed-
nak drogę do włamań przez spoofing ARP i spoofing nazw systemów. Zaleca się wobec tego nie tworzenie takich plików.
W tej chwili korzystanie z r-poleceń nie jest uważane za bezpieczne.
Segment
ufający zaufany
niezabezpieczony
Segment
jednostronnego
zaufania
Segment
bezpieczny
Segment Segment
obustronnego obustronnego
zaufania zaufania
Relacje zaufania i podział na segmenty
Spoofing
Spoofing czyli podszywanie się pod inny komputer może być realizowane w każdej warstwie protokołów. Według
standardu IEEE 802 (odmianą tego standardu jest Ethernet), każdy interfejs sieciowy posiada 48 bitowy numer identyfi-
kacyjny. Pakiety trafiające z systemu operacyjnego do interfejsu (w celu ich wysłania) zwykle nie są zaopatrzone w adres
zródłowy. Jest on dodawany na poziomie interfejsu. Większość oprogramowania nie kontroluje adresu w ramkach wy-
chodzących. Większość kart sieciowych jest konfigurowalnych i pozwala zmienić adres karty. W ten sposób pakiety
opuszczające interfejs sieciowy będą miały fałszywy identyfikator.
Opracował: Zbigniew Suski 3
Bezpieczeństwo  Zagrożenia internetowe
Jedną z metod obrony jest używanie podpisów cyfrowych w warstwie aplikacji. Możliwe jest również zastosowa-
nie inteligentnych hubów (switch lub bridge), które można skonfigurować w ten sposób aby przyjmowały i wysyłały pakiety
tylko z określonymi dla każdego portu adresami.
Spoofing ARP
ARP (Address Resolution Protocol) jest elementem odpowiedzialnym za konwersję adresu IP na adres sprzętowy. Gdy
datagram IP jest gotowy do wysłania, host musi dowiedzieć się, jaki jest adres sprzętowy skojarzony z docelowym adre-
sem IP. Dla pakietów wysyłanych wewnątrz sieci lokalnej, będzie to adres interfejsu docelowego. Dla pakietów skierowa-
nych na zewnątrz, będzie to adres jednego z routerów.
Aby zdobyć poszukiwany adres sprzętowy, host wysyła zapytanie ARP używając broadcastu. Pytanie brzmi: Jaki
jest adres sprzętowy skojarzony z podanym adresem IP ?. Powinien odpowiedzieć co najwyżej jeden host z sieci lokal-
nej. Pytanie zawiera adres IP nadawcy. Wszyscy, do których pytanie dotrze, mogą zapisać skojarzenie adresu IP i adresu
sprzętowego nadawcy pytania. Zrobi to na pewno wywołany host gdyż musi odpowiedzieć na pytanie. Pary adres sprzętowy> zapisywane są w buforze ARP. Ulegają one przeterminowaniu po kilku minutach. Po przeterminowaniu
wysyłane jest pytanie odświeżające zapis ARP. Jeżeli odpowiedz nie nadejdzie, to zapis jest usuwany z bufora. Jeżeli
przed usunięciem zapisu z bufora stary komputer zostanie wyłączony i pojawi się nowy z tym samym adresem IP i innym
adresem sprzętowym, to odpowie on na pytanie odświeżające i nastąpi modyfikacja w buforach nadawcy pytania.
Gdy dwa komputery maja ten sam adres IP, to oba odpowiedzą na zapytanie dotyczące tego adresu. Niektóre
systemy operacyjne mogą zignorować drugi komunikat, inne nadpiszą pierwszy zawartością drugiego. Systemy nie mu-
szą sprawdzać, czy powtórzony komunikat pochodzi z tego samego zródła, czy jest próbą spoofingu. Włamywacz może
spowodować wyłączenie zasilania komputera pod który chce się podszyć i wejść w ten sposób w jego miejsce.
Istotą spoofingu jest to, że jest on skierowany przeciwko komputerowi oszukiwanemu, a nie temu, którego adres
IP został przejęty. W parze tej komputer oszukiwany jest elementem ufającym a ten, którego adres przejęto - zaufanym.
Wynika z tego, że maszyny ufające nie powinny korzystać z ARP do wykrywania adresów sprzętowych komputerów za-
ufanych. Zamiast tego zapis taki powinien być wprowadzony do bufora ARP jako tzw. zapis permanentny, który nie ulega
przeterminowaniu tak szybko. Nie będą wysyłane pytania ARP. Ewentualne odpowiedzi, które nie były poprzedzone py-
taniem nie są obsługiwane.
Wadą zapisów permanentnych jest możliwość wysyłania pakietów do niedziałających komputerów. Wadą jest
również konieczność zmian adresów sprzętowych w przypadku zmiany konfiguracji. Bufory ARP maja ograniczoną po-
jemność, co limituje liczbę zapisów permanentnych lub ogranicza czas ważności zapisów dynamicznych.
W systemach Unix, Windows 95/NT dostępne jest polecenie arp umożliwiające:
f& wyświetlanie zapisów znajdujących się w buforze,
f& usuwanie zapisów z bufora,
f& wstawianie pojedynczych zapisów,
f& wstawianie grupy zapisów z pliku (niedostępna w Windows).
Zagrożenie spoofingu pomiędzy podsieciami IP jest usuwane przez zastosowanie barier sprzętowych w postaci routerów
z permanentnymi zapisami ARP. Jeżeli komputery zaufane pracują w podsieci narażonej na spoofing ARP, to dzięki za-
pisom permanentnym routery nie zostaną oszukane. Należy jeszcze zadbać aby komputery zaufane były chronione
przed spooferem ARP udającym router. Routery są jednak zwykle dobrze zabezpieczone i nie przerywają pracy.
Jeżeli nie istnieje możliwość wprowadzenia bariery sprzętowej, to zostaje szybkie wykrywanie spoofingu i na-
tychmiastowa interwencja. Należy opracować procedury postępowania w takich przypadkach gdyż wykryta nieprawidło-
wość może być zamierzona, przypadkowa, lub być naruszeniem bezpieczeństwa.
Wykrywanie spoofingu ARP
Pasywna detekcja na poziomie hosta
Komputer odpowiadający na pakiet ARP powinien badać nie tylko adres odbiorcy ale i adres IP nadawcy. Jeżeli
stwierdzi, że to jest jego adres, to oznacza, że inny komputer podszywa się pod niego. Takiej kontroli dokonuje
większość systemów.
Aktywna detekcja na poziomie hosta
Hosty powinny wysyłać pytania ARP ich własnych adresów przy starcie systemu jak i regularnie pózniej. Jeżeli
odpowiedz ARP nadejdzie, to oznacza to wykrycie spoofingu.
Detekcja na poziomie serwera
Polega na weryfikacji pytania ARP przez pytanie RARP dotyczące adresu sprzętowego zawartego w odpowiedzi.
Pytanie RARP brzmi: Jaki jest adres IP skojarzony z podanym adresem sprzętowym ?.Protokół RARP jest nor-
malnie używany przez stacje bezdyskowe, które podczas startu muszą sprawdzić swój adres IP. Metoda pytania
odwrotnego jest bardzo skuteczna również w wielu innych sytuacjach.
Detekcja na poziomie sieci przez okresowe kontrole
Okresowe kontrole powinny dotyczyć zawartości buforów ARP. Można wtedy wykryć w nich zmiany adresów. Za-
daniem personelu administracyjnego powinno być bieżące utrzymywanie bazy danych z adresami sprzętowymi,
adresami IP, nazwami DNS itp. Bazy takie mogą być podstawą okresowo przeprowadzanych automatycznych
Opracował: Zbigniew Suski 4
Bezpieczeństwo  Zagrożenia internetowe
kontroli. Można wykorzystać protokół SNMP. W SNMP każdy komputer korzystający z IP ma agenta SNMP od-
powiadającego na żądania dotyczące informacji i konfiguracji. W niektórych standardach SNMP dostępne są ta-
bele opisujące adresy sprzętowe i IP.
Detekcja na poziomie sieci przez ciągłe monitorowanie
Interfejs sieciowy można przełączyć w tryb ogólny, dzięki któremu możliwe jest ciągłe analizowanie każdego pa-
kietu w sieci. Można wtedy dodatkowo realizować analizę ruchu w sieci i opracowywać odpowiednie statystyki.
Do przeprowadzenia takiego niskopoziomowego monitoringu sieci stworzono agentów SNMP z obsługą protokołu
RMON.
Omówienie systemu routingu
Spoofing routingu IP
Decyzja dotycząca routingu, to odpowiedz na pytanie: Dokąd wysłać datagram o danym adresie IP? Jeżeli adres
docelowy zgadza się z adresem sieci podłączonej do jednego z interfejsów, wtedy datagram jest skierowywany bezpo-
średnio pod adres docelowy. W innym przypadku wybierany jest router, który przekaże datagram dalej.
Spoofing routingu polega na skłanianiu komputerów do przesyłania datagramów w miejsca inne niż te, do których
powinny trafić. Może to doprowadzić do odmowy usługi. Maszyna, do której są kierowane pakiety nie odpowiada. Może
zostać przechwycony wszelki ruch pomiędzy sieciami. W trakcie tego działania można prowadzić filtrowanie ruchu,
wprowadzać modyfikacje, tworzyć wrażenie poprawnego funkcjonowania sieci.
Jeżeli w sieci dostępnych jest kilka routerów (w tym domyślny) to może się zdarzyć, że ten do którego dotrze da-
tagram uzna, że inny będzie bardziej właściwy, to przesyła do niego datagram, a do komputera zródłowego wysyła ko-
munikat ICMP (Internet Control Message Protocol) informujący o zmianie kierunku. Komunikat ten mówi: datagramy do
sieci A.B.C.D lepiej jest przesyłąć poprzez router W.X.Y.Z. Komputer, który otrzyma ten komunikat powinien uaktualnić
swoje tablice routingu. Datagram nie jest gubiony i nie jest potrzebne jego powtórne wysłanie, gdyż już to zrobił router.
Jeżeli komputer ignoruje komunikaty ICMP, to pakiety będą dostarczane mniej efektywnie. Jest to jednak metoda
uniknięcia najprostszej techniki spoofingu routingu  wysyłaniu komunikatów ICMP o zmianie kierunku. Wiele systemów
nie sprawdza ważności tych komunikatów. Powinno przynajmniej nastąpić sprawdzenie, czy komunikaty takie pochodzą z
jednego ze znanych routerów.
Można się również zabezpieczać poprzez sprawdzenie czy bufory ARP hostów mają zapisy permanentne doty-
czące adresów autoryzowanych routerów. Zapobiega to spoofingowi ARP, w których jeden z komputerów mógłby uda-
wać router. Mógłby on wtedy przechwytywać wszelki ruch wychodzący z sieci.
Spoofing routingu opartego na RIP
Jeśli komputer jest pasywnym uczestnikiem protokołu RIP to nasłuchuje komunikatów ogólnych RIP i korzysta z
nich do uaktualniania swoich tablic routingu. Można wtedy przeprowadzić spoofing poprzez rozgłaszanie fałszywych in-
formacji przez port 520 protokołu UDP. Szczególnie grozna sytuacja ma miejsce gdy pasywnymi uczestnikami są routery.
Powoduje to szybkie rozgłoszenie fałszywych informacji po całej sieci.
Wynika z tego, że należałoby zastosować jedną z opcji:
" zaprzestać używania pasywnego protokołu RIP na routerach,
" bardzo ostrożnie używać pasywnego protokołu RIP na routerach.
Aby zachować bezpieczeństwo, pasywny uczestnik RIP powinien brać pod uwagę tylko informacje z zaufanych zródeł.
Demon routed jest przesadnie ufny. Alternatywny GateD pochodzący z Uniwersytetu Carnegie-Mellon podczas startu
sprawdza plik konfiguracyjny zawierający m.in. adresy zaufanych zródeł informacji RIP. Jest on dostępny w Internecie.
Korzystanie z takiego demona jest lepszym rozwiązaniem niż zaniechanie pasywnego korzystania z RIP.
Omówienie DNS
Spoofing nazw DNS
Tak jak w czasie może zmieniać się przypisanie adresów sprzętowych do adresów IP, tak może się również
zmieniać przypisanie nazw do adresów. B buforze ARP będzie najprawdopodobniej odnotowany serwer DNS. Czyli
mógłby się pod niego podszyć spoofer ARP.
Opracował: Zbigniew Suski 5
Bezpieczeństwo  Zagrożenia internetowe
Jeżeli serwer nazw zostanie przechwycony podczas ataku i będzie pod kontrolą włamywacza, to będzie udzielał
autorytatywnych informacji na temat pewnych domen. Odpowiedzi te mogą nakłaniać klientów do połączenia z innymi
serwerami będącymi pod kontrolą włamywacza. Sfałszowane tłumaczenie odwrotne może oszukać serwer próbujący
sprawdzić, czy adres przyszłego klienta zgadza się z autoryzowaną nazwą.
Próba obrony powinna polegać na sprawdzeniu wszystkich odpowiedzi na pytania odwrotne za pomocą pytań
prostych. Tego typu testy stały się standardem w systemach TCP wrappers. Testy takie mogą być skuteczne jeżeli wła-
mywacz zmienił pliki związane z pytaniami odwrotnymi a nie zmienił plików związanych z pytaniami prostymi. Ponadto
pliki takie mogą być przechowywane na różnych serwerach i może się zdarzyć, że tylko jeden z nich zostanie przechwy-
cony.
Kolejna metoda polega na dokonywaniu pytań iteracyjnych zamiast rekursywnych. Gdy serwer nazw udziela od-
powiedzi nieautorytatywnej na pytanie iteracyjne, to odpowiada nazwą serwera, który prawdopodobnie zna odpowiedz
autorytatywną. Przechwycony serwer nazw może skierować pytanie do innego serwera pod kontrolą włamywacza lub
stwierdzić, że sam jest autorytatywny. test na autorytatywność powinien wykryć atak.
Test na autorytatywność wymaga skierowania pytania do serwera nazw poziomu głównego i zacząć poszukiwa-
nia od góry, schodząc stopniowo coraz niżej. Jest to procedura pracochłonna i nie pomaga gdy przechwycony został
serwer autorytatywny. Ponieważ standardy DNS wymagają aby dane dotyczące każdej z domen były powielone na kom-
puterach nie znajdujących się w tej samej sieci ani nie pobierających energii z tego samego zródła (tzw. wspólny punkt
awarii), więc nie wydaje się prawdopodobne przechwycenie wszystkich autorytatywnych serwerów DNS danej domeny.
Ponieważ jednak jeden z serwerów pełni rolę podstawowego (primary) więc jego przechwycenie spowoduje, że po pew-
nym czasie błędne dane będą znajdowały się na wszystkich serwerach autorytatywnych danej domeny. Problemem jest
również możliwość umieszczania fałszywych danych w buforze cache i pozostawanie ich tam przez długi okres czasu.
Powoduje to również podawanie błędnych odpowiedzi.
Najlepszym rozwiązaniem jest nie używanie DNS i korzystanie z tablic statycznych. W niektórych systemach
dostępne są API do tłumaczenia nazw na adresy i odwrotnie. Ich implementacje często korzystają z danych lokalnych,
odwołując się do DNS tylko w przypadku braku informacji w zródłach lokalnych.
Ograniczenie ryzyka jest również możliwe poprzez zastosowanie lokalnych serwerów nazw. Jeżeli jednak są one
skonfigurowane tak aby przy obrabianiu pytań rekursywnych zwracać się do głównego serwera nazw, to spoofing jest
nadal możliwy. Podobnie będzie jeżeli będzie on nakazywał klientom zwracanie się po informacje do serwera głównego
odnośnie których nie jest on autorytatywny.
Dokument RFC 1788 proponuje rozwiązanie polegające na wykorzystaniu ICMP. Komputery powinny odpowia-
dać na komunikat ICMP proszący o zbiór nazw odpowiadających podanemu adresowi IP. Potem można przeprowadzić
weryfikacje poprzez proste pytania DNS.
Spoofing połączeń TCP
Połączenie TCP
Klient wysyła komunikat z flagą SYN. Pole to służy do synchronizacji liczb porządkowych. Każdemu wysyłanemu
bajtowi przypisana jest liczba porządkowa. Liczba ta umieszczana jest w nagłówku komunikatu. Na początku połączenia
jest ona losowana. Serwer odpowiada nagłówkiem z ustawionymi flagami SYN i ACK. W ten sposób serwer wysyła swoją
liczbę informując jednocześnie o odebraniu liczby klienta. Klient musi odpowiedzieć nagłówkiem z flagą ACK.
Podczas wymiany informacji jedna strona wysyła datagramy a druga je co pewien czas potwierdza (ACK). Pod-
czas nawiązywania połączenia strony informują się również o ilości miejsca w buforach odbiorczych. W nagłówku każde-
go datagramu w polu window umieszczana jest liczba informująca nadawcę ile bajtów może wysłać przed wypełnieniem
bufora. Potwierdzenie zawiera najniższy numer oczekiwanego bajtu. Numer ten dodany do zawartości pola window sta-
nowi najwyższą liczbę porządkową bajtu, który może być umieszczony w buforze.
Gdy datagram przybywa za wcześnie, to zostanie umieszczony w buforze, lecz nie zostanie potwierdzony. Gdy
nadejdzie spodziewany datagram, odbiorca będzie mógł potwierdzić oba.
Fałszowanie datagramu TCP
Włamywacz musi ocenić liczbę porządkową, która zostanie przypisana do następnego bajtu wysyłanego przez
prawdziwego nadawcę. Jeżeli zrobi to dokładnie i jego datagram przybędzie po prawdziwym, to odbiorca może go w ca-
łości odrzucić jeżeli zawiera mniej danych niż prawdziwy. Jeżeli zawiera więcej , to odbiorca odrzuci jedynie ich początek.
Jeżeli najpierw przybędzie fałszywy, to odrzucany będzie prawdziwy. Jeżeli odgadnięta liczba jest za niska, to w buforze
nie zostanie umieszczona początkowa część datagramu. Jeżeli datagram jest wystarczająco długi, to część końcowa
może znalezć się w buforze. Jeżeli odgadnięta liczba jest za wysoka, to datagram zostanie uznany za przedwczesny
i umieszczony w buforze. Jeżeli bajty końcowe nie zmieszczą się w oknie (window), to zostaną odrzucone. pózniej nadej-
dzie prawdziwy datagram i wypełni lukę w buforze. W ten sposób datagram sfałszowany może zostać odebrany w cało-
ści.
Jedną z metod oceny liczby porządkowej jest sniffing połączenia między klientem i serwerem. Wykrywanie jest
możliwe na routerach poprzez sprawdzanie adresu nadawcy.
Fałszerstwo może polegać na umieszczeniu w ciągu danych sekwencji znaków odpowiadających poleceniu po-
dawanemu w linii komend (np. rm -r *). Jest to szczególnie grozne na początku sesji, gdy w miarę łatwo jest ocenić ilość
już przesłanych znaków, a liczbę początkową można przechwycić w fazie ustanawiania połączenia.
Opracował: Zbigniew Suski 6
Bezpieczeństwo  Zagrożenia internetowe
Regułą powinno być szybkie zamykanie nieużywanych sesji. A niestety częstą praktyką jest automatyczne otwie-
ranie kilku sesji podczas uruchamiania komputera (np. w systemie X Window).
Literatura:
1) V. Ahuja. Network & Internet Security. Academic Press, Inc, 1996. (tłum. MIKOM 1997).
2) D. Atkins i inni. Internet Security. Professional Reference. New Riders Publishing, 1997 (tłum. LT&P 1997).
3) S. Garfinkel, G. Spafford. Practical Unix and Internet Security, O Reilly&Associates Inc. 1996. (tłum. RM 1997).
4) L. Klander. Hacker Proof. Jamsa Press, 1997. (tłum. MIKOM 1998).
5) P. Mockapetris. Domain Names  Concepts and Facilities. RFC 1034, Nov 1987
6) P. Mockapetris. Domain Names  Implementation and Specification. RFC 1035, Nov 1987.
7) W. Simpson. ICMP Domain Nme Messages. RFC 1788, Apr 1995.
8) S. Waldbusser. Remote Network Monitoring Management Information Base. RFC 1271, Nov 1991.
Opracował: Zbigniew Suski 7


Wyszukiwarka

Podobne podstrony:
zagrożenie w Internecie 2009
zagrozenia w internecie dla dzieci i mlodziezy
Zagrożenia w internecie
Zagrozenia w internecie Chron swoje dziecko zagint
II Zagrozenia Internetu
internet uzytkownicy?riery i zagrozenia
CBOS młodzież i Internet korzystanie i zagrożenia
zagrozenia dzieci w internecie
zagrozenia wobec dzieci w internecie
Dziecko w Internecie – zagrożenia i ochrona
Pornografia największe internetowe zagrożenie dzieci
Korzyści i zagrożenia płynące z Internetu
Wlodarczyk J 13 Zagrozenia zwiazane z korzystaniem z internetu

więcej podobnych podstron