آسیب‌پذیری در زیرساخت‌های تسلا به کنترل هر خودرویی اجازه می‌دهد

آشکار شد اطلاعاتی درباره چالش ها و مسائل در سازماندهی حفاظت در شبکه تسلا، که امکان به خطر انداختن کامل زیرساخت هایی را که با خودروهای مصرفی در تعامل است، فراهم کرد. به طور خاص، مشکلات شناسایی شده امکان دسترسی به سروری را که مسئول حفظ کانال ارتباطی با خودروها و ارسال دستورات ارسال شده از طریق یک برنامه تلفن همراه است، فراهم کرد.

در نتیجه، مهاجم موفق شد از طریق زیرساخت تسلا به سیستم اطلاعاتی هر خودرو دسترسی ریشه ای پیدا کند یا دستورات کنترلی را از راه دور به خودرو منتقل کند. از جمله قابلیت ارسال دستوراتی مانند استارت موتور و بازکردن قفل درها به خودرو به نمایش گذاشته شد. برای دسترسی، تنها چیزی که لازم بود دانستن شماره VIN خودروی قربانی بود.

این آسیب پذیری در اوایل سال 2017 توسط محقق امنیتی جیسون هیوز شناسایی شد
(جیسون هیوز)، که بلافاصله تسلا را از مشکلات آگاه کرد و اطلاعاتی را که تنها سه سال و نیم پس از حادثه کشف کرد، عمومی کرد. خاطرنشان می شود که تسلا در سال 2017 این مشکلات را ظرف چند ساعت پس از دریافت اخطار آسیب پذیری برطرف کرد و پس از آن حفاظت از زیرساخت های خود را به شدت تقویت کرد. برای شناسایی این آسیب‌پذیری، 50 هزار دلار جایزه به محقق پرداخت شد.

تجزیه و تحلیل مشکلات زیرساخت تسلا با حذف ابزارهای ارائه شده برای دانلود از وب سایت آغاز شد. toolbox.teslamotors.com. به کاربران خودروهای تسلا با حساب کاربری در وب سایت service.teslamotors.com این فرصت داده شد تا همه ماژول ها را برای توسعه دهندگان دانلود کنند. ماژول ها به ساده ترین روش رمزگذاری شدند و کلیدهای رمزگذاری توسط همان سرور داده شد.

پس از کامپایل کردن ماژول‌های به‌دست‌آمده در کد پایتون، محقق متوجه شد که این کد حاوی اعتبارنامه‌های تعبیه‌شده برای سرویس‌های مختلف تسلا واقع در شبکه داخلی شرکت است که از طریق VPN قابل دسترسی است. به طور خاص، در کد ما توانستیم اعتبار کاربری یکی از میزبان ها را در زیر دامنه "dev.teslamotors.com" واقع در شبکه داخلی پیدا کنیم.

تا سال 2019، برای اتصال خودروها به خدمات تسلا، یک VPN مبتنی بر بسته OpenVPN استفاده می‌شد (بعدها با یک پیاده‌سازی مبتنی بر وب‌سوکت جایگزین شد) با استفاده از یک کلید تولید شده برای هر خودرو. VPN برای اطمینان از عملکرد یک برنامه تلفن همراه، دریافت لیستی از ایستگاه های شارژ باتری و سایر خدمات مشابه استفاده شد. محقق سعی کرد پس از اتصال ماشین خود از طریق VPN، شبکه قابل دسترسی را اسکن کند و متوجه شد که زیرشبکه قابل دسترسی مشتریان به اندازه کافی از شبکه داخلی تسلا جدا نشده است. از جمله، میزبانی در زیر دامنه dev.teslamotors.com قابل دسترسی بود که اعتبار آن پیدا شد.

معلوم شد که سرور در معرض خطر یک گره مدیریت خوشه است و مسئول ارائه برنامه ها به سرورهای دیگر است. با ورود به هاست مشخص شده، توانستیم بخشی از کد منبع سرویس های داخلی تسلا، از جمله mothership.vn و firmware.vn را که مسئول انتقال دستورات به خودروهای مشتری و تحویل سیستم عامل هستند، به دست آوریم. رمز عبور و لاگین برای دسترسی به PostgreSQL و MySQL DBMS نیز در سرور یافت شد. در طول مسیر، مشخص شد که دسترسی به اکثر مؤلفه ها را می توان بدون اعتبار یافت شده در ماژول ها به دست آورد؛ معلوم شد که ارسال یک درخواست HTTP به Web API از زیر شبکه قابل دسترسی برای مشتریان کافی است.

از جمله، یک ماژول روی سرور پیدا شد که داخل آن یک فایل good.dev-test.carkeys.tar با کلیدهای VPN که در طول فرآیند توسعه استفاده می شد وجود داشت. کلیدهای مشخص شده کار می کنند و به ما اجازه می دهند به VPN داخلی شرکت vpn.dev.teslamotors.com متصل شویم.
کد سرویس مادر کشتی نیز بر روی سرور یافت شد که مطالعه آن امکان تعیین نقاط اتصال به بسیاری از خدمات مدیریتی را فراهم کرد. مشخص شد که اکثر این خدمات مدیریتی در هر خودرویی در دسترس هستند، اگر با استفاده از کلیدهای VPN یافت شده برای توسعه دهندگان متصل شوند. از طریق دستکاری خدمات، امکان استخراج کلیدهای دسترسی به روز شده روزانه برای هر خودرو و همچنین کپی اعتبار هر مشتری وجود داشت.

اطلاعات مشخص شده امکان تعیین آدرس IP هر خودرویی را که از طریق VPN با آن ارتباط برقرار شده است، فراهم می کند. از آنجایی که زیرشبکه vpn.dev.teslamotors.com به درستی توسط فایروال جدا نشده بود، از طریق دستکاری های مسیریابی ساده می توان به IP مشتری رسید و از طریق SSH با حقوق ریشه، با استفاده از اعتبارنامه های به دست آمده قبلی مشتری، به ماشین وی متصل شد.

علاوه بر این، پارامترهای به‌دست‌آمده برای اتصال VPN به شبکه داخلی امکان ارسال درخواست‌ها را به هر خودرویی از طریق Web API mothership.vn.teslamotors.com می‌دهد که بدون احراز هویت اضافی پذیرفته می‌شوند. به عنوان مثال، در طول آزمایشات می توان تعیین مکان فعلی ماشین را نشان داد، قفل درها را باز کرد و موتور را روشن کرد. شماره VIN وسیله نقلیه به عنوان یک شناسه برای انتخاب هدف حمله استفاده می شود.

منبع: opennet.ru

اضافه کردن نظر