Sådan bliver dit password knækket på rekordtid

Hackere har fået masser af maskinkraft og gode værktøjer til at knække et password. Sikkerheden har aldrig været dårligere, siger eksperter.

Passwords er eneste barriere mellem hackere og en masse af dine personlige oplysninger - med mindre du bruger mere avancerede systemer, for eksempel to-faktor-login.

Men man kan efterhånden ikke stole på, at et password kan beskytte dine data mod adgang, hvis du hører til den store gruppe af mennesker, som tænker at for eksempel syv karakterer i et password må være alt rigeligt. Det skriver Ars Technica i en grundig artikel om den skræmmende udvikling inden for password-hacking.

Hvis en hacker får fingrene i den 'hashede' liste over passwords til en tjeneste, går der ikke mange timer, før størstedelen af dem er knækket. Hashing er at oversætte passwords til en lang hash-værdi af tal og bogstaver, som ikke umiddelbart kan oversættes tilbage til passwordet. I første omgang prøver hackerne med et såkaldt ordbogs-angreb, eller dictionary attack, hvor de mest anvendte passwords bliver afprøvet mod samlingen af hash-værdier.

På grund af en stribe vellykkede hackerangreb de seneste år har de it-kriminelle adgang til lister over millioner af autentiske passwords. Udover passwords på listen, der hurtigt kan blive afprøvet, har den stadigt tykkere ’ordbog’ over passwords givet hackerne en god forståelse for, hvordan et password typisk bliver konstrueret.

Et stort bogstav i starten af passwordet og et tal efterfølgende er helt klassisk, men også mønstre som at gentage et ord baglæns, for eksempel Version22niosrev, er kodet ind i hackernes algoritme, når et intelligent brute-force-angreb på et krypteret password sættes i gang.

Den anden store hjælp for hackerne i dag, sammenlignet med bare få år siden, er den maskinkraft, der nu er til rådighed med et kraftigt grafikkort. Et Radeon HD7970-kort til 3.500 kroner kan afprøve 8,2 milliarder forskellige muligheder i sekundet.

Men antallet af nødvendige beregninger med ren brute-force, altså at afprøve alle tænkelige kombinationer fra en ende af, stiger eksponentielt, så vælger man et tilfældigt password på mindst ni karakterer, skulle man være på den sikre side, lyder rådet fra eksperterne. Selv med hele Amazons EC2-sky i ryggen ville det tage for lang tid at knække.

Problemet er desværre bare ikke kun hos brugerne, der vælger et alt for forudsigeligt password, eller et som ligger i hackernes lange lister over brugte passwords. Alt for mange firmaer, der driver en tjeneste på nettet, sløser med sikkerheden. For eksempel ved ikke at bruge ’salts’, som populært sagt er en ekstra, tilfældig stump tal og bogstaver, som bliver kastet med ind i krypteringsalgoritmen og gør hver eneste oversættelse af et password til en hash-værdi unik. Dermed kan hackerne ikke på samme måde bruge automatiske hjælpemidler som rainbow-tabeller, der hjælper med langt hurtigere at gennemskue sammenhængen mellem passwords og de tilhørende hash-værdier.

Uden salting eller med en for usikker krypteringsalgoritme har hackerne nærmest frit spil, når de får adgang til de krypterede passwords, lyder vurderingen.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (17)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Casper Thomsen

Hvis en hacker får fingrene i den kraftigt krypterede liste over passwords til en tjeneste, går der ikke mange timer, før størstedelen af dem er knækket.

For det første er de forhåbentlig ikke krypterede, men hashede. Og, hvis de er "kraftigt hashede", er de forhåbentlig både saltede og hashet med en "kraftig" hashing-algoritme (se PBKDF2 og bcrypt eller i det mindste SHA-256/SHA-512). Hvis de er individuelt saltede, så går der mere end et par timer før størstedelen er knækket (med mindre der er tilpas få).

Et Radeon HD7970-kort til 3.500 kroner kan afprøve 8,2 milliarder forskellige muligheder i sekundet.

Så vi taler MD5 (og du henviser til følgende kilde) gætter jeg?

(...) vælger man et tilfældigt password på mindst ni karakterer, skulle man være på den sikre side, lyder rådet fra eksperterne.

Hvilke eksperter har sagt det uden at sige noget om at 'robinhood' (som er 9 tegn langt) og tilsvarende er dårlige kodeord?

For eksempel ved ikke at bruge ’salts’, som populært sagt er et ekstra, tilfældigt password, som bliver kastet med ind i krypteringsalgoritmen og gør det sværere at gennemskue.

Gør hvad sværere at gennemskue? Salten er som udgangspunkt tilgængelig, hvis man har hashen af kodeordet. Det gør rainbow tables og brute-forcing til håbløse teknikker til at knække en stor bunke kodeord i samme omgang.

Uden salting eller med en for usikker krypteringsalgoritme har hackerne nærmest frit spil, når de får adgang til de krypterede passwords, lyder vurderingen.

Saltning er særligt vigtig, når man har mere end ét kodeord samlet på samme sted. (Så i praksis er saltning altid vigtigt.) Men hvis jeg skulle være ude efter lige netop dit kodeord og jeg får fat i hashen (og salten), så er det ligegyldigt om hashen er saltet eller ej; sikkerheden afhænger i stedet af hvor godt dit kodeord er og hvor "kraftig" en hashing-algoritme der er brugt.

  • 8
  • 0
Casper Thomsen

Ingen passwordstyrke-tjekker kan vide hvilken hashing-algoritme en vilkårlig login-service benytter sig af, endsige om der bruges saltede hashes.

Desforuden, hvis du har indtastet dit kodeord i en passwordstyrke-tjekker, så kender dem som har lavet passwordstyrke-tjekkeren dit kodeord. Stoler du på at de ikke gemmer det og bruger det mod dig?

Hvis du vil vælge gode kodeord som er nogenlunde til at huske, så kig eksempelvis på diceware.

  • 4
  • 0
Jesper Kildebogaard

Hej Casper,

Tak for dine uddybninger. Artiklen er et forsøg på - i kort form - at forklare problemstillingen, i et sprog, som også en it-person uden kendskab til password-beskyttelse kan forstå. Jeg beklager, hvis det blev for luftigt for sådan nogle som dig - og jeg har præciseret forklaringen om salts.

I forhold til om ni karakterer er godt nok, står der i teksten 'ni tilfældige karakterer' - altså tilfældigt udvalgt, ikke et ni bogstaver langt ord eller kendt navn, som ganske rigtigt vil være hurtigt for en hacker at ramme.

vh.

Jesper, Version2

  • 3
  • 0
Carsten Hahn

Jeg håber da, at de sites hvor jeg bruger passwords sørger for at gentagne forsøg med forkert password medfører at kontoen låses, således at de aldrig når frem til det punkt hvor mit password bliver gættet.

  • 1
  • 1
Casper Thomsen

Artiklen er et forsøg på - i kort form - at forklare problemstillingen, i et sprog, som også en it-person uden kendskab til password-beskyttelse kan forstå.

Man kan overveje om "kan afprøve 8,2 milliarder forskellige muligheder i sekundet" giver mere mening for en it-person uden kendskab til password-beskyttelse end "PBKDF2 og bcrypt eller i det mindste SHA-256/SHA-512". Førstnævnte giver ingen mening fordi det er uden kontekst. (Ville "8,2 millioner" lyde farligt nok?) Sidstnævnte giver ingen mening fordi det er teknisk.

I forhold til om ni karakterer er godt nok, står der i teksten 'ni tilfældige karakterer' - altså tilfældigt udvalgt, ikke et ni bogstaver langt ord eller kendt navn, som ganske rigtigt vil være hurtigt for en hacker at ramme.

Det læste jeg forbi. Jeg beklager.

  • 3
  • 0
Casper Thomsen

Problemet er når hackere hiver en liste med "krypterede" (hashede) kodeord ud. Så kan de flytte listen til eksempelvis Amazons beregningssky og lave forsøg på at gætte kodeordene hurtigt nok til at det er problematisk (hvis webservicen sjusker med kodeordhygiejnen).

Løsningerne er flerfoldige. Webservices bør bl.a. bruge en langsom hashing-algoritme, så det tager længere tid at gætte passwords. (Det kan sagtens gøres så angrebet tager adskillige af år at udføre.) Du bør som bruger vælge et kodeord som hackerne skal bruge mange forsøg på at gætte. Tilføj tricks som 2-faktor-login -- så laver hackerne formentlig indbrud hos "naboen" i stedet.

  • 2
  • 0
Michael Thomsen

Problemet er sådan set ikke, at kodeordene ikke er kryptiske eller lange nok. Problemet er, at alt for mange webservere er konfigureret forkert. For det første bruger de ikke salt, og for det andet bruger de hashing algorithmer, som er alt for hurtige, fordi disse gængse algorithmer ikke er designet til det formål de bruges.

PHK har skrevet en udmærket artikel om emnet, som kan ses her: http://queue.acm.org/detail.cfm?id=2254400

  • 1
  • 1
Jørgen L. Sørensen

Det må også gøre det nemmere for skumle personer, at nogle sites stadig gemmer selve kodeordet - de kan i hvert fald sende mig det ægte kodeord i klart sprog i en mail hvis jeg siger jeg har glemt kodeordet. Jeg har lige tjekket 2 sites som jeg havde på fornemmelsen :-/

Hvis skumle personer får adgang til disse firmaers filer med kodeord, og de er i klart sprog, har de skumle personer en god samling kodeord som de kan føje til listen over kodeord.

Jeg ser ingen grund til at nævne firmaerne her, så de bliver tydelige mål for skumle personer, men det er forholdsvis kendte firmaer som mange personer er i kontakt med.

  • 1
  • 0
Troels Henriksen

Det mest absurde er at mange systemer har begrænsninger på hvilke tegn der er gyldige i et løsen. Den eneste grænse burde være tekniske begrænsninger omkring overførslen. Hvis jeg vil have et løsen på fem hundrede tegn, hvorfor må jeg så ikke? Det er præcist lige så nemt at hashe som et på fjorten. Da jeg forleden skiftede mit løsen på Paypal opdagede jeg at de også har en eller anden absurd grænse (jeg tror den er lidt over tyve tegn), til trods for at den suverænt mest praktiske måde at få et sikkert løsen på, er ved at bruge en længere remse eller sætning.

  • 1
  • 0
Henrik Schmidt

Da jeg forleden skiftede mit løsen på Paypal opdagede jeg at de også har en eller anden absurd grænse (jeg tror den er lidt over tyve tegn), til trods for at den suverænt mest praktiske måde at få et sikkert løsen på, er ved at bruge en længere remse eller sætning.

Grænsen er tyve tegn. Desuden skal der forekomme store og små bogstaver samt tal for at passwordet bliver godkendt. Udover det må der ikke indgå mellemrum, og danske tegn er heller ikke tilladt.

Paypal er i særklasse, når det handler om at tvinge brugeren til at vælge passwords, der er svære at huske, uden i øvrigt at være mere sikre (oftest mindre).

  • 0
  • 0
Log ind eller Opret konto for at kommentere