Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

Konverents DEFCON 27. Sinu auto on minu auto. 1. osa

Video lĂ”pus kuulsite klĂ”psatust - see on mehaanilise rooliluku avamine, millest me ei saa elektroonika abil mööda minna. Peate kasutama midagi mehaanilist, lĂ”hkuma kĂ€sitsi lukusilindrit vĂ”i tegema midagi sarnast, mida ma ei kavatsenud tema autoga teha. Kogu nendes videotes nĂ€idatud pĂŒsivara on pĂ€rast minu kĂ”net GitHubis saadaval, nii et minge lihtsalt slaidil olevale URL-ile ja laadige alla OpenRemoteStart-fail.

RÀÀgime sellest, mis tĂ€pselt juhtub, kui sellesse sĂŒsteemi lisame Interneti, sest see peab ju meile hea olema, eks? Nagu ma ĂŒtlesin, ostsin kaugjuhtimispuldi MyCar. Seda on erinevates versioonides, mul oli Linkr LT-1 mudel.

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

MyCar on lihtsalt kaubamĂ€rk ja selliseid mooduleid mĂŒĂŒakse Linkr LT-1, MyCar KIA, Visions MyCar, Carlink (CL6) jne nimede all. Nagu selgub, on Kanada KIA esindused juba mĂ”nda aega seda sĂŒsteemi vĂ”i vĂ€hemalt MyCar KIA-nimelist rakendust oma autodele paigaldanud. Huvitaval kombel pole see rakendus enam AppStore'is allalaadimiseks saadaval. Samuti tahan mĂ€rkida, et valisin Fortini ja MyCari tooted, kuid vabakutseliste autoalarmide temaatiliste foorumite kasutajate arvustuste kohaselt ei kĂ€itu muud sĂŒsteemid paremini ja neil on sarnased probleemid.

Mul on oluline kĂŒsimus: miks mĂŒĂŒb jĂ€relturu autosignalisatsiooni turg turvaprobleemidega toodet ja see ei huvita kedagi? Seega, kui keegi teist on huvitatud kaugkĂ€ivitussĂŒsteemidest, pöörake tĂ€helepanu paarile olulisele asjaolule. Esiteks, nagu ma varem mainisin, kui DS-sĂŒsteem pole manuaalkĂ€igukastiga autole Ă”igesti paigaldatud, on tĂ€iesti vĂ”imalik, et pĂ€rast mootori kaugkĂ€ivitamist sĂ”idab auto lihtsalt ilma juhita, kui kĂ€igukastis on mĂ”ni kĂ€ik sisse lĂŒlitatud. . See on tĂ”esti ohtlik. Teine oht seisneb selles, et kui keegi pargib auto kinnisesse garaaĆŸi ja paneb kogemata mootori kaugjuhtimisega tööle, vĂ”ib ta kogunenud vingugaasist lĂ€mbuda. Nii et kui teil on CO-sĂŒsteem ja garaaĆŸ, peaksite kindlasti olema vingugaasiandurid.

Kui kasutate DS-sĂŒsteeme, Ă€rge kunagi proovige oma auto mootorit kĂ€ivitada, teadmata tĂ€pselt, kus see asub, sest tagajĂ€rjed vĂ”ivad olla hukatuslikud.

MyCar seade, vĂ€ike must kast, millest vĂ€ljub kaks juhet, omab kaheksat porti, millest kaks on pĂŒhendatud siluri liidesele. Selle liidesega ĂŒhenduse loomine nĂ€itas, et seade töötas all Linux, millest tootja vaikib. PĂŒsivara kestale ligipÀÀs on lihtne parooliga "oelinux 123", kuid AE Engine'it saab kasutada ka sisselogimata, mis vĂ”imaldab sisestada kĂ€surealt AT-kĂ€ske, sealhulgas kĂ€su muuta selle mooduliga suhtleva seadme IP-aadressi.

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

Kui vaatame allolevaid ridu, nĂ€eme selle serveri IP-aadressi, kust MyCari moodul pĂŒsivara vĂ€rskendusi saab. Seade on varustatud L-pordiga, mis vĂ”imaldab “kuulata” mooduli poolt vastuvĂ”etud kĂ€ske. Kasutades AE mootorit ja muutes seotud seadme IP-d, sain kindlaks teha, et see seade suhtleb DS-ga krĂŒptimata UDP-protokolli kasutades.

Ma ei ole seda eriti uurinud, kuid arvan, et see on ĂŒsna oluline ja huvitav fakt. Kui olete huvitatud selle seadme kohta lisateabest, vaadake seda slaidi - see nĂ€itab toiteallika pinget 3,3 V, andmeedastuskiirust 115200 XNUMX boodi, serveri aadressi pĂŒsivara vĂ€rskendamiseks, juurparooli ja linki kasutusjuhendisse.

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

Seade talub kÔrgemat toitepinget.

Nagu ma ĂŒtlesin, on siin pĂ€ris kĂŒlm. Umbes kuu aega pĂ€rast seda, kui ma selle sĂŒsteemi oma tĂŒdruksĂ”brale kinkisin, otsustasin seadme autost vĂ€lja vĂ”tta ja sellega korralikult sĂ”ita. Fakt on see, et terve selle kuu olen ma mĂ”tteid selle seadme haavatavusest eemale tĂ”rjunud. Nad ennustasid jĂ€rgmiseks nĂ€dalaks temperatuuri kuni -30 F°, nii et pidin kiirustama. Ühendasin shelliga ja sain selle tööle, aga kuna mu kodulaboris ei ole mobiilside vastuvĂ”tt kuigi hea, otsustasin kastiga töötada mĂ”nes teises arvutis. Minu kasutataval FTDI-seadmel on lĂŒhike juhe, nii et ma leidsin pikema, ĂŒhendasin selle DS-seadmega, ĂŒhendasin selle arvutiga ja niipea, kui ma toite sisse lĂŒlitasin, hakkas mu seade suitsema!

Õppetund on jĂ€rgmine: kui hĂ€kkite riistvara, pange varuseade valmis! Mu tĂŒdruksĂ”ber sĂ”nastas loo moraali jĂ€rgmiselt: kui teie kaaslane on hĂ€kker, Ă€rge laske tal teie jĂ”ulukinkidega mĂ€ngida! Vaatame nĂŒĂŒd tarkvara, arvan, et siin ei suitse midagi.

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

KĂ€ivitasin keskmise puhverserveri, keelasin oma telefonis SSL-i kinnitamise ja vaatasin, millist liiklust rakendus taustaprogrammi saadab. Registreerimisel mĂ€rkasin, et sĂŒsteem vĂ”ttis mu meiliaadressi ja saatis selle veebiteenusesse, veendumaks, et aadress on seotud olemasoleva kontoga. Huvitav on see, et sĂŒsteem kasutas pĂ”hiautentimist, kuna ma polnud veel kontot loonud. Ma ei teadnud, mida selle teabega peale hakata, nii et kirjutasin selle lihtsalt vihikusse ja liikusin edasi. Tegin oma konto ja logisin sisse ning esimene asi, mida rakendus sisselogimisel teeb, on helistada veebiteenusesse, et kontrollida praegust kasutajat. Nii et ma lihtsalt helistasin sellele veebiserverile varem nĂ€htud mandaatidega, mida kasutati minu e-posti aadressi olemasolu kontrollimiseks, ja sain vastuseks Mycari administraatori juurdepÀÀsu.

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

Ma kahtlesin, kas see on tĂ”eline sĂŒsteemiadministraatori konto, sest vaatamata valjule kĂ”lale olid sellel madalad Ă”igused. LĂ”ppude lĂ”puks tunneme me kĂ”ik selliseid inimesi.

SeetÔttu loon uue pÀringu - kÀsu EngineStart, et auto sellelt kontolt kÀivitada, klÔpsake nuppu "Saada", saan vastuseks kÀsu oleku - "200 OK" ja umbes kolme sekundi pÀrast hakkab mu auto liikuma.

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

Nagu selgub, oli Mycari administraatori konto tĂ”epoolest mobiilirakendusse sisse kodeeritud administraatori konto. Kuid see pole veel kĂ”ik. Ühel eelmisel slaidil nĂ€gite sellist asja nagu API-vĂ”ti. JĂ€llegi, jĂ€lgides oma vĂ”ltsitud puhverserveri liiklust, sain teada, et neid API vĂ”tmeid saab kasutada kasutajanime ja parooli asemel. Kui kasutate kasutajanimena API-t ja ĂŒhte neist vĂ”tmetest, saate kasutaja autentida.

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

Nii et kopeerisin rea "APIKey" sisu, kleepisin selle POST-rakenduse paroolireale ja klÔpsasin nuppu "Saada".

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

See aga ei töötanud ja ma ei saanud pika 5 minuti jooksul aru, miks. LĂ”puks jĂ”udis mulle kohale, et unustasin kopeeritud API-vĂ”tmest jutumĂ€rgid ja koma eemaldada, mida mulle öeldi: "Te tegite SQL-i sĂŒntaksis vea." Mulle sai selgeks, et lihtsa SQL-i sĂŒstiga saate kogu sisselogimisprotsessist mööda minna ja saada administraatoriks vĂ”i mis tahes soovitud kasutajaks. Ma arvan, et keegi pole kunagi ĂŒritanud SQL-sĂŒsti kasutades autot varastada, nii et proovime.

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

Üldiselt logisin oma kontole sisse, vajutasin "Saada" ja sain vastuseks oleku "200 OK". Seekord mĂ”tlesin video salvestada. Natuke pime on, sest filmisin hilja Ă”htul oma kontori aknast. Niisiis, sisestan kĂ€su ja sa nĂ€ed lĂ€bi akna, et auto tuled vilguvad all hoovis. Alguses on nende valgus nĂ”rk, kuid siis hakkavad esituled tĂ€isvĂ”imsusel sĂ€rama - see on mootori sisselĂŒlitamine. Niisiis, kĂ€ivitasin auto SQL-i sĂŒstiga (publiku aplaus).

Kuid see pole veel kĂ”ik. SQL-i sĂŒsti saab kasutada mitte ainult autoriseerimiseks, vaid ka muude parameetrite, nĂ€iteks URL-i, pĂ€ringustringi kehaparameetrite jms asendamiseks. Tegelikult kasutab see sĂŒsteem kĂ”ikjal SQL-i sĂŒsti. Veateateid vaadates nĂ€eme, et seda, mida me parooliks sisestame, vĂ”rreldakse otse andmebaasi parooliveeruga.

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

See tĂ€hendab, et nad kasutavad SQL-i sisestamisel lihtteksti paroole. Nagu öeldakse: "See pole ĂŒldse hea, vaid isegi vĂ€ga halb!" Aga SQL-ist piisab, vaatame, mida saate veel auto kaugkĂ€ivitamiseks teha. Sa lihtsalt saadad kĂ€su “EngineStart” ja vastuseks saad tĂ€isarvulise identifikaatori, mis tĂ€histab selle kĂ€su identifikaatorit, antud juhul on see ID = 3. Tundes identifikaatorit, saad “tĂ”mmata” teenuse, mis teavitab selle olekust. kĂ€sk.

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

Seega, suurendades vĂ”i vĂ€hendades ID vÀÀrtust, "tĂ”mban" vĂ€lja mis tahes kĂ€su oleku, mis on sellesse sĂŒsteemi kunagi saadetud.

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

Midagi eriti huvitavat selles aga pole ja ma ei tea, kas siin on otsene viide mĂ”nele objektile, mille abil saan auto kĂ€ivitada. Nii et ma kĂ€ivitasin oma kontolt seadusliku kasutajana kĂ€su "EngineStart" ja proovisin seejĂ€rel helistada sellele teise kasutaja konto kaudu, millel ei tohiks olla sĂŒsteemile juurdepÀÀsu. Vastuseks sain veateate: "See konto pole hierarhia kontekstis." Nii et vĂ”ib-olla see hĂ€kkimine ei tööta. Kui aga vaatate seda API-d, nĂ€ete, et see dubleerib teavet – kasutaja meiliaadress on seotud tema konto ID-ga.

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

Kui arendate API-t vÔi hÀkkite API-t, vÔib selles URL-is nÀha oleva teabe dubleerimine olla vigade allikas. Sel juhul vÔivad API vead avalduda neljal erineval viisil.

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

Kui vaatate punasega vĂ€lja toodud juhtumeid 2 ja 3, nĂ€ete otseseid viiteid objektile. MĂ”lemal juhul sĂŒsteem ei kontrolli, kas teil on Ă”igus kĂ€sku tĂ€ita. Proovisin 2. juhtumit ja see ei töötanud, aga kuidas on juhtumiga 3? Siin peame lihtsalt URL-is asendama USER_EMAIL konto ID, kuna see on otseselt seotud konto ACCOUNT_ID ID-ga. Varem kasutasime ohvri konto ID-d, nĂŒĂŒd aga rĂŒndaja kontot. Seega kasutasin hĂ€kkeri konto ID-d ja ohvri seadme ID-d, saatsin kĂ€su ja eeldatavasti sain kĂ€su oleku "200 OK" ning sain kontrolli MyCari rakenduse ĂŒle.
Seega saime kolme erineva rĂŒndevektoriga teha kĂ”ike, mida rakenduse seaduslik kasutaja teha sai. See tĂ€hendab, et leiate linnast suvalise auto, saate rakenduses mÀÀrata selle margi ja mudeli ning seejĂ€rel auto kauglukust lahti vĂ”tta ja kĂ€ivitada. Saame alarmi vĂ€lja vĂ”i sisse lĂŒlitada, teha muudatusi auto hooldusmenĂŒĂŒs ja kontrollida mis tahes kĂ€su olekut. Ja seda kĂ”ike saab teha kolmel erineval viisil.

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

On ilmne, et MyCari arendajad pĂŒĂŒdsid sĂŒsteemivigu kuidagi parandada. Nii et kĂ”vakodeeritud paroolide puhul panevad nad lihtsalt rakenduse ette pöördpuhverserveri, et varjata autoriseerimiseks kasutatavaid mandaate. Probleem on selles, et pöördpuhverserverid ei ole maagilised ega suuda kĂ”iki probleeme lahendada. Nad salvestasid SQL-i sĂŒsti kolmanda osapoole teenusesse, nii et isegi ilma paroolita saan seda kasutaja kinnitamise protseduuri kaudu siiski kasutada.

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

Otsustasin URL-i struktuuri lĂ€hemalt uurida. VĂ”ib-olla olete mĂ€rganud, et kĂ”ik sĂŒsteemis kasutatavad aadressid sisaldavad m2m. Otsustades, et see oli MyCari rakenduse autoriseerimismehhanismi teatud tĂŒĂŒpi sisemine interaktsioon, sisestasin need tĂ€hed Google'isse ja avastasin M2M Suite'i veebisaidi. Ainus, mida saate seda vormi nĂ€hes teha, on panna sinna paar ĂŒksikut tsitaati ja vaadata, mis juhtub. Mis juhtub, on see, et saate soovitud SQL-i sĂŒsti (publiku aplaus).

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

Ja see juhtub mitu kuud pĂ€rast seda, kui arendajad teatasid probleemist SQL-i sĂŒstimisega. Kui rakendusel on selliseid probleeme, tuleb see vĂ”imalikult kiiresti parandada, kuid nagu nĂ€ete, pole arendajad midagi ette vĂ”tnud. Minu arvates on selline kasutajate eiramine solvav.

MyCar moodulil on GPS-seade, mis vĂ”imaldab jĂ€lgida teie auto asukohta ja kuvada seda rakenduses. Kuid nagu selgus, ei salvesta nad ainult autode praegust asukohta. Need salvestavad kuradi palju teavet, palju rohkem, kui on vaja auto hetkeasukoha jĂ€lgimiseks. Minu puhul kogunes 13 pĂ€eva jooksul rakendust kasutades veidi vĂ€hem kui kaks tuhat geolokatsioonipunkti kohtadest, mida mu auto kĂŒlastas. MyCari arendajafirma privaatsuspoliitika ei ĂŒtle sellise info kogumise kohta sĂ”nagi.

Asi lĂ€heb aga veelgi hullemaks. VĂ”ite vĂ€ita, et see on vaid asukohateenuse rakendamise kĂ”rvalmĂ”ju. Kuid asi on selles, et selle asemel, et luua loendit kohtadest, kuhu teie auto lĂ€heb, kasutavad nad teist API-d, mis analĂŒĂŒsib neid andmeid ja mÀÀrab kohad, kus teie auto kĂ”ige sagedamini kĂ€ib. JĂ€llegi, minu teada pole privaatsuspoliitikas sellisele funktsioonile vihjet. VĂ”ib-olla pole see nii ĂŒllatav, sest pĂ€rast tonni otsimist leidsin MyCari emaettevĂ”tte nimega Procon Analytics, lĂ€ksin nende veebisaidile ja kĂŒlastasin KKK jaotist. Siin puutusin kokku kĂŒsimusega: "Kuidas tagate andmete turvalisuse?" EttevĂ”tte vastus oli: „Erinevalt avalikest pilvedest, mis vĂ”istlevad andmete salvestamisel prioriteedi pĂ€rast, kasutab Procon Analytics oma virtuaalset pilve, mida kasutatakse ainult meie rakenduse kasutajatele ja mis on kaitstud teiste kasutajate sekkumise eest. See on kĂ”rge turvalisusega spetsiaalne pilvekeskkond, mis tagab hĂ”lpsa kĂ€ttesaadavuse ja teenuse osutamise kiiruse. Tehes koostööd Procon Analyticsiga, vĂ”ite olla kindel, et teie andmed on turvaliselt kaitstud. Ma isegi ei tea, mida selle peale öelda...

Konverents DEFCON 27. Sinu auto on minu auto. 2. osa

Kui lĂ€hete nende Facebooki lehele, saate teada veelgi huvitavamaid asju. Siin kirjutavad nad lihtsalt: "Teabe kaitsmine teie sĂ”iduki kohta on ĂŒlioluline!" No sellise vĂ€itega saan ainult nĂ”ustuda.

Niisiis, tagasi kĂŒsimuse juurde, millest alustasin: "Kuidas see juhtub ja kuidas seda vĂ€ltida"? Ja mis veelgi olulisem, kuidas saame kogukonnana seda vĂ€ltida?

Sellega minu aruanne lĂ”petatakse, kuid saan siiski vastata paarile kĂŒsimusele (publik aplaus).

Kas te kĂŒsite, kas nad parandasid kĂ”ik? Siinkohal arvan, et nad on parandanud kĂ”ik vead, millest ma neile teatasin, vĂ€lja arvatud privaatsuspoliitika vead, mida kĂ”ne lĂ”pus mainisin. Viimane kord, kui seda kontrollisin, oli kĂ”ik muutumatu. KĂŒsimusele, kas saan samamoodi muuta ka auto elektroonilise mootori juhtseadme (ECU) parameetreid, vastan, et minu ĂŒlesandeks oli muuta auto parameetreid ainult MyCar rakenduses. See salvestab sĂ”iduki digitaalse esituse, mida redigeeritakse otsese objektijuurdepÀÀsu, SQL-i sĂŒstimise vĂ”i muu rĂŒndevektori kaudu.

Viimane kĂŒsimus on: kas minu autos on “Start” nupuga vĂ”tmeta mootorikĂ€ivitussĂŒsteem ja kuidas on antud juhul olukord roolilukuga? Minu vastus on, et MyCaril on selline nupp, seega pole sellel sĂŒsteemil roolilukku. Kahtlustan, et kui selle sĂŒsteemi paigaldad, siis roolilukule kindlasti loota ei saa.

Esita video

MĂ”ned reklaamid 🙂

TÀname, et jÀite meiega. Kas teile meeldivad meie artiklid? Kas soovite nÀha huvitavamat sisu? Toeta meid, esitades tellimuse vÔi soovitades sÔpradele, pilve VPS arendajatele alates 4.99 dollarist, algtaseme serverite ainulaadne analoog, mille me teie jaoks leiutasime: Kogu tÔde VPS (KVM) E5-2697 v3 (6 tuuma) 10GB DDR4 480GB SSD 1Gbps kohta alates 19 dollarist vÔi kuidas serverit jagada? (saadaval RAID1 ja RAID10, kuni 24 tuuma ja kuni 40 GB DDR4-ga).

Dell R730xd 2x odavam Amsterdami Equinixi Tier IV andmekeskuses? Ainult siin 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6 GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 telerit alates 199 dollarist Hollandis! Dell R420 – 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB – alates 99 dollarist! Millegi kohta lugema Kuidas ehitada infrastruktuuri ettevĂ”tet. klassis koos Dell R730xd E5-2650 v4 serverite kasutusega 9000 eurot senti?

Allikas: www.habr.com

Ostke DDoS-kaitsega saitide jaoks usaldusvÀÀrne hostimine, VPS VDS-serverid đŸ”„ Osta usaldusvÀÀrne veebimajutus DDoS-kaitsega, VPS VDS serverid | ProHoster