Udostępnij za pośrednictwem


Ocena zagrożeń haseł

Przed zaimplementowaniem kodu chroniącego hasła najlepiej przeanalizować konkretne środowisko pod kątem sposobów, w jaki osoba atakująca może spróbować przeniknąć do ochrony oprogramowania.

Zacznij od przeanalizowanie sieci lub architektury systemu. Oto kilka przykładów:

  • Liczba haseł, które muszą być chronione. Czy hasło jest wymagane do zalogowania się na komputerze lokalnym? Czy to samo hasło jest używane do logowania się do sieci? Czy hasła są propagowane do więcej niż jednego serwera w sieci? Ile haseł musi być uwzględnionych?
  • Rodzaj sieci (jeśli istnieje), która będzie używana. Czy sieć jest implementowana przy użyciu systemu katalogów firmowych (na przykład LDAP) i czy jest używana jego architektura haseł? Czy istnieją obiekty przechowujące niezaszyfrowane hasła?
  • Otwarta i zamknięta sieć. Czy sieć jest samodzielna, czy jest otwarta na zewnątrz? Jeśli tak, czy jest on chroniony przez zaporę?
  • Dostęp zdalny. Czy użytkownicy będą musieli uzyskać dostęp do sieci z lokalizacji zdalnej?

Po przeanalizowaniu architektury systemu lub sieci możesz zacząć analizować, w jaki sposób osoba atakująca może ją zaatakować. Oto kilka możliwości:

  • Odczytywanie niezaszyfrowanego hasła z rejestru komputera.
  • Przeczytaj niezaszyfrowane hasło, które jest zakodowane w oprogramowaniu.
  • Odczytywanie niezaszyfrowanego hasła ze strony kodu zamienionego na komputerze.
  • Odczytywanie hasła z dziennika zdarzeń programu.
  • Odczytywanie hasła z rozszerzonego schematu usługi katalogowej Microsoft Active Directory zawierającego obiekty zawierające hasło w postaci zwykłego tekstu.
  • Uruchom debuger w programie, który wymaga hasła.
  • Odgadnij hasło. Można użyć dowolnej z kilku technik. Na przykład osoba atakująca może znać pewne dane osobowe użytkownika i spróbować odgadnąć hasło z tych informacji (na przykład imię współmałżonka/partnera lub dziecko). Można też wypróbować metodę siłową, w której są wypróbowane wszystkie kombinacje liter, cyfr i znaków interpunkcyjnych (możliwe tylko wtedy, gdy są używane krótkie hasła).

Porównanie możliwych metodologii ataków z architekturą systemu lub sieci prawdopodobnie ujawni zagrożenia bezpieczeństwa. W tym momencie można ustanowić czynnik ryzyka dla każdego ryzyka, a czynniki ryzyka mogą służyć do klasyfikacji poprawek.