Slack recunoaște că a scurs parole hashed timp de trei luni PlatoBlockchain Data Intelligence. Căutare verticală. Ai.

Slack recunoaște că a scurs parole cu hashing timp de trei luni

Popular collaboration tool Slack (not to be confused with the nickname of the world’s longest-running Linux distro, Slackware) has just owned up to a cybersecurity SNAFU.

Potrivit unui buletin de știri intitulat Notă despre resetarea parolei Slack, compania a recunoscut că a distribuit din neatenție datele personale „când utilizatorii au creat sau au revocat un link de invitație partajat pentru spațiul lor de lucru.”

Din 2022-04-17 până în 2022-07-17 (presupunem că ambele date sunt inclusive), Slack a spus că datele trimise destinatarilor unor astfel de invitații includ...

…asteapta…

parola hashing a expeditorului.

Ce a mers prost?

Avizul de securitate al lui Slack nu explică încălcarea foarte clar, spunând doar asta „[a]a sa parola hashing nu era vizibilă pentru niciun client Slack; descoperirea acestuia a necesitat monitorizarea activă a traficului de rețea criptat provenit de la serverele Slack.”

Bănuim că acest lucru se traduce după cum urmează:

„Majoritatea destinatarilor nu ar fi observat că datele pe care le-au primit includeau informații despre parolă hashing, pentru că acele informații, deși incluse în pachetele de rețea trimise, nu le-au fost niciodată afișate în mod deliberat. Și pentru că datele au fost trimise printr-o conexiune TLS, interlocutorii nu ar fi putut să le adulmece pe parcurs, pentru că nu ar fi decriptate până nu ajungeau la celălalt capăt al conexiunii.”

Aceasta este vestea bună.

Dar pachetele de rețea includ adesea date care nu sunt niciodată utilizate sau văzute în mod normal de destinatari.

Antetele HTTP sunt un bun exemplu în acest sens, având în vedere că sunt menite să fie instrucțiuni pentru browserul dvs., nu date pentru afișare în pagina web pe care o vă uitați.

Și datele care sunt irelevante sau invizibile pentru utilizatori ajung adesea oricum în jurnale, în special în jurnale de firewall, unde ar putea fi păstrate la nesfârșit.

Asta este vestea proastă.

Sare, haș și întindere...

Potrivit lui Slack, datele scurse nu au fost doar hash, Dar sărat de asemenea, ceea ce înseamnă că parola fiecărui utilizator a fost mai întâi amestecată cu date aleatorii unice pentru acel utilizator înainte ca funcția hash să fie aplicată.

Hashe-urile sunt în esență funcții matematice „reversibile” care sunt ușor de calculat într-o direcție, dar nu și în cealaltă.

De exemplu, este ușor de calculat că:

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

Dar singura modalitate de a lucra „în spate” de la 7FB376..DEAD4B3AF008 la DUCK este să lucrezi înainte din fiecare cuvânt posibil din dicționar și vezi dacă vreunul dintre ele iese cu valoarea cu care încerci să o potriviți:

  SHA256(„AARDVARK”) = 5A9394..467731D0526A [X] SHA256(„AARON”) = C4DDDE..12E4CFE7B4FD [X] SHA256(„ABACUS”) = BEDDD8..1FE4DE25AAD7 [X] . . . 3400 omis SHA256(„BABBLE”) = 70E837..CEAD4B1FA777 [X] SHA256(„BUSUCU”) = 946D0D..7B3073C1C094 [X] SHA256(„BAGPIPE”) = 359DBE..CB193XFC . . 111 omis SHA3200("CABAL") = D256CF78..4BE85 [X] SHA02967565("CACHE") = C256F118..9F22E3269B7 [X] SHA32("CAGOULE") = 256EA5..530A5C [26B5A56C. . . 5400 omis SHA256(„DAB”) = BBCC8E..E8B98CAB5128 [X] SHA256(„NACISCĂ”) = 75121D..D6401AB24A98 [X] SHA256(„PERICOL”) = 0BD727..4C86037..065C3500. . . 256 SHAXNUMX ("RATĂ") omisă =  7FB376..DEAD4B3AF008 [GĂSIT!]

Și incluzând o sare per utilizator, care nu trebuie să fie secretă, ci doar unică pentru fiecare utilizator, vă asigurați că, chiar dacă doi utilizatori aleg aceeași parolă, nu vor ajunge cu același hash de parolă.

Puteți vedea efectul sărării aici, atunci când stricăm cuvântul DUCK cu trei prefixe diferite:

  SHA256("RANDOM1-DUCK") = E355DB..349E669BB9A2 SHA256("RANDOM2-DUCK") = 13D538..FEA0DC6DBB5C <-- Schimbarea unui singur octet de intrare produce un hash extrem de diferit SHA256("ARKXXQ") =3H52-92DUC544208. .19449AXNUMX

Aceasta înseamnă, de asemenea, că atacatorii nu pot crea o listă precalculată de hashuri probabile sau să creeze un tabel de calcule hash parțiale, cunoscut sub numele de masă curcubeu, care poate accelera verificarea hash. (Ar avea nevoie de un hashlist nou-nouț sau de un set unic de mese curcubeu, pentru fiecare sare posibilă.)

Cu alte cuvinte, parolele cu hash și sărate nu pot fi sparte trivial pentru a recupera intrarea inițială, mai ales dacă parola inițială a fost complexă și aleasă aleatoriu.

Ceea ce nu a spus Slack este dacă ar face-o întins hash-urile parolei și, dacă da, cum.

Întindere este un termen din jargon care înseamnă repetarea procesului de hashing a parolei de mai multe ori, de exemplu, de 100,000 de ori, pentru a prelungi timpul necesar pentru a încerca o grămadă de cuvinte din dicționar împotriva hash-urilor de parole cunoscute.

Dacă ar dura o secundă pentru a trece 100,000 de cuvinte din dicționar printr-un proces simplu, atunci atacatorii care vă cunosc parola hash ar putea încerca 6 milioane de cuvinte diferite din dicționar și derivate în fiecare minut sau ar putea face mai mult de un miliard de ghiciri la fiecare trei ore. .

Pe de altă parte, dacă calculele de sare și hash ar fi extinse la o secundă fiecare, atunci întârzierea suplimentară de o secundă când ați încercat să vă conectați v-ar provoca puțin sau deloc supărare...

…dar ar reduce un atacator la doar 3600 de încercări pe oră, ceea ce face mult mai puțin probabil ca aceștia să aibă suficient timp pentru a ghici orice, cu excepția celor mai evidente parole.

Sunt cunoscuți mai mulți algoritmi de salt-hash-and-stretch bine respectați, în special PBKDF2, bcrypt, scrypt și Argon2, toate acestea pot fi ajustate pentru a crește timpul necesar pentru a încerca ghiciri individuale de parole pentru a reduce viabilitatea de așa-numitele atacuri de dicționar și forță brută.

A atac de dicționar înseamnă că încercați numai parole probabile, cum ar fi fiecare cuvânt la care vă puteți gândi aardvark la zymurgy, și apoi renunț. A atac cu forță brută înseamnă să încerci toate intrările posibile, chiar și cele ciudate și nepronunțate, din AAA..AAAA la ZZZ..ZZZZ (sau de la 0000..000000 la FFFF..FFFFFF dacă gândiți în termeni hexazecimali octet cu octet).

Ce să fac?

Slack spune asta despre 1 din 200 dintre utilizatorii săi (0.5%, probabil pe baza înregistrărilor cu privire la câte linkuri de invitație partajate au fost generate în perioada de pericol) și că va forța acești utilizatori să-și reseteze parolele.

Câteva sfaturi suplimentare:

  • Dacă sunteți utilizator Slack, ați putea la fel de bine să vă resetați parola chiar dacă nu ați fost notificat de companie să faceți acest lucru. When a company admits it has been careless with its password database by leaking hashes, you might as well assume that yours was affected, even if the company thinks it wasn’t. As soon as you change your password, you make the old hash useless to attackers.
  • Dacă nu utilizați un manager de parole, luați în considerare obținerea unuia. Un manager de parole ajută alege parole adecvate, asigurându-vă astfel că parola dvs. ajunge foarte, foarte departe în lista de parole care ar putea fi sparte într-un incident ca acesta. De obicei, atacatorii nu pot face un adevărat atac de forță brută, deoarece există prea multe parole posibile de încercat. Deci, ei încearcă mai întâi parolele cele mai probabile, cum ar fi cuvintele sau combinațiile evidente de cuvinte și numere, devenind mai lungi și mai complexe pe măsură ce atacul continuă. Un manager de parole își poate aminti o parolă aleatorie, de 20 de caractere, la fel de ușor cum vă puteți aminti numele pisicii.
  • Activați 2FA dacă puteți. 2FA sau autentificare cu două factori, înseamnă că aveți nevoie nu doar de parola pentru a vă autentifica, ci și de un cod unic care se schimbă de fiecare dată. Aceste coduri sunt de obicei trimise către (sau generate de) telefonul dvs. mobil și sunt valabile doar pentru câteva minute fiecare. Aceasta înseamnă că, chiar dacă infractorii cibernetici îți sparg parola, nu este suficient ca ei să preia contul.
  • Alegeți un algoritm reputat de salt-hash-and-stretch atunci când gestionați singur parolele.. În cazul nefericit în care baza dvs. de parole este încălcată, veți putea oferi clienților detalii precise despre algoritmul și setările de securitate pe care le-ați folosit. Acest lucru îi va ajuta pe utilizatorii bine informați să judece singuri cât de probabil este ca hashurile lor furate să fi fost sparte în timpul disponibil până acum pentru atacatori.

Timestamp-ul:

Mai mult de la Securitate goală