ISM

Hasła komputerowe

Cyberprzestępcy wykorzystują brak wyobraźni pracowników w wymyślaniu haseł i postępowaniu z hasłami. Codziennie gdzieś na świecie ma miejsce włamanie do serwisu internetowego i ujawnienie haseł użytkowników. Poniżej przedstawiam rozważania i refleksje na temat haseł komputerowych.

Natura haseł

Hasła ze swojej natury powinny być tajne, znane tylko swoim właścicielom. Hasła nie powinny być wypowiadane na głos ani tym bardziej wykrzykiwane (w autobusie, w tramwaju czy w pociągu). Hasło pozostaje w tajemnicy dopóty, dopóki nie zostanie ujawnione przez posiadacza lub odkryte przez osobę nieuprawnioną. Hasła stosowane przez ludzi składają się często z prostych słów z języka polskiego (miasto, nazwiska, imiona), czasem jest okraszone cyframi. Cyfry używane w haśle często mają źródło w dacie urodzenia, numerze mieszkania lub po prostu stanowią zestaw znaków wybranych po kolei na klawiaturze (11111, 12345, 22222, itp.). Natura ludzka często idzie po najmniejszej linii oporu i na tym polu nie chce wykazywać kreatywności. Pozyskanie hasła przez napastnika jest znacznie łatwiejsze gdy hasło ma niewielką długość (mniej niż 8 znaków) i zawiera standardowe słowa, które są dostępne w słownikach haseł.

Do czego służą hasła komputerowe

Hasła służą do uwierzytelnienia w celu zabezpieczenia zasobów informacyjnych przed dostępem osób nieupoważnionych. Zasoby informacyjne, które nie są chronione hasłami, prędzej czy później padają łupem cyberprzestępców. Aktywa informacyjne firmy chronione standardowymi hasłami zmienianymi bardzo rzadko (najczęściej jak media poinformują o incydencie czyli kradzieży informacji) mają dużą podatność na ujawnienie na forum publicznym. Firmy czy instytucje, gdzie brak procedur, czy regularnych szkoleń w zakresie polityki haseł są zapewne regularnie infiltrowane przez łowców informacji. Ochrona przed cyberprzestępcami to szereg działań związanych z utrudnianiem dotarcia do strzeżonych informacji przez nieupoważnione osoby. Każde hasło można poznać – to kwestia czasu i kosztów tej operacji. Małe i średnie firmy obecnie mają wysoką świadomość konieczności ochrony swoich zasobów informacyjnych lecz często uważają, że nie mają czego chronić. Idąc tym tropem, pracownicy nie są obligowani do przestrzegania podstawowych zasad tworzenia haseł, długości haseł i częstotliwości zmiany haseł. Fundamentalne znaczenie dla bezpieczeństwa i ochrony informacji ma higiena techniczna obejmująca znajomość podstawowych polityk bezpieczeństwa w firmie.

Dwa oblicza haseł

Jeśli mówimy o hasłach to należy mieć na uwadze, że można do nich podchodzić co najmniej z dwóch stron (backend – zaplecze, frontend – od czoła):
Sposób żądania podania hasła przez aplikację i sposób jego zapisywania wewnątrz aplikacji (systemu). W tym przypadku hasło może być zapisane na zapleczu (backend):
1.W postaci czystego tekstu w pliku wewnątrz aplikacji (bardzo zła praktyka),
2.Zaszyte, sztywno wpisane w kodzie aplikacji (bardzo zła praktyka),
3.Zapisane w bazie danych aplikacji jak czysty tekst,
4.Zapisane na zapleczu systemu i zaszyfrowane. Jeśli w takim przypadku klucz do odszyfrowania hasła również znajduje się wewnątrz aplikacji lub na tym samym serwerze, to w przypadku pomyślnego włamania napastnik zyskuje dostęp do klucza i tym samym może odszyfrować i poznać hasła użytkowników aplikacji lub systemu. W tym przypadku nie ma znaczenia czy hasło jest proste, czy skomplikowane.
5.Jako hasło hashowane, czyli wykorzystujące funkcję skrótu. Hasła hashowane włamywacz może poznać włamując się do aplikacji, wykradając bazę skrótów (hashy) i wykorzystując do odgadnięcia haseł tzw. tęczowe tablice.
W tym przypadku trudniej napastnik będzie miał trudniej, jeśli hasło jest długie i będzie zawierać różne znaki, cyfry, litery.
6.Jako hasło hashowane i dodatkowo solone (Salt). Solenie skrótu polega na dodaniu do niego losowej serii znaków nazywanych solą. Dobre praktyki zalecają użycie odpowiednio długiego ciągu znaków (soli), tzn. równej długości funkcji hashującej na wyjściu).  W ten sposób do każdego hasła jest dodawana inna sól (ciąg znaków), co sprawia, że jeśli napastnik włamie się na serwer, to będzie miał duży problem z użyciem tęczowych tablic (programów do crackowania, które je wykorzystują) do odgadnięcia haseł. Nie znaczy to jedna, że napastnik, włamywacz może nie odgadnąć haseł w takim przypadku. Może i potrzebuje na to dużo czasu i zasobów obliczeniowych. Dlatego warto stosować długie i skomplikowane hasła.
f. jako hasło powoli hashowane (Slow Hashes) i dodatkowo solone (Salt). Ten sposób implementacji zapisu hasła po stronie aplikacji wykorzystuje wolne funkcje hashujące (np. bcrypt), co sprawia, że ataki siłowe (brutte force) wymagają znacznie więcej czasu na odgadnięcie hasła. W tym przypadku długość i skomplikowanie hasła również ma znaczenie.

6 sposobów wpisywania haseł do zasobów.

Zapamiętywanie hasłaW tym przypadku można spotkać wiele wariantów (również przy zakładaniu konta):
1.Możliwość wpisywania hasła w przeznaczonym do tego polu, w taki sposób, że hasło jest widoczne podczas wpisywania (zła praktyka).
2. Możliwość wpisywania hasła w przeznaczonym do tego polu, w taki sposób, że hasło jest niewidoczne podczas wpisywania, oglądający ekran widzi np. gwiazdki (maskowanie hasła).
3. Przy polu hasło jest domyślnie zaznaczone pole – „Zapamiętaj mnie”. W ten sposób twórca aplikacji naraża jej użytkowników na niebezpieczeństwo. Hasło jest z reguły zapisywane w przeglądarce internetowej, skąd napastnik może je pozyskać, bez względu na stopień jego skomplikowania.
4.Twórca aplikacji wymusza na pierwszym ekranie podanie nazwy użytkownika a dopiero na następnym ekranie hasła (Google Mail).
5.Twórca aplikacji może umożliwić wpisywanie hasła przy wykorzystaniu myszki i wirtualnej klawiatury wyświetlanej na ekranie aplikacji. Takie podejście ma w założeniu uniemożliwienie odczytania hasła przez keylogger podłączony do komputera Internauty.
6. Podczas zakładania konta przez użytkownika, twórca aplikacji może go poinformować w dodatkowym polu o minimalnej liczbie znaków (również maksymalnej) oraz o akceptowalnych znakach w treści hasła.

Na projektantach i twórcach aplikacji i systemów spoczywa duża odpowiedzialność w zakresie zaprojektowania i bezpiecznego przechowywania haseł. Z drugiej strony – na użytkownikach określonych aplikacji i systemów spoczywa odpowiedzialność za wymyślane hasła i sposób postępowania z nimi.

Jak wymyślić dobre hasło?

Zapomnij o stosowaniu nazwisk, imion, miejscowości czy innych wyrazów, które możesz znaleźć w słowniku wyrazów polskich, w encyklopedii czy też w języku codziennym. Każde z takich słów od dawna znajduje się w bazach słownikowych, używanych przez programy komputerowe służące do łamania haseł. Programy często korzystają ze swojego słownika lub ze słownika z bazy danych, zawierającego dziesiątki tysięcy haseł wymyślanych przez ludzi. Skomplikowane hasła mogą być łatwe do zapamiętania przez pracownika firmy pod warunkiem doboru odpowiedniej metody tworzenia hasła. Jedna z popularnych metod tworzenia haseł bazuje na tworzeniu hasła z pierwszych liter często używanego w firmie zdania. Poniżej przykład zdania, z którego można skonstruować hasło: !5Wiem2jak3konstruować_mocne_hasła:-)

Z powyższego zdania weź pierwszą literę z każdego wyrazu i uwzględnij znaki specjalne. Hasło utworzone w ten sposób będzie miało postać: !5W2j3k_m_hj:-)
Zauważ, że hasło stworzone w ten sposób liczy 15 znaków (wystarczająco mocne), zawiera małe i duże litery, dodatkowo zawiera znaki specjalne. „Rozgryzienie” takiego hasła jest dosyć trudne i czasochłonne.

Ludzie, którzy używają wielu haseł, ćwiczą w ten sposób swoją pamięć, zapominają jednak, że ich też może dotknąć chwilowy zanik pamięci w najmniej niespodziewanym momencie. W chwilach zapomnienia z pomocą przychodzą programy do przechowywania haseł – tzw. Menedżery haseł. Na rynku istnieje wiele narzędzi do przechowywania haseł, warto tu wymienić darmowy program do przechowywania haseł: KeePass  dostępny na Windows, Linux, iPhone i Androida. Kolejny pożytek z używania KeePass to darmowy generator haseł, który może być wykorzystywany do tworzenia skomplikowanych haseł. Część ludzi preferuje ręczne tworzenie haseł, bez korzystania z dedykowanych programów, poniżej przedstawiam polecane reguły tworzenia haseł.

6 zasady tworzenia haseł

1.Długość hasła – im dłuższe tym trudniejsze do odgadnięcia, ale i do zapamiętania,
2.Stosuj w treści hasła, duże i małe litery, znaki specjalne i cyfry,
3.Jeśli używasz w haśle cyfr, nie wpisuj ich jedna za drugą lecz przeplataj wyrazami,
4.Nie używaj w haśle wyrazów ze słownika,
5.Nie używaj w haśle imion, nazw miejscowości, kodów pocztowych, dat urodzenia, nazw firm,
6.Nie używaj w haśle tytułów naukowych, skrótów branżowych (np. dr, CISSP, CEH),

W codziennej praktyce równie ważne jak hasło, jest postępowanie ludzi z hasłem.

12 zasad postępowania z hasłami przez użytkowników

1.Nie podawaj swojego hasła nikomu, jeśli ktoś inny potrzebuje dostęp do aplikacji – załóż nowego użytkownika dedykowanego wyłącznie dla danej osoby,
2.Nigdy nie zapamiętuj hasła w przeglądarce, programie pocztowym czy aplikacji,
3.Nigdy nie zapisuj hasła na kartce papieru,
4.Nigdy nie zapisuj hasła w pliku tekstowym,
5.Nigdy nie zapisuj hasła w arkuszu excela (nawet zaszyfrowanym),
6.Nie dziel się hasłem z innymi osobami, hasło przekazane innej osobie traktuj jako skompromitowane.
7.Nie wysyłaj hasła w zwykłym mailu,
8.Nie wysyłaj hasła zwykłym SMSem,
9.Nigdy nie używaj tego samego hasła do wielu różnych aplikacji lub systemów,
10.Nigdy nie wpisuj hasła w sytuacji gdy ktoś patrzy Ci przez ramię, względnie na klawiaturę jest skierowana kamera.
11.Twórz hasła wykorzystując frazy w postaci zdań okraszając je cyframi i znakami specjalnymi.
12.Jeśli masz podejrzenie, że do Twojego komputera jest podpięty keylogger – nie loguj się do żadnych serwisów dopóki nie upewnisz się, że nie ma keyloggera podpiętego do komputera. Pamiętaj, ze keylogger może występować jako urządzenie w formie penfrive’a USB, jako część układu sterującego w myszce, jako moduł podłączony do płyty głównej komputera.

Od osób odpowiedzialnych za administrowanie aplikacją oczekuje się więcej, poniżej lista oczekiwań.

8 zasad postępowania z hasłami przez administratorów aplikacji

1.Ograniczyć liczbę niepomyślnych prób logowania do np. 3-ch, potem blokada użytkownika na jakiś czas (np.15 minut), blokada adresu IP z którego wpisywano błędne hasło względnie zablokowanie użytkownika do czasu wyjaśnienia przyczyn z administratorem aplikacji.
2.Wymusić stosowanie polityki haseł na użytkowniku aplikacji (minimalna długość, używane znaki),
3.W przypadku serwisów internetowych ograniczyć dostęp do zaplecza administracyjnego serwisu dla określonych adresów IP,
4.Zmienić domyślny adres zaplecza administracyjnego danej aplikacji.
5.Dostęp do zaplecza administracyjnego chronić za pomocą dedykowanego loginu i hasła.
6.Zadbać aby hasła użytkowników z uprawnieniami administracyjnymi względnie dla użytkowników z dostępem do szczególnie wrażliwych informacji były chronione mocniejszymi hasłami.
7.Stosować prócz hasła dodatkowe czynniki uwierzytelniające (2FA, MFA).
8.Zadbać o okresowe wymuszanie zmiany hasła przez użytkowników.

Zagrożenia wynikające ze stosowania łatwych haseł

Szybkość „rozgryzienia hasła” przy pomocy programu zależy od komplikacji hasła, m.in. przestrzegania powyższych zasad. Człowiek łamiący hasła może odgadnąć hasło po krótszym (kilka minut) lub dłuższym czasie (kilka lat). Specjalistyczne agendy rządowe z pewnością mają szybsze komputery i mogą łamać hasła jeszcze szybciej niż człowiek z ulicy. Większa moc obliczeniowa komputerów sprawia, że hasła stają się bardziej podatne na rozpracowanie. Coraz większe możliwości obliczeniowe komputerów to argument za tym, aby zmieniać hasła, nowe hasła powinny być odpowiednio skomplikowane. Jeśli pracownik firmy stosuje standardowe hasła słownikowe to hasło zostanie złamane w ciągu kilku minut, godzin lub kilku dni (czas złamania hasła) Jeśli pracownik firmy stosuje skomplikowane hasło, to zanim hasło zostanie złamane (czas łamania hasła jest długi), pracownik firmy zdąży je zmienić. Oczywiście pod warunkiem, że po stronie aplikacji jej twórcy zaprojektowali i zaimplementowali politykę bezpiecznego wymuszania i zapisywania haseł.

Częstotliwość zmiany haseł komputerowych nie powinna zależeć od widzimisię administratora lub innego pracownika, w wielu wypadkach jest regulowana ustawowo (zalecana konsultacja z prawnikiem), różne kraje stosują różne regulacje w zakresie częstotliwości zmiany haseł. Warto mieć na uwadze, że moc komputerów ciągle rośnie, a co za tym idzie – wybrane agencje rządowe, korporacje czy cyberprzestępcy dysponują komputerami o coraz wyższej mocy obliczeniowej, co przyśpiesza łamanie haseł. Dlatego okresowe zmiany haseł są niezbędne.

W ubiegłym roku (2017) amerykańska agencja rządowa NIST opublikowała nowe zalecenia dotyczące haseł. Agencja zgromadziła bazę zawierającą 1,8mld haseł  która obecnie rośnie bardzo powoli. To pozwala agencji domniemywać, że baza zawiera czarną listę haseł zawiera większość dostępnych na świecie haseł. Nowe wymaganie NIST 800-63-3 znosi wymóg regularnej zmiany haseł, konieczność stosowania znaków specjalnych, cyfr i dużych liter. Wymaga natomiast porównania nowego hasła z listą skompromitowanych haseł.

Skomplikowane hasła a ryzyka

Trudne hasła zniechęcają ludzi do ich zapamiętania. Nie każdy ma dobrą pamięć do dziwnych znaków. Brak matematycznej pamięci to powód dla którego wielu ludzi zapisuje hasła gdzieś na boku. Ulubione miejsce zapisywanie haseł to małe karteczki (z j.ang. stickers) przyklejane na monitorach względnie chowane do portfela. Zapewne znaczna część ludzi zapisuje na kartkach hasła do systemów bankowości elektronicznej oraz numery PIN do kart bankomatowych. Takie kartki chowane w jednym miejscu wraz z kartą płatniczą rodzą duże ryzyko utraty środków pieniężnych w przypadku zagubienia lub kradzieży portfela.

Do czego są używane hasła w firmie?

Przeciętny człowiek kojarzy, że hasło jest potrzebne do zalogowania do komputera (zwykle z systemem operacyjnym Windows:-)). Firmy dbające o zabezpieczenie informacji, mobilizują pracowników do wpisania hasła wcześniej, zanim pojawi się ekran logowania do Windows. Chodzi o hasło potrzebne do rozszyfrowania zabezpieczonego dysku (Bitlocker, TrueCrypt , inne rozwiązania szyfrujące dyski). Po zalogowaniu do Windows, statystyczny pracownik firmy wykorzystuje kolejne hasła, aby się zalogować do:
-do programu sprzedaży,
-do programu księgowego,
-do programu kadrowego,
-do CRM, Business Intelligence, itp.,
-inne programy używane w firmie.

Statystyczny administrator systemów w XXI wieku używa znacznie więcej haseł, m.in.:
-hasła administratora do różnych systemów operacyjnych w firmie (Windows, Linux, Hypervisor),
-hasła administracyjne do logowania do różnych serwerów, maszyn wirtualnych,
-hasła administracyjne do systemu poczty elektronicznej (Microsoft Exchange, Lotus Domino),
-hasła do koncentratorów (domyślne hasła do urządzeń sieciowych, https://mattstechstuff.wordpress.com/2012/07/11/default-logins-and-passwords-for-networked-devices/),
-hasła do routerów (domyślne hasła routerów),
-hasła do różnych baz danych MS SQL, MySQL, DB/2, itp.
-hasła administracyjne, operatorskie do aplikacji wspomagających zarządzanie środowiskiem (np. OCS NG, GLPI, Nagios, OTRS, inne),
-hasła administracyjne dla potrzeb środowisk webowych, deweloperskich czy środowisk testowych,
-hasła do serwisów producentów oprogramowania, oferujących wsparcie techniczne online,
-hasła do różnych dostawców chmur obliczeniowych,
-i wiele innych (ich liczba haseł szybko rośnie:-)).

Do czego są używane hasła w domu?

Używanie haseł w prywatnych domach zaczyna przypominać używanie haseł w małych firmach. Szybko rosnąca liczba komputerów (używa ojciec, matka, dzieci), dodatkowe urządzenia sieciowe: router, pamięć NAS, szyfrowane przenośne dyski USB, telewizory z kartami sieciowymi (LAN, Wifi), smartfony z kartami sieciowymi. To tylko niektóre urządzenia teleinformatyczne, które wymagają stosowania haseł. Statystyczny konsument domowy nie zawsze ma świadomość stosowania skomplikowanych haseł dla używanych urządzeń sieciowych. Osoby prywatne często zostawiają hasła domyślne w routerach domowych a do komputerów nie używają haseł.

Prywatni użytkownicy ściągają na siebie kolejne zagrożenia uruchamiając domowe komputery (bez hasła), po zalogowaniu pracują na komputerze na prawach administratora Windows. Statystyczna osoba wykorzystująca przenośne pamięci USB, pendrive’y czy przenośne dyski twarde – nie zabezpiecza ich hasłem. Świadomość zagrożeń z cyberprzestrzeni znacznie się poprawiła w ostatnich latach, wielu ludzi ma świadomość zagrożeń związanych z hasłami, niemniej jednak wielu nic z tym nie robi. Statystyczny człowiek posługujący się najchętniej korzystałby z metody pojedynczego logowania (z j.ang. SSO – Single Sign On) do logowania się do swoich zasobów informacji. Jedno hasło używane do wszystkich komputerów czy do różnych serwisów internetowych to duże zagrożenie w świecie statystycznych konsumentów. Stosowanie jednego hasła do różnych urządzeń sieciowych czy serwisów internetowych potęguje zagrożenia utraty informacji z tych serwisów i innych w których użytkownik użył tego samego hasła.

Podsumowanie

Tematyka haseł zajmuje duży obszar informatyki, nie sposób wyczerpać całości tematu. Polityka haseł w firmie to część szerszej strategii dbałości o bezpieczeństwo informacji przetwarzanych w instytucji. Stosowanie do uwierzytelnienia w aplikacji lub systemie jedynie samego hasła naraża na wiele ryzyk. W celu ograniczenia ryzyka utraty informacji dostępnych w aplikacji po użyciu hasła, warto wprowadzić drugi czynnik uwierzytelnienia (2FA), np. token Yubico czy Google Authenticator.

Firmy powinny brać pod uwagę okresowe audytowanie haseł w posiadanych systemach, aplikacjach i urządzeniach sieciowych. Przy okazji audytu haseł, można odświeżyć dokumentację oprogramowania i sprzętu podlegające audytowi.

Polecane linki:
https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet
http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-63-3.pdf
https://veggiespam.com/painless-password-hash-upgrades/
https://krebsonsecurity.com/password-dos-and-donts/
https://crackstation.net/buy-crackstation-wordlist-password-cracking-dictionary.htm

Notka o 
W zamierzeniu autora blog ma pełnić funkcję notatnika podczas zgłębiania różnych obszarów ICT, szczególnie w zakresie architektury i ochrony informacji. Poruszana tematyka ma źródło w zainteresowaniach autora. Skomentuj i dodaj swoją opinię! Dziękuję za Twój czas.

0 komentarzy

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.

I agree to these terms.

ISM