Hasła w systemach operacyjnych i aplikacjach

Hasła to najbardziej popularna metoda uwierzytelniania. Stosujemy je nie tylko, gdy szyfrujemy jakieś dane, ale również, gdy włączamy komputer, korzystamy z poczty elektronicznej, logujemy się na stronach WWW. Umożliwiają nam potwierdzenie naszej tożsamości. Dzięki nim uzyskujemy uprawnienia do wykonywania pewnych operacji czy dostęp do zasobów. Dlatego hasła są szczególnie narażone na kradzież lub przechwycenie w celu uzyskania nieautoryzowanego dostępu.

Hasła to najbardziej popularna metoda uwierzytelniania. Stosujemy je nie tylko, gdy szyfrujemy jakieś dane, ale również, gdy włączamy komputer, korzystamy z poczty elektronicznej, logujemy się na stronach WWW. Umożliwiają nam potwierdzenie naszej tożsamości. Dzięki nim uzyskujemy uprawnienia do wykonywania pewnych operacji czy dostęp do zasobów. Dlatego hasła są szczególnie narażone na kradzież lub przechwycenie w celu uzyskania nieautoryzowanego dostępu.

Bezpieczeństwo haseł w dużej mierze zależy od sposobu ich przechowywania w systemie. Nieodpowiedni sposób przechowywania haseł może doprowadzić do ich ujawnienia. W sytuacji, gdy system został zaprojektowany właściwie, jedyna możliwość, jaka pozostaje włamywaczowi, to próba odgadnięcia hasła.

Przedstawiamy wybrane metody uwierzytelniania za pomocą haseł, ich słabości, a także kilka zasad oraz rozwiązań zwiększających poziom bezpieczeństwa przetwarzanych informacji.

Przy okazji warto rozróżnić dwa pojęcia "uwierzytelnianie" oraz "autoryzacja", często mylone. Uwierzytelnianie polega na weryfikacji tożsamości w systemie. Poprzez autoryzację rozumiemy natomiast weryfikację naszych uprawnień w systemie, np. dostęp do określonych funkcji czy też danych.

Ile jest potencjalnych haseł?

Hasła w systemach operacyjnych i aplikacjach

Liczba różnych haseł

Liczba haseł wyraża się wzorem: N<sup>M</sup>, gdzie N jest liczbą różnych dopuszczalnych znaków w haśle, zaś przez M oznaczamy długość hasła. Dane w tabelce przedstawiającej liczby haseł dla różnych ich długości i zakresów znaków pokazują wyraźnie, jak duży wpływ na liczbę możliwych haseł ma nie tylko sama długość hasła, ale również jego potencjalna złożoność, czyli liczba grup znaków, z których hasło może się składać.

Atak polegający na sprawdzeniu wszystkich dopuszczalnych haseł nazywamy atakiem siłowym (brute-force). Łatwo zauważyć, że liczba potencjalnych haseł rośnie bardzo szybko. Dlatego ataki te przy dłuższych hasłach nie są skuteczne.

Wykorzystanie serwerów o dużej mocy obliczeniowej lub wielu komputerów może wyraźnie zwiększyć liczbę przeszukiwanych haseł na sekundę i tym samym zredukować przedstawione w tabeli na str. 64 czasy, jednak pewnych granic nie da się przekroczyć.

W rozważanej przez nas sytuacji zakładamy, że stosujemy hasła losowe. Niestety człowiek, będący często najsłabszym ogniwem w procesie zapewniania bezpieczeństwa informacji, kieruje się zazwyczaj nie bezpieczeństwem, lecz łatwością zapamiętania wybieranego hasła. Przykładowo, mając do wyboru dwa hasła: "pBs3!JK0" oraz "stanowisko" przeciętny użytkownik wybierze to drugie hasło, gdyż jest ono o wiele łatwiejsze do zapamiętania. Ta tendencja do tworzenia haseł z wykorzystaniem popularnych słów zaowocowała powstaniem tzw. ataku słownikowego (dictionary attack). W takim scenariuszu nie są generowane wszystkie dopuszczalne hasła, a tylko te, które można uzyskać z listy słów. Powoduje to, że nawet długie hasła stanowiące słowa lub połączenie kilku słów można bardzo szybko odgadnąć.

Hasła w systemach operacyjnych i aplikacjach

Czas potrzebny na pełen przegląd haseł przy założeniu weryfikacji 100 000 haseł na sekundę

Chcąc zabezpieczyć się do pewnego stopnia przed atakiem słownikowym można nasze hasło zmodyfikować np. "sTan0w1sK0". Ciąg znaków wizualnie oznacza to samo, ale jest zdecydowanie trudniejszy do odgadnięcia niż pierwotne słowo. Popularne narzędzia wykorzystywane do łamania haseł pozwalają jednak oprócz prostego ataku słownikowego stosować jego modyfikacje, polegające na dodaniu do słów liczb lub znaków specjalnych, zarówno na ich początku, jak i końcu, jak również np. zastosować inwersję słów znajdujących się w słowniku, który wykorzystujemy przy przeprowadzeniu ataku.

Wiele systemów informatycznych podczas wprowadzania przez użytkownika nowego hasła może dokonać weryfikacji słabości tego hasła, kierując się kilkoma kryteriami. Oprócz tych podstawowych, jak wymagana długość hasła czy też jego złożoność, można zweryfikować czy hasło nie było używane przez użytkownika wcześniej oraz czy nie znajduje się np. na liście popularnych słów. Przy odpowiedniej polityce haseł zaleca się, aby hasła składały się minimum z 8 znaków pochodzących z co najmniej 3 z 4 grup znaków (małe litery, duże litery, liczby, znaki specjalne). Hasła powinny być zmieniane co 30 dni i różne od 3-5 wcześniej wykorzystywanych haseł. Wybierane hasła nie powinny stanowić słów oraz popularnych liczb (numery telefonów, numery rejestracyjne, PESEL, NIP, daty urodzin, imienin itp.). Zaleca się również, aby nowe hasło różniło się od poprzedniego co najmniej 2 znakami.

Zaszyfrowane archiwa

Hasła w systemach operacyjnych i aplikacjach

Advanced Archive Password Recovery to jeden z najpopularniejszych programów do łamania haseł. Oprogramowanie umożliwia ataki na archiwa w formacie RAR, ZIP, ARJ oraz ACE. Pozwala też na przeprowadzenie ataków siłowych oraz ataków słownikowych. Program jest płatny, a wersja próbna ma ograniczoną funkcjonalność. Inne oprogramowanie o podobnej funkcjonalności to np. RAR Password Cracker czy PicoZip Recovery Tool.

Oprogramowanie wykorzystywane do archiwizowania pozwala na zastosowanie hasła, którego podanie będzie następnie wymagane w celu odpakowania archiwum.

W nowszych wersjach popularnego formatu RAR nie wykryto poważnych błędów w stosowanych metodach szyfrowania archiwów. Dlatego jedynymi atakami, które można przeprowadzić, to ataki brute-force oraz ataki słownikowe. W przypadku wcześniej stosowanych wersji (1.5) istniała możliwość przeprowadzenia "ataku ze znanym tekstem jawnym". Nowsze wersje nie zawierają już wcześniejszych błędów (aktualnie większość programów wykorzystuje wersję 2.x lub wyższą).

W przypadku innego popularnego formatu - ZIP - sytuacja jest mniej optymistyczna. Algorytm użyty w procesie szyfrowania ma błędy, które umożliwiają przeprowadzenie ataku z tekstem jawnym. Z racji tego, że do szyfrowania używany jest algorytm wybrany przez oprogramowanie archiwizujące, dane skompresowane za pomocą niektórych programów (WinZip 8.0 lub wcześniejszy) są szyfrowane za pomocą słabszych algorytmów, które można złamać w czasie krótszym niż poprzez atak brute-force.

Podobne błędy występują w przypadku innego znanego formatu - ARJ. Pliki te również podatne są na atak ze znanym tekstem jawnym. Oczywiście ataki siłowe oraz słownikowe też są możliwe do przeprowadzenia.

Mniej popularny format ACE nie ma znanych błędów w algorytmie pozwalających na przeprowadzenie ataków innych niż brute-force czy też atak słownikowy.

Dokumenty zabezpieczone hasłem

Pliki PDF można zabezpieczyć w dwojaki sposób. Pierwszą metodą jest hasło użytkownika, które jest wymagane do ponownego otwarcia dokumentu. Dotychczas nie jest znany inny sposób na złamanie hasła głównego niż atak typu brute-force lub atak słownikowy. Ze względu na użycie zaledwie 40-bitowego klucza w starszej wersji formatu PDF (do 1.4 włącznie) atak brute-force jest atakiem skutecznym i możliwym do przeprowadzenia w stosunkowo krótkim czasie. W zależności od mocy obliczeniowej jednostki wykorzystywanej do kryptoanalizy czas ten wynosi średnio od kilku godzin do kilkunastu dni i umożliwia odczytanie treści dokumentu. W nowszych wersjach użyto klucza o długości 128 bitów. Obecnie długość ta zapewnia wysoki poziom bezpieczeństwa i uniemożliwia przeprowadzenie skutecznego ataku siłowego. Natomiast druga metoda to wiele zabezpieczeń dokumentu uniemożliwiających kopiowanie, drukowanie czy też edycję przygotowanego dokumentu. W metodzie tej nie są wykorzystywane mechanizmy kryptograficzne - wystarczy otworzyć taki dokument w programie, który ignoruje pola restrykcji i mamy dostęp do wszystkich zabronionych funkcji.

Dokumenty MS Word i MS Excela są podobnie jak pliki PDF zabezpieczone na dwóch poziomach. Pierwszym z nich jest zabezpieczenie odczytu dokumentu. Drugim jest zabezpieczenie uniemożliwiające jego modyfikację. Podczas ustawiania hasła do odczytu można wybrać różne algorytmy szyfrowania. W dokumentach MS Word 95 i MS Excel 95 oraz wersjach wcześniejszych używany był słaby algorytm, który pozwalał na atak z tekstem jawnym. W pakietach MS Office 97/2000 użyto już zdecydowanie bezpieczniejszej metody, która dopuszcza jedynie ataki brutalne na hasło lub ewentualnie ataki słownikowe. W algorytmie zastosowano klucz 40-bitowy, co umożliwia przeprowadzenie skutecznego ataku siłowego na klucz. Czas potrzebny do odczytania dokumentu wynosi w zależności od mocy obliczeniowej jednostki wykorzystywanej do kryptoanalizy średnio od kilku godzin do kilkunastu dni. W pakiecie MS Office 2003/XP wykorzystano algorytm korzystający z kluczy 128-bitowych. Jednak domyślnie wykorzystuje się nadal algorytm z kluczem 40-bitowym. Zabezpieczenie chroniące dokument przed modyfikacją jest zabezpieczeniem słabym i może zostać usunięte

w niedługim czasie. Wśród popularnego oprogramowania wykorzystywanego do łamania zabezpieczeń dokumentów MS Word oraz MS Excel wymienić można: Office Key z pakietu Passware Kit, Advanced Password Recovery oraz GuaWord - Guaranteed Word and Excel Decryptor. Proponujemy zwrócić szczególną uwagę na trzeci z wymienionych programów, który łamie klucz szyfrujący algorytmu RC4 i umożliwia odszyfrowanie dowolnego pliku w wersji MS Office 97/2000 w czasie nieprzekraczającym kilkunastu dni. Oprogramowanie to w starszych wersjach było oprogramowaniem darmowym. Pierwsze dwie pozycje to oprogramowanie płatne.

Pliki *.mdb programu Access są zabezpieczone słabym algorytmem, który pozwala na odkrycie hasła w bardzo krótkim czasie.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200