Parolele sug. Este un adevar universal acceptat. Dar in absenta a ceva mai bun, suntem blocati cu ei. Acest articol este destinat sa instruiasca dezvoltatorii de site-uri / SaaS / aplicatii si utilizatori cu privire la modul in care sa ajute ca totul sa aspire putin.

Crearea parolelor – pentru utilizatori

Acest lucru a fost facut pana la moarte. Evitati sexy1 si parola123 si g0dl1k3 si trustno1 si l3tm31n si corectati staplerul de baterii pentru cai si toate parolele uzate clise care apar pe primele 100 de liste. Practic vorbind, hackerii au acces la crackerele minunat puternice bazate pe GPU si la tabelele curcubeu mari cu parola si orice lucru care a fost stocat prost, sau nu este lung si complex, va fi fisurat rapid. Inlocuirile cu litere sau adaugarea de numere la sfarsitul cuvantului preferat sau numele cainelui sunt doar optiuni pentru crackerele lor, asa ca nu va asteptati sa va ajute.

Administratorii de parola sunt prietenul tau, dar au si riscuri inerente. Mai multe despre asta mai jos.

Inregistrarea utilizatorilor – pentru dezvoltatori

Daca colectati si pastrati deseurile toxice cunoscute sub numele de informatii personale (prostule!), Atunci probabil ca veti dori sa va asigurati ca datele de care aveti incredere sunt sigure. Asadar, veti ruga utilizatorii sa creeze nume de utilizator si parole pentru a le proteja. Unii dintre voi vor aplica standarde solide de parole pentru a va asigura ca nu folosesc parole stupide. Iata cele mai mari greseli ale tale:

Javascript de validare slaba cu fundul mut

Utilizatorul a decis sa utilizeze un manager de parole care autogenereaza si stocheaza 60 de caractere amestecate cu majuscule si minuscule, cu numere si caractere speciale (puncte bonus pentru utilizarea caracterelor care nu sunt ASCII!). Barurile dvs. javascript dupa 24 de caractere de intrare si le spune ca complexitatea parolei lor este prea mica. Acest lucru nu face decat sa-i blesteme si sa te urasca.

Testare UX

Testarea UX nu inseamna doar ce nuanta de albastru ii face pe utilizatori sa cumpere mai multe tecuri grafice superbe. Presupuneti ca 10% dintre cei mai destepti, cei mai destepti, barbati sau barbati-utilizatori de par violet vor folosi administratorii de parole. UX testeaza-le pentru a te asigura ca nu dau barfe pe site-ul tau. Daca va plac utilizatorii.

Array

Daca le urati, continuati sa identificati in mod gresit numele de utilizator si campurile de parola si nu verificati daca exista interoperabilitatea managerului de parole. Vor gasi undeva sa cumpere tricouri cu pisici dragute care calareau rechini pe ele.

Stocarea parolelor

Felicitari! Ati reusit sa rasuciti bratele utilizatorului in crearea unei parole complexe. Si apoi il scrii pe disc in text clar. Serios? Stiu ca ai dormit prin partea de securitate a clasei tale de codare, dar in acest moment daca ai facut aceasta greseala este de neiertat. Si nu, utilizarea unui hash MD5 sau ROT13 nu este o imbunatatire, este ca si cum ai trage centura de siguranta peste umar, dar nu ar face clic pe ham. Doar iluzia de securitate.

Trebuie sa sariti si sa va depozitati parola. Daca utilizati o sare comuna, tocmai ati facut mai usor pentru hackeri sa inverseze parola odata ce detin proprietatea infrastructurii dvs., lucru pe care il vor face. Mizati pe ea. 

In cele din urma, nu scrie propriul algoritm pentru a face acest lucru. O vei insela. Da, algoritmii de hashing disponibili pe scara larga precum Argon2, bcrypt, scrypt sau PBKDF2 vor avea probabil probleme slabe gasite la ei in 5 ani. Al tau va fi hacked de un tanar de 14 ani in 15 minute. Criptografia este grea, nu o face singura.

Stocarea parolelor

Ce? Ai crezut ca asta a fost? Fisierul dvs. de parola este securizat. Insa unii dork din departamentul dvs. de analiza web au decis ca trebuie sa instrumenteze fiecare apasare de taste pe care utilizatorul dvs.

o pune in aplicatia web si, in consecinta, au fost stocarea de clarificari de parole in fisierele dvs. de jurnal. Inceteaza! Manager de marketing rau!

Autentificare multi-factor

Multi-factor NU este „ceva ce stii si altceva stii”. O parola si o intrebare secreta nu este mai sigura, ci este enervant pentru utilizatori. Daca aveti de gand sa implementati intrebari secrete in loc de autentificare multi-factor multiplu real, lasati-le cel putin sa-si defineasca propriile perechi de intrebari / raspunsuri. Pentru ca chiar stiu numele fetitei mamei tale, strada pe care ai crescut si numele primului tau animal de companie.

Autentificare multi-factor – notificari prin SMS

Retineti ca notificarile prin SMS, in timp ce o tehnologie acceptata decent si raspandita pe scara larga, nu sunt teribil de sigure. Batranii inteligenti de 13 ani au facut totul de la achizitionarea de telefoane Nokia vechi care permit hackingul IMEI si clonarea mesajelor SMS de intrare pana la inginerie sociala Serviciul de asistenta al telco-ului dvs. pentru a va inregistra telefonul la ele pentru a va compromite contul de Twitter. Vi se va intampla daca implementati SMS. Ce vei face atunci?

Autentificare multi-factor – validare prin e-mail

Validarea e-mailului este misto. Ce ar putea fi mai usor decat sa solicitati unui utilizator sa faca clic pe un link pentru a valida un cont sau o incercare de autentificare. Trimiterea de alerte prin e-mail atunci cand oamenii se conecteaza la conturi de pe computere noi este o masura decenta de securitate. Insa, trebuie sa presupuneti ca o parte mica din utilizatorii dvs. (25%) au utilizat aceeasi parola pe contul de e-mail, care este si numele lor de utilizator pentru conturile dvs. Asadar, hackerul a primit un twofer si acum poate sterge cu usurinta acele minunate mesaje de notificare pe care le continuati sa le trimiteti.

Autentificare multi-factor – Autentificare avansata

O practica buna, in loc sa-i enervezi pe utilizatori, impunandu-i sa parcurga 26 de pasi de fiecare data cand se conecteaza la serviciul tau este sa necesite mai multi pasi de autentificare atunci cand provin dintr-un dispozitiv nou sau adresa IP. Este perfect? Nu. Este mai putin enervant pentru utilizatori? Da. Utilizatorii tai enervanti ii vor face sa revina la cel mai mic numitor comun. 

Atacuri de forta bruta / Recoltare utilizator

Kiddies-urile de scripturi sunt numite asta deoarece le place sa descarce si sa scrie uneori scripturi. Scripturi care fac lucruri precum testarea unei combinatii de nume / parola zillion pe site-ul dvs. web. Pentru ca nu ai facut nimic pentru a opri asta. 

Sau poate ai stabilit un prag? Sau unul dintre cele captcha care le solicita sa foloseasca o botnet ieftina pentru a ataca autentificarea site-ului. Incepeti prin a presupune ca vor incerca sa stranga numele de utilizator / parolele de la usa din fata. Daca site-ul tau afiseaza mesaje de eroare utile precum „utilizator necunoscut” sau „parola incorecta”, atunci le-ai facut si mai usor – acum stiu daca au un nume de utilizator legitim.

Tehnici de recuperare a parolei

Utilizatorii dvs. uita parolele. Din mai multe motive. Sunt oameni, nu computere (cu exceptia cazului in care utilizatorii dvs. sunt o ferma rusa Troll, caz in care sunt 15 persoane in fata a 10.000 de conturi controlate de computer). Deci, aveti nevoie de ele pentru a-si recupera parolele. Ne intoarcem la intrebari secrete? Numele mamei lui Maiden? Numarul de securitate sociala (va fi de 5 USD pe web-ul intunecat, va rog). A avea un mecanism slab de recuperare este ca si cum ai pune un blocaj in usa din fata si a lasa fereastra laterala larg deschisa, cu o scara convenabila mai jos.

In calitate de utilizator, daca site-ul web va trimite inapoi parola in text clar cand faceti clic pe linkul „Mi-am uitat parola”, stiti ca il stocheaza intr-un format usor reversibil si nu pot fi de incredere cu datele dvs. Nu cardul tau de credit, nu numele de fata al mamei tale, nu numele primului tau animal de companie Fluffy. Daca nu pot stoca corect parolele, nu pot face nimic bun.

Autentificare OAuth / Google / FaceBook / Twitter

Pana acum probabil ca va ganditi doar – acest lucru cu parola este greu, ii voi lasa pe utilizatorii mei sa se conecteze folosind datele de autentificare Google / FaceBook / Twitter. Aceasta este o alegere. Asa cum ar fi sa lasati un copil de 8 ani sa-si „asigure” alegerea bomboanelor de Halloween (cereti-le oamenilor de la Tinder cum se simt ca au Facebook drept credinta de autentificare acum, cand Facebook se afla in jocul de intalnire). Candva, in viitor, vor fi flamanzi si bomboanele tale vor fi ale lor. Dar pentru majoritatea organizatiilor, a nu crea nume de utilizator si parole deloc este un mod perfect rezonabil de urmat. Nu o poti pierde daca nu o ai, nu? Google si altii au scheme de protectie conturi solide – unele dintre ele sunt folosite pentru a combate atacurile din statele nationale. Veti avea greutati sa se potriveasca cu expertiza echipei lor de dezvoltare, 

Rotirea parolelor

Nu faceti acest lucru decat daca stiti / banuiti ca baza de date a parolei dvs. a fost furata – daca baza de date a parolei dvs. a fost compromisa sau utilizatorii v-au confiscat. De fapt, daca ai respectat mecanismele de securitate ale bazei de date cu parole, atunci chiar daca baza de date este compromisa, nevoia de rotire este redusa semnificativ. Timpurile de rotatie a parolelor de 30/90 zile sunt arhaice la defecte inerente in versiunile antice ale modelului de securitate NTLM si nu mai sunt relevante. Tot ce ai facut este sa te asiguri ca asistenta ta va fi obligata sa se ocupe de mai multe apeluri de recuperare a parolei si le-a facut mai vulnerabile la inginerie sociala.

Administratori de parole – pentru utilizatori si dezvoltatori

Administratorii de parole sunt grozavi, cu exceptia. Hackerii stiu ca le avem, asa ca infecteaza computerul utilizatorilor si elimina toate parolele din managerul de parole deblocat. Care este mecanismul dumneavoastra de aparare impotriva acestui lucru (multi-factor, oricine?). Daca sunteti un utilizator, asigurati-va ca conturile dvs. critice (e-mail, social, banci (dorim!)) Sunt blocate si cu multi-factor. Daca sunteti dezvoltator, contati-va ca conturile utilizatorilor dvs. sunt compromise, deoarece masinile lor au fost compromise sau pentru ca au folosit aceeasi combinatie de nume utilizator / parola in alte 37 de locuri si identificati strategiile pentru a face fata acestui lucru (comportamentul utilizatorului analiza este un instrument util!). 

Secrete – pentru utilizatori

Presupunem ca identitatea dvs. a fost compromisa. Ca cineva (Cambridge Analytica) de acolo are un portofoliu cu numele fetitei mamei tale, ziua ta de nastere, numele cainelui tau, aroma ta preferata de inghetata etc.

Se pare ca nu trebuie sa spuneti adevarul atunci cand vi se cere sa oferi raspunsuri la secrete pentru site-uri web. Puteti crea o a doua persoana falsa, cu o data de nastere diferita, puteti introduce un sir de cifre aleatoriu pentru filmul dvs. preferat (mi-a placut foarte mult Jennifer Lawrence in% JFKD $ dsjk3! @), Sau culoarea preferata poate fi o tara. Nu conteaza, pentru ca oamenii nu se uita la chestiile astea. Asadar, faceti ceva diferit, astfel incat daca identitatea dvs. din lumea reala este compromisa, identitatea dvs. online nu este la fel de bine.

Alte considerente

Incepeti cu presupunerea ca baza de date a contului dvs. va fi compromisa. Ce atunci? Care este planul dvs. de raspuns la incidente? Scrie comunicatul de presa acum. Ce le veti spune oamenilor despre modul in care ati stocat parolele (sarate, hashed sau text complet?). Trimiteti comunicatul de presa prietenului tau de securitate preferat – daca fac facepalm, aveti de lucru. Daca se ridica din umeri si merg „ok, nu este grozav, dar nu este mare lucru”, stii ca esti pe drumul cel bun.

Faceti si alte lucruri – analiza comportamentala a utilizatorului, amprentarea dispozitivului, notificari prin e-mail / text. georestrictii, reducerea fortei brute – pentru a reduce riscul unui compromis cu parola care duce la un compromis al contului?

Presupunem ca atacatorii vor incerca sa recolteze utilizatorii de pe pagina de autentificare, ca vor face inginer social la biroul de ajutor si vor lucra mecanismele de recuperare a parolei pentru a incerca sa va ocoleasca securitatea. Presupunem ca vor recolta datele utilizatorilor de pe alte site-uri (primele patru / ultimele patru cifre ale unui numar de card de credit) pentru a avea informatiile necesare pentru socializarea biroului de ajutor. Acum, faceti o gramada de teste si vedeti cat de eficiente sunt acestea. Ai intrat? Continua sa lucreze.

Pentru utilizatori, presupunem ca datele dvs. de acreditare vor fi compromise. Parola dvs. de e-mail furata. Credentele dvs. bancare au fost compromise. Vaultul dvs. de parola s-a aruncat. Cat de mare este o afacere? Exista si alte controale pe care le puteti pune in aplicare pentru a va reduce riscul (autentificare cu mai multi factori, limite pentru transferurile de cont cu banca etc.)?

Parolele sug, alegerea celor bune este greu, pastrarea lor in siguranta este mai greu. Dar, deocamdata, sunt cu ce ne-am blocat. Deci, faceti tot posibilul pentru a le asigura.