Så här borde Tesla skyddat sin app – istället för att skylla på användaren

Ett säkerhetsföretag har visat hur enkelt det är för hackare att ta över en Tesla-bil via ägarens mobilapp. Tesla säger att det är användarens eget fel om hon blir hackad, men Bjørn Søland, IoT-expert på identitets- och säkerhetsföretaget Nexus Group, håller inte med.

Förra veckan skickade en av mina Nexus-kollegor ett mejl till mig om det senaste Tesla-hacket, som utförts av det norska företaget Promon, som utvecklar lösningar för applikationssäkerhet. En av de saker som avslöjades i hacket var att appens OAuth-token (en snutt data som fungerar som din bilnyckel) lagras som vanlig text – ingen kryptering och lätt att hitta.

OAuth är en öppen standard för autentisering, som ofta används för att berättiga webbplatser eller applikationer till åtkomst till användares information från andra webbplatser eller applikationer, utan att ge dem lösenorden. Med tillgång till appens OAuth-token kan hackaren låsa upp och spåra bilen. För att stjäla bilen behöver hackaren bara tvinga användaren att logga in – och det kräver bara några få ytterligare rader kod i hackarens skadliga program.

Som en tidigare anställd på Promon är jag väl insatt i de (bristande) ansträngningar företag gör för att säkra sina mobilappar och vet vilka svar man kan vänta sig från dem. En Tesla-talesperson sa: ”Tesla har aldrig fått en rapport om någon bil som stulits genom en hackad app”, och utfärdade sedan det här skriftliga uttalandet:

”Den här rapporten och videon demonstrerar inte några Tesla-specifika sårbarheter. Den här demonstrationen visar det de flesta redan vet intuitivt – om en mobiltelefon hackas så är applikationerna på den mobilen kanske inte längre säkra. Forskarna visade att kända tekniker för social ingenjörskonst kan användas för att lura folk att installera skadlig kod på sina Android-enheter, vilket gör hela deras mobil och alla appar åtkomliga, och det inkluderar även deras Tesla-app. Tesla rekommenderar användare att köra den senaste versionen av mobiles operativsystem.”

Men vänta! Är det här verkligen användarnas problem? Man kan misstänka att Tesla beskyller användarna för att vara korkade, så låt oss ta en titt på vad användarna kan göra för att skydda sig själva:

Enligt säkerhetsforskarna på Promon så laddades den skadliga koden som användes till Tesla-hacket ner från Google Play. Eftersom Google Play är en officiell appbutik så anser jag att den hypotetiska användaren gjorde rätt: hon litade på en officiell appbutik. Med hjälp av ett trick som bland annat innehöll ett erbjudande om gratis wi-fi och en gratis hamburgare kunde forskarna lura användaren att ladda ner skadlig kod som tog över offrets mobil genom en attack som eskalerade de lokala behörigheterna.

Att eskalera behörigheterna innebär en exploatering av en sårbarhet i operativsystemet för att få tillgång till resurser som normalt är skyddade från en applikation eller användare. Slutresultatet i detta fall är så kallad root-åtkomst, vilket gör det möjligt för angriparen att kontrollera enheten. Eftersom den här sårbarheten påverkar alla gamla Android-versioner, inklusive version 5.1, så pratar vi om miljontals enheter.

Nu i november 2016 använder 0,3 procent av alla Android-enheter Android 7 från 2016, och 24 procent använder Android 6 från 2015, enligt den information Google ger till Android-utvecklare. Det här innebär att 75 procent av alla Android-enheter använder versioner som är sårbara för Promons attack.

De flesta tillverkare av mobiltelefoner uppdaterar inte enheten flera år efter att den sålts, vilket innebär att de flesta Tesla-ägare kommer att använda gamla Android-versioner. Med andra ord: Tesla rekommenderar sina kunder att uppdatera sina telefoner, vilket de inte kan göra – även om de skulle försöka riktigt mycket. Det här, i kombination med Teslas underlåtenhet att göra appens OAuth-token värdelös utanför ägarens telefon och bristen på skydd för appens integritet, får mig att undra: vem ska klandras?

I det här fallet är det inte användaren som lägger bilnyckeln under den metaforiska dörrmattan – det är Tesla.

Tesla är en framstående världsledare när det gäller att använda teknik för sakernas internet (internet of things, IoT), och jag är säker på att de har spenderat mer pengar på säkerhet än de flesta och att de kommer att lösa det här problemet. Men för resten av världen – här är min lista med rekommendationer:

  • Om du säljer en produkt som pajar om en användare inte kan se skillnaden mellan en skadlig länk och en bra länk – sälj inte produkten. Användare ska klicka på länkar. Det är standardfunktionalitet i alla webbläsare och e-postklienter.
  • Räkna med att användarens enhet är infekterad.
  • Att göra ett system för mobilautentisering riktigt säkert är svårt – köp den från ett företag som har det här som sin kärnverksamhet (det vill säga, ring mig).
  • Kontrollera att de appmoduler för mobilautentisering du köper har rätt integritetsskydd vid vila (det vill säga, se till att appkoden är extremt svår att förstå).
  • Lägg till säkerhetsfunktioner som skyddar appens integritet när den används.
  • Se till att varje app har sina egna nycklar – använd aldrig en enda global nyckel. Det här sker bäst med en skalbar public key infrastructure, PKI.
  • Bind appen till telefonen – det bör inte vara möjligt att använda en stulen token i en annan enhet.
  • Tänk säkerhet genom design – att lägga till säkerheten senare eftersom du är i trubbel är smärtsamt.

 

Bjørn Søland, expert på sakernas internet (internet of things, IoT) på Nexus Group.

Publicerad 28/11 2016

Nyheter, kundberättelser och blogg