Slack przyznaje się do wycieku zaszyfrowanych haseł przez trzy miesiące PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Slack przyznaje się do wycieku zaszyfrowanych haseł przez trzy miesiące

Popularne narzędzie do współpracy Slack (nie mylić z pseudonimem najdłużej działającej na świecie dystrybucji Linuksa, Slackware) właśnie przejęło kontrolę nad cyberbezpieczeństwem SNAFU.

Według biuletynu informacyjnego pt Powiadomienie o resetowaniu hasła Slack, firma przyznała, że ​​nieumyślnie nadużywała danych osobowych „gdy użytkownicy utworzyli lub odwołali łącze do udostępnionego zaproszenia do swojego obszaru roboczego”.

Od 2022 do 04 (zakładamy, że obie daty są włącznie), Slack powiedział, że dane wysyłane do adresatów takich zaproszeń zawierały…

…czekaj na to…

zaszyfrowane hasło nadawcy.

Co poszło nie tak?

Poradnik bezpieczeństwa Slacka nie wyjaśnia jasno naruszenia, mówiąc jedynie, że „[t]Jego zaszyfrowane hasło nie było widoczne dla żadnych klientów Slack; odkrycie tego wymagało aktywnego monitorowania zaszyfrowanego ruchu sieciowego pochodzącego z serwerów Slacka.”

Zgadujemy, że tłumaczy się to w następujący sposób:

„Większość odbiorców nie zauważyłaby, że otrzymane przez nich dane zawierały zaszyfrowane informacje o hasłach, ponieważ te informacje, chociaż zawarte w wysyłanych pakietach sieciowych, nigdy nie były im celowo wyświetlane. A ponieważ dane były przesyłane przez połączenie TLS, podsłuchiwacze nie byliby w stanie ich podsłuchać po drodze, ponieważ nie zostałyby odszyfrowane, dopóki nie dotarłyby do drugiego końca połączenia”.

To dobra wiadomość.

Jednak pakiety sieciowe często zawierają dane, które nigdy nie są normalnie używane ani nie widziane przez odbiorców.

Dobrym tego przykładem są nagłówki HTTP, ponieważ mają być instrukcjami dla przeglądarki, a nie danymi do wyświetlenia na przeglądanej stronie internetowej.

A dane, które są nieistotne lub niewidoczne dla użytkowników, często i tak trafiają do dzienników, zwłaszcza w dziennikach zapory, gdzie mogą być przechowywane w nieskończoność.

To zła wiadomość.

Sól, hasz i rozciągaj…

Według Slacka, ujawnione dane nie były tylko… zaszyfrowany, ale solone co oznacza, że ​​hasło każdego użytkownika zostało najpierw zmieszane z losowymi danymi unikalnymi dla tego użytkownika przed zastosowaniem funkcji skrótu.

Hasze są zasadniczo „nieodwracalnymi” funkcjami matematycznymi, które można łatwo obliczyć w jednym kierunku, ale nie w drugim.

Na przykład łatwo obliczyć, że:

  SHA256("DUCK") = 7FB376..DEAD4B3AF008

Ale jedyny sposób na pracę „wstecz” od 7FB376..DEAD4B3AF008 do DUCK jest pracować naprzód z każdego możliwego słowa w słowniku i sprawdź, czy któreś z nich wychodzi z wartością, którą próbujesz dopasować:

  SHA256("AARDVARK") = 5A9394..467731D0526A [X] SHA256("AARON") = C4DDDE..12E4CFE7B4FD [X] SHA256("ABACUS") = BEDDD8..1FE4DE25AAD7 [X] . . . 3400 pominięte SHA256("BABBLE") = 70E837..CEAD4B1FA777 [X] SHA256("BADGER") = 946D0D..7B3073C1C094 [X] SHA256("BAGPIPE") = 359DBE..BE193FCCB111 [X] . . . 3200 pominięte SHA256("CABAL") = D78CF4..85BE02967565 [X] SHA256("CACHE") = C118F9..22F3269E7B32 [X] SHA256("CAGOULE") = 5EA530..5A26C5B56DCF [X] . . . 5400 pominięte SHA256("DAB") = BBCC8E..E8B98CAB5128 [X] SHA256("DAFFODIL") = 75121D..D6401AB24A98 [X] SHA256("NIEBEZPIECZEŃSTWO") = 0BD727..4C86037BB065 [X] . . . 3500 pominiętych SHA256 („KACZKA”) =  7FB376..DEAD4B3AF008 [ZNALEZIONO!]

A dodając sól dla każdego użytkownika, która nie musi być tajna, a jedynie unikalna dla każdego użytkownika, zapewniasz, że nawet jeśli dwóch użytkowników wybierze to samo hasło, nie uzyskają tego samego skrótu hasła.

Efekt solenia widać tutaj, gdy haszujemy słowo DUCK z trzema różnymi przedrostkami:

  SHA256("RANDOM1-DUCK") = E355DB..349E669BB9A2 SHA256("RANDOM2-DUCK") = 13D538..FEA0DC6DBB5C <-- Zmiana tylko jednego bajtu wejściowego daje bardzo inny skrót SHA256("ARXXQ3H-DUCK") = 52AD92. .544208A19449

Oznacza to również, że atakujący nie mogą utworzyć wstępnie obliczonej listy prawdopodobnych skrótów ani utworzyć tabeli częściowych obliczeń skrótów, znanej jako tęczowy stół, który może przyspieszyć sprawdzanie skrótu. (Na każdą możliwą sól potrzebowaliby zupełnie nowej hashlisty lub unikalnego zestawu tęczowych tablic).

Innymi słowy, haszowanych i solonych haseł nie można łatwo złamać w celu odzyskania oryginalnych danych wejściowych, zwłaszcza jeśli oryginalne hasło było złożone i losowo wybrane.

To, czego Slack nie powiedział, to czy oni… rozciągnięty skróty haseł, a jeśli tak, to w jaki sposób.

Stretching to termin żargonowy, który oznacza powtarzanie procesu haszowania haseł w kółko, na przykład 100,000 XNUMX razy, w celu wydłużenia czasu potrzebnego do wypróbowania kilku słów ze słownika ze znanymi skrótami haseł.

Jeśli przetworzenie 100,000 6 słów ze słownika przez zwykły proces polegający na mieszaniu i mieszaniu zajęłoby jedną sekundę, osoby atakujące, które znają skrót Twojego hasła, mogą wypróbować XNUMX milionów różnych słów słownikowych i pochodnych co minutę lub wykonać ponad miliard prób zgadywania co trzy godziny .

Z drugiej strony, jeśli obliczenia typu salt-and-hash byłyby rozciągnięte na jedną sekundę, to dodatkowe jednosekundowe opóźnienie przy próbie zalogowania nie spowodowałoby zbytniej irytacji…

…ale ograniczyłoby atakującego do zaledwie 3600 prób na godzinę, co znacznie zmniejsza prawdopodobieństwo, że będzie miał wystarczająco dużo czasu na odgadnięcie czegokolwiek poza najbardziej oczywistymi hasłami.

Znanych jest kilka dobrze szanowanych algorytmów salt-hash-and-stretch, w szczególności PBKDF2, bcrypt, scrypt i Argon2, z których wszystkie można dostosować, aby wydłużyć czas potrzebny na próbę odgadnięcia poszczególnych haseł w celu: zmniejszyć żywotność ataków słownikowych i brute force.

A atak słownikowy oznacza, że ​​próbujesz tylko prawdopodobnych haseł, na przykład każdego słowa, które możesz wymyślić aardvark do zymurgy, a następnie poddaje się. A atak brutalnej siły oznacza wypróbowanie wszystkich możliwych danych wejściowych, nawet dziwnych i niemożliwych do wymówienia, od AAA..AAAA do ZZZ..ZZZZ (lub z 0000..000000 do FFFF..FFFFFF jeśli myślisz w kategoriach szesnastkowych bajt po bajcie).

Co robić?

Slack mówi, że o 1 na 200 użytkowników (0.5%, przypuszczalnie w oparciu o zapisy liczby udostępnionych linków z zaproszeniami wygenerowanych w okresie zagrożenia) i że zmusi tych użytkowników do zresetowania haseł.

Kilka dalszych porad:

  • Jeśli jesteś użytkownikiem Slack, równie dobrze możesz zresetować hasło, nawet jeśli firma nie powiadomiła Cię o tym. Kiedy firma przyznaje, że nieostrożnie obchodziła się ze swoją bazą danych haseł, ujawniając skróty, równie dobrze możesz założyć, że dotyczy to twojej, nawet jeśli firma uważa, że ​​tak nie było. Gdy tylko zmienisz hasło, stary hash staje się bezużyteczny dla atakujących.
  • Jeśli nie używasz menedżera haseł, rozważ jego zakup. Menedżer haseł pomaga wybierz właściwe hasła, dzięki czemu Twoje hasło znajdzie się bardzo, bardzo daleko na liście haseł, które mogą zostać złamane w takim incydencie. Atakujący zazwyczaj nie mogą przeprowadzić prawdziwego ataku brute force, ponieważ istnieje zbyt wiele możliwych haseł do wypróbowania. Dlatego najpierw wypróbowują najbardziej prawdopodobne hasła, takie jak słowa lub oczywiste kombinacje słów i cyfr, które w miarę postępu ataku stają się dłuższe i bardziej złożone. Menedżer haseł może zapamiętać losowe 20-znakowe hasło tak łatwo, jak zapamiętasz imię kota.
  • Włącz 2FA, jeśli możesz. 2FA, lub uwierzytelnianie dwuskładnikowe, oznacza, że ​​do logowania potrzebne jest nie tylko hasło, ale także kod jednorazowy, który zmienia się za każdym razem. Kody te są zazwyczaj wysyłane na telefon komórkowy (lub generowane przez) i są ważne tylko przez kilka minut. Oznacza to, że nawet jeśli cyberprzestępcy złamią Twoje hasło, nie wystarczy, że przejmą Twoje konto.
  • Do samodzielnej obsługi haseł wybierz renomowany algorytm salt-hash-and-stretch.. W niefortunnym przypadku, gdy Twoja baza haseł zostanie naruszona, będziesz mógł podać swoim klientom dokładne informacje o algorytmie i ustawieniach zabezpieczeń, których użyłeś. Pomoże to dobrze poinformowanym użytkownikom samodzielnie ocenić, jak prawdopodobne jest, że ich skradzione hashy mogły zostać złamane w czasie dostępnym do tej pory dla atakujących.

Znak czasu:

Więcej z Nagie bezpieczeństwo