„Linux“ sistemos ir jų analogų pažeidžiamumas automobilių valdymo moduliuose

Konferencijoje DEFCON 27 buvo pristatytas pranešimas „Jūsų automobilis yra mano automobilis. 1 dalis“, atskleidžiantis automobilių nuotolinio užvedimo sistemų, veikiančių su „Linux“ operacine sistema, saugumo problemas ir jų analogus.

„MyCar“ nuotolinio užvedimo sistema: pažeidžiamumo analizė

Sistemos apžvalga ir rinkos situacija

Daugelis nuotolinio signalizacijos valdymo modulių, tokių kaip „MyCar“, „Linkr LT-1“, „MyCar KIA“, „Visions MyCar“, „Carlink (CL6)“, yra parduodami antrinėje rinkoje. Atkreiptinas dėmesys, kad KIA atstovybės Kanadoje jau kurį laiką diegia šią sistemą arba bent jau programėlę pavadinimu „MyCar KIA“. Tačiau ši programa nebegalima atsisiųsti iš „AppStore“. Nors buvo pasirinkti „Fortin“ ir „MyCar“ produktai tyrimui, vartotojų atsiliepimai forumuose rodo, kad kitos sistemos veikia ne ką geriau ir turi panašių problemų.

Saugumo rizikos ir pavojai

Antrinės rinkos automobilių signalizacijos rinka parduoda produktus su rimtomis saugumo problemomis. Jei DS sistema neteisingai sumontuota automobilyje su mechanine pavarų dėže, nuotoliniu būdu užvedus variklį, automobilis gali nekontroliuojamai pajudėti, jei pavarų dėžėje yra įjungta pavara. Antrasis pavojus yra anglies monoksido (CO) apsinuodijimas, jei automobilis netyčia užvedamas prikabintame garaže. Todėl, jei turite CO sistemą ir pritvirtintą garažą, privalote turėti anglies monoksido detektorius. Niekada nebandykite užvesti automobilio variklio tiksliai nežinodami, kur jis yra, nes pasekmės gali būti pražūtingos.

schema, iliustruojanti pavojus naudojant nuotolinio užvedimo sistemas

„MyCar“ įrenginio techninė analizė

„MyCar“ įrenginys, maža juoda dėžutė su aštuoniais prievadais (du iš jų skirti derinimo sąsajai), veikia su „Linux“ operacine sistema, nors gamintojas to nenurodo. Į programinės aparatinės įrangos apvalkalą lengva patekti naudojant slaptažodį „oelinux 123“. Be to, galima naudoti AE variklį neprisijungus, leidžiantį įvesti AT komandas iš komandinės eilutės, įskaitant komandą pakeisti įrenginio IP adresą, su kuriuo šis modulis bendrauja. Analizuojant pamatytas serverio IP adresas, iš kurio „MyCar“ modulis gauna programinės įrangos atnaujinimus. Įrenginyje yra L prievadas, leidžiantis „klausytis“ modulio gaunamų komandų. Naudojant AE variklį ir pakeitus suporuoto įrenginio IP, buvo nustatyta, kad šis įrenginys bendrauja su DS naudodamas nešifruotą UDP protokolą.

Daugiau informacijos apie įrenginį:

  • Maitinimo įtampa: 3,3 V (įrenginys gali "toleruoti" didesnę maitinimo įtampą)
  • Duomenų perdavimo sparta: 115200 bodų
  • Serverio adresas programinės aparatinės įrangos atnaujinimui
  • Root slaptažodis
  • Nuoroda į vartotojo vadovą
techninės schemos dalis su prievadų aprašymais

Techninės įrangos įsilaužimo iššūkiai

Atliekant techninės įrangos įsilaužimą, būtina turėti atsarginį įrenginį, nes neteisingi veiksmai gali sugadinti įrenginį. Pavyzdžiui, prijungus netinkamą laidą prie DS bloko ir kompiuterio, įrenginys gali pradėti rūkti.

Programinės įrangos pažeidžiamumas

Autentifikacijos problemos

Stebint srautą tarp programos ir serverio, buvo pastebėta, kad sistema naudoja pagrindinį autentifikavimą net registracijos metu. Pirmas dalykas, ką programa daro prisijungdama, yra kreipimasis į žiniatinklio tarnybą, siekiant patikrinti esamą vartotoją. Pasinaudojus anksčiau matytais kredencialais, skirtais patikrinti el. pašto adresą, buvo suteikta „Mycar“ administratoriaus prieiga. Paaiškėjo, kad „Mycar Admin“ paskyra buvo užkoduota mobiliojoje programoje ir iš tikrųjų suteikė administratoriaus privilegijas. Sukūrus užklausą „EngineStart“ iš šios paskyros, automobilis buvo užvestas nuotoliniu būdu.

API raktų naudojimas ir SQL injekcijos

API raktai gali būti naudojami vietoj vartotojo vardo ir slaptažodžio. Bandant autentifikuotis su API raktu, buvo aptikta SQL injekcijos pažeidžiamumas. Pašalinus kabutes ir kablelį iš nukopijuoto API rakto, sistema pranešė: „Padarėte klaidą SQL sintaksėje“, kas rodo galimybę naudoti SQL injekciją, siekiant apeiti prisijungimo procesą ir tapti administratoriumi ar bet kuriuo kitu vartotoju. Tai leidžia nuotoliniu būdu užvesti automobilį naudojant SQL injekciją.

SQL Injection - теория и примеры

Kiti pažeidžiamumai ir „Direct Object Reference“

SQL injekcija gali būti naudojama ne tik autorizacijai, bet ir kitiems parametrams, tokiems kaip URL ar užklausos eilutės kūno parametrai, pakeisti. Be to, sistema naudoja paprasto teksto slaptažodžius SQL injekcijoje. Galima gauti bet kurios komandos, kuri kada nors buvo išsiųsta sistemoje, būseną keičiant ID reikšmę. Yra rasti tiesioginiai objekto referencijos (Direct Object Reference) pažeidžiamumai (2 ir 3 atvejai API), kuriais sistema netikrina, ar vartotojas turi įgaliojimus vykdyti komandą. Pasinaudojus užpuoliko paskyros ID ir aukos įrenginio ID, buvo gautas „MyCar“ programėlės valdymas. Tai reiškia, kad galima rasti bet kurį automobilį mieste, programėlėje nustatyti jo markę ir modelį, o tada nuotoliniu būdu atrakinti automobilį ir jį užvesti. Taip pat galima išjungti ar įjungti signalizaciją, atlikti automobilio serviso meniu pakeitimus ir patikrinti bet kurios komandos būseną.

Nors „MyCar“ kūrėjai bandė ištaisyti sistemos klaidas, pavyzdžiui, įdėdami atvirkštinį tarpinį serverį prieš programą, siekiant paslėpti kredencialus, šie veiksmai nepašalino visų problemų. SQL injekcija buvo saugoma trečiosios šalies paslaugoje, leidžiančioje ja pasinaudoti atliekant vartotojo patvirtinimo procedūrą net ir be slaptažodžio.

duomenų bazės saugumo spragų pavyzdys

M2M sąveikos pažeidžiamumas

Adresų struktūroje pastebėtas elementas „m2m“ atvedė prie M2M Suite svetainės, kurioje buvo aptiktas dar vienas SQL injekcijos pažeidžiamumas, leidžiantis gauti norimą SQL injekciją. Tai įvyko praėjus keliems mėnesiams po to, kai kūrėjai buvo informuoti apie SQL injekcijos problemą.

Privatumo problemos

„MyCar“ modulis turi GPS įrenginį, kuris seka automobilio vietą ir rodo ją programoje. Tačiau paaiškėjo, kad jie saugo daug daugiau informacijos nei reikia dabartinei vietai sekti. Per 13 dienų naudojimosi programa, buvo sukaupta beveik du tūkstančiai aplankytų geografinės padėties taškų. „MyCar“ kūrėjų įmonės „Procon Analytics“ privatumo politikoje nėra nė žodžio apie tokį informacijos rinkimą. Negana to, jie naudoja kitą API, kuri analizuoja tuos duomenis ir nustato dažniausiai lankomas vietas, apie ką taip pat nėra užuominų privatumo politikoje. Įmonės atsakymas į klausimą „Kaip užtikrinti duomenų saugumą?“ yra abstraktus ir nekonkretus, teigiant, kad jie naudoja „savo virtualų debesį“, kuris yra „apsaugotas nuo kitų vartotojų trukdžių“, tačiau tai nesuteikia aiškumo dėl duomenų saugumo.

Išvados ir rekomendacijos

Šiuo metu manoma, kad visos praneštos klaidos, išskyrus privatumo politikos trūkumus, yra ištaisytos. Vis dėlto, jei jūsų automobilyje yra beraktė variklio užvedimo sistema su mygtuku „Start“ ir „MyCar“ sistema, gali būti, kad vairo užraktas neveikia. Svarbu nuolat stebėti programinės įrangos atnaujinimus ir atkreipti dėmesį į sistemų, kurios valdo jūsų automobilį, saugumą.

Ką daryti, jei kompiuteriai ar kitos sistemos patiria gedimus?

Netikėti sistemos gedimai gali sukelti didelių nepatogumų. Pavyzdžiui, pastotėje ištirpus aliumininei šynai dingo viena fazė, dėl ko sustojo varikliai ir netgi buvo pažeisti keli kompiuteriai. Tokiais atvejais svarbu skubiai remontuoti sistemas, esančias jūsų atsakomybės zonoje, ir būti pasiruošusiems nenumatytoms situacijoms, pavyzdžiui, turėti atsarginius įrenginius arba žinoti, kaip atkurti duomenis.

„Linux Debian“ disko gedimo sprendimas

Atsiradus disko gedimams (pvz., sda diskas, iš kurio kraunasi sistema, pradėjo skųstis SMART ir stabdyti), svarbu laiku perkelti visus svarbius duomenis ir sistemas. Pavyzdžiui, /home, /root ir /etc katalogus galima nukopijuoti į kitą diską (sdc). Nors sistema gali veikti iš naujo disko, paleidimo tvarka gali būti probleminė. Tokiais atvejais, nors grubas įrašytas į abu diskus, gali prireikti rankinio koregavimo, kad sistema tinkamai pasileistų iš naujo disko.

Elektronikos komponentų priežiūra ir gedimai

RIFA kondensatoriai ir jų genda

Vieną dieną kiekvienas, susidūręs su senoviška elektronika, susiduria su RIFA kondensatoriais ir jų užsidegimu. Jų pagrindinė problema yra permatomas plastikas, kuris su laiku sutrūkinėja ir praleidžia oro drėgmę, sukeldamas gedimus. Svarbu reguliariai tikrinti ir, jei reikia, pakeisti tokius komponentus.

pavyzdys sugedusio RIFA kondensatoriaus

Korozija ir plastiko detalės

Metalinių dalių korozija gali pakenkti net amžinoms plastiko detalėms, kurios yra įdėtos į lieto metalo gabalus. Rūdys plečiasi, sukeldamos spaudimą ir sulaužydamos plastiką. Tokiose situacijose, neturint specialių įrankių, gali prireikti kūrybiškų sprendimų, pavyzdžiui, plastiko prakiaurinimo įkaitinta vinimi ir sriegių padarymo, kad būtų galima įdėti naują detalę.

Radijo technika ir trikdžiai

FM generatoriaus konstravimo iššūkiai

Konstruojant FM generatorių, ypač naudojant kiniškus modulius be dokumentacijos, gali kilti daug problemų. Skaitmeninė įranga, tokia kaip laboratorinis maitblokis ar multimetras, gali pradėti rodyti netikslumus padidinus galią. Pigūs kiniški radijo imtuvai taip pat gali patirti trikdžius netoli siųstuvo. Blogai suderinti moduliatoriai gali skleisti harmonikas, kurios gali paveikti ne tik kitas radijo stotis, bet ir skaitmeninę televiziją. Tokiais atvejais būtina konstruoti filtrus, siekiant sumažinti trikdžius.

elektroninės schemos dalis su filtrais

tags: #linix #motorai #ir #ju #analogai