Niezależny badacz bezpieczeństwa uruchomił komputer pokładowy z samochodu Tesla Model 3 na swoim biurku. Skorzystał m.in. z podzespołów kupionych na rynku wtórnym, a projekt pokazał nie tylko, jak wygląda architektura sprzętowa auta Tesli, ale też jak wiele można zrobić dzięki publicznej dokumentacji producenta.
Punktem wyjścia był program bug bounty prowadzony przez Tesla, który zachęca specjalistów od bezpieczeństwa do poszukania luk w zabezpieczeniach. Aby wziąć w nim udział, potrzebny jest jednak siłą rzeczy dostęp do rzeczywistego sprzętu. Tyle że, że zamiast całego auta najwyraźniej wystarczają jego kluczowe elementy.
„Tesla” z eBaya
Badacz zamiast wydawać krocie, kupił na eBayu sam pochodzący z rozbitego pojazdu komputer pokładowy Tesli Model 3. Tego typu części są stosunkowo łatwo dostępne – firmy zajmujące się demontażem sprzedają je osobno. Sam komputer składa się zaś z dwóch połączonych modułów: jednostki multimedialnej (MCU) i komputera autopilota – obydwie te części są zamknięte w jednej obudowie.
Do uruchomienia zestawu poza autem potrzebne było również zasilanie 12 V oraz ekran dotykowy, także pochodzący z Modelu 3. Największym problemem okazało się jednak okablowanie. W sprzedawanych częściach przewody są zazwyczaj odcięte, a wykorzystane przez Teslę złącza nie są dostępne w sprzedaży detalicznej.
Pomocna okazała się oficjalna dokumentacja elektryczna publikowana przez producenta. Zawiera ona szczegółowe schematy połączeń, opisy pinów i numery części, co pozwoliło ustalić sposób zasilenia urządzenia i komunikacji z ekranem, a następnie odtworzyć całość. Już pierwsze próby uruchomienia komputera zakończyły się powodzeniem: urządzenie wystartowało i zaczęło odpowiadać w sieci lokalnej – i to nawet pomimo braku podłączonego wyświetlacza.
Dostęp do systemu i sieci wewnętrznej
Po podłączeniu komputera do laptopa kablem Ethernet okazało się, że urządzenie tworzy własną, zamkniętą sieć lokalną. Nie działa w niej automatyczne przydzielanie adresów IP, dlatego konieczne było ręczne ustawienie odpowiedniego. Dlaczego dostęp jest tu tak istotny?
Okazuje się, że w tej sieci aktywne są usługi znane z działającego samochodu. Jednostka MCU udostępnia serwer SSH, ale dostęp do niego jest ograniczony: logowanie wymaga specjalnie podpisanych kluczy, których nie da się wygenerować bez udziału producenta. Równolegle działa też interfejs diagnostyczny dostępny przez przeglądarkę i wykorzystywany przez narzędzia serwisowe. Takie zabezpieczenia nie są przypadkowe. Tesla dopuszcza głębszy dostęp do systemu tylko w ramach swojego programu bug bounty – dopiero po udokumentowaniu podatności badacze mogą uzyskać odpowiednie uprawnienia.
Problemy ze złączami i naprawa sprzętu
Największym wyzwaniem okazało się jednak fizyczne połączenie komputera z ekranem. Oryginalne złącze używane przez Teslę jest praktycznie niedostępne poza łańcuchem dostaw producenta. Próba zastosowania podobnego kabla z innych samochodów też spaliła na panewce: przyczyna tym razem jednak była prozaiczna – nie pasowały wtyczki. Nie pomogło też ręczne łączenie przewodów, które ostatecznie doprowadziło do awarii: pojawiło się zwarcie, które uszkodziło jeden z układów odpowiedzialnych za zasilanie. Naprawa wymagała zidentyfikowania spalonego komponentu i jego wymiany w wyspecjalizowanym serwisie. Dopiero po tej operacji komputer znów nadawał się do użytku.
Ostateczne rozwiązanie problemu okablowania okazało się mało eleganckie, ale skuteczne: badacz po prostu znów przetrząsnął internet i kupił całą wiązkę przewodów z deski rozdzielczej. Po jej podłączeniu komputer i ekran uruchomiły się prawidłowo. System operacyjny samochodu działał poza pojazdem, a interfejs użytkownika był w pełni dostępny na biurku.
Mój komentarz: wystarczyła odrobina samozaparcia i system ruszył poza pojazdem
Pierwotną publikację znajdziecie tutaj i muszę przyznać, że czyta się ją jak dobre opowiadanie przygodowe. To dowód na to, że przy odpowiednim dostępie do części i dokumentacji można odtworzyć środowisko samochodu poza samym autem. Dla badaczy bezpieczeństwa to realna możliwość analizy systemów bez konieczności pracy na kompletnym pojeździe.
Przede wszystkim to jednak przykład pokazujący, że przy odrobinie samozaparcia możemy znaleźć rozwiązanie nawet niecodziennych problemów i „obejść” rozwiązania stworzone nierzadko, by nas powstrzymać. Czyste piękno pracy z technologią. Pozostaje mieć tylko nadzieję, że takimi talentami obdarzeni są ludzie, którzy wykorzystują je w dobrej wierze. Może to naiwne podejście, ale… chciałbym w nie wierzyć. Dla dobra nas wszystkich.
0 komentarzy