Vad är egentligen best practice?
För har vi någon vidare bra uppfattning egentligen?
Under julledigheten hann jag beta av några centimeter från att-läsa-högen™. Bland dessa centimeter fanns Jay Jacobs korta essä A Call to Arms: It Is Time to Learn Like Experts (pdf) och forskningsrapporten The Security of Modern Password Expiration: An Algorithmic Framework and Empirical Analysis (pdf) av Yinqian Zhang et al.
Den tidigare problematiserar vår benägenhet att ge rekommendationer baserat på magkänsla och antaganden, min fetstil:
Businesses and organizations rely almost exclusively on the opinions of security experts for direction and priority of risk-based resource allocation. This reliance on the subjective experience of experts begs the question, "Under what conditions are the opinions of security professionals worthy of trust?" This complicated question has a relatively simple answer: unvalidated expert judgment is not a reliable foundation for making risk-based information security decisions.
Har vi hört det där förut eller... Vanligtvis fortsätter författaren med något utspel i stil med "vi måste börja mäta säkerheten..." eller "vi måste göra riskanalyser där sannolikheten och konsekvensen bedöms..." o s v "annars kan vi aldrig nå framgång". Blah blah...
Men, inte den här gången! Jacobs går in på forskning om i vilka sorters miljöer det finns goda och dåliga förutsättningar för att öva upp sin intuition (läs: magkänsla). Bra och dåliga förutsättningar kallas för kind respektive wicked environments. Förklaringen Jacobs ger är så klar att jag bara citerar, min fetstil:
A kind environment will offer unambiguous, timely, and accurate feedback. For example, most sports are a kind environment. When a tennis ball is struck, the feedback on performance is immediate and unambiguous. If the ball hits the net, it was aimed too low, etc. When the golf ball hooks off into the woods, the performance feedback to the golfer is obvious and immediate.
Jacobs observation är att informationssäkerhet utgör en elak miljö, min fetstil:
[In wicked environments] we see feedback that is not timely, extremely ambiguous, and often misperceived or inaccurate. Years may pass between an information security decision and any evidence that the decision was poor. When information security does fail, proper attribution to the decision(s) is unlikely, and the correct lessons may not be learned.
Jag har svårt att komma med några invändningar. Ett förslag på att mildra problemet är en form av feedbackloop, varje gång du är på väg att ge en rekommendation baserat på magkänsla eller antagande, ställ dig själv två frågor:
- Varför tror jag det?
- Hur skulle jag få reda på att jag har fel?
I princip alla källor till best practice inom säkerhet har alltid sagt att lösenord ska bytas ut med jämna mellanrum. Varför tror vi det? Hur får vi reda på om vi har fel?
Det här tar oss till forskarrapporten jag nämnde i början; The Security of Modern Password Expiration. Rapporten är av någon outgrundlig anledning en orgie i matematisk notation.
Kortfattat har forskarna, med hjälp av lösenordshistorik från 7700 riktiga användarkonton, konstaterat att det är betydligt enklare att gissa det nuvarande lösenordet om man vet ett föregående. Naturligtvis beror det på att användare inte väljer helt nya lösenord utan bara modifierar det en aning vid varje byte.
Syftet med regelbundna lösenordsbyten är ju att begränsa tiden under vilket ett läckt lösenord är värdefullt. Om en angripare får tag i ditt lösenord nu är tanken att det bara ska vara användbart fram till nästa lösenordsbyte om några månader. (Visst låter det skakigt när man uttrycker sig så?)
Nåväl, rapporten visar alltså tecken på att effekten av lösenordsbyten i praktiken inte är så stor som man kanske hoppats. Detta kombinerat med att regelbundna lösenordsbyten är en kunglig smärta i bakdelen generellt gör att man gärna ställer sig frågan: är det värt det?
Nej. Gör det (1) svårt för användare att välja svaga lösenord och (2) besvärligt för angripare att gissa lösenord. Det är en mycket bättre väg framåt...
...varför tror jag det? Hur vet jag om jag har fel?
Trevlig helg förresten!
--
Stefan Pettersson
Håller inte med!
Hela syftet med att byta lösenord är ju förhindra att någon som redan olovligen har kommit över ditt kontos lösenord inte fortsättningsvis skall ha tillgång till din information. Ja, skadan har ju redan skett men information är ju samtidigt en färskvara. Information skapas med tiden och den vill vi säkerställa att vi skyddar. Detta görs (bl.a.) genom att byta lösenord regelbundet.
Dina föreslagna åtgärder motverkar inte detta faktum.
Ja, jag kanske var lite väl svartvit där, man måste förstås ta hänsyn till fler faktorer.
Vanligtvis tror jag dock att det inte är värt det:
Enligt forskningen fungerar inte metoden särskilt bra. Helt enkelt p g a att nya lösenord ofta inte skiljer sig från tidigare nämnvärt.
Visserligen skulle man kunna använda liknande algoritmer (som används i rapporten) för att hindra användare från att välja liknande lösenord. Men det kommer då bli svårt för användaren att förstå varför det nya lösenordet inte tillåts. Ledsna miner.
Den förväntade tiden en angripare kommer att ha tillgång är halva bytesperioden, säg att den är relativt kort, 45 dagar t ex. Det är fortfarande gott om tid för att befästa sin position och göra lösenordsbyten meningslösa.
Jag tror att energin som går åt till lösenordsbyte borde prioriteras någon annanstans först. Till exempel att automatiskt spärra konton som inte har använts på lång tid eller smarta, dynamiska lösenordskrav.