It-säkerhet enligt HPS

Stefan Pettersson på High Performance Systems skriver om säkerhet på svenska

Kategori: Uncategorized

Sista inlägget från mig

Den 15 september 2009 startades det som idag är It-säkerhet enligt HPS. Någon vecka senare lade jag upp mitt första inlägg om en kille som blivit lurad att köpa ett gäng fejkade skinnjackor vid en bensinmack. Tanken var att framhäva de lite mer säkerhetsrelaterade aspekterna autentisering och social engineering i historien.

Sedan dess har det gått snabbt med en bit över 200 blogginlägg av synnerligen varierad art trots att it-säkerhet är ett relativt smalt ämne.

Det här blir dock mitt sista inlägg på It-säkerhet enligt HPS som i fortsättningen kommer att förvaltas av min kollega Per-Åke Lindberg. Jag hoppas att Pelle kommer att ta bloggen vidare utan att ta allt för stor hänsyn till hur jag har drivit den. Jag ser verkligen fram emot att följa utvecklingen. Jag gissar att ni kan räkna med en del förändringar.

Varför då?, kanske ni undrar. Jo, jag har varit HPS:are i nästan fem år nu och har bestämt mig för att gå vidare. I jakt på ökad, personlig utvecklingstakt kommer jag tillsammans med några partners att starta eget. För mig innebär det här på sikt en viss glidning från it-säkerhetsfältet mot andra ämnen vilket jag ser fram emot.

Givetvis var det här inte ett lätt beslut. Just nu är High Performance Systems ett av de mest lovande konsultbolagen i sin klass i Stockholm. Jag har dock fått en sällsynt bra chans att prova företagande på egen hand, något som har funnits med på att göra-listan länge. Nu är det bara att köra hårt som man säger.

Vi får se hur lång tStefanid det tar innan jag drar igång en ny blogg. Bloggandet har trots allt blivit lite av en säkerhetsventil för mig. När det sker får jag hoppas att Pelle är hygglig och länkar den.

Tack för uppmärksamheten under åren, det har varit oerhört lärorikt att tvinga sig själv att formulera sig regelbundet. På återseende!

(Nyare läsare kanske inte vet, och skiter förhoppningsvis i, hur jag ser ut. Jag ser i alla fall ut ungefär så här fast några år äldre. Vanligtvis använder jag den ganska illa omtyckta s k ”pussbilden” men här är en som är något mer normal.)

Begrepp och uttryck

När man skriver regelbundet inom ett och samma ämne under en längre tid på det här viset så är det oundvikligt att hitta på olika varianter av nya begrepp och uttryck. Här är några av de som jag har försökt ”lansera” under åren:

  • drift är osexigt
  • knarkarkvart
  • säkerhet är inte en materialsport
  • gratiskrav
  • penicillin
  • generella åtgärder mot specifika sårbarheter
  • ordning och reda
  • gör säkerhetsbrister mindre meningsfulla
  • säkerhet kräver disciplin
  • skydda vad mot vad
  • fuskbyggen

Inläggsnostalgi

Tanken var här att ge en liten exposé över blogginlägg genom åren men det verkar som att jag underskattade hur många två hundra inlägg faktiskt är.  Här är i alla fall, på enklaste sätt, ett gäng äldre inlägg från 2009-2011 som jag (fortfarande) är särskilt nöjd med:

Annonser

Angående lösenordsbyten

(Det slog mig att det här inlägget låg och jäste i utkorgen, glömde att publicera det. Så without further ado…)

Tydligen var det lösenordsbytardagen häromdagen, den 20 januari. Det verkar vara något som PC för Alla, en datortidning, har dragit igång. Jag nämnde lösenordsbyten förut i samband med en diskussion om best practice.

Jag har fått kritik för det där så när det har varit lösenordsbytardagen och allt kan det vara på sin plats med en utveckling. Det finns ingen riktig slutpoäng i det här inlägget utan jag försöker väl mest förklara hur jag ser på det.

Från förra inlägget:

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.

Jag var rätt tydlig med att jag i regel inte tycker att det är värt besväret.

Notera dock att min syn på det hela i första hand inte är som användare av systemet utan främst som designer av eller ansvarig för systemet. Det finns flera skillnader:

  • Som användare är man intresserad av att skydda sig själv.
  • Som ansvarig är man intresserad av att skydda systemet och dess användare.
  • Som användare litar man inte nödvändigtvis på den ansvarige.
  • Som ansvarig litar man absolut inte på användaren.

I användarperspektivet, som PC för Alla har, vill man som sagt skydda sig själv; anta att vi pratar om vardagliga webbaserade tjänster: webbmail, sociala nätverk, gratismedlemssidor o dyl. Det enda du kan använda för att påverka säkerheten som användare är ditt lösenord:

  1. Du kan välja ett starkt lösenord.
  2. Du kan byta lösenord regelbundet.

Det är ju en ganska mager verktygslåda när man tänker efter…

Ett starkt lösenord hindrar angripare från att gissa lösenordet vid inloggning (s k online-attack). Ett ännu starkare lösenord hindrar angripare från att gissa lösenordet med tillgång till lösenordshashen (s k offline-attack). Ett ännu starkare lösenord hjälper dock inte alls om systemet inte hashar lösenorden. (En anledning till att inte nödvändigtvis lita på den ansvarige.) Lösenordsbyten skulle dock förmildra omständigheterna genom att, som sagt, begränsa tiden angriparen har tillgång.

Som designer och ansvarig har du en enorm verktygslåda. Bland annat kan du tvinga användarna att välja bra lösenord (eftersom du inte litar på dem) och använda en rejäl hash så att lösenordsknäckningen blir en mardröm för aspirerande angripare. Det var mina förslag på alternativ till lösenordsbyten.

Alltså, ironiskt nog, användaren som tycker att lösenordsbyten är fördjävliga har anledning att göra det medan den ansvarige, som inte behöver lida direkt av det, kan egentligen ägna sig åt bättre saker.

Det finns en lös tråd här, användare som slarvar bort sitt lösenord då? Skriver det på en lapp och lämnar den någonstans eller något annat som den ansvarige inte kan göra något åt? Tja… jag ställer mig frågan om det är tillräckligt vanligt för att det ska vara värt att tvinga alla användare att byta lösenord om och om igen.

Oavsett vad jag säger, när det kommer till kritan, handlar det om vad du skyddar mot vad. Jag hävdar dock att lösenordsbyten inte ska vara en huvudåtgärd, det finns annat som är effektivare.

Fundera t ex över följande tre fall, hur skulle du motivera användandet?

Case #1: Fjortiskommunen.se, tiotusentals användare som lagrar foton o s v på system anslutet till webben (tänk bilddagboken).

Case #2: Robert’s Asset Management, ett hundratal användare lagrar känslig information om kunder och affärer (tänk Windowsdomän).

Case #3: Freedom Fighters DB, tiotal företrädare i motståndsrörelse har en databas (tänk CRM) över sina infiltratörer och agenter hos motståndaren (tänk Mossad).

En tumregel kunde vara ju fler användare desto större anledning att byta lösenord regelbundet. Samtidigt, ju fler användare och ju oftare lösenord byts, desto oftare görs det i onödan. Det är lättare att diskutera sådana här saker i ett sammanhang än generellt (som jag då gjorde).


Stefan Pettersson

Vad är egentligen best practice?

Det är lätt att slänga sig med begreppet best practice. Vi konsulter, misstänker jag, gör det i synnerhet. Kanske borde vi i själva verket tala om good practice, okay practice eller t o m not bad practice istället.

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:

  1. Varför tror jag det?
  2. Hur skulle jag få reda på att jag har fel?

Läs essän i sin helhet, den hänvisar till källor som förtjänar tid.

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

Förtroende säkerhet Facebook?

Aftonbladet har just nu en omröstning i samband med en misstänkt bugg som sprider skräck. Frågan som ställs är ”Vågar du skicka privata meddelande på Facebook?” (sic). Efter fyra och en halv timmes röstande var tre fjärdedelar av de nästan sju tusen röstberättigade rörande överens om att svaret var nej, absolut inte.

Det behöver väl knappast tilläggas att det inte är ett särskilt bra underlag… Aftonbladetläsare som precis har fått reda på att en ”allvarlig bugg sprider skräck”, att det ”kan innebära skilsmässor”, att det är ”fruktansvärt” och är ”en otrolig förtroendekris för Facebook” kan inte förväntas ge sin uppriktiga bedömning.

Likväl. Om 75 % fullständigt saknar förtroende för Facebook; ett företag som aktivt försöker förbättra sin säkerhet och är öppen med det och har åtta annonser ute efter säkerhetsfolk, då blir man mörkrädd över vad förtroendet är för godtycklig tidning, myndighet, bank eller företag… som i regel inte är i närheten.

Uppdatering @ 2012-01-11: Omröstningen har planat ut nu (16 000 röstande) men fördelningen är densamma. Vi saknar fullständigt förtroende för ett företag som har ett långt större engagemang för säkerhet än den stora majoriteten företag vi vanligtvis kommer i kontakt med.


Stefan Pettersson

Populärsäkerhet i London

Gott nytt år och god fortsättning. Hoppas att nyårsfirandet inte resulterade i förlorade ögonbryn (eller värre) på grund av felkonstruerade fyrverkerier. Förhoppningsvis så tillämpar de flesta defense in depth och ser till att inte hålla nunan ovanför pjäsen trots säkerhetsfunktionen med fördröjd avfyrning (stubintråd)…

Själv var jag i London under helgen för firande, kunde dock inte låta bli att lägga märke till lite vardags- eller ”populärsäkerhet” som jag gillar att kalla det.

POPULÄRSÄKERHET pop⁴ ω lä⁴r ~sä ³ker ~he ²t, sbst., r. l. f.; best. -en, (sälls.) pl. -er

1) säkerhetsfunktioner l. -detaljer l. -rutiner o. dyl. som finns i människors vardag; sällan anmärkningsvärda, uppfattas ofta inte alls; äv. vardagssäkerhet; t. ex. endast vänsterskor i skobutik, vinflaska öppnas framför gäst på restaurang. jfr. SÄKER, SÄKERHET, POPULÄRVETENSKAP m. fl.

Under en promenad på nyårsafton runtomkring Trafalgar Square där många samlas för att se fyrverkerierna vid London Eye (pariserhjulet) såg vi skyltar på olika stolpar. Här på ett rödlyse t ex, ”beware anti-climb paint”:

Jag har ju ingen personlig erfarenhet av det här men tydligen är det svårt att se fyrverkerier från torg om man är kort. Detta kombinerat med ett gäng öl gör att folk klättrar upp i stolpar, ramlar ner och gör sig illa. Hur ska du hindra dem? Ett alternativ är förstås att hyra in ”stolpvakter” som försöker stoppa folk från stolpklätteri, ett annat är att plocka ner stolparna. Båda låter både dyra och omständliga. (Vid närmare eftertanke vore det dessutom en ganska dum idé att plocka ner rödlysen…) Ytterligare ett alternativ är att linda in dem med taggtråd, förmodligen kommer de dock att klippas av med en enklare avbitartång, dessutom kan folk göra sig mer illa.

London har tydligen valt att måla stolpen från två meters höjd och uppåt med någon tjärliknande färg som smetar av sig när man rör vid den. Kanske är den vattenlöslig också så att problemet löser sig (no pun intended) själv efter några dagars regn.

Det här fick jag aldrig en bild på men på tal om stolpar; lyktstolpar, elskåp och andra släta ytor i vissa kvarter var täckta vad som såg ut som svart spackel. Ytan var som väldigt grov och hård strukturtapet. Här var anledningen knappast att avskräcka aspirerande fasadklättrare, ytan gav snarare bättre grepp. Efter ett tag slog det mig att det måste vara för att slippa en stadsmiljö täckt med politiska klistermärken. Ni vet vilka jag menar, de ”väderbeständiga” med ”permanent klister”…

Ett annat exempel kommer från de finare kvarteren,  en av Rolexbutikerna har inga klockor framme när det är stängt. På så vis kan man ha stora, fina fönster trots värdet på klockorna. Två saker att notera dock: (1) detta skvallrar om att det är äkta klockor som ligger i fönstrena och (2) istället kan rånrisken öka

Givetvis stoltserar London också med den lite mera konventionella varianten av säkerhet. Utsikten nedan gör förstås att man känner sig väldigt välkommen till slottsträdgården bakom Buckingham Palace. London har verkligen sinnesjukt många kameror ute på gatorna.

Men, om inget annat fungerar kan man ju alltid tillämpa ekonomiska styrmedel. Det är tydligt att London verkligen inte vill att man matar duvorna, överträdelse beivras och ger £500 i böter (vilket är tjugo gånger högre än vad det kostar att åka dit för plankning i samma stad).

Får jag passa på att påminna om bloggens nya RSS-feed? Den gamla plockas snart ner så se till att uppdatera eventuell RSS-läsare.



Stefan Pettersson

Trivial mognadsmodell för säkerhetsarbete

Det finns ett svar på den uråldriga frågan:

Hur kan vi jämföra vår egen säkerhetsnivå med våra konkurrenters utan att (1) kunna särskilt mycket om säkerhet generellt eller (2) ha detaljkunskaper om varken vårt eget eller deras säkerhetsarbete?

Jo, varje organisation som utför någon form av säkerhetsarbete faller i en av följande tre kategorier. Organisationen

  1. försöker förhindra intrång och incidenter,
  2. förbereder sig på intrång och incidenter, eller
  3. försöker upptäcka intrång och incidenter.

Naturligtvis implicerar andra och tredje kategorin de föregående.

Det är egentligen en stretch att kalla det här för en mognadsmodell… men sen sade jag ju också att den var trivial. Vi ignorerar förstås här faktumet att man kan vara olika bra inom respektive kategori. Det är inte det viktiga, det viktiga är att framhäva att det finns tre, grundläggande utvecklingsstadier.

Majoriteten, man kan nog säga ”nästan alla” utan att skämmas, sitter och häckar i första kategorin. Synnerligen få befinner sig i den tredje, det rör sig nästan uteslutande om storbanker, militära organisationer och gigantiska företag (i Sverige Ericsson, Ikea, H&M och motsvarande).

I en värld av (det vi tydligen har kommit överens om att kalla) APT, d v s någon som har bestämt sig för att göra intrång hos just dig och inte tänker sluta försöka förrän det lyckas, blir kategori två och tre viktiga. Prevention eventually fails, som Richard Bejtlich säger.

…fast sannolikheten att du har en alldeles egen APT är ju ganska låg så du kan ju chansa.

In other news, den riskvilliga bocken i Gävle brann ner i fredags, i år igen, något som togs upp här för två år sedan ungefär.


Stefan Pettersson

Det finns ett svar på den uråldriga frågan:
Hur kan ni jämföra er egen säkerhetsnivå med era konkurrenters utan att (1) kunna särskilt mycket om säkerhet generellt eller (2) ha detaljkunskaper om varken ert eget eller deras säkerhetsarbete?
Jo, varje organisation som utför någon form av säkerhetsarbete faller i en av följande tre kategorier. Organisationen

  1. försöker förhindra intrång och incidenter,
  2. förbereder sig på intrång och incidenter, eller
  3. försöker upptäcka intrång och incidenter.

Naturligtvis implicerar andra och tredje kategorin de föregående.
Det är egentligen en stretch att kalla det här för en mognadsmodell… men sen sade jag ju också att den var trivial. Vi ignorerar förstås här faktumet att man kan vara olika bra inom respektive kategori. Det är inte det viktiga, det viktiga är att framhäva att det finns tre, grundläggande utvecklingsstadier.

Majoriteten, man kan nog säga ”nästan alla” utan att skämmas, sitter och häckar i första kategorin. Synnerligen få befinner sig i den tredje, det rör sig nästan uteslutande om storbanker, militära organisationer och gigantiska företag (i Sverige Ericsson, Ikea, H&M och motsvarande).
I en värld av (det vi tydligen har kommit överens om att kalla) APT, d v s någon som har bestämt sig för att göra intrång hos just dig och inte tänker sluta försöka förrän det lyckas, blir kategori två och tre oundvikliga.
…fast sannolikheten att du har en alldeles egen APT är ju ganska låg så du kan ju chansa.

Ny RSS-feed

Om ett tag kommer jag att byta ut den RSS-feed som slussar ut inläggen från bloggen. Om ni vill fortsätta läsa via RSS kommer ni att behöva byta till följande URL:

http://feeds.feedburner.com/it-sakerhet-enligt-hps

Anledningen är förstås att FeedBurner ger mig en mycket bättre överblick över hur många eller få ni är som läser via RSS och vilka inlägg ni läser respektive inte läser. Förhoppningen är att det ger vägledning av vad som är populärt… och inte. Låt oss kalla det kundvård. 🙂

Alternativet är att börja med sådana där irriterande RSS-flöden där man inte får hela artikeln utan måste besöka sidan för att se innehållet.

Som sagt, den gamla kommer inte att stängas av omedelbart, det blir en inkörningsperiod först. Jag förvarnar.

Stefan Pettersson

Bloggtoppen hackat: party like it’s 2008

Update @2011-10-26: Aftonbladet rapporterar om ett 50-tal ytterligare siter, dessa är t o m äldre än Bloggtoppen, samma lirare publicerade dem för över två månader sedan.

Våren 2008 saknar egentligen fortfarande motstycke gällande läckta lösenord: Efterfesten och Bilddagboken samt ett par andra mindre siter trillade dit i en våg av intrång från nyår och framåt. (Sök på ”efterfesten hackat” eller motsvarande.) Sammantaget handlade det om ett par hundra tusen lösenord som var svagt skyddade. Fest utbröt på Flashback och Fragbite, många mail- och Facebook-konton (med samma lösenord) fick lida i efterdyningarna.

Nu har sidan Bloggtoppen har blivit av med mellan 50 och 90 000 vanilj-MD5-hashade lösenord. Det har under dagen rapporterats i mainstream-media, t o m på TV och radio. Dock inte för att det rör sig om många lösenord eller för att hasharna, även den här gången, var värdelösa. Nej, förmodligen bara för att några av dem twittrades på en politikers kapade konto. Jaja…

 

Anmärkningsvärt nog var det ganska precis en månad sedan som läckan skedde och det var inte heller i ”undergroundkretsar” utan det var mitt på ljusa dagen på ni-vet-vilket-forum. SQL injection, förstås. Än mer anmärkningsvärt är att SVT ger en väldigt… öppensinnig(?) rapportering i artikeln Kolla om du finns med i Bloggtoppen-läckan. De länkar till databasdumpen och berättar (i princip) hur man gör för att knäcka MD5-hashar. Enligt SVT kunde de enkelt knäcka 80 % av lösenorden m h a en vanlig rainbow-site.

 

Säker lagring av lösenord

”Hur ska man hasha lösenord?” är det nog många söker på (SEO FTW) så vi tar det kort. Svaret är egentligen förvillande enkelt men jag utvecklar det lite här för sakens skull (något ska man ju ha att göra på tisdagkvällar). Låt mig citera vad en av mina favoritböcker, Security Engineering, säger om hashfunktioner på sidan 141:

 

The first main property of a random function is one-wayness. […] A second property of pseudorandom functions is that the output will not give any information at all about even part of the input. […] A third property of pseudorandom functions with sufficiently long outputs is that it is hard to find collisions.

 

Det är egentligen bara den första som är intressant i fallet med lösenordslagring. Det ska vara svårt att gå från h(x) till x där h(x) är hashen av lösenordet x. Vetskap om hash ska inte innebära vetskap om lösenord.

 

Enligt databasdumpen från Bloggtoppen var det någon anställd på Aftonbladet som hade lösenordet ”tejp” och Bloggtoppen använde hashfunktionen MD5. Alltså:

 

MD5(tejp) = 24b5c8dc3ae3aa06240d463dd681d8ab

 

Problemet är att det inte är svårt att gå från lösenordshashen ”24b5c8dc3ae3aa06240d463dd681d8ab” till lösenordet ”tejp”. Det är lätt. Den huvudsakliga anledningen till detta är att lösenordet är svagt; ”tejp” är, som bekant, inte ett särskilt starkt lösenord.

Problemet är att även lösenord som ”jonathan28” kan knäckas relativt enkelt och det är ju inte lika väntat. Det är ju trots allt tio tecken långt och inte helt värdelöst. Nu skulle jag inte längre hävda att det huvudsakligen är lösenordets fel att det knäcktes, det är hashfunktionen, MD5:s fel. I klartext, beräkningarna som en dator måste göra för att beräkna h(x) från x är för få vilket innebär att man kan gissa lösenord för snabbt. För MD5 är sex miljoner lösenordsgissningar i sekunden inga konstigheter för en vanlig, gammal laptop som min med vanlig COTS-programvara som Cain. Med den bakgrunden är det klart att Jonathan får problem.

 

Således, det måste krävas fler beräkningar för att beräkna h(x) från x, fler beräkningar för att gissa ett lösenord, helt enkelt.

 

En ”hashfunktion” som har denna egenskap är PBKDF2 eller Password-based key derivation function 2 som egentligen används för att göra en kryptonyckel av ett lösenord. Förutom denna egenskap (tekniken bakom heter key stretching) som teoretiskt kan tvinga ner en angripare i ett par hundra gissningar i sekunden har den även key salting som inför ytterligare en önskvärd egenskap i lösenordshasharna: att samma lösenord aldrig hashas likadant varje gång. Jag har inte gått in på det här ovan men saltet hindrar de där sex miljonerna gissningar per sekund från att bli många miljoner fler med hjälp av en time-memory tradeoff-princip (sök på ”rainbow tables”).

 

Så, använd PBKDF2 för att hasha dina användares lösenord. Om du samtidigt tvingar användare att välja relativt starka lösenord skulle du, åtminstone i teorin, inte behöva oroa dig ifall en databasdump kommer på vift. Och varför skulle man annars ödsla tid med att hasha lösenorden från första början?

 

Stefan Pettersson