Un serviciu care trimite prin e-mail parola actuală a unui utilizator a dovedit un lucru: poate obține acel secret într-o formă pe care o poate trimite. Nu a dovedit ce coloană, algoritm sau bibliotecă l-a produs. Distincția contează pentru că constatarea este reală, iar concluzia pe care oamenii o trag din ea este de obicei prea specifică. Reversibilitatea undeva pe traseu este mecanismul; un format de stocare presupus nu este.

Păstrează dovezile la acel nivel, iar restul evaluării rămâne corect.

Ce dovedește retrimiterea vechiului secret

Un verificator unidirecțional nu poate produce parola originală, pentru că a fost proiectat să nu fie inversabil. Dacă serviciul poate trimite parola prin e-mail, atunci în acel moment deține material din care parola poate fi recuperată, sau interceptează și stochează textul clar înainte de hashing. În orice caz, calea de recuperare este reversibilă, iar aceasta este o constatare de securitate reală. Nu spune nimic despre dacă aceeași bază de date folosește un hash costisitor pentru alte coloane.

Observă și cazul intermediar: un blob criptat stocat cu o cheie deținută de aplicație este reversibil în practică, chiar dacă cuvântul criptat sună liniștitor într-un raport.

De ce este o constatare de proiectare, nu o hartă a stocării

E-mailul dovedește recuperabilitatea și nu identifică schema exactă. Poate fi text clar, criptare deterministă, o rutină de ofuscare a unui furnizor sau un depozit separat de acreditări folosit doar pentru recuperare. Părți diferite ale unui produs folosesc adesea stocare diferită. Atribuirea unui algoritm pe baza unui singur e-mail este genul de afirmație care se prăbușește la ședința următoare.

Ce poți spune este mai îngust și mai util: această cale poate recupera secretul, deci produsul nu poate susține că nu există nicio acreditare recuperabilă. Tot ce depășește asta necesită dovezile operatorului.

Construiește resetarea în jurul autorizării

O resetare rezolvă o altă problemă: dovedirea că solicitantul poate alege o parolă nouă. Ghidul OWASP despre aceasta descrie tokenuri sau coduri de unică folosință generate în siguranță, cu o expirare adecvată, și tratează etapa de solicitare ca pe ceva ce trebuie protejat împotriva enumerării și a inundării. O solicitare neautentificată nu trebuie să modifice contul de la sine. Validează autorizarea înainte de a accepta înlocuirea și fă tokenul inutilizabil după o singură utilizare reușită.

Canalul de e-mail face parte din modelul de securitate. Deținerea unui nume de cont nu dovedește nimic, iar un flux de resetare care dezvăluie dacă un cont există îi dă unui atacator un director cu care să lucreze.

Invalidează ceea ce proteja parola

Schimbarea unei parole nu încheie automat accesul pe care îl acorda. Sesiunile VPN active, dispozitivele memorate și tokenurile emise de server pot avea fiecare propriul comportament de invalidare. Decide deliberat care dintre ele trebuie să se încheie și verifică dacă implementarea face asta, pentru că un utilizator care presupune că o resetare l-a deconectat peste tot greșește adesea. Consemnează această decizie împreună cu fluxul.

Pentru operatori: documentează care componentă verifică solicitarea, care schimbă acreditarea și cum sunt tratate sesiunile asociate. Pentru utilizatori: protejează canalul legitim de recuperare și tratează orice mesaj care returnează o parolă ca suspect.

Evaluarea precisă este scurtă: ce dovedește mesajul, ce rămâne necunoscut și dacă recuperarea înlocuiește accesul printr-un proces controlat.

Articole similare