Innebär inloggning med Bank-id alltid att inloggningsfunktionen är säker? Nej, det är minst lika viktigt att implementationen på sajten är korrekt utförd och säkerhetstestad. Bostadsbolaget Uppsalahems implementation av inloggningen med Bank-id gick tills helt nyligen att runda hur enkelt som helst.

Uppsalahem är ett kommunalt bostadsbolag med 16 000 bostäder, inklusive studentstaden i Uppsala. Ungefär 30 000 uppsalabor har sin bostad inom Uppsalahem, och via sajten uppsalahem.se kan de sköta diverse administrativa uppgifter, allt från att boka tvättstuga och ansöka om parkeringsplats, till att säga upp sina hyreskontrakt.

I månadsskiftet februari-mars införde Uppsalahem inloggning med Bank-id för sina hyresgäster, samtidigt som den traditionella inloggningsfunktionen med endast användarnamn och lösenord behölls. För implementationen av Bank-id-inloggningen tog Uppsalahem hjälp av it-konsultbolaget Sogeti i Uppsala.

Men någonting i implementationen gick fel; det var tills i mitten av maj mycket enkelt att runda inloggningen via Bank-id, komma åt medlemmarnas konton under Mina Sidor, och att utföra de flesta av de uppgifter som en medlem kan utföra där. Allt en utomstående behövde för att kunna logga in på ett konto var medlemmens personnummer.

Uppsalahem har valt den ganska udda lösningen att bygga in inloggningen med Bank-id, och den vanliga inloggningen med användarnamn och lösenord, i en så kallad iframe, vilket gör att hela övriga sidan syns samtidigt som inloggningen pågår. Det vanligaste förfarandet är att användaren leds till en separat inloggningssida där inga länkar eller annat på den underliggande sidan syns.

Uppsalahems lösning med en iframe på en i övrigt fullt synlig sida, är en bärande del i det ”hack” som gjorde att utomstående kunde logga in på medlemmarnas konton. Allt en angripare behövde göra var att klicka på länken Mina Sidor, välja inloggning med Bank-id, mata in medlemmens personnummer och klicka på Logga in – och samtidigt som sidan väntar på svar från Bank-id återigen klicka på Mina Sidor. Därefter var angriparen inne på medlemmens konto.

uppsalahem
Här går det att se alla uppgifter gällande ett lägenhetskontrakt.

Den underliggande tekniska infrastrukturen till uppsalahem.se är Windows Server 2012 R2, webbservern IIS 8.5 och content management-systemet Episerver CMS 10. Infrastrukturen är en viktig del i sammanhanget då det normalt är relativt enkelt för en sajt-utvecklare att implementera inloggning med Bank-id. Uppsalahem, liksom många andra, använder ett api från grandid.com som utvecklats och tillhandahålls Svensk E-identitet.

Enligt Jörgen Hellgren, vd på Svensk E-identitet, ska det normalt vara en enkel match för en webbutvecklare att implementera Bank-id med hjälp av deras api, men i vissa fall kan Dotnet-miljöer innebära vissa utmaningar, och i de fallen kan det vara lämpligt att ta hjälp av kunniga konsulter.

TechWorld har med hjälp av två av varandra oberoende it-säkerhetsexperter utrett om det eventuellt kan föreligga ett fel i api:et från Svensk E-identitet, eller någon annanstans utan för Uppsalahems driftmiljö, men det finns inga tecken på att så skulle vara fallet. Även Uppsalahem själva bekräftar att felet ligger lokalt hos Uppsalahem. Ingen skugga ska heller falla på Bank-id i sig.

Uppsalahem har för tillfället ingen it-chef, men driftansvarige Mattias Falk förklarar det fel som orsakat att obehöriga kunnat logga in på medlemmarnas sidor.

– Det var FormsAuthentication.SetAuthCookie-metoden som var felimplementerad, den sattes innan anropet till Bank-id skickades, istället för efter det att vi fått svar från Bank-id och därmed blev man inloggad direkt när man valde Bank-id som autentisering, säger Mattias Falk.

uppsalahem
Vilket hyreskontrakt vill du söka upp? Att säga upp ett hyreskontrakt kräver dock signering med Bank-id, och enligt Uppsalahem påverkades inte signeringsfunktionen med Bank-id av säkerhetsbristen i inloggningen.

Den läsare som vill veta mer om metoden FormsAuthentication.SetAuthCookie kan studera Microsofts dokumentation, men i korta ordalag skapar den en autentiseringsbiljett (ticket) för den angivna användarnamnet och lägger till den till kakorna i svarsanropet, eller till url:en om sajten inte använder kak-baserad autentisering.

Det misstag som Uppsalahem och Sogeti gjort får nog klassas som relativt enkelt – två anrop som placeras i fel ordning – och borde ha upptäckts om systemet testats grundligt.

– Vi har nog haft ett standardförfarande för hur vi arbetat med tester och processer. Men framåt tror jag att vi, precis som alla andra bolag, behöver jobba noggrannare med säkerhetsrutiner och tester, eftersom fler och fler verksamhetskritiska processer blir digitaliserade, säger Mattias Falk.

En av de it-säkerhetsexperter TechWorld varit i kontakt med angående Uppsalahems bristfälliga inloggningsfunktion är Jonas Lejon som driver företaget Triop. Han är expert på att säkerhetstesta bland annat webbtjänster.

– Oberoende säkerhetsgranskning är så klart något som bör göras just innan lansering av en sådan tjänst. Detta för att minska eventuella sårbarheter men även för att kontrollera spårbarhet och loggning. För incidenter kommer att inträffa, och då är det viktigt att ha en förmåga att gå tillbaka och se vem som blivit av med vilken information.

– Det är även viktigt att kunna upptäcka denna typ av brist och titta på avvikande mönster såsom om flertalet inloggningar sker från samma ip-adress mot flertalet konton eller personnummer. Automatiserade säkerhetsskanningar kan också hjälp upp och fånga vissa typer av brister. Men man måste ha kompetens att tolka resultatet och sätta upp avsökningarna på ett bra sätt. säger Jonas Lejon.

uppsalahem
En obehörig som loggar in på en hyresgästs sida kan till exempel se fakturainformation.

På frågan om någon medlem drabbats av den bristande säkerheten svarar Mattias Falk på Uppsalahem att de inte kan se att det skulle ha hänt.

– Nej, det är inget vi har sett, säger Mattias Falk.

Han svara likaså nej på frågan om Uppsalahem kommer att anmäla incidenten till Datainspektionen.

– Nej, vi har gjort bedömningen att personuppgiftsincidenten inte kommer medföra en risk för de registrerade.

De personuppgifter som förekommer under Mina Sidor på Uppsalahems sajt är vad TechWorld kan bedöma inte känsliga i legal mening, eller belagda med sekretesskydd. Där finns förstås namn, adress, telefonnummer och liknande normala personuppgifter, samt information om de boendes hyreskontrakt, avtal och dylikt. Det kan hända att obehöriga teoretiskt sett kunnat komma åt personuppgifter om personer med skyddat identitet eller skyddat boende, men vi har inte kunna få fram information som pekar åt det hållet.

De handlingar en obehörig skulle kunna utföra är som värst att säga upp ett hyreskontrakt, men Mattias Falk på Uppsalahem pekar på att den handlingen kräver signering med Bank-id och att signeringsfunktionen inte påverkats av felet i inloggningen.

– Det behövs ingen fysisk underskrift för att utföra de tjänsterna [som att säga upp kontrakt, reds. anm.] men de kräver att man signerar via Bank-id. Vi ser inte att dessa tjänster är berörda av problemet med inloggningen då de även kräver en separat signering. Vi har även testat detta och kan konstatera att signeringen inte har det identifierade felet, säger Mattias Falk.

Uppsalahem stängde tillfälligt av inloggningsfunktionen på sin sajt för att felsöka och åtgärda fel.

– Till att börja med stängde vi ner möjligheten att logga in på webbplatsen och satte vår nuvarande leverantör av webbutveckling, Consid, på att felsöka och rätta fel. Under förmiddagen den 14 maj har felet lokaliserats och rättats, och vi har under eftermiddagen testat igenom den nya koden, och har nu återigen slagit på möjligheten att logga in på hemsidan, säger Mattias Falk.

TechWorld har varit i kontakt med Sogeti för att ta del av deras syn på incidenten, men Therese Sinter, kommunikations- och marknadsdirektör på Sogeti i Skandinavien, vill inte svara på våra frågor utan hänvisar till Uppsalahem, trots att det enligt Uppsalahem är Sogeti Uppsala som tagit fram implementationen.

Läs också:
Securitas larm-app öppen för attack – skickar lösenord i klartext
Elbolag exponerade kunduppgifter på nätet – personnummer och inspelade samtal