Säkerhetsföretaget Securitas är ett av Sveriges största aktörer inom sin bransch. I Sverige har Securitas installerat tusentals hemlarm runt om i landet. Trots att de verkar inom just säkerhet, kan TechWorld avslöja att deras mobilapp som kunderna använder för att kontrollera och styra sina hemlarm, skickar användarnamn och lösenord i klartext. Det innebär att Securitas kunder riskerar att utsättas för så kallade man-i-mitten-attacker.

En av de privatkunder till Securitas som använder företagets hemlarm är Hugo Millwood. Han är egenföretagare inom mjukvaruutveckling och driver bolaget Laoban AB.

– Jag upptäckte sårbarheten en dag på jobbet när jag använde Charles Proxy, ett populärt verktyg för att inspektera anrop. Jag höll på att validera att ett anrop gick iväg korrekt i appen jag jobbade med och såg ett anrop som hade gått iväg tidigare som jag inte kände igen. När jag klickade på det såg jag bland annat mitt användarnamn och lösenord i klartext och listade ut att det var ett anrop som hade gjorts i Securitas-appen, säger Hugo Millwood.

Sårbarheten i fråga handlar om att Securitas app skickar användarnamn och lösenord i klartext när användaren loggar in på sitt hemlarm. För att detta ska ske krävs det dock att mobilens inställningar för nätverk är inställt på att gå via en proxy, något som är relativt vanligt bland företagsanvändare på arbetsplatser där detta krävs för att användaren ska kunna komma åt interna webbsidor och andra resurser.

I normala fall är trafiken mellan mobilappen och Securitas server krypterad med tls 1.2, vilket även gäller den ”authorization header” där användarnamn och lösenord annars är synligt, men om mobilen är inställd på att gå via en proxy initieras tcp-kopplingen först normalt, men sedan ”uppgraderas” kopplingen till HTTP Basic Auth, istället för att uppgraderas till tls 1.2. Det som händer då är att användarnamnet och lösenordet skickas med Base64-kodning, vilket inte är detsamma som kryptering, även om texten för den oinvigde ser oläslig ut.

En sannolik orsak till beteendet, enligt Hugo Millwood, är att när mobilen går via en proxy så faller tcp-kopplingen tillbaka på enbart http när svaret från servern inte kommer från tcp-port 443, vilket är att förvänta om trafiken går via en proxy. Det är så Hugo Millwood förklarade sårbarheten för Securitas, och tillägger i sitt mejl till dem att ”den som har ’monitor mode’ påslaget på sin dator och ansluter sig till ett publikt wifi kan se användarnamn och lösenord och sen gå mot Securitas server”, alltså en klassisk man-i-mitten-attack.

Hugo Millwood skickade även med två pcap-filer med inspelningar av nätverkstrafiken från nätverksanalysverktyget Wireshark – en inspelning utan proxy, och en inspelning med proxy, se bild nedan. ”Om man har konfigurerat sin mobil att gå igenom en proxy så validerar appen inte längre SSL-certifikat, utan faller tillbaka till HTTP + Basic Auth och skickar då all information okrypterat” skriver Hugo Millwood.

securitas
Nätverksanalysverktyget Wireshark visar klart och tydligt att användarnamn och lösenord skickas i klartext om mobilens nätverk ställs in i proxyläge. Normalt krypteras den så kallade Authentication Headern med tls 1.2.

Men det är mer än ”bara” användarnamn och lösenord som läcker från trafiken mellan Securitas app och server. Hugo Millwood har ”mycket enkelt” kunnat få fram url:en och nyckeln som måste skickas med i anropet till servern, och han har därigenom kunnat läsa ut det svar appen får tillbaka från servern. I anropet, med hjälp av curl från en terminal, skickar Hugo med sitt riktiga användarnamn och lösenord men i exemplet i bilden nedan har anropet och svaret från servern redigerats av säkerhetsskäl. Som synes svarar servern med kundens namn, mobilnummer, kundnummer, kontonamn med flera personuppgifter samt diverse information om hemlarmet.

securitas
Securitas app avslöjar mer än "bara" användarnamn och lösenord. Med hjälp av användarnamn och lösenord, samt den kommunikationsnyckel som också den skickas i klartext, går det med hjälp av curl att få fram kundens personuppgifter samt status för hemlarmet i svaret från Securitas server.

Securitas it-support tycks först inte vilja ta sårbarheten på fullt allvar. Först efter flera påstötningar börjar Securitas inse att Hugo Millwood har rätt.

– Jag upptäckte sårbarheten först för cirka två år sen. Då skrev jag till Securitas via deras kontaktformulär på deras hemsida men fick aldrig svar. Efter att jag varit på föräldraledighet så kliade den här upptäckten i mig fortfarande, så jag dubbelkollade ifall det fortfarande var ett problem, vilket det var. Jag gjorde ett nytt försök att anmäla det till Securitas den 21 mars i år och fick då kontakt med någon på Securitas IT, säger Hugo Millwood.

Den 26 mars svarar Securitas IT att ”trafiken är krypterad så snart den lämnar telefonen. Krypteringstekniken som används (tls-kryptering) är etablerad och anses (i nuläget) som säker. Och det är bara från din egen inloggning du kan avlyssna trafiken”.

Efter att Hugo Millwood förtydligar de tekniska detaljerna och bifogar de bägge pcap-inspelningarna eskaleras ärendet till Mathias Nilsson, ansvarig för hemlarm på Securitas Sverige.

securitas
När en angripare väl kommit över användaruppgifterna är det fritt fram att "leka" med hemlarmet.

Enligt Mathias Nilsson på Securitas reagerade de omedelbart på den information Hugo försåg dem med.

– Vi vände oss omgående med feedbacken till teknikerna bakom plattformen/appen och bad dem se över sina krypteringsrutiner och genomföra tester. Något som gjordes parallellt med att vi själva genomförde tester kring problemet. Slutsatsen då, var att man fann en brist, det vill säga att det var möjligt att genomföra en man-in-the-middle-attack och vi gav tillverkarna i uppgift att omgående åtgärda problemet, säger Mathias Nilsson till TechWorld.

Securitas har som policy att inte erkänna fel och brister i deras produkter. ”Som säkerhetsföretag så bekräftar eller förnekar vi aldrig säkerhetsbrister, med hänvisning till våra kunders säkerhet” skriver Mathias Nilsson i ett mejl till Hugo Millwood efter att Hugo Millwood påpekat att de trots allt släppt en ny version av appen den 18 april, till synes efter att de insett att appen inte fungerar korrekt.

Att Securitas reagerade ljumt och avvaktande förklarar Mathias Nilsson på Securitas med att de är försiktiga i sin dialog med dem som rapporterar brister med produkterna.

securitas
Här visar appen en historik över hemlarmet; det går enkelt att se om larmet är på eller inte. Fler funktioner finns att tillgå om kunden till exempel har kopplat en kamera till larmet.

– För att säkerställa att kunden inte var av oseriöst uppsåt, trots att vi verifierade honom som kund så kunde ju även denna dialog vara en början på en attack, så valde vi att inte bekräfta eventuella djupare detaljer för honom, säger Mathias Nilsson.

Frågan är om problemet nu är ut världen? Hugo Millwood anser inte det.

– Nej, jag tycker inte att de har fått ordning på säkerheten. Den läckta informationen som jag skrev till dem om i mars går fortfarande att använda för att kommunicera med deras servrar. Om en kund har fått sina användaruppgifter kapade så är man fortfarande utsatt eftersom nycklarna för att kommunicera med deras servrar inte blivit bytta, säger Hugo Millwood som efter allt strul valt att avsluta abonnemanget hos Securitas.

Sårbarheten gäller endast för Android-mobiler. Hugo Millwood har inte testat appen för Iphone, men Securitas säger till TechWorld att sårbarheten enbart gäller Android. Alla som använder Securitas Larm för Android bör uppdatera appen omgående.

Förtydligande: De säkerhetsproblem som beskrivs i artikeln om Securitas Larm, gäller inte produkter eller tjänster från Securitas Direct eller Verisure. Securitas Direct och Securitas Larm är två helt separata företag.

Läs också:
Franska regeringens Whatsapp-ersättare hackades efter bara två dagar
Allvarligt säkerhetshål i Fortnite – barnens kommunikation öppen för avlyssning