Akademia Górniczo-Hutnicza
im. S. Staszica w Krakowie
Bezpieczeństwo systemów informacyjnych
Temat: Badanie ruchu w sieci
Data wykonania ćwiczenia: 16.04.2012 Prowadzący: Marcin Niemiec
Wydział: EAIiE Kierunek: Elektronika i Telekomunikacja
Rok: IV Semestr: letni Grupa: Poniedziałek 15:30
Wykonali: Aukasz Gałuszka, Janusz Gil, Grzegorz Kisała, Arkadiusz Prochwicz,
Marcin Rupiński, Jan Tobijasiewicz
Badanie ruchu w sieci 2 | S t r o n a
Celem laboratorium było badanie ruchu w sieci przy pomocy programu Wireshark
(sniffer), jest to program służący do analizy ruchu sieciowego. Wspólną cechą wielu takich
analizatorów jest przełączenie karty sieciowej w tryb mieszany (ang. promiscuous), w którym
urządzenie odbiera wszystkie ramki z sieci, także te nie adresowane bezpośrednio do niego.
Mimo tego, iż sniffer stanowi zwykle nieodzowne narzędzie diagnostyczne administratora
sieci, to może być on również wykorzystywany do monitorowania aktywności sieciowej
przez nieuprawnione osoby, co jest niezgodne z prawem. Sniffery umożliwiają bowiem
atakującym nie tylko przechwycenie i analizę pakietów sieciowych ale również ich
dekodowanie zgodnie z odpowiednimi RFC (ang. Request For Comments) protokołów.
3. Analizowanie ruchu sieciowego.
W programie Wireshark został otwarty i przeanalizowany plik 123.txt będący zapisem
aktywności pewnego użytkownika (zakres czasu 11:22:12 11:27:52, długość obserwacji 5
minut 46 sekund).
Z powyższego obrazka możemy odczytać między innymi ilość przechwyconych pakietów
(31009), średnią prędkość transmisji 0,509 Mbit/sec. W programie Wireshark możemy także
sprawdzić jak wyglądała aktywność użytkownika w poszczególnych momentach czasowych,
jakie protokoły uczestniczyły w transmisji, możemy sprawdzić jaki ruch sieciowy generował
pewien użytkownik. Dowiedzieliśmy się, że dany użytkownik łączył się między innymi z
serwisami wikipedia, onet, nk.pl, wp.
Badanie ruchu w sieci 3 | S t r o n a
Na poniższym rysunku jest przedstawiona ilość wysyłanych pakietów w odpowiednich
momentach czasowych. Możemy zauważyć, że ruch charakteryzuje się dużą zmiennością.
Z informacji zawartych w pliku tekstowym odczytano informacje o różnych protokołach i
usługach, takich jak: IP, TCP, UDP, ARP, HTTP, NFS, TLSv1 (Transport Layer Security),
SSL, SSDP (Simple Service Discovery Protocol), STP, czy MDNS.
Na poniższym rysunku przedstawiono udział poszczególnych protokołów w generowanym
ruchu.
Zdecydowana większość ruchu przenoszona była za pomocą protokołu TCP (transportowy,
połączeniowy, niezawodny) w tym około 6,06% związana była z protokołem HTTP, a około
3,63% z protokołem SSL. 7,88% całego ruchu było związanego z ARP w sieci lokalnej.
Do ruchu obcego (niepożądanego) możemy zaliczyć działanie protokołów IPv6 (nie był on
używany), Logical-Link Control (ruch pochodził od przełącznika Cisco i związany był z
protokołem drzewa rozpinającego Spanning-Tree Protocol). Jednak dla tych dwóch
protokołów generowany ruch był mały i nie wpływał na działanie sieci.
Badanie ruchu w sieci 4 | S t r o n a
Analizując ruch udało nam się dwukrotnie przechwycić dane logowania użytkownika wraz z
jego hasłem.
W 281 sekundzie:
wpName=jurek&wpPassword=jurek12345&wpCentralLogin=1&wpLoginAttempt=Zaloguj+si%C4%99&
wpLoginToken=1797a8bccae840ab8965188bae1d451d
Podsłuchane parametry:
login: jurek, hasło: jurek12345
W 291 sekundzie:
wpName=jurek&wpPassword=12345jurek&wpCentralLogin=1&wpLoginAttempt=Zaloguj+si%C4%99&
wpLoginToken=1797a8bccae840ab8965188bae1d451d
login: jurek, hasło: 12345jurek
4. Analiza pliku 24h.cap
Plik stanowi zapis ruchu w sieci, do której podłączona była stacja robocza z
zainstalowanym systemem Windows XP. Na stacji nie wykonywano aktywnych czynności
tzn. nie uruchamiano żadnych programów, ani nie łączono się z siecią. Pomimo tego program
Wireshark zarejestrował znaczny generowany ruch. Podczas nasłuchu zostały wykryte
poniższe protokoły oraz usługi:
IP (Internet Protocol) protokół komunikacyjny warstwy sieciowej modelu OSI. Dane w
sieciach IP są wysyłane w formie pakietów. Protokół IP nie gwarantuje, że pakiety dotrą do
adresata, nie zostaną pofragmentowane, czy też zdublowane, a ponadto mogą dotrzeć do
odbiorcy w innej kolejności niż zostały nadane. Niezawodność transmisji danych jest
zapewniana przez protokoły warstw wyższych (np. TCP), znajdujących się w hierarchii
powyżej warstwy sieciowej.
TCP (Transmission Control Protocol) połączeniowy, niezawodny, strumieniowy protokół
komunikacyjny wykorzystywany do przesyłania danych pomiędzy procesami uruchomionymi
na różnych maszynach, korzysta z usług protokołu IP do wysyłania i odbierania danych oraz
ich fragmentacji.
UDP- (User datagram protocol) Jest to protokół bezpołączeniowy, nie dysponuje
Badanie ruchu w sieci 5 | S t r o n a
mechanizmami kontroli przepływu i retransmisji. Korzyścią płynącą z takiego uproszczenia
budowy jest większa szybkość transmisji danych .
ARP- (Address Resolution Protocol) - protokół sieciowy umożliwiający konwersję
logicznych adresów warstwy sieciowej na fizyczne adresy warstwy łącza danych. Protokół
ARP opisuje także zachowanie systemu operacyjnego, który zarządza tzw. tablicą ARP.
Znajdują się w niej pary: adres warstwy sieciowej i przypisany do niego adres fizyczny.
Zapobiega to wysyłaniu zapytania ARP przy próbie wysłania każdego pakietu do hosta
znajdującego się w tej samej sieci
HTTP- (Hypertext Transfer Protocol) protokół przesyłania dokumentów hipertekstowych)
DHCP - (Dynamic Host Configuration Protocol) protokół dynamicznego konfigurowania
węzłów, umożliwia komputerom uzyskanie od serwera danych konfiguracyjnych, np. adresu
IP hosta, adresu IP bramy sieciowej, adresu serwera DNS, maski podsieci.
MDNS (Multicast DNS) pozwala klientom określać adres IP hosta bez pomocy centralnego
serwera DNS.
ICMP(v6) (Internet Control Message Protocol Version 6) internetowy protokół
komunikatów kontrolnych warstwy sieciowej OSI/TCP/IP wykorzystywany w diagnostyce
sieci oraz trasowaniu. Pełni przede wszystkim funkcję kontroli transmisji w sieci. Jest
wykorzystywany w programach np. ping oraz traceroute.
DNS (Domain Name System) - usługa zapewniająca zamianę adresów znanych na adresy
zrozumiałe dla urządzeń tworzących sieć komputerową.
NBNS - Dostarcza usług podobnych do DNS, jest jednak w większym stopniu ograniczony,
nie wspiera standardu IPv6
TLSv1 (Transport Layer Security) stanowi rozwinięcie protokołu SSL (ang. Secure Socket
Layer), zaprojektowanego pierwotnie przez Netscape Communications. TLS zapewnia
poufność i integralność transmisji danych, a także uwierzytelnienie serwera, (czasami
również klienta). Opiera się na szyfrowaniu asymetrycznym.
Posługując się opcjami statystyk w programie Wireshark znaleziono procentowy
udział poszczególnych protokołów w generowanym ruchu:
UDP 59,8%
TCP 37,15%
ARP 2,7%
IGMP 0,6%
ICMP 0,6%
ICMPv6 0,17%
Jak wynika z zestawienia dominującą rolę odgrywają pakiety bezpołączeniowego
protokołu UDP, można stąd wnioskować że ważniejsza jest dla nas wypadkowa
przepustowość niż pewność otrzymania poprawnej informacji, w razie problemu wiadomość
może być retransmitowana przez wyższe warstwy sieci.
Badanie ruchu w sieci 6 | S t r o n a
Następnie dokonano analizy statystyki długości pakietów. Blisko połowa posiada
długość zawierającą sie w przedziale 40-79 B, co stanowi około 53,76% wszystkich
pakietów:
Następną grupę stanowią pakiety o długości 160-319B (37,69%). Udział pakietów o
większej długości jest znikomy, na tej podstawie można wysunąć wniosek że są to głównie
pakiety kontrolno-sterujące, które nie przenoszą dużych ilości danych.
Przy użyciu narzędzi programu (Statistics) znaleziono również adresy IP z którymi
stacja najczęściej się komunikowała.
Przykładowe adresy IP:
82.143.33.4
84.195.184.48
83.89.83.30
80.57.105.34
Badanie ruchu w sieci 7 | S t r o n a
Kolejnym krokiem była próba uzyskania informacji na temat serwerów z którymi
stacja najczęściej prowadziła komunikację. Przy użyciu narzędzia dostępnego na stronie:
http://www.ip-adress.com/ip_tracer/ starano się uzyskać najważniejsze szczegóły na temat
tych komputerów.
Jak się okazało znaczna część serwerów znajdowała się za granicą(Europa Środkowa
oraz Południowa) np.
Przykładowe uzyskane dane:
IP address [?]: 81.202.138.187 [Whois] [Reverse IP]
IP country code: ES
IP address country: Spain
IP address state: Comunidad Valenciana
IP address city: Valencia
IP address latitude: 39.4667
IP address longitude: -0.3667
ISP of this IP [?]: ONO
Organization: ONO
Host of this IP: [?]: 81.202.138.187.dyn.user.ono.com[Whois] [Trace]
IP address [?]: 82.143.33.4 [Whois] [Reverse IP
IP country code: IT
IP address country: Italy
IP address state: n/a
IP address city: n/a
IP address latitude: 42.8333
IP address longitude: 12.8333
ISP of this IP [?]: TopneT Telecomunicazioni s.r.l.
Organization: Picchio in Rete srl
Badanie ruchu w sieci 8 | S t r o n a
W większości przypadków można zaklasyfikować wykryte ramki jako ruch tła
systemu Windows. Jednak niektóre serwery z którymi prowadzono połączenia, nie
dostarczają informacji o swoim przeznaczeniu oraz pełnionej funkcji. Część połączeń
należałoby określić jako wątpliwe pod względem bezpieczeństwa dla komunikującej się stacji
roboczej.
5. Testowanie komend: whois, nslookup
Kolejnym etapem jaki został wykonany w niniejszym ćwiczeniu było testowanie
komend służących do diagnozowania sieci w systemie Linux.
whois - polecenie działające na zasadzie: pytanie/odpowiedz. Jest ono stosowane do
wysyłania zapytań do baz danych DNS, aby poznać właściciela domeny, adres IP lub inne
dane "teleadresowe".
lukasz@lukasz-K53SV:~$ whois wp.pl
DOMAIN NAME: wp.pl
registrant type: organization
nameservers: ns2.wp.pl. [153.19.102.182]
ns1.wp.pl. [212.77.102.200]
ns1.task.gda.pl. [153.19.250.101]
created: 1998.04.28 13:00:00
last modified: 2008.12.18 10:11:20
renewal date: 2012.04.27 14:00:00
option created: 2011.01.27 17:08:58
option expiration date: 2014.01.27 17:08:58
REGISTRAR:
NASK
ul. Wawozowa 18
02-796 Warszawa
Polska/Poland
+48.22 3808300
info@dns.pl
WHOIS displays data with a delay not exceeding 15 minutes in relation to the .pl Registry
system. Registrant data available at http://dns.pl/cgi-bin/en_whois.pl
Badanie ruchu w sieci 9 | S t r o n a
nslookup - narzędzie administracyjne umożliwiające testowanie i rozwiązywanie problemów
z serwerami DNS. Polecenie pozwala na łączenie się z serwerami DNS i pobieranie z nich
informacji dotyczących nazw przez nie obsługiwanych.
Składnia polecenia:
nslookup [-podpolecenie ...] [{host| [-serwer]}]
lukasz@lukasz-K53SV:~$ nslookup wp.pl
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name: wp.pl
Address: 212.77.100.101
6. Testowanie poleceń: tracert, hping
tracert - umożliwia śledzenie ścieżki do docelowego systemu informuje nas również o
opóznieniach.
Składnia polecenia:
tracert [-d] [-h maks_przes] [-j lista_hostów] [-w limit_czasu] cel
lukasz@lukasz-K53SV:~$ traceroute wp.pl
traceroute to wp.pl (212.77.100.101), 30 hops max, 60 byte packets
1 192.168.1.1 (192.168.1.1) 2.835 ms 3.568 ms 4.477 ms
2 bundle.rtrcmts-krow05.krakow.aster.pl (77.236.1.254) 14.068 ms 15.380 ms 14.659 ms
3 Kro5-do-KroCORE2.krakow.aster.pl (213.134.161.90) 15.986 ms 16.635 ms 18.312 ms
4 chello062179013205.chello.pl (62.179.13.205) 19.115 ms 19.748 ms 20.392 ms
5 84.116.252.225 (84.116.252.225) 27.038 ms 27.753 ms 28.359 ms
6 84.116.135.226 (84.116.135.226) 29.311 ms 84.116.136.150 (84.116.136.150) 22.014 ms
84.116.136.146 (84.116.136.146) 17.461 ms
7 WP.plix.pl (195.182.218.204) 22.191 ms 22.876 ms 24.095 ms
8 rtr2.rtr-int-1.adm.wp-sa.pl (212.77.96.65) 24.116 ms 22.602 ms 26.528 ms
9 www.wp.pl (212.77.100.101) 25.808 ms 28.065 ms 27.082 ms
hping jest darmowym generatorem pakietów i analizatorem protokołu TCP/IP. Służy do
testowania bezpieczeństwa zapory sieciowej oraz sieci, umożliwia skanowanie portów,
testowanie sieci z użyciem wielu różnych protokołów.
Badanie ruchu w sieci 10 | S t r o n a
Przykład użycia:
lukasz@lukasz-K53SV:~$ sudo hping3 -S www.wp.pl
HPING www.wp.pl (wlan0 212.77.100.101): S set, 40 headers + 0 data bytes
len=40 ip=212.77.100.101 ttl=245 DF id=5397 sport=0 flags=RA seq=0 win=0 rtt=129.8 ms
len=40 ip=212.77.100.101 ttl=245 DF id=43512 sport=0 flags=RA seq=1 win=0 rtt=152.7 ms
len=40 ip=212.77.100.101 ttl=245 DF id=23077 sport=0 flags=RA seq=2 win=0 rtt=24.1 ms
len=40 ip=212.77.100.101 ttl=245 DF id=56350 sport=0 flags=RA seq=3 win=0 rtt=24.9 ms
len=40 ip=212.77.100.101 ttl=245 DF id=39560 sport=0 flags=RA seq=4 win=0 rtt=25.3 ms
--- www.wp.pl hping statistic ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 24.1/71.4/152.7 ms
Opcja -T umożliwia emulacje Traceroute:
lukasz@lukasz-K53SV:~$ sudo hping3 -S www.wp.pl -T
HPING www.wp.pl (wlan0 212.77.100.101): S set, 40 headers + 0 data bytes
hop=1 TTL 0 during transit from ip=192.168.1.1 name=UNKNOWN
hop=1 hoprtt=1.9 ms
hop=2 TTL 0 during transit from ip=77.236.1.254 name=bundle.rtrcmts-krow05.krakow.aster.pl
hop=2 hoprtt=9.9 ms
hop=3 TTL 0 during transit from ip=213.134.161.90 name=Kro5-do-KroCORE2.krakow.aster.pl
hop=3 hoprtt=9.0 ms
hop=4 TTL 0 during transit from ip=62.179.13.205 name=chello062179013205.chello.pl hop=4
hoprtt=9.8 ms
--- www.wp.pl hping statistic ---
6 packets transmitted, 5 packets received, 17% packet loss
round-trip min/avg/max = 1.9/7.6/9.9 ms
7. Podgląd logowania do witryny przy pomocy Wireshark
W tym ćwiczeniu używając programu Wireshark mogliśmy przechwycić fikcyjny
login i hasło użyty przy próbie zalogowania się na http://en.wikipedia.org
W przypadku nieużycia protokołu SSL udało się to zrobić bez przeszkód:
pName=Jan.t&wpPassword=tajne+przezpoufne
Sytuacja zmienia się gdy skorzystamy z opcji Secure Server czyli w praktyce z
protokołu SSL. W tym przypadku przechwycony ruch sieciowy nie daje nam żadnych
informacji odnośnie logowania. To dla tego że nim nastąpi wymiana tych poufnych informacji
jakimi są login i hasło, pomiędzy hostem a serwerem zestawiane jest szyfrowane połączenie.
Pomimo faktu że korzysta się tu z ogólnie znanych sposobów szyfrowania to klucz
tworzony(identyczny dla obu stron) do wymiany danych jest generowany przez każdą ze
stron osobno na podstawie wymienionych wcześniej w sposób bezpieczny (klucz publiczny
oraz tymczasowy klucz sesji) informacji nie jest możliwe więc jego przechwycenie.
Badanie ruchu w sieci 11 | S t r o n a
Za wikipedią: Schemat działania protokołu wygląda następująco (jako K oznaczamy klienta,
a jako S serwer):
K S ClientHello
Klient wysyła do serwera zgłoszenie zawierające m.in. obsługiwaną wersję protokołu
SSL, dozwolone sposoby szyfrowania i kompresji danych oraz identyfikator sesji.
Komunikat ten zawiera również liczbę losową używaną potem przy generowaniu
kluczy.
K ! S ServerHello
Serwer odpowiada podobnym komunikatem w którym zwraca klientowi wybrane
parametry połączenia: wersję protokołu SSL, rodzaj szyfrowania i kompresji, oraz
podobną liczbę losową.
K ! S Certificate
Serwer wysyła swój certyfikat pozwalając klientowi na sprawdzenie swojej
tożsamości (ten etap jest opcjonalny, ale w większości przypadków występuje)
K ! S ServerKeyExchange
Serwer wysyła informację o swoim kluczu publicznym. Rodzaj i długość tego klucza
jest określony przez typ algorytmu przesłany w poprzednim komunikacie.
K ! S ServerHelloDone
Serwer zawiadamia, że klient może przejść do następnej fazy zestawiania połączenia.
K S ClientKeyExchange
Klient wysyła serwerowi wstępny klucz sesji, zaszyfrowany za pomocą klucza
publicznego serwera. Na podstawie ustalonych w poprzednich komunikatach dwóch
liczb losowych (klienta i serwera) oraz ustalonego przez klienta wstępnego klucza
sesji obie strony generują klucz sesji używany do faktycznej wymiany danych.
Uwaga: wygenerowany klucz jest kluczem algorytmu symetrycznego (typowo DES)!
Jest on jednak ustalony w sposób bezpieczny i znany jest tylko komunikującym się
stronom.
K S ChangeCipherSpec
Klient zawiadamia, że serwer może przełączyć się na komunikację szyfrowaną.
K S Finished
... oraz że jest gotowy do odbierania danych zakodowanych.
K ! S ChangeCipherSpec
Serwer zawiadamia, że wykonał polecenie od tej pory wysyłał będzie tylko
zaszyfrowane informacje...
K ! S Finished
...i od razu wypróbowuje mechanizm ten komunikat jest już wysyłany bezpiecznym
kanałem
Wnioski
Ćwiczenia na laboratorium pokazały jak łatwo jest, za pomocą ogólnie dostępnych
metod, przechwycić poufne informacje. Należy pamiętać o tym, że nasza aktywność w sieci
nie jest niewidoczna, a osoby postronne mogą dowolnie wykorzystać wiedze o naszych
działaniach o ile nie zadbamy o to by im to choć w pewnym stopniu utrudnić. W
szczególności nieużycie protokołu SSL przy logowaniu sprawia, że przechwycenie naszych
danych dla kogoś z odpowiednią wiedzą jest dziecinnie proste.
Wyszukiwarka
Podobne podstrony:
Sprawozdanie Lab3sw sprawozdanie lab2 v3Mechanika płynów sprawozdanie z lab3sprawozdanie programowanie lab3 finsprawozdanie programowanie lab3 fin2lab3 Sprawozdaniesprawozdanie felixa2Sprawozdanie Konduktometriazmiany w sprawozdaniach finlab3 polowieniaErrata do sprawozdania2009 03 BP KGP Niebieska karta sprawozdanie za 2008rid&657więcej podobnych podstron