Drop de komplekse adgangskodekrav og styrk virksomhedens forsvar

Jeg har tidligere været inde på, at man kan Undgå dårlige adgangskoder i Active Directory (AD) ved hjælp af blacklisting. Det er en rimelig fornuftig metode, om end den er reaktiv i den konkrete implementering (der til gengæld er helt gratis).

Hvis man i stedet ønsker at være proaktiv og undgå, at dårlige koder overhovedet oprettes i AD, så vil jeg anbefale, at man i stedet ændrer virksomhedens grundlæggende adgangskodepolitik og generelle tilgang til adgangskoder markant. Der er i store træk behov for en slags paradigmeskifte.

Først og fremmest skal der en væsentlig holdningsændring til omkring, hvad "sikkerhedseksperter" og virksomhedens sikkerhedsansvarlige antager er stærke adgangskoder og gode politikker i praksis, dvs. mod aktuelle og reelle hacker-metoder.

Jeg vil således i dette blogindlæg argumentere for, at man fremover bør kræve væsentlig længere adgangskoder af brugerne, mod at man frafalder krav om kompleksitet og hyppige skift, samt at en sådan ændret tilgang både er mere simpel for brugeren og betydelig mere sikker i relation til nutidens trusler.

Den klassiske og misforståede tilgang til adgangskodepolitikker

Den gennemsnitlige virksomhed har i dag en helt "klassisk" adgangskodepolitik, som anbefalet af diverse compliance frameworks og standard i "Default Domain Policy" fra Microsoft.

Disse kræver, at brugernes adgangskoder er på minimum 7 eller 8 karakterer, at der leves op til et krav om kompleksitet (dvs. der skal indgå karakterer fra mindst 3 af følgende 4 kategorier af tegn: store bogstaver, små bogstaver, tal og specialtegn) og dertil at brugerne jævnligt skifter adgangskode (et sted mellem hver 30. og 90. dag) med forskellige variationer.

Fra Microsoft Technet artiklen Minimum password length:

In most environments, we recommend an eight-character password because it is long enough to provide adequate security, but not too difficult for users to easily remember. This configuration provides adequate defense against a brute force attack. Using the Passwords must meet complexity requirements policy setting in addition to the Minimum password length setting helps reduce the possibility of a dictionary attack.

Bemærk således, at citatet fra artiklen siger, at 8 karakterer er langt nok til at tilbyde tilstrækkelig sikkerhed mod bruteforce angreb, men her tænkes formentlig på online bruteforce, dvs. live forespørgsler mod en given brugerkonto i AD (langsom og støjende metode). Offline bruteforce angreb mod f.eks. NTLMv2 er i høj grad mulige, og online bruteforce sikrer de fleste sig alligevel imod ved at sætte Account Lockout Threshold til f.eks. 10 (herefter låses brugerkontoen).

Artiklen antyder også, at adgangskoder skal være korte, så brugeren kan huske dem. Noget de fleste nok instinktivt og ud fra "sund fornuft" vil være enige i.

Yderligere siger artiklen, at kompleksitetskravet reducerer sandsynligheden for ordbogsangreb (dictionary attacks), men som de fleste ved, regnes selv "Password1" for en "kompleks" adgangskode. Den slags koder indgår i selv de mest banale ordbogsangreb, så logikken holder ikke rigtig. I praksis er et sådant krav altså af ringe betydning, idet brugerne kan vælge den lette vej og noget der er nemt at huske - hvilket vi mennesker oftest gør.

I bund og grund afspejler citatet nok meget godt den tilgang, som de fleste af os er trænet i og vænnet til. Desværre er den baseret på en forkert og efterhånden forældet tankegang om truslerne relateret til adgangskoder og tilhørende autentificeringsprotokoller, samt et manglende (eller misforstået) hensyn til det menneskelige aspekt ved IT-sikkerhed.

Der findes software-løsninger i form af f.eks. avancerede password-filtre m.v., som man kan tilkøbe for at undgå de svageste adgangskoder, men disse løser alligevel ikke de problemer, som jeg her vil påpege og adressere.

Min overordnede filosofi er i øvrigt, at sikkerhedsforbedringer hverken behøver at koste ekstra eller tilføje yderligere kompleksitet (herunder uvidelse af angrebsfladen). Ofte er det blot et spørgsmål om at forstå og udnytte eksisterende teknologi og systemer bedre - og i dette tilfælde også de mennesker, der arbejder med systemerne.

Svaghederne ved den klassiske tankegang

Der er nogle væsentlige svagheder ved den klassiske tankegang:

  • Brugerne føler, at de hele tiden, eller alt for ofte, skal skifte adgangskode og foretrækker derfor enkle koder (ordbogsord) og små løbende variationer (iteration, mønstre m.v.), hvilket reelt leder til forudsigelighed.

  • Ved krav om blot 8 karakterer vælger mange naturligt at tage udgangspunkt i et enkelt ordbogsord eller egennavn med stort begyndelsesbogstav (ofte virksomhedens navn) og tilføje et eller flere tal og/eller specialtegn. Igen: forudsigelighed.

  • Kravet om kompleksitet forsøger i en vis forstand at "tvinge" brugerne til at oprette underlige adgangskoder, der er svære at huske for almindelige mennesker, dog uden at der reelt - i praksis - tilføjes væsentlig styrke.

  • 8 karakterer kan faktisk bruteforces (offlline) indenfor rimelig tid med moderne og relativt billige computere (f.eks. børnenes SLI/Crossfire gamer-maskiner).

  • Der tilbydes ingen beskyttelse mod "password spraying"-metoden hvor alle brugerkonti i AD, undersøges for en almindeligt udbredt adgangskode, som f.eks. "Sommer2016", der gradvis stiger i popularitet pt.

Disse svagheder skal ses op imod de primære og nutidige trusler mod miljøets adgangskoder:

  • Malware der foretager keylogging og/eller stjæler adgangskoder (klartekst og/eller NT/LM hashes) fra hukommelse, applikationer (browsere), netværk m.v.

  • Adgangskoder er for svage og gættes nemt, f.eks. omtalte "password spraying"-metode mod LDAP/AD, Remote Desktop Protocol (RDP), Outlook Web Access (OWA) m.v. (online angreb).

  • Krypterede repræsentationer af adgangskoder stjæles fra netværket eller stjålne medier/enheder (f.eks. laptops) og crackes offline (offline angreb).

Jeg vil i dette blogindlæg fokusere på de to sidstnævnte trusler. Både fra et offensivt og et defensivt perspektiv.

Sådan stjæles krypterede repræsentationer af adgangskoder typisk

En angriber kan opsnappe kryptografiske repræsentationer af adgangskoder som de transmitteres over netværket. Dette udføres ofte ved hjælp af netværks-sniffing, Man-in-the-Middle angreb (f.eks. SMB-relaying), poisoning (DNS/mDNS) og/eller spoofing i en eller anden form, f.eks. ARP, LLMNR og Netbios (NBT-NS). Hacker-værktøjer som BetterCAP og Responder er således særdeles effektive på de fleste virksomhedsnetværk eller på trådløse netværk med tilsluttede Windows computere (ulovligt uden rette tilladelser).

Angriberen kan eksempelvis fysisk sidde på samme netværk som offeret, f.eks. på et trådløst netværk på en café eller kablet direkte i virksomhedens switche, eller angriberen kan have adgang via malware på computere i virksomheden. Angriberen kan eventuelt også være en ondsindet insider.

Hvis der er tale om et netværk med nyere Windows klienter/servere, vil angriberen oftest "kun" opsnappe NTLMv2 challenge/response trafik, hvilket regnes for at være en rimelig sikker autentificeringsprotokol. Hvis autentificeringsmekanismen er konfigureret forkert, oftest grundet forekomsten af ældre klienter/servere i miljøet, vil man kunne opsnappe NTLMv1, der må regnes for usikker (baseret på ældre DES kryptering). Dette er en af grundene til, at man ikke bør have XP, 2003 eller ældre Windows maskiner i drift længere.

I værste tilfælde, kan angriberen have kompromitteret selve AD brugerdatabasen, f.eks. fra et backup medie. For ADs vedkommende drejer det sig bl.a. om filen NTDS.dit (se indlægget Sådan piller en hacker Ntds.dit fra hinanden), som opbevarer adgangskoder i "LM hash" og/eller "NT hash" format, hvor det første format er baseret på en forældet og absolut usikker algoritme.

I sidstnævnte tilfælde kan angriberen vælge at nøjes med at udføre Pass-the-Hash angreb, eller Golden/Silver Ticket angreb for den sags skyld, men kryptografiske angreb mod adgangskoder kan tilføre angriberen yderligere værdi, bl.a. i forhold til at vedholde adgang til miljøet over længere tid. Klartekst adgangskoder virker f.eks. også via RDP og OWA, men ofte også til non-SSO systemer, eksterne systemer (f.eks. partnere og leverandører) m.v. Dertil kan man aflure brugernes anvendelse af mønstre (forudsigelighed) og med den slags viden, kan angriberen komme tilbage efter flere måneder.

Passion for Passwords

Jeg elsker adgangskoder og har de sidste 2 år lavet et betydeligt antal analyser af adgangskoder i AD miljøer på tværs af alle brancher, ved at cracke disse (efter tilladelse og betaling). Det undrer mig gang på gang hvor mange svage og forudsigelige adgangskoder, der er i spil.

Disse adgangskodeanalyser (password audits) viser således oftest en betydelig grad af genanvendelse af adgangskoder på tværs af brugerkonti i miljøet (selv mellem IT-medarbejderens almindelige og administrative konti, hvilket i praksis kortslutter sikkerhedsprincippet om at have forskellige konti) - tja, på tværs af miljøet, virksomheder og landegrænser.

Der skal ikke være mange brugere i et AD, før jeg tør vædde med de sikkerhedsansvarlige om, at adgangskoden "[årstid][årstal]" eksisterer for minimum én brugerkonto i miljøet, formentlig flere. Samme væddemål kan laves for "[måned][årstal]". Det er grunden til, at jeg udviklede og frigav Get-bADpasswords løsningen.

Erfaringen med cracking metoder og værktøjer har modsat givet indsigt i hvordan stærke adgangskoder kan bygges op.

Sådan crackes krypterede repræsentationer af adgangskoder typisk (offline)

Jeg kan ikke her gå alt for meget i detaljer med, hvordan man cracker adgangskoder, men basalt set anvendes en kombination af flere metoder, blandt andet:

  • Ordbogsangreb (wordlist/dictionary attack) og regelsæt, der varierer ud fra almindeligt anvendte mønstre, såsom tilføjelse af en række tal eller et udråbstegn til sidst, eller leetspeak erstatning m.v.

  • Bruteforce ved at afprøve samtlige kombinationer for 1-n karakterer indenfor rammerne af udvalgte karaktersæt, eksempelvis 1 til 8 karakterer bestående af store bogstaver, små bogstaver, tal og specialtegn.

  • Bruteforce ud fra typiske masker (mask attack) indenfor rammerne af udvalgte karaktersæt, eksempelvis er masken for "Sommer2016" = [ULLLLLDDDD] (1 Upper case fulgt af 5 Lower case og til sidst 4 Digits).

Angreb med ordbøger/ordlister (f.eks. Rockyou.txt) og regelsæt er enkle og hurtige. Typisk finder man en stor procentdel (over 60%) af adgangskoderne i en virksomhed vha. denne metode indenfor en times tid. Jo bedre ordlister og regelsæt man får samlet og opbygget, og jo mere man øver sig, desto hurtigere går det.

Nettet flyder med dumps af brugerdatabaser fra kompromitterede miljøer, se f.eks. Mark Burnett's liste her. En angriber vil ofte også lave målrettede ordlister, som f.eks. høster alle ord over f.eks. 5 karakterer fra virksomhedens hjemmeside, i håbet om, at brugerne eksempelvis anvender produktnavne eller lignende i deres adgangskoder.

Hvad angår bruteforce metoderne, så kan man ved hjælp af GPU-processorkraften i moderne grafikkort afprøve et ufattelig højt antal forskellige adgangskoder på meget kort tid, afhængigt af den anvendte algoritme.

En relativt billig maskine med 4 moderne grafikkort kan eksempelvis bruteforce-cracke NTLMv2 på blot 1 dag, hvis man blot forholder sig til adgangskoder med 8 karakterer i en kombination af store og små bogstaver, samt tal.

Er det blot NTLMv1, så går det omkring 8 gange hurtigere, og taler vi LM eller NT hashes, så går det voldsomt meget hurtigere.

Har man flere GPU'er eller et cluster af disse maskiner hvor processeringen distribueres, så falder cracking tiderne efterhånden som strømforbruget øges.

Maske-angreb på alle adgangskoder konstrueret som "Sommer2016" [ULLLLLDDDD] tager kun ca. 20 minutter at cracke (NTLMv2), herunder altså f.eks. også "Vinter2016". "Sommer16" [ULLLLLDD] tager til sammenligning kun omkring 13 sekunder.

Hvis man vil optimere bruteforce- og maske-angrebene yderligere, er der effektive metoder som frekvensanalyse (f.eks. hyppigst anvendte karakterer) og Markov chains.

Som det nok kan ses, så sikrer kravet om 8 karakterer og såkaldt "kompleksitet" altså IKKE, at de anvendte adgangskoder er stærke, i betydningen "svære at gætte eller bryde" for en angriber (indenfor en realistisk periode). Det er ellers en væsentlig del af pointen med adgangskoder.

En moderne og mere sikker tilgang til adgangskodepolitikker

Der er to aspekter ved adgangskodepolitikker, der er må regnes for omtrent lige vigtige:

  • Computer aspektet: Adgangskoder skal være svære at gætte og bryde.

  • Det menneskelige aspekt: Adgangskoder skal være nemme at huske og anvende (f.eks. smartphones og tablets).

Alt for ofte er der en tendens til at fokusere på computeraspektet.

Ideelle adgangskoder er meget lange, absolut tilfældige og potentielt bestående af et meget højt antal mulige karakterer (se henvisninger om entropi under "Relevante links" nedenfor), men kunsten er at finde en fornuftig balance i forhold til det menneskelige element.

Man glemmer ofte at tage højde for, hvad der er nemt at huske for den menneskelige hjerne. Vi er ikke computere, men tænkende og følende individer. Man bør således også ty til psykologien og forskning i hukommelse m.v. Resultater herfra viser, at vi faktisk kan mere, end mange tror, når det kommer til hukommelse, blot man griber det rigtigt an.

Jeg anbefaler derfor, som efterhånden mange andre der beskæftiger sig med området, at ændre adgangskodepolitikkerne markant, således, at man tager mere hensyn til det menneskelige aspekt og samtidig øger sikkerheden i forhold til nævnte aktuelle trusler.

Det gøres i praksis således:

  • Vi skal tillade, at man kan oprette adgangskoder, der udgøres af sætninger (eller andre sammensætninger af flere ord) i stedet. Dette gøres ved at sætte kravet til antallet af karakterer op til f.eks. mindst 20 eller 24.

  • Til gengæld frafalder vi kravet til "kompleksitet". Brugerne kan selvfølgelig vælge det til, hvis de selv vil, men den primære styrke ligger nu i længden af adgangskoden.

  • Yderligere forlanger vi ikke lige så hyppige adgangskodeskift som tidligere, men måske kun en gang hvert halve eller hele år, samt selvfølgelig ved mistanke om, at andre har opnået adgang til koden i en eller anden form, f.eks. ved keylogging, shoulder surfing, anvendelse fra usikre enheder/netværk m.v.

Overvindelse af brugernes hjerter og hjerner

Der er ingen tvivl om, at skiftet til meget længere adgangskoder kræver en mental overvindelse af både ledelse og brugere, men det er kun indtil de indser 1) svaghederne ved eksisterende tilgang, 2) hvor nemt det i praksis er at lave lange adgangskoder, samt 3) fordelene ved ikke at være tvunget af "umenneskelige" kompleksitetskrav og meget hyppige skift.

Forberedelse og uddannelse af brugerne er derfor nødvendigt, f.eks. som del af user-awareness kampagner om adgangskoder generelt.

Hvis man krydrer sådanne kampagner med resultater og statistik fra seneste adgangskodeanalyse, og eventuel udvikling, så får også brugerne indsigt i og forståelse for problemets omfang.

Her kan det ligeledes være en fordel at inkludere noget om basal mnemoteknik. Personligt var Derren Browns bog "Tricks Of The Mind" en åbenbaring for mig på det område, se f.eks. The Linking System of Memory Improvement. Jeg husker stadig eksempler fra bogen, selvom det er absolut ufrivilligt!

Essensen er, at man f.eks. kan lave tydelige "film" eller billeder i hovedet, som også XKCD's udødelige illustration om Password strength er inde på, og altså huske langt mere end de fleste lige er bevidste om - endda mod egen vilje.

Men det er ikke nødvendigvis disse tilgange, som brugerne skal opfordres til at anvende alene. XKCD illustrationen kan være én inspirationskilde ud af mange. Uddrag fra sangtekster, filmcitater, punchlines, ordsprog, rim/remser, idiomer, prosa/lyrik, "sætninger som ens bedstefar altid sagde", personlige statements, beskrivelser af følelser/oplevelser, reklame slogans og lignende, er også eksempler på gode kilder, som ideelt set anvendes i en kombination.

Man kan altid opfordre til, at brugerne tilsætter kreativ "padding" (tilføjelse af tegn først og/eller sidst), små-variationer, bevidste stavefejl, tegnsætning, tegn-erstatning, fontisk notation, indskydelser, undladelser, forkortelser m.v., men pointen er, at det ikke er strengt nødvendigt. Det er som sagt længden der er det vigtigste - og så kan man altså godt anvende mellemrum i adgangskoder til Windows nu om dage!

I forhold til vejledninger udsendt til brugerne, er det vigtigt deri at pointere, at de aldrig bør anvende de(t) nøjagtige eksempel(ler) der er givet i vejledningen, men finde frem til personlige variationer. Om muligt bør man helt undlade at komme med konkrete eksempler.

Tilsvarende er jeg generelt set heller ikke glad for at opfordre til anvendelse af et bestemt system eller metode (f.eks. "correct horse" eller "troubador") til at generere adgangskoder, fordi man risikerer, at det leder til en slags monokultur eller en dominerende metode i miljøet, hvilket svækker den effektive styrke af de adgangskoder brugerne anvender.

Jeg beskriver derfor normalt min personlige metode - ud over anvendelse af password managers hvor muligt - som "tilrettede passphrases" og lader resten være op til lytterens eller læserens fantasi.

Relaterede eksempler på dårlig praksis

Brugernes (ubevidste) valg af adgangskoder kan i øvrigt påvirkes på andre uheldige måder.

Hvis eksempelvis helpdesk opretter eller nulstiller brugerkonti med en standard adgangskode som ”Forår2016”, vil man lede brugeren i retningen af at fortsætte med de samme adgangskoder, f.eks. "Sommer2016", ”Efterår2016”, ”Vinter2016” osv. Man signalerer, at det er fint at anvende cykliske koder med f.eks. årstid, sæson, højtid, måned og årstal.

Det ses også på steder, hvor brugernes første adgangskode f.eks. er ”Velkommen123”. Her ændrer brugerne næste gang til f.eks. "Velkommen1234”, "Velkommen321" eller ”Velkommen234” etc. Samme gør sig gældende med f.eks. ”[firmanavn]1”, der bliver til ”[firmanavn]2” (fortløbende numre) osv.

Det bliver for nemt at gætte sig frem med blot en lille smule baggrundsviden eller lidt erfaring med at bryde adgangskoder. En sådan praksis bør derfor undgås.

Udleverede adgangskoder ved brugeroprettelse og -nulstilling bør ligeledes være unikke koder - og heller ingen mønstre, der blot varieres en smule.

På samme vis: hvis man (mod bedre vidende) giver et konkret eksempel på en adgangskodesætning, alla ”Dajlig ær den himmel blå” - damn, nu gjorde jeg det selv, oven i købet med bevidste stavefejl - der udgøres af 24 karakterer, som er nemme at huske for de fleste danskere. Hermed sætter man straks brugerne i gang med (ubevidst) at tænke på at anvendelse af (jule)sangtekster til næste kodeord. Det er med andre ord noget psykologi og pædagogik som er værd at tænke ind i ens user-awareness kommunikation.

Brugerne skal selvfølgelig også vide, at deres adgangskoder til virksomhedens netværk og systemer, herunder AD, bør være unikke og forskellige fra brugernes øvrige og ”private” adgangskoder. Deres adgangskoder bør ALTID være unikke for hver enkelt system og bør ALDRIG blive genbrugt.

Udgangspunktet skal også være, at det ikke skal skrives ned, men hvis de nu absolut vil have en huskeseddel med stikord eller diskrete hints til dem selv, så hellere en lap papir i deres pung (sammen med NemID kortet) end en Post-it på skærmen, i skrivebordsskuffen eller under tastaturet.

Et par typiske indvendinger

Lad mig lige adressere et par typiske indvendinger i opløbet.

Kan man ikke bare nøjes med at sætte kravet op til f.eks. 9 eller 10 karakterer?

Nej, for dels vil bruteforce- og maske-angreb fortsat være en mulighed, selvom det vil gå noget langsommere, men først og fremmest er formålet med kravet om lange adgangskoder (f.eks. 24 karakterer), at brugeren tvinges væk fra anvendelse af et eller sågar to ordbogsord og må tænke mere hen af sætningsstrukturer.

Kan angriberne ikke bare anvende lister med sætninger i stedet? Eller bruteforce med flere ord ad gangen?

Jo, der findes allerede metoder og værktøjer, men i praksis er det langsommeligt og bærer sjældent frugt. Det forhold kan selvfølgelig ændre sig over tid, men aktuelt er trusselsbilledet et andet. Har brugerne fået flair for bevidste stavefejl og lignende variationer, så står angriberen rigtig skidt grundet det høje antal kombinationer vedkommende så skal igennem.

Kan man ikke bare bruge en Password Manager af en art?

Jo, hvis virksomheden (sikkerheds)godkender en sådan praksis og det konkrete produkt, men det bør ikke være nødvendigt til adgangskoder, som man anvender på daglig basis. Gør man det rigtigt, er adgangskoden nem at huske for én selv.

Er det ikke besværligt at indtaste f.eks. 24 karakterer hver gang ens pauseskærm er aktiveret?

Min påstand er, at det er nemmere og hurtigere end som så, specielt når det "ligger i fingrene". Nu om dage er gennemsnitsbrugeren også rimelig ferm til at anvende computere.

Implementering i praksis

I AD er det desværre ikke muligt at definere et krav til minimumslængde på mere end 14 karakterer i den almindelige Group Policy Editor.

Utroligt nok har Microsoft valgt at sætte en øvre begrænsning, formentlig af hensyn til bagudkompatibilitet - en af sikkerhedens værste fjender.

Windows 10 Minimum Password Length

Løsningen er at ty til Fine-Grained Password Policies (FGPP) i stedet.

FGPP kom med Windows Server 2008 og burde allerede være anvendt i de fleste virksomheder til at sætte skrappere adgangskodepolitikker for bl.a. administratorer og service-konti i domænet.

Med FGPP kan man nemt oprette og prioritere individuelle adgangskodepolitikker for givne sikkerhedsgrupper (eller specifikke brugere) i AD, herunder selvfølgelig også "Domain Users".

Således er det altså muligt at definere f.eks. 20 som mindste antal karakterer for alle brugere. Den maksimale værdi er 255 karakterer, hvilket nok er lige i overkanten for de fleste (mennesker).

Som en lille kuriositet vil jeg lige tilføje, at AD Administrative Center (hvorfra FGPP oprettes) nævner 7 karakterer som "recommended default". Ikke sønderligt ambitiøst.

Reel og synlig effekt

De steder hvor ovenstående er implementeret for alle brugere i domænet og man er gået væk fra den klassiske adgangskodepolitik, kan effekten måles meget tydeligt.

Hvor indledende adgangskodeanalyser har afsløret skræmmende høje procentdele af svage adgangskoder, så viser efterfølgende adgangskodeanalyser meget klart, at efterhånden som alle brugere får skiftet deres adgangskode, er cracking tæt på umulig (dvs. alt for tidskrævende i praksis), både hvad angår bruteforce- og ordbogs-metoder.

Dermed er overliggeren hævet væsentligt for angribere, penetration testers, red teams m.v.

Et par afsluttende bemærkninger

For at begrænse dette indlægs omfang har jeg bevidst set bort fra eventuel anvendelse af multi-faktor autentificering, bl.a. fordi det alligevel er de færreste virksomheder, der har det implementeret i praksis (endnu) - og de som har, har det ofte kun i forbindelse med oprettelse af fjernforbindelse.

Yderligere er en given "faktor" kun relevant, hvis den har faktisk værdi som autentificeringsmekanisme - og det har adgangskoden "Password1" eksempelvis ikke efter min mening.

Jeg vil også afslutningsvis bemærke, at der i forhold til at komme væk fra anvendelse af adgangskoder som primær autentificeringsmekanisme i AD, er håb forude med f.eks. Windows Hello og lignende, men det gemmer jeg til et fremtidigt indlæg.

Den forestående mulighed for kvantecomputere og tilhørende omvæltning af nutidens kryptografi, og dermed autentificeringsprotokoller, må ligeledes vente til et fremtidigt indlæg.

I forhold til lange (og komplekse) adgangskoder, hører jeg sommetider indvendingen, at det giver kompatibilitetsproblemer med f.eks. legacy systemer, der anvender AD som LDAP kilde m.v.

Mit svar er som regel: afskaf, opgrader eller erstat det pågældende system hurtigst muligt. Dets begrænsninger skal hverken gå ud over brugerne eller sikkerheden.

Til sidst

Jeg er godt klar over, at det er et halv-betændt og politisk emne, hvor der traditionelt er mange hensyn, holdninger og følelser i spil, men jeg håber, at dette indlæg vil give anledning til eftertanke og en ekstra overvejelse om effekten (eller manglen på samme) af eksisterende adgangskodepolitikker.

I håbet om flere praktisk talt ubrydelige adgangskoder i verden.

/Jakob

Relevante links

Jakob H. Heidelbergs billede
CEO og Security Advisor hos Improsec ApS med mange års erfaring indenfor IT-sikkerhed og bl.a. en fortid som Cyber Security Architect hos Microsoft (World Wide Global Practice), Senior Security Consultant hos Microsoft (MCS Denmark), MVP indenfor Enterprise Security og Principal Security Advisor hos FortConsult (NCC Group). Han arbejder med, og blogger om, cybersikkerhed på relativt teknisk plan, med primært fokus på Microsoft-platformen og hvordan man beskytter denne bedst muligt mod aktuelle angrebsmetoder.

Kommentarer (16)

Christian Lysel

Først Tak for god og grundig artikel.

Prøv for sjov næste gang du laver en password analyse, at:

  1. Søg efter ordet "password" i kundens support ticket system

  2. Ring til kundens support og udgiv dig for at være en bruger der har glemt sit password. For at virke mere troværdig kan du evt låse det først.

Nikolaj Brinch Jørgensen

Meget god og altid relevant artikel. Og tak for grundigheden.
Et andet element er økonomi. Det er meget billigere, hvis folk kan huske deres adgangskoder, da de derved ikke belaster support.
Nogle af de virksomheder jeg besøger har meget lange og komplekse procedurer for "glemt password", som tager lang tid, og i den mellemliggende tid gør at man ikke kan arbejde. Det er helt slemt, hvis man har glemt sit password uden for "office hours".

Desuden er fornuftig SSO en yderligere forbedring, så man undgår at skulle særskilt logge ind i alle mulige systemer, med forskellige brugekonti.

Gert Madsen

Der findes andre sprog end dansk.
Der findes andet OS end Windows.

Kan man ikke få en tastatur-driver, som tilfældigt skifter lay-out ?
Den kan man så lægge på PC'en hos diverse sikkerhedsansvarlige, som sætter krav om specialtegn.

Held og lykke med at finde "å" på et fransk tastatur.

Ivan Skytte Jørgensen

Bloggen skøjter let og elefant henover den problemet med periodiske påtvunge passwordskift. Periodisk udskiftning skal beskytte mod, tja, hvad? At nogen aflurer passwordet med øjne eller keylogger. Nå. Der hvor filmen knækker, er antagelsen at den person så pænt venter 3 måneder med at udnytte det. Den antagelse mener jeg ikke holder.

Så snart passwordet er opsnappet,så må man forvente at det bliver udnyttet indenfor et par dage, og patientjournalerne er lækket, bankkontoen tømt, forretningsstrategien sendt til konkurrenterne, og hjemmesiden ændret til en Bieber fan-side. Med et påtvunget skift hver 30. dag så vil en angriber have gennemsnitlig 15 dage at udnytte det i.

For den paranoide er den eneste logiske løsning på dette at kræve passwords udskiftet hver dag. Eller sågar hver gang man logger ind. Og det gælder alle brugere!

Den mere realistiske ville overveje:
- ingen periodisk tvungne skift
- midlertidigt unikt password når man er ude i byen / i untrusted miljøer.
Så er der en chance for at brugere vil vælge fornuftige passwords og holde dem sikre. Den eneste ulempe er, at den sikkerhedsansvarlige vil blive ked af det, fordi han ikke længere kan brugere til at danse efter hans pibe og skifte password hver 30.dag.

Der er selvfølgelig andre fornuftige ting man bør overveje i delområder: brugerrettigheder begrænset til det der er behov for, uddannelse af brugere, fysisk sikkerhed, two-factor authentication, ...

Jakob H. Heidelberg Blogger

Bloggen skøjter let og elefant henover den problemet med periodiske påtvunge passwordskift. Periodisk udskiftning skal beskytte mod, tja, hvad? At nogen aflurer passwordet med øjne eller keylogger. Nå. Der hvor filmen knækker, er antagelsen at den person så pænt venter 3 måneder med at udnytte det. Den antagelse mener jeg ikke holder.

Emnet behandles faktisk, men dit argument holder ikke. Ved begge nævnte angrebsvektorer, vil angriberen have adgang fra dag 1 og X dage frem. Data er kompromitterede og der er andre forsvarsmekanismer som må træde til, f.eks. logning af anomaliteter i miljø, dataadgange og logins.

Dertil er periodisk passwordskifte ikke til for at eliminere det, du antager, nemlig shouldersurfing og keyloggere. Derimod er kravet til og skal måles op imod aktuelle cracking-hastigheder, såfremt krypterede repræsentationer kompromitteres.

Finn Thøgersen

Den reele begrundelse for kravet om regelmæssig skift af password er en helt anden.

Store organisationer er notorisk uduelige til at rydde op i brugerrettigheder mv.
Fratrådte medarbejdere bliver ikke altid slettet/lukket ned, tilsvarende når medarbejdere skifter afdeling/arbejdsområde, midlertidige of externe brugere er et kaos level helt for sig selv osv.

Senest demonstreret hos Region Hovedstaden:

http://www.version2.dk/artikel/region-h-afviser-tilfaeldig-adgang-til-br...

Regelmæssigt skift kombineret med krav om at skiftet skal ske "lokalt" begrænser ulykken.

Der er også masser af eksempler på at opsagte medarbejdere stadig får løn lang tid efter osv

Det kan nok bedst beskrives som "Too Big Not to Fail"

Ivan Skytte Jørgensen

Emnet behandles faktisk, men dit argument holder ikke. Ved begge nævnte angrebsvektorer, vil angriberen have adgang fra dag 1 og X dage frem. Data er kompromitterede og der er andre forsvarsmekanismer som må træde til, f.eks. logning af anomaliteter i miljø, dataadgange og logins.


Jeg mener ikke at det var klart i bloggen at passwordskift var behandlet, men lad det ligge. Jeg er helt enig i at periodiske passwordskift i praksis ikke begrænser skaden når den er sket. Der skal der bruges helt andre mekanismer.

Dertil er periodisk passwordskifte ikke til for at eliminere det, du antager, nemlig shouldersurfing og keyloggere. Derimod er kravet til og skal måles op imod aktuelle cracking-hastigheder, såfremt krypterede repræsentationer kompromitteres.


Det er desværre shouldersurfing og keyloggere som citeres af øhm.. mindre kompetente sikkerhedsansvarlige. Den fantasi bør vi i fællesskab få manet i jorden. De fokuserer muligvis på det forkerte fordi kompromitterede databaser er utænkelige for dem - det er jo deres ansvar at det ikke sker.

Det, som jeg savner, er et mere modigt og fornuftigt skridt: beløn brugere for gode passwords med længere levetid. F.eks. "Du har valgt passwordet '43HalfGiraffes', som med offline brute-force vil tage circa 40 århundreder at finde, så levetiden er sat til 1% af det, dvs. 40 år. Tak for at vælge et godt password og hav en god dag."

Jakob H. Heidelberg Blogger

Der findes andre sprog end dansk.
Der findes andet OS end Windows.

Kan man ikke få en tastatur-driver, som tilfældigt skifter lay-out ?
Den kan man så lægge på PC'en hos diverse sikkerhedsansvarlige, som sætter krav om specialtegn.

Held og lykke med at finde "å" på et fransk tastatur.

Jeg var ikke klar over, at der findes andre sprog end dansk. Nyt for mig, tak!

Mht. andre operativsystemer end Windows, så har jeg da hørt om OS/2, men er det ikke dødt?

Resten har jeg simpelthen ikke noget svar til :)

Jakob H. Heidelberg Blogger
Jakob H. Heidelberg Blogger

De fokuserer muligvis på det forkerte fordi kompromitterede databaser er utænkelige for dem - det er jo deres ansvar at det ikke sker.

Enig. Bare lige en præcisering - det gælder f.eks. også såfremt omtalte NTLM trafik har været sniffet eller en forsvunden laptop, som brugeren har været logget på engang (Cached Credentials) og lignende, så det behøver ikke være selve databasen.

Jakob H. Heidelberg Blogger

Den reele begrundelse for kravet om regelmæssig skift af password er en helt anden.

Store organisationer er notorisk uduelige til at rydde op i brugerrettigheder mv.
Fratrådte medarbejdere bliver ikke altid slettet/lukket ned, tilsvarende når medarbejdere skifter afdeling/arbejdsområde, midlertidige of externe brugere er et kaos level helt for sig selv osv.

Jeg kan desværre ikke se hvordan det argument har hold i teknikken. Hvis en AD brugerkonto har en adgangskode, der er udløbet (expired), så promptes brugeren for at skifte adgangskode næste gang vedkommende logger på - med den gamle adgangskode - uanset hvor længe der er gået. Så der er ikke tale om en smart genvej til oprydning i AD. Det findes der mange andre muligheder for.

Brian Schmidt Pedersen

Hvis tastaturet skifter layout helt tilfældigt, så vil brugerne jo konstant blive låst ude, for sandsynligheden for at de vil kunne indtaste den samme adgangskode to gange i streg bliver nærmest umulig.
Forsøg 1: P@sswØrd1
Forsøg 2: P2ssw:rd1
Forsøg 3: P"sswÆrd1
osv...

Gert Madsen

Lige nøjagtigt, Brian.

Og de fleste gange, hvor jeg har set en bærbar omdannet til en dørstopper, er der tale om at man har mistet tastaturopsætningen, og ikke kan finde sine specialtegn.
Et seriøst argument for konklusionen i overskriften.

Oftest er den sikkerhedsansvarlige på herlig afstand af den slags praktiske problemer. Derfor et forslag til lidt aktiv anskuelighedsundervisning.

Tilsvarende, når man arbejder i internationale virksomheder, som måske oven i købet har applikationer på ikke-Microsoft platforme, men alligevel har brugerhåndtering i AD. Her kan man virkeligt få sine udfordringer med specialtegn.
At argumentere for at afskaffe disse systemer, mener jeg ikke er seriøst.
Drop i stedet specialtegn i passwords, og gør dem længere.

Log ind eller opret en konto for at skrive kommentarer