Her er Danmarks fem bedste CIO’er lige nu:Se de fem nominerede til prisen som Årets CIO 2024

Artikel top billede

Små bogstaver er meget nemmere at huske: Sådan kan en ny politik for sikre adgangskoder se ud

Klumme: Hvordan finder man frem til den bedste politik for adgangskoder, som brugerne bliver glade for? Svært, men ikke umuligt. Mange små bogstaver er svaret.

Det er svært at finde frem til den korrekte politik for adgangskoder - altså hvilke krav, brugerne teknisk skal tvinges til at overholde.

Derfor vil jeg gerne dele nogle af de tanker, som jeg har gjort mig i forbindelse med dette - dermed ikke sagt, at jeg giver svaret på den adgangskodepolitik, som I skal implementere hos jer, da der kan være mange situationer, der skal tages stilling til.

Det gælder ikke mindst brugerne, som skal underlægges disse krav.

Et af de primære problemer med adgangskoder er, at brugeren skal kunne huske adgangskoden. Så det spørgsmål, jeg forsøger at svare på, er:

”Hvordan udarbejder vi en adgangskodepolitik, som kan hjælpe brugeren med at huske sin adgangskode og som samtidig hjælper brugeren til at konstruere en stærk adgangskode?”

Ved en stærk adgangskode forstår jeg en kode, som ikke er let for en angriber at cracke.

Baggrund

I denne klumme har jeg taget udgangspunkt i et Windows-miljø, hvor det er lykkedes angriberne at stjæle NTLM-hashes, og som herefter forsøger at cracke disse.

Dette kan enten være ved at stjæle NTDS.dit eller få adgang til hukommelsen på en Windows-maskine. Dette er dog ikke noget, jeg vil beskrive nærmere her.

Hvilken politik?

Når jeg tænker adgangskoder og grader af kompleksitet, handler det ofte om antal små bogstaver, store bogstaver, tal og specieltegn.

Dette giver os cirka 82 (26+26+10+20) forskellige tegn at benytte til at konstruere vores adgangskode

Bemærk, at dette er en grov vurdering. Meningen er ikke at gå ind i en diskussion om at benytte kinesiske tegn og andet.

Jeg vil her forsøge at vise forskellen på den klassiske måde at konstruere adgangskoder og  den nye metode.

Den klassiske metode er at benytte store bogstaver, tal og specialtegn, mens den nye metode fokuserer på at konstruere længere adgangskoder uden kompleksitet samt at øge udløbstiden.

Dette kunne eksempelvis være:

Jeg vil beregne mig frem til hvor mange karakterer, man bør benytte i forhold til den nye metode.

Nedenstående figur viser, hvor mange forskellige adgangskoder man kan opbygge ved at fokusere på kompleksiteten i forhold til store og små bogstaver, tal og specieltegn.

De samlede antal mulige kombinationer ved den klassiske metode udgør 2.044.140.858.654.980 forskellige adgangskoder (82^8).

Den røde cirkel viser det reelle tal, da den klassiske kompleksitet kun kræver tre af de fire ovenstående kategorier, så der er reelt ikke mange, som benytter specialtegn.

Hvor mange karakterer bør vi så sætte kravet til ved den nye metode?

Nedenstående figur viser antallet af mulige forskellige adgangskoder ved kun at benytte små bogstaver.

Hvis der kun benyttes små karakterer, kan vi her se, at der ved 10 karakterer er mulighed for 141.167.095.653.376 forskellige adgangskoder.

Ved 11 karakterer er der mulighed for 3.670.344.486.987.780 forskellige adgangskoder.

Det kan ses af nedenstående figur, at de to ”illustrationer” mødes ved otte karakterer med kompleksitet og 11 karakterer kun små bogstaver.

For så at tilføje det sidste aspekt med udløb, vil det være interessant at se på, hvor lang til det vil tage at cracke en adgangskode.

Udløbstid

Til dette formål konstrueres der maskiner med det enkle formål at cracke adgangskoder, Brutalis er en af disse maskiner.

Læs gerne mere om denne maskine på https://sagitta.pw/hardware/gpu-compute-nodes/brutalis/ ... tag gerne også et kig på prisen.

Den skulle kunne teste 330.000.000.000 NTLM-adgangskode-hashes i sekundet.

Hvis vi kigger på, hvor lang tid denne maskine vil skulle bruge på at lave et brute force-angreb imod ovenstående adgangskodepolitikker, ville det kun tage omkring 1,7 time at bryde den klassiske (8 karakterer) og cirka 3 timer at bryde den nye metode (ved 11 karakterer).

Når vi ser på den klassiske metode med kompleksitet, kan vi af nedenstående graf se, at det tager under et år at cracke en adgangskode på 9 karakterer.

Hvis vi skal op på et år eller mere, skal vi benytte 10 karakterer og helst 11. Dette skyldes, at der stadig er en betydelig risiko for, at en adgangskode vil kunne crackes ved 10 karakterer - dette vil tage 1,32 år.

Nedenstående graf viser i år, hvor lang tid det vil tage at cracke adgangskoder i forhold til den nye metode. Vi vil derfor skulle op på minimum 14 karakterer for at sikre, at det tager mere end et år.

I forhold til ovenstående illustrationer anbefaler jeg, at man vælger en adgangskodelængde på 13 karakterer, hvis man vælger at benytte den klassiske metode

I det tilfælde vil det så tage cirka 730.000 år at cracke en adgangskode, altså en risiko på 0,00003 procent.

Ved den nye metode vil jeg anbefale en adgangskodelængde på 18 karakterer og udløb på 365 dage. Sådan en kode vil tage cirka 3 millioner år at cracke, altså igen en risiko på 0,00003 procent.

Risikoen har jeg beregnet ved at tage udløbstiden og dividere med det antal dage, det tager at cracke en adgangskode. Dette kan man så eventuelt efterfølgende gange op med antallet af brugere.

Så hvis vi vender tilbage til ”problemet”, så er det, at vi mennesker skal kunne huske vores adgangskode.

Jeg vil mene, at vi har en individuel procedure for, hvordan vi gør.

Så hvis vi står imellem valget af de to mulige adgangskodepolitikker i skemaet her, vil jeg anbefale at benytte den nye metode.

Jeg vil påstå, at det er langt lettere at huske en tekststreng bestående af kun små bogstaver frem for en tekststreng bestående af både store og små bogstaver samt tal og specialtegn.

Det skal selvfølgelig nævnes, at en adgangskodepolitik aldrig kan fungere alene.

Det kræver også, at man uddanner brugerne i, hvordan en stærk adgangskode vælges.

Med eksempelvis de 18 karakterer kunne man forstille sig brugere, som vælger en af følgende svage adgangskoder:

”123456789012345678”

”1234567890qwertyui”

”qwertyuiopasdfghjk”

Men det er en snak, som jeg ikke vil dykke ned i her.

Undersøgelse

Jeg har lavet en mindre undersøgelse, hvor jeg har spurgt 80 brugere af it-systemer om, hvilken adgangspolitik de ville synes ville virke bedst for dem.

Nedenstående diagram viser resultatet af undersøgelsen.

66 af de adspurgte brugere foretrækker altså, at man øger længden af adgangskoden, fjerner kompleksitetskravene og øger udløbstiden.

Man kunne jo eventuelt lave en tilsvarende rundspørge hos ens brugere, når man nu alligevel er ude og fortælle dem, hvordan man konstruerer en stærk adgangskode.

Er adgangskoder så brugbare?

Som så mange andre har sagt, mener jeg, at adgangskoder snart er et overstået kapitel.

Det vil ikke være sikkerhedsmæssigt forsvarligt kun at benytte adgangskoder, da de maskiner, som benyttes til at cracke koderne, bliver bedre og bedre.

Man kan jo forestille sig botnets, som kan cracke lange og komplekse adgangskoder på ingen tid.

Som jeg ser det, er den eneste vej frem at benytte andre løsninger som eksempelvis to-faktor-validering.