Eric Schmidt, Ken Thompson, Dennis Ritchie i inni. Hasła twórców Unixa złamane
Jakich haseł używali pionierzy informacji 40 lat temu? Po 5 latach prac poznaliśmy stare hasło Kena Thompsona, jednego z twórców systemu Unix, który w Berkley dał początek BSD i autora języka programowania B. Wcześniej złamane zostały hasła takich sław, jak Brian Kernighan i Denis Ritchie (autorzy pierwszej książki o języku C), Tom London i John Reiser (ta dwójka portowała UNIX-a na C) czy Eric Schmidt (współzałożyciel Google).
11.10.2019 | aktual.: 13.10.2019 18:38
Historyczny plik w repozytorium BSD
Prace nad łamaniem haseł pionierów rozpoczęły się w 2014 roku. Leah Neukirchen, programistka dystrybucji Void Linux, znalazła interesujący plik w historycznym repozytorium systemu 3BSD z końcówki lat siedemdziesiątych ubiegłego wieku. Ten plik to /etc/passwd, zawierający hashe haseł ponad 20 znamienitych użytkowników systemu.
Neukirchen przystąpiła do łamania haseł. Zadanie jest relatywnie łatwe, gdyż hashe zostały wygenerowane z użyciem zmodyfikowanej metody DES, a przez to długość haseł nie może przekraczać 8 znaków. Pod koniec lat siedemdziesiątych była to wystarczająca ochrona.
Brute-force wystarczył
Od tamtego czasu maszyny rozwijały się zgodnie z przewidywaniami prawa Moore'a, co oznacza, że za te same pieniądze możemy kupić komputer ponad 20 razy potężniejszy. Krótkie hasła udało się więc złamać atakami słownikowymi i metodą brute-force – Neukirchen generuje kombinacje znaków i sprawdza, czy skróty są zgodne z tymi z pliku. Programistka korzysta z takich narzędzi jak hashcat i John the Ripper.
Hasło Kena Thompsona i pięciu innych osób okazało się trudniejsze do złamania. „Hasło Kena wymykało się z moich starań. Nawet wyczerpujące przeszukiwanie wszystkich dużych i małych liter oraz cyfr zajęło kilka dni (w 2014) i nie przyniosło żadnych rezultatów” – pisze Neukirchen na swoim blogu. Programistka zauważyła też, że łamanie tych haseł zajmuje więcej czasu niż podobnych algorytmów, co sugeruje, że używana do hashowania haseł funkcja crypt w języku C nie została dobrze zoptymalizowana.
40-letnie hasła pionierów
Neukirchen zwróciła się o pomoc do grupy dbającej o zachowanie historii systemu – Unix Heritage Society. Otrzymała pomoc zaledwie 6 dni później. Nigel Williams z Australii złamał hasło Thompsona w 4 dni, korzystając z mocy obliczeniowej karty Radeon Vega64 i hashcata (930 MH/s). Hasło Thompsona jest bardzo interesujące: p/q2-q4!a. To opis ruchu pionka w szachach.
Kilka dni później Arthur Krewat złamał kolejne 4 hasła. Należały do nie byle kogo: Dennis Ritchie, Brian Kernighan, Eric Schmidt i Stephen Bourne (autor interpretera poleceń Bourne shell, czyli sh). Oto pełna lista znanych obecnie haseł:
Ken | Thompson | ZghOT0eRm4U9s | p/q2-q4!a | Dennis | Ritchie | gfVwhuAMF0Trw | dmac | Brian | W. | Kernighan | ymVglQZjbWYDE: | /./. | Stephen | R. | Bourne | c8UdIntIZCUIA | bourne | Eric | Schmidt | FH83PFo4z55cU | wendy!!! | Stuart | Feldman | IIVxQSvq1V9R2 | axolotl | Mark | Horton | mark | Pb1AmSpsVPG0Y | uio | Kirk | McKusick | mckusick | AAZk9Aj5/Ue0E | foobar | Richard | Fateman | fateman | E9i8fWghn1p/I | apr1744 | Runs | a | program | not | a | login | shell | network | 9EZLtSYjeEABE | network | UNIX-to-UNIX | Copy | uucp | P0CHBwE/mB51k | whatnot | Peter | Kessler | peter | Nc3IkFJyW2u7E | ...hello | Kurt | Shoens | kurt | olqH1vDqH38aw | sacristy | Brian | W. | Kernighan | jkf | 9ULn5cWTc0b9E | sherril. | Peter | J. | Weinberger | pjw | N33.MCNcTh5Qw | uucpuucp | Ernie | Co-vax | root | OVCPatZ8RFmFY | cowperso | John | Reiser | jfr | X.ZNnZrciWauE | 5%ghj | Steve | Johnson | scj | IL2bmGECQJgbk | pdq;dq | Bob | Kridle | kridle | 4BkcEieEtjWXI | jilland1 | Keith | Sklower | sklower | 8PYh/dUBQT9Ss | theik!!! | Robert | Henry | henry | lj1vXnxTAPnDc | sn74193n | Howard | Katseff | hpk | 9ycwM8mmmcp4Q | graduat; | Özalp | Babaoglu | ozalp | m5syt3.lB5LAE | 12ucdort | Bob | Fabry | fabry | d9B17PTU2RTlM | 561cml.. | Tom | London | tbl | cBWEbG59spEmM | ..pnn521 |
Ostatnie hasło należy do twórcy Javy
Zostało jeszcze jedno hasło. Używał go Bill Joy, który później współtworzył firmę Sun Microsystems i zaprojektował jeden z najpopularniejszych obecnie języków programowania – Java. Skrót jego hasła to: .2xvLVqGHJm8M.