WYśSZA SZKOŁA EKONOMII I
INFORMATYKI W KRAKOWIE
Wydział Ekonomii i Zarządzania
Bartłomiej Trynka
Metody ochrony przed
włamaniami do systemu
informatycznego
Praca dyplomowa napisana
pod kierunkiem
dr inż. Tadeusza Wilusza
Kraków • 2006
Spis treści
2
WSTĘP........................................................................................................................................................ 4
1.
CHARAKTERYSTYKA NAJWAśNIEJSZYCH METOD ATAKÓW SIECIOWYCH.......... 5
1.1
K
LASYFIKACJA ATAKÓW
........................................................................................................... 5
1.2
A
TAKI AKTYWNE
....................................................................................................................... 7
1.2.1
P
ODSZYWANIE
(
SPOOFING
) ................................................................................................... 7
1.2.2
P
RZECHWYCENIE SESJI
(
HIJACKING
).................................................................................... 11
1.2.3
A
TAKI BLOKADY USŁUG
...................................................................................................... 12
1.2.4
K
ONIE TROJAŃSKIE I TYLNE WEJŚCIA
.................................................................................. 16
1.3
A
TAKI PASYWNE
...................................................................................................................... 19
1.3.1
S
KANOWANIE SIECI
............................................................................................................. 20
1.3.2
P
ODSŁUCHIWANIE
(
SNIFFING
) ............................................................................................. 21
1.3.3
K
RADZIEśE HASEŁ
.............................................................................................................. 24
1.4
B
ŁĘDY W OPROGRAMOWANIU
.................................................................................................. 26
1.5
S
OCJOTECHNIKA
(S
OCIAL
E
NGINEERING
) ................................................................................ 28
2.
PRZEGLĄD NARZĘDZI ATAKU............................................................................................... 30
2.1
N
MAP
-
SKANOWANIE PORTÓW I HOSTÓW W SIECI
................................................................... 30
2.1.1
W
YSZUKIWANIE HOSTÓW
................................................................................................... 30
2.1.2
S
KANOWANIE PORTÓW
TCP ............................................................................................... 31
2.1.3
S
KANOWANIE PORTÓW
UDP............................................................................................... 33
2.1.4
I
NNE FUNKCJE PROGRAMU
.................................................................................................. 34
2.2
J
OHN THE
R
IPPER
-
ATAK NA HASŁA
......................................................................................... 35
2.2.1
A
TAK SŁOWNIKOWY NA HASŁO
........................................................................................... 36
2.2.2
M
ETODA SIŁOWA
(
BRUTE FORCE
) ....................................................................................... 38
2.3
E
TTERCAP
–
WĘSZENIE I PRZECHWYTYWANIE
.......................................................................... 40
2.4
N
ARZĘDZIA ATAKU
DD
O
S....................................................................................................... 42
2.4.1
T
RINOO
............................................................................................................................... 42
2.4.2
TFN (T
RIBAL
F
LOOD
N
ETWORK
)........................................................................................ 43
2.4.3
S
TACHELDRAHT
.................................................................................................................. 44
2.4.4
A
TAK
DD
O
S
Z WYKORZYSTANIEM ROBAKÓW POCZTOWYCH
............................................. 44
3.
WSPÓŁCZESNE METODY BUDOWY POLITYKI BEZPIECZEŃSTWA SYSTEMÓW
INFORMATYCZNYCH ......................................................................................................................... 46
3.1
D
EFINICJA POLITYKI BEZPIECZEŃSTWA
.................................................................................... 46
3.2
Z
ABEZPIECZENIA FIZYCZNE SYSTEMÓW
................................................................................... 49
3.3
Z
ABEZPIECZENIA ORGANIZACYJNE
.......................................................................................... 52
3.4
R
EGULACJE PRAWNE
................................................................................................................ 55
4.
METODY I ŚRODKI INFORMATYCZNEGO ZABEZPIECZANIA SYSTEMÓW............. 58
4.1
U
WIERZYTELNIANIE
................................................................................................................. 58
Spis treści
3
4.2
K
ERBEROS
............................................................................................................................... 62
4.3
Z
APORY SIECIOWE
(F
IREWALL
) ............................................................................................... 65
4.4
IDS – S
YSTEM WYKRYWANIA WŁAMAŃ
.................................................................................. 70
ZAKOŃCZENIE...................................................................................................................................... 74
LITERATURA ......................................................................................................................................... 76
WYKAZ RYSUNKÓW ........................................................................................................................... 77
WYKAZ TABEL...................................................................................................................................... 77
DODATEK 1 – KLASY OCENY BEZPIECZEŃSTWA SYSTEMÓW INFORMATYCZNYCH.. 78
4
Wstęp
Rozwój Internetu oznacza, między innymi, że coraz większa liczba
komputerów jest na stale lub czasowo przyłączona do tejże sieci globalnej. Daje to
określone korzyści, ale stwarza również i zagrożenia, których każdy użytkownik
Internetu powinien być świadom. Jednym z nieodłącznych ryzyk związanych z pracą w
sieci w ogóle, a w sieci publicznej, jaką jest Internet w szczególności jest zagrożenie
naruszenia prywatności ze strony innych użytkowników sieci, którzy nie zostali
upoważnieni do dostępu do określonych zasobów systemu podłączonego do Internetu.
W literaturze przedmiotu zdobycie uprawnień do działania w określonym systemie
komputerowym pracującym w sieci bez upoważnienia ze strony jego właściciela nosi
nazwę „ataku”. Jest to jeden z najbardziej spektakularnych aspektów szeroko
rozumianego bezpieczeństwa systemów informatycznych.
Niniejsza praca podejmuje tematykę ochrony systemów informatycznych przed
atakiem z zewnątrz, a jej zasadniczym celem jest zarówno przegląd metod i narzędzi
służących atakującym do naruszania prywatności systemów dostępnych w sieci jak
i dyskusja możliwości i dostępnych technologii obrony.
Tekst pracy składa się z czterech zasadniczych rozdziałów. Rozdział pierwszy zawiera
charakterystykę współcześnie najczęściej stosowanych metod ataku.
W rozdziale drugim przedstawiono narzędzia, które umożliwiają przeprowadzanie
ataków na systemy informatyczne. Ponadto, zamieszczono tam wyniki eksperymentu
polegającego na łamaniu haseł.
Rozdziała trzeci to wskazanie współczesnych metod budowy polityki bezpieczeństwa
systemów informatycznych od strony fizycznej systemu, organizacyjnej i prawnej.
W rozdziale czwartym omówione zostały metody zabezpieczenia systemu
informatycznego przed atakami oraz sposób, w jaki sobie z nimi radzić.
1. Charakterystyka najważniejszych metod ataków
sieciowych
1.1 Klasyfikacja ataków
Atak na system komputerowy to działanie, którego celem jest przeniknięcie do
chronionego systemu komputerowego w celu przechwycenia, zniszczenia lub
zmodyfikowania przechowywanych tam informacji. Zapewnienie właściwej ochrony
przed zagrożeniami z sieci to obecnie podstawowe wymaganie bezpieczeństwa
w systemach informatycznych. Przy klasyfikacji rodzaju ataków, możemy brać pod
uwagę różne kryteria:
-
miejsce przeprowadzania ataku
-
aktywność
-
sposób przepływu informacji
Biorąc pod uwagę miejsce przeprowadzanego ataku, możemy wyróżnić ataki
zewnętrzne (zdalne), czyli takie, które prowadzone są z systemów znajdujących się
poza atakowaną siecią oraz ataki wewnętrzne (lokalne) przeprowadzane z systemów
znajdujących się w atakowanej sieci. O ile można próbować przewidzieć, na jaki rodzaj
ataków system informatyczny będzie narażony z zewnątrz i próbować odpowiednio go
chronić o tyle ataki prowadzone z wewnątrz sieci atakowanej mogą być trudne do
wykrycia i przyczyną wielu problemów.
Innym podziałem ataków jest podział na aktywne oraz pasywne. Atak aktywny
prowadzi do utraty integralności systemu komputerowego, np.: atak włamywacza, który
usuwa pewną ilość ważnych danych oraz powoduje zmianę działania programów.
Atakiem aktywnym może być także modyfikowanie strumienia danych lub tworzenie
danych fałszywych. Atak pasywny natomiast polega na wejściu do systemu bez
dokonywania żadnych zmian, np.: atak włamywacza, który kopiuje pewną ilość
ważnych danych nie powodując zmian w działaniu programów. Atakiem pasywnym
może być także podsłuchiwanie lub monitorowanie przesyłanych danych. W tym
przypadku celem osoby atakującej jest odkrycie zawartości komunikatu. Ataki pasywne
1. Charakterystyka najważniejszych metod ataku
6
są bardzo trudne do wykrycia, ponieważ nie wiążą się z modyfikacjami jakichkolwiek
danych.
Biorąc pod uwagę sposób przepływu informacji w atakowanym systemie, możemy
wyróżnić cztery przypadki:
•
Przerwanie sygnału (rys. 1), które polega na częściowym lub całkowitym
zniszczeniu systemu lub spowodowaniu jego niedostępności (niezdolności do
normalnego użytkowania) w skutek zerwania strumieni danych. Przykładem tutaj
może być fizyczne zniszczenie fragmentu komputera lub sieci, np. uszkodzenie
dysku, przecięcie linii łączności między komputerem a drugim obiektem, lub
uniemożliwienie działania systemu zarządzania plikami.
Rys. 1 Atak przerwania
(źródło: opracowanie własne)
•
Przechwycenie sygnału (rys. 2), które opiera się na poufności i występuje wtedy,
gdy ktoś niepowołany uzyskuje dostęp do zasobów naszego systemu
komputerowego. Przykładem tutaj może być podsłuch pakietów w celu
przechwycenia danych w sieci i nielegalne kopiowanie plików lub programów.
Rys. 2 Atak przechwycenia
(źródło: opracowanie własne)
•
Modyfikacja sygnału (rys. 3), która opiera się na zdobyciu dostępu do zasobów
przez niepowołaną osobę, która wprowadza do nich jakieś zmiany w celu uzyskania
wyższych praw lub utrzymaniu dostępu do danego systemu. Przykładem tutaj może
być zmiana wartości w pliku z danymi, wprowadzenie zmiany w programie w celu
1. Charakterystyka najważniejszych metod ataku
7
wywołania innego sposobu jego działania lub modyfikacja komunikatów
przesyłanych w sieci.
Rys. 3 Atak modyfikacji
(źródło: opracowanie własne)
•
Podrobienie sygnału (rys. 4) jest atakiem opierającym się na autentyczności.
Podczas przesyłania danych z jednego do drugiego komputera trzeci komputer
blokuje uniemożliwiając mu dalszy przesył, a sam wprowadza do systemu drugiego
komputera fałszywe obiekty. Przykładem tutaj może być wprowadzenie
nieautentycznych komunikatów do sieci lub dodanie danych do pliku.
Rys. 4 Atak podrobienia
(źródło: opracowanie własne)
1.2 Ataki aktywne
1.2.1 Podszywanie (spoofing)
Spoofing jest techniką polegającą na podszywaniu się pod inny komputer w
celu złamania zabezpieczeń autoryzacyjnych opartych na adresie lub nazwie hosta.
W odniesieniu do zagadnienia transmisji danych popularną odmianą tego ataku jest "IP
Source Addresss Spoofing", który sprowadza się do przesyłania pakietów
zawierających sfałszowany adres źródłowy, co powoduje, że komputer odbierający te
pakiety błędnie identyfikuje ich nadawcę. Najczęściej atak "IP Spoofing" jest
1. Charakterystyka najważniejszych metod ataku
8
wykonywany z obszaru sieci publicznej, skąd napastnik wysyła pakiety danych
w imieniu uprzywilejowanego komputera zlokalizowanego w atakowanej sieci
prywatnej. Pierwszy atak przeprowadzony z wykorzystaniem tej techniki odnotowano
w 1994 roku. Technika ta została po raz pierwszy opisana już w 1985 roku, a prawie
dziesięć lat później zaawansowana technologia pozwoliła przeprowadzić niszczący
atak, który miał miejsce w 1994 r. i był skierowany przeciw Centrum
Superkomputerowemu w San Diego. Celem napastnika było włamanie i kradzież
powstającego oprogramowania zabezpieczającego. Cel został osiągnięty za pomocą
"ręcznie" skonstruowanych pakietów wstrzelonych do sieci Centrum, dzięki którym
komputer hackera udawał jeden z komputerów tej sieci. Istnieje wiele innych mniej
znanych odmian tej techniki, wśród których można wyróżnić, np. „ARP Spoofing",
"DNS Spoofing", "RIP Spoofing".
IP Spoofing
Atak typu "IP Spoofing" składa się z trzech faz. Pierwszą z nich jest
wyłączenie z działania jednego z serwerów. Z reguły osiąga się to za pomocą powodzi
pakietów SYN Flood. W drugiej fazie napastnik przejmuje adres serwera i udaje jego
działanie w odniesieniu do ufających serwerowi klientów. Dzięki temu hacker może
przejąć kompletną kontrole nad systemem. Z kolei trzecia faza obejmuje atak ze strony
właśnie zmienionego klienta na poprzednio wyłączony serwer. Od momentu przejęcia
kontroli nad serwerem, hacker ma nieograniczoną władzę nad siecią lokalną. Atak "IP
Spoofing" można częściowo zablokować przez odpowiednio skonfigurowany filtr
pakietów, który blokuje wszystkie pakiety napływające z sieci publicznej, mające adres
ź
ródłowy należący do komputera z sieci prywatnej. Bardziej zaawansowane
przeciwdziałanie atakowi można wykonać za pomocą odpowiedniej ściany ogniowej.
ARP Spoofing
Metoda ta związana jest z modyfikowaniem przechwyconych par adresów
MAC oraz IP w sieci lokalnej.
Działanie protokołu rozróżniania adresów (ARP) polega na wysyłaniu ethernetowych
pakietów rozgłoszeniowych, zawierających poszukiwany adres IP. Stacja będąca
poszukiwanym odbiorcą, wysyła pakiet, w którym znajduje się para adresów –
1. Charakterystyka najważniejszych metod ataku
9
IP i adres ethernetowy. System, z którego prowadzony jest atak, transmituje fałszywe
zapytania lub odpowiedzi ARP, skierowując cały ruch w swoim kierunku
i przedstawiając się jako autoryzowany odbiorca.
Jednym z najbardziej niebezpiecznych, jest atak Man In the Middle (MITM).
Atak ten polega na postawieniu atakującego systemu pomiędzy systemem ofiary
a lokalną bramą tak, aby system agresora mógł monitorować wszystko, co ofiara wysyła
i otrzymuje. Atakujący najpierw oszukuje system ofiary dzięki nieprawidłowo
zaadresowanej ramce ethernetowej w jego pakiecie. Powoduje to przesyłanie danych
ofiary do systemu należącego do atakującego. Od tego momentu dla atakującego jest
możliwe monitorowanie połączeń ofiary. Aby umożliwić ofierze wysyłanie i odbieranie
danych, napastnik wysyła kolejną zmodyfikowaną ramkę rozgłoszeniową ARP.
Spreparowana wiadomość wprowadza w błąd system ofiary, mówiąc, że informacje
przeznaczone dla zdalnych systemów powinny być wysłane do atakującego adresu
MAC zanim zostaną wysłane przez lokalną bramkę. W tym momencie system
napastnika przechwytuje dane wejściowe i wyjściowe. Ostatnim krokiem ataku MITM
jest przekazanie ruchu do maszyny, dla której był on oryginalnie przeznaczony. W
efekcie napastnik zamienia się w tymczasową bramkę między systemem ofiary,
a prawdziwą bramką LAN. Ofiara nadal ma możliwość wysyłania i otrzymywania
danych do i z zdalnych systemów, ale wszystkie dane są transportowane przez system
agresora. W tym momencie każda przesyłana informacja taka jak hasła, czy adresy
e-mail, mogą być monitorowane przez napastnika, a nawet modyfikowane. Umiejętność
edytowania sieciowych danych ofiary w locie pozwala atakującemu na zmianę kierunku
komunikacji systemu ofiary, wykonać atak MITM podczas wymiany kryptograficznego
klucza, oraz narazić wiele innych aspektów bezpieczeństwa. W przypadku
modyfikowania ruchu podczas inicjalizacji wymiany klucza w zaszyfrowanej sesji
Web, napastnik może przechwycić i rozszyfrować sieciowy ruch ofiary, nawet, gdy
sesja nadal wydaje się być zaszyfrowana.
DNS Spoofing
DNS spoofing to atak na serwer DNS, który odwzorowuje nazwy hostów na
numery IP i odwrotnie. Atak ten polega na ingerencji w tablicę DNS i modyfikacje
poszczególnych wpisów tak, aby klient zamiast do komputera docelowego kierowany
był do komputera atakującego.
1. Charakterystyka najważniejszych metod ataku
10
Na rysunku 5 przedstawiono schemat ataku typu DNS Spoofing, który
wykorzystuje fakt, że serwery DNS nie posiadają całej bazy adresów, lecz przechowują
- przez jakiś czas - informacje o numerach IP i odpowiadających im nazwach hostów
w pamięci podręcznej (cache’u).
Rys. 5 Schemat ataku DNS Spoofing
(źródło: opracowanie własne)
Sytuacja przedstawiona na rysunku 5 zakłada, że:
•
Napastnik posiada własną domenę (atak.net) i swój własny serwer DNS
(ns.atak.net) gdzie umieścił fałszywe wpisy (np.: www.onet.pl = 42.42.42.42).
Atakujący prosi serwer DNS, którego informację zawartą w cache’u chce
sfałszować („zatruć”) o połączenie z www.atak.net (rys 5.a).
•
Atakowany serwer DNS nie zna numeru IP adresu www.atak.net, więc sam
wysyła o niego zapytanie do autoryzowanego serwera domeny atak.net (rys. 5.b)
•
Serwer ns.atak.net odpowiada, jednocześnie transferując fałszywe wpisy
(rys. 5.c)
•
Próba wywołania adresu www.onet.pl spowoduje, że serwer DNS zwróci adres
IP taki jaki został pobrany z serwera ns.atak.net a nie adres rzeczywisty.
1. Charakterystyka najważniejszych metod ataku
11
1.2.2 Przechwycenie sesji (hijacking)
Atak tego typu jest jednym z najbardziej niebezpiecznych ataków na system
komputerowy. Technika polega na tym, że napastnik powoduje przerwanie połączenia
zestawionego pomiędzy klientem a serwerem, następnie podszywa się pod klienta
i podsyła serwerowi pakiety z własnymi numerami sekwencji. Połączenie TCP wymaga
zsynchronizowanej wymiany pakietów, więc jeśli z jakiegoś powodu numery sekwencji
pakietu nie zgadzają się z wartościami oczekiwanymi przez komputer, to zostaną one
odrzucone i ponownie nastąpi faza oczekiwania na poprawnie numerowany pakiet.
Haker może wykorzystać wymagania dotyczące numerów sekwencji protokołów TCP
i przechwycić połączenie. Aby mieć możliwość wglądu w przesyłane pakiety,
konieczne jest korzystanie ze sniffera. Hijacking jest więc połączeniem dwóch metod:
sniffingu i IPspoofingu. W celu doprowadzenia do przerwania połączenia TCP należy je
wcześniej rozsynchronizować.
Synchronizacja połączenia TCP
1
Rys. 6 Synchronizacja połączenia TCP
(źródło: W. Chestwick, M. Bellovin, A. Rubin „Firewalle i bezpieczeństwo w sieci)
Klient wysyła w kierunku serwera pakiet z bitem synchronizacji (SYN)
i wstępnym numerem sekwencji klienta (CSEQ). Po otrzymaniu przez serwer
pierwszego pakietu SYN, połączenie jest w stanie half-opened (na wpół otwarte). Pakiet
będący odpowiedzią serwera zawiera dane synchronizacji (SYN), potwierdzenia (ACK)
a także numery sekwencyjne sesji, tj.: otrzymany numer sekwencji klienta zwiększony
o 1 (CSEQ + 1) oraz serwera (SSEQ). Następnie, po otrzymaniu pakietu, klient
zwiększa o 1 swój numer sekwencyjny i wysyła pakiet z ustawionym bitem
1
Douglas E. Comer: ‘Sieci komputerowe i intersieci’, WNT Warszawa 2000, 2001
1. Charakterystyka najważniejszych metod ataku
12
potwierdzenia (ACK). Od tej chwili zostaje nawiązane połączenie i może rozpocząć się
wymiana danych. Warto zaznaczyć, że napastnicy potrafią wykorzystywać istnienie
stanu „half-opened”. Ataki wykorzystujące pakiety SYN polegają na zalewaniu
serwera tylko pakietami synchronizacji (pierwszy etap procesu nawiązywania
połączenia) licząc, że tak duża liczba żądań, które nigdy nie zamieniają się
w rzeczywiste połączenia spowoduje jego zablokowanie. Pierwszy etap tego
trzystopniowego procesu może być również wykorzystywany do wykrycia aktywnych
usług TCP bez alarmowania aplikacji, które zwykle nie są informowane o połączeniu,
zanim nie zakończy się cała ta trzystopniowa procedura nawiązywania połączenia.
Istnieje kilka metod prowadzących do rozsynchronizowania połączenia takich jak:
•
Wczesne rozsynchronizowanie
•
Aktywne rozsynchronizowanie
•
Rozsynchronizowanie pustymi danymi
1.2.3 Ataki blokady usług
Ataki blokady(odmowy) usługi (DoS) polega na obciążaniu oprogramowania,
sprzętu czy łączy sieciowych poza granice ich założonej wydajności. Celem takiego
ataku jest uniemożliwienie działania jakiejś usługi lub obniżenie jakości jej działania.
Ataki takie w dość prosty sposób można wykryć, jednak znacznie trudniej można
ustalić źródło tych ataków. Mogą one przebiegać pod różnymi postaciami –
od zasypywania wiadomościami pocztowymi (mail bombing lub spam), po wysyłanie
specjalnie spreparowanych pakietów, by załamać działanie programu w atakowanym
systemie. Skutkiem tego działania może być np.: przepełnienie dysku, przeciążenie
procesora, załamanie się systemu operacyjnego lub po prostu przeciążenie łącza. Aby
doszło do przeciążenia łącza wystarczy wygenerować więcej pakietów niż dany
odbiorca może obsłużyć.
Ataki pakietami SYN
Ataki zalewania pakietami SYN nie powodują zablokowania łącza sieciowego,
ale są skierowane przeciwko stosowi TCP/IP. W protokole TCP będącym
1. Charakterystyka najważniejszych metod ataku
13
odpowiedzialnym za obsługę połączeń, konieczne jest śledzenia ich stanu. Za to zadanie
odpowiedzialny jest stos TCP/IP, który może jednak śledzić tylko określoną liczbę
połączeń. Atak przepełnienia typu SYN Flooding wykorzystuje to ograniczenie,
uniemożliwiając nawiązywanie nowych połączeń sieciowych.
Napastnik wysyła do systemu ofiary dużą liczbę pakietów synchronizacji SYN
- pierwszymi w procesie nawiązywania połączenia, z fałszywym, nieistniejącym
adresem źródłowym. Ponieważ pakiet SYN jest używany do inicjowania połączeń TCP,
komputer ofiary będzie wysyłał w odpowiedzi pakiet SYN/ACK, oczekując z kolei na
odpowiedź ACK. Każde takie częściowo otwarte połączenie jest umieszczane
w kolejce, która ma jednak ograniczoną pojemność. Ponieważ fałszywe adresy
ź
ródłowe nie istnieją, system nigdy nie odbierze odpowiedzi ACK, które
spowodowałyby usunięcie niepotrzebnych wpisów z kolejki i nawiązanie pełnego
połączenia. W tym przypadku musi upłynąć czas ważności poszczególnych połączeń,
co zwykle trwa dość długo. Jeżeli haker kontynuuje zalewanie systemu ofiary
fałszywymi pakietami SYN, kolejka połączeń pozostanie zapełniona, przez co
prawdziwe pakiety SYN nie będą mogły przedostać się do tego systemu. Oznacza to
brak możliwości tworzenia nowych połączeń TCP/IP.
Pierwszym dokładnie opisanym atakiem tego typu był atak przeprowadzony na
dostawcę usług internetowych – firmę Panix. Do komputera tej firmy w ciągu sekundy
wysyłano około 150 pakietów TCP SYN. Pakiety te zasypały mechanizm przetwarzania
połączeń półotwartych jądra systemu Unix. Gdy tabela połączeń półotwartych
wypełniła się, nadchodzące od upoważnionych użytkowników polecenia nawiązania
połączenia były odrzucane, uniemożliwiając im korzystanie z komputera.
Atak Ping of death
Zgodnie ze specyfikacją protokołu ICMP, komunikaty echa ICMP mogą
zawierać maksymalnie 65 536 bajtów w obszarze danych pakietu. Wiele systemów
operacyjnych może się jednak zawiesić po odebraniu komunikatów echa ICMP, których
wielkość przekracza dozwolony limit. Proces wysyłania komunikatów echa o bardzo
dużej wielkości został nazwany atakiem Ping of Death. Jest to bardzo prosta technika
ataku, ponieważ większość twórców oprogramowania nigdy nie zwracała uwagi na tę
kwestię, skupiając się na nagłówku tego pakietu gdzie zazwyczaj mieszczą się
1. Charakterystyka najważniejszych metod ataku
14
najważniejsze informacje. Obecnie większość systemów operacyjnych została jednak
zabezpieczona przeciwko atakom tego typu.
Smurf
Atak typu Smurf jest stosunkowo nowym atakiem w kategorii sieciowych
ataków na hosty, wykorzystujący efekt wzmocnienia. Zasada jego działania polega na
wysyłaniu przez atakującego dużej ilości pakietów ICMP echo (ping) na adresy
rozgłoszeniowe (broadcast address) z podmienionymi adresami źródłowymi na adresy
ofiary. Jeśli router dostarczy pakiet na adres rozgłoszenia IP, spowoduje to, że każda
maszyna przyjmie żądanie ICMP echo i na nie odpowie.
Jako przykład można przedstawić następującą sytuację
2
:
Zakładając, że celem atakującego jest sieć posiadająca 100 komputerów,
atakujący wysyła strumień 768 Kb/s pakietów ping na adres broadcastowy tej sieci.
Pakiety ping zostaną wysłane do każdego z tych 100 komputerów z podmienionym
adresem źródłowym i w rezultacie zostanie stworzone 100 dodatkowe pakietów
odpowiedzi, które zostaną przesłane na adres ofiary strumieniem 76,8 Mb/s,
co najprawdopodobniej spowoduję blokadę usług.
DDoS
Rozproszony atak DDoS (Distributed Denial of Service) stanowi szczególną
odmianę klasycznego ataku przepełnienia. Jak już wcześniej wspomniano, atak
przepełnienia jest przeprowadzany w celu całkowitego zablokowania łącza sieciowego
ofiary. W ataku DDoS wykorzystywanych jest wiele komputerów włączonych do
Internetu a komputery te uczestniczą w ataku zupełnie bezwiednie. W przypadku ataku
DDoS haker musi najpierw włamać się do wielu różnych systemów i zainstalować
w nich złośliwe oprogramowanie, które będzie czekało w ukryciu na sygnał do ataku.
Włamywacz wykorzystuje specjalny program sterujący, który umożliwia rozpoczęcie
ataku, a wszystkie zainfekowane systemy jednocześnie uderzają w ofiarę, wykonując
określony typ ataku DoS. Taka technika ataku może spowodować poważne szkody,
2
Craig A. Huegen „The latest in Denial of Service attack: Smurfing” - http://www.pentics.net/denial-of-
service/white-papers/smurf.cgi
1. Charakterystyka najważniejszych metod ataku
15
utrudniając jednocześnie próby wykrycia rzeczywistego położenia hakera. Na rysunku 7
przedstawiono schemat ataku tego typu.
Rys. 7 Atak DDoS
(źródło: opracowanie własne)
Napastnik za pomocą odpowiednich środków instaluje odpowiednie
oprogramowanie na jak największej ilości komputerów zwanych „zombi”
3
. Program na
komputerze „zombi” wiąże się z jednym z portów i czeka na dalsze instrukcję.
Następnie, napastnik instaluje na jednym z komputerów w Internecie program główny,
który dysponuje listą wszystkich komputerów przygotowanych do przeprowadzenia
ataku. Kiedy nadchodzi czas ataku, napastnik wysyła programowi głównemu
komunikat, w którym przekazuje mu adres ofiary, po czym wszystkie komputery
„zombi” jednocześnie przeprowadzają atak typu DoS, wysyłając w kierunku celu taką
liczbę pakietów, które go obezwładnią.
Email bombing, email spamming
Email bomb jest serią wiadomości wysyłanych do skrzynki pocztowej ofiary.
Celem takiego ataku jest zapełnienie skrzynki nieistotnymi wiadomościami.
W przypadku słabych, niezabezpieczonych systemów, mogą one doprowadzić do
skutecznego zablokowania łącza i zapełnienia wolnego miejsca na twardym dysku.
3
William. R. Chestwick, Steven M. Bellovin, Aviel D. Rubin „Firewalle i bezpieczeństwo w sieci”
Helion 2003
1. Charakterystyka najważniejszych metod ataku
16
Email spamming jest natomiast inną odmianą tego ataku. Dotyczy on większej
ilości użytkowników a polega na wysyłaniu wiadomości do wszystkich użytkowników
danego serwera. Metoda ta najczęściej wykorzystywana jest bardziej do wysyłania
reklam niż próbie wyrządzenia jakiś szkód.
Istnieje również inna metoda szybkiego zapełnienia skrzynki pocztowej.
Napastnik podszywając się pod innego użytkownika zapisuje go na dużą ilość list
dyskusyjnych jednocześnie. Lista dyskusyjna działa w ten sposób, że wszyscy
użytkownicy piszą na jeden wspólny adres e-mail, a kopie tych wiadomości rozsyłane
są do wszystkich uczestników danej listy. Rezultaty tego działania mogą być
katastrofalne w skutkach dla ofiary. Zakładając, że została ona zapisana np. na 200 list
dyskusyjnych, z których każda ma po 50 członków wysyłających średnio 2 listy
dziennie, na jego skrzynkę trafi dziennie 20000 wiadomości. Jeśli będą to same
wiadomości tekstowe liczące około 5 KB każda, to dziennie trafia na skrzynkę
pocztową około 90MB danych. To chyba pozwala uzmysłowić sobie skalę zagrożenia.
1.2.4 Konie trojańskie i tylne wejścia
Dr Alan Solomon, specjalista zajmujący się wirusami komputerowymi,
w swojej pracy pt. „All about Viruses”
4
podaje następującą definicję konia trojańskiego:
„Koń trojański jest programem, który robi więcej, niż oczekuje od niego
użytkownik i te jego dodatkowe właściwości są z punktu widzenia użytkownika
niepożądane. To założenie prowadzi nas do trudności w wykrywaniu koni trojańskich.
Przypuśćmy, że mamy program, który mógłby nieomylnie wykryć program, który
sformatował nam dysk twardy. Czy można by wówczas stwierdzić jednoznacznie, że ten
program jest koniem trojańskim? Oczywiście nie. Jeśli ten inny program z założenia
służy do formatowania dysków (jak na przykład ‘format’) - wówczas nie jest on koniem
trojańskim. Problemem jest porównanie tego, co robi program, z tym, czego oczekuje
od niego użytkownik, a oczekiwania użytkownika wobec programów przez niego
wykorzystywanych są - na poziomie aplikacji - nieweryfikowalne”.
Koń trojański jest obcym kodem dołączonym do prawowitego programu, który
realizuje funkcje nieznane użytkownikowi (i zapewne przez niego niepożądane).
4
A. Solomon „All About Viruses” - http://vx.netlux.org/lib/aas10.html
1. Charakterystyka najważniejszych metod ataku
17
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, które mogą ukrywać swoją obecność w pożytecznym
programie. Wówczas, taki program można nazywać zarówno koniem trojańskim jak
i wirusem. Program, w którym zawarto konia trojańskiego, może pełnić pożyteczne
funkcje lub robić po prostu coś interesującego. Zawsze natomiast wykonuje zadania,
których nie spodziewa się osoba go uruchamiająca, jak na przykład zbieranie i
wysyłanie haseł czy usuwanie plików bez wiedzy użytkownika. Koń trojański może być
programem narzędziowym, który indeksuje katalogi lub łamie kody rejestracyjne
w oprogramowaniu. Może być edytorem tekstów lub narzędziowym programem
sieciowym. Krótko mówiąc, koń trojański może robić wszystko to, co robią inne
programy i może być znaleziony w każdym programie.
Konie trojańskie mogą być zaszyte nie tylko w skompilowanych programach.
Można je znaleźć również w skryptach powłoki, programach w Perlu, a nawet w
skryptach takich jak JavaScript czy VBScript. Jednak przypadki występowania koni
trojańskich w skryptach są rzadkie ze względu na to, że opisowy język skryptu jest
czytelny dla człowieka, stąd niepożądany kod jest łatwy do wykrycia. Zagnieżdżenie
konia trojańskiego w takim kodzie jest bardziej prawdopodobne w przypadku, gdy dany
skrypt jest częścią dużego pakietu, ponieważ rozbudowana struktura wydatnie
zmniejsza prawdopodobieństwo wykrycia obcej wstawki programistycznej.
Dobrze napisany koń trojański pracuje w tle nie ujawniając swej obecności. Co gorsza,
większość dobrze zaprojektowanych programów tego typu zawiera się w narzędziach,
które normalnie są obecne i uruchomione w systemie. W takim przypadku, nawet
przeglądanie uruchomionych procesów niewiele może pomóc w odkryciu konia
trojańskiego. W odróżnieniu od wirusów koń trojański nie ulega replikacji i nie dołącza
się do innych plików. Użytkownik sam uruchamia program, nie będąc świadom jego
przeznaczenia. Chcąc zainstalować komuś „trojana”, można go samemu uruchomić na
jego maszynie, trzeba jednak postarać się o bezpośredni dostęp do komputera osoby,
której „trojan” zostanie podłożony.
Odmianą koni trojańskich są bomby logiczne (ang. logical bombs). Różnią się
od koni trojańskich tym, że koń trojański działa natychmiast natomiast bomba logiczna
swe destrukcyjne oblicze ukazuje tylko w określonym odpowiednimi warunkami czasie
(najczęściej zależne od aktualnej daty lub liczby poprzednich wywołań programu).
1. Charakterystyka najważniejszych metod ataku
18
Często mianem bomby określa się destrukcyjny kod zawarty w wirusach, którego
wywołanie następuje tylko po spełnieniu jakiegoś warunku.
Konie trojańskie często wykorzystywane są do instalowania tzw. tylnych
wejść (backdoor), które umożliwiają hakerowi dostęp do zainfekowanego komputera.
Najczęściej działają one w ten sposób, że po zainstalowaniu się na zaatakowanym
komputerze otwierają w systemie określone porty. Następnie wysyłają powiadomienie
do napastnika, że w komputerze o danym adresie została stworzona „dziura” w systemie
bezpieczeństwa i może zostać zaatakowany. Często konie trojańskie występują jako
aplikacje klient - serwer. Serwer jest uruchomiony na komputerze ofiary i czeka na
rozkazy napływające drogą sieciową. Klient służy do wysyłania owych rozkazów. Jeśli
„trojan” jest niezbyt skomplikowany, to do komunikacji z serwerem używany jest
programu Telnet. W przypadku bardziej skomplikowanych koni trojańskich Telnet jest
zastępowany specjalnymi aplikacjami. Programy te maja na ogół przejrzysty i bogaty
interfejs użytkownika. Zasada współdziałania serwera i klienta jest zawsze taka sama.
Komunikują się one przy użyciu protokołu TCP/IP. Serwer zainstalowany na
komputerze, na którym przypuszcza się atak, otwiera jeden z nieużywanych dotąd
portów, z którym może połączyć się klient i w ten sposób wysyłać mu rozkazy. Serwer
przyjmuje je i na maszynie „ofiary” podejmuje odpowiednie działanie. Proces ten może
być zabezpieczony hasłem, aby nikt, oprócz osoby, która zainstalowała „konia
trojańskiego”, nie wykorzystał otwartej w ten sposób bramki.
Przykładem takiego konia trojańskiego jest Backdoor.Antilam
5
działającego
w systemach Windows. Jest to rodzina programów pozwalających na zdalną
administrację zainfekowanym komputerem poprzez sieć lokalną lub Internet.
Większość funkcji tego backdoor’a może być konfigurowana przez hakera przy pomocy
specjalnego narzędzia. Istnieje również aplikacja, wyposażona w graficzny interfejs
użytkownika, umożliwiająca wysyłanie komend. Przy użyciu Backdoor.Antilam,
napastnik może wykonać następujące operacje na zainfekowanym komputerze:
zamykanie i usuwanie backdoor’a,
gromadzenie informacji o zainfekowanym systemie,
modyfikowanie zawartości pulpitu systemu Windows,
5
http://www.viruslist.pl/encyclopedia.html?cat=18&uid=196
1. Charakterystyka najważniejszych metod ataku
19
wyświetlanie dowolnych komunikatów,
zarządzanie otwartymi oknami,
restartowanie i zamykanie komputera,
modyfikowanie daty systemowej,
wyłączanie klawiatury,
zarządzanie plikami zapisanymi na dyskach,
uzyskiwanie pełnego dostępu do rejestru systemowego
zapisywanie informacji wprowadzanych z klawiatury,
drukowanie dowolnych tekstów,
zarządzanie połączeniami dial-up,
zarządzanie schowkiem,
komunikowanie się z innymi hakerami podłączonymi do zainfekowanego
komputera.
Warto wspomnieć, że tworzenie tylnych wejść w systemie nie musi wiązać się
z instalowaniem w nim konia trojańskiego. Jedną z metod może być zmiana kodu
ź
ródłowego programu i jego podmiana w systemie. W systemach takich jak Linux,
gdzie dostępne są kody źródłowe, ewentualna modyfikacja i ponowna kompilacja nie
jest większym problemem. Jedyny problem to podmiana tak spreparowanego programu
czy też usługi w atakowanym systemie. Jednak, jeśli uda się to napastnikowi, wykrycie
obecności tylnego wejścia w systemie będzie bardzo trudne.
1.3 Ataki pasywne
Atak ten polega na wejściu do systemu bez dokonywania żadnych zmian.
Na przykład atak włamywacza, który kopiuje pewną ilość ważnych danych nie
powodując zmian w działaniu programów. Atakiem pasywnym może być także
podsłuchiwanie lub monitorowanie przesyłanych danych. W tym przypadku celem
osoby atakującej jest odkrycie zawartości komunikatu. Ataki pasywne mogą być trudne
do wykrycia, ponieważ nie wiążą się z modyfikacjami jakichkolwiek danych.
1. Charakterystyka najważniejszych metod ataku
20
1.3.1 Skanowanie sieci
Napastnik wybierając cel ataku, musi dowiedzieć się czegoś na jego temat.
Bezpośrednim sposobem uzyskania takiej wiedzy jest skanowanie sieci i jej
komponentów. Napastnik może lokalizować komputery bezpośrednio za pomocą
skanerów sieciowych lub pośrednio (np. za pomocą informacji otrzymywanych z DNS).
Dostępnych jest wiele narzędzi skanujących komputery i porty. Najprostszymi z nich są
banalne programy składające się z kilku wierszy najczęściej napisanych w języku Perl
lub C. Jednak skanowanie takimi programami łatwo jest wychwytywane przez systemy
wykrywania włamań, dlatego też przeprowadzane są one ze skradzionych kont lub
komputerów, do których się włamano.
Najczęściej stosowanymi próbnikami do wykrycia komputerów są pingi ICMP.
Napastnik skanuje komputery w celu wykrycia w nich aktywnych portów, poszukuje
aktywnych usług sieciowych oraz identyfikuje oprogramowanie serwera i jego wersje.
Istnieje kilka metod skanowania portów:
•
TCP Connect Scanning – jest to podstawowa metoda skanowania. Polega ona
na nawiązywaniu połączenia z interesującym portem. Jeśli połączenie dojdzie do
skutku, oznacza to, że dany port jest otwarty. Zaletą tej metody jest jej prostota.
Wadą zaś jest łatwość wykrycia skanowania, gdyż logi na danym serwerze
wskażą na dużą ilość nawiązywanych połączeń i listę komunikatów z błędami.
Jeśli na serwerze działają antyskanery to zamkną połączenie z intruzem.
•
TCP SYN Scanning (half-opened scanning) – w przeciwieństwie do
poprzedniej metody, w metodzie tej połączenie nie jest ustanawiane. Napastnik
wysyła pakiet SYN tak jak by chciał nawiązać połączenie. Jeśli cel zwróci
pakiet RST wiadomo jest, że port jest zamknięty. Jeżeli natomiast,
w odpowiedzi serwer zwróci pakiet SYN/ACK wiadomo jest, że port jest
otwarty. Napastnik wtedy wysyła pakiet RST przerywając połączenie, zamiast
wysłać pakiet ACK kończący trzystopniową wymianę potwierdzeń. W takim
przypadku zwykle jądro nie poinformuje użytkownika o usiłowaniu nawiązania
połączenia. Ważne jest by system monitorowania rejestrował wszystkie pakiety,
nie tylko te, które spowodowały nawiązanie połączenia.
1. Charakterystyka najważniejszych metod ataku
21
•
UDP ICMP port unreachable scanning. W związku z tym, że protokół UDP
nie jest protokołem połączeniowym, nie można stosować tych samych technik
skanowania jak dla protokołu TCP. Przeprowadzenie skanowania UDP jest
trudniejsze, pomimo tego, że sam protokół jest prostszy. Dzieje się tak, dlatego,
ż
e otwarte porty nie wysyłają potwierdzeń w odpowiedzi na żądanie, a porty
zamknięte nie wysyłają pakietów z komunikatem o błędzie. W protokole UDP
obsługa błędów spada na aplikację. Jednak większość systemów zwraca
komunikat ICMP_PORT_UNREACH, kiedy wysyłane są pakiety do portu
zamkniętego. W ten sposób można się dowiedzieć, które porty są zamknięte
i poprzez eliminację wykazać, które mogą być otwarte. Czasami, dzięki tej
technice możliwe jest ominięcie firewalli.
•
ICMP echo scanning. Metoda ta pozwala sprawdzić czy istnieje komputer
o wskazanym numerze IP. Jeśli w odpowiedzi na wysłany pakiet ustawione są
bity 72-79 nagłówka na wartość 1 i pierwszym polem obszaru danych
ustawionym na 8, znaczy to, że istnieje komputer pod skanowanym numerem
IP. Tak działa m.in. program ping.
1.3.2 Podsłuchiwanie (sniffing)
Sniffing jest techniką polegającą na podsłuchiwaniu pakietów w sieci. Programy
podsłuchujące ruch (sniffery) początkowo były stosowane przez administratorów
systemów w celu identyfikacji potencjalnych problemów w sieci. Ponieważ sniffery
ś
wietnie nadają się do przechwytywania cennych danych, zaczęły z czasem
wykorzystywane być przez hakerów. Warto wspomnieć, że istnieją zarówno programy
darmowe, łatwo dostępne w Internecie, ale również komercyjne, których koszt
niejednokrotnie sięga kilku tysięcy dolarów
6
.
Najłatwiej jest prowadzić sniffing w sieciach, w których wykorzystane są
urządzenia zwane koncentratorami (hubs), które działają w pierwszej warstwie
(fizycznej) modelu OSI. Ich zadaniem jest wzmacnianie transmitowanego sygnału
i przekazywanie go do wszystkich portów, do których mogą być podłączone inne
urządzenia sieciowe (komputery, kolejne koncentratory itp.). Karty sieciowe
6
Przykładowo pogram Anasil, umożliwiający nie tylko przechwytywanie pakietów, ale wykrywanie i
identyfikacje urządzeń sieciowych, tworzenie mapy sieci itp. kosztuje ok. 7000 zł.
1. Charakterystyka najważniejszych metod ataku
22
w normalnym trybie pracy, są w stanie odfiltrować wszystkie pakiety, które skierowane
były do innego interfejsu sieciowego, sprawdzając swój adres MAC z zapisanym
w pakiecie adresem MAC odbiorcy. Możliwe jest jednak przełączenie karty sieciowej
w tryb „promiscuous” potocznie zwany trybem podsłuchu. W tym przypadku, karta
sieciowa przekazuje do wyższych warstw modelu OSI wszystkie odebrane pakiety,
nawet, jeżeli nie były one do niej adresowane. Dzięki temu, możliwie jest odbieranie
pakietów nie zaadresowanych do niej. Sytuację tą ilustruje rysunek 8.
Rys. 8 Rozsyłanie pakietów w sieci opartej o hub
(źródło: opracowanie własne)
Poszczególne pakiety mogą być zapisane przez sniffer do pliku, co pozwoli
osobie korzystającej z programu na dokładniejszą analizę ruchu w dowolnym czasie.
Takie działanie umożliwia zebranie wielu informacji, które mogą być przydatne w celu
przeprowadzenia na przykład innego ataku, uzyskaniu nieautoryzowanego dostępu do
określonych zasobów, podejrzeniu niezaszyfrowanych haseł itp. Sniffing w sieciach bez
przełączników można uznać za działanie pasywne, gdyż atakujący musi jedynie
programowo przestawić tryb pracy swojej karty sieciowej na bezładny, uruchomić
sniffer i określić, jakie pakiety ma on wychwytywać. Nie jest konieczna żadna
interakcja z innymi urządzeniami pracującymi w sieci. Jedynym koniecznym
warunkiem jest, aby maszyna, na której prowadzony jest sniffing, była podpięta do
dowolnego portu koncentratora. Ten po odebraniu pakietu wyśle go na wszystkie swoje
porty i w rezultacie pakiet trafi do każdego spiętego z koncentratorem urządzenia
(komputera lub kolejnego koncentratora). Każda z kart sieciowych - za wyjątkiem karty
prawdziwego odbiorcy oraz karty pracującej w trybie promiscuous (używanej przez
sniffującego) - odfiltruje pakiet po adresie MAC. W ten sposób możliwe jest
podsłuchiwanie całej komunikacji odbywającej się w sieci.
1. Charakterystyka najważniejszych metod ataku
23
W sieciach, w których zamiast koncentratorów wykorzystano przełączniki
(switches) sniffing jest znacznie utrudniony, ale nadal istnieje możliwość prowadzenia
podsłuchu. Trzeba jedynie wykorzystać jedną z dostępnych metod pozwalających
obejść ograniczenia, które narzuca zasada działania przełączników.
Typowe przełączniki spotykane w sieciach lokalnych są urządzeniami działającymi
w drugiej warstwie modelu OSI. Z tego względu funkcjonują one bardziej inteligentnie
niż koncentratory. W trakcie pracy przełączniki budują tablice adresów MAC urządzeń
przyłączonych do ich portów i zapisują te informacje we własnej pamięci. Dzięki temu
każdy przełącznik po odebraniu pakietu przesyła go nie na wszystkie porty, a jedynie do
jednego z nich, do którego podpięte jest urządzenie o odpowiednim adresie MAC. To z
kolei oznacza, że do karty sieciowej maszyny-odbiorcy trafiają wyłącznie pakiety dla
niej przeznaczone oraz pakiety rozgłoszeniowe (broadcast). Wówczas przełączenie
karty w tryb bezładny i uruchomienie sniffera nie przyniesie pożądanego efektu.
Sytuacja ta przedstawiona została na rysunku 9:
Rys. 9 Rozsyłanie pakietów w sieci opartej o switch
(źródło: opracowanie własne)
Istnieją jednak sposoby na przeprowadzenie tego ataku w sieci opartej na
przełącznikach, a mianowicie:
•
Dopóki przełącznik nie wybuduje aktualnej tablicy odwzorowań (MAC-port),
rozsyła pakiet przeznaczony dla nieokreślonego odbiorcy (może to być np. nowy
komputer podpięty do wolnego portu, który jeszcze nie wygenerował żadnego
ruchu) do wszystkich portów. Wówczas urządzenie to działa jak typowy
koncentrator. Tworzenie tablicy odwzorowań polega na tym, że kiedy na porcie
1. Charakterystyka najważniejszych metod ataku
24
przełącznika pojawia się pakiet, ten odczytuje informację o nadawcy pakietu
i zapisuje ją w pamięci, łącząc odkryty adres MAC z określonym portem. Ten
proces ma charakter dynamiczny, gdyż w przeciwnym razie nie byłoby możliwe
przepinanie urządzeń na inne porty.
•
Pamięć przełącznika, w której przechowywana jest tablica odwzorowań ma
ograniczony rozmiar; napastnik może więc dążyć do próby jej przepełnienia.
Pojedynczy adres MAC zajmuje 6 bajtów. Nie jest to dużo, biorąc pod uwagę
pamięć urządzenia, jednak stosując technikę MAC flooding można przesłać
odpowiednią ilość fałszywych pakietów i spowodować przepełnienie tablicy.
•
Większość producentów kart sieciowych pozwala na zmianę adresu MAC
przypisanego danemu urządzeniu, a to daje możliwość podszycia się pod inną
maszynę. Nie jest to jednak działanie konieczne, ponieważ istnieje wiele
narzędzi pozwalających na manipulację pakietami ARP, a to otwiera już kilka
możliwych dróg rozwiązania problemu.
1.3.3 Kradzieże haseł
W przypadku praktycznie wszystkich systemów, aby wejść do systemu
wymagane jest podanie w określonej liczbie prób prawidłowego hasła. We wczesnych
systemach operacyjnych, hasła przechowywane były w plikach dyskowych, w czystej
tekstowej postaci. Bezpieczeństwo takich systemów opierało się na tajności nazwy
pliku przechowującego hasło a systemowe polecenie przedstawiające zawartość
katalogu pomijało nazwę tego pliku. Każdy więc, kto znał nazwę pliku, mógł odczytać
hasło.
We współczesnych systemach, hasła nie są przechowywane w czystej
tekstowej postaci. Poddawane są one szyfrowaniu za pomocą jednostronnych
algorytmów szyfrujących (np. MD5), które to uniemożliwiają odszyfrowanie
zakodowanej informacji. Autoryzacja użytkownika polega na zaszyfrowaniu podanego
przez niego hasła i porównaniu z zaszyfrowanym hasłem przechowywanym w systemie.
Jednak największą słabością systemu haseł nie jest sposób ich szyfrowania czy
przechowywania, ale sami użytkownicy wybierający słabe hasła typu imię, nazwisko,
pesel itp. W badaniach przeprowadzonych w USA, na około 14000 losowo wybranych
kontach, ponad 3300 miało ustawione hasła, które znajdowały się w standardowym
1. Charakterystyka najważniejszych metod ataku
25
słowniku, 1500 haseł składało się z sześciu lub mniej znaków, prawie 550 stanowiło
nazwy pospolite, a ponad 300 haseł zawierało imię
7
.
Ze względu na metodę działania programów służących do łamania haseł można
je podzielić na dwie grupy. Pierwszą grupę stanowią programy przeprowadzający tzw.
atak słownikowy. Polega on na generowaniu haseł na podstawie wyrazów
z dołączonego słownika i ich kombinacji - łączenia, dodawania liczb na początku i na
końcu wyrazów, itp. Dlatego też, wybranie hasła, które jest wyrazem w jakimkolwiek
języku jest dużym zagrożeniem gdyż w Internecie znaleźć można wiele słowników
zawierających po kilkaset tysięcy wyrazów w różnych językach. Błędem jest także,
wybranie takiego wyrazu pisanego od końca, czy dodanie na początku bądź na końcu
liczby, co jest dość często stosowane. Często również użytkownicy używają jako hasła
swojego „loginu” w połączeniu z innymi znakami. Złamanie hasła w tym przypadku,
trwa zazwyczaj kilka sekund.
Drugą grupą programów służących łamaniu haseł są programy wykorzystujące
metodę siłową (brute force). W przeciwieństwie do metody słownikowej polega ona na
sprawdzeniu wszystkich możliwych kombinacji znaków. Powodzenie tej metody
(a przede wszystkim czas) zależy od długości i złożoności wybranego hasła. Jeśli np.
składa się ono z samych cyfr, wygenerowanie prawidłowego hasła może zająć zaledwie
kilka minut. Tabela 1 przedstawia przewidywany czas znalezienia hasła w zależności od
jego złożoności, z wykorzystaniem jednego z najbardziej znanych programów do
łamania haseł jakim jest John the Ripper, na komputerze z procesorem 1,7 GHz, dla
ś
redniej prędkości generowania haseł ok. 130 000 na sekundę.
długość hasła
znaki użyte
w haśle
4 znaki
6 znaków
7 znaków
8 znaków
cyfry
(10 znaków)
0,07 sekundy
7,7 sekund
76 sekund 12,8 minut
małe litery
(26 znaków)
3,5 sekundy
40 minut
17,1 godzin
18,5 dni
małe i duże litery
(52 znaki)
56,2 sekund 42,2 godziny
91,5 dni
13,3 lat
wszystkie znaki
(95)
10,4 minut
65,4 dni
17 lat
1,6 tys. lat
Tabela 1 Przewidywany czas łamania haseł
(źródło: opracowanie własne)
7
Daniel V. Klein „Foiling the Cracker - A Survey of Improvemented to Password Security”;
(http://www.ussrback.com/docs/passwords_klein.ps.gz)
1. Charakterystyka najważniejszych metod ataku
26
Należy zaznaczyć, że rzeczywisty czas wygenerowania hasła na ogół jest
mniejszy gdyż podane tutaj wartości są teoretycznymi, maksymalnymi czasami
potrzebnymi na przeanalizowanie wszystkich możliwych kombinacji znaków w danym
haśle. Ponadto założono, że znaki składające się na dane hasło są losowe i nie
występują w całości lub w części słowniku. W przeciwnym wypadku czas może ulec
znacznemu skróceniu. W rozdziale drugim przedstawiono przykładowe czasy „łamania”
konkretnych haseł.
1.4 Błędy w oprogramowaniu
Kolejnym sposobem wejścia do systemu, jego zablokowania czy wykradzenia
poufnych danych, jest wykorzystanie przez napastnika błędów w oprogramowaniu
danego systemu.
Jedną z najbardziej znanych metod wykorzystującej luki w oprogramowaniu
jest „przepełnienie bufora” (Buffer Overflow). Technika ta polega na podaniu
programowi większej liczby danych, niż przewidział to twórca programu. Nadmiarowe
dane przekraczają obszar pamięci, który został przeznaczony dla danych, a tym samym
wkraczają w obszar pamięci, który był przeznaczony na instrukcje programu.
W idealnej wersji tego ataku nadmiarowe dane są nowymi instrukcjami, które
umożliwiają napastnikowi sterowanie pracą procesora. Poniżej znajduje się prosty
przykład programu podatnego na przepełnienie bufora:
void func(char *p);
int main(int argc, char *argv[]){
func("Tekst ten, spowoduje przepelnienie bufora");
return 0;
}
void func(char *p)
{
char tmp[10];
strcpy(tmp, p);
printf(tmp);
}
Kompilacja przebiegnie bez przeszkód, ale przekazanie funkcji
func()
łańcucha o długości większej niż dziewięć znaków powoduje przepełnienie bufora.
1. Charakterystyka najważniejszych metod ataku
27
W tym konkretnym przypadku załamanie programu spowodowane jest próbą czytania
poza granicą statycznego łańcucha. W najgorszym przypadku, tego rodzaju
przepełnienie umożliwia wykonanie w zaatakowanym systemie dowolnego kodu
(tzw. exploitów), choć przeprowadzenie takiego ataku jest dość trudne. Jednak nawet
wtedy, gdy atak przepełnienia bufora nie powiedzie się do końca, najczęściej i tak
spowoduje problemy w atakowanym komputerze. Zwykle polegają one na załamaniu
się działania zaatakowanego programu lub nawet całego systemu.
Kolejnym rodzajem ataku korzystającego tym razem z błędów w aplikacjach
internetowych jest tzw. SQL injection. Polega on na nieautoryzowanym wykonaniu
wyrażeń języka SQL. Jednym z podstawowych błędów jest brak filtracji danych
przekazywanych przez użytkownika. Oto bardzo prosty przykład programu
weryfikującego login i hasło:
$query
=
”SELECT
*
FROM
user
WHERE
login=’$login’
AND
password=’$pass’”;
$result=mysql_db_query($db,$query);
$num_rows=mysql_num_rows($result);
if ($num_rows!=0){
login i hasło poprawne
} else brak dostepu
Jeśli dane nie są sprawdzane pod kątem metaznaków (konkretnie - '), sytuacja może
wyglądać bardzo źle. Wpisując jako login i hasło:
' or ''='
zapytanie wysłane do serwera bazy danych ma postać:
SELECT * FROM use WHERE Login='' or ''='' AND Password='' or ''='';
Oczywiście ' ' = ' ' , więc warunek z klauzuli WHERE jest zawsze prawdziwy.
1. Charakterystyka najważniejszych metod ataku
28
Gdy aplikacja sprawdza, czy zapytanie zwróciło jeden wiersz i tylko wtedy dokonuje
autoryzacji wystarczy znać albo nazwę użytkownika albo hasło:
login
:
'janek' and ''='' or ''='
password : ' or ''='
W tym przypadku zapytanie ma postać:
SELECT
*
FROM
user
WHERE
Login='janek'
and
''=''
or
''=''
AND
Password='' or ''='';
Inny sposób to wykorzystanie SQL'owego komentarza:
login : '/*
password : */ OR ''='
O ile powyższe działania mogą prowadzić do nieautoryzowanego dostępu do
danych, to nie trudno sobie wyobrazić napastnika, który wykorzystując błędy niszczy
bazę danych kasując całą tabelę. Np. podając login:
x';DROP TABLE user;--
Zapytanie sql’owe przyjmie postać:
SELECT * FROM user WHERE Login='x';
DROP TABLE user;
--and ''='' or ''='' AND Password='' or ''='';
1.5 Socjotechnika (Social Engineering)
Socjotechnika to wywieranie wpływu na ludzi i stosowanie perswazji w celu
oszukania ich tak, aby uwierzyli, że socjotechnik jest osobą o sugerowanej przez siebie,
a stworzonej na potrzeby manipulacji, tożsamości. Dzięki temu socjotechnik jest
w stanie wykorzystać swoich rozmówców, przy dodatkowym (lub nie) użyciu środków
technologicznych, do zdobycia poszukiwanych informacji
8
.
Socjotechnika polega na wykorzystywaniu niewiedzy i naiwności ludzi w celu
uzyskania poufnych informacji. Inżynieria socjalna, we współczesnym świecie jest
dziedziną hackingu zajmującą się aspektami manipulacji ludźmi. Socjotechnik
przedstawia się jako osoba, która posługując się manipulacją wydobywa od innych
informacje. Nie można jednoznacznie stwierdzić, iż jest to wymuszenie przekazania
8
K. Mitnick, W. Simon „Sztuka podstępu. Łamałem ludzi, nie hasła”, Helion 2003
1. Charakterystyka najważniejszych metod ataku
29
danych. Socjotechnik do każdego ataku dokładnie się przygotowuje. Często poświęca
trochę czasu na poznanie żargonu firmy, specyfiki jej działalności. Metod stosowanych
przez napastnika korzystającego z socjotechniki może być wiele i zależą one jedynie od
jego pomysłowości i wyobraźni. Najprostszą z nich może być wykonanie telefonu do
firmy i podając się za jej pracownika, serwisanta czy nawet za samego szefa
poproszenie o hasła dostępu. Warto tutaj zaznaczyć, że celem socjotechnika nie musi
być firma. Mogą nim być np. banki czy jednostki samorządu terytorialnego.
Wyzwaniem dla niego są miejsca, w których trudniej o pozyskanie informacji. Zapewne
ogromną satysfakcję daje zdobycie danych z jednostek, które, zgodnie z ich
przeznaczeniem, powinny te informacje chronić. Nierzadko w firmach i instytucjach
bagatelizuje się ważność każdej informacji. Dba się o te z klauzulą „niejawne”, a te bez
oznaczenia mogą swobodnie „wypływać”. Z drugiej strony coraz częściej mówi się
o bezpieczeństwie firm, co może sugerować powolne wprowadzenie zmian
organizacyjnych, proceduralnych w celu zapewnienia bezpieczeństwa informacji.
Najważniejsze są tutaj szkolenia i odpowiednie zapisy w polityce bezpieczeństwa
każdej firmy czy instytucji oraz ich realizacja. Należy położyć w nich nacisk na
klasyfikowanie informacji jako niejawne oraz na takie, które są jawne. Jednakże przy
tych ostatnich należy również spisać procedury ich przekazywania, szczególnie na
zewnątrz. Nie można dopuścić do sytuacji, w której informacje z kategorii „jawne”,
przekazywane są każdej zainteresowanej nimi osobie. Sposób podawania danych
powinien się odbywać poprzez różnego typu możliwości uwierzytelniania osoby, która
o nie prosi.
Więcej na temat wykorzystania socjotechniki można znaleźć w cytowanej już
książce K. Mitnick'a, byłego hackera, który opanował socjotechnikę do perfekcji,
a obecnie zajmującego się bezpieczeństwem systemów komputerowych.
2. Przegląd narzędzi ataku
2.1 Nmap - skanowanie portów i hostów w sieci
Jednym z najbardziej popularnych skanerów sieci, który może być użyty zarówno
do wykrywania hostów jak i do skanowania portów danego hosta jest program Nmap
(Network Mapper)
9
. Dostępny jest on w wersjach dla różnych systemów operacyjnych,
takich jak Linux, Microsoft Windows, FreeBSD, OpenBSD, Solaris, IRIX, Mac OS X,
HP-UX, NetBSD, Sun OS i innych.
2.1.1 Wyszukiwanie hostów
Wyszukiwanie hostów w programie Nmap (opcja –sP) działa podobnie do
tradycyjnego programu ping wysyłającego komunikat protokołu ICMP typu Echo
Request (prośba o odpowiedź, lub tzw. ping). Protokół ICMP służy do diagnostyki
i sterowania przepływem komunikatów w sieci. Po wysłaniu pakietu ICMP, Nmap
czeka na odpowiedź od hosta, który był jego adresatem. Poniższy przykład ilustruje
wynik działania programu po przeszukaniu lokalnej sieci na obecność uruchomionych
hostów:
E:\nmap-3.93>nmap -sP 192.168.1.1-254
Starting nmap 3.93 ( http://www.insecure.org/nmap ) at 2005-12-03
11:44
Host (192.168.1.7) appears to be up.
Host trynka (192.168.1.20) appears to be up.
Host bartek (192.168.1.202) appears to be up.
Nmap finished: 254 IP address (3 host up) scanned in 14.837 seconds
Nmap zwrócił informację, że trzy hosty w sieci o adresie 192.168.1.0/24
odpowiedziały na wysłany pakiet. Są to komputery o adresach IP 192.168.1.7,
192.168.1.20 oraz 192.168.1.202.
9
Nmap jest programem darmowym i można go pobrać z www.insecure.org
2. Przegląd narzędzi ataku
31
Ponieważ w wielu hostach pakiety protokołu ICMP są blokowane (np. przez
zapory ogniowe, rutery, itp.), możliwa jest próba nawiązania połączenia TCP
z portem 80 (standardowy port usługi WWW) lub na innym dowolnym porcie (opcja –
P). Zwykle, gdy skanowany host nie udostępnia żadnej usługi (wszystkie porty są
zamknięte), wysyłany jest przez jego podsystem TCP/IP pakiet RST, co w tym
przypadku również wystarcza, aby stwierdzić, że dany komputer jest uruchomiony.
Jednak nie wszystkie systemy operacyjne postępują zgodnie ze specyfikacją
protokołów, dlatego brak odpowiedzi nie daje 100% pewności odnośnie braku istnienia
skanowanego hosta.
2.1.2 Skanowanie portów TCP
Podstawową metodą skanowania jest próba nawiązania połączenia z otwartym
portem zdalnego hosta (opcja -sT). W poniższym przykładzie, Nmap próbuje połączyć
się z portami od 1-1024 (tzw. well known ports - dobrze znane porty) hosta o adresie IP
192.168.1.20. Porty 1-1024 skanowane są domyślnie natomiast, jeżeli istnieje potrzeba
skanowania portów powyżej 1024, należy to sprecyzować podczas uruchamiania
programu. Te porty, które odpowiedzą inaczej niż pakietem z ustawioną flagą RST
uznaje się za otwarte, pozostałe traktowane są jako zamknięte.
E:\nmap-3.93>nmap -sT 192.168.1.20
Starting nmap 3.93 ( http://www.insecure.org/nmap ) at 2005-12-03
14:48
Interesting ports on 192.168.1.20:
(The 1661 ports scanned but not shown below are in state: filtered)
PORT
STATE SERVICE
25/tcp
open
smtp
119/tcp
open
nntp
135/tcp
open
msrpc
139/tcp
open
netbios-ssn
143/tcp
open
imap
445/tcp
open
microsoft-ds
1025/tcp open
NFS-or-IIS
MAC Address: 00:20:ED:41:29:A5 (Giga-byte Technology CO.)
Nmap finished: 1 IP address (1 host up) scanned in 170.966 seconds
2. Przegląd narzędzi ataku
32
Jak widać, w badanym systemie zostało wykrytych siedem otwartych portów.
W celu wykrycia usług RPC
10
, należy wprowadzić opcję -sR.
Ciekawy jest sposób, w jaki program działa w zależności od użytych opcji
skanowania. W przypadku opcji: –sT, -sR oraz –sP (ping scan) zawsze najpierw
wysyłany jest pakiet SYN. Gdy zostanie wysłana odpowiedź SYN/ACK, Nmap
odpowiada pakietem ACK i od razu wysyła pakiet RST kończąc w ten sposób wymianę
pakietów. Wynikiem działania jest informacja, że skanowany port jest otwarty, a host
jest dostępny. Gdy Nmap otrzyma odpowiedź RST, oznacza to zamknięty port, ale
skanowany komputer jest dostępny. Gdy nie ma odpowiedzi, zakłada się, że port jest
zablokowany przez zaporę sieciową lub skanowany host nie działa. Jednak połączenia
nawiązywane w powyższy sposób raczej na pewno zostaną odnotowane w logach
systemowych skanowanej maszyny. Z punktu widzenia włamywacza jest to absolutnie
nie do zaakceptowania. I właśnie tutaj okazuje się jak bardzo wszechstronnym
narzędziem jest Nmap. Użycie opcji -sS programu powoduje, że program nawiązuje
sesję ze skanowanym hostem wysyłając pakiet SYN, ale potem zachowuje się
niezgodnie ze specyfikacją protokołu TCP. Gdy otrzyma pakiet z ustawioną flagą RST
będzie to oznaczało, że port jest zamknięty. Natomiast, jeśli otrzyma w odpowiedzi
pakiet SYN/ACK, zamiast wysłać pakiet SYN (zgodnie ze specyfikacją) wysyła pakiet
RST. Ponieważ zachowanie to powoduje zerwanie procesu ustanawiania sesji, wiele
usług potraktowanych w ten sposób nie odnotuje takiego połączenia w logach
bezpieczeństwa. Skoro nie ma śladu w logach, intruz może spokojnie skanować
wszystkie porty. Mimo że większość usług nie odnotuje przerwanego nawiązywania
sesji, większość systemów IDS (Intrusion Detection System) oraz zapór ogniowych
(firewalls) jest bardzo uczulona na podobne praktyki. Najnowsze systemy operacyjne
i systemy zapisujące zdarzenia odnotowują wszelkie nieprawidłowości, także nie do
końca nawiązane sesje lub wszelkie anomalia (zdarzenia niezdefiniowane protokołem).
Jednak w Internecie funkcjonuje sporo starszych systemów, często w żaden sposób
niezabezpieczonych. Skanowanie tym sposobem określane jest mianem skanowania
niewidzialnego – stealth.
Jednym z pomysłów na ominięcie powyższej niedogodności jest wykorzystanie
cechy protokołu TCP, w którym, w przypadku próby nawiązania połączenia
10
Remote Procedure Call -
usługi pozwalające na zdalne wykonywanie zadań; np.: SSH, X11, HTTP i
inne
2. Przegląd narzędzi ataku
33
z zamkniętym portem wysyłany jest pakiet RST. Opcja -sF programu uruchamia
skanowanie FIN typu stealth. Pakiet TCP z ustawioną flagą FIN normalnie kończy sesję
między dwoma hostami. Gdy jednak zostanie wysłany bez wcześniejszego
ustanowienia sesji, otwarte porty powinny go zignorować, natomiast w przypadku
portów zamkniętych powinien zostać wysłany pakiet RST.
Innymi metodami skanowania typu stealth jest wysyłanie przez Nmap
pakietów z aż trzema bez sensownie (z punktu widzenia specyfikacji protokołu TCP)
ustawionymi flagami (opcja -sX) czy skanowanie puste (opcja -sN), w którym Nmap
próbuje nawiązać połączenie wysyłając pakiet bez ustawionych flag
11
.
Niestety nie wszystkie systemy operacyjne mają prawidłowo (zgodnie z
zaleceniem) zaimplementowaną obsługę stosu protokołów TCP/IP. Oznacza to, że nie
muszą się zachowywać tak, jak opisano wcześniej. Dobrze zabezpieczone hosty mogą
też wysyłać fałszywe odpowiedzi. Istnieje też grupa inteligentnych zapór ogniowych,
które zapisują w swoich tablicach stanów historię przepływu pakietów, potrafiąc
wyciągać wnioski i odpowiednio do potrzeb działać na podstawie ruchu pakietów
odbywającego się w określonym czasie.
2.1.3 Skanowanie portów UDP
Za pomocą programu Nmap można również badać porty bezpołączeniowego
protokołu UDP. Określenie bezpołączeniowy oznacza, że pakiety wysyłane są bez
uprzedniego zestawienia sesji jak to ma miejsce w komunikacji poprzez protokół TCP.
W komunikacji przy pomocy protokołu UDP nie występują potwierdzenia otrzymania
informacji, dlatego pakiety te mogą się gubić w sieci. Nmap z opcją -sU wysyła pusty
pakiet UDP i czeka na informację zwrotną ICMP Port unreachable (port niedostępny).
Otrzymanie jej oznacza zamknięty port. Gdy skaner nie otrzyma żadnej informacji
zwrotnej, zakłada się, że port jest otwarty. Trzeba też wybadać, czy zapora sieciowa nie
blokuje pakietów ICMP wysyłanych do skanowanego hosta, ponieważ w takim
przypadku Nmap może zwrócić informację, że wszystkie porty są otwarte, co może
nie być prawdą. Mając na uwadze ten problem, program domyślnie próbuje wysłać
11
Więcej o opcjach programu i przykładach zastosowań można znaleźć w dokumentacji programu, który
jest dostępny pod adresem http://www.insecure.org/nmap/man/
2. Przegląd narzędzi ataku
34
pakiet ICMP Echo request (tzw. ping) do skanowanego hosta zanim rozpocznie
skanowanie.
2.1.4 Inne funkcje programu
Dla hakera, nie mniej ważne od zgodnych z rzeczywistością wyników
skanowania jest również skuteczne ukrywanie samego faktu skanowania. Nmap
pozwala na wykorzystanie kilku technik zmniejszających ryzyko wykrycia.
Pierwszą z nich jest FTP Bounce (odbijanie FTP). Technika ta wykorzystuje
pewną słabość zdefiniowaną w specyfikacji protokołu FTP. Kiedy nawiązywane jest
połączenie z serwerem FTP za pomocą klienta FTP, klient nawiązuje domyślnie
połączenie z serwerem poprzez port 21 TCP serwera. Jest to tzw. połączenie kontrolne,
służące do przesyłania informacji diagnostycznych i konfiguracyjnych. Aby przesyłać
strumienie danych, serwer musi nawiązać osobne połączenie z klientem. Oczywiście
klient zacznie nasłuchiwać na nowym porcie, ale najpierw musi poinformować o tym
serwer FTP. Służy do tego komenda PORT, za pomocą której klient prosi
o zainicjowanie połączenia podając adres IP i numer portu, na którym nasłuchuje.
Metoda ta nosi nazwę aktywnego transferu. Okazuje się jednak, że klient wcale nie
musi podać swojego adresu IP. Można więc, wykorzystać serwer FTP do nawiązania
połączenia z innym hostem niż nasz klient FTP i przechwycić informacje, które
serwerowi zwróci ów host.
Z aktywnym transferem wiąże się też pewien problem. Otóż wiele klientów
FTP znajduje się za zaporą sieciową lub urządzeniem NAT (Network Address
Translation), które nie dopuszczają ruchu FTP inicjowanego z zewnątrz. W takim
przypadku technika FTP bounce jest idealnym rozwiązaniem. Napastnik uzyskuje
dostęp do serwera FTP, a serwer FTP uzyskuje dostęp do poszczególnych hostów
wewnątrz strefy zwracając potrzebne informacje. Obecnie najczęściej komunikacja FTP
odbywa się w trybie pasywnym - klient inicjuje zarówno połączenie kontrolne jak i
transfer danych, co pozwala na korzystanie z FTP mimo obecności urządzeń
filtrujących, takich jak zapory sieciowe (pod warunkiem, że reguły w nich zdefiniowane
pozwalają na to komputerom z sieci wewnętrznej). Jednak w Internecie działa sporo
starych serwerów FTP podatnych na technikę FTP bounce i pozwalających na
wykorzystywanie aktywnego transferu. Nmap potrafi nawiązać połączenie FTP w trybie
2. Przegląd narzędzi ataku
35
aktywnym, a następnie wysłać do serwera FTP komendę PORT zawierającą adres IP
skanowanego hosta oraz numery portów, które mają być sprawdzone.
Drugą techniką zmniejszającą ryzyko
wykrycia jest
wykorzystanie
fragmentacji (opcja -f). Pakiety te wysyłane są z uciętymi nagłówkami TCP imitując
uszkodzone lub zdefragmentowane pakiety. Niektóre słabsze zapory ogniowe nie radzą
sobie z tego typu przepływem danych.
Trzecią techniką oferowaną przez Nmap jest wykorzystanie tzw. przynęty. Dzięki opcji
-D
użytkownik może wprowadzić kilka adresów IP oddzielonych przecinkami. Nmap
rozpocznie skanowanie wykorzystując te adresy jako adresy źródłowe. Dodatkowo
zostanie pomieszana kolejność skanowanych portów dla każdego adresu. W logach
skanowanego systemu pojawi się więc kilka prób skanowania różnych portów
z różnych adresów IP i tylko jeden z tych adresów będzie prawdziwy.
Kolejną techniką mogącą ukryć fakt skanowania jest wykorzystywana domyślnie przez
Nmap randomizacja numerów skanowanych portów. O wiele trudniej jest znaleźć
w logach wpisy dotyczące skanowania, gdy numery portów wybierane są w kolejności
losowej, a nie po kolei np. od najmniejszego do największego.
Warto również wspomnieć, że program ten zawiera rozbudowaną bazę danych,
zawierającą luki w stosach TCP/IP wielu wersji, wielu systemów operacyjnych. Baza
ta, służąca identyfikacji systemów operacyjnych i ich wersji na odległość uważana jest
za jedną z najlepszych
12
. Do identyfikacji systemu komputera Nmap potrzebuje dostępu
do zamkniętych i otwartych portów TCP oraz działających usługach. Gdy program
napotka na system, którego nie może rozpoznać, tworzy dla tego systemu „odcisk
palca” i prosi o przesłanie go twórcom bazy danych, by został uwzględniony
w następnych wersjach programu.
2.2 John the Ripper - atak na hasła
Jednym z najpopularniejszych programów umożliwiającym łamanie haseł jest
John the Ripper
13
autorstwa Solar Designer. Dostępny jest on w wersji dla wielu
12
William. R. Chestwick, Steven M. Bellovin, Aviel D. Rubin „Firewalle i bezpieczeństwo w sieci”
Helion 2003
13
Ź
ródła programu jak i pełna jego dokumentacja dostępna jest na stronie www.openwall.com/john
2. Przegląd narzędzi ataku
36
systemów operacyjnych (Unix, Linux, Windows, BeOS, OpenBSD, FreeBSD, IRIX,
AIX, HP-UX) oraz dla różnych platform sprzętowych (Intel, AMD, RISC).
Niewątpliwie jego zaletą jest łatwość użycia, zatrzymywanie i wznawianie sesji oraz
używanie własnych, zoptymalizowanych modułów. John the Ripper potrafi łamać hasła
dostarczone w jednym z kilku formatów. Hasła mogą być zapisane za pomocą
algorytmów DES, Md5, Blowfish, NT LM. Program domyślnie potrafi odczytać
informacje zawarte w plikach passwd, shadow oraz z pliku wyjściowego programu
pwdump
14
. Jeżeli pliki zostały utworzone w inny sposób, należy doprowadzić je do
formatu wymienionych plików. Aby uruchomić aplikację z domyślnymi ustawieniami,
wystarczy podać jako argument plik z haszami. Program automatycznie wybierze
algorytm kodowania i rozpocznie pracę. Łamanie haseł nie polega na ich
rozszyfrowywaniu, ale na szyfrowaniu losowo generowanych lub podanych w inny
sposób ciągów znaków i porównywanie ich z zaszyfrowanym wzorcem. Jeżeli
zaszyfrowana postać wygenerowanego ciągu jest identyczna jak poszukiwany wzorzec,
wtedy hasło uznaje się za złamane. Program zapisuje wszystkie złamane hasła w pliku
tekstowym „john.pot”. W zależności od złożoności hasła, szybkości maszyny
dokonującej porównań oraz przyjętej metody łamania hasła, program może
potrzebować od kilku sekund do wielu lat czasu na wykonanie zadania.
2.2.1 Atak słownikowy na hasło
Ponieważ losowe dopasowywanie haseł jest mało efektywne czasowo, John the
Ripper pozwala na wykorzystanie przygotowanych wcześniej zestawów (słowników)
zawierających najczęściej używane hasła lub inne wyrazy (ciągi znaków). Aby
skorzystać z pliku słownika, należy podać parametr -wordfile: oraz jako argument
nazwę pliku zawierającego ciągi wzorcowe (nazwę słownika). Siłą programu John the
Ripper jest możliwość definiowania i stosowania reguł (opcja –rules). Reguły te
pozwalają na dokonanie permutacji podstawowej zawartości pliku słownika. Definicja
zasad (reguł) znajduje się w pliku john.ini (dla systemu Windows) lub john.conf (dla
systemów UNIX/Linux).
14
Program do wydobywania zakodowanego hasła w systemach Windows
2. Przegląd narzędzi ataku
37
W sytuacji, gdy administrator zdefiniował w systemie operacyjnym zasadę,
według której wszystkie hasła mają się rozpoczynać (przykładowo) od cyfry,
standardowy słownik, zawierający tylko ciągi znaków rozpoczynające się od litery
będzie bezużyteczny. Korzystając jednak z mechanizmu wyrażeń regularnych, można
zdefiniować regułę, dzięki której John the Ripper korzystając z zawartości słownika,
doda do każdego słowa cyfrę od 0 do 9. Na przykład dla jednego wzorca (z pliku
słownika) „hasło”, utworzonych zostanie 10 nowych wzorców w postaci: „0haslo”,
„1haslo”, „2haslo”,itd. Przykład definicji powyższej reguły rozwiązującej powyższy
problem i zamieszczonej w pliku konfiguracyjnym (john.conf lub john.ini) wygląda
następująco:
# Dodaj cyfry do wzorca
^[0123456789]
Symbol „ ^ ” oznacza, że modyfikacja wzorca powinna mieć miejsce na jego początku.
W nawiasach kwadratowych zamieszczono symbole, które mają być po kolei
wykorzystane.
Mechanizm wykorzystujący reguły, pozwala na tworzenie również skomplikowanych
kombinacji. Przykładowo w pliku konfiguracyjnym programu znajduje się reguła:
-c >2(?a!?Xc
Poszczególne znaki użyte w regule oznaczają:
-c – zastosuj tę regułę, jeśli hasło zawiera małe i wielkie litery
>2 – reguła dotyczy wzorców zawierających więcej niż 2 znaki
(?a – jeśli pierwszy znak wzorca nie należy do klasy „a” (litery [a-z A-Z]) pomiń regułę
!?X – pomiń wzorzec, jeśli znajduje się on w klasie X (klasa ta zdefiniowana jest jako
liczby i litery [a-z A-Z 0-9])
c – zamień na wielkie litery
2. Przegląd narzędzi ataku
38
Oprócz reguł pozwalających na umieszczanie znaków w istniejących już
wzorcach, istnieje możliwość zamieniania znaków we wzorcu na inne. Oto kilka
przykładów:
s?v. – wszystkie samogłoski zostaną zastąpione znakiem kropki
@?v – wszystkie samogłoski zostaną usunięte
so0 – wszystkie litery ‘o’ zostaną zastąpione cyfrą ‘0’
Obszerny opis reguł wraz z przykładami dostępny jest w dokumentacji programu.
2.2.2 Metoda siłowa (brute force)
Wykorzystanie słownika pozwala na bardzo szybkie odgadywanie haseł. Jednak,
gdy wszystkie zapisane i skonfigurowane kombinacje nie przyniosą rezultatu,
John the Ripper rozpoczyna działanie w sposób najbardziej skuteczny i zarazem
najbardziej czasochłonny, próbując każdej kombinacji znaków. Zanim jednak
wykorzystana zostanie metoda siłowa, zaleca się wypróbowanie metody single crack
programu (opcja -single). Polega ona na generowaniu haseł na podstawie informacji
wydobytych z pola login i GECOS
15
pliku haseł, wraz ze zdefiniowanymi regułami.
Metoda ta jest bardzo szybka a biorąc pod uwagę, że wielu użytkowników stosuje hasła
utworzone na podstawie swojego loginu, imienia lub nazwiska, może okazać się
niezwykle skuteczna. Jeśli jednak i ta metoda nie przyniesie rezultatów w postaci
złamania zaszyfrowanego hasła należy przejść do metody siłowej (opcja –
incremental:
), która polega na generowaniu haseł składających się z wszystkich
możliwych kombinacji znaków. W pliku konfiguracyjnym programu zostały
zdefiniowane cztery reguły (opcje), według których można przeprowadzać atak brute
force
a są to :
•
incremental:All
– generowane hasła zawierają wszystkie znaki
•
incremental:Alpha
- generowane hasła składają się tylko z małych liter
•
incremental:Digits
– generowanie haseł z składających się z samych cyfr
15
GECOS – pole komentarza, w którym mogą znajdować się informacje o użytkowniku np. imię i
nazwisko
2. Przegląd narzędzi ataku
39
•
incremental:LanMan
– podobnie jak incremental:All, ale bez małych liter
Można również tworzyć własne zestawy znaków, które będą wykorzystywane
w trakcie łamania hasła. Należy jednak mieć świadomość, że ilość możliwych
kombinacji może być ogromna. Dla przykładu, ilość kombinacji dla opcji LanMan
w przypadku hasła składającego się z 6 znaków wynosi prawie 108 miliardów. Dla
komputera, który potrafi sprawdzić 150000 kombinacji w ciągu sekundy, w najgorszym
wypadku złamanie hasła będzie trwało prawie 9 dni. Zwiększając hasło o jeden znak
(do 7), liczba kombinacji wzrasta do ponad 7 trylionów. W tym przypadku łamanie
hasła zajmie w najgorszej sytuacji ponad półtora roku. Biorąc to wszystko pod uwagę,
należy dopasować ustawienia opcji oraz tworzyć własne reguły w celu maksymalnego
uściślenia zasad, doprowadzając do maksymalnego skrócenia czasu potrzebnego na
złamanie hasła.
W tabeli 2 przedstawiono faktyczny czas łamania przykładowych haseł
programem John the Ripper w wersji 1.4, na komputerze z procesorem 1,7 GHz, na
którym to średnia prędkość generowanych kombinacji znaków wynosi 135000 na
sekundę (dla metody siłowej). Czas podano w formacie gg:mm:ss.
hasło
Metoda łamania
login
Rozkodowane
zakodowane
słownikowa
Siłowa
bartek
bartek42
UFzylEoscmXEM
-
00:00:01
bartek
ketrab
(login pisany od końca)
UFg2FXaM.sM7Y
-
00:00:01
user
74826745
UFJy1w2tcyw3Q
-
00:02:48
root
Rower
UfywEDmtVctfI
00:00:06
00:25:10
root
H%7z@
UFOB/ald/ckWw
-
14:37:02
Tabela 2 Czas łamania haseł w zależności od jego skomplikowania
(źródło: opracowanie własne)
Otrzymane wyniki wskazują, że hasła powstałe z loginu, cyfr lub pospolitych
wyrazów są bardzo łatwe do złamania. Jedynie stosowanie wszystkich znaków
klawiatury w haśle gwarantuje, że hasło będzie silne i trudne do złamania w rozsądnym
czasie. W przykładzie, dla hasła pięcioznakowego potrzeba było ponad 14 godzin, aby
je rozszyfrować. Wystarczy jednak zwiększyć hasło do 7 znaków, aby na jego złamanie
potrzeba było około 17 lat.
2. Przegląd narzędzi ataku
40
2.3 Ettercap – węszenie i przechwytywanie
Ettercap jest programem umożliwiającym zarówno podsłuchiwanie sieci
lokalnych jak i również przejęcie, modyfikację i odesłanie pakietów do nadawcy, który
był ich adresatem. Program ten jest darmowy i może być on uruchomiony w systemach
Linux, FreeBSD, OpenBSD, NetBSD, Mac OS X, Windows 2000/XP/2003, Solaris.
Ponieważ działanie Ettercap’a opiera się na ARP-spoofing’u może być on
wykorzystywany w sieciach przełączanych opartych na switch’ach.
Poniżej przedstawiono niektóre możliwości, jakimi dysponuje program Ettercap.
Tworzenie listy hostów sieci.
Program wysyła pojedyncze pakiety ARP - REQUEST (zapytanie) na
wszystkie numery IP w sieci LAN, a dzięki pakietom ARP - REPLY (odpowiedź na
zapytanie) ma możliwość stworzenia listy wszystkich działających urządzeń
sieciowych. Dzięki tej metodzie możliwe jest wykrycie działających hostów, które nie
odpowiadają na tzw. „ping”. Należy jednak podchodzić z ostrożnością do badania sieci
o adresach klasy B (maska podsieci 255.255.0.0) ponieważ program będzie wysyłał
65025 pakietów ARP.
SSH1
Program umożliwia przechwytywanie informacji o loginie, hasłach oraz
danych w połączeniach używających protokołu SSH1.
SSL
Możliwość
przechwytywania
danych
przesyłanych
protokołem
SSL,
fałszowanie przesyłanych certyfikatów i rozszyfrowywanie sesji.
Characters injection
Program umożliwia wysyłanie dowolnych znaków, dzięki czemu możliwe jest
wysyłania rozkazów do serwera i odpowiedzi do klienta w celu zachowania aktywnego
połączenia w trakcie ataku MITM (Man In the Middle)
2. Przegląd narzędzi ataku
41
Filtrowanie pakietów
Ettercap umożliwia zdefiniowanie filtrów wyszukujących ciągi znaków
w pakietach, przesyłanych za pomocą protokołów TCP i UDP. Tym sposobem możliwe
jest całkowite blokowanie pakietów zawierających określone dane lub fałszowanie
danych w przechwyconych pakietach i podmienione zostają odesłane do adresata.
Atak typu Man In the Middle
Program Ettercap umożliwia przeprowadzenie ataku typu „Man In the Middle”
czyli całkowite przejęcie ruchu sieciowego pomiędzy dwoma hostami. W trakcie tego
ataku można skorzystać z czterech metod działania:
•
metoda ARP – polega ona na zatruwaniu ARP cache ofiary i podawaniu się za
inny host
•
metoda ICMP – polega na wysyłaniu przez napastnika fałszywych wiadomości
ICMP do hostów w sieci i podawaniu się za bramę sieciową (gateway). Dzięki
tej metodzie wszystkie połączenia z Internetem kierowane są do napastnika,
który następnie sam kieruje ruch do prawdziwej bramy sieciowej
•
metoda DHCP – napastnik podaje się za serwer DHCP i próbuje wysyłać
fałszywe odpowiedzi. Tą metodą program jest w stanie przejąć cały ruch
wychodzący do Internetu
•
metoda PORT – stosowana jest w sieciach, w których metoda zatruwania ARP
cache nie przynosi efektu (np.: poprzez stosowanie statycznego mapowania
ARP)
Oprócz wymienionych funkcji, Ettercap umożliwia wychwytywanie haseł
przesyłanych za pośrednictwem protokołów TELNET, FTP, POP, RLOGIN, SSH1,
ICQ, MySQL, HTTP, X11 i wielu innych. Możliwe jest również zbieranie informacji
o sieci, takich jak: rodzaj używanego systemu operacyjnego, uruchomione usługi,
otwarte porty, numery IP oraz adresy MAC
16
.
16
Program jak i jego pełną dokumentację można pobrać z http://ettercap.sourceforge.net
2. Przegląd narzędzi ataku
42
2.4 Narzędzia ataku DDoS
Według raportu organizacji CERT Polska zajmującej się bezpieczeństwem
sieci, w Polsce w 2004 roku odnotowano 77 przypadków ataków typu DoS i DDoS
17
.
Ataki tego typu przeprowadzone mogą być za pomocą specjalnych narzędzi, z których
najbardziej znane to Trinoo, Tribal Flood Network oraz Stacheldraht. Działanie ich
opiera się na budowie sieci DDoS składającej się z komputerów z zainfekowanym
systemem, do których to systemów atakujący wysyła komendy rozpoczynające atak
DDoS na wybrany cel. Innym sposobem przeprowadzenia ataku tego typu jest użycie
robaków pocztowych, które instalując się w systemie mają określony z góry czas i cel
ataku.
2.4.1 Trinoo
Program Trinoo, po raz pierwszy został odkryty na komputerach z systemem
Solaris 2.x. Włamanie do tych systemów było możliwe dzięki błędowi przepełnienia
bufora w usługach RPC (stadc, cmsd, ttdbserverd)
18
. Początkowo sądzono, że Trinoo
jest programem typu backdoor, umożliwiającym przesyłanie komend za pośrednictwem
protokołu UDP do zainfekowanego systemu, oraz służącego podsłuchiwaniu sieci.
Dopiero później odkryto, że jego głównym celem jest przeprowadzanie ataku typu
DDoS. W 1999 roku sieć Trinoo składała się z setek maszyn, z których część
przeprowadziła 17 sierpnia 1999 roku udany atak na jeden z serwerów Uniwersytetu
w Minnesocie, co spowodowało paraliż sieci przez prawie dwa dni
19
. Działanie Trinoo
opiera się na budowie trójstopniowej architektury sieci DDoS, co zostało przedstawione
na rys.10
17
http://www.cert.pl/raporty
18
http://www.cert.org/incident_notes/IN-99-04.html
19
D. Dittrich: ‘The DoS Project's trinoo distributed denial of service attack tool’, University of
Washington, http://staff.washington.edu/dittrich/misc/trinoo.analysis
2. Przegląd narzędzi ataku
43
Rys. 10 Schemat trójstopniowej sieci DDoS
(źródło: opracowanie własne)
Napastnik, aby rozpocząć atak musi zalogować się do głównych serwerów
master
i wydać komendę ataku. Komunikuje się on z serwerami master poprzez telnet
na porcie 27665 wykorzystując protokół TCP. Każdy z tych serwerów kontroluje wiele
komputerów zombi, czyli maszyn generujących powódź pakietów. Komunikacja
pomiędzy serwerami master a zombi odbywa się na porcie 27444 (protokół UDP),
natomiast komunikacja pomiędzy zombi a serwerami master na porcie 31335 (protokół
UDP). Atak właściwy prowadzony jest za pomocą techniki UDP Flood. Program
dostępny jest w systemach Unix, Linux i Windows.
2.4.2 TFN (Tribal Flood Network)
Podobnie jak w Trinoo, program Tribal Flood Network
20
umożliwia budowę
trójstopniowej architektury sieci DDoS. TFN umożliwia przeprowadzenie różnych
rodzajów ataków, takich jak powódź pakietów SYN, UDP, ICMP oraz ataki typu
SMURF. Komunikacja w TFN może być realizowana z wykorzystaniem protokołów
TCP, UDP oraz ICMP.
Zaletą programu jest możliwość wyeliminowania jakiejkolwiek komunikacji pomiędzy
klientem (odpowiednik serwera master z programu Trinoo) a komputerami zombi
w stworzonej sieci DDoS za pośrednictwem protokołów TCP lub UDP. Przekazywanie
komunikatów odbywa się wówczas za pośrednictwem pakietów ICMP Echo Reply
w postaci 16 bitowej liczby umieszczonej w polu id pakietu. Korzystając jednak
20
D. Dittrich: ‘The DoS Project's Tribal Flood Network distributed denial of service attack tool’,
University of Washington, http://staff.washington.edu/dittrich/misc/tfn.analysis
2. Przegląd narzędzi ataku
44
z takiego rodzaju komunikacji, niemożliwa jest autoryzacja wydawanych komend.
Z drugiej jednak strony, ten sposób komunikowania może znacznie utrudnić wykrycie
ataku.
2.4.3 Stacheldraht
Stacheldraht
21
jest narzędziem łączącym cechy programów Trinoo i TFN.
Narzędzie umożliwia budowanie sieci DDoS podobnej do tej z TFN, w której znajdują
się komputery główne (master) i podrzędne (zombi). Nowością zastosowaną w tym
pakiecie jest możliwość wymuszenia na maszynach master i zombi aktualizacji swojego
kodu, poprzez pobranie go z serwera podanego w komendzie. Pobranie plików
następuje poprzez protokół RPC i mogą być do tego wykorzystane inne konta zdobyte
przez włamywacza. Kolejną cechą tego programu odróżniającą go od wcześniej
wymienionych jest kodowana transmisja wewnątrz sieci DDoS pomiędzy serwerami
master
a komputerami zombi, co dość dobrze utrudnia wykrycie jej przez systemy
wykrywania włamań IDS (Intrusion Detection System).
2.4.4 Atak DDoS z wykorzystaniem robaków pocztowych
Tendencje w rozwoju ataków DDoS przesuwają się jednak w kierunku
tworzenia autonomicznych agentów, które w żaden sposób nie komunikują się ze sobą.
W przeciwieństwie do wcześniej wymienionych narzędzi, dużą rolę w atakach DDoS
odgrywają robaki rozsyłane za pomocą poczty elektronicznej. Mają one z góry
określony scenariusz ataku, a więc: czas, długość jego trwania oraz cel. Zapewnia to
bezpieczeństwo i dużą anonimowość agresora, gdyż bardzo rzadko można ustalić
pierwszą infekcję. Jednym z najbardziej znanych tego typu robaków jest MyDoom,
który rozprzestrzenia się w postaci załącznika do wiadomości e-mail. Po jego
uruchomieniu, instaluje się on w systemie Windows umożliwiając wykorzystanie
maszyny jako zombi. Następnie zaczyna wysyłać swoje kopie do wszystkich
użytkowników znalezionych w systemowej książce adresowej oraz na adresy,
pozyskane za pośrednictwem wyszukiwarek internetowych Google, Yahoo i Altavista
22
.
21
D. Dittrich: ‘The DoS Project's stacheldraht distributed denial of service attack tool’, University of
Washington, http://staff.washington.edu/dittrich/misc/stacheldraht.analysis
22
D. Cieślak: ‘Google narzędziem MyDooma’, PC World Komputer, Luty 2005
2. Przegląd narzędzi ataku
45
Pierwszą ofiarą ataku DDoS stał się na początku lutego 2004 serwer internetowy SCO
Group
23
. Szacuje się, że w ataku uczestniczyło od 25 do nawet 50 tysięcy komputerów.
Niedługo później pojawiła się następna wersja robaka - MyDoom.B.
Został on
zaprogramowany do przeprowadzenia ataku typu DDoS na serwery internetowe
Microsoft’u co zakończyło się częściowym sukcesem. Do dzisiaj odkryto ponad 30
wersji tego robaka, w których zmieniają się zarówno sposoby rozpowszechniania, jak
i cele ataku.
23
S. Górski: ‘Rok po MyDoomie: robak, który zmienił oblicze Internetu’, PC World Komputer, Styczeń
2005
3. Współczesne metody budowy polityki
bezpieczeństwa systemów informatycznych
3.1 Definicja polityki bezpieczeństwa
Polityka bezpieczeństwa jest zbiorem spójnych, precyzyjnych i zgodnych
z obowiązującym prawem przepisów, reguł i procedur, według których dana
organizacja buduje, zarządza oraz udostępnia zasoby i systemy informacyjne oraz
informatyczne. Swoim zakresem, obejmuje ona sprzęt i oprogramowanie, za pomocą
których informacje są przetwarzane, oraz ludzi, którzy te informację przetwarzają. Brak
istnienia polityki bezpieczeństwa może prowadzić do nadmiernego rozbudowania
zabezpieczeń i nieuzasadnionego wzrostu kosztów utrzymania struktury IT lub
zaniedbania systemów i narażenia firmy na straty spowodowane incydentem, którego
można było uniknąć. Ważne jest, aby w tworzeniu polityki bezpieczeństwa oraz w
wypełnianiu jej postulatów brał udział zarząd lub kierownictwo firmy. Pozwala to nie
tylko uchwalić odpowiedni budżet na bezpieczeństwo, ale też wprowadzić wewnętrzne
normy i regulaminy oraz wyciągać konsekwencje wobec pracowników, którzy ich nie
przestrzegają. Szacuje się, że ponad 80% przypadków naruszających bezpieczeństwo
systemów informatycznych powodowanych jest przez działania pracowników
z wewnątrz instytucji
24
.
Poziom bezpieczeństwa systemu informatycznego może być analizowany za
pomocą dwóch metod. Pierwsza z nich polega na przydziale systemowi tzw. klasy
bezpieczeństwa w ramach standardu zawartego w Pomarańczowej Księdze (The Orange
Book
)
25
. Księga ta, zawiera opis kryteriów przydziału analizowanych systemów do
odpowiednich klas bezpieczeństwa, informacje na temat sposobu wykonywania analiz
bezpieczeństwa a także zalecenia dotyczące zapewniania bezpieczeństwa systemu
informatycznego. Druga metoda oceny poziomu bezpieczeństwa polega na wykonaniu
ekspertyz określanych mianem analizy ryzyka. Cechą charakterystyczną analizy ryzyka
24
M. Koziński: ‘Szkoła przetrwania’, http://www.pckurier.pl/archiwum/art0.asp?ID=5457
25
Pełna nazwa standardu to “Trusted Computer Systems Evaluation Criteria”, który został opracowany
przez Departament Obrony USA. W załączniku przedstawiono opis poszczególnych klas standardu.
3. Współczesne metody budowy polityki bezpieczeństwa systemów informatycznych
47
jest to, że dokonywana ocena w silnym stopniu uwzględnia prawdopodobieństwo
wystąpienia danego zagrożenia.
Do
najbardziej
znanych
organizacji
zajmujących
się
zagadnieniem
standaryzacji w dziedzinie bezpieczeństwa komputerowego należą:
•
ANSI American National Standards Institute,
•
ISO - International Organization for Standarization,
•
NBS - National Bureau of Standards,
•
NCSC - National Computer Security Center.
Nie można jednak opracowywać polityki bezpieczeństwa organizacji tylko na
podstawie funkcjonujących standardów w tej dziedzinie. Każda organizacja ma swoją
specyfikę i powinna mieć odrębną politykę bezpieczeństwa, która jest ściśle powiązana
z charakterem organizacji. Wydział na uniwersytecie ma inne potrzeby niż firma
produkcyjna, a ta z kolei różni się od jednostki wojskowej. Jednak każda
z wymienionych organizacji powinna posiadać własną politykę bezpieczeństwa
wskazującą granice akceptowalnego zachowania oraz definiującą procedury reakcji na
incydent złamania bezpieczeństwa. Nie można również zakładać, że raz opracowana
polityka bezpieczeństwa organizacji będzie w niej zawsze funkcjonowała poprawnie.
Organizacja zmienia się w czasie, zmienia się jej struktura, zatrudniani są nowi
pracownicy, zmienia się system informatyczny w niej funkcjonujący, zmienia się
otoczenie systemu informatycznego. Dlatego też, polityka bezpieczeństwa powinna być
ciągle dostosowywana do zmieniających się warunków wewnętrznych i zewnętrznych
organizacji. Niemniej, można wskazać typowe elementy, które powinna posiadać każda
polityka bezpieczeństwa systemu informatycznego. Najczęściej wymienianymi są:
•
Określenie, kto może mieć konto w systemie; czy mogą istnieć konta typu „gość”,
na jakich kontach mogą pracować dostawcy oprogramowania zajmujący się
konserwacją tego oprogramowania, itp.,
•
Określenie czy wiele osób może korzystać z jednego konta,
•
Określenie, w jakich sytuacjach odbierane jest prawo do korzystania z konta, co
dzieje się z kontami pracowników, którzy odeszli z instytucji,
3. Współczesne metody budowy polityki bezpieczeństwa systemów informatycznych
48
•
Zdefiniowanie wymagań dotyczących haseł – ich skomplikowanie, możliwość
ujawniania współpracownikom - przełożonym, określenie okresów ważności, itp.,
•
Określenie zasad przyłączania się i korzystania z Internetu; określenie osób, której
mają do tego prawo,
•
Określenie zakresu i zasad udostępniania informacji instytucji użytkownikom w
sieci globalnej (np. poprzez strony WWW, e-mail, ftp),
•
Zobligowanie pracowników do wyrażenia zgody na wykonywanie przez
administratorów czynności związanych z bezpieczeństwem instytucji,
•
Określenie metod ochrony informacji o finansach firmy jej pracownikach, itp.,
•
Określenie zasad sporządzania i przechowywania wydruków informacji związanych
z instytucją,
•
Określenie metod ochrony przed atakami na system informatyczny z zewnątrz
firmy.
Należy jednak zaznaczyć, że osiągnięcie całkowitego bezpieczeństwa w
dzisiejszych systemach informatycznych jest w praktyce niemożliwe. Związane jest to z
faktem,
iż
systemy
komputerowe
często
są
systemami
„otwartymi”
i zaimplementowanie w nich stuprocentowego bezpieczeństwa mogłoby spowodować,
ż
e straciłyby swój charakter. Z drugiej strony, koszt wprowadzenia absolutnego
bezpieczeństwa mógłby być tak wysoki, iż przerósłby wartość samego systemu
i chronionych danych
26
. Dlatego, bardzo ważne jest określenie kosztów i zysków
budowanej polityki bezpieczeństwa w powiązaniu z wartością zarówno systemu
informatycznego jak i chronionej informacji. Jednak w wielu sytuacjach, określenie
wartości informacji jest niezwykle trudne. Np., koszt utraty (lub modyfikacji) bazy
danych zawierającej listę płac pracowników, godziny pracy oraz stawkę można
rozpatrywać w kilku różnych aspektach. Najłatwiejszy do określenia jest koszt
potrzebny do odtworzenia bazy danych (np. przez przywrócenie z archiwum lub
wykonanie pracy potrzebnej do zebrania informacji). Jednak, jeśli nieupoważniona
osoba zmieni w bazie stawkę wynagrodzenia, firma może być narażona na koszty
związane z wypłatą wyższych nienależnych pensji. Jeśli informacja o stawkach stanie
się publiczna, konkurencyjna firma może zdecydować się na podkupywanie
26
Dr inż. A. Sadowski: ‘Strategie realizacji polityki bezpieczeństwa’ -
http://www.bezpieczenstwoit.pl/Polityka_bezpieczenstwa.html
3. Współczesne metody budowy polityki bezpieczeństwa systemów informatycznych
49
pracowników, co może zwiększyć koszty związane z przyuczaniem nowych
pracowników lub płacami potrzebnymi do zatrzymania już zatrudnionych
27
.
Opracowania polskich polityk bezpieczeństwa w głównej mierze dotyczą zabezpieczeń
i administracji systemów informatycznych. Jednak, rzadko która polityka określa, jakie
rodzaje informacji w tych systemach mogą być przetwarzane oraz jakie warunki musi
spełnić system, aby informacja się w nim znalazła. Polityka bezpieczeństwa powinna
więc jasno i wyraźnie określać, że jej przedmiotem jest informacja znajdująca się w
systemie informatycznym, a nie sam system
28
.
3.2 Zabezpieczenia fizyczne systemów
Ważnym
składnikiem
zwiększającym
bezpieczeństwo
systemów
informatycznych jest stosowanie zabezpieczeń fizycznych, które powinny być
adekwatne do rodzajów systemów oraz świadczonych usług.
Duże organizacje gospodarcze, (np. banki) o terytorialnie rozbudowanej sieci,
posiadające własne ośrodki przetwarzania danych, mogą wymagać wyższego stopnia
fizycznego i informatycznego zabezpieczenia. W takiej sytuacji, w polityce
bezpieczeństwa organizacji należy zdefiniować poziom zabezpieczeń fizycznych oraz
procedury działania, proporcjonalnie do wartości sprzętu i wielkości potencjalnych
strat, które mogą być wyrządzone w wyniku uszkodzenia zabezpieczeń. Dla sprzętu
komputerowego i nośników informacji, parametr bezpieczeństwa powinien określać,
które obszary stanowią miejsca silnie strzeżone. Istniejące centrum przetwarzania
danych w organizacji, powinno posiadać stosowne zabezpieczenia fizyczne, zarówno
przed skutkami zdarzeń losowych (ogień, powódź, wybuchy itp.), jak i wszelkich
ludzkich ingerencji. Może również istnieć konieczność zlokalizowania centralnych
systemów informatycznych w fizycznie wydzielonych strefach, zabezpieczonych przed
możliwością przebywania w ich pobliżu osób do tego nieupoważnionych. Usytuowanie
takiego centrum informatycznego może uniemożliwiać publiczny dostęp osobom
postronnym w postaci m.in.: osobnej nieruchomości, wyodrębnionej części budynku
27
Douglas. E. Comer: ‘Sieci komputerowe i intersieci’, WNT Warszawa 2000,2001
28
Dr inż. A. Sadowski: ‘Strategie realizacji polityki bezpieczeństwa’
http://www.bezpieczenstwoit.pl/Polityka_bezpieczenstwa.html
3. Współczesne metody budowy polityki bezpieczeństwa systemów informatycznych
50
bez dostępu osób nieupoważnionych, osobnego, zamkniętego pokoju, fizycznej bariery
uniemożliwiającej dostęp do sprzętu komputerowego, itp.
W instytucjach takich jak banki, zaleca się nawet rezygnację z tablic identyfikacyjnych,
szyldów, wywieszek informacyjnych itp., a także umieszczania numerów telefonów w
spisach telefonicznych, pozwalających na łatwe zlokalizowanie zewnętrznych
i wewnętrznych pomieszczeń, w których odbywa się przetwarzanie danych
29
.
Zabezpieczenie infrastruktury i urządzeń systemu informatycznego
Problemy związane z infrastrukturą systemu informatycznego można rozpatrywać w
różnych aspektach
30
:
•
zasady rozmieszczania urządzeń systemu informatycznego:
separacja urządzeń wymagających specjalnego zabezpieczenia i urządzeń
chronionych,
wybór odpowiednich pomieszczeń dla tych urządzeń - oddzielenie od
pomieszczeń, gdzie znajdują się urządzenia zapasowe oraz archiwizacyjne,
wybór takiej lokalizacji dla urządzeń z wymiennymi nośnikami danych
(pamięci taśmowych, napędów dyskowych, wyjmowalnych dysków) oraz
drukarek, aby utrudnić dostęp do nich nieuprawnionym osobom.
•
zasilanie:
powinny być opracowane i wykonane szczegółowe plany wszystkich
instalacji zasilających budynku (zasilanie elektryczne, instalacje: wodna,
gazowa, kanalizacyjna, telefoniczna, alarmowa itp.),
sieć zasilania elektrycznego systemu informatycznego powinna być
zabezpieczona przed przepięciami powstałymi na skutek indukcji lub
wyładowań atmosferycznych,
29
Komisja Nadzoru Bankowego NBP:
http://www.nbp.pl/Publikacje/nadzor_bankowy/pdf/rekomendacja_d.pdf
30
http://www.pckurier.pl/archiwum/art0.asp?ID=2671
3. Współczesne metody budowy polityki bezpieczeństwa systemów informatycznych
51
jeśli nie ma odpowiedniego zabezpieczenia budynku, to należy
zorganizować ochronę najważniejszych urządzeń systemu (m.in. serwery,
urządzenia aktywne), urządzenia krytyczne z punktu widzenia działania
systemu powinny być wyposażone w zasilacze awaryjne, plany zachowania
ciągłości działania w stanach awaryjnych i katastrofalnych powinny
zawierać opis postępowania po ustaniu pracy zasilaczy awaryjnych, cele
działania niektórych instytucji mogą uzasadniać potrzebę zainstalowania
rezerwowego systemu zasilania.
•
zasady zabezpieczania okablowania:
kable zasilające i łącza zapewniające transmisję danych lub realizujące inne
usługi systemu informacyjnego powinny być chronione przed zniszczeniem
lub przechwyceniem przesyłanej informacji,
trasy kabli powinny być wybierane ze szczególną starannością (np. biorąc
pod uwagę łatwość dostępu przez nieuprawnione osoby).
•
zasady zabezpieczania urządzeń znajdujących się poza siedzibą instytucji:
powinien istnieć system zdalnego wykrywania i diagnozowania uszkodzeń
urządzeń,
użytkowanie urządzeń systemu informatycznego powinno odbywać się pod
kontrolą; dotyczy to zwłaszcza nośników danych poufnych i będących
tajemnicą instytucji,
należy opracować i przestrzegać zasad użytkowania przenośnych
komputerów osobistych,
należy przedsięwziąć odpowiednie środki zabezpieczenia urządzeń
składowania danych przed kradzieżą lub uszkodzeniem w czasie transportu,
np. przez zamknięcie w odpowiednich kontenerach, wcześniejsze wykonanie
kopii bezpieczeństwa danych, itp.
Strefy zabezpieczeń
Fizyczne zabezpieczenie systemów informatycznych powinno również opierać
się na zdefiniowaniu stref kontrolnych i wprowadzeniu barier między tymi strefami.
3. Współczesne metody budowy polityki bezpieczeństwa systemów informatycznych
52
Stworzenie bariery dla danej strefy powinno uwzględniać wartość chronionych
aktywów i usług, a także ryzyko naruszenia zabezpieczeń oraz istniejące mechanizmy
ograniczające
to
ryzyko.
Jeśli
wyodrębniono
kilka
poziomów
fizycznego
zabezpieczenia, to każdy z nich powinien mieć jednoznacznie przypisany zbiór
mechanizmów kontrolujących wejście do strefy. Chronione strefy powinny być
wyposażone w mechanizmy gwarantujące upoważnionym osobom autoryzowany
dostęp. Można również rozpatrzyć zasadność stosowania dodatkowych ograniczeń
np. kontrolę dostępu gości i personelu pomocniczego oraz zapewnić niezwłoczne
pozbawienie prawa dostępu osób, które utraciły upoważnienie do wejścia do strefy
(np. w wyniku zwolnienia, przejścia do innego działu itp.)
Zasady fizycznego zabezpieczenia nośników danych
W celu zapewnienia bezpieczeństwa systemu informatycznego, należy również
opracować i wdrożyć zasady postępowania z takimi nośnikami danych, jak
np.: dyskietki, wyjmowalne dyski, płyty CD, taśmy magnetyczne. Dotyczy to
warunków przechowywania, transportowania i niszczenia tych nośników. Należy
uwzględnić konieczność fizycznego ograniczenia dostępu do tych nośników oraz
opracować i wdrożyć zasady opuszczania przez nie siedziby instytucji. Ponadto, musi
być zapewniona możliwość nieodwracalnego niszczenia niepotrzebnych nośników.
3.3 Zabezpieczenia organizacyjne
Zabezpieczenia organizacyjne mają na celu ochronę nie tylko systemu
informatycznego, ale całego systemu informacyjnego instytucji. System informatyczny
to wyodrębniona część systemu informacyjnego, w którym do przetwarzania danych
stosowane są środki i metody informatyczne, a zwłaszcza sprzęt i oprogramowanie
komputerów.
Utworzenie struktury organizacyjnej zajmującej się bezpieczeństwem
informacji jest jednym z podstawowych zadań, jakie spoczywają na kierownictwie.
Organizacja służb zabezpieczenia, ich forma, wielkość, umiejscowienie w strukturze
organizacyjnej i decyzyjnej instytucji zależy od wielu czynników, np. wielkości i
struktury instytucji, celów działania instytucji, wymagań w zakresie zabezpieczenia,
uwarunkowań środowiskowych i kulturowych. Wspólną cechą tych struktur
3. Współczesne metody budowy polityki bezpieczeństwa systemów informatycznych
53
(bez względu na wielkość instytucji) jest podział odpowiedzialności za zarządzanie
systemem informacyjnym oraz za jego zabezpieczenie.
W dużych organizacjach może okazać się za niezbędne zorganizowanie działu, którego
zadaniem jest zarządzanie zabezpieczeniem całego systemu. Do głównych zadań
takiego działu należy definiowanie celów zabezpieczenia, formułowanie polityki
bezpieczeństwa umożliwiającej osiągnięcie tych celów oraz określanie zadań inspektora
zabezpieczeń. W mniejszych instytucjach dział zarządzania zabezpieczeniami może być
zredukowany np. do osoby pełnomocnika ds. zabezpieczenia.
Do zadań działu zarządzania zabezpieczeniami systemu informacyjnego należy:
•
formułowanie celów zabezpieczenia i opracowywanie polityki zabezpieczenia,
•
określanie obowiązków inspektora ds. zabezpieczenia,
•
opracowywanie planu wdrożenia zabezpieczeń,
•
nadzorowanie wdrożenia zabezpieczeń,
•
promowanie działań uświadamiających wagę problemów zabezpieczenia systemów,
•
wskazywanie zasobów (osób, źródeł finansowania, wiedzy itp.), które mogą być
wykorzystane w procesie zabezpieczenia.
Inspektor zabezpieczenia systemu informacyjnego jest tą osobą w instytucji, na
której spoczywa odpowiedzialność za zabezpieczenie systemu informatycznego. Do
inspektora zabezpieczenia napływają wszelkie informacje dotyczące zabezpieczenia
systemu a jest on osobą, która odpowiada za:
•
nadzór nad implementacją planu zabezpieczenia systemu informatycznego,
•
wdrażanie polityki zabezpieczenia systemu, wytycznych i dyrektyw,
•
sprawowanie nadzoru nad utrzymaniem zabezpieczenia w czasie eksploatacji
systemu,
•
koordynację działań podejmowanych w przypadku naruszenia zabezpieczenia
systemu,
•
kierowanie szkoleniami dotyczącymi zabezpieczenia systemu.
3. Współczesne metody budowy polityki bezpieczeństwa systemów informatycznych
54
Osoba pełniąca obowiązki inspektora zabezpieczenia powinna mieć wiedzę
i praktykę w tej dziedzinie. Doświadczonych inspektorów zabezpieczenia jest niewielu.
Na stanowisko to wybiera się więc najczęściej osoby, mające podstawy wykształcenia
informatycznego i przyucza się je w innych dziedzinach, niezbędnych w pracy
inspektora (np. problematyki przestępstw komputerowych, polityki kadrowej,
organizacji i zarządzania). Brak pracowników o odpowiednim wykształceniu oraz
ogólnie niska świadomość problematyki związanej z zabezpieczaniem systemów
informacyjnych powoduje, że w polskich instytucjach często w ogóle nie tworzy się
odrębnego stanowiska inspektora, powierzając jego obowiązki administratorom
systemu informatycznego
31
. Nie jest to dobre rozwiązanie. Trudno się spodziewać, by
inspektor zabezpieczenia umieszczony w dziale zarządzania informatyką, kontrolował
sam siebie. Prawidłowe usytuowanie stanowiska inspektora zabezpieczenia nie jest
sprawą łatwą. Z jednej strony obecność inspektora w działach bieżącej eksploatacji
systemu umożliwia mu szybkie uzyskanie informacji o zachodzących zmianach
(np. ruchach kadrowych lub zmianach organizacyjnych), z całą pewnością
dokładniejszej i bardziej aktualnej niż, gdyby pracował w odległej centrali. Z drugiej
strony, jeśli inspektor znajduje się zbyt blisko użytkowników i administratorów
systemu, może ulegać ich wpływom, tracąc w ten sposób z pola widzenia cele swojej
działalności. Osiągnięcie rozsądnego kompromisu zależy od wielu czynników, niemniej
jednak definiując to stanowisko warto wziąć pod uwagę zasadę rozdzielenia funkcji
inspektora zabezpieczeń i administratora systemu informacyjnego.
Odpowiedzialność za zabezpieczenie systemu informacyjnego spoczywa na
wszystkich jego użytkownikach. Nie zwalnia od niej utworzenie służb zabezpieczenia
systemu informacyjnego. Polityka zabezpieczenia całego systemu informacyjnego
powinna zawierać generalne wytyczne dotyczące zakresu odpowiedzialności. Tam,
gdzie to konieczne, należy szczegółowo zinterpretować wytyczne i określić
odpowiedzialność poszczególnych pracowników (np. za ochronę danych czy
zapewnienie działania systemu w sytuacji awaryjnej). Generalnie, odpowiedzialność
za system
informacyjny
ponosi
jego
właściciel.
Aby
uniknąć
rozmycia
odpowiedzialności, należy starannie zdefiniować obszary, za które odpowiadają
poszczególni menedżerowie. Takie obszary powstają w wyniku jednoznacznego
31
http://www.pckurier.pl/archiwum/art0.asp?ID=2562
3. Współczesne metody budowy polityki bezpieczeństwa systemów informatycznych
55
zidentyfikowania
i
sklasyfikowania
poszczególnych
aktywów
i
procesów
zabezpieczenia oraz uzgodnienia i udokumentowania zakresu odpowiedzialności dla
wszystkich aktywów oraz procesów zabezpieczenia
3.4 Regulacje prawne
Przepisy karne w Polsce, mające zastosowanie w przypadku łamania prawa
przez użytkowników komputerów i sieci zawarte zostały w kodeksie karnym w
rozdziale XXXIII zatytułowanym „Przestępczość przeciwko ochronie informacji”.
Powstało również lub zostało znowelizowanych wiele ustaw, które w dużej mierze mają
na celu ochronę informacji. Są to między innymi:
•
Ustawa o podpisie elektronicznym z dnia 18 września 2001r. (Dz.U. Nr 130,
poz.1450),
•
Ustawa z dnia 27 lipca 2001r. o ochronie baz danych (Dz. U. Nr 128, poz. 1402).
•
Ustawa z dnia 18 lipca 2002r. o świadczeniu usług drogą elektroniczną (Dz.U. Nr
144, poz.120),
•
Ustawa o ochronie informacji niejawnych z dnia 22 stycznia 1999r. (Dz.U. Nr 11,
poz. 95 z późniejszymi zmianami),
•
Ustawa o ochronie danych osobowych z dnia 29 sierpnia 1997 (Dz. Nr 133, poz.
883 z późniejszymi zmianami),
•
Ustawa z dnia 5 lipca 2002r. o ochronie niektórych usług świadczonych drogą
elektroniczną opartych lub polegających na dostępie warunkowym (Dz.U. Nr 126,
poz. 1068).
Artykuł
267
§1
kodeksu
karnego
stanowi
podstawę
karalności
nieuprawnionego dostępu do systemu informatycznego. Pozwala on pociągnąć hakera
do odpowiedzialności karnej wówczas, gdy na skutek złamania zabezpieczeń uzyska on
zastrzeżoną dla niego informację, przechowywaną nie w jego komputerze
(lub systemie). Stworzenie takiej właśnie konstrukcji prawnej można podporządkować
istocie scanningu. O szerokim zakresie karalności samego podsłuchu komputerowego
mówi §2 tego artykułu. Powiększa on ujęcie nieuprawnionego dostępu poprzez
wykorzystywanie programów typu password-sniffer służących do przechwytywania
3. Współczesne metody budowy polityki bezpieczeństwa systemów informatycznych
56
przede wszystkim haseł oraz przechwytywania informacji wprowadzanych do
komputera poprzez klawiaturę (tzw. key-loggers). Paragraf ten obejmuje również
przechwytywanie wiadomości wysyłanych pocztą elektroniczną i pozwala uznać to
wszystko za przestępstwo.
Integralność danych komputerowych przed ich nieuprawnionym usuwaniem,
niszczeniem lub zmienianiem chroni art. 268 kodeksu karnego. Jednakże trudno na jego
podstawie mówić o bezwzględnym zakazie modyfikacji lub przekierowywaniu stron
WWW lub też zakazie rozpowszechniania wirusów komputerowych.
Dostępność elektronicznie przetwarzanej informacji jest przedmiotem ochrony art. 269
kodeksu karnego. Przewiduje on karalność tzw. sabotażu komputerowego. Zapewnia
ochronę przede wszystkim serwerom związanym z sektorem publicznym oraz
niektórym rodzajom szczególnie chronionej informacji (np. istotnej dla obronności
kraju lub funkcjonowania administracji rządowej). Pozostawia tym samym niemalże
poza zakresem ochrony serwery komercyjne i inne domeny niż rządowa.
Pojęcie przestępstw związanych z używaniem komputerów obejmuje również
zamachy na tradycyjne dobra prawne dokonywane z wykorzystaniem nowoczesnych
technologii przetwarzania informacji. Przykładem tego przestępstwa może być
"elektroniczne pranie pieniędzy" lub oszustwo popełnione na szkodę uczestnika aukcji
internetowej. Przestępstwami związanymi z używaniem komputerów są również typy
czynów zabronionych, które zostały specjalnie wprowadzone do ustawodawstwa
karnego w celu zapewnienia ochrony dobrom prawnym w sytuacji, gdy do ich
naruszenia dochodzi przy pomocy techniki komputerowej.
W kodeksie karnym, poza wyżej wymienionymi, można znaleźć artykuły
dotyczące następujących typów przestępstw związanych z użyciem komputerów:
•
oszustwo komputerowe (art. 287 § 1 k.k.),
•
oszustwo telekomunikacyjne (art. 285 k.k.),
•
fałszerstwo komputerowe (art. 270 k.k.),
•
nielegalne uzyskanie programu komputerowego (art. 278 § 2 k.k.),
•
paserstwo programu komputerowego (art. 293 § 1 i 2 k.k.),
•
szpiegostwo komputerowe (art. 130 k.k.),
3. Współczesne metody budowy polityki bezpieczeństwa systemów informatycznych
57
•
sprowadzanie niebezpieczeństwa powszechnego na skutek zakłócenia procesów
automatycznego przetwarzania informacji (art. 165 k.k.).
Kodeks karny zabrania również rozpowszechniania informacji uzyskanych w
sposób nielegalny. Przykładem takiego zakazu jest art. 267 k.k., który za ujawnienie
innej osobie informacji uzyskanych w wyniku naruszenia chroniących jej zabezpieczeń
lub przechwyconej podczas transmisji, przewiduje karę pozbawienia wolności do 2 lat.
Naruszeniem tego zakazu jest nie tylko ujawnienie pojedynczej osobie „złamanych”
haseł dostępu do systemów komputerowych, lecz także rozpowszechnianie takich
informacji, np. za pomocą serwerów FTP lub stron WWW.
Od 10 marca 2003 roku obowiązuje w Polsce zakaz przesyłania informacji
handlowej, która nie została zamówiona, za pomocą środków komunikacji
elektronicznej, w szczególności poczty elektronicznej. Postępowanie taki stanowi czyn
nieuczciwej konkurencji i jest wykroczeniem zagrożonym karą grzywny do 5000 zł.
Oczywiście kara ta grozi wyłącznie osobom podejmującym na terenie Polski działania
naruszające anty-spamowe przepisy.
4. Metody i środki informatycznego zabezpieczania
systemów
4.1 Uwierzytelnianie
Uwierzytelnianie to proces udowodnienia swojej tożsamości. Podczas gdy
z perspektywy bezpieczeństwa sieci, ważne są również i inne elementy (identyfikacja
oraz autoryzacja), to proces uwierzytelniania jest najtrudniejszy do osiągnięcia.
Uwierzytelnianie może opierać się na jednym, dwóch bądź trzech elementach:
•
informacji,
która
powinna
być
znana
wyłącznie
autoryzowanemu
użytkownikowi, takich jak hasło lub osobisty numer PIN (personal
identification number
). Element ten jest określany jako uwierzytelnianie typu 1
(Type 1 authentication),
•
urządzenia, które powinno być w posiadaniu wyłącznie autoryzowanego
użytkownika, takiego jak np. karta magnetyczna (z mikroprocesorem, z
pamięcią) lub tzw. token. Element ten jest określany jako uwierzytelnianie typu
2 (Type 2 authentication),
•
unikalnych cech biometrycznych autoryzowanego użytkownika, takich jak
odcisk palca lub wzór siatkówki. Ten element jest określany jako
uwierzytelnianie typu 3 (Type 3 authentication).
Oczywiście zastosowanie więcej niż jednego mechanizmu uwierzytelniającego
zwiększa wiarygodność procesu. Na przykład dwuetapowe uwierzytelnianie, może
wykorzystywać takie elementy jak numer PIN w połączeniu z kartą magnetyczną lub
urządzeniem generującym hasło. Po uwierzytelnieniu użytkownik uzyskuje dostęp do
określonych zasobów systemu i informacji a taka alokacja uprawnień jest określana
mianem autoryzacji.
Najpopularniejszym
sposobem
uwierzytelniania
użytkowników
jest
uwierzytelnianie typu 1, czyli z wykorzystaniem haseł. Z tego powodu skuteczne
4. Metody i środki informatycznego zabezpieczania systemów
59
zabezpieczanie haseł przed niepowołanym dostępem jest kluczowym aspektem polityki
bezpieczeństwa. Najwyższy poziom bezpieczeństwa zapewniają hasła jednorazowe,
z których można skorzystać dokładnie jeden raz, po którym przestaje ono być ważne.
Przykładem zastosowania haseł jednorazowych jest np. mBank. Wykonanie
jakiejkolwiek operacji na koncie, wymaga podania przez klienta tego banku
jednorazowego hasła z listy, która dostarczana jest tradycyjną pocztą.
Hasła można również podzielić na statyczne, które pozostaje identyczne przy
każdym logowaniu oraz dynamiczne, które się zmienia. W organizacji może istnieć
wymóg okresowych zmian haseł, na przykład raz na miesiąc, raz na kwartał lub
w innych odstępach czasu, w zależności od stopnia poufności danych zabezpieczanych
tymi hasłami. Jednak przeprowadzone badania wskazują, że wymagane w polityce
bezpieczeństwa regularne zmiany haseł powodują osłabienie bezpieczeństwa systemu.
Użytkownicy, od których wymaga się częstego zmieniania haseł, tworzą na ogół hasła
łatwiejsze do zapamiętania a przez to mniej bezpieczne i częściej je ujawniają
32
.
Spora część udanych włamań spowodowana jest używaniem „słabych haseł”, w których
użyto imion, nazw, numerów telefonów, itp. Dobre hasło to niekoniecznie hasło bardzo
długie, ale dostatecznie skomplikowane. Hasła, które stosunkowo prosto jest złamać to
takie, które zawierają między innymi:
imię, nazwisko, datę urodzin i inne informacje o użytkowniku,
słowa, które występują w słownikach,
proste układy znaków na klawiaturze, takie jak np. QWERTY,
hasła składające się z samych liter lub samych cyfr,
ciąg powtarzających się takich samych cyfr lub liter,
takie same jak login.
32
William. R. Chestwick, Steven M. Bellovin, Aviel D. Rubin „Firewalle i bezpieczeństwo w sieci”
Helion 2003
4. Metody i środki informatycznego zabezpieczania systemów
60
Aby utrudnić napastnikowi złamanie hasła, warto przestrzegać kilku zasad w jego
wyborze:
nie używać loginu, imion, nazwisk, wyrazów pospolitych w żadnej formie:
normalnie, pisanych od końca, z dużej litery lub z dodanymi liczbami,
nie używać haseł składających się z samych liter lub samych cyfr,
nie używać haseł krótszych niż 8 znaków,
korzystać ze znaków spoza alfabetu,
korzystać z haseł, które łatwo będzie zapamiętać w celu uniknięcia ich
zapisywania,
stosować różne hasła w różnych miejscach.
Aby utworzyć mocne hasło, które będzie proste do zapamiętania można
kierować się różnymi metodami. Np. można wybrać zdanie łatwe do zapamiętania:
„Urodziłem się w Krakowie, 1 stycznia 1978 roku”. Następnie wystarczy zapisać
pierwsze litery wyrazów zdania, dodatkowo wciskając klawisz shift przy wpisywaniu
cyfr. Posługując się tą metodą można uzyskać silne hasło, które w tym przypadku ma
postać: UswK,!s!(&*r.
W niektórych sytuacjach zamiast haseł może być stosowana fraza
(passphrase). Fraza jest ciągiem znaków, z reguły dłuższym od dopuszczalnej długości
hasła, która jest konwertowana przez system na formę wirtualnego hasła. Hasła mogą
być również generowane w sposób automatyczny z użyciem różnych kart
mikroprocesorowych, lub specjalnie dedykowanych urządzeń tzw. tokenów. Generatory
haseł stanowią implementację uwierzytelniania typu 2.
Kolejną, trzecią metodą uwierzytelniania są techniki biometryczne.
Biometryka jest zdefiniowana jako zautomatyzowane techniki identyfikacji lub
uwierzytelniania osób z wykorzystaniem ich charakterystyki fizjologicznej. Biometryka
należy do mechanizmów uwierzytelniających typu trzeciego. Znajduje ona
zastosowanie zarówno do identyfikacji, jak i do uwierzytelniania.
W celu identyfikacji biometryka jest stosowana w wyszukiwaniach typu
„jeden do wielu”, gdzie cechy biometryczne są odnajdywane w większej bazie danych
4. Metody i środki informatycznego zabezpieczania systemów
61
zapisanych cech biometrycznych. Przykładem takiego wyszukiwania może być próba
dopasowania odcisków palców sprawcy za pomocą bazy danych, zawierającej odciski
palców wszystkich obywateli.
Uwierzytelnianie natomiast, obejmuje wyszukiwanie typu „jeden do jednego”,
ponieważ polega na sprawdzeniu, czy użytkownik poddany sprawdzeniu jest tym, za
kogo się podaje.
Przykładem takiego wyszukiwania może być porównanie odcisków palców danej osoby
z jej odciskami palców, zapisanymi w bazie danych pracowników firmy. Biometryka w
zastosowaniach
kontroli
dostępu
jest
wykorzystywana
do
identyfikacji
w mechanizmach kontroli fizycznej i do uwierzytelniania w mechanizmach kontroli
logicznej. Typowe cechy biometryczne obejmują:
skanowanie siatkówki,
skanowanie tęczówki,
linie papilarne,
skanowanie twarzy,
skanowanie dłoni,
geometria dłoni,
głos,
dynamika ręcznego podpisu.
System biometryczny posiada kilka cech, które określają jego skuteczność
i wydajność. Należą do nich nie tylko cechy techniczne, ale również subiektywne
poczucie komfortu użytkowników zmuszonych do poddania się badaniom. Przykładami
cech pomiaru skuteczności są
33
:
•
Współczynnik fałszywych odrzuceń (FRR - false rejection rate), zwanych błędami
typu pierwszego. Jest to procentowy współczynnik błędnych odrzuceń
prawidłowych prób zalogowania,
•
Współczynnik fałszywych akceptacji (FAR - false acceptance rate), zwanych
błędami typu drugiego. Jest to procentowy współczynnik błędnych akceptacji
nieprawidłowych prób logowania,
33
http://www.biometryka.com/
4. Metody i środki informatycznego zabezpieczania systemów
62
•
Skrzyżowany współczynnik błędu (CER - crossover error rate). Jest to procent
przypadków, w których FRR jest równy FAR. Im mniejsza wartość CER, tym
skuteczniejszy jest system biometryczny,
•
Czas pobrania - czas, który jest potrzebny do pobrania próbek biometrycznych.
Akceptowalny czas analizy wynosi około dwóch minut,
•
Przepustowość systemu - liczba użytkowników w jednostce czasu, których dane
mogą być przetworzone przez system po pobraniu próbek do analizy. Akceptowalna
przepustowość to około 10 podmiotów na minutę,
•
Akceptowalność - dotyczy zagadnień prywatności, inwazyjności i względów
psychologicznych, czyli ogólnie rozumianego komfortu korzystania z systemu. Na
przykład skanowanie siatkówki może się wiązać z naruszeniem płynów ustrojowych
na powierzchni oka. Inne zagadnienie związane z tą technika może dotyczyć zmian
w siatkówce związanych ze stanem zdrowia użytkownika, na przykład z
początkowymi stadiami cukrzycy lub podwyższonym ciśnieniem krwi.
Rzeczywistym problemem w stosowaniu technik biometrycznych w sieci,
polega na tym, że odległy komputer nie czyta np. odcisku palca tylko ciąg bitów. Bity te
mogą pochodzić z czytnika biometrycznego, ale nie ma żadnego sposobu, który
pozwoliłby się o tym przekonać czy jest tak naprawdę. Innym problemem z
biometrykami jest również to, że pozostają one niezmienne oraz są „pozostawiane”
wszędzie wokół. Odciski palców można znaleźć na różnych przedmiotach, głos może
zostać nagrany, itp. Znaleźć można raporty o sfałszowanych odciskach palców
wykonanych z żelatyny i o programach rozpoznawania twarzy oszukiwanych przez
naturalnej wielkości fotografie
34
.
4.2 Kerberos
Kerberos to zaufany protokół uwierzytelniający, który działa w sieci i
zapewnia bezpieczny sposób kontroli dostępu do jej zasobów przy zastosowaniu
technik kryptografii z użyciem kluczy symetrycznych. Mechanizmy Kerberos opierają
się na założeniu, że komputery przyłączone do sieci stanowią publicznie dostępne,
34
William. R. Chestwick, Steven M. Bellovin, Aviel D. Rubin „Firewalle i bezpieczeństwo w sieci”
Helion 2003
4. Metody i środki informatycznego zabezpieczania systemów
63
niegodne zaufania lokalizacje. Z tego wynika, że komunikaty mechanizmu Kerberos
przesyłane w sieci mogą być przechwytywane przez intruzów. Zakłada się jednak, że
niektóre lokalizacje można zabezpieczyć na tyle, aby działały jako zaufane mechanizmy
uwierzytelniające, dostępne dla wszystkich klientów i usług w sieci.
Kerberos umożliwia przeprowadzenie uwierzytelnienia zarówno przesyłanych
komunikatów, jak i stron nawiązujących komunikację. Sam proces uwierzytelniania
odbywa się za pośrednictwem tzw. centrum dystrybucji klucza KDC (Key Distribution
Center
). Centrum to stanowią dwa bezpieczne, niezależne od siebie serwery: serwer
uwierzytelniania AS (Authentification Server) oraz serwer przyznający bilety TGS
(Ticket Granting Server). Serwer AS przechowuje hasła wszystkich użytkowników
sieci, zaś serwer TGS zajmuje się weryfikacją i organizacją dostępu użytkowników do
zasobów sieci. Na rysunku 11 przedstawiono przykładowy proces nawiązywania
połączenia przez klienta z serwerem FTP za pośrednictwem systemu Kerberos.
Rys. 11 Uwierzytelnianie w systemie Kerberos
(źródło: opracowanie własne)
Klient chcący uzyskać dostęp do danych na serwerze FTP, zwraca się do
serwera uwierzytelniającego AS z prośbą o dostęp. Wysyła wiadomość, zaszyfrowaną
kluczem opartym na haśle użytkownika. Serwer AS sprawdza w swojej bazie
4. Metody i środki informatycznego zabezpieczania systemów
64
uprawnienia klienta do żądanego serwera, po czym w przypadku posiadania przez
klienta takowych uprawnień przyznaje tzw. bilet na przyznanie biletu, czyli
TGT (ticket granting ticket). Następnie wynik całej operacji, czyli bilet TGT wraz
z kluczem sesji jest szyfrowany kluczem opartym na haśle użytkownika i odsyłany
z powrotem do klienta (rys. 11-A). Klient, korzystając ponownie ze swojego hasła
użytkownika rozszyfrowuje otrzymane dane. Dzięki takiemu podejściu, hasło
w żadnym momencie nie jest przesyłane przez sieć. Następnie, po wcześniejszym
zaszyfrowaniu przesyłki kluczem sesji, klient przesyła do serwera TGS otrzymany bilet
TGT wraz z tzw. wartością uwierzytelniającą, zawierającą identyfikator klucza sesji,
adres sieciowy i stempel czasowy. Serwer TGT rozszyfrowuje przesyłkę i weryfikuje
żą
danie. W przypadku pozytywnej weryfikacji tworzy bilet do żądanego serwera
i odsyła go do klienta (rys. 11-B). Klient, po odebraniu biletu, może się już zwrócić do
serwera FTP wysyłając bilet wraz z wartością uwierzytelniającą. Serwer również
zwraca wartość uwierzytelniającą, jeśli wymagane jest obustronne uwierzytelnienie
(rys. 11-C). Klient może otrzymany bilet TGT ponownie użyć, w celu otrzymania
biletów do innych serwerów systemu. Ważne jest to, że klient uwierzytelnia się na
kolejnych serwerach bez konieczności podawania swojego hasła. Do uwierzytelnienia
wystarczy przesłanie biletu. Zaletą tego rozwiązania jest to, ze użytkownik nie musi
zdradzać hasła w nieznanym bliżej serwerze, który jest w obszarze ryzyka danej sieci.
Serwer zaś może wpuścić użytkownika, bez podania hasła (tylko na podstawie biletu),
gdyż obie strony: użytkownik i serwer ufają centrum dystrybucji kluczy KDC. Zatem
obie strony mogą się wzajemnie uwierzytelnić. Dla użytkownika istotne jest to, że musi
on tylko raz podać swoje hasło, przy uwierzytelnianiu na serwerze AS. Potem
otrzymuje on bilet TGT i od tej chwili ma dostęp do zdalnych serwerów bez
konieczności podawania hasła, gdyż nie jest ono wymagane do otrzymania biletu na
konkretny serwer.
Podstawowym celem stosowania mechanizmu Kerberos jest zabezpieczenie
poufności i integralności informacji. Z powodu braku zaufania do stacji roboczych
i kabli sieciowych nie ma bezpośredniej możliwości zabezpieczenia dostępności.
Jednak pomimo tego, że Kerberos jest wyjątkowo użytecznym i dużo lepszym
rozwiązaniem niż inne, bazujące na adresie metody uwierzytelniania, nie jest on
pozbawiony pewnych słabości i ograniczeń. Ponieważ wszystkie tajne klucze klientów
i innych zasobów sieciowych są zapisane na serwerach KDS i TGS, serwery te są
4. Metody i środki informatycznego zabezpieczania systemów
65
podatne
na
ataki
i
stanowią
potencjalny
pojedynczy
punkt
uszkodzenia
(single point of failure). Dzięki wykorzystaniu w określonym czasie biletów
wygenerowanych
w
sposób
nielegalny,
możliwe
jest
również
uzyskanie
nieautoryzowanego dostępu do zasobów. Również z uwagi na przesyłanie hasła
użytkownika do serwera Kerberos jawnym tekstem na początku sesji, mechanizm
Kerberos jest podatny na techniki zgadywania haseł. Tajny klucz klienta jest
zapisywany tymczasowo na stacji klienta, a więc jest potencjalnie podatny na
naruszenie bezpieczeństwa.
4.3 Zapory sieciowe (Firewall)
Zapora sieciowa (firewall) to jedna z najważniejszych metod zabezpieczeń,
której używa się do obsługi połączeń między dwoma sieciami, nieufającymi sobie
nawzajem. Zaporę sieciową można definiować jako każdy program, układ lub sprzęt
ograniczający korzystanie z sieci
35
. Funkcje zapory może pełnić router, system
operacyjny, serwer pośredniczący (proxy), aplikacja czy też urządzenie służące do
rozkładania obciążenia ruchu (load-balanced). Funkcja zapory sieciowej potrzebna jest
w każdej sieci, w której nawiązywane są połączenia z potencjalnie niebezpiecznymi
ź
ródłami. Firewall sprawdza każdy przepływający przez nią pakiet i przepuszcza lub
blokuje go zgodnie z regułami ustalonymi przez administratora. Zapory umożliwiają
utworzenie konfiguracji, która jest kompromisem między siecią izolowaną od Internetu
a siecią swobodnie do niego podłączoną. Ponadto, umożliwiają one tworzenie tzw. stref
zdemilitaryzowanych (Demilitarized Zone – DMZ). Strefy te, to podsieci, które
oddzielają serwery dostępne na zewnątrz, np. serwery WWW, podatne w większym
stopniu na atak z Internetu, od sieci wewnętrznej. W wypadku włamania na taki serwer,
intruz nie będzie miał możliwości (lub będzie ona znacznie utrudniona) dostać się do
sieci wewnętrznej. Przykładowy schemat strefy DMZ ilustruje rysunek 15.
35
W. R. Chestwick, S. M. Bellovin, A. D. Rubin: ‘Firewalle i bezpieczeństwo w sieci’ Helion Gliwice
2003
4. Metody i środki informatycznego zabezpieczania systemów
66
Rys. 12 Strefa zdemilitaryzowana (DMZ)
(źródło: opracowanie własne)
Zapory sieciowe wyróżnia kilka podstawowych cech. Większość z nich jest
zaprogramowana tak, aby ograniczać lub przepuszczać charakterystyczny ruch w sieci.
Decyzje, o zablokowaniu lub przepuszczeniu pakietu, zapory sieciowe podejmują na
podstawie reguł zdefiniowanych przez producenta lub administratora. Typowa reguła w
najprostszej postaci zawiera informacje o źródle (nadawcy) pakietu, przeznaczeniu
(adresacie), usłudze (lub numerach portów) oraz jedną z dwóch opcji postępowania –
„zabroń” lub „zezwól”. Warto zauważyć, że w regułach nie ma informacji
o połączeniach zwrotnych. Domyślną zasadą jest, że jeśli pakiet zawierający zapytanie
został przepuszczony, pakiet zwrotny zawierający odpowiedź również zostanie
przepuszczony.
Zapory sieciowe można podzielić na trzy główne typy:
•
filtrujące (packet-filtering firewall) – filtrowane są pakiety przychodzące
i wychodzące z hosta,
•
z inspekcją stanów (stateful-inspection firewall) – zestawiające według określonych
zasad połączenia TCP pomiędzy komputerami z sieci wewnętrznej a Internetem.
Odbywa się to jednak bez kontroli zawartości pakietów (TCP tunneling),
•
pośredniczące (application proxy firewall) – umożliwiające kontrolowany dostęp do
określonych usług poprzez pośredniczący serwer proxy.
4. Metody i środki informatycznego zabezpieczania systemów
67
Większość rozwiązań typu Firewall, należy do jednego z wyżej wymienionych
typów. Istnieją również tzw. adaptacyjne zapory sieciowe, które są połączeniem tych
trzech odmian. Działanie ich polega na równoległym zastosowaniu wszystkich
możliwych metod obsługi danego ruchu (odpowiednie pośredniczenie lub filtrowanie).
Np. początkowe połączenie klienta z serwerem zostaje przeanalizowane na poziomie
aplikacji przez proxy, a następnie po podjęciu decyzji na temat jego charakteru kolejne
porcje danych są przetwarzane przez aktywny filtr pakietów.
Zapory sieciowe filtrująca pakiety
Zapora tego typu jest klasycznym filtrem pakietów. Jedną z jej cech jest brak
możliwości analizowania zawartości (treści zasadniczej) pakietów. Informacje
pobierane są z początkowych nagłówkowych pól pakietów, które zawierają informacje
o adresach IP nadawcy i odbiorcy oraz typie pakietu (porty źródłowe i przeznaczenia
TCP/IP). Analiza odbywa się tylko na poziomie warstwy sieciowej (IP) modelu OSI.
Filtr pakietów nie rozróżnia pakietów rozpoczynających i kończących połączenie oraz
analizuje je wszystkie pojedynczo.
Jak już wcześniej wspomniano, filtr zapory nie rozpoznaje informacji
znajdujących się poza kilkoma pierwszymi bajtami nagłówka pakietu. Z tego powodu
chroni on na przykład przed atakami DoS typu SYN flood. Filtr nie jest też w stanie
kontrolować poprawności fragmentacji pakietów. Pakiety pofragmentowane mogą
wyglądać jak zwykły ruch HTTP, ale po złożeniu ich w całość już poza zaporą
wewnątrz sieci lokalnej, mogą inicjować wychodzące połączenie, na przykład z usługą
telnet na komputerze napastnika. Implementacja zapory filtrującej pakiety pozwala na
zablokowanie znacznej części niepożądanego ruchu i powinna stanowić pierwszą linię
obrony. Należy jednak pamiętać, że filtry pakietów można oszukać. Dlatego też,
zapewniają one podstawowe funkcje obronne i należy je stosować w powiązaniu
z innymi mechanizmami ograniczającymi.
Zapory sieciowe z inspekcją stanów
Zapory sieciowe tego typu dokonują analizy ruchu na poziomie protokołów
w warstwie aplikacji (TCP, UDP) modelu OSI.) Odwołują się one do zdefiniowanych
reguł (podobnie jak filtry pakietów), ale są one interpretowane za pomocą dodatkowych
układów logicznych. W zależności od rodzaju zapory, przed podjęciem decyzji
4. Metody i środki informatycznego zabezpieczania systemów
68
o dopuszczeniu lub odrzuceniu pakietów, firewall może analizować jedną lub więcej
warstw modelu OSI.
Zapory z inspekcją stanów analizują nie tylko informacje o źródle,
przeznaczeniu i numerach portów, ale sprawdzają też stan połączenia. Na pełną
informację o stanie połączenia składają się oprócz informacji o adresach i numerach
portów, numery sekwencji pakietów oraz znaczniki TCP. Zapory te, posiadają
wbudowaną bazę dotyczącą protokołów sieciowych oraz poprawnych i niepoprawnych
zachowań. Dlatego też, napastnik nie ma możliwości podsyłania spreparowanych
pakietów, zawierających nietypowe lub błędne, niezgodne z definicjami protokołów
dane. Zostaną one zablokowane przez zaporę sieciową, która posiada tablicę stanów, w
której przechowywane są informacje dotyczące każdego połączenia. Tablica stanów jest
aktualizowana za każdym razem, gdy zmienia się status połączenia, gdy rozpoczyna się
nowa sesja lub inna dobiega końca. Zapora sieciowa z tablicą stanów pozwala również
na rozpoznawanie określonych rodzajów oprogramowania. Cecha ta pozwala na
konfigurowanie zapory umożliwiającej przepuszczanie ruchu korzystającego tylko
z wybranych typów protokołów. Np. administrator może zezwolić zaporze na
połączenia ftp PUT, ale zablokować połączenia typu GET. Zapory tego typu mogą
również
analizować
dodatkowe informacje,
takie jak
fakt
wcześniejszego
uwierzytelnienia użytkownika.
Zapory pośredniczące
Zarówno zapory z tablicą stanów jak i zapory filtrujące pakiety, umożliwiają
bezpośrednie połączenia pomiędzy komputerami po obu stronach zapory. Zapora
sieciowa pośrednicząca, nie zezwala na bezpośrednie połączenia między hostami
znajdującymi się po obu stronach zapory. Wszystkie połączenia są dokonywane
za pośrednictwem serwera pośredniczącego (tzw. proxy), przechwytującego wszystkie
przychodzące i wychodzące sesje, oraz analizującego ich zgodność z listą reguł. Gdy
reguły pozwalają na przesłanie pakietu, zapora dopiero wtedy ustanawia połączenie
między sobą a urządzeniem docelowym. Serwer proxy działa jako pośrednik między
dwoma hostami. Największą niedogodnością tego typu zapory jest mała prędkość
działania i duże zapotrzebowanie na zasoby. Aby odpowiedzieć na każde połączenie,
zapora musi zainicjować dwa połączenia. Najpierw z nadawcą, a po sprawdzeniu
poprawności z odbiorcą pakietu.
4. Metody i środki informatycznego zabezpieczania systemów
69
Istnieją również rozwiązania podobne funkcjonalnie, ale wykorzystujące dwie
zapory połączone ze sobą dedykowanym łączem i komunikujące się między sobą przy
pomocy innych protokołów niż na zewnątrz (z siecią Internet oraz LAN). Dzięki
takiemu rozwiązaniu, zdobycie przez intruza zapory zewnętrznej nie daje możliwości
dostania się do sieci wewnętrznej, gdyż broni jej druga zapora. Dodatkowym
elementem obronnym jest zastosowanie do komunikacji zapora-zapora nietypowego
i dedykowanego protokołu sieciowego, który nie jest podatny na słabości protokołów
stosu TCP/IP. Nie pozwala to intruzowi wykorzystywać tych słabości i oszukiwać
zaporę sieciową mającą problemy na przykład z prawidłowym rozpoznawaniem pakietu
zawierającego spreparowane dane. W tabeli 3 przedstawiono wady i zalety
wymienionych zapór sieciowych.
Rodzaj zapory
Zalety
Wady
Filtrująca
pakiety
Szybkość w działaniu
Elastyczność
Brak możliwości uwierzytelniania
„Nie rozumie” protokołu warstwy aplikacji
Bezpośrednia komunikacja z siecią
chronioną
Trudna konfiguracja
Z inspekcją
stanów
Brak bezpośrednich połączeń
Przezroczystość
Możliwość uwierzytelniania
Szybsze od zapory
pośredniczącej
Wolniejsze od filtrów pakietów
„Nie rozumie” protokołu warstwy aplikacji
Pośredniczące
Brak bezpośrednich połączeń
Przezroczystość
Możliwość uwierzytelniania
Rozbudowane możliwości
logowania
Wolniejsze od filtrów pakietów
i od zapór z inspekcją stanów
Brak wsparcia dla pojawiających się
nowszych protokołów (potrzeba tworzenia
nowych modułów)
Adaptacyjne
Zalety pozostałych trzech
Nadmiar elastyczności
Tabela 3. Wady i zalety zapór sieciowych
(źródło: P. Kijewski, K. Szczypiorski: „Bezpieczeństwo w sieciach TCP/IP”;
”Przegląd Telekomunikacyjny” nr 5-6 2001 r.))
Współcześnie, zapory sieciowy są często hybrydowym rozwiązaniem,
analizującym pakiety w każdej warstwie - od poziomu protokołu IP aż do poziomu
aplikacji, umożliwiającym realizację złożonych polityk bezpieczeństwa oraz integrację
z systemami wykrywania włamań IDS (Intrusion Detection System).
4. Metody i środki informatycznego zabezpieczania systemów
70
4.4 IDS – System wykrywania włamań
System wykrywania włamań IDS (Intrusion Detection System) to system,
którego celem jest zidentyfikowanie niebezpiecznych działań zachodzących w sieci,
poprzez wykrycie akcji, które stanowią lub potencjalnie mogą stanowić zagrożenie dla
systemu. Nie musi to być pełne włamanie. Może to być także nieudana próba, lub
przygotowanie do włamania, np. skanowanie portów. Jedną z ważnych funkcji systemu
wykrywania włamań jest także reakcja na atak, np. powiadomienie administratora lub
zablokowanie podejrzanego połączenia. Równocześnie systemy IDS mogą rozróżniać
włamania wewnętrzne i zewnętrzne.
Podstawowe funkcje systemów IDS to:
•
Monitorowanie i analiza aktywności systemu i użytkowników,
•
Analiza
logów
systemu
operacyjnego,
aplikacji,
urządzeń
sieciowych
i rozpoznawanie naruszeń polityki bezpieczeństwa,
•
Rozpoznawanie wzorców aktywności znanych ataków,
•
Analiza statystyczna wzorców „nienormalnej” aktywności.
Systemy IDS posiadają często dodatkowe funkcje, takie jak m.in.:
•
Reakcja w czasie rzeczywistym na wykryte próby naruszenia bezpieczeństwa
systemu,
•
Ocena integralności krytycznych części systemu oraz danych,
•
Audyt konfiguracji systemu i jego podatność na ataki,
•
Automatyczna instalacja uaktualnień systemowych lub do wskazanych aplikacji,
•
Uruchamianie atrap serwisów jako pułapek na włamywacza, tzw. słoik miodu
36
(honeypot).
Klasyczne systemy IDS koncentrowały się na monitorowaniu systemu
informatycznego, analizie zebranej informacji i raportowaniu. W miarę wzrostu
36
Więcej na temat techniki „słoiki miodu” można znaleźć w książce C. Peikari, A. Chuvakin: ‘Strażnik
bezpieczeństwa danych’, Helion 2004
4. Metody i środki informatycznego zabezpieczania systemów
71
potrzeby bezpieczeństwa, producenci zaczęli rozszerzać funkcjonalność systemów IDS.
Początkowo pojawiła się wspomniana funkcja dynamicznego reagowania na
dostrzeżone zagrożenia. Następnym krokiem było połączenie monitorowania
z testowaniem zabezpieczeń i formułowaniem zaleceń poprawy ich stanu. Dodano
również możliwość automatycznego aplikowania poprawek dostarczanych przez
producenta systemu operacyjnego czy aplikacji, oraz wykonywania zmian
konfiguracyjnych. Niektóre systemy IDS uruchamiają też atrapy serwisów podatnych
na ataki, które spełniają rolę pułapki i pozwalają na identyfikację włamywacza
i zebranie materiału dowodowego.
Systemy wykrywania włamań, można podzielić ze względu na różne kryteria:
•
Ze względu na sposób zbierania informacji:
Oparte na systemie operacyjnym hosta (host based) - działają na poziomie
systemu operacyjnego (system based) lub uruchamianych w nim aplikacji
(application based). W tym modelu, przetwarzane zostają informacje zawarte
w logach systemów operacyjnych, aplikacji, itp.
Oparte na sieci (network based) - monitorowany i analizowany jest ruch
pakietów w sieci a informacje pobierane są z warstwy łącza danych poprzez
podsłuch kanału transmisyjnego. W tym przypadku analizowane są nagłówki
protokołów (traffic based) lub zawartość pola danych (content based). System
IDS
działa
w
oparciu
o
sensory
(sondy,
agenci)
rozmieszczone
w poszczególnych segmentach sieci, które zbierają informacje i przeważnie
dokonują wstępnej analizy, wychwytując istotne informacje i przesyłając je do
modułu centralnego. Niektóre systemy łączą w sobie cechy obu rodzajów IDS,
porównując ruch w sieci i wpisy w logach z bazą sygnatur znanych ataków.
Takie rozwiązania są bardziej skomplikowane, ale znacznie skuteczniejsze.
•
Metody detekcji - wykrywanie zdarzeń zagrażających bezpieczeństwu systemu
informatycznego przeprowadzane jest w oparciu o:
4. Metody i środki informatycznego zabezpieczania systemów
72
Bazę wiedzy - baza zawiera predefiniowane zasady bezpieczeństwa i wzorce
(sygnatury) znanych ataków systemowych lub sieciowych. Metoda ta, określana
jest jako „wykrywanie nadużyć”.
Bazę zachowań – metoda ta wykrywa anomalie w systemie. W systemie IDS
przyjmuje się pewien model standardowego zachowania użytkowników sieci.
Wszelkie zachowania niezgodne z przyjętymi zasadami są uznawane za
anomalie (np. większe wykorzystanie mocy obliczeniowej, użycie przez
użytkownika niestandardowej sekwencji komend, itp.). Metoda ta określana jest
jako „wykrywanie anomalii”.
•
Częstotliwość przetwarzania informacji. Aby system IDS był skuteczny, musi
przetwarzać informację w czasie rzeczywistym, co powoduje wystąpienie opóźnień
spowodowanych koniecznością przesłania i analizy informacji. Jednak dynamiczne,
natychmiastowe przetwarzanie informacji jest konieczne. W przeciwnym razie
system IDS pełniłby jedynie rolę rejestratora nadużyć, a nie systemu, który ma im
przeciwdziałać i neutralizować wykryte ataki lub naruszenia bezpieczeństwa.
Jednak niektóre elementy systemu IDS, takie jak skanery zabezpieczeń i
konfiguracji systemu, uruchamiane są okresowo.
•
Sposób reakcji na wykryte zagrożenie
Pasywny - system IDS informuje o zagrożeniu personel zajmujący się
bezpieczeństwem systemu, oraz zapisuje wszelkie informacje o wykrytym ataku
lub naruszeniu bezpieczeństwa.
Aktywny - w zależności od rodzaju wykrytego zagrożenia, system IDS
wykonuje szereg uprzednio zdefiniowanych czynności (zmiany wpisów na
routerze lub firewall’u, zablokowanie dostępu, blokada konta użytkownika,
wylogowanie użytkownika, przerwanie sesji, itp.).
4. Metody i środki informatycznego zabezpieczania systemów
73
W tabeli 4 zawarto zalety i wady systemów IDS.
Zalety
Wady
IDS oparty na
systemie operacyjnym
hosta
Obserwuje i interpretuje
zdarzenia w kontekście
znanego systemu
operacyjnego albo aplikacji
Nie obserwuje niższych warstw
protokołu
Trudność w monitorowaniu całych
podsieci
Zazwyczaj generuje znaczną ilość
logów
Analizujący
nagłówki
protokołów
Łatwość w monitorowaniu
całych podsieci
Działa na najniższej warstwie
sieci
Generuje małą liczbę logów
Nie ingeruje w prywatność
sesji
Podatne na ataki DoS i modyfikacji
Strata pakietów przy większym
obciążeniu sieci
Wykrywa mniej ataków niż IDS
analizujący zawartość pól
IDS
oparty na
sieci
Analizujący
zawartość
pól danych
Łatwość w monitorowaniu
całych podsieci
Działa na najniższej warstwie
sieci
Wykrywa więcej ataków
niż IDS analizujący nagłówki
protokołów
Podatne na ataki DoS i modyfikacji
Strata pakietów przy większym
obciążeniu sieci
Nie potrafi analizować zaszyfrowanych
danych
Może generować duże ilości logów
IDS wykrywający
anomalie
Może wykrywać nieznane
ataki
Możliwa duża liczba wykryć
fałszywych ataków – trudny dobór
odpowiednich parametrów pracy
Możliwość „szkolenia” systemu przez
atakującego
IDS wykrywający
nadużycia
Może wykrywać warianty
znanych ataków
Może wykrywać tylko znane ataki
Tabela 4. Wady i zalety systemów IDS
(źródło: P. Kijewski, K. Szczypiorski: „Bezpieczeństwo w sieciach TCP/IP”;
”Przegląd Telekomunikacyjny” nr 5-6 2001 r.)
Zakończenie
Na podstawie zagadnień przedstawionych w niniejszej pracy można
wnioskować, że rozwój technologii informatycznych i w konsekwencji samego
Internetu, oznaczającego coraz większe uzależnienie od tego medium, nie zmniejsza
jednocześnie zagrożenia bezpieczeństwa w systemach informatycznych. Dotyczy to
zarówno użytkowników indywidualnych jak i organizacji. Cel pracy, związany z
przedstawieniem zarówno metod i narzędzi służących włamaniom do systemów
informatycznych, jak i współcześnie stosowanych metod ochrony tych systemów został
zrealizowany, a z informacji przedstawionych w niniejszej pracy można wysunąć
następujące wnioski:
1. Osiągnięcie stuprocentowego bezpieczeństwa w systemie informatycznym jest
w praktyce nieosiągalne.
2. Środki informatyczne mogą w znaczny sposób zwiększyć ochronę systemów,
ale nigdy nie gwarantują pełnego bezpieczeństwa.
3. Skuteczność ochrony systemów informatycznych można zwiększyć przez
równoczesne zastosowanie różnych metod i środków: informatycznych,
fizycznych, organizacyjnych.
4. W ciągle rozwijającej się sieci Internet istnieje wiele zagrożeń, z istnienia
których wielu użytkowników nie zdaje sobie sprawy.
5. Naruszenie lub osłabienie bezpieczeństwa systemów informatycznych bardzo
często powodowanych jest przez działania samych użytkowników systemów.
6. Same rozwiązania technologiczne są niewystarczające dla zapewnienia
bezpieczeństwa w organizacji, dlatego potrzebna jest kompletna polityka
bezpieczeństwa.
7. Każda organizacja ma swoją specyfikę i powinna mieć odrębną politykę
bezpieczeństwa, która jest ściśle powiązana z jej charakterem i ciągle
dostosowywana do zmieniających się warunków wewnętrznych i zewnętrznych.
8. Zauważalny jest ciągły rozwój metod ataków na systemy informatyczne
(szczególnie ataki DoS i DDoS).
9. Wirusy, robaki, konie trojańskie i inne „złośliwe” programy, stwarzają i będą
stwarzać w przyszłości potencjalne zagrożenie i nic nie wskazuje na to, aby w
najbliższej przyszłości uległo to zmianie.
Zakończenie
75
10. Każdy komputer podłączony do sieci, może być źródłem ataku na inne
komputery, lub też może rozsyłać „złośliwe” programy (wirusy, konie
trojańskie, itp.), dlatego też kwestia bezpieczeństwa dotyczy wszystkich
użytkowników sieci a sieci Internet w szczególności.
Literatura
76
Literatura
1. Chestwick W. R., Bellovin S. M., Rubin A. D.: ‘Firewalle i bezpieczeństwo w sieci’,
Helion Gliwice 2003
2. Comer D. E.: ‘Sieci komputerowe i intersieci’, WNT Warszawa 2000, 2001
3. Erickson J.: ‘Hacking. Sztuka penetracji’, Helion 2004
4. Kifner T.: ‘Polityka bezpieczeństwa i ochrony informacji’, Helion 1999
5. Majwald E.: ‘Bezpieczeństwo w Sieci. Kurs podstawowy’, Wydawnictwo Edition
2000/2001
6. McNamara J.: ‘Arkana szpiegostwa komputerowego’, Helion Gliwice 2004
7. Mitnick K., Simon W.: ‘Sztuka podstępu. Łamałem ludzi, nie hasła’, Helion 2003
8. Pekari C., Chuvakin A.: ‘Strażnik bezpieczeństwa danych’, Helion 2004
9. Waglowski P.: ‘Prawo w sieci. Zarys regulacji Internetu.’, Wydawnictwo
ONEPRESS 2005
Witryny internetowe
1. http://ettercap.sourceforge.net
2. http://staff.washington.edu
3. http://vx.netlux.org
4. www.bezpieczenstwoit.pl
5. www.biometryka.com
6. www.cert.pl
7. www.cert.org
8. www.haking.pl
9. www.insecure.org
10. www.nbp.pl
11. www.openwall.com
12. www.pckurier.pl
13. www.pentics.net
14. www.ussrback.com
15. www.viruslist.pl
Wykaz rysunków i tabel
77
Wykaz rysunków
Rys. 1 Atak przerwania .....................................................................................................6
Rys. 2 Atak przechwycenia...............................................................................................6
Rys. 3 Atak modyfikacji ...................................................................................................7
Rys. 4 Atak podrobienia....................................................................................................7
Rys. 5 Schemat ataku DNS Spoofing .............................................................................10
Rys. 6 Synchronizacja połączenia TCP ..........................................................................11
Rys. 7 Atak DDoS...........................................................................................................15
Rys. 8 Rozsyłanie pakietów w sieci opartej o hub..........................................................22
Rys. 9 Rozsyłanie pakietów w sieci opartej o switch .....................................................23
Rys. 10 Schemat trójstopniowej sieci DDoS ..................................................................43
Rys. 11 Uwierzytelnianie w systemie Kerberos .............................................................63
Rys. 12 Strefa zdemilitaryzowana (DMZ) ......................................................................66
Wykaz tabel
Tabela 1 Przewidywany czas łamania haseł ...................................................................25
Tabela 2 Czas łamania haseł w zależności od jego skomplikowania .............................39
Tabela 3. Wady i zalety zapór sieciowych......................................................................69
Tabela 4. Wady i zalety systemów IDS ..........................................................................73
Dodatki
78
Dodatek 1 – Klasy oceny bezpieczeństwa systemów
informatycznych
Przedstawione klasy zawarte zostały w standardzie „Trusted Computer Systems
Evaluation Criteria
” opracowanym przez Departament Obrony USA
37
.
klasa
nazwa
Wymagania
D
Minimal
protection
System pozbawiony ochrony (brak ochrony użytkowników i plików). Posiada
tylko minimalne zabezpieczenia.
C1
Discretionary
security
protection
TCB
38
tej klasy zapewnia separację użytkowników i danych. Uzyskany
poziom bezpieczeństwa pozwala użytkownikom chronić dane związane z
projektami nad którymi pracują lub dane prywatne, uniemożliwiając innym
użytkownikom ich odczyt, modyfikowanie lub usuwanie.
C2
Controlled
Access
protection
Systemy tej klasy wymuszają silniejszy poziom ochrony niż dla klasy C1
poprzez wprowadzanie procedur logowania, mechanizmów audytu i izolacji
zasobów.
B1
Labeled
security
protection
Systemy te posiadają wszystkie właściwości systemów klasy C2. Dodatkowo
wprowadzony jest element etykietowania podmiotów i obiektów (opisywania
ich właściwości w systemie bezpieczeństwa).
B2
Structured
protection
TCB jest oparta na jasno zdefiniowanej i udokumentowanej polityce
bezpieczeństwa. Ponadto TCB musi być podzielona na część krytyczną pod
względem ochrony (protection-critical) i resztę. TCB ma posiadać dobrze
zdefiniowany interfejs i jest łatwa w testowaniu (posiada odpowiednie
mechanizmy). Wzmocnione muszą być mechanizmy uwierzytelniania oraz
narzędzia administrowania bezpieczeństwem systemu. System musi być
względnie odporny na penetrację.
B3
Security
domains
Zminimalizowana jest złożoność TCB w celu umożliwienia wykonania
dokładniejszych analiz. System posiada silne wsparcie dla administracji
bezpieczeństwem, mechanizm audytu rozszerzony do reagowania na sygnały
związane z bezpieczeństwem. Wymagane jest opracowanie procedur
odtwarzania stanu systemu. System jest wysoce odporny na penetrację.
A1
Verified
design
Systemy tej klasy są funkcjonalnie równoważne systemom klasy B3. Różnica
polega na tym, że istnieje możliwość weryfikacji czy TCB jest poprawnie
zaimplementowana.
37
http://www.radium.ncsc.mil/tpep/library/rainbow/5200.28-STD.html
38
Trusted Computing Base
- godna zaufania baza komputera