En sårbarhet i Teslas infrastruktur gjorde det möjligt att få kontroll över vilken bil som helst.

Avslöjat information om problem i att organisera skydd i Tesla-nätverket, vilket gjorde det möjligt att helt äventyra infrastrukturen som interagerar med konsumentbilar. I synnerhet gjorde de identifierade problemen det möjligt att få tillgång till servern som ansvarar för att upprätthålla en kommunikationskanal med bilar och skicka kommandon som överförs via en mobilapplikation.

Som ett resultat lyckades angriparen få root-åtkomst till informationssystemet i vilken bil som helst genom Tesla-infrastrukturen eller fjärrsända kontrollkommandon till bilen. Bland annat demonstrerades möjligheten att skicka kommandon som att starta motorn och låsa upp dörrar till bilen. För att få tillträde krävdes bara kunskap om VIN-numret på offrets bil.

Sårbarheten identifierades i början av 2017 av säkerhetsforskaren Jason Hughes
(Jason Hughes), som omedelbart informerade Tesla om problemen och offentliggjorde informationen han upptäckte bara tre och ett halvt år efter händelsen. Det noteras att Tesla under 2017 fixade problemen inom några timmar efter att ha fått meddelande om sårbarheten, varefter man radikalt stärkte skyddet av sin infrastruktur. För att identifiera sårbarheten fick forskaren en belöning på 50 tusen amerikanska dollar.

Analysen av problem med Teslas infrastruktur började med dekompileringen av de verktyg som erbjuds för nedladdning från webbplatsen toolbox.teslamotors.com. Användare av Tesla-bilar med konto på webbplatsen service.teslamotors.com fick möjlighet att ladda ner alla moduler för utvecklare. Modulerna krypterades på enklaste sätt och krypteringsnycklarna gavs av samma server.

Efter att ha dekompilerat de resulterande modulerna till Python-kod upptäckte forskaren att koden innehöll inbäddade referenser för olika Tesla-tjänster som finns på företagets interna nätverk, som nås via VPN. I synnerhet kunde vi i koden hitta användaruppgifterna för en av värdarna i underdomänen "dev.teslamotors.com" som finns på det interna nätverket.

Fram till 2019, för att ansluta bilar till Tesla-tjänster, användes en VPN baserad på OpenVPN-paketet (senare ersatt av en websocket-baserad implementering) med en nyckel som genererades för varje bil. VPN användes för att säkerställa driften av en mobilapplikation, få en lista över batteriladdningsstationer och andra liknande tjänster. Forskaren försökte skanna nätverket som var tillgängligt efter att ha anslutit sin bil via VPN och fann att undernätet som var tillgängligt för kunder inte var tillräckligt isolerat från Teslas interna nätverk. Bland annat gick det att nå en värd på underdomänen dev.teslamotors.com, för vilken referenser hittades.

Den komprometterade servern visade sig vara en klusterhanteringsnod och var ansvarig för att leverera applikationer till andra servrar. När vi loggade in på den angivna värden kunde vi erhålla en del av källkoden för interna Tesla-tjänster, inklusive mothership.vn och firmware.vn, som är ansvariga för att överföra kommandon till kundbilar och leverera firmware. Lösenord och inloggningar för att komma åt PostgreSQL och MySQL DBMS hittades också på servern. Längs vägen visade det sig att tillgång till de flesta komponenterna kan erhållas utan de referenser som finns i modulerna, det visade sig att det räckte med att skicka en HTTP-förfrågan till webb-API:et från subnätet som är tillgängligt för klienter.

Bland annat hittades en modul på servern, inuti vilken det fanns en fil good.dev-test.carkeys.tar med VPN-nycklar som användes under utvecklingsprocessen. De angivna nycklarna visade sig fungera och tillät oss att ansluta till företagets interna VPN för företaget vpn.dev.teslamotors.com.
Moderskeppstjänstkoden hittades också på servern, vars studie gjorde det möjligt att fastställa anslutningspunkter till många förvaltningstjänster. Det visade sig att de flesta av dessa hanteringstjänster är tillgängliga på alla bilar, om de är anslutna med hjälp av de hittade VPN-nycklarna för utvecklare. Genom manipulation av tjänsterna var det möjligt att extrahera åtkomstnycklar uppdaterade dagligen för vilken bil som helst, såväl som kopior av användaruppgifterna för alla kunder.

Den angivna informationen gjorde det möjligt att fastställa IP-adressen för vilken bil som helst som en anslutning upprättades med via VPN. Eftersom undernätet vpn.dev.teslamotors.com inte var ordentligt separerat av brandväggen, var det genom enkla routingmanipulationer möjligt att nå klientens IP och ansluta till hans bil via SSH med roträttigheter, med hjälp av klientens tidigare erhållna referenser.

Dessutom gjorde de erhållna parametrarna för VPN-anslutningen till det interna nätverket det möjligt att skicka förfrågningar till alla bilar via Web API mothership.vn.teslamotors.com, som accepterades utan ytterligare autentisering. Till exempel, under tester var det möjligt att demonstrera bestämningen av den aktuella platsen för bilen, låsa upp dörrarna och starta motorn. Fordonets VIN-nummer används som en identifierare för att välja ett attackmål.

Källa: opennet.ru

Lägg en kommentar