Mogę pominąć kilka ostatnich znaków mojego hasła w systemie Ubuntu 14.04

27

Mamy Ubuntu 14.04.3 LTS na naszych komputerach w laboratorium na mojej uczelni. Zauważyłem dzisiaj poważny błąd.

Mogę pominąć kilka ostatnich znaków hasła i nadal logować się płynnie. Na przykład, jeśli mam hasło a1b2c3d4e5f6g7h8, mogę pisać a1b2c3d4ei nadal się logować. Wiele innych osób również zauważyło ten błąd.

Pamiętaj, że hasła nie można całkowicie pominąć - maksimum, które udało mi się pominąć, to 7 znaków. Jeśli spróbuję więcej pomijać, pojawi się komunikat „ Nieprawidłowe hasło, spróbuj ponownie ”. Należy również pamiętać, że dowolna przypadkowa permutacja podłańcucha hasła nie działa.

Dzieje się tak również wtedy, gdy ręcznie zablokuję ekran i ponownie wprowadzę hasło. Ten sam błąd występuje podczas używania sshi dobrze, przeglądanie i przeszukiwanie stosu przepełnienia nie pomogło.

Moje pytanie brzmi - jak mogę naprawić ten błąd, jeśli w ogóle mogę go naprawić? Nasz system nie będzie dostępny przed poniedziałkiem, a to naprawdę mnie niepokoi.

WAŻNE: Należy pamiętać, że żadne konto studentów nie znajduje się na liście sudoers, tylko sysadm ma dostęp do konta root. Ponadto po otwarciu sshmojego konta pojawia się następujący komunikat :

Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-65-generic i686)

* Documentation:  https://help.ubuntu.com/

543 packages can be updated.
350 updates are security updates.

New release '16.04.1 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

AKTUALIZACJA: Wygląda na to, że ważną kwestią nie jest liczba znaków pominiętych na końcu, ale fakt, że można zalogować się za pomocą pierwszych ośmiu lub więcej znaków hasła.

Dimitri Markovich
źródło
2
Podejrzewam, że niektóre zewnętrzne uwierzytelnienia (LDAP, Active Directory itp.) Są winne i nie sprawdzają poprawności haseł. Porozmawiaj z administratorem systemu.
André Borie,
8
Dostępnych jest 350 aktualizacji zabezpieczeń. Jeden z nich prawdopodobnie naprawia również błąd Heartbleed
AnthumChris
4
Twój administrator nie wydaje się być dostępny od miesięcy ...
Michael Hampton,

Odpowiedzi:

28

Jeśli nie masz dostępu administratora, niewiele możesz zrobić.

To powiedziawszy, wydaje się, że dzieje się tak z powodu niekompetencji administratora. Brzmi to podejrzanie podobnie do szyfrowania hasła przy użyciu klasycznej crypt(3)funkcji. Od man 3 crypt:

crypt () to funkcja szyfrowania hasła. Opiera się na danych
Szyfrowanie Standardowy algorytm z zamierzonymi odmianami (między innymi
rzeczy), aby zniechęcić do stosowania sprzętowych implementacji wyszukiwania klucza.

klucz to hasło wpisane przez użytkownika.

sól jest dwuznakowym łańcuchem wybranym z zestawu [a-zA-Z0-9./]. To
ciąg jest wykorzystywany do zakłócania działania algorytmu na jeden z 4096 różnych sposobów.

Biorąc najniższe 7 bitów każdego z pierwszych ośmiu znaków
klucz, uzyskuje się 56-bitowy klucz.   Ten 56-bitowy klucz służy do szyfrowania
wielokrotnie ciąg stały (zwykle ciąg składający się ze wszystkich
zera). Zwrócona wartość wskazuje na zaszyfrowane hasło, serię
z 13 drukowalnych znaków ASCII (pierwsze dwa znaki reprezentują
sama sól). Wartość zwracana wskazuje na dane statyczne, których treść
jest zastępowane przez każde połączenie.

Czy to brzmi znajomo?

Żaden najnowszy system Ubuntu domyślnie tego nie używa. Administrator musi ręcznie skonfigurować ustawienia hasła, aby z niego korzystać. Lub mogą korzystać z zewnętrznego uwierzytelnienia (LDAP lub podobnego) i nie skonfigurowali lub nie mogliby tego bezpiecznie skonfigurować.

Zobacz także: Czy hasła we współczesnych systemach Unix / Linux są nadal ograniczone do 8 znaków?

muru
źródło
4
Administrator najprawdopodobniej używa LDAP ..... Spróbuję się z nim skontaktować. Dzięki!
Dimitri Markovich,
1
OP może to dodatkowo potwierdzić, sprawdzając, czy przerzucenie 8-go bitu któregokolwiek z pierwszych 8 znaków robi różnicę. Może to być trudne w środowisku UTF-8.
Jonas Schäfer
@JonasWielicki - Przerzucenie 8-go bitu dowolnego z pierwszych ośmiu znaków NIE robi różnicy - hasło jest wyświetlane jako nieprawidłowe. Mogę więc używać tylko pierwszych ośmiu lub więcej znaków mojego oryginalnego hasła.
Dimitri Markovich
@ die-policy137 Jak już wspomniano, myślę, że trudne jest przerzucenie tylko ósmego bitu - w przypadku UTF-8 spowodowałoby to użycie dwóch bajtów zamiast jednego do kodowania punktu kodowego. Nie jest to niestety ostateczny test, chyba że ktoś ma bardzo ścisłą kontrolę nad kodowaniem używanym przez terminal i / lub danymi wysyłanymi do uwierzytelnienia.
Jonas Schäfer
7

Był czas, w poprzednim tysiącleciu, kiedy wszyscy Unixen szyfrowali w ten sposób swoje hasła. Odrzuć wszystko poza ósmą postacią, dodaj sól, przejrzyj funkcję skrótu i ​​gotowe.

Najważniejsze pytanie dotyczy tego, czy zaszyfrowane hasła są dostępne dla potencjalnych hakerów. Jeśli tak, to duży problem. Jeśli tak nie jest, to naprawdę nic wielkiego. Hasła składające się z ośmiu znaków mają wiele możliwości. Jeśli musisz podjąć próbę zalogowania się w celu sprawdzenia potencjalnego hasła, włamanie zajmie dużo czasu. Ponadto próby wywołają alarmy.

Tak więc wielką wygraną są hasła cienia. Mimo to ludzie zaczęli myśleć, że to nie jest wystarczająco dobre i każdy wariant Uniksa zaimplementował własny sposób przedłużenia maksymalnej długości hasła. Nie były już kompatybilne.

Przez pewien czas, jeśli chciałeś, aby wiele komputerów z różnymi wariantami Uniksa używało tego samego hasła, musiałeś użyć starego typu szyfrowania.

Jest całkiem możliwe, że kiedy te laboratoria komputerowe były po raz pierwszy konfigurowane, nadal tak było. Ten typ konfiguracji ma bezwładność. Nowi klienci są konfigurowani w celu dopasowania do serwera. Nowe serwery są konfigurowane w celu dopasowania do klientów.

Dzisiaj jest lepiej. W użyciu jest mniej wariantów Uniksa i lepiej ze sobą współpracują.

Nie jestem wystarczająco kompetentny, aby powiedzieć ci, jak to naprawić, ale jest to zadanie dla administratora, a nie dla ciebie.

Stig Hemmer
źródło
Ok więc .... Chciałbym móc coś zrobić.
Dimitri Markovich,
„Unixen” nad „Unicies”? Nigdy wcześniej tego nie słyszałem, miły akcent
kot
1
@cat To najwyraźniej portmanteau z Uniksa i boxena .
Michael Hampton
2
Ponieważ Unix jest wymyślonym słowem, liczbę mnogą można również wymyślić :)
Thorbjørn Ravn Andersen
Eight characters passwords has a lot of possibilities.W przypadku entropii hasła zakładasz, że osoba atakująca wie, w jaki sposób generujesz hasła. Jeśli użyjesz losowych słów , co najwyżej otrzymasz 2 słowa lub 22 bity entropii.
NielinioweOwoc