Metody ochrony przed włamaniami do systemu informatycznego

background image

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

background image

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

background image

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

background image

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ć.

background image

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

background image

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

background image

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

background image

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 –

background image

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.

background image

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.

background image

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

background image

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

background image

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ę

background image

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

background image

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

background image

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

background image

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).

background image

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

background image

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.

background image

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.

background image

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ł.

background image

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.

background image

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

background image

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

background image

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)

background image

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.

background image

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.

background image

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

background image

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.

background image

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

background image

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

background image

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

background image

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/

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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.

background image

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)

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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.

background image

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,

background image

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,

systemy

komputerowe

często

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

background image

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

background image

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

background image

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.

background image

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

background image

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.

background image

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

background image

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

background image

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.),

background image

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.

background image

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

background image

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

background image

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

background image

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/

background image

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

background image

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

background image

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ą

background image

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

background image

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.

background image

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

background image

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.

background image

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).

background image

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

background image

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:

background image

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.).

background image

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.)

background image

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.

background image

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.

background image

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

background image

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

background image

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


Wyszukiwarka

Podobne podstrony:
Popularne metody włamań do systemów
Niektóre prawne aspekty włamań do systemu komputerowego
ochrona przed hałasem do prezentacji
Sterowanie dostępem do systemu informatycznego II STEROWANIE DOSTĘPEM DO SYSTEMU INFORMATYCZNEGO, II
11. Wprowadzenie do systemu informacyjnego (15.12.08), WPROWADZENIE DO SYSTEMU INFORMACYJNEGO
2 kolos herbologia ściąga, Metody ochrony przed chwastami
Naturalne metody ochrony przed skutkami PROMIENIOWANIA JONIZUJĄCEGO
Niektóre prawne aspekty włamań do systemu komputerowego
Wniosek o przyznanie zmiane cofniecie uprawnien dostepu do systemow informatycznych w siedzibie GUGi
Wniosek o przyznanie zmiane cofniecie uprawnien dostepu do systemow informatycznych w siedzibie GUGi
Metody ochrony przed zagrożeniami dla życia i zdrowia pracowników
Nikodem Metody ochrony przed kryptoanaliz¡
Metodyka punktow wezlowych w realizacji systemu informatycznego, Informatyka, Studia dodać do folder
Metody ochrony informacji niejawnych przetwarzanych w systemach i sieciach teleinformatycznych sztan
analiza systemow informatycznych, Egzamin z PSI 2, 31) Wzorce modyfikowania metodycznego podejścia d
Metodyka punktow wezlowych w realizacji systemu informatycznego, Informatyka, Studia dodać do folder
Metodyka punktow wezlowych w realizacji systemu informatycznego

więcej podobnych podstron