You are on page 1of 36

IDZ DO

PRZYKADOWY ROZDZIA
SPIS TRECI

Firewall-e i bezpieczestwo w sieci.


Vademecum profesjonalisty

KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG

TWJ KOSZYK
DODAJ DO KOSZYKA

CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK

CZYTELNIA
FRAGMENTY KSIEK ONLINE

Autorzy: William R. Chestwick, Steven M. Bellovin, Aviel D. Rubin


Tumaczenie: Arkadiusz Romanek, Witold Zioo
ISBN: 83-7361-209-2
Tytu oryginau: Firewalls and Internet
Security Second Edition
Format: B5, stron: 444

Ksika Firewalle i bezpieczestwo w sieci. Vademecum profesjonalisty to kompletne


kompendium wiedzy na temat zabezpieczania sieci komputerowych. Autorzy
skoncentrowali si na omwieniu jednego z najwaniejszych elementw, stosowanych
z myl o bezpieczestwie: firewalla, przekazujc wiele cennych wskazwek na temat
jego konfiguracji. Znajdziesz tu jednak nie tylko informacj o zaporach sieciowych, ale
take spojrzenie na bezpieczestwo sieci z szerszej perspektywy. Poznasz
najwaniejsze techniki ataku i programy stosowane przez wamywaczy; przeledzisz
kolejne kroki, ktre podejmowali hakerzy, by uzyska dostp do chronionych danych.
A co najwaniejsze, nauczysz si lokalizowa zagroenia i zapobiega im.
Dogbna analiza zwizanych z bezpieczestwem aspektw protokou TCP/IP
Projektowanie i instalacja firewalli - krok po kroku
Narzdzia monitorujce dziaanie firewalli
Darmowe narzdzia zabezpieczajce
Z ycia wzite przykady wama i analiza uytych technik
Prawne aspekty zabezpieczania sieci komputerowych
Techniki kryptograficzne
Jeli jeste odpowiedzialny za bezpieczestwo sieci, nie obdziesz si bez tej ksiki.
Jej przystpny jzyk sprawi, e z zaciekawieniem przeczytaj j take wszyscy
zainteresowani najnowszymi technikami hakerskimi, a take osoby, ktre chc pogbi
swoj wiedz na temat Internetu.
Bezpieczestwo w Internecie jest ostatnio modnym tematem; stao si tematem filmw,
ksiek i dreszczowcw. Zadbaj o to, aby scenariusze wielu mrocych krew
w yach opowieci nie stay si Twoim udziaem.

Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl

5RKUVTGEK


 
   


 
  




  

 


    


1.1. Truizmy bezpieczestwa.................................................................................................23
1.2. Wybieranie strategii bezpieczestwa..............................................................................27
1.2.1. Pytania wane podczas definiowania polityki bezpieczestwa.............................28
1.2.2. Stanowisko.............................................................................................................30
1.3. Bezpieczestwo na podstawie systemu ochrony pojedynczego komputera ...................32
1.4. Bezpieczestwo obwodowe ........................................................................................33
1.5. Strategie sieci bezpiecznych ...........................................................................................34
1.5.1. Bezpieczestwo stacji roboczej .............................................................................34
1.5.2. Bramy i zapory sieciowe .......................................................................................36
1.5.3. Strefa DMZ............................................................................................................38
1.5.4. Szyfrowanie bezpieczestwo komunikacji.......................................................39
1.6. Etyka w odniesieniu do bezpieczestwa informatycznego.............................................40
1.7. OSTRZEENIE..............................................................................................................42

 


  
 
 
! "
   #
2.1. Podstawowe protokoy....................................................................................................43
2.1.1. IP............................................................................................................................44
2.1.2. ARP .......................................................................................................................46
2.1.3. TCP........................................................................................................................47
2.1.4. SCTP......................................................................................................................51
2.1.5. UDP .......................................................................................................................52
2.1.6. ICMP .....................................................................................................................52
2.2. Zarzdzanie adresami i nazwami ....................................................................................53
2.2.1. Routery i protokoy routingu .................................................................................53
2.2.2. System DNS ..........................................................................................................56
2.2.3. BOOTP oraz DHCP ..............................................................................................60
2.3. IP w wersji 6. ..................................................................................................................61
2.3.1. Format adresw IPv6.............................................................................................62
2.3.2. Neighbor Discovery...............................................................................................63
2.3.3. DHCPv6 ................................................................................................................64
2.3.4. Filtrowanie IPv6 ....................................................................................................64
2.4. Urzdzenia dokonujce translacji adresw.....................................................................65
2.5. Bezpieczestwo sieci bezprzewodowych .......................................................................66
2.5.1. Umacnianie WEP ..................................................................................................68

Firewalle i bezpieczestwo w sieci. Vademecum profesjonalisty

 


$%
 
 ! "
   &'
3.1. Protokoy komunikacyjne ...............................................................................................69
3.1.1. SMTP.....................................................................................................................69
3.1.2. MIME ....................................................................................................................72
3.1.3. POP wersja 3 .........................................................................................................73
3.1.4. IMAP wersja 4.......................................................................................................74
3.1.5. Instant Messaging (IM) .........................................................................................75
3.2. Telefonia internetowa .....................................................................................................76
3.2.1. H.323 .....................................................................................................................76
3.2.2. SIP .........................................................................................................................76
3.3. Protokoy oparte na RPC ................................................................................................77
3.3.2. NIS.........................................................................................................................81
3.3.3. NFS........................................................................................................................81
3.3.4. Andrew ..................................................................................................................83
3.4. Protokoy przesyania plikw .........................................................................................84
3.4.1. TFTP......................................................................................................................84
3.4.2. FTP ........................................................................................................................85
3.4.3. Protok SMB ........................................................................................................90
3.5. Zdalne logowanie............................................................................................................91
3.5.1. Telnet .....................................................................................................................91
3.5.2. Polecenia r..........................................................................................................92
3.5.3. Ssh .........................................................................................................................94
3.6. Protok SNMP...............................................................................................................96
3.7. Protok NTP ..................................................................................................................97
3.8. Usugi informacyjne .......................................................................................................98
3.8.1. Finger poszukiwanie osb ................................................................................99
3.8.2. Whois usuga przeszukiwania baz danych .......................................................99
3.8.3. LDAP.....................................................................................................................99
3.8.4. Usugi WWW ......................................................................................................100
3.8.5. Protok NNTP ....................................................................................................101
3.8.6. Multicasting i MBone..........................................................................................102
3.9. Protokoy prawnie zastrzeone .....................................................................................103
3.9.1. RealAudio............................................................................................................104
3.9.2. SQL*Net firmy Oracle ........................................................................................104
3.9.3. Inne usugi firmowe.............................................................................................105
3.10. Rwnorzdne sieci komputerowe ...............................................................................105
3.11. X11 Window System ..................................................................................................106
3.11.1. xdm ....................................................................................................................107
3.12. Small Services.............................................................................................................108

 
#

($ $
 )* 
+ ! 

 $ 
 ,  -'
4.1. Protokoy WWW ..........................................................................................................110
4.1.1. HTTP ...................................................................................................................110
4.1.2. SSL ......................................................................................................................114
4.1.3. FTP ......................................................................................................................114
4.1.4. Adresy URL.........................................................................................................115
4.2. Zagroenia dla klientw................................................................................................117
4.2.1. ActiveX................................................................................................................118
4.2.2. Java i aplety .........................................................................................................118
4.2.3. JavaScript.............................................................................................................121
4.2.4. Przegldarki internetowe .....................................................................................122

Spis treci

4.3. Ryzyko dla serwera.......................................................................................................124


4.3.1. Kontrola dostpu..................................................................................................125
4.3.2. Skrypty serwera ...................................................................................................125
4.3.3. Zabezpieczanie serwera.......................................................................................126
4.3.4. Wybr serwera.....................................................................................................127
4.4. Serwery WWW versus zapory sieciowe.......................................................................129
4.5. Sie i bazy danych ........................................................................................................131
4.6. Podsumowanie ..............................................................................................................132



   

 
.

/$ 
   .
5.1. Kradziee hase .............................................................................................................135
5.2. Socjotechnika................................................................................................................139
5.3. Bdy i tylne wejcia.....................................................................................................140
5.4. Niepowodzenia uwierzytelniania..................................................................................144
5.4.1. Wycigi do uwierzytelnienia ...............................................................................144
5.5. Bdy protokow .........................................................................................................145
5.6. Wypywanie informacji ................................................................................................146
5.7. Ataki lawinowe wirusy i robaki...............................................................................147
5.8. Ataki blokady usug ......................................................................................................148
5.8.1. Ataki na cza sieciowe .......................................................................................149
5.8.2. Atak na warstw sieciow ...................................................................................150
5.8.3. DDoS ...................................................................................................................152
5.8.4. Co zrobi w przypadku rozproszonego ataku odmowy usug? ...........................153
5.8.5. Rozpraszanie wsteczne ........................................................................................159
5.9. Roboty sieciowe............................................................................................................160
5.10. Ataki aktywne .............................................................................................................160

 
&

  


0
)
"   &
6.1. Wprowadzenie ..............................................................................................................163
6.2. Cele hakerw ................................................................................................................164
6.3. Skanowanie sieci...........................................................................................................165
6.4. Wamanie do komputera ...............................................................................................166
6.5. Bitwa o komputer..........................................................................................................167
6.5.1. Programy o uprawnieniach setuid root................................................................168
6.5.2. Rootkit .................................................................................................................171
6.6. Zacieranie ladw .........................................................................................................171
6.6.1. Furtki ...................................................................................................................172
6.7. Metastaza ......................................................................................................................173
6.8. Narzdzia hakerw .......................................................................................................173
6.8.1. Crack atak sownikowy na hasa uniksowe ....................................................175
6.8.2. Dsniff narzdzie do podsuchiwania hase .....................................................175
6.8.3. Nmap wyszukiwanie i identyfikacja komputerw .........................................175
6.8.4. Nbaudit zdobywanie informacji na temat udziaw NetBIOS .......................176
6.8.5. Juggernaut narzdzie do przechwytywania pocze TCP.............................176
6.8.6. Nessus skanowanie portw.............................................................................177
6.8.7. Narzdzia do ataku DDoS ...................................................................................177
6.8.8. Ping of Death wysyanie nieprawidowych pakietw ....................................177
6.8.9. Zestawy do tworzenia wirusw ...........................................................................177
6.8.10. Inne narzdzia....................................................................................................178
6.9. Brygady tygrysa ............................................................................................................179

Firewalle i bezpieczestwo w sieci. Vademecum profesjonalisty

 
    
 


1  $   2


7.1. Zapamitywanie hase...................................................................................................184
7.1.1. Rzucanie kostk...................................................................................................187
7.1.2. Rzeczywisty koszt hase ......................................................................................188
7.2. Hasa jednorazowe czasowe ....................................................................................189
7.3. Hasa jednorazowe wezwanie-odpowied ...............................................................190
7.4. Algorytm hase jednorazowych Lamporta....................................................................192
7.5. Karty mikroprocesorowe ..............................................................................................193
7.6. Techniki biometryczne .................................................................................................193
7.7. RADIUS........................................................................................................................195
7.8. Szkielet uwierzytelniania SASL ...................................................................................195
7.9. Uwierzytelnianie komputer-komputer ..........................................................................196
7.9.1. Uwierzytelnianie za porednictwem sieci ...........................................................196
7.9.2. Techniki kryptograficzne.....................................................................................196
7.10. PKI ..............................................................................................................................197

 
2

3 
  "
*

 ''
8.1. Inetd usugi sieciowe ...............................................................................................200
8.2. Ssh korzystanie z terminala i dostp do plikw ...........................................................200
8.2.1. Uwierzytelnianie jednoelementowe w ssh ..........................................................201
8.2.2. Uwierzytelnianie dwuelementowe w ssh ............................................................203
8.2.3. Sabe strony uwierzytelniania..............................................................................204
8.2.4. Uwierzytelnianie serwera ....................................................................................204
8.3. Syslog............................................................................................................................204
8.4. Narzdzia administrowania sieci ................................................................................205
8.4.1. Monitorowanie sieci ............................................................................................205
8.4.2. Posugiwanie si programem tcpdump................................................................206
8.4.3. Ping, traceroute oraz dig......................................................................................207
8.5. Chroot uwizienie podejrzanego oprogramowania .................................................208
8.6. Uwizienie serwera Apache Web Server......................................................................212
8.6.1. Osony skryptw CGI..........................................................................................214
8.6.2. Bezpieczestwo uwizionego serwera WWW ....................................................215
8.7. Aftpd demon prostego anonimowego serwera FTP ................................................215
8.8. Agenty przesyania poczty............................................................................................216
8.8.1. Postfix..................................................................................................................216
8.9. POP3 oraz IMAP ..........................................................................................................217
8.10. Samba implementacja protokou SMB ..................................................................217
8.11. Poskramianie programu named ..................................................................................218
8.12. Dodanie obsugi SSL za pomoc programu sslwrap ..................................................219

!   


"
!#$ 
 
'

 )
 
   "  
9.1. Filtry pakietw ..............................................................................................................224
9.1.1. Topologia sieci a faszowanie adresw ...............................................................227
9.1.2. Filtry routingu......................................................................................................231
9.1.3. Przykadowe konfiguracje ...................................................................................232
9.1.4. Wydajno filtrowania pakietw .........................................................................234
9.2. Filtrowanie na poziomie aplikacji.................................................................................235
9.3. Bramy poziomu obwodw............................................................................................236

Spis treci

9.4. Dynamiczne filtry pakietw..........................................................................................238


9.4.1. Sposoby implementacji........................................................................................238
9.4.2. Replikacja a topologia .........................................................................................241
9.4.3. Bezpieczestwo dynamicznych filtrw pakietw ...............................................243
9.5. Zapory sieciowe rozproszone .......................................................................................244
9.6. Czego zapory sieciowe nie potrafi ..............................................................................245

 
-
4 $ 
 #
10.1. Usugi, ktre powinny by filtrowane ........................................................................248
10.1.1. DNS ...................................................................................................................248
10.1.2. WWW................................................................................................................252
10.1.3. FTP ....................................................................................................................253
10.1.4. TCP....................................................................................................................253
10.1.5. NTP....................................................................................................................254
10.1.6. SMTP/Mail ........................................................................................................254
10.1.7. POP3/IMAP.......................................................................................................255
10.1.8. ssh ......................................................................................................................257
10.2. Wykopywanie robakw ..............................................................................................257
10.3. Usugi, ktrych nie lubimy .........................................................................................258
10.3.1. UDP ...................................................................................................................258
10.3.2. H.323 oraz SIP...................................................................................................260
10.3.3. RealAudio..........................................................................................................260
10.3.4. SMB...................................................................................................................260
10.3.4. X Windows ........................................................................................................260
10.4. Inne usugi...................................................................................................................261
10.4.1. IPsec, GRE i IP w IP .........................................................................................261
10.4.2. ICMP .................................................................................................................261
10.5. Co nowego.................................................................................................................262

 

5 ! 
 
   "  &
11.1. Zestawy regu..............................................................................................................264
11.2. Proxy...........................................................................................................................267
11.3. Budowa zapory sieciowej od podstaw........................................................................268
11.3.1. Budowa prostej, osobistej zapory sieciowej......................................................269
11.3.2. Budowa zapory sieciowej dla firmy ..................................................................273
11.3.3. Filtrowanie bazujce na aplikacjach..................................................................279
11.4. Problemy z zaporami sieciowymi...............................................................................279
11.4.1. Problemy nieumylne ........................................................................................280
11.4.2. Dziaalno wywrotowa ....................................................................................280
11.4.3. Postpowanie z fragmentami IP ........................................................................281
11.4.4. Problem z FTP ...................................................................................................282
11.4.5. Kroczcy ogie ..................................................................................................282
11.4.6. Administracja.....................................................................................................283
11.5. Testowanie zapr testowych .......................................................................................284
11.5.1. Brygady tygrysa.................................................................................................284
11.5.2. Zasady kontroli ..................................................................................................285

 

6 $ 

 
78 2
12.1. Tunele .........................................................................................................................288
12.1.1. Tunele dobre i tunele ze ...................................................................................288
12.2. Wirtualne sieci prywatne VPN ...................................................................................291
12.2.1. Odlege oddziay................................................................................................291
12.2.2. Wsplne przedsiwzicia ..................................................................................292
12.2.3. Telepraca ...........................................................................................................293

10

Firewalle i bezpieczestwo w sieci. Vademecum profesjonalisty

12.3. Oprogramowanie a sprzt ...........................................................................................298


12.3.1. Sieci VPN realizowane przy uyciu oprogramowania ......................................298
12.3.2. Sieci VPN realizowane przy uyciu sprztu......................................................299

!

%
&  
'

 

$  
   -
13.1. Badania intranetu ........................................................................................................305
13.2. Sztuczki z routingiem w intranetach...........................................................................306
13.3. Ufamy komputerowi ...................................................................................................309
13.4. Pasek i szelki...............................................................................................................311
13.5. Klasy rozmieszczenia zapr sieciowych.....................................................................312

 
#
9  


 )  
0    .
14.1. Co rozumiesz, mwic bezpieczny? .......................................................................315
14.2. Waciwoci bezpiecznych komputerw ....................................................................316
14.2.1. Bezpieczne klienty.............................................................................................319
14.2.2. Bezpieczne serwery ...........................................................................................321
14.2.3. Bezpieczne routery i inne urzdzenia sieciowe.................................................322
14.3. Konfiguracja sprztu...................................................................................................322
14.4. Rozkadanie komputera ..............................................................................................322
14.5. Instalacja nowego oprogramowania ...........................................................................327
14.6. Administrowanie bezpiecznym komputerem .............................................................328
14.6.1. Dostp................................................................................................................328
14.6.2. Dostp przy uyciu konsoli ...............................................................................329
14.6.3. Zapisywanie zdarze w plikach raportw .........................................................329
14.6.4. Archiwizacja......................................................................................................330
14.6.5. Uaktualnianie oprogramowania.........................................................................331
14.6.6. Obserwowanie ...................................................................................................334
14.7. Jazda bez trzymanki ycie bez zapory sieciowej ...............................................334

 
.
: )
   
15.1. Gdzie monitorowa? ...................................................................................................338
15.2. Rodzaje systemw IDS...............................................................................................339
15.3. Administracja systemem IDS .....................................................................................340
15.4. Narzdzia IDS.............................................................................................................340
15.4.1. Snort...................................................................................................................341

! %( )*


+
 
&
 

9;  #.
16.1. Nieprzyjazne zachowanie ...........................................................................................345
16.2. Wieczr z Berferdem ..................................................................................................347
16.3. Na drugi dzie.............................................................................................................352
16.4. Wizienie ....................................................................................................................353
16.5. ledzenie Berferda ......................................................................................................355
16.6. Berferd wraca do domu...............................................................................................356

 

)* 
<$   .'
17.1. Pocztki.......................................................................................................................359
17.2. Clark............................................................................................................................360
17.3. Dochodzenie wstpne .................................................................................................361

Spis treci

11

17.4. Badanie Clarka............................................................................................................362


17.4.1. /usr/lib................................................................................................................363
17.4.2. /usr/var/tmp........................................................................................................364
17.5. Plik hase.....................................................................................................................368
17.6. Jak napastnikom udao si dosta? .............................................................................368
17.6.1. Jak zdobyli uprawnienia root?...........................................................................369
17.6.2. Co w ten sposb zyskali?...................................................................................369
17.7. Lepsze rodki dochodzeniowe ....................................................................................369
17.8. Otrzymane lekcje ........................................................................................................370

 
2
9 
 )

  "
  "  
18.1. System uwierzytelniania Kerberos .............................................................................372
18.1.1. Ograniczenia......................................................................................................375
18.2. Szyfrowanie na poziomie cza ..................................................................................376
18.3. Szyfrowanie na poziomie warstwy sieciowej .............................................................377
18.3.1. Protokoy ESP oraz AH.....................................................................................377
18.3.2. Zarzdzanie kluczami w IPsec ..........................................................................380
18.4. Szyfrowanie na poziomie aplikacji.............................................................................380
18.4.1. Zdalne logowanie ssh ...................................................................................381
18.4.2. SSL ....................................................................................................................382
18.4.3. Uwierzytelnianie w SNMP................................................................................385
18.4.4. Bezpieczna poczta elektroniczna.......................................................................385
18.4.5. Bezpieczestwo transmisji, a bezpieczestwo obiektu .....................................387
18.4.6. GSS-API ............................................................................................................387

 
'
<
 $),  2'
19.1. IPv6.............................................................................................................................389
19.2. DNSsec .......................................................................................................................390
19.3. Microsoft i bezpieczestwo ........................................................................................391
19.4. Wszechobecno Internetu .........................................................................................391
19.5. Bezpieczestwo Internetu ...........................................................................................391
19.6. Zakoczenie ................................................................................................................392

, (* -.


: 
=
  

  ;  '
A.1. Symbolika ....................................................................................................................397
A.2. Kryptografia tajnego klucza.........................................................................................399
A.3. Tryby dziaania ............................................................................................................401
A.3.1. Tryb elektronicznej ksiki kodowej..................................................................401
A.3.2. Tryb wizania blokw szyfrogramu ...................................................................401
A.3.3. Tryb sprzenia zwrotnego z wyjcia.................................................................402
A.3.4. Tryb sprzenia zwrotnego kryptogramu ...........................................................403
A.3.5. Tryb licznikowy..................................................................................................403
A.3.6. Hasa jednorazowe..............................................................................................404
A.3.7. Klucze gwne ....................................................................................................404
A.4. Kryptografia klucza publicznego .................................................................................405
A.5. Wymiana klucza wykadniczego .................................................................................406
A.6. Podpisy cyfrowe...........................................................................................................407
A.7. Bezpieczne funkcje mieszajce....................................................................................409
A.8. Znaczniki czasu............................................................................................................410

12

Firewalle i bezpieczestwo w sieci. Vademecum profesjonalisty

: 
9

>
 ?

 !%, #
B.1. Listy dyskusyjne...........................................................................................................414
B.2. Zasoby w Internecie .....................................................................................................415
B.3. Strony internetowe osb prywatnych...........................................................................416
B.4. Strony producentw .....................................................................................................417
B.5. Konferencje ..................................................................................................................418

@ 
  #
@ 
   #
3    #'

Rozdzia 5.



Omwilimy dotychczas kilka technik atakowania systemw. Wiele z nich ma podobne


cechy. Techniki te warto usystematyzowa, poniewa wzorce jakie powstan dziki
systematyzacji, poka, gdzie konieczne jest zacienienie ochrony.


(Powiedz przyjacielu i wejd)
Co to ma znaczy: Powiedz przyjacielu i wejd? spyta Merry.
Sens do jasny rzek Gimilo. Jeeli jeste przyjacielem, powiedz haso,
a drzwi si otworz i bdziesz mg wej.

Ale ty, Gandalfie, chyba znasz haso? spyta zdumiony Boromir.


Nie! odpar Czarodziej. jeszcze nie znam hasa ale wkrtce je poznamy.
Wadca piercieni
J.R.R. Tolkien
Najprostsze wejcie do komputera prowadzi zwykle przez jego drzwi wejciowe, czyli przez
polecenie login. W przypadku praktycznie wszystkich systemw, skuteczne logowanie
bazuje na podaniu, w okrelonej liczbie prb, prawidowego hasa.
W historii typowych programw logowania (take nie przeznaczonych dla systemw
uniksowych) zaobserwowa seri nasilajcych si atakw i wzmoone wysiki wkadane
w obron przed nimi, istny wycig zbroje. Znane s nam wczesne systemy operacyjne,
ktre przechowyway w plikach dyskowych hasa w czystej, tekstowej postaci. Bezpieczestwo jednego z tych systemw bazowao na tajnoci nazwy pliku przechowujcego
haso, zatem kady, kto zna t nazw mg odczyta haso. Bezpieczestwo systemu
byo chronione w ten sposb, e systemowe polecenie przedstawiajce zawarto katalogu pomijao nazw tego pliku (wywoana funkcja systemowa podawaa t nazw).

136

Cz II  Zagroenia

To podejcie do bezpieczestwa opierao si na zabezpieczaniu przez ukrywanie (ang.


security by obscurity). Ukrywanie nie jest wcale z opcj, ale przez tego typu dziaania
stracio dobr saw. W kocu klucz kryptograficzny jest te jakim sposobem ukrywania,
tylko e dobrze przemylanym. Bdem tu popenionym bya sabo ukrywania oraz brak
innych poziomw obrony.
Bdy w systemach stwarzaj intrygujce moliwoci wama do systemu, ale nie jest to
najatwiejszy ze sposobw ataku na system. Ten honor naley raczej odda przyziemnemu
atakowi na hasa uytkownikw. Znaczny procent wama do systemw nastpuje z powodu
uchybie w caym systemie hase.
Mwimy o systemie hase, gdy jest klika przyczyn takich uchybie. Jednak najpowszechniejszym uchybieniem jest stosowanie przez uytkownikw bardzo sabych
hase. Powtarzane badania pokazay, e prba odgadnicia hasa zwykle koczy si
powodzeniem, czego przykady mona znale w pracach Kleina [1990] oraz Morrisa
i Thompsona [1979]. Nie mwimy tu, e kady uywa zych hase, ale naley zdawa sobie
spraw, e napastnikowi wystarczy tylko jedno ze haso.
Ataki zgadywania hase przyjmuj dwie podstawowe formy. Pierwsza polega na usiowaniu zalogowania si za pomoc znanej lub zaoonej nazwy uytkownika oraz zgadywanego hasa. Ta metoda koczy si sukcesem niezwykle czsto, poniewa w wielu
miejscach czsto stosuje si par nazwa uytkownika-haso, takich jak field-,
guest- , itp. Nierzadko pary te kopiowane s wprost z podrcznikw systemowych!
Pierwsza prba moe si nie powie, moe nie powie si nawet dziesita, ale mimo
wszystko, ktra okae si trafiona, a gdy napastnik znajdzie si w rodku, bdzie ju
poza gwn lini obrony. Niestety, niewiele systemw operacyjnych potrafi odpiera
ataki pochodzce z ich wntrza.
Taka metoda wamywania w ogle nie powinna by moliwa! Uytkownikom nie powinno si pozostawia nieograniczonej liczby prb logowania si z niepoprawnym hasem,
wszystkie niepowodzenia logowania powinny by odnotowywane, uytkownicy powinni
by powiadamiani o zakoczonych niepowodzeniem prbach dostania si do ich konta,
itd. adne z zalece, o ktrych mowa, nie jest nowe, tyle e takie rodki bezpieczestwa
podejmuje si rzadko, a waciwie bardzo rzadko. Wiele z najczciej popenianych bdw
wymienionych zostao w pracy Gramppa i Morrisa [1984], ale niewielu projektantw
systemw wzio pod uwag ich rady. Co gorsza, wikszo logowa w systemach uniksowych odbywa si za pomoc polece login oraz su. Inne programy wykorzystujce
hasa, takie jak ftpd, rexecd, rne programy blokujce ekrany itp., w wikszoci systemw
nie odnotowuj niepowodze logowania. Co wicej, nawet w systemach poprawnie rejestrujcych takie zdarzenia, administratorzy nie przegldaj dziennikw zdarze regularnie.
Oczywicie, dzienniki zdarze zawierajce nazwy uytkownikw, ktrzy nie zalogowali
si poprawnie bd niezmiennie zawieray jakie hasa.
Drugim sposobem zdobywania hase przez napastnikw jest odgadywanie hase znajdujcych si w skradzionych plikach przechowujcych hasa (w systemach uniksowych
w pliku /etc/passwd). Pliki te kradzione s z systemw, do ktrych ju si wamano. W takim
przypadku napastnicy bd prbowali zastosowa zdobyte hasa w innych komputerach

Rozdzia 5.  Klasy atakw

137

(uytkownicy czsto posuguj si na rnych komputerach tymi samymi hasami). Hasa


mog rwnie zosta zdobyte z systemw, ktre jeszcze nie zostay spenetrowane. Ataki
tego rodzaju nazywane s atakami sownikowymi (ang. dictionary attacks) i zwykle
kocz si penym powodzeniem. Nie ma wtpliwoci, e bezpieczestwo komputera
zostanie naruszone, jeeli plik z hasami dosta si w rce wroga. Klein [1990] informuje, e 25% hase jest kradzionych. Jeeli ta liczba jest prawdziwa, w przypadku komputera
z zaledwie szesnastoma kontami uytkownikw, istnieje 99% prawdopodobiestwo, e
co najmniej jedno z tych hase zostanie osabione.
Rwnie szyfrowanie na nic si nie zda, gdy klucze zostan odtworzone z hase uytkownikw. Eksperymenty z Kerberosem [Wu, 1999] pokazay to dobitnie.
Trzecim sposobem jest zdobycie hasa przez podsuchanie prawidowej sesji terminalowej.
Przy wykorzystaniu tej metody, niezalenie od tego, jak dobre byo haso, konto i prawdopodobnie cay system stan si zagroone.
Jak dugie powinno by haso?
Panuje powszechna zgoda, e dotychczasowy wymg systemw uniksowych stosowania hase o dugoci co najmniej omiu znakw nie jest ju wystarczajcy [Feldmeier i Karn, 1990; Leong i Tham,
1991]. Wobec tego, jak dugie powinno by haso?
Problem z algorytmem matematycznego mieszania hase stosowanym w systemie Unix polega
na tym, e jako klucza szyfrujcego uywa on wprost siedmiu znaczcych bitw kadego podanego znaku hasa. Z powodu zastosowanego algorytmu [DES, NBS, 1977] uywane s tylko klucze
o dugoci 56 bitw. Limit omiu znakw nie zosta zatem zaoony, tylko wynika wprost z dugoci uytego klucza. To jednak powoduje dalsze wtpliwoci.
128 moliwych kombinacji wywodzcych si z siedmiu bitw nie jest jednakowo prawdopodobnych.
Ludzie nie tylko unikaj stosowania w hasach znakw sterujcych, ale wikszo z nich nie
uywa innych znakw ni litery. Na dodatek, wikszo ludzi tworzy hasa skadajce si wycznie
z maych liter.
Prawdziw warto hase jako kluczy mona pozna wykorzystujc do tego celu teori informacji
[Shannon, 1949]. W przypadku zwykego tekstu jzyka angielskiego skadajcego si z omiu
znakw, zawarto informacji wynosi okoo 2,3 bita na jedn liter, moe nawet mniej [Shannon,
1948, 1951]. W ten sposb, w hasach w postaci sw jzyka angielskiego, uzyskujemy faktyczn
dugo klucza wynoszc 19, a nie 56 bitw.
Niektre osoby na hasa wybieraj imiona (wasne, maonka, dzieci, itp.). To tylko pogarsza
spraw, gdy niektre imiona s bardzo powszechne. Eksperymenty przeprowadzane przez AT&T
na elektronicznej ksice telefonicznej pokazay, e imi ma tylko okoo 7,8 bita informacji w caym
imieniu i nazwisku. To naprawd bardzo zy wybr.
Dusze wyraenia jzyka angielskiego maj mniejsz zawarto informacji przypadajc na jedn
liter od 1,2 do 1,5 bita. Zatem hasa skadajce si z 16 bajtw, zawierajce wyraenia jzyka angielskiego, nie s tak silne jakby si mogo wydawa, gdy zawieraj tylko od 19 do 24
bitw informacji. Sytuacja ta poprawi si do 38 bitw, gdy uytkownik na haso wybierze niezalene od siebie sowa. Jednak wybranie jako hasa kombinacji imion nie bdzie zbyt pomocne.
Przy tak powszechnym dostpie do hase, nie powinno si ich uywa w ogle lub przynajmniej
powinny by one kryptograficznie zabezpieczane przed atakami sownikowymi.

138

Cz II  Zagroenia

W tym miejscu mona ju wysun kilka wnioskw. Po pierwsze, bardzo wane jest
nauczenie uytkownikw tworzenia dobrych hase. Niestety, mimo upywu lat od wydania
przez Morrisa i Thompsona [1979] pracy na ten temat, zwyczaje uytkownikw nie zmieniy
si. Nie pomogo te nakadanie cilejszych ogranicze na hasa, ktre mona wykorzysta, mimo e podjto wiele takich prb [Spafford, 1992; Bishop, 1992]. Inni prbowali poprawi bezpieczestwo hase, sprawdzajc ju uywane hasa [Muffett, 1992].
Jednak przekora cechujca czowieka zawsze jest silniejsza, a hakerom wystarczy jedna
wygrana.
Ludzie uywaj kiepskich hase, co taka jest ludzka natura. Podejmowano wiele prb
zmuszenia ludzi do uywania hase trudnych do odgadnicia [Brand i Makey, 1985], ale
nie przyniosy one skutku. eby wama si do komputera wystarczy wama si tylko na
jedno konto, a napastnicy wyposaeni w mae sowniki osigaj sukces w ponad 20%
przypadkw [Klein, 1990]. Due sowniki mog osiga wielko dziesitkw megabajtw. Sowniki te skadaj si ze sw oraz rdzeni wyrazw wikszoci jzykw pisanych.
Mog zawiera te informacje osobiste, takie jak: numer pokoju, numer telefonu, hobby,
imiona i nazwiska ulubionych autorw, itp. W niektrych systemach wiele z tych informacji zawartych jest w plikach hase, inne z radoci dostarczy kademu, kto o nie
poprosi, program finger.
W przypadku wielu atakw sieciowych celem nie jest wcale bezporednie wamanie si do systemu co jest zwykle trudniejsze, ni powszechnie si sdzi
ale wykradnicie pliku hase. Do usug, dziki ktrym udao si zdoby pliki hase,
nale: FTP, TFTP, system pocztowy, NIS, rsh, finger, uucp, X11 i wiele innych. Innymi
sowy, napastnik atwo osignie swj zamiar, gdy administrator postpuje niedbale lub
nie mia szczcia przy wyborze systemu dla komputera. rodkw obrony przed atakami
to w duej mierze wielka dbao o system oraz ostrone podejcie do oprogramowania.
Jeeli nie mona wymusi na uytkownikach uywania dobrych hase, istostne staje si
przechowywanie pliku hase z dala od wrogw. Oznacza to, e naley:
 starannie konfigurowa funkcje bezpieczestwa usug, takich jak NIS firmy Sun,
 ogranicza korzystanie z plikw przez tftpd,
 unika umieszczania waciwego pliku /etc/passwd w obszarze osigalnym przez

anonimowy dostp przez FTP.


Niektre systemy uniksowe umoliwiaj ukrywanie zaszyfrowanych hase nawet przed
uprawnionymi uytkownikami. Jeeli system wyposaony jest w t funkcj, nazywan
plikiem przesonitym (ang. shadow) lub dodatkowym (ang. adjunct), zdecydowanie
polecamy skorzystanie z niej. Wiele systemw operacyjnych mdrze szyfruje i ukrywa
swoje pliki hase.
Idealnym wyjciem byoby cakowite uwolnienie si od hase. Najlepsze jest uwierzytelnianie przy uyciu etonw, a przynajmniej uywanie systemw jednorazowych hase,
takich jak One-Time Password (OTP) [Haller, 1994; Haller i Metz, 1996]. Oczywicie,
w takim przypadku rwnie naley wystrzega si hase atwych do odgadnicia.

Rozdzia 5.  Klasy atakw

139

 
Musimy uruchomi system.

Stranik odchrzkn i rzuci tsknym wzrokiem na swoj ksik.


Uruchamianie systemu nie naley do moich obowizkw. Przyjdcie jutro.
Jeeli nie uruchomimy teraz systemu, zrobi si gorco. Przegrzeje si.
Muy caliente i duo pienidzy.
Okrga i pulchna twarz stranika zmarszczya si ze strachu, ale poruszy
tylko ramionami. Ja tego nie potrafi zrobi, co miabym zrobi?
Wiem, e masz klucze. Wpu nas, my to zrobimy.
Stranik mrugn uraony. Tego nie zrobi owiadczy. To jest zabronione.

Czy widziae kiedy rozbity komputer? nalega. To wyglda strasznie.


Peno go na caej pododze!
Herbata z Czarnym Smokiem
R.A. MacAvoy
Czsto najstarsze sposoby sprawdzaj si najlepiej. Hasa mona znale na kartkach
przyczepionych do terminala lub zapisane w dokumentacji lecej obok klawiatury (do
ich uzyskania potrzebny jest jednak fizyczny dostp, ktry nie jest w naszej ksice
gwnym przedmiotem zainteresowa). Podejcie wykorzystujce socjotechnik zwykle
opiera si na uyciu telefonu i wykazaniu si odrobin tupetu. Oto prawdziwy przykad
z AT&T:
Mwi Ken Thompson. Kto dzwoni do mnie w sprawie problemu z poleceniem ls.
Ta osoba chciaa, ebym si tym zaj.
Taaak? Dobrze. Co mam zrobi?
Wystarczy zmieni haso mojego logowania w twoim komputerze
nie uywaem go od jakiego czasu.
Dobrze, nie ma problemu.
Istnieje jeszcze kilka innych sposobw, takich jak choby faszowanie adresu nadawcy
poczty. Poradnik CERT [CA-91-04, 18 kwietnia 1991] ostrzega przed wiadomociami
pocztowymi, jakoby pochodzcymi od administratora systemu, w ktrych uytkownicy
proszeni s o uruchomienie programu testowego wymagajcego podania hasa.
Napastnicy rwnie wysyaj takie wiadomoci:
 

   
  

   



140

Cz II  Zagroenia

 

!  "#   

 $

! 
% &

'(  )&
  *$
 

 +& 
  
,+-./0%-%11234526( 0 
0 00

Naley zauway, e postpienie wedug tej procedury byoby bdem, nawet gdyby
sama wiadomo bya prawdziwa. Jeeli faktycznie ma pojawi si go, nie powinien
on uywa takiego samego hasa w tym komputerze, jakiego uywa na wasnym. Jest to
do wygodny sposb na utworzenia nowego konta, ale tylko wtedy, gdy mona zaufa
gociowi, e zmieni swoje haso na inne, zanim kto zrobi z niego uytek. Z drugiej strony,
unika si w ten sposb wysyania hase poczt w czystej, tekstowej postaci. Jak sobie
pocielisz, tak si wypisz.
Pewnych czynnoci w ogle nie powinno si wykonywa bez stosowania silnego uwierzytelnienia. Trzeba dobrze wiedzie, kto prosi o dan rzecz. Uwierzytelnianie oczywicie
nie musi by formalne. Jeden z nas podpisa ostatnio wan wiadomo pocztow,
cytujc temat dyskusji prowadzonej przez nas podczas ostatniego obiadu. W wielu, ale nie
we wszystkich, sytuacjach wystarczy nieformalne, trjstopniowe potwierdzenie w postaci
zapytania i odpowiedzi nastpujcych po waciwej probie. Sposb ten nie jest jednak
niezawodny. Nawet konto uprzywilejowanego uytkownika moe zosta zaatakowane.
Do bardziej wiarygodnego uwierzytelniania zaleca si korzystanie z kryptograficznych
systemw pocztowych, ktre zostan opisane w rozdziale 18. Pamita tylko naley, e
aden system kryptograficzny nie jest bardziej bezpieczny ni komputer, na ktrym dziaa.
Sama wiadomo moe by chroniona szyfrem, ktrego nie mogaby zama nawet NSA1,
ale gdyby tylko hakerowi udao si zastawi puapk w procedurze pytajcej si o haso,
poczta przestaaby by bezpieczna i autentyczna.
Czasem ludzie majcy dobre intencje, ale zbyt ma wiedz, przyczyniaj si do rozpowszechniania atakw wykorzystujcych socjotechnik. Czsto przecie zdarza si otrzyma od przyjaciela wiadomo pocztow informujc na przykad, e plik sulfnbk.exe
jest wirusem i konieczne jest jego usunicie, a na dodatek trzeba NATYCHMIAST
ostrzec o tym fakcie inne osoby. To zwyczajnie bezsensowny art, ktry na dodatek,
gdyby odbiorca posucha tej porady, moe okaza si niebezpieczny dla komputera.
Niestety, wielu ludzi daje si nabra na taki art, gdy o niebezpieczestwie ostrzega zaufany przyjaciel czy kolega.
Osobom zaciekawionym zagadnieniem praktycznego wykorzystania socjotechniki polecamy relacj byego napastnika, Mitinicka [2002].

 

Jednym ze sposobw rozprzestrzeniania si Robaka internetowego [ang. Internet Worm,
Spafford, 1989a, 1989b; Eichin i Rochlis, 1989; Rochlis i Eichin, 1989] byo wysyanie
nowego kodu programu demonowi finger. Naturalnie, demon nie by przygotowany na
otrzymanie jakiegokolwiek kodu i w protokole nie zawarto w ogle moliwoci przyjcia
1

Agencja Bezpieczestwa Narodowego Stanw Zjednoczonych przyp. tum.

Rozdzia 5.  Klasy atakw

141

kodu. Jednak program wywoywa funkcj  , ktra nie okrelaa maksymalnej wielkoci bufora. Robak wypenia swoim kodem cay bufor odczytu i jeszcze wikszy obszar
poza nim do momentu, gdy nadpisa adres powrotny funkcji   w module jej stosu.
Kiedy wykonanie funkcji zostao zakoczone, nastpi skok do adresu umiejscowionego
w buforze, w ktrym znajdowa si kod napastnika. Konsekwencje s ju znane.
Technika przepeniania bufora znana jest pod nazw stack-smashing i jest najczciej
stosowanym sposobem amania programw. Stworzenie takiego kodu wymaga troch
wysiku, gdy wpisywane znaki s kodem maszynowym atakowanego komputera, ale i tak
wielu ludzi to robi. Historia komputerw oraz literatura zawieraj liczne przykady na to,
jak unikn lub udaremni przepenienie bufora. W wielu jzykach komputerowych nie
jest to w ogle moliwe. Niektre komputery (jak starsze urzdzenia firmy Burroughs)
nie wykonayby kodu znajdujcego si w obszarze stosu. Ponadto, wiele kompilatorw
jzyka C oraz jego bibliotek uywa rnych metod udaremniania lub wykrywania prb
zrujnowania stosu.
Ta konkretna luka i jej proste odpowiedniki dawno ju zostay naprawione przez wikszo producentw systemw, ale pozostaje jednak inna zasadnicza kwestia. Napisanie
poprawnego programu wydaje si by problemem przekraczajcym moliwoci informatyki. Bdy si mno.
Bdem programu bdziemy nazywa w programie to, co nie spenia jego wymogw
(czy wymogi te s poprawne, czy nie bdziemy rozwaa pniej). Bdy s przez to
szczeglnie trudne do zamodelowania, gdy z definicji nie wiadomo, ktre z zaoe
(jeli w ogle ktre) zawiedzie.
Pomaraczowa ksiga [Brand, 1985, ramka na stronie 142] zawiera szereg kryteriw
stworzonych przez Departament Obrony w celu okrelenia poziomu bezpieczestwa
systemu. W przypadku opisanego tu robaka nie pomogyby adne najbardziej strukturalne
zabezpieczenia systemu wywodzce si z tej ksigi. W najlepszym razie system o najwyszym poziomie bezpieczestwa ograniczyby naruszenie ochrony do pojedynczego
poziomu bezpieczestwa. Robak ten by faktycznie atakiem blokady usug, co nie jest
wcale takie wane, gdy komputer o wielopoziomowym systemie bezpieczestwa zostaje
zniszczony przez jawny lub nawet cile tajny proces. W kadym z tych przypadkw
system staje si bezuyteczny.
Pomaraczowa ksiga prbuje poradzi sobie z takimi sprawami przez koncentrowanie si na wymaganiach procesu i gwarancji bezpieczestwa dla systemw o wyszych
klasach. Wymagania na klas B3 zawieraj w punkcie 3.3.3.1.1 nastpujce zalecenie:
TCB (wiarygodna platforma komputerowa) powinna by zaprojektowana i skonstruowana
tak, by uywa kompletnego, koncepcyjnie prostego mechanizmu ochrony o cile zdefiniowanej semantyce. Ten mechanizm powinien odgrywa gwn rol we wdraaniu
wewntrznych struktur TCB oraz systemu. TCB powinien wykorzystywa w znacznym
stopniu warstwowo, abstrakcje oraz ukrywanie danych. Znaczcy wysiek projektowy
powinien zosta skierowany na minimalizacj zoonoci TCB oraz na wyczenie z TCB
moduw, ktre nie s istotne dla bezpieczestwa.

142

Cz II  Zagroenia

Standardy bezpieczestwa informatycznego


Jaki komputer jest bezpieczny? Skd wiadomo, czy si takim dysponuje? Albo inaczej, skd wiadomo, e kto sprzedaje takie komputery?
Departament Obrony Stanw Zjednoczonych zaj si tym zagadnieniem we wczesnych latach
osiemdziesitych ubiegego stulecia tworzc tak zwan Tczow seri (ang. Rainbow Series).
Tczowa seria bya zbiorem broszur, ktre rniy si kolorem okadek i w ktrych podejmowano
rne tematy. Najsynniejsza staa si Pomaraczowa ksiga [ang. Orange book, Brand, 1985]
opisujca zbir poziomw bezpieczestwa oznaczony literami od D (najmniej bezpieczny) do A1.
W kolejnych poziomach zwikszay si zarwno funkcje bezpieczestwa, jak i pewno, e zostay
one poprawnie zaimplementowane. W efekcie definicja bezpieczestwa sprowadzaa si do
spenienia wymaga modelu bezpieczestwa odpowiadajcego cile systemowi klasyfikacji Departamentu Obrony.
By tylko jeden problem, idea bezpieczestwa Departamentu Obrony nie pasowaa do oczekiwa
innych ludzi. Co gorsza, tematyka Pomaraczowej ksigi zostaa oparta na niejasnym zaoeniu, e dotyczy ona drogich komputerw pracujcych z podziaem czasu, komputerw pochodzcych z lat siedemdziesitych ubiegego wieku. Przy takim zaoeniu tajne oraz jawne programy
pracoway na tym samym, jednym, drogim komputerze centralnym. Dzisiejsze komputery s
znacznie tasze. Co wicej, model taki nie uniemoliwiby przenikania wirusw midzy obszarami
niskiego i wysokiego bezpieczestwa. Jego intencj byo uniemoliwienie wypywu jawnymi i tajnymi
kanaami poufnych danych. W ogle nie wzito pod uwag zagadnie sieciowych.
Nowsze, powstae w innych krajach standardy miay szerszy zakres. W Wielkiej Brytanii ogoszono
w 1989 roku Poziomy zaufania. W Niemczech, Francji, Danii oraz Wielkiej Brytanii stworzono
Kryteria oceny zabezpiecze informatyki (ang. Information Technology Security Evaluation Criteria),
dokument opublikowany przez Komisj Europejsk. Dokument ten oraz wydane w 1993 roku
Kanadyjskie kryteria oceny wiarygodnych urzdze komputerowych (ang. Canadian Trusted Computer Product Evaluation Criteria) doprowadziy do powstania szkicu Kryteriw Federalnych, ktre
nastpnie stay si podstaw Powszechnych kryteriw [ang. Common Criteria, CC, 1999] przyjtych przez ISO.
Powszechne kryteria, wolne od aspektw politycznych, maj zosta przyjte we wszystkich krajach
sygnatariuszach. W dokumencie tym prbuje si oddzieli rne aspekty bezpieczestwa. W ten
sposb, poza gwarancjami bdcymi oddzieln skal oceny (kto moe dysponowa systemem
wyposaonym, w jakie funkcje, majcym wysok gwarancj bezpieczestwa lub systemem, z tymi
samymi funkcjami, majcym nisk gwarancj bezpieczestwa), zostay od siebie oddzielone rne
funkcje. Dziki temu niektre bezpieczne systemy mog obsugiwa szyfrowanie i zarzdza wykorzystywaniem zasobw, nie troszczc si jednoczenie o wiarygodne cieki. To jednak wskazuje, e trudniej bdzie zrozumie, co dokadnie oznacza dla systemu bycie bezpiecznym, gdy
trzeba rwnie wiedzie, do jakich zada system ten zosta stworzony.

Innymi sowy, dobre zwyczaje inynierii oprogramowania s wymuszane i egzekwowane


przez instytucje weryfikujce. Niemniej jednak, jak wiemy, nawet najlepiej zaprojektowany
system zawiera bdy.
Robak Morrisa (ang. Morris Worm) oraz wiele z jego dzisiejszych nastpcw udzielio nam
szczeglnie przydatnej lekcji, wskazujc na istot sprawy. Skutek bdu nie koniecznie
ogranicza si do szkodliwych efektw lub niepoprawnego dziaania konkretnej usugi,
w ktrej bd si znajduje. Z powodu wadliwego skadnika zaatakowany moe zosta
cay system. Oczywicie, nikt nie pisze kodu z zaoenia zawierajcego bdy, dlatego nie
ma na idealnego rodka ochronnego, ale s kroki, ktre mona podj, eby zwikszy
szanse powodzenia.

Rozdzia 5.  Klasy atakw

143

Pierwszy rzecz to paranoidalne podejcie do pisania oprogramowania serwerw sieciowych.


Hakerzy i tak zaatakuj, dlatego trzeba si na to odpowiednio przygotowa. Nie naley
wierzy, e cokolwiek, co zostao wysane, jest w jaki sposb poprawne lub nawet przydatne. Poprawno wszystkich danych wejciowych naley sprawdza po kadym wzgldem.
Jeeli program korzysta z jakichkolwiek buforw o staej dugoci (nie tylko buforw
wprowadzania danych), naley si upewni, e bufory si nie przepeni. Stosujc dynamiczne przydzielanie pamici, co z pewnoci stanowi dobry pomys, naley przygotowa si na wyczerpanie wolnej pamici lub wyczerpanie zasobw systemu plikw oraz
pamita, e mechanizmy wyjcia z takich sytuacji te mog potrzebowa pamici oraz
przestrzeni na dysku.
Dodatkowo, naley precyzyjnie zdefiniowa skadni wejciow. Nie mona sprawdza
poprawnoci czegokolwiek, gdy nie wiadomo, co jest poprawne. Z wielu przyczyn dobrym
pomysem jest stosowanie narzdzi do pisania kompilatorw, takich jak yacc czy lex,
a najwaniejsz z nich jest ta, e nie mona napisa gramatyki wejciowej nie wiedzc,
co jest dopuszczalne. Wwczas jest si zmuszonym do stworzenia jasnych definicji wzorcw danych wejciowych moliwych do zaakceptowania. Widzielimy zbyt wiele programw nie wytrzymujcych naporu niedorzecznych danych, ktrych autor programu
si nie spodziewa. Znacznie lepszym wynikiem dziaania programu jest pojawienie si
komunikatu bd skadni.
Nastpn zasad jest jak najmniej uprawnie (ang. least privilege). Nie naley dawa demonom wicej moliwoci, ni to niezbdne. Bardzo niewiele z nich musi dziaa z uprawnieniami root, zwaszcza w komputerach stanowicych zapory sieciowe (firewall). Na
przykad, cz lokalnego systemu dostarczania poczty potrzebuje szczeglnych uprawnie
w celu przekopiowania wiadomoci wysanej przez jednego uytkownika do skrzynki
pocztowej innego uytkownika. Przekanik poczty bramy pocztowej nie wykonuje takiego dziaania. Zamiast tego kopiuje poczt z portu jednej sieci do portu drugiej sieci,
a to zupenie rne dziaania.
Nawet w przypadku serwerw, gdy wydaje si, e potrzebuj specjalnych uprawnie,
nie musi to by prawd, gdy s one poprawnie skonstruowane. Serwer FTP systemu
Unix, eby przytoczy tu najbardziej racy przykad, wykorzystuje uprawnienia uytkownika root, by umoliwi logowanie si uytkownikw oraz by powiza kana danych z portem 20. Tego drugiego wymagania nie mona omin w caoci, gdy wymaga
tego protok, ale dokonanie kilku zmian umoliwioby maemu, prostemu i co bardziej
oczywiste majcemu poprawne uprawnienia programowi wykonanie tych i tylko
tych czynnoci. Z problemem logowania mgby podobnie poradzi sobie program pracujcy
midzy uytkownikiem a waciwym programem, ktry przetwarza tylko polecenia USER
oraz PASS, tworzy poprawne rodowisko, oddaje swoje uprawnienia i wywouje nieuprzywilejowany program realizujcy reszt protokou. Opis takiego programu znajdzie
si w podrozdziale 8.7.
Nie naley powica poprawnoci programu, a w tym weryfikowania poprawnoci,
w pogoni za wydajnoci. Jeeli po to, by zaoszczdzi kilka nanosekund, program musi
by zoony, skomplikowany, musi dziaa w sposb uprzywilejowany lub czy te
dziaania, to najprawdopodobniej zosta on le zaprojektowany. Poza tym urzdzenia staj si
coraz tasze i coraz szybsze, a czas, ktry trzeba przeznaczy na pozbycie si intruzw,
oraz czas uytkownikw pozbawionych usug jest drogi i staje si coraz droszy.

144

Cz II  Zagroenia

!"
#

Ufaj, ale sprawdzaj
Przysowie rosyjskie
Przyczyny atakw, ktre do tej pory opisalimy, wi si z uchybieniami mechanizmu
uwierzytelniania. Rozumiemy przez to, e mechanizm, ktry dotd by wystarczajcy,
w jaki sposb zosta pokonany. Sprawdzanie poprawnoci adresu rdowego moe
w okrelonych warunkach dziaa poprawnie (na przykad, kiedy zapora sieciowa odrzuca faszerstwa), ale hakerzy mog posuy si programem rpcbind i retransmitowa
niektre dania. Wwczas kocowy serwer zostaje zmylony, poniewa mu wydaje si,
e pojawiajce si komunikaty s pochodzenia lokalnego, a w rzeczywistoci pochodz
skdind.
Uwierzytelnianie oparte na adresach zawodzi rwnie, gdy komputer rdowy nie jest
wiarygodny. Oczywistym tego przykadem s komputery PC. Mechanizm, ktry zosta
wymylony w czasach, kiedy komputery pracujce z podziaem czasu byy norm, przesta
si sprawdza, gdy kady moe zarzdza wasnym komputerem. Oczywicie, opcja
w postaci hase te nie zapewnia ju bezpieczestwa w sieciach skadajcych si z takich
komputerw, w ktrych podsuchiwanie hase stao si atwe i powszechne.
Czasem uwierzytelnianie nie udaje si, gdy protok nie zawiera waciwych informacji.
Ani TCP, ani IP nie identyfikuj nigdy nadajcego uytkownika (jeeli w ogle w komputerach funkcjonuje taka moliwo). Protokoy, takie jak X11 czy rsh, musz informacj
t zdoby same lub poradzi sobie bez niej (a jeeli mog j uzyska, to musz znale
sposb na bezpieczne przeniesienie jej przez sie).
Nawet kryptograficzne uwierzytelnienie komputera rdowego moe nie by wystarczajce.
Jak wspominalimy wczeniej, komputer, do ktrego si wamano, nie moe dokonywa
wiarygodnego szyfrowania.



 



Podsuchiwacze mog atwo przechwyci zapisane czystym tekstem haso wysane w nieszyfrowanej sesji, ale mog te natkn si na jeden ze schematw hase jednorazowych2.
Poprawnie dziaajcy schemat uwierzytelniania, stosujcy hasa jednorazowe dla nastpnego logowania, niezalenie od miejsca jego pochodzenia, przeznacza tylko jedno prawidowe haso. Dobrym tego przykadem jest nastpne haso na licie OTP, ktra zostanie
opisana w podrozdziale 7.5, bdce pierwszym znanym celem opisanego tu ataku.
W przykadzie tym zaoymy, e haso ma znan dugo i skada si z samych cyfr.
Napastnik inicjuje dziesi pocze z odpowiedni usug. Kade poczenie czeka na to
samo nieznane haso. Prawidowy uytkownik czy si i zaczyna wpisywa poprawne
haso. Program atakujcy obserwuje to i przekazuje do dziesiciu swoich pocze poprawne znaki hasa w miar ich wpisywania przez uytkownika. Gdy do wpisania pozostaje tylko jedna cyfra, program wysya dziesi rnych cyfr do wszystkich swoich
2

http://www.tux.org/pub/security/secnet/papers/secureid.pdf przyp. aut.

Rozdzia 5.  Klasy atakw

145

pocze zanim uytkownik zdy wpisa ostatni cyfr. Komputer jest szybszy, zatem
wygrywa wycig i jedno z pocze napastnika zostanie uznane za poprawne. Takie schematy
uwierzytelniania umoliwiaj jedynie jednorazowe zalogowanie si z wykorzystaniem
kadego hasa, wic waciwy uytkownik zostanie odrzucony i bdzie musia sprbowa
jeszcze raz. Oczywicie w takiej sytuacji napastnik bdzie musia zna dugo hasa,
ale zwykle dugoci te s dobrze znane.
Jeeli napastnik w czasie uwierzytelniania umieci si midzy klientem a serwerem, moe
wygra uwierzytelnione poczenie z komputerem dziki przekazaniu klientowi wezwania
pochodzcego od komputera i poznaniu od klienta poprawnej odpowiedzi. Atak na jeden
z takich protokow zosta opisany w pracy Bellovina i Merritta [1994].
Uwierzytelniajcy si moe zrobi wiele, by udaremni tego rodzaju atak [Haller et al.,
1998], ale te dziaania bd tylko atami na wrodzon sabo stosowanego schematu
uwierzytelniania. Uwierzytelnianie metod wezwanie-odpowied zupenie udaremnia tego
rodzaju atak, gdy kade poczenie napastnika uzyskuje inne wezwanie i wymaga innej
odpowiedzi.

"

W poprzednim podrozdziale omwiono przypadek, w ktrym wszystko dziaao, tak jak


naley, a niemoliwe byo tylko wiarygodne uwierzytelnienie. Teraz wemiemy pod
uwag odwrotno tamtej sytuacji, czyli warunki, w ktrych dziaajce protokoy zawieraj bdy lub s nieodpowiednie, a przez to uniemoliwiaj waciw prac aplikacji.
Omawianym przypadkiem bdzie atak na numer sekwencyjny protokou TCP, opisany
w rozdziale 2. Z powodu niedostatecznej losowoci generowanego pocztkowego numeru sekwencyjnego poczenia, napastnik moe posuy si faszowaniem adresu
rdowego (ang. spoofing). Trzeba przyzna, e gdy wymylano numery sekwencyjne
protokou TCP nie przewidywano koniecznoci odpierania zoliwych atakw. W zakresie, na ktrym bazuje uwierzytelnienie wykorzystujce adresy, definicja protokou
jest niewystarczajca. Inne protokoy polegajce na numerach sekwencyjnych te mog
by podatne na ten rodzaj ataku. Lista jest bardzo duga, zawiera protok DNS oraz
wiele protokow opartych na RPC.
W wiecie kryptografii popularn zabaw jest wynajdywanie luk w protokoach. Czasem
ich twrcy po prostu popeniali bdy. Czst przyczyn luk s te przyjte, rne zaoenia.
Udowadnianie poprawnoci wymian kryptograficznych to trudna sztuka i przedmiot wielu
bada naukowych. Pki co, luki pojawiaj si zarwno w rozwaaniach akademickich,
jak i w wiecie realnym, na co wskazuj ponure wskazwki Tych, ktrzy wiedz (ang.
Those Who Know).
Bezpieczne protokoy musz by zbudowane na bezpiecznych podstawach. Wemy pod
uwag wietny (mamy nadziej, e wietny) protok bezpiecznego zdalnego dostpu ssh.
Protok ssh ma funkcj, dziki ktrej uytkownik moe poda wiarygodny klucz publiczny, przechowujc go w pliku authorized_keys. Nastpnie, gdy klient zna prywatny
klucz, uytkownik moe zalogowa si bez potrzeby wpisywania hasa. W systemie
Unix plik ten zwykle przechowywany jest w katalogu .ssh, w katalogu domowym uytkownika. Rozwamy teraz sytuacj, w ktrej kto za pomoc ssh loguje si do komputera

146

Cz II  Zagroenia

z zamontowanymi przez protok NFS katalogami domowymi. W takim rodowisku


napastnik moe podszy si pod odpowiedzi NFS i wprowadzi faszywy plik authorized_keys. Zatem bezpieczestwo postrzeganego jako wiarygodny protokou ssh zawodzi
w niektrych do powszednie stosowanych rodowiskach.
Plik authorized_keys charakteryzuje si jeszcze jedn drobn wad. Kiedy uytkownikowi
w nowym rodowisku zaoone zostanie nowe konto, kopiuje on tam zwykle ze swojego
starego konta wszystkie wane pliki. Nie jest niczym niezwykym to, e uytkownik
przekopiuje te cay katalog .ssh, wobec czego wszystkie klucze ssh stan si dostpne
w nowym koncie. Jednak uytkownik moe nie zdawa sobie sprawy, e kopiujc plik
authorized_keys powoduje, e do nowego konta moliwy bdzie dostp za pomoc kluczy
uwiarygodnionych do korzystania z konta poprzedniego. I chocia moe si to okaza
drobnostk, to jest jednak moliwe, e nowe konto jest bardziej wraliwe, a automatyczne
nadanie do niego dostpu przez ssh, moe nie by podane.
Zwr uwag, e w takiej sytuacji dostp do konta przyznawany jest przez uytkownika,
a nie przez administratora systemu, co zasadniczo nie jest dobrym pomysem.
Innym przypadek stanowi bd w protokole standardu sieci bezprzewodowych 802.11.
Problemy z dziaaniem protokou WEP (podrozdzia 2.5) pokazuj, e trudno zbudowa
system bezpieczestwa i e inynierowie, wykorzystujcy do budowy systemu kryptografi, powinni zasign opinii kryptografw, a nie prbowa tworzy samemu caego
system od pocztku. Bezpieczestwo to dyscyplina bardzo specjalistyczna, dlatego nie
ma w niej miejsca dla amatorw.

$ %"
&'
Wikszo protokow niesie pewne informacje. Czsto te taka jest intencja, zebranie
pewnych informacji, osoby korzystajcej z ich usug. Witamy w wiecie szpiegostwa
komputerowego. Informacja sama w sobie moe by celem szpiegostwa przemysowego
albo moe by potrzebna jako rodek do wamania si do systemu. Jednym z oczywistych
przykadw jest protok finger. Oprcz tego, e jest przydatny osobom odgadujcym
hasa, informacje przez niego dostarczane mog by wykorzystywane w socjotechnice.
Na przykad: Witam Robin, wysiada mi tu w East Podunk bateria mojego podrcznego
mechanizmu uwierzytelniajcego. eby wysa Ci t wiadomo musiaem skorzysta
z cudzego konta. Czy moesz wysa mi jego dane kodujce? Oczywicie nie ma problemu, wiedziaem, e jeste w podry. Dzikuj Ci za przysanie harmonogramu.
Przydatne mog by nawet tak przyziemne informacje, jak numer telefonu czy numer
pomieszczenia. W czasie skandalu Watergate Woodward i Bernstein wykorzystali ksik
telefoniczn komitetu reelekcji prezydenta do odtworzenia jego struktury organizacyjnej
[Woodward i Bernstein, 1974]. Wtpliwoci odnonie tego, ktre informacje mog by
ujawniane, mona potwierdzi u pracownikw biura ochrony firmy, a ich praca polega
na mwieniu nie.
Na stronach internetowych niektrych firm udostpniane s ich ksiki telefoniczne.
Jest to oczywicie bardzo wygodne, ale w wiecie korporacyjnym informacje te czsto
traktowane s jako poufne. owcy gw uwielbiaj takie okazje. Przydaj im si do poszukiwania osb majcych okrelone kwalifikacje. Rwnie uniwersytety podobnie traktuj

Rozdzia 5.  Klasy atakw

147

takie informacje. Warunki ochrony prywatnoci (a czsto i surowo prawa) decyduj o tym,
jakie informacje mog by udostpniane. Przykadem tego moe by Ustawa o prawie do
edukacji i prywatnoci (FERPA) oraz Dyrektywy prywatnoci Unii Europejskiej.
Innym owocnym rdem danych jest system DNS. Opisalimy ju bogactwo informacji,
ktre mona dziki niemu zdoby, poczwszy od szczegw organizacyjnych, a skoczywszy na licie potencjalnie celw ataku. Kontrolowanie wypywu tych danych jest
trudne i czsto jedynym wyjciem jest ograniczenie informacji podawanych przez widoczne
z zewntrz serwery DNS tylko do komputerw penicych funkcje bram.
Dowiadczeni hakerzy oczywicie wiedz o tym i nie przyjmuj do wiadomoci podawanych im informacji o dziaajcych komputerach. Zamiast tego, w poszukiwaniu interesujcych usug i ukrytych komputerw, skanuj porty w danej przestrzeni adresowej.
Najlepszym sposobem obrony jest wwczas dobra zapora sieciowa, gdy maleje moliwo
jego opanowania, jeeli nie uda im si wysa pakietw do komputera.

( )

*
#+
W atakach lawinowych wykorzystywane s samorozprzestrzeniajce si programy, do
powielenia ktrych dochodzi bardzo szybko. Programy potrafice rozsya si same nazywane s robakami (ang. worm), natomiast programy doczajce si do innych programw wirusami (ang. virus). Matematyczne funkcje ich rozprzestrzeniania s podobne,
a rnice midzy nimi nie s wane. Epidemiologia takich programw jest podobna do infekcji biologicznych.
Sukces dziaania tych programw ley w wykorzystywaniu powszechnych bdw lub
zachowa wystpujcych w wielkich populacjach podatnych na to programw lub uytkownikw. Mog si rozprzestrzeni na cay wiat w cigu kilku godzin, a, potencjalnie,
nawet w cigu kilku minut [Staniford, et al., 2002; Rubin, 2001]. Rozprzestrzeniajc si
w duych spoecznociach, mog powodowa olbrzymie szkody ekonomiczne. Robak
Melissa zatyka w niektrych firmach, pochodzce z firmy Microsoft, systemy poczty
elektronicznej przez pi dni. Rne robaki obciay znacznie dziaanie caego Internetu.
Zagroenie to nie jest nowe ani nie ogranicza si jedynie do Internetu. Wirus IBM Christmas Card zablokowa wewntrzn bisynchroniczn sie firmy IBM w 1987 roku [wicej
szczegw na ten temat mona znale w RISKS Digest, tom 5., numer 81.].
Programy tego rodzaju raczej korzystaj z nadarzajcych si okazji, ni kieruj si na
okrelone osoby czy organizacje. Ale ich adunek moe trafia i trafia w popularne cele
polityczne i komercyjne.
Istnieje kilka sposobw na zminimalizowanie moliwoci zaraenia si wirusem. Najmniej popularn metod jest trzymanie si z dala od popularnych monokultur. Jest mao
prawdopodobne, by zosta zaraonym, jeeli uywa si jedynie napisanych przez siebie
systemw operacyjnych oraz aplikacji. Olbrzymia wikszo wirusw powstaa dla
systemw Windows firmy Microsoft, co oznacza, e uytkownicy systemw Unix oraz
Macintosh ucierpieli mniej. Jednak ta sytuacja si ju zmienia i to na niekorzy uytkownikw Linuksa. Obserwujemy obecnie duo robakw Linuksowych oraz robakw niezalenych od platformy, rozprzestrzeniajcych si przez kilka monokultur, zarwno za porednictwem bezporedniego dostpu do sieci, jak i stron WWW oraz poczty elektronicznej.

148

Cz II  Zagroenia

Nie mona zarazi si wirusem, nie komunikujc si z zaraonym komputerem. Ryzyko


infekcji zmniejsza staranna kontrola pocze sieciowych oraz plikw otrzymywanych
z obcych rde. Jest te wiele wirusw rozpowszechnianych dziki ludziom przekazujcym dalej swoim znajomym wiadomoci pocztowe (czsto zawierajce miejskie ciekawostki) z prob rozesania ich dalej do kolejnych osb. W wikszoci wypadkw
powoduje to tylko irytacj, ale wrd osb o niewielkiej wiedzy na temat komputerw
mog one wywoa panik. Niektre z takich wiadomoci zawieraj nieprawdziw informacj o tym, e komputer odbiorcy tej wiadomoci jest zaraony i niejednokrotnie
instrukcj usunicia pliku systemowego o istotnym dla dziaania systemu znaczeniu.
Wiele osb postpujc wedug tej instrukcji zniszczyo swoje systemy.
Oprogramowanie antywirusowe jest popularne i do skuteczne w walce ze znanymi wirusami. Oprogramowanie to musi by stale uaktualniane, gdy wycig zbroje midzy
piszcymi wirusy a firmami piszcymi oprogramowanie antywirusowe trwa stale. Wirusy
potrafi nad wyraz skutecznie ukrywa swoj obecno i dziaania. Skanery antywirusowe
nie mog ju tylko polega na wyszukiwaniu okrelonych acuchw bajtw w plikach
wykonywalnych, ale musz emulowa ich kod i umie wyszukiwa ladw dziaania wirusw. W miar jak wirusy bd staway si coraz bardziej skomplikowane, oprogramowanie
antywirusowe bdzie musiao prawdopodobnie powica coraz wicej czasu na przebadanie kadego pliku, a to w kocu moe trwa zbyt dugo. Moe si rwnie okaza, e
twrcy wirusw bd pisa kody wirusw tak, by nie mogy one zosta zidentyfikowane
w rozsdnym czasie.
Najlepszym rozwizaniem byoby uruchamianie tylko pewnych, niezmodyfikowanych
programw. Mog do tego celu zosta uyte technologie kryptograficzne, ale tego typu
podejcie jest obecnie hamowane polityczn wrzaw na temat mechanizmw ochrony
praw autorskich oraz prywatnoci.

, )+##Halo! Halo! Czy jest tam kto? Halo! Zadzwoniem, eby powiedzie cze!
Mwi halo! Syszysz mnie Joe?
Nie sysz Ci. Wcale Ci nie sysz. To niedobrze i wiem, dlaczego tak jest.
Mysz przegryza kabel. egnaj!
Jedna ryba, dwie ryby, ryba czerwona, ryba niebieska
Dr Seuss
Omwilimy ca gam popularnych atakw na komputery podczone do Internetu. Ataki
te wykorzystyway: saboci protokow, bdy oprogramowania serwerw, a nawet nadgorliwo usunych ludzi. Ataki odmowy usugi (ang. Denial of Service), w skrcie DoS,
to zupenie co innego. Polegaj one na naduywaniu usug, czyli obcianiu oprogramowania, sprztu czy czy sieciowych poza granice ich zaoonej wydajnoci. Celem
takiego postpowania jest w najlepszym razie uniemoliwienie dziaania jakiej usugi lub
obnienie jakoci jej dziaania.

Rozdzia 5.  Klasy atakw

149

Te ataki rni si te tym, e s one oczywiste, a nie s subtelne. Uniemoliwienie dziaania usugi powinno by atwe do wykrycia. Owszem, ten rodzaj ataku atwo zauway, ale
za to trudniej ustali jego rdo. Do ataku wykorzystywane s czsto pakiety zawierajce
sfaszowane, losowe wybrane (wobec czego bezuyteczne) adresy rdowe.
Do przeprowadzenia rozproszonego ataku odmowy usugi (ang. Distributed Denial of
Service) w skrcie DDoS, wykorzystywanych jest wiele komputerw wczonych do Internetu. Najczciej komputery te uczestnicz w ataku zupenie bezwiednie, gdy w jaki
sposb wczeniej wamano si i umieszczono w nich zoliwy program. Bardzo trudno
jest uwolni si od ataku DDoS, gdy atak nastpuje ze wszystkich stron. Powicono
im cay punkt 5.8.3.
Na atak blokady usug nie ma niezawodnego lekarstwa. Tak dugo, jak usuga jest
dostpna oglnie, og moe robi z niej niewaciwy uytek. W ten sposb, zupenie anonimowo, mona przez znaczny czas uniemoliwi dziaanie doskonale zabezpieczonego orodka WWW.
atwo wyliczy szacunkow warto ataku DoS. Firmy potrafi okreli, ile moe je
kosztowa kilkudniowe wstrzymanie dziaania serwera WWW z powodu ataku. Jeeli nie
potrafi tego zrobi, moe to oznacza, e nie maj dobrego planu biznesowego, w ktrym
priorytetem jest wykorzystanie usug WWW.
Jeeli uda si wykry sprawc ataku, firmy mog dochodzi na drodze sdowej zrekompensowania swoich strat. Fakt ataku jest oczywisty i atwo zrozumiay dla sdu. W ten sposb mona te zmusi do wsppracy rne porednio zaangaowane w to strony, takie
jak na przykad dostawcy usug internetowych ISP. Problemem oczywicie pozostaje
znalezienie osoby, ktr naley pozwa, gdy ataki DDoS trudno jest przeledzi.


 


Ataki na cza sieciowe mog przebiega pod rnymi postaciami, poczwszy od prostego
zasypywania wiadomociami pocztowymi (mail bombing lub spamowanie3), po wysyanie pakietw przygotowanych specjalnie, by zaama dziaanie programu w atakowanym komputerze. Skutkiem takiego ataku moe by: przepenienie dysku, przecienie
procesora, zaamanie si systemu operacyjnego lub po prostu przecienie cza.
Najbardziej prymitywnym atakiem tego rodzaju jest atak przecienia cza sieciowego.
eby przeciy cze, atakujcy musi wygenerowa wicej pakietw, ni moe obsuy odbiorca. W tych pakietach prawidowe musi by tylko pole adresu docelowego,
pozostaa cz moe by przypadkowa (oczywicie, musi si te zgadza suma kontrolna). By wypeni na przykad cze T1, wcale nie potrzeba tak duo pakietw, wystarczy ich mniej ni 200 kb/s. Atak taki mona przeprowadzi z pojedynczego komputera, pod warunkiem, e jego poczenie z sieci jest odrobin szybsze ni poczenie
celu ataku.

Nazwa spam nie powinna si kojarzy ze znakomitymi wyrobami misnymi firmy Hormel Corporation
przyp. aut.

150

Cz II  Zagroenia

Kilku napastnikw moe przeprowadzi wsplny atak, koncentrujc na celu ataku kilka
generatorw pakietw. Ruch kadego generatora z osobna moe by niewielki, ale suma
ruchu musi by wiksza ni pojemno cza sieciowego celu przeprowadzanego ataku.
Gdy atak jest poprawnie koordynowany, jak to ma miejsce w przypadku atakw DDoS,
setki komputerw korzystajcych z powolnych czy moe nawet przeciy cze duej
przepustowoci atakowanego komputera. Pozostawienie swojego adresu e-mail na popularnej stronie WWW, takiej jak Slashdot, moe spowodowa atak zasypywania wiadomociami pocztowymi po tym, jak spamerzy wejd w posiadanie tego adresu.




Wiele z najgorszych atakw przeprowadzanych jest na warstw sieciow, czyli na dziaajc w komputerze implementacj protokou TCP/IP. Tego rodzaju ataki wykorzystuj
saboci lub bdy tego protokou. Biorc pod uwag to, e typowa implementacja protokou TCP/IP skada si z dziesitek tysicy wierszy kodu napisanego w jzyku C, wykonywanego w wikszoci komputerw w obszarze uprzywilejowanym, trudno jest jego
twrcy przygotowa kod na wszystkie potencjalne niebezpieczestwa. Cykl edycji, kompilacji i uruchamiania jest dugi, a w przypadku protokow niezwykle trudno jest ledzi
ich dziaanie, a ju szczeglnie sytuacje, w ktrych powstaj bdy.
Moe to w czasie normalnej pracy by przyczyn kopotw. Jednak duo wiksze problemy mog wystpi, gdy przeciwnik aktywnie poszukuje luk w dziaaniu protokou lub
tworzy pakiety, ktre s w stanie zaama cay system.

 

Przez lata w Internecie kryo wiele plotek o dysponujcych wikszymi moliwociami
pakietach, czyli o bardziej zoliwych. Widzielimy ju pakiety zabjcw (ang. killer
packet), ktre po trafieniu na bd powodoway zaamanie si systemu. Pakiety te mog
mie bardzo due rozmiary, by le pofragmentowane, zawiera bezsensowne opcje lub
inne atrybuty, ktre powoduj zadziaanie czci niezbyt czsto uywanego kodu [przykady takie mona znale w poradniku CERT Advisory CA-96-26 z 18 grudnia 1996
oraz CERT Advisory CA-00-11 z 9 stycznia 2000]. Napastnicy specjalizujcy si w algorytmach dziki wykorzystaniu saboci mechanizmu kolejkowania lub wyszukiwania
(jeden z takich przypadkw omwiony zostanie dalej w tym rozdziale) potrafi spowodowa, e programy zaczn dziaa niewydolnie.
Niektrzy ludzie uwielbiaj podsya orodkom sieciowym faszywe pakiety ICMP zakcajce ich komunikacj. Czasem s to komunikaty Destination Unreachable, a czasem
wprowadzajce wicej zamieszania i bardziej miercionone komunikaty na przykad
zerujce mask sieci komputera. Czemu komputery odbieraj komunikaty, o ktre nie
wysyay zapyta? Inni hakerzy zabawiaj si protokoami routingu, nie w celu opanowania maszyny, tylko uniemoliwienia jej komunikacji z innymi.


Niektre pakiety uderzaj w cel z wiksz si ni inne. Pierwszy dobrze opisany atak
odmowy usug zosta przeprowadzony na dostawc usug internetowych firm Panix.
Do komputera firmy Panix kierowano w cigu sekundy okoo 150 pakietw TCP SYN

Rozdzia 5.  Klasy atakw

151

(wicej szczegw mona znale w punkcie 2.1.3). Pakiety te zasypay mechanizm


przetwarzania pocze potwartych jdra systemu Unix, co okazao si cakiem prost
czynnoci. Gdy tabela pocze potwartych wypenia si, nadchodzce od upowanionych uytkownikw polecenia nawizania poczenia byy odrzucane, uniemoliwiajc im korzystanie z komputera. Ataki z wykorzystaniem pakietw SYN opisane s
bardziej szczegowo w pracy Northcutta i Nova [2000].
Jest to jedyny atak, o ktrym nie wspomnielimy w pierwszym wydaniu tej ksiki, gdy
nie znalimy adnych metod jego odparcia. Opis tego ataku zosta usunity w ostatniej
chwili, gdy ksika bya ju kierowana do druku. Teraz aujemy tamtej decyzji. Atak
na firm Panix zosta przeprowadzony z uyciem programu, ktre dwa pisma hakerskie
opublikoway kilka miesicy wczeniej [deamon9 et al., 1996].
To, e do may strumie pakietw mg uniemoliwi dziaanie okrelonej usugi TCP
komputera, spowodowane byo tym, e oprogramowanie TCP wikszoci systemw
nigdy nie byo pisane z myl o odpieraniu tego rodzaju ataku. To dobry przykad siy
pakietw wobec saboci programu. W wyniku tego ataku znaczco wzmocniono waciwy program TCP.

  
Moliwe jest oczywicie przecienie komputera na poziomie jego aplikacji. Celem tego
ataku moe by wyczerpanie si tabeli procesw lub dostpno procesora.
Wysyajc kilka gigabajtw danych za pomoc poczty elektronicznej czy FTP, mona
prawdopodobnie wypeni nimi cay dysk. Trudno bowiem ustali nieprzekraczalny, grny
prg uycia zasobw. Nie trzeba by wcale uprawnionym, zaawansowanym uytkownikiem, by w prosty sposb wysa kilkaset razy po 1 MB danych. Dodatkowo, dziaanie to
spowoduje utworzenie w komputerze bardzo wielu procesw odbierania danych, co obciy go jeszcze bardziej.
Najlepsze, co w takiej sytuacji mona zrobi, to zapewni wystarczajc ilo zasobw
do obsuenia wszystkich potrzeb (obecnie ceny dyskw gwatownie spadaj) we waciwych miejscach (na przykad oddzielnych obszarach dla poczty, usug FTP i, szczeglnie cennych, danych raportw zdarze) oraz zabezpieczy si przed agodnymi bdami.
System pocztowy, ktry nie moe przyj i umieci w kolejce caej przesyki, powinien
poinformowa o tym jej nadawc. Nie powinien on komunikowa o powodzeniu operacji
zanim nie ma pewnoci, e odesanie przesyki zakoczyo si powodzeniem.
Spam pocztowy jest faktem. Wikszo uytkownikw Internetu otrzymuje kadego dnia
porcj tego typu wiadomoci i to po tym, jak ich dostawcy usug internetowych odfiltrowali ju co bardziej oczywiste mieci. Ogrom tego problemu sta si dla nas jasny,
gdy zaoylimy konto pocztowe na jednym z darmowych serwerw i posuylimy si
nim przy sprzeday pewnej rzeczy na aukcji internetowej. Chocia nie uywalimy tego
konta do innych celw, to za kadym razem, gdy do niego zagldalimy (okoo raz na
miesic), znajdowalimy w nim setki niezamwionych wiadomoci pocztowych, informujcych o przernych stronach WWW dotyczcych odchudzania, szybkiego robienia
pienidzy i speniania innych fantazji. Dla wikszoci ludzi spam jest niedogodnoci,
ktr zdyli zaakceptowa. Jednak spam powodowany przez wirusy poczty elektronicznej
oraz robaki (a take ludzi, ktrzy powinni lepiej zdawa sobie spraw z tego, co robi)
zniszczy ju wiele systemw pocztowych.

152



Cz II  Zagroenia

!
Uwaga caego wiata skierowana zostaa na ataki typu DDoS po tym, jak w lutym 2000
roku uniemoliwiy one dziaanie jednego z bardziej znanych portali WWW. Przypadkowo
stao si to w niedugim czasie od opisania przez jednego z nas, Stevea, w The North
American Network Operators Group (NANOG) dziaanie takiego ataku. W dzienniku
Washington Post zaczto nawet doszukiwa si zwizku midzy tymi wydarzeniami.
Wtpimy w taki zwizek, jednak nie wiemy na pewno, e nie mia miejsca. Ataki DDoS
to odmiana atakw DOS przeprowadzana jednoczenie z wielu zwerbowanych do tego
celu w caej sieci komputerw. Sposb ich dziaania przedstawiono na rysunku 5.1.

4[UWPGM Rozproszony atak odmowy usug. Napastnik wysya komunikat do programu gwnego.
Program gwny rozsya komunikaty do zombich, ktrzy z kolei zasypuj cel swoimi pakietami

Kolejne kroki tego ataku przedstawiaj si nastpujco:




Napastnik za pomoc odpowiednich rodkw instaluje program zombi


na tak wielu komputerach, jak to tylko moliwe, w wielu rnych domenach
administracyjnych. Program zombi wie si z jednym z portw i oczekuje
instrukcji.



Napastnik instaluje program gwny w jednym z komputerw w Internecie.


Program gwny dysponuje list komputerw, na ktrych zainstalowane s
wszystkie programy zombi.



Napastnik czeka.



Kiedy nadchodzi czas ataku, napastnik wysya programowi gwnemu komunikat,


w ktrym przekazuje mu adres celu ataku.



Wszystkie programy zombi jednoczenie wysyaj w kierunku celu tak liczb


pakietw, ktra go obezwadnia.

Wiadomo pochodzca z programu gwnego do programw zombi ma zwykle sfaszowany adres nadawcy. W celu utrudnienia identyfikacji nadawcy moe zosta uyta
technika kryptograficzna. W celu utrudnienia wykrycia faktycznego rda, pakiety wysyane przez programy zombi te mog mie sfaszowane rdowe adresy IP, chocia
wikszo napastnikw wydaje si tym nie przejmowa. Dodatkowo, program gwny
umieszcza swoje komunikaty w pakietach ICMP odpowied echa, ktre s przepuszczane
przez wiele zapr sieciowych.

Rozdzia 5.  Klasy atakw

153

W Internecie mona znale sporo popularnych narzdzi atakw DDoS oraz ich odmian.
Jednym z pierwszych by program TFN (ang. Tribe Flood Network ). Jest on dostpny
w postaci rdowej w wielu miejscach w Internecie. Napastnik moe wybra jedn z technik
zasypywania pakietami, takich jak: zasypywanie pakietami UDP, pakietami TCP SYN,
pakietami ICMP Echo Request lub moe wybra atak typu smurf. Program gwny informuje programy zombi o rodzaju stosowanego ataku w komunikacie ICMP Echo Reply.
Innymi narzdziami do przeprowadzania atakw DDoS s: TFN2K (bardziej zaawansowana
wersja programu TFN, przeznaczona dla systemu Windows NT i rnych odmian Uniksa),
Trinoo oraz Stacheldraht. Ten ostatni jest bardzo zaawansowanym programem, ktry
zawiera funkcje szyfrowania swoich pocze i funkcje automatycznego uaktualniania. Std
ju tylko krok do stosowania przez hakerw systemw PKI. Czy ju nikomu w sieci nie
mona zaufa?
Nowsze narzdzia s nawet bardziej skomplikowane. Slapper, jeden z robakw systemu
Linux, tworzy midzy podporzdkowanymi sobie komputerami sie rwnorzdn, co
agodzi pewne problemy w komunikacji z programem gwnym. Inne programy wykorzystuj do celw sterownia kanay IRC.

"  #
$%%  %    &  '
Z rozproszonymi atakami odmowy usug trudno sobie poradzi. Ataki takie mona zagodzi,
ale nie ma na nich cakowicie skutecznego rodka.
Kada oglnie dostpna usuga moe zosta przez ten og naduyta.
Jeeli komputer stanie si celem ataku tego rodzaju, mona zrobi cztery rzeczy:


Znale sposb na odfiltrowanie szkodliwych pakietw.



W jaki sposb poprawi przetwarzanie nadchodzcych danych.



Odnale i uniemoliwi dziaanie orodka, z ktrego prowadzany jest atak.



Rozbudowa sprzt i zwikszy pojemno sieci tak, by normalny ruch oraz ruch
wywoany atakiem mg zosta obsuony.

adna z tych reakcji nie jest doskonaa. Niewiadomie mona rozpocz wycig zbroje
z napastnikiem, a sukces w tym wycigu zaley tylko od tego, jak daleko bdzie chcia
on si posun. Przyjrzyjmy si bliej tym rozwizaniom.

  ! 


W atakujcych pakietach moe by zawarty na tyle charakterystyczny element, ktry
znacznie uatwi ich odfiltrowanie. By moe pakiety te wysyane s z okrelonego portu.
Moliwe, e pochodz z sieci, w ktrej nie ma adnego uprawnionego uytkownika. Te nietypowe szczegy mog mie cakiem techniczny charakter. W jednym z atakw numery
sekwencyjne pakietw TCP zawsze rozpoczynay si od tej samej wartoci. Prbujc odrzuca szkodliwe pakiety, moe konieczne okaza si zagbienie w szczegy TCP oraz IP.
Filtr odrzucajcy pakiety mona uruchomi na routerze lub nawet w jdrze atakowanego komputera. Filtr nie musi by doskonay, dopuszczalne jest odrzucenie przez niego
jakiego procentu ruchu uprawnionego. Szczegy przeciwdziaania zale od rodzaju

154

Cz II  Zagroenia

ataku i sposobu dziaania firmy. Lepiej, jeli pracowa moe 80% uytkownikw ni 0%
uytkownikw. Nie jest to rozwizanie idealne, ale w przypadku tego rodzaju ataku nie
obiecywalimy rozwiza doskonaych.
We wczesnej fazie ataku na firm Panix numery sekwencyjne TCP nie byy losowe, dziki
czemu w prosty sposb odfiltrowywano szkodliwe pakiety. Pniej napastnicy zmienili je
na liczby losowe i wycig zbroje trwa nadal. Adres rdowy i losowy numer sekwencyjny atakujcych pakietw byy generowane za pomoc funkcji rand oraz random. Czy
mona przewidzie pseudolosow sekwencj i na tej podstawie identyfikowa atakujce
pakiety? Gene Spafford odkry, e jest to moliwe, pod warunkiem, e atakujcy komputer korzysta ze sabego generatora liczb losowych. Jeden z publicznie dostpnych
programw w trakcie przeprowadzania ataku wysya pakiety zawierajce do ma
warto pocztkow w polu TTL. Na tej podstawie moglimy odrzuca te pakiety, gdy
praktycznie wszystkie implementacje protokou IP uywaj do duych wartoci pocztkowych w polu TTL. Na tym etapie walki naley rozgrywa tego rodzaju gry, ale
majc na uwadze to, e w tym samym czasie napastnicy udoskonalaj swoje generatory
pakietw. Trzeba pamita, e mae wartoci TTL stosuje te w swoich pakietach program
traceroute. Czy je te blokowa?
Elastyczno Internetu eksperci przychodz na ratunek
Internet zosta stworzony tak, by mg przetrwa uderzenie pakiety potrafi omija miejsce awarii.
Dowiedzielimy si, e jedyn irack sieci, ktra przetrwaa cikie bombardowania w 1991 roku,
bya sie pakietowa.
Farmerzy wiedz, e uprawianie na duym obszarze, takim jak stan Kansas, jednakowej odmiany
pszenicy jest niebezpieczne. Nazywa si to monokultur, a monokultury s podatne na pospolite
ataki.
Internet jest prawie monokultur. eby w nim dziaa, komputer musi uywa jakiej implementacji
protokou TCP/IP. Wikszo komputerw w Internecie korzysta z tej samej wersji tego samego
oprogramowania. Jeeli zostanie w nim wykryty bd, bdzie si on znajdowa prawdopodobnie
w milionach komputerw. Na tym wanie polega podstawowa przewaga hakerw. Nieopacalne
i niemdre byoby, gdyby kady z nas pisa swj wasny system operacyjny czy wasn implementacj protokou TCP/IP.
Oznacza to rwnie, e wielu ekspertw zna ten sam Internet i gdy pojawia si w nim nowe zagroenie, mog oni szybko zadziaa, wypracowujc wspln ekspertyz dotyczc nowych, interesujcych problemw. Na myl przychodz nam dwa przykady, cho z pewnoci byo te i wiele innych.
W 1988 roku pojawi si robak Morrisa i szybko zaatakowa wiele orodkw sieciowych. Kilka
grup ekspertw natychmiast zdeasemblowao kod robaka, przeanalizowao go i opublikowao
wyniki swoich bada. Szybko pojawiy si rodki zaradcze i szczepionki, a rozprzestrzenianie si
robaka zostao zahamowane w cigu tygodnia.
Firma Panix zostaa zaatakowana za pomoc ataku odmowy usug, wykorzystujcego pakiety SYN.
Grupa projektantw protokou TCP/IP szybko stworzya zamknit list dyskusyjn, w ktrej rozwaano wiele moliwoci rozwizania tego problemu. Niedugo potem pojawi si przykadowy
kod, ktry nastpnie zosta poddany dyskusji i w jej wyniku ulepszony. W cigu tygodnia lub
dwch wielu producentw oprogramowania przygotowao atki na swoje programy.
Spoeczno internetowa korzysta z tego rodzaju wsppracy. Nie zawsze uda si przewidzie
nowe zagroenia, ale zawsze wielu ludzi gotowych jest opowiedzie na nie i przygotowa odpowiednie rozwizania. Zwykle atwo jest zainstalowa nowy program, znacznie atwiej ni ponownie
zasia cay stan Kansas.
Oczywicie, jeeli problem ley w sprzcie

Rozdzia 5.  Klasy atakw

155

Wystpowa te mog jeszcze inne anomalie. Normalne pakiety maj pewne cechy charakterystyczne, ktrych nie maj pakiety generowane losowo. Niektre komercyjne programy poszukuj tych anomalii i wykorzystuj je do odrzucania atakujcych pakietw.
Pakiety w typowym ataku maj losowy rdowy adres IP. Gdyby zawsze by to ten sam
adres lub gdyby byy to adresy pochodzce z jakiego zakresu, mona by je po prostu ignorowa, pod warunkiem, e nie pochodziyby one od jakiego wanego klienta. Nawet gdy
rdowy adres IP jest adresem losowym, mona sprbowa odfiltrowa kilka z nich, kierujc si zupenie sensownymi podstawami.
Przykadowo, mimo e wikszo z internetowej przestrzeni adresowej zostaa rozdzielona,
nie wszystkie adresy z tej przestrzeni s uywane i nie wszystkie s dostpne z oglnego
Internetu. Firmie przyznano ca sie /8, ale na zewntrz moe ona ogasza tylko ma jej
cz. Dziki wykorzystaniu tej wiedzy, mona odrzuca losowe pakiety, ktre sugeruj,
e pochodz z pozostaej czci takiej sieci.
Stworzenie mapy bitowej lub filtra Blooma [Bloom, 1970] dla 224 nieprzydzielonych lub
nieogaszanych adresw nie byoby rzecz trudn. Od razu naley pomin wszystkie
sieci z zakresu multicastowego i wszystkie sieci, ktre nie znajduj si na licie sieci
ogaszanych przez protok BGP4. Mona by nawet za pomoc polecenia ping bada
losowo niektre z adresw i odmawia obsugi pakietw przychodzcych z nieodpowiadajcych sieci. W tym wypadku naley jednak zachowa ostrono, gdy ze ustawienie
w takiej tabeli jednego bitu mogoby si sta wietnym atakiem blokady usug przeprowadzonym na samego siebie.
Oczywicie, mapy bitowej mona by uywa w caej sieci, a jej tworzenie mogoby by
dobrym rodzajem usugi. Nie twierdzimy, e filtr musi by koniecznie oparty na mapie,
poniewa istniej jeszcze inne sposoby przeprowadzania takiej weryfikacji, w dodatku
zajmujce mniejsz ilo pamici. Tabele globalnego routingu wypeniaj si do swoich
granic, co powoduje konieczno rozbudowywania routerw.
Mona te stworzy filtr rozpoznajcy staych uytkownikw. W przypadku ataku mona
przejrze pliki raportw z ostatnich kilku miesicy i wybra z nich adresy staych uytkownikw oraz porty przez nich uywane. Filtr sprawdza, czy pakiet pochodzi od przyjaciela, a jeli nie, jest odrzucany.
Skuteczno tego rodzaju filtra zaley od rodzaju realizowanych usug. Lepiej bdzie on
funkcjonowa, gdy stali klienci korzystaj z sesji protokou telnet, ni gdy szeroki og
uytkownikw korzysta z protokou WWW. Na tej samej zasadzie mona filtrowa take
ruch pocztowy. Wwczas wci odbierano by wiadomoci pocztowe od staych korespondentw, ale niestety tracone byyby wiadomoci pochodzce od nowych. Podkrelamy
jeszcze raz, e filtrowanie nie jest doskonaym rozwizaniem, ale dziki niemu mona
prowadzi dziaalno przynajmniej czciowo.
W wolnym spoeczestwie jednostki zachowujce si niepoprawnie mona zdyscyplinowa za pomoc unikania. Moemy postanowi, e z niektrymi osobami nie rozmawiamy,
i kropka. Rne grupy religijne, takie jak grupa Amish, wykorzystay to do wprowadzania
w ycie swoich zasad. Dziki filtrom, ktre tu omwilimy, moemy odmwi korzystania z naszych usug tym, ktrych nie lubimy.

156

Cz II  Zagroenia

Na przykad, jeeli pakiety ataku odmowy usug stale nadchodz z konkretnego uniwersytetu, mona po prostu odci ten uniwersytet od korzystania z naszych usug. Taka sytuacja miaa miejsce par lat temu w przypadku uniwersytetu MIT, gdy tak wielu hakerw
wykorzystywao komputery tej uczelni, e wiele orodkw sieciowych zaczo odrzuca
wszystkie pakiety przychodzce z tej uczelni.
Legalnym uytkownikom z uniwersytetu MIT utrudniono przez to korzystanie z usug
wielu orodkw. Spowodowao to, e na winnym wszystkiemu wydziale zmieniono zasady
korzystania z Internetu, w wyniku czego wikszo hakerw przeniosa si gdzie indziej.
Czasem stosowna obrona jest uznawana za legaln. Byo ju kilka przypadkw [na przykad
CompuServe v. Cyber Promotions, Inc., 962 F.Supp. 1015 S.D. Ohio 1997], w ktrych
sd zabroni spamerowi irytowania klientw ISP. Pochwalamy takie decyzje.

" #
Dysponujc kodem rdowym systemu, mona go usprawni. W wikszoci orodkw
sieciowych rozwizanie takie jest niepraktyczne, gdy po prostu brak im czasu, wiedzy
i chci, aby modyfikowa jdro do odpierania atakw odmowy usug. Kody rdowe
uywanego oprogramowania s przewanie niedostpne, jak w przypadku routerw lub
produktw firmy Microsoft, wwczas orodki prosz o pomoc producentw lub szukaj
innych rozwiza.

$ #
Jednak pakiety te skd przecie przychodz. Moe da si wytropi ich rdo i zdusi
atak. Nie dajemy zbyt wiele nadziei na schwycenie napastnika, gdy prawie zawsze dokonuje on ataku za pomoc opanowanych przez siebie komputerw, ale moe bdziemy
mieli troch szczcia.
Znajdujce si w pakietach pole TTL moe udzieli wskazwek odnonie liczby przeskokw midzy napastnikiem a tob. Typowa cieka, po ktrej poruszaj si pakiety IP,
moe skada si z 20 lub wicej przeskokw, masz zatem do przebycia spor odlego.
Rne systemy operacyjne nadaj temu polu charakterystyczne dla siebie wartoci pocztkowe i w ten sposb moe Ci si uda znaczco zawzi zakres poszukiwa.
Adres rdowy najprawdopodobniej w niczym nie pomoe. Jeeli jest przewidywalny,
to najprawdopodobniej najprostszym wyjciem bdzie odfiltrowywanie tych pakietw
i zignorowanie ich. Gdy adres rdowy jest prawdziwy, skontaktowanie si ze rdem
powinno by atwe, a w zwizku z tym moesz podj dalsze dziaania lub poskary si
zamieszanemu w to ISP. W przypadku ataku DDoS moe to by niewykonalne z powodu
zbyt duej liczby rnych rde ataku.
Gdy adresy rdowe s faszowane i losowe, musisz przeledzi drog pakietw przez
ruchliwy szkielet Internetu, a do jego rda [Savage et al., 2000]. Do tego potrzebne jest
zrozumienie i wsppraca ze strony ISP. Wiele ISP cigle udoskonala swoje moliwoci
spenienia tego warunku.

Rozdzia 5.  Klasy atakw

157

Czy ISP mona namwi na wspprac? Wikszo mona, gdy dostarczy si im postanowienie sdu, ale to jest utrudnione przez granice pastwowe.
Czy przeprowadzenie takiego ledzenia jest zgodne z prawem? Czy to nie jest ju podsuchiwanie? Czy masz prawo zobaczy kierowany do siebie pakiet, zanim on osignie
twoj sie?
Oczywiste rozwizanie to wykorzystanie przez ISP polece routerw informujcych o pojawieniu si okrelonych pakietw. Routery firmy Cisco zawieraj polecenie
,
za pomoc ktrego mona wychwyci pakiety pasujce do odpowiedniego wzoru. Funkcj t mona uruchamia na kolejnych routerach ISP, a pakiety doprowadz do ich
klienta lub nastpnego ISP. Dowiedzielimy si, e uycie tego polecenia moe spowodowa zawieszenie si bardzo obcionego routera. To samo naley zrobi w miejscu poprzedniego przeskoku, najprawdopodobniej u innego ISP i moliwe, e w innym kraju.
Niektre routery wyposaone s w inne pomocne funkcje. Na przykad funkcja  
w routerach firmy Cisco informuje o interfejsie, z ktrego nadchodzi dany ruch.
Stone [2000] opisuje sie nakadkow, dziki ktrej mona uproci ledzenie rda
pakietw w ISP, ale wymaga to od ISP wyprzedzajcego planowania.
Gdy atakujce pakiety nadchodz od jednego z klientw ISP, ISP moe si z nim skontaktowa i prosi o pomoc lub te zainstalowa filtr uniemoliwiajcy temu klientowi
faszowanie pakietw. Taki filtr jest rzeczywicie bardzo dobrym rozwizaniem i niektrzy ISP instaluj go na swoich routerach. Dziki temu filtrowi pakiety przychodzce
od klienta maj adres rdowy pasujcy do ogaszanej dla niego sieci.
Filtr taki moe spowolni nieznacznie dziaanie routera, ale poczenia z klientami zwykle
realizowane s za pomoc do powolnych czy. Typowy router moe przy tych prdkociach filtrowa, pozostawiajc jeszcze procesorowi zapas mocy. Wikszym kopotem
jest dodatkowa praca administracyjna. Gdy ISP ogasza now sie, musi te dokona zmian
w filtrze routera brzegowego. To dodatkowa praca i jeszcze jedna okazja do pomyki.
Filtr taki nie powinien jedynie odrzuca sfaszowanych pakietw, gdy stanowi one zbyt
cenn informacj, by si ich po prostu pozby. Fakt odrzucenia pakietu rwnie powinien
by gdzie odnotowywany, a klient powinien zosta poinformowany, e generuje podejrzane pakiety. Takie dziaanie moe pomc w ujciu hakera i uniemoliwieniu mu naduywania komputera klienta. Moe te by wiadectwem kompetencji, ktrej brak konkurencyjnemu ISP.
Byoby mio, gdyby routery pracujce w rdzeniu Internetu rwnie dokonyway podobnego
filtrowania, odrzucajc pakiety, ktre zawieraj niewaciwe adresy rdowe. Maj przecie odpowiednie informacje (z tabel routingu BGP4), a sprawdzanie mogoby by wykonywane rwnolegle z przeprowadzaniem routingu. Problemem jest tu jednak asymetryczno wielu cieek routingu. Takie rozwizanie spowodowaoby zwikszenie zoonoci
i kosztw routerw, ktre i tak s ju due i drogie. Ani producenci routerw, ani ISP nie
s zachcani do dodania takiego filtrowania.

158

Cz II  Zagroenia

S jeszcze inne sposoby wykrycia rda, z ktrego nadchodz sfaszowane pakiety. ISP
moe odcza swoje gwne cza na kilka sekund i obserwowa, czy pakiety przestaj
trafia do celu. T prost i brutaln metod moesz stosowa majc fizyczny dostp do
kabli. Wikszo klientw nie zauway krtkiej przerwy. Kable naley odcza tak
dugo, a trafi si na waciwe cze.
To samo dziaanie moesz podj, nie dysponujc dostpem do kabli, za pomoc rnego
rodzaju polece routera. Sugerowano rwnie, by bardziej skorzy do wsppracujcy ISP
ogaszali tras do zaatakowanej sieci, utrzymujc w ten sposb pakiety z daleka od sieci
mniej chtnych do wsppracy. Jeeli ten mechanizm nie zostaby zaimplementowany
poprawnie, rwnie mgby sta si rdem atakw odmowy usug.
Mona wyobrazi sobie wydane routerowi polecenia nie kieruj do mojej sieci pakietw
przez jedn sekund. W ten sposb mona by spowodowa przerw w strumieniu nadchodzcych pakietw i dziki temu wyledzi ich rdo. Tego polecenia mgby uy
do zapocztkowania ataku odmowy usug. Moliwe, e naleaoby zabezpieczy to polecenie
podpisem kryptograficznym lub spowodowa, by router przyjmowa takie polecenia nie
czciej ni co kilka minut. W tego typu gry moesz bawi si przy konfiguracji routera
i z protokoami routingu, ale zapocztkowa je moe tylko personel techniczny ISP4.
Obiecujcym podejciem do sterowania przecieniami jest Pushback [Mahajan et al.,
2002; Ioannidis i Bellovin, 2002]. Pomys ten polega na identyfikowaniu przez router
wzorcw ruchu odpowiedzialnego za przecienie. Po zidentyfikowaniu, ruch taki jest
odrzucany. Ostatecznie, dania ponowienia prawidowego ruchu s propagowane wstecz
do jego rda. Celem tego jest poprawa usug dla poprawnie zachowujcych si strumieni
wspdzielcych cza razem z ruchem zym.

%
&#&
Jest to prawdopodobnie najskuteczniejsze lekarstwo na ataki blokady usug. Moe te
by i najdrosze. Gdy sie jest zasypywana pakietami, moesz po prostu zainstalowa
szersze wejcie. Szybszy procesor oraz zwikszona pami obsu wikszy ruch. W czasie
ataku na firm Panix wysunito propozycj wprowadzenia zmiany do protokou TCP tak,
by stan pocze potwartych trwa krcej lub by TCP dziaa inaczej w ramach obowizujcych zasad.
Zwykle trudno szybko zwikszy pojemno cza sieciowego, a na dodatek jest to droga
inwestycja. Zniechca do tego te fakt, e dua ilo pienidzy wydawana jest tylko z powodu ataku.
Najatwiejsze moe okaza si zwikszenie moliwoci serwera. Komercyjne systemy
operacyjne i oprogramowanie serwerw sieciowych znaczco rni si midzy sob pod
wzgldem wydajnoci. Pomocny w tym moe by rozsdny wybr oprogramowania.
Nie polecamy tu konkretnych producentw, chcemy tylko zauway, e implementacje
z duszym staem na rynku zwykle s silniejsze i wydajniejsze. Reprezentuj sob wiksz
skumulowan wiedz.
4

Wicej informacji mona znale w dokumencie http://www.nanog.org/mtg-0210/ispsecure.html,


zwaszcza na stronach 68 76 przyp. aut.

Rozdzia 5.  Klasy atakw

159

W ten sposb jednak problem nie zniknie. Pewnego dnia w przyszoci, gdy wszystkie
cza sieciowe bd szyfrowane, wszystkie klucze rozdzielone, wszystkie serwery uwolnione od bdw, wszystkie komputery bezpieczne, a wszyscy uytkownicy uwierzytelnieni
ataki odmowy usug wci bd moliwe. Dobrze przygotowani decydenci zaaranuj
dobrze nagonione ataki na popularne cele, takie jak rzdy, najwiksze firmy czy niepopularne osoby. Sdzimy, e takie ataki stan si kiedy w Internecie codziennoci.

( %
 
Pakiet IP musi mie adres rdowy, to pole nie jest opcjonalne. Napastnicy stosujcy atak
DoS nie uywaj wasnych adresw ani adresw szablonowych, gdy mog one pomc
w ujawnieniu rda ataku lub co najmniej uatwi identyfikacj i odfiltrowanie takich
pakietw. Czsto zamiast tego uywaj adresw rdowych wybieranych losowo, dziki
czemu mona atwiej zmierzy tempo atakw w skali caego Internetu.
Komputer atakowany pakietami DoS radzi sobie z obsug czci z nich. Wysya odpowiedzi pod sfaszowane adresy, co powoduje, e pakiety te s rozpylane po caej przestrzeni
adresowej Internetu. Mona je wyapywa teleskopem pakietw (ang. packet telescope),
programem monitorujcym nadchodzcy ruch w ogaszanych, ale nieuywanych sieciach.
Z efektem tym zetknlimy si w 1995 roku, gdy rozpoczlimy rozgaszanie, wtedy
nieuywanej, sieci AT&T 12.0.0.0/8 i rozpoczlimy obserwowanie nadchodzcego
strumienia pakietw. W cigu dnia odbieralimy z Internetu od 5 do 20 MB losowych
pakietw. Niektre z nich wypyny z miejsc, ktre uyway sieci 12 na swoje potrzeby
wewntrzne. Inne byy wynikiem rnego rodzaju bdw konfiguracyjnych. Jednak
najciekawsze pakiety pochodziy od komputerw poddawanych rnym atakom faszowania adresu nadawcy. Ludzie o niezbyt czystych intencjach wybrali sobie nieuywan
sie AT&T na rdo faszowanych pakietw, moe jako art, a moe po to, by wskaza
na firm telefoniczn. To, co zobaczylimy, byo nadchodzcym zewszd krzykiem
umierajcych komputerw.
Temat ten rozwinli informatycy w pracy pod redakcj Moorea [2001]. Obserwowali
oni i analizowali ruch rozpraszania wstecznego (ang. backscatter) w celu zbadania rzeczywistego globalnego tempa i celw atakw. Rzadko udaje si zdoby technik dowodzc
powszechnoci atakw w skali globalnej. Poza zastosowaniami badawczymi, informacje
te maj warto komercyjn, gdy wiele firm monitoruje swoich klientw w poszukiwaniu potencjalnych problemw, a teleskop pakietw jest wietnym detektorem wczenie
wykrywajcym ataki typu DoS.
Posugujc si sieci /8, wyapalimy 1/256 losowo adresowanych pakietw w sieci.
Znacznie mniejsze sieci, czyli i mniejsze teleskopy, wci mog da dobry obraz tego
rodzaju ruchu sieci /16 s z pewnoci dostatecznie due. Z wylicze wynika, e sie
/28 (zawierajca 16 komputerw) otrzymuje dziennie okoo szeciu tego typu pakietw.
Oczywicie, technika ta powoduje dalszy wycig zbroje. Napastnicy mog zacz
przesta uywa adresw nadzorowanych sieci. Jednak gdy teleskopy pakietw zostan
umieszczone w rnych losowo wybranych maych sieciach, moe by ciko uj uwadze
sieciowych astronomw.

160

Cz II  Zagroenia

. /+

Programy zombi wykorzystywane do atakw DDoS to tylko wierzchoek gry lodowej.
Wielu hakerw skonstruowao roboty sieciowe (ang. botnets, od bots robots roboty),
czyli grupy botw, zombi, itp., ktre wykorzystuj do swoich nieuczciwych poczyna.
Najbardziej znanym jest naturalnie, opisany wczeniej, atak DDoS. Botnety s rwnie
uywane do rozproszonego wyszukiwania sabych miejsc. Dlaczego wykorzystywa do
tego celu swj komputer, skoro mona wykorzysta setki komputerw innych osb?
Marcus Leech snu domysy na temat wykorzystania robakw do amania hase lub rozproszonego rozszyfrowywania [Leech, 2002] internetowej wersji Chiskiej Loterii
[Quisquater i Desmedt, 1991]. Kto wie, czy takie rzeczy ju nie maj miejsca?
Botnety tworzone s za pomoc tradycyjnych rodkw: koni trojaskich, a w szczeglnoci robakw. Jak na ironi, jednym z popularniejszych koni trojaskich jest konstruktor robotw. Osoba, ktra go uywa, myli, e buduje wasn sie botw, a tak na
prawd jej bot (i jej komputer) staje si czci czyjego botnetu.
Wykorzystywanie robakw do budowy botnetw jednym z tego przykadw5 jest
slapper moe by ryzykowne z powodu potencjalnej moliwoci lawinowego ich
rozprzestrzeniania si [Staniford et al., 2002]. Niektre robaki nawet poszukuj innych,
zainstalowanych wczeniej robakw oraz przejmuj boty nalece do kogo innego.
Program gwny porozumiewa si z robotami na wiele rnych sposobw. Jednym z faworyzowanych sposobw komunikacji s kanay IRC, ju przystosowane do masowej
komunikacji. Nie trzeba zatem tworzy dodatkowej infrastruktury komunikacyjnej. Polecenia s oczywicie zaszyfrowane. Wrd polece s te takie, ktre ka robotowi
uaktualni swj kod. W kocu jak korzy przynosz nieaktualne roboty?

0 )

W literaturze kryptograficznej opisywane s dwa rodzaje napastnikw. Pierwszy jest
przeciwnikiem pasywnym, podsuchujcym ca komunikacj sieciow, a jego zadanie
polega na zebraniu tak wielu tajnych informacji, jak to moliwe. Drugi jest aktywnym
intruzem, ktry wedle wasnego uznania zmienia tre komunikatw, umieszcza w strumieniach danych swoje wasne pakiety lub usuwa komunikaty. Wiele z prac teoretycznych
bazuje na modelu systemu w postaci sieci gwiadzistej z napastnikiem w jej rodku.
W takim modelu kady komunikat (pakiet) wdruje do napastnika, ktry moe go odnotowa, zmodyfikowa, powieli, porzuci, itd. Napastnik moe te tworzy komunikaty i wysya je tak, by wyglday, e pochodz od kogo innego.
Napastnik musi si ulokowa w sieci midzy komunikujcymi si ofiarami w ten sposb,
by mg obserwowa przechodzce pakiety. Pierwszy publicznie opisany aktywny atak na
protok TCP, ktry opiera si na odgadywaniu numeru sekwencyjnego, zosta opisany
w 1985 roku przez Morrisa [1985]. W tamtych czasach ataki te byy interesujce z teoretycznego punktu widzenia, dzi istniej programy, ktre przeprowadzaj takie ataki automatycznie. Programy, takie jak Hunt, Juggernaut czy IP-Watcher, su do przechwytywania pocze TCP.
5

CERT Advisory CA-2002-27 z 14 wrzenia 2002 przyp. aut.

Rozdzia 5.  Klasy atakw

161

Niektre ataki aktywne musz pozbawi komunikacji jedn z upowanionych stron (czsto
za pomoc ataku odmowy usug) i podawa si za ni drugiej stronie. Aktywny atak na
obie strony istniejcego poczenia TCP jest trudniejszy, ale rwnie zosta ju wykonany
[Joncheray, 1995]. Powodem tego utrudnienia jest to, e obie strony poczenia TCP
przechowuj jego stan, ktry zmienia si z kadym wysanym lub odebranym komunikatem. Ataki tego typu s wykrywane przez monitor sieciowy, gdy nagle w sieci pojawia
si duo dodatkowych potwierdze i powtrze pakietw, ale mog te przedosta si
niezauwaone przez uytkownika.
Nowsze narzdzia ataku faszuj komunikacj ARP w celu ulokowania si w rodku. Gdy
komunikaty konsoli ostrzegaj o wprowadzaniu zmian w informacjach zebranych przez
protok ARP, nie naley ich ignorowa
Kryptografia uyta w wyszych warstwach moe posuy do odparcia ataku prowadzanego w warstwie transportowej, ale jedyn odpowiedzi na niego moe by zerwanie
poczenia. Atakom przejmowania pocze mog zapobiec techniki kryptograficzne
warstwy cza danych lub warstwy sieciowej, takie jak na przykad IPsec. Oczywicie,
ataki aktywne mog by przeprowadzane rwnie w warstwie aplikacji. Przykadem tego
jest atak typu czowiek w rodku (ang. man in the middle) przeprowadzony na protok
uzgadniania klucza Diffie-Hellmana. Ataki aktywne na warstw polityczn wykraczaj
poza zakres tematyczny tej ksiki.

You might also like