S哪呪歛be strony uwierzytelniania has哪呪歛mi


S艂abe strony
uwierzytelniania has艂ami
Obrona
Cezary G. Cerekwicki
stopie艅 trudno艣ci
Wi臋kszo艣膰 istniej膮cych system贸w informatycznych u偶ywa
uwierzytelniania przez has艂a. Niniejszy tekst opisuje s艂abe punkty
tego typu system贸w, ale przedstawia te偶 najlepsze znane obecnie
rozwi膮zania, pozwalaj膮ce je wzmocni膰. Opisano problematyk臋
ochrony systemu w najwa偶niejszych przypadkach u偶ycia
uwierzytelniania poprzez has艂a.
as艂a nieprzypadkowo s膮 najpopu- " u偶ytkownik otrzymuje poczt膮 list臋 hase艂
larniejszym sposobem uwierzytel- jednorazowych.
Hniania. G艂贸wn膮 przyczyn膮 znacz-
nie mniejszej popularno艣ci innych technik W konkretnej sytuacji mo偶e to wygl膮da膰 tak,
(np. metod biometrycznych, r贸偶nego rodza- jak w poni偶szym przyk艂adzie. U偶ytkownik
ju kart itd.) jest ich du偶o wy偶sza cena. Nawet chce stworzy膰 sobie konto w portalu. W tym
w przypadku tzw. silnego uwierzytelnienia, a celu wype艂nia formularz i podaje wymy艣lo-
wi臋c udowadniania swojej to偶samo艣ci na kil- ne przez siebie has艂o. Has艂o zostaje zapisa-
ka sposob贸w, has艂o (np. w postaci PIN-u al- ne w jego Firefoksie, dodatkowo u偶ytkownik
bo hase艂 jednorazowych) jest z regu艂y jed- zapisuje je sobie w pliku, w kt贸rym trzyma
nym z nich. wszystkie swoje has艂a. Wype艂niony formularz
Uproszczony nieco cykl 偶ycia has艂a mo偶e podr贸偶uje sieci膮 do portalu, gdzie has艂o jest
wygl膮da膰 nast臋puj膮co: przetwarzane. U偶ytkownik korzysta wielokrot-
nie z portalu, za ka偶dym razem loguj膮c si臋.
" Has艂o zostaje wymy艣lone przez u偶ytkow-
nika,
Z artyku艂u dowiesz si臋
" has艂o w臋druje przez Sie膰,
" has艂o zostaje przetworzone przez sys-
" gdzie kryj膮 si臋 s艂abo艣ci system贸w uwierzytelnia-
tem,
j膮cych has艂em,
" has艂o zostaje gdzie艣 zapisane ku pami臋ci,
" jak te s艂abo艣ci wyeliminowa膰.
" has艂o zostaje zapisane przez program
na maszynie klienckiej (np. przegl膮dark臋
Co powiniene艣 wiedzie膰
webow膮, klienta poczty),
" u偶ytkownik loguje si臋, " wskazane jest rozumienie podstaw terminologii
kryptologicznej i elementarna znajomo艣膰 infor-
" u偶ytkownik zapomina has艂a i korzysta z me-
matyki.
chanizmu przypominania lub resetowania,
" has艂o trafia do backupu systemowego,
hakin9 Nr 9/2007
2 www.hakin9.org
Bezpiecze艅stwo system贸w poprzez has艂a
Tworzenie hase艂 i nie pozwalaj膮c, by si臋 powt贸rzy- 偶膮dan膮 cech膮 systemu hase艂 jest
Idealny u偶ytkownik powinien prze- 艂y. Niekt贸rych ludzi to denerwuje, brak mo偶liwo艣ci wnioskowania: od-
strzega膰 nast臋puj膮cych regu艂 bez- przez co szukaj膮 oni sposobu, jak krycie jednego has艂a nie powinno
piecze艅stwa: oszuka膰 taki program. Jednym z dawa膰 napastnikowi 偶adnej u偶y-
takich sposob贸w jest dopisywanie tecznej informacji co do pozosta-
" U偶ywaj d艂ugich i skomplikowa- do swojego ulubionego has艂a nu- 艂ych hase艂 (zw艂aszcza hase艂 ak-
nych hase艂, meru aktualnego miesi膮ca. Zasta- tualnych oraz przysz艂ych). Innych
" has艂o nie powinno by膰 s艂owem n贸wmy si臋 jednak nad tym, co si臋 wa偶nych regu艂 bezpiecze艅stwa
ani sk艂ada膰 si臋 ze s艂贸w, stanie, gdy w艂amywacz uzyska do- r贸wnie偶 nie da si臋 upilnowa膰 meto-
" nie u偶ywaj tego samego has艂a na st臋p do hase艂 nieaktualnych? Wi- dami technicznymi, dlatego wa偶na
r贸偶nych kontach, dz膮c, 偶e historia hase艂 danej osoby jest edukacja u偶ytkownik贸w. Istnie-
" nie zapisuj nigdzie hase艂, to Ronaldo-4 oraz Ronaldo-10, wy- je prosty spos贸b na tworzenie do-
" systematycznie zmieniaj has艂a (z pr贸buje inne cyferki w miejsce tych, brych hase艂. Na pocz膮tek potrze-
cz臋stotliwo艣ci膮 proporcjonaln膮 do kt贸re ju偶 zna. Widz膮c has艂a michal bujemy jakiego艣 cytatu z literatu-
istotno艣ci chronionego zasobu), i piotrek zapewne sprawdzi wszyst- ry, tekstu piosenki, albo jakiego-
" ujawnienie kt贸regokolwiek z ha- kie imiona z kalendarza. Je艣li tylko kolwiek innego zr贸d艂a tekstu. Jako
se艂 nie powinno stanowi膰 偶adnej istnieje mo偶liwo艣膰 wywnioskowa- przyk艂adem pos艂u偶臋 si臋 pierwszy-
wskaz贸wki co do pozosta艂ych, nia aktualnego has艂a z hase艂 nie- mi wersami Pana Tadeusza Adama
" ilekro膰 wyst膮pi podejrzenie, 偶e aktualnych, to ich zmienianie istot- Mickiewicza:
dane has艂o mog艂o zosta膰 ujaw- nie obni偶a poziom bezpiecze艅stwa
nione, nale偶y je jak najszybciej (ale ci膮gle ma sens). Podany wy- Litwo, ojczyzno moja, ty jeste艣 jak
zmieni膰, 偶ej scenariusz mo偶na te偶 potrakto- zdrowie
" nie pozwalaj 偶adnym programom wa膰 jako przyk艂ad konfliktu bezpie- Ile ci臋 trzeba ceni膰, ten tylko si臋 do-
na zapami臋tywanie has艂a, cze艅stwa z u偶yteczno艣ci膮  sys- wie, kto ci臋 straci艂
" zawsze si臋 wyloguj po sko艅cze- tematyczne zmienianie hase艂 nie-
niu pracy, w膮tpliwie jest korzystne, ale wi膮偶e Druga potrzebna nam rzecz to algo-
" zawsze blokuj pulpit komputera, si臋 z niemi艂膮 dla u偶ytkownik贸w ko- rytm przekszta艂cenia takiego tekstu
kiedy od niego na chwil臋 odcho- nieczno艣ci膮 ci膮g艂ego ich wymy艣la- na has艂o. Mo偶e on np. wygl膮da膰 tak:
dzisz, nia i zapami臋tywania. Mo偶na wi臋c
" je艣li nie zamierzasz ju偶 d艂u偶ej ko- przypuszcza膰, 偶e odb臋dzie si臋 to " Pocz膮tek wiersza zamieniamy na
rzysta膰 z danego komputera, na- ze szkod膮 dla ich jako艣ci. Rodzi jego numer porz膮dkowy i w艂膮cza-
le偶y oczy艣ci膰 go ze wszystkich to pewne konsekwencje dla auto- my do has艂a,
prywatnych danych, w szczeg贸l- r贸w oprogramowania. O ile regu艂y " koniec wiersza zamieniamy na
no艣ci wtedy, gdy s膮 w nim zapisa- d艂ugo艣ci czy ilo艣ci u偶ytych znak贸w znak / i w艂膮czamy do has艂a,
ne has艂a i inne poufne informacje. 艂atwo na u偶ytkownikach wymusi膰, " do has艂a w艂膮czamy pierwsz膮 lite-
o tyle zaprojektowanie algorytmu, r臋 ka偶dego s艂owa,
Jednak idealni u偶ytkownicy nie kt贸ry b臋dzie w stanie stwierdzi膰, " do has艂a w艂膮czamy znaki inter-
istniej膮. D艂ugo艣膰 has艂a mo偶na (i 偶e jedne has艂a mo偶na wywniosko- punkcyjne,
trzeba) wymusi膰, skomplikowan膮 wa膰 z innych, jest niemo偶liwe (wy- " pozosta艂e znaki ignorujemy.
struktur臋 has艂a r贸wnie偶, ale to ju偶 j膮wszy trywialne przypadki wnio-
mniej wa偶ne. Dlaczego? Poniewa偶 skowania, np. dla hase艂 typu Iza1, Stosuj膮c nasz algorytm, tworzymy
maksymalna ilo艣膰 iteracji w ataku Iza2). 呕aden program nie stwier- nast臋puj膮ce has艂o:
brutalnym to Sd, gdzie S to wiel- dzi, 偶e has艂a YellowSubmarine i
ko艣膰 u偶ytego s艂ownika, a d to d艂u- HeyJude zwi膮zane s膮 z zespo艂em  1L,om,tjjz/2Ictc,ttsd,kcs/
go艣膰 has艂a. A wi臋c go艂ym okiem The Beatles, co dla w艂amywacza
wida膰, 偶e ka偶dy dodatkowy znak mo偶e by膰 cenn膮 i nietrudn膮 do wy- Ma ono 26 znak贸w d艂ugo艣ci, za-
d艂ugo艣ci zwi臋ksza przestrze艅 ha- wnioskowania wskaz贸wk膮. Mo偶li- wiera ma艂e i du偶e litery oraz jeden
se艂 o rz膮d wielko艣ci (przy typo- wo艣膰 wnioskowania jest te偶 zagro- znak interpunkcyjny i jeden spe-
wych wielko艣ciach S), a dodatkowy 偶eniem dla zasady tworzenia r贸偶- cjalny, a wi臋c jest obecnie bardzo
znak w s艂owniku o znacznie mniej. nych hase艂 dla r贸偶nych kont. Mo- silne. Oczywi艣cie lepiej nie pos艂u-
Wniosek: d艂ugo艣膰 jest wa偶niejsza 偶emy sobie wyobrazi膰 scenariusz, giwa膰 si臋 podanym wy偶ej przyk艂a-
ni偶 r贸偶norodno艣膰 znak贸w, zatem w kt贸rym napastnik zdobywa has艂o dem algorytmu, a ju偶 na pewno nie
to przede wszystkim d艂ugo艣膰 po- do s艂abo chronionego zasobu (np. tekstu. Nale偶y wybra膰 sobie wiele
winni艣my wymusza膰 na u偶ytkowni- prywatnego konta e-mail) i na jego zr贸de艂 tekstu (mog膮 by膰 to wybra-
kach. Wiele program贸w wymusza podstawie zgaduje has艂o do cze- ne zwrotki piosenek, wierszy, cyta-
systematyczne zmienianie has艂a, go艣 wa偶niejszego, np. banku in- ty znanych osobisto艣ci, nadruki na
w dodatku pami臋taj膮c stare has艂a ternetowego. Tak wi臋c kolejn膮 po- lekarstwach, dowcipy, przys艂owia
www.hakin9.org hakin9 Nr 9/2007 3
Obrona
itd.), aby m贸c tworzy膰 wiele r贸偶- swoje minusy, w tym potencjaln膮 ujawnieniu podlega ca艂a lista ha-
nych hase艂. podatno艣膰 na atak man-in-the- se艂 przysz艂ych, a nie tylko jedno.
Tekst, kt贸rego b臋dziemy u偶ywa膰 middle, degradacje wersji protoko- Jeszcze jednym podej艣ciem do ha-
jako zr贸d艂a has艂a, powinien mie膰 na- 艂u itd. Rozwi膮zanie to jest te偶 kosz- se艂 jednorazowych s膮 tokeny. Roz-
st臋puj膮ce cechy: towne, bo wymaga osobnego pu- wi膮zanie to jest zdecydowanie bar-
blicznego IP oraz wykupienia us艂u- dzo bezpiecznym sposobem gene-
" By膰 艂atwy do zapami臋tania (bar- gi firmy certyfikuj膮cej. Najlepiej rowania hase艂 jednorazowych, ale
dzo dok艂adnego), (opr贸cz SSL) wprowadzi膰 jeszcze te偶 prawdopodobnie najdro偶szym.
" nikt nie powinien go zbyt 艂atwo jedn膮 warstw臋 ochrony. Najlepszy Token jest de facto specjalistycz-
kojarzy膰 z u偶ytkownikiem, tego typu mechanizm oferuje pro- nym kalkulatorem kryptograficz-
" nie powinien by膰 zbyt kr贸tki. tok贸艂 Secure Remote Password, nym. Przechowuje pewnego rodza-
kt贸ry realizuje dow贸d z wiedz膮 ze- ju klucz prywatny (inny dla ka偶de-
Nast臋pnie nale偶y opracowa膰 w艂a- row膮 (a wi臋c nawet wtedy, gdy ata- go klienta banku), ma r贸wnie偶 kla-
sn膮 wersj臋 algorytmu (opieraj膮c si臋 kuj膮cy ma mo偶liwo艣膰 czytania i wiatur臋 pozwalaj膮c膮 na wprowa-
na podanym przeze mnie przyk艂a- zmieniania wszystkich komunika- dzenie kodu. Wygenerowane przez
dzie). Mo偶na na przyk艂ad wprowa- t贸w pomi臋dzy serwerem i klientem, niego has艂o jednorazowe jest skr贸-
dzi膰 regu艂臋 zamieniania spacji na nie jest w stanie odzyska膰 has艂a). tem kryptograficznym klucza pry-
dany znak (np. %), przecinki w tek- Protok贸艂 SRP opisa艂em szczeg贸艂o- watnego oraz wprowadzonego ko-
艣cie zr贸d艂owym zapisywa膰 jako inne wo w osobnym artykule. Inne roz- du. Zauwa偶my, 偶e uwierzytelnienie
znaki (np. @) w ha艣le, u偶ywa膰 ostat- wi膮zania to np. u偶ywane przez nie- poprzez has艂o jednorazowe wy-
nich, a nie pierwszych liter ka偶dego kt贸re banki podawanie tylko cz臋艣ci generowane przez token realizuje
s艂owa itd. has艂a. To rozwi膮zanie jest w oczy- protok贸艂 z wiedz膮 zerow膮 (kt贸rego
Nasz algorytm powinien: wisty spos贸b lepsze ni偶 podawa- bezpiecze艅stwo jest zale偶ne tylko
nie has艂a w ca艂o艣ci i w oczywisty od nieodwracalno艣ci u偶ytego algo-
" By膰 艂atwy do zapami臋tania (bar- spos贸b gorsze od SRP, gdzie ha- rytmu skr贸tu kryptograficznego).
dzo dok艂adnego), s艂o nigdy nie jest przesy艂ane sieci膮 Oceniaj膮c jako艣膰 rozwi膮za-
" generowa膰 has艂a z elementami ani w ca艂o艣ci, ani w cz臋艣ci. Teore- nia zabezpieczaj膮cego transport
co najmniej trzech zbior贸w (ma艂e tycznie, je艣li kto艣 pods艂ucha dosta- hase艂 nale偶y mie膰 na uwadze je-
litery, du偶e litery, cyfry, znaki in- tecznie wiele sesji, b臋dzie w stanie go odporno艣膰 na wszystkie znane
terpunkcyjne, znaki specjalne), posk艂ada膰 sobie ca艂e has艂o. Poten- metody ataku. Projektanci niepo-
" generowa膰 d艂ugie has艂a (co naj- cjalnie najbezpieczniejszym roz- siadaj膮cy odpowiedniej wiedzy na
mniej 10 znak贸w). wi膮zaniem (nawet bezpieczniej- ich temat mog膮 艂atwo wpa艣膰 w jed-
szym ni偶 SRP) jest u偶ycie hase艂 n膮 z licznych zasadzek kryj膮cych
Oczywi艣cie nale偶y trzyma膰 w tajem- jednorazowych. W tym przypadku si臋 na tym polu. Na przyk艂ad naiw-
nicy has艂a, algorytm oraz tekst zr贸- nawet przej臋cie has艂a nic ataku- ne metody szyfrowania hase艂 mo-
d艂owy. j膮cemu nie daje, poniewa偶 ani nic g膮 by膰 podatne na tzw. replay at-
tym has艂em nie uwierzytelni, ani tack. Wyobrazmy sobie, 偶e dany
Transport hase艂 nie b臋dzie w stanie (w przypadku system zamiast przesy艂a膰 has艂a w
Has艂a mog膮 by膰 transportowane w optymalnym, wi臋cej na ten temat w postaci tekstu jawnego, wysy艂a ich
sieci w przypadku: dalszej cz臋艣ci tekstu) wywniosko- skr贸ty SHA. Je艣li w艂amywacz pod-
wa膰 z niego hase艂 przysz艂ych. Ha- s艂ucha tak膮 konwersacj臋, nie b臋-
" Tworzenia konta, s艂a jednorazowe maj膮 jednak do艣膰 dzie w stanie odczyta膰 ze skr贸tu
" logowania si臋, oczywisty minus  trzeba je bez- has艂a w postaci jawnej, bo r贸wna-
" zmieniania has艂a. piecznie dostarczy膰 u偶ytkowniko- 艂oby si臋 to odwr贸ceniu funkcji skr贸-
wi. Najcz臋艣ciej robi si臋 to poprzez tu kryptograficznego. Ale takie od-
Drugi przypadek u偶ycia jest zdecy- odpowiednio zabezpieczony list wr贸cenie wcale nie b臋dzie mu po-
dowanie najcz臋stszy, zatem przy wysy艂any poczt膮 albo przez SMS. trzebne! Mo偶e bowiem sam na-
jego projektowaniu trzeba zacho- Oba rozwi膮zania niestety kosztuj膮. wi膮za膰 sesj臋 i w miejscu, w kt贸-
wa膰 szczeg贸ln膮 ostro偶no艣膰. Pod- Has艂a jednorazowe dostarczane rym serwer b臋dzie oczekiwa膰 skr贸-
stawowym zagro偶eniem jest fakt, przez SMS s膮 bezpieczniejsze, po- tu SHA has艂a w艂amywacz prze艣le
偶e has艂a podr贸偶uj膮 przez sieci pu- niewa偶 ich czas wa偶no艣ci jest nie- mu przej臋ty wcze艣niej skr贸t. W ten
bliczne, gdzie mog膮 by膰 czytane d艂ugi. Napastnik musi skorzysta膰 z spos贸b b臋dzie si臋 m贸g艂 poprawnie
przez administrator贸w (legalnych i has艂a natychmiast po jego zdoby- uwierzytelni膰 w og贸le nie znaj膮c
samozwa艅czych) ka偶dej z tych sie- ciu. W przypadku listy hase艂 jed- has艂a. Dlatego w ka偶dym wsp贸艂-
ci. Klasycznym rozwi膮zaniem tego norazowych jej ujawnienie jest du- czesnym protokole tak du偶膮 wa-
problemu jest u偶ycie SSL. Jest to 偶o bardziej szkodliwe. Te has艂a nie g臋 przywi膮zuje si臋 do randomiza-
rozwi膮zanie bardzo dobre, ale ma maj膮 czasu wa偶no艣ci, a w dodatku cji przesy艂anych przez sie膰 komu-
www.hakin9.org
4 hakin9 Nr 9/2007
Bezpiecze艅stwo system贸w poprzez has艂a
ki poziom bezpiecze艅stwa musi by膰
ich 艣wiadoma.
W Sieci
Na tej stronie znajduje si臋 znakomita
ksi膮偶ka o pisaniu bezpiecznych pro- Przechowywanie hase艂
gram贸w: System musi przechowywa膰 jak膮艣
informacj臋, kt贸ra p贸zniej pozwo-
" http://www.dwheeler.com/secure-
li mu na sprawdzenie, czy u偶yt-
programs/
kownik poda艂 w艂a艣ciwe has艂o. Naj-
pro艣ciej przechowywa膰 samo ha-
Tu znajduje si臋 kalkulator SRP:
s艂o w postaci jawnej, ale natural-
" http://srp.stanford.edu/demo/
nie jest to podej艣cie najgorsze z
demo.html
punktu widzenia bezpiecze艅stwa.
Dost臋p do wra偶liwego pliku czy ta-
nikat贸w. Niedopuszczalna jest sy- beli w bazie danych jest wprawdzie
tuacja, w kt贸rej przes艂any komuni- zabezpieczany klasycznymi meto-
kat m贸g艂by by膰 w przysz艂o艣ci przy- dami kontroli dost臋pu, ale polega-
datny dla potencjalnych pods艂uchi- nie wy艂膮cznie na tej linii obrony od
waczy. Pouczaj膮cym do艣wiadcze- dawna jest uwa偶ane za niewystar-
niem jest zapoznanie si臋 z kalkula- czaj膮ce.
torem SRP, kt贸ry pokazuje wszyst- Niez艂ym rozwi膮zaniem jest to,
kie warto艣ci po艣rednie u偶ywane w jakie stosowane jest przez Linuk-
obliczeniach. Proponuj臋 pobawi膰 sa. Podczas tworzenia konta lo-
si臋 przyciskami randomize i zwr贸- sowana jest liczba zwana sol膮. S贸l
ceniem uwagi na to, kt贸re warto艣ci nie musi by膰 tajna, musi natomiast
si臋 zmieniaj膮 i jak bardzo. SRP ma by膰 gdzie艣 zapisana w systemie.
trzy warto艣ci losowe i gdy zmieni Has艂o jest konkatenowane (skleja-
si臋 dowolna z nich (a dwie s膮 loso- ne) z sol膮, a nast臋pnie liczony jest
wane osobno dla ka偶dej sesji, przy skr贸t kryptograficzny wyniku kon-
czym jedna jest losowana w spo- katenacji i to on jest zapisany w
s贸b w pe艂ni kontrolowany przez systemie. Je艣li w艂amywacz przej-
chroniony system, a wi臋c mo偶na mie plik ze skr贸tami hase艂, b臋dzie
upilnowa膰, by losowanie by艂o kryp- musia艂 jeszcze przeprowadzi膰 atak
tograficznie bezpieczne), zmienia- brutalny lub s艂ownikowy, aby odzy-
j膮 si臋 wszystkie wymieniane przez ska膰 has艂o.
publiczne 艂膮cze wra偶liwe komuni- U偶ycie soli jest istotne, 偶eby za-
katy. Co wi臋cej, zasadnicze r贸w- bezpieczy膰 si臋 przed atakiem z ob-
nania zapewniaj膮ce uwierzytelnie- liczonymi wcze艣niej bazami skr贸-
nie s膮 ci膮gle prawdziwe, niezale偶- t贸w kryptograficznych. W Interne-
nie od wylosowanych warto艣ci! cie mo偶na znalez膰 gotowe mapo-
Pu艂apek typu replay attack jest wania typowych hase艂 na ich skr贸-
naturalnie o wiele wi臋cej, dlatego ty dla danej funkcji (najcz臋艣ciej dla
ka偶da osoba zamierzaj膮ca projek- MD5). Dodanie soli czyni takie ata-
towa膰 systemy zapewniaj膮ce wyso- ki nieefektywnymi (bo zwi臋ksza to
przestrze艅 do przeszukania a偶 o
kilka, kilkana艣cie rz臋d贸w warto-
O autorze
艣ci, w zale偶no艣ci od tego, ile bit贸w
Autor jest z wykszta艂cenia informaty-
b臋dzie mia艂a s贸l). Efekt u偶ycia so-
kiem i politologiem. Pracowa艂 jako pro-
li polega te偶 na tym, 偶e nawet je艣li
gramista, administrator, konsultant, t艂u-
kilka kont b臋dzie mia艂o te same ha-
macz, koordynator mi臋dzynarodowych
s艂a, ich skr贸ty kryptograficzne (czy
projekt贸w, dziennikarz i publicysta. Pi-
te偶 liczby weryfikuj膮ce) b臋d膮 r贸偶-
sa艂 programy w dziesi臋ciu j臋zykach
ne, zatem nie podpowie to nicze-
programowania (od asembler贸w po j臋-
go potencjalnemu w艂amywaczo-
zyki skryptowe) w czterech systemach
wi. Innym teoretycznym zagro偶e-
operacyjnych, na dw贸ch platformach
sprz臋towych. niem jest atak przeciwdziedzino-
Kontakt z autorem: cerekwicki@tlen.pl
wy na u偶yt膮 funkcj臋 skr贸tu kryp-
tograficznego, ale obecnie nawet
www.hakin9.org hakin9 Nr 9/2007 5
Obrona
dla starej i wielokrotnie atakowanej mo偶na znalez膰 w ksi膮偶ce wymie- go up艂yni臋ciu, nie powinno zosta膰
funkcji MD5 nie uda艂o si臋 przepro- nionej w ramce W sieci. przyj臋te.
wadzi膰 skutecznie takiego ataku i
szansa na odnalezienie tego typu Bezpiecze艅stwo Has艂a jednorazowe
podatno艣ci jest raczej niewielka, maszyny klienckiej Has艂a jednorazowe mo偶na wygene-
zatem trudno to zagro偶enie trakto- Zapisywanie hase艂 w aplikacjach czy rowa膰 na przynajmniej dwa sposo-
wa膰 powa偶nie. Swoj膮 drog膮, gdyby r贸偶nego rodzaju Menad偶erach hase艂 by. Najlepszy (ale te偶 najtrudniejszy)
kt贸ra艣 z powszechnie u偶ywanych rodzi potencjaln膮 podatno艣膰. Je艣li z spos贸b to sekwencja losowa (nie
funkcji skr贸tu (SHA, MD5) okaza艂a tych hase艂 mo偶e skorzysta膰 legalny myli膰 z pseudolosow膮). Nieco mniej
si臋 podatna na ataki przeciwdzie- u偶ytkownik, to mo偶e te偶 i nielegal- bezpieczny (ale 艂atwiejszy do imple-
dzinowe, oznacza艂oby to automa- ny. Co wi臋cej, mechanizmy zabez- mentacji) spos贸b to obliczenie n ha-
tyczn膮 kompromitacj臋 olbrzymiej pieczaj膮ce sk艂adowane has艂a cz臋- se艂 na zasadzie has艂o(n) = sha( ha-
ilo艣ci system贸w i de facto rewolu- sto s膮 bardzo s艂abe (np. wyci膮gni臋- s艂o(n-1) ) i u偶ywanie ich w odwrotnej
cj臋 w dziedzinie bezpiecze艅stwa cie hase艂 z popularnego komunikato- kolejno艣ci. W贸wczas przewidzenie
informacyjnego. Zapewne najlep- ra Gadu Gadu by艂o wielokrotnie de- przysz艂ych hase艂 sprowadza si臋 do
szym rozwi膮zaniem przechowywa- monstrowane). przeprowadzenia ataku przeciwdzie-
nia hase艂 jest zastosowana w pro- Inne zagro偶enia to r贸偶nego ro- dzinowego na u偶yt膮 funkcj臋 skr贸tu.
tokole Secure Remote Password dzaju konie troja艅skie, w szczeg贸l- W przypadku sekwencji losowej nie
(SRP) liczba weryfikuj膮ca. Licz- no艣ci keyloggery. Tu pom贸c mo偶e grozi nam kryptoanaliza hase艂 wy-
ba ta jest silnie zrandomizowa- jedynie edukacja u偶ytkownik贸w, sys- korzystanych, poniewa偶 nie da si臋
na, a has艂o chronione jest dodat- tematyczne skany antywirusowe, do- z nich wywnioskowa膰 hase艂 przy-
kowo podw贸jn膮 operacj膮 liczenia bry firewall i jaki艣 mechanizm ochro- sz艂ych. Wynika to z faktu, 偶e w se-
skr贸tu kryptograficznego. Imple- ny integralno艣ci systemu (np. tri- kwencji losowej nie ma 偶adnych za-
mentuj膮c kod przechowuj膮cy ha- pwire czy Kerio Personal Firewall). le偶no艣ci mi臋dzy poszczeg贸lnymi jej
s艂a, warto go dodatkowo zabezpie- Skuteczne zarz膮dzanie osobisty- elementami: s膮 one ca艂kowicie przy-
czy膰 przed atakami lokalnymi. No- mi firewallami albo mechanizmami padkowe. Dlatego jest bardzo wa偶-
woczesne biblioteki programistycz- kontroli integralno艣ci jest niebanal- ne, 偶eby nie pos艂ugiwa膰 si臋 sekwen-
ne dostarczaj膮 do tego celu odpo- ne i wymaga du偶ej i ci膮gle aktualizo- cj膮 pseudolosow膮, kt贸ra nie ma ta-
wiednich narz臋dzi, np. w .NET 2.0 wanej wiedzy. To zdecydowanie naj- kiej w艂asno艣ci.
mamy do dyspozycji klas臋 Secure- s艂abszy punkt ka偶dego systemu, za- S艂abo艣膰 tego podej艣cia polega
String, przeznaczon膮 do przecho- rz膮dzany przez najmniej kompetent- na trudno艣ci w automatycznym ge-
wywania danych wra偶liwych (ha- ne osoby i najmniej kontrolowany. nerowaniu sekwencji naprawd臋 lo-
se艂, PIN-贸w, numer贸w kart kredy- Zauwa偶my, 偶e nawet tutaj u偶y- sowych. Zrealizowanie wydajnego
towych itd.) Klasa ta zapewnia au- cie hase艂 jednorazowych znacz膮- generatora liczb losowych wyma-
tomatyczne szyfrowanie swojej za- co utrudnia w艂amywaczowi prac臋. ga specjalnego sprz臋tu. Na zwy-
warto艣ci oraz umo偶liwia bezpiecz- W typowym przypadku u偶ycia ha- k艂ym pececie mo偶na co najwy偶ej
ne skasowanie. Przed jej u偶yciem s艂o pojawi si臋 w zasi臋gu keylogge- generowa膰 sko艅czone ilo艣ci liczb
nale偶y uwa偶nie zapozna膰 si臋 z do- ra na kilkana艣cie, maksimum kilka- losowych, zale偶nie od ilo艣ci mo偶-
kumentacj膮, aby nie pope艂ni膰 ja- dziesi膮t sekund przed jego unie- liwej do zebrania entropii. Niezle
kiej艣 gafy (o to niestety 艂atwo pod- wa偶nieniem. Tak wi臋c okno cza- robi to kernel Linuksa, pod warun-
czas implementacji mechanizm贸w sowe dla potencjalnego ataku jest kiem, 偶e u偶ytkownik dostarcza od-
o podwy偶szonym standardzie bez- do艣膰 w膮skie (jego dok艂adna wiel- powiedniej ilo艣ci entropii poprzez
piecze艅stwa). Warto zapozna膰 si臋 ko艣膰 zale偶y od czasu uniewa偶nie- stukanie w klawiatur臋 oraz rusza-
z podobn膮 funkcjonalno艣ci膮, jak膮 nia has艂a jednorazowego od mo- nie myszk膮.
oferuje wybrane przez nas 艣rodo- mentu za偶膮dania go przez sys-
wisko (maj膮 j膮 zaimplementowa- tem). A w tym oknie nale偶a艂oby Podsumowanie
n膮 wszystkie profesjonalne 艣rodo- zrobi膰 kilka rzeczy: doprowadzi膰 W tek艣cie opisano szereg zagadnie艅
wiska) lub, w przypadku braku te- do zerwania sesji przez legalnego zwi膮zanych z projektowaniem sys-
go typu wsparcia, spr贸bowa膰 je u偶ytkownika, nawi膮za膰 w艂asn膮 nie- tem贸w informatycznych, w kt贸rych
zaimplementowa膰 samodzielnie. legaln膮 sesj臋 i pos艂u偶y膰 si臋 przej臋- uwierzytelnienie odbywa si臋 poprzez
Bezpiecze艅stwo mo偶na zwi臋kszy膰 tym has艂em. podanie has艂a. Wskazano miejsca
wieloma prostymi zabiegami, m.in. Dla projektant贸w system贸w in- szczeg贸lnie podatne na ataki oraz
nadpisywaniem u偶ytych zmien- formatycznych p艂ynie z tego oczy- sposoby, na jakie mo偶na wzmocni膰
nych tymczasowych przed ich wisty wniosek: nale偶y bezwzgl臋d- ich ochron臋. l
zwolnieniem (przynajmniej tych, w nie wprowadzi膰 timeout dla hase艂
kt贸rych by艂y zapisane wra偶liwe da- jednorazowych. Je艣li za偶膮dane ha-
ne). Wi臋cej informacji na ten temat s艂o zostanie wprowadzone po je-
www.hakin9.org
6 hakin9 Nr 9/2007


Wyszukiwarka

Podobne podstrony:
Gifune, Greg F obedient flies (SS)(txt)
M脫J PLAYEREK ZE STRONY G艁脫WNEJ
t r?ss
Prawne aspekty prowadzenia strony internetowej
Estleman, Loren D [SS] Preminger s Gold [v1 0]
In A?ze The Game
Tracey, Robyn [SS] Siren Singers [v1 0]

wi臋cej podobnych podstron