Bunun sonucunda saldırgan, Tesla altyapısı üzerinden herhangi bir arabanın bilgi sistemine root erişimi elde etmeyi veya araca uzaktan kontrol komutları iletmeyi başardı. Diğer şeylerin yanı sıra, motoru çalıştırma ve arabaya kapı kilitlerini açma gibi komutlar gönderme yeteneği de gösterildi. Erişim sağlamak için gereken tek şey, kurbanın arabasının şasi numarasını bilmekti.
Güvenlik açığı, 2017'nin başlarında güvenlik araştırmacısı Jason Hughes tarafından tespit edildi.
(
Tesla altyapısındaki sorunların analizi, web sitesinden indirilmek üzere sunulan araçların derlenmesiyle başladı.
Ortaya çıkan modülleri Python koduna dönüştüren araştırmacı, kodun, şirketin VPN aracılığıyla erişilen dahili ağında bulunan çeşitli Tesla hizmetleri için gömülü kimlik bilgileri içerdiğini keşfetti. Özellikle kodda, iç ağda bulunan “dev.teslamotors.com” alt etki alanındaki ana bilgisayarlardan birinin kullanıcı kimlik bilgilerini bulmayı başardık.
2019 yılına kadar, arabaları Tesla hizmetlerine bağlamak için, her araba için oluşturulan bir anahtar kullanılarak OpenVPN paketini temel alan bir VPN kullanıldı (daha sonra yerini websocket tabanlı bir uygulama aldı). VPN, bir mobil uygulamanın çalışmasını sağlamak, pil şarj istasyonlarının listesini almak ve benzeri hizmetler için kullanıldı. Araştırmacı, arabasını VPN aracılığıyla bağladıktan sonra erişilebilen ağı taramaya çalıştı ve müşterilerin erişebildiği alt ağın Tesla'nın dahili ağından yeterince izole edilmediğini buldu. Diğer şeylerin yanı sıra, kimlik bilgilerinin bulunduğu dev.teslamotors.com alt etki alanındaki bir ana bilgisayara erişilebiliyordu.
Güvenliği ihlal edilen sunucunun bir küme yönetim düğümü olduğu ve uygulamaları diğer sunuculara dağıtmaktan sorumlu olduğu ortaya çıktı. Belirtilen ana bilgisayarda oturum açtıktan sonra, müşteri araçlarına komutların iletilmesinden ve ürün yazılımının teslim edilmesinden sorumlu olan Mothership.vn ve Firmware.vn dahil olmak üzere dahili Tesla hizmetlerine yönelik kaynak kodunun bir kısmını elde edebildik. Sunucuda PostgreSQL ve MySQL DBMS'ye erişim için şifreler ve oturum açma bilgileri de bulundu. Bu arada, bileşenlerin çoğuna erişimin modüllerde bulunan kimlik bilgileri olmadan elde edilebildiği ortaya çıktı; istemcilerin erişebildiği alt ağdan Web API'sine bir HTTP isteği göndermenin yeterli olduğu ortaya çıktı.
Diğer şeylerin yanı sıra, sunucuda, geliştirme sürecinde kullanılan VPN anahtarlarını içeren good.dev-test.carkeys.tar dosyasının bulunduğu bir modül bulundu. Belirtilen anahtarların çalıştığı ortaya çıktı ve vpn.dev.teslamotors.com şirketinin dahili VPN'sine bağlanmamıza izin verdi.
Ana gemi hizmet kodu da sunucuda bulundu ve bu çalışma, birçok yönetim hizmetine bağlantı noktalarının belirlenmesini mümkün kıldı. Bu yönetim hizmetlerinin çoğunun, geliştiriciler için bulunan VPN anahtarları kullanılarak bağlanması durumunda herhangi bir araçta mevcut olduğu tespit edildi. Hizmetlerin manipülasyonu yoluyla, herhangi bir araba için günlük olarak güncellenen erişim anahtarlarının yanı sıra herhangi bir müşterinin kimlik bilgilerinin kopyalarını çıkarmak mümkün oldu.
Belirtilen bilgiler, VPN aracılığıyla bağlantı kurulan herhangi bir arabanın IP adresinin belirlenmesini mümkün kıldı. Vpn.dev.teslamotors.com alt ağı güvenlik duvarı tarafından düzgün bir şekilde ayrılmadığından, basit yönlendirme manipülasyonları yoluyla müşterinin IP'sine ulaşmak ve müşterinin önceden elde edilen kimlik bilgilerini kullanarak kök haklarına sahip SSH aracılığıyla arabasına bağlanmak mümkün oldu.
Ek olarak, dahili ağa VPN bağlantısı için elde edilen parametreler, herhangi bir araca Mothership.vn.teslamotors.com Web API'si aracılığıyla ek kimlik doğrulama olmadan kabul edilen isteklerin gönderilmesini mümkün kıldı. Örneğin, testler sırasında arabanın mevcut konumunun belirlendiğini göstermek, kapıların kilidini açmak ve motoru çalıştırmak mümkün oldu. Aracın VIN numarası, saldırı hedefini seçmek için tanımlayıcı olarak kullanılır.
Kaynak: opennet.ru