TechNet - Experternas arena

TechNet Säkerhetsfrågespalt


Marcus Murray

Marcus Murray

Marcus Murray jobbar på TrueSec AB och är som Sveriges enda Security MVP en av landets främsta experter på IT-säkerhet.

Du som är IT-proffs kan skicka dina frågor om IT-säkerhet till adressen fraganu@microsoft.com och få din fråga besvarad av Marcus här i frågespalten.

Vi kan tyvärr inte garantera att alla frågor hinner besvaras.

Hur skyddar jag webbanvändarnas personliga lösenord?

Hej.

Jag jobbar som webbadmin och i arbetet ingår ansvar över våra publika webbservrar. En av våra webbplatser är populär och vänder sig till den breda massan av användare. Självklart blir jag lite orolig när webbplatser som Aftonbladet, Dataföreningen,  Bilddagboken och nu senast Spray blir hackade och lösenord läggs ut på internet.

Min fråga gäller själva lösenorden: Jag känner att jag har hyfsad koll på hur jag skyddar webbplatserna genom filtrering, patchning och säkerhetsrevisioner av koden. Men om vi skulle hackas, hur skyddar jag användarna så att de inte drabbas på en bredare front genom att deras personliga lösenord hamnar på webben?


Svar:

Jag förstår din oro. Det är svårt att vara 100 procent säker mot intrång, och det verkar just nu finnas ett stort intresse för att angripa populära webbsiter här i Sverige.

När det gäller lösenord och att skydda kunderna i det större perspektivet går det att angripa frågan på flera olika sätt. Och det är inte helt enkelt att ge ett perfekt svar.

Många skulle säkert rekommendera att du lagrar lösenorden med en bra algoritm. Och absolut inte i klartext, eftersom det då blir lätt för hackaren att återanvända lösenordet på andra webbplatser. Självklart är detta att rekommendera före klartextlagring.

Men om vi tittar på historien, exempelvis hacket av Dataföreningen, är det relativt enkelt att utföra en bruteforceattack. Hackaren kan testa volymer av potentiella lösenord, och köra dem genom samma krypterings/hashningsfunktion som har använts av webbplatsen tills han får fram samma resultat som de stulna representationerna av lösenorden.

Vill du försvåra för angriparen kan du lägga in ett salt i algoritmerna, eller tvinga användarna att använda längre och komplexare lösenord. Men det gör i bästa fall bara att det tar längre tid att knäcka dem.

Jag tycker personligen att det är viktigare att du säkerställer att lösenorden inte är giltiga någon annanstans överhuvudtaget.

Antingen kan du tilldela hårdkodade lösenord som användarna inte kan ändra själva. (Trots att det kanske inte är så populärat hos användarna tar du helt bort risken för att en stulen lösenordsdatabas ska drabba användarna i ett större perspektiv).

Eller så kan du tillämpa ett mjukare alternativ: låt användarna själva välja lösenord. Men ha en tydlig informationstext där du rekommenderar att de skapar ett unikt lösenord för just den här webbplatsen, och förklara risken med att återanvända lösenord.

Om webbplatsen har ekonomiskt utrymme för mer avancerade lösningar kan det vara spännande och värdefullt att titta på alternativa inloggningsmekanismer, som till exempel engångslösenord via SMS. Det finns idag flera leverantörer av denna typ av lösningar, och de blir allt lättare att integrera.

Vidare kan du titta på PKI och certifikat för starkare autentisering. Certifikat kan vara hårda i form av smarta kort, men även mjuka. Det senare har blivit allt populärare på framför allt bankers webbplatser. Rätt implementerat skapar du en lösning som är enklare för användaren att logga in på, eftersom endast behöver memorera en pinkod. Detta är säkrare för användaren på alla sätt, då en stulen pinkod är värdelös om angriparen inte har certifikatet. Utmaningen är att säkerställa en säker distribution av certifikat. Certifikatlösningar kan integreras direkt i webbapplikationen, men även skötas via exempelvis en ISA-server/Active Directory för att minimera behovet av anpassad kod.

Sist men inte minst kan nya lösningar som Open ID och Cardspace  vara värda en titt. De förlitar sig på en central lösning, där du som webbägare förlitar dig på en extern tjänst för autentisering. Då lämnar du helt enkelt över ansvaret för lösenordsdatabasen till en annan part.

MVH,

Marcus Murray

Enterprise Security MVP

Senior Security Advisor, TrueSec

Marcus [at] truesec [dot] se


De åsikter och idéer som uttrycks i texten är skribentens egna, och delas inte nödvändigtvis av Microsoft AB eller dess representanter.


Alla frågor och svar