Etikettarkiv: säkerhetsanalys

Säkerhetsanalys och Pensionsmyndighetens CAPTCHA

Den första december i år ändrade Pensionsmyndigheten sättet som du som sparare kan få tillgång till ditt PPM-konto. Tidigare kunde olika tredjepartstjänster få rätt att elektroniskt hantera ditt konto åt dig. Men med ett beslut av Sveriges regering och pensionsgruppen stoppades detta.

Skälet till förändringen är att vissa tredjepartstjänster börjat med så kallad robothandel. Datorer sköter förvaltningen och gör massiva mängder av transaktioner, mycket fler än vad en enskild människa klarar av. Tanken med robothandeln är att kunna reagera snabt och tjäna pengar även på små kursrörelser.

Robothandel, även kallad högfrekvenshandel är i sig omtvistat. Tillför robothandel något på börsen eller ej? Ökar riskerna eller ej? Gynnas eller missgynnas olika aktörer för mycket? I Pensionsmyndighetens fall förvärras problemen av att byta värdepapper inte kostar speciellt mycket för spararen, vilket gör att robothandel blir mer attraktivt.

Detta har lett till att volymen transaktioner Pensionsmyndigheten blivit tvungen att hantera drastiskt har ökat, vilket drivit upp kostnaderna för Pensionsmyndigheten. Att få stopp på detta blev därför nödvändigt. Problemet som jag ser det är HUR Pensionsmyndigheten löst problemet. Och här kan vi använda säkerhetsanalys.

Vad är säkerhetsanalys?

När man gör en säkerhetsanalys av ett system försöker man skapa en bild över vilka tillgångar som behöver skyddas, vilka hotbilder (problem) som finns och vilka aktörer aktörerna är. Vidare undersöks vilka metoder (attackvägar) som olika aktörer kan använda och vad dom kan leda
till. Andra ytterst viktiga aspekter att få med i sin bild är att identifiera vilka implicita och explicita antaganden som finns – och vad som händer om dessa antaganden inte gäller.

Med hjälp av den systembild, den beskrivning som arbetats fram plockas sedan motåtgärder fram. De åtgärder som plockas fram behöver sedan analysera utifrån påverkan på systemet. Blir systemet sämre för legitim användning? Ökar kostnaderna för systemet? Ställer åtgärden krav på andra förändringar? Och öppnar åtgärden i sig för andra aktörer och attacker?

Det finns olika typer av åtgärder – en del åtgärder gör det svårare och därmed dyrare att genomföra en attack. Andra åtgärder kan vara att begränsa tiden för att genomföra en lyckad attack eller att göra attacken ointressant.

Om vi tar en butik som exempel kan vi försvåra för en inbrottstjuv genom att:

  1. Försvåra och öka kostnaden för ett inbrott genon att sätta in en starkare dörr som kräver rejäla verktyg att forcera.

  2. Minska den tillgängliga tiden för ett inbrott genom att öka antalet besök av väktare (rondering).

  3. Minska butikens attraktivitet för inbrott genom att ta bort dagskassor och stöldbegärliga varor, exempelvis cigaretter.

Ett exempel på ett antagande är att dörren till butiken är låst när butiken inte är bemannad. Är den inte det faller den säkerhet den starka dörren erbjuder.

En säkerhetsanalys behöver återupprepas för att se hur bilden förändras av införda åtgärder.

Om vi väljer att införa den starkare dörren kan den inte vara låst hela tiden. Är den inte upplåst när kan inte legitima kunder besöka butiken, vilket troligen inverkar negativt på verksamheten.

Analysen behöver även upprepas över tid för att fånga upp förändringar i antaganden, aktörer etc. En bra metod, som Microsoft Security Development Lifecycle (SDL) är ett exempel på hur detta sker kontinuerligt. Den generella utvecklingsmetoden kallas spiralmetoden.

spiralbild

spiralbild

Analys av Pensionsmyndighetens problem

Det problem som Pensionsmyndigheten säger sig ha är att antalet transaktioner som utförs drastiskt har ökat, och överstiger det antal man varit beredd att hantera. Några lösningar på detta hade varit att:

  • Skala upp sin verksamhet för att klara mycket större mängder transaktioner.

  • Begränsa mängden transaktioner en aktör kan göra per tidsenhet.

  • Göra det mindre attraktivt att genomföra högfrekvenshandel.

Men den åtgärd man valt att införa är ingen av dessa, utan att införa en CAPTCHA. CAPTCHA (Completely Automated Public Turing-test to tell Computers and Humans Apart) är en teknisk mekanism avsedd att avgöra om det är en människa eller en maskin som använder tjänsten. Pensionsmyndigheten har alltså fokuserat på att försöka bli av med robotar, inte den stora mängden transaktioner.

CAPTCHAs används av många tjänster på Internet. CAPTCHAs bygger på att ge användaren av tjänsten utmaningar som kräver semantisk analys, bildigenkänning och felkorrektion i text eller bild för att lösa.

Denna typ av problem är människor traditionellt mycket bättre än datorer på att lösa. Men utvecklingen går fort framåt och datorer har flera gånger visats sig klara av att lösa CAPTCHAs som ansetts säkra. CAPTCHAs får heller inte vara för komplicerade, då blir det för svårt för användarna att använda tjänsten.

Många aktörer, exempelvis de som vill skicka SPAM lägger ner mycket pengar och energi på att knäcka CAPTCHAs. Det pågår kort sagt ett kapprustningskrig mellan de som försöker skapa skyddet och de som försöker besegra skyddet. En kapprustning Pensionsmyndigheten nu hoppar rätt in i.

Googling på cracking captcha ger 90 miljoner träffar. Sökning med termer som defeating, cracking, breaking på forskningsajter som Citeseer och Arxiv ger totalt flera hundra artiklar om attacker på olika CAPTCHAs.

I Pensionsmyndighetens fall har man valt att köpa in CAPTCHA-tjänsten genom att använda Googles tjänst reCAPTCHA.

reCAPTCHA

reCAPTCHA

Detta innebär att Pensionsmyndigheten till viss del överlåter åt Google att bevaka att funktionen fungerar, och Google sitter på många personer som kan CAPTCHAs. Men det har publicerats hyggliga försök att knäcka reCAPTCHA.

Slutligen finns det i dag tjänster som gör det möjligt att automatiskt ta hjälp av människor för att lösa problem åt maskiner! I det här fallet innebär det att attackera CAPTCHAs med hjälp av människor som mot betalning kan titta på en CAPTCHA och lösa den åt en dator. Ett exempel
på denna typ av tjänst är Amazons Mechanical Turk. (Namnet kommer av den schackspelande robot som visade sig vara en gömd människa.)

Som jag som utomstående ser det har Pensionsmyndigheten inte löst rätt problem – att få ner mängden transaktioner. Istället har man infört en åtgärd som försöker avgöra om en legitim användare loggar in själv, eller via ett hjälpmedel.

Åtgärden gör det omöjligt för alla att använda elektroniska tjänster för att hantera sitt sparande. Det stoppar alltså inte bara volymhandel, utan aggregeringstjänster, försvårar för rådgivning etc. Det slår ut ett antal fungerande tjänster och produkter som sparare uppenbarligen tycker är bra.

Vidare är risken stor att CAPTCHAn är för komplicerad och att användbarheten i Pensionsmyndighetens tjänst blir för låg. Även om reCAPTCHA har stöd för personer med synprlem genom att omvandla den visuella utmaningen till ljud innebär CAPTCHAn en mer komplicerad användning.

Och kanske mest problematiskt är kanske att åtgärden egentligen inte löser problemet – den gör det svårare att utföra maskinella transaktioner. Men myndigheten kommer att behöva övervaka att den tekniska lösningen fungerar. Vilket kostar pengar.

Eller med andra ord: Fel metod som ger dåligt skydd, blir kostsam att hantera och försämrar användbarheten. Låter som en kanonbra lösning.

Den metod jag tycker att man borde valt är att införa begränsningar i antalet transaktioner som en användare får göra över en viss tidsperiod. Vad som är vettiga värden på antalet transaktioner vet jag inte, men 10 transaktioner per kvartal, per halvår är kanske lagom?

En annan sak. Pensionsmyndigheten påpekar att dom även har problem med att tjänster bara begär ut status för en användares konto – att inte separera statuskontroll och transaktioner. Att kunna hämta ut status kan inte vara lika kostsamt som att göra en transaktion av värdepapper. Även här kunde man infört begränsningar utan att försämra för användarna så fundamentalt som med den metod man valt.

Som säkerhetsanalytiker hoppas jag att myndiheten kommer att undersöka hur åtgärden fungerar, hur den upplevs av kunderna och vilka konsekvenser den fått. Och gärna över tid. Risken är väl att eftersom man (enligt min uppfattning) inte gjort en korrekt analys, inte heller använder en vettig metod.

Fysisk säkerhet och säkerhetsanalys

Även om jag i första hand arbetar med informationssäkerhet är det intressant och nyttigt att titta på fysisk säkerhet. Under sommaren gavs flera chanser att springa på spännande säkerhetslösningar.

Bilden nedan visar en installation avsedd att förhindra obehöriga att köra in i ett område. Till vänster i bilden en väldigt imponerande bilsluss. Sex massiva kolonner i Bohusgranit och mellan dessa en stor, hydraulisk stålpelare. Pelaren styrs av en central placerad vid vägen och i två av stolparna sitter knappdosor från Bewator. Allt övervakas med radioanslutet larm. Dyrt, massivt, kraftfullt och bergsäkert med hög imponansfaktor. Här kommer ingen obehörig in.

Bilsluss och vägbom
Bilslussen till vänster och vägbommen till höger.

Men titta nu till höger. En vanlig, enkel vägbom. Och om du tittar i bakgrunden ser du att mellan de två vägarna finns en förbindelse. Dvs man kan köra till samma ställe oavsett om man passerar spärren till vänster eller den till höger. Och låt oss titta närmare på vägbommen.

Vägbommens lås
Vägbommens lås

Just det, bommen är inte låst. Bara att lyfta på tappen, öppna grinden och köra in. Undrar om beställaren av slussen är nöjd med installationen.

Vad jag tycker att exemplet ovan visar är vikten av att analysera hela systemet, att försöka identifiera alla möjliga svagheter och sedan ser till att ge den skyddsnivå som krävs genom att säkra upp alla delar.

Att säkra upp på en ställe är bortkastat om det är mycket enklare att köra runt. Detta gäller både tjusiga bilslussar med pelare i Bohusgranit såväl som inbyggda system med starkt krypto, men där den fasta nyckeln finns att få tag på genom att Googla.