Car Hacking 101: A kereskedelem eszközei - 💡 Fix My Ideas

Car Hacking 101: A kereskedelem eszközei

Car Hacking 101: A kereskedelem eszközei


Szerző: Ethan Holmes, 2019

A kiberbiztonság egyre növekvő mértékben fejlődik, és nemcsak az adatok sebezhetőségére, hanem az egyre növekvő számítógépes autókra is kiterjed. Az új könyvében A Car Hacker kézikönyveA Craig Smith az olvasókat átveszi a számítógépes rendszerek és a beágyazott szoftverekből, amelyeket a modern járművekben talál. Ez egy nagyszerű erőforrás, ha megpróbálja megnövelni az automatizálási készségeket, vagy ha érdekel az autók hálózatai és biztonsága.

A következő részlet a hardvereket és a szoftvereket tartalmazza, amelyekről tudnia kell, hogy elkezdheti a gépjárművet. Ez csak egy a sok részletes erőforrás közül A Car Hacker kézikönyve. A könyv most elérhető.


Ez a rész különböző eszközöket tárgyal, amelyeket a jármű kutatása során érdemes használni. Úgy döntöttem, hogy az alacsony költségű eszközökre és szoftverekre összpontosítok, mert számomra fontos, hogy minél több ember vehessen részt a kutatásban.

A nyílt garázsok hajlandóak bemutatni és támogatni az eszközöket az autóipari kutatáshoz. Ha cége nagyszerű terméket hoz létre, lépjen kapcsolatba a nyitott garázsokkal, de hacsak nincs nyitott módja annak, hogy hozzájáruljon az eszközhöz, ne várjon ingyenes hirdetést.

Hardver

Ebben a részben olyan táblákat fogunk fedezni, mint a ChipWhisperer, valamint a CAN-csatlakozást biztosító dongle-szerű eszközöket. Először megnézzük az alacsonyabb költségű, nyílt forráskódú hardvereket, majd felfedezzük néhány magasabb szintű szolgáltatását azok számára, akik egy kicsit több pénzt költenek. Bár sok költséghatékony eszköz áll rendelkezésre a CAN-buszon való kommunikációhoz, az ezekhez az eszközökhöz való kommunikációhoz szükséges szoftver hiányozhat, ezért gyakran meg kell írnia a sajátját.

Alsó végű CAN eszközök

Ezek az eszközök hasznosak a CAN-busz tartalmának szippantásához és az injekciós csomagok csomagolásához. Ezek a hobbi-szintű tábláktól a professzionális eszközökig terjednek, amelyek sok egyedi funkciót támogatnak, és sok különböző CAN-buszt képesek egyszerre kezelni.

Arduino Shields

Számos Arduino és Arduino-szerű eszköz ($ 20 és $ 30) támogatja a CAN-t egy Arduino pajzs hozzáadásával. Íme néhány Arduino pajzs, amelyek támogatják a CAN-t:

CANdiy-Shield MCP2515 CAN vezérlő két RJ45 csatlakozóval és protoarea ChuangZhou CAN-Bus Shield MCP2515 CAN vezérlő D-sub csatlakozóval és csavaros kapcsokkal DFRobot CAN-Bus Shield STM32 vezérlő D-sub-csatlakozóval SeeedStudio SLD01105P -Bus Shield MCP2515 CAN-vezérlő D-sub csatlakozóval SparkFun SFE CAN-Bus Shield MCP2515 CAN vezérlő D-sub csatlakozóval és SD kártya tartóval; csatlakozóval rendelkezik egy LCD és GPS modulhoz

Ezek a pajzsok mind hasonlóak. A legtöbb az MCP2515 CAN vezérlőt futtatja, bár a DFRobot pajzs STM32-et használ, amely gyorsabb, több puffer memóriával.

Függetlenül attól, hogy melyik pajzsot választja, be kell írnia a kódot az Arduino-nak, hogy a csomagokat szippanthassa. Minden pajzs egy könyvtárral van ellátva, amely programosan illeszkedik a pajzshoz. Ideális esetben ezek a buszok támogatnának valamit, mint a LAWICEL protokoll, amely lehetővé teszi számukra, hogy csomagokat küldjenek és fogadjanak a sorozaton keresztül a laptop egy felhasználói felületén, például a SocketCAN-on.

Freematics OBD-II telematikai készlet

Ez az Arduino-alapú OBD-II Bluetooth adapterkészlet egy OBD-II készüléket és egy adatgyűjtőt is tartalmaz, és GPS-vel, gyorsulásmérővel és gyro- és hőmérséklet-érzékelővel rendelkezik.

cantact

A CANtact, egy Eric Evenchick nyílt forráskódú eszköze, egy nagyon megfizethető USB CAN eszköz, amely a Linux SocketCAN-al működik. DB 9 csatlakozót használ, és egyedülálló előnye, hogy jumpercsapokat használ, hogy megváltoztassa a CAN és a föld közötti csapokat. Ez egy olyan funkció, amely lehetővé teszi, hogy mind az US, mind az angol stílusú DB9 támogassa az OBD-II csatlakozókat. Itt kaphat CANtact-ot.

Raspberry Pi A Raspberry Pi egy alternatívája az Arduino-nak, amely kb. A Pi Linux operációs rendszert biztosít, de nem tartalmaz CAN adó-vevőt, ezért meg kell vásárolnia egy pajzsot.

A Raspberry Pi használatának egyik előnye, hogy lehetővé teszi a Linux SocketCAN eszközök közvetlen használatát anélkül, hogy további hardvereket kellene vásárolni. Általánosságban elmondható, hogy egy Raspberry Pi beszélhet egy MCP2515-tel SPI-n keresztül, csak néhány alapvető vezetékkel. Íme néhány Raspberry Pi implementáció:

Canberry MCP2515 CAN vezérlő csak csavaros kapcsokkal (nincs D-al csatlakozó; $ 23) Carberry Két CAN buszvonal és két GMLAN vonal, LIN és infravörös (nem tűnik nyílt forráskódú pajzsnak; $ 81) PICAN CAN-Bus Board MCP2515 CAN vezérlő D-sub csatlakozóval és csavaros kapcsokkal ($ 40 és $ 50)

ChipKit Max32 Fejlesztési Tanács és NetworkShield

A ChipKit fórum egy olyan fejlesztési fórum, amely a NetworkShield-szel együtt hálózati értelmezhető CAN-rendszert biztosít. Körülbelül 110 dollár, ez a nyílt forráskódú hardver megoldás az OpenXC szabvány által támogatott, és támogatja az OpenXC előregyártott firmware-jét, de saját firmware-t is írhat, és nyers CAN-t is készíthet.

ELM327 lapkakészlet

Az ELM327 lapkakészlet messze a legolcsóbb lapkakészlet, amely bárhol elérhető (13 és 40 dollár között), és a legtöbb olcsó OBD-eszközben használják. Kommunikál az OBD-vel a soros kapcsolaton keresztül, és csaknem bármilyen típusú csatlakozóval rendelkezik, az USB-ről Bluetooth-ra, Wi-Fi-re stb. Az ELM327 készülékekhez soros kapcsolaton keresztül csatlakozhat, és képesek az OBD / UDS csomagoktól eltérő csomagok küldésére. Az ELM327-et használó parancsok teljes listáját lásd az adatlapon.

Sajnos a rendelkezésre álló CAN Linux eszközök nem fognak futni az ELM327-en, de az Open Garages megkezdte a webes kezdeményezést, amely magában foglalja a CANiBUS nevű ELM327 illesztőprogramjait. Figyelmeztesse, hogy az ELM327 korlátozott puffertérrel rendelkezik, így elveszíti a csomagokat, amikor a szippantás és az átvitel kicsit pontatlan lehet. Ha egy csipet van, ez a legolcsóbb útvonal.

Ha hajlandó megnyitni az eszközt és forrasztani néhány vezetéket az ELM327-hez, akkor visszavonhatja a firmware-t, és átalakíthatja azt LAWICEL-kompatibilis eszközre, amely lehetővé teszi, hogy az uber olcsó ELM327-t használjon a Linux-szal és slcanX-eszközként jelenjen meg ! (Információkat talál az ELM327 flash-jéről a Des Moines, Iowa Area 515 makerspace blogjában.)

GoodThopter Board

A Travis Goodspeed, egy jól ismert hardverhacker, kiadott egy nyílt forráskódú, alacsony költségű kártyát, amelynek CAN interfésze a GoodThopter. A GoodThopter, a népszerű GoodFet eszközökön alapul, az MCP2515-et használja, és a saját egyéni kezelőfelülettel kommunikál. Teljesen össze kell összeszedni és forrasztani az eszközt, de ennek költsége csak néhány dollár lesz, attól függően, hogy milyen részei vannak a helyi hackerspace-en.

Az ELM-USB interfész Az OBDTester kereskedelmi ELM-32x-kompatibilis készüléket értékesít 60 dollárért. Az OBDTester.com a PyOBD könyvtár fenntartói.

CAN232 és CANUSB interfész

A LAWICEL AB a CAN232 kereskedelmi eszközt gyártja, amely egy DB2 csatlakozóval ellátott RS232 porthoz csatlakozik, és egy CANUSB nevű USB verziót (ez utóbbi 110-120 dollár).Mivel a LAWICEL protokoll feltalálói készítették, ezek az eszközök garantáltan működnek együtt a can-utils soros link modulokkal.

VSCOM adapter

A VSCOM egy megfizethető kereskedelmi USB CAN modul a Vision Systems-től, amely a LAWICEL protokollt használja. A VSCOM a Linux-csatornákkal együttműködik a soros kapcsolaton (slcan), és jó eredményeket nyújt. A készülék körülbelül 100 és 130 dollár közötti költséggel jár.

USB2CAN interfész

A 8 készülékből származó USB2CAN átalakító a nem soros CAN interfész legolcsóbb alternatívája. Ez a kicsi, kereskedelmi USB-eszköz a szabványos can0 eszközként jelenik meg a Linuxon, és a leginkább integrált támogatással rendelkezik ebben az árkategóriában. A legtöbb canX nyers eszközként megjelenő eszköz a PCI kártyák, és jellemzően jelentősen többet fizetnek, mint ez az eszköz.

EVTV Felügyelő Bizottság

Az EVTV.me villamos autó-átalakításokra specializálódott. Rengeteg nagyszerű eszközt tesznek az őrült dolgok elvégzéséhez a történelmi járművéhez, mint pl. Egy Tesla hajtómű hozzáadásához. Az egyik eszközük egy 100 dolláros nyílt forráskódú CAN-sniffer, az EVTV Due nevű, ami alapvetően egy Arduino Due, beépített CAN adó-vevővel és fogantyú-csavaros terminálokkal a CAN-vonalakhoz való kapcsolódáshoz. Ezt a táblát eredetileg kizárólag a SavvyCAN szoftverükkel írták le, amely a General Vehicle Reverse Engineering Tool-t (GVRET) használja, de most is támogatja a SocketCAN-t.

CrossChasm C5 adatnaplózó

A CrossChasm C5 egy kereskedelmi eszköz, amely támogatja a Ford VI firmware-t, és körülbelül 120 dollárba kerül. A C5 támogatja a VI-t, amely CAN-fordító néven is ismert, hogy a CAN-üzeneteket OpenXC formátumra konvertálja, és néhány saját CAN-csomagot általános formává alakít át a Bluetooth-on keresztül történő küldésre.

CANBus Triple Board

Ahogy ezt írom, a CANBus Triple még fejlesztés alatt áll. Olyan kábelköteget használ, amely a Mazda támogatását szolgálja, de támogatja a három CAN-buszot bármely járműben.

Nagyobb végű CAN eszközök

A magasabb szintű eszközök több pénzt fognak fizetni, de képesek több egyidejű csatornát fogadni, és több memóriát kínálnak a csomagvesztés megelőzésére. A nagy teljesítményű eszközök gyakran nyolc csatornát támogatnak, de ha nem dolgoznak a versenyautókon, valószínűleg nem kell sok ilyen csatorna, ezért győződjön meg róla, hogy ilyen eszközökre van szüksége, mielőtt készpénzt dobna.

Ezek az eszközök gyakran saját, saját szoftverrel vagy szoftveres előfizetéssel rendelkeznek, néha jelentős hozzáadott költséggel. Győződjön meg róla, hogy a választott eszközhöz tartozó szoftver azt teszi, amit szeretne, mert rendszerint az API-ba és a preferált hardverbe kerül. Ha szüksége van magasabb szintű eszközökre, amelyek Linux-szal működnek, próbálkozzon a Kvaser, Peak vagy EMS Wünsche. Ezeknek a vállalatoknak a készülékei jellemzően az sja1000 lapkakészletet 400 dollár körüli árakon használják.

CAN busz Y-Splitter

A CAN busz Y-osztó egy nagyon egyszerű eszköz, amely alapvetően két DLC-csatlakozót tartalmaz, két csatlakozóra bontva, amely lehetővé teszi, hogy egy portot egy portba csatlakoztasson, és egy CAN-ot a másikba. Ezek jellemzően körülbelül 10 dollárba kerülnek az Amazon-ra, és valójában nagyon egyszerűek.

HackRF SDR

A HackRF SDR a Great Scott Gadgets-tól. Ez a nyílt forráskódú hardverprojekt 10 MHz-től 6 GHz-ig terjedő jeleket fogadhat és továbbíthat. Körülbelül 330 dollárnál nem lehet jobb SDR-t kapni az árért.

USRP SDR

Az USRP egy professzionális, moduláris SDR-eszköz, amelyet az Ön igényeihez igazíthat. Az USRP változó mértékben nyílt forráskódú, 500 és 2000 dollár közötti áron.

ChipWhisperer Toolchain

A NewAE Technologies gyártja a ChipWhisperert. A ChipWhisperer egy olyan rendszer, amely oldalcsatornás támadásokra képes, mint például az energiaelemzés és az órajelzés. Hasonló rendszerek általában $ 30,000 vagy annál többet fizetnek, de a ChipWhisperer egy nyílt forráskódú rendszer, amely 1000 és 1500 dollár között van.

Red Pitaya Board

A Red Pitaya egy nyílt forráskódú mérőeszköz, amely körülbelül 500 dollárra cserél drága mérőeszközöket, például oszcilloszkópokat, jelgenerátorokat és spektrum analizátorokat. A Red Pitaya LabView és Matlab interfészekkel rendelkezik, és saját eszközöket és alkalmazásokat írhat hozzá. Még olyan kiterjesztéseket is támogat, mint az Arduino pajzsok.

Szoftver

Ahogy a hardverekkel is foglalkozunk, először a nyílt forráskódú eszközökre fogunk összpontosítani, majd a költségesebbeket.

Wireshark

A Wireshark egy népszerű hálózati szippantási eszköz. Lehetőség van a Wireshark használatára CAN buszhálózaton, amíg Linuxot és SocketCAN-t használ. A Wiresharknak nincs olyan szolgáltatása, amely segíthet a CAN-csomagok rendezésében vagy dekódolásában, de hasznos lehet egy csipetnél.

PyOBD modul

A PyOBD (más néven PyOBD2 és PyOBD-II) egy Python modul, amely az ELM327 eszközökkel kommunikál. Ez a PySerial könyvtáron alapul és úgy tervezték, hogy kényelmes tájékoztatást adjon az OBD beállításairól. A PyOBD egy speciális leolvasóeszközének villáját lásd Austin Murphy OBD2 ScanTool-jában, amely a teljes diagnosztikai hibaelhárításra irányuló teljesebb nyílt forráskódú megoldássá válik.

Linux eszközök

A Linux támogatja a CAN-illesztőprogramokat a dobozból, és a SocketCAN egy egyszerű netlink (hálózati kártya-interfész) élményt nyújt a CAN kezelésével. Használhatja a can-utils csomagot egy parancssori implementációhoz, és nyílt forráskódú szoftverként egyszerűen bővíthető a funkcionalitás más segédprogramokra is.

CANiBUS kiszolgáló

A CANiBUS egy webkiszolgáló, amelyet a Go by Open Garages programban írtak. Ez a szerver lehetővé teszi, hogy a kutatóval töltött szoba egyidejűleg ugyanazon a járművön dolgozhasson, akár oktatási célból, akár csapat-visszafelé ülő üléseken. A Go nyelv minden operációs rendszerhez hordozható, de lehet, hogy bizonyos platformokon alacsony szintű illesztőprogramokkal kapcsolatos problémák merülnek fel. Például, még akkor is, ha a CANiBUS-t Linuxon futtatja, így nem tud közvetlenül kommunikálni a SocketCAN-szal, mert a Go nem támogatja a CAN-interfész inicializálásához szükséges aljzat-jelzőket. (Ezt a problémát a socketcand alkalmazásával lehet megoldani, de ebből az írásból ez a funkció még nem valósult meg.) A CANiBUS-nak van egy meghajtója az ELM327-nek, amely támogatja az általános szippantást. Tudjon meg többet a CANiBUS-ról, és letöltheti a forrást.

Kajak

A Kayak egy Java alapú GUI a CAN forgalom elemzéséhez. Számos speciális funkcióval rendelkezik, mint például a GPS nyomkövetés és a felvételi és lejátszási képességek. Használja a socket-et, hogy más operációs rendszereken dolgozzon, így legalább egy Linux-alapú snifferre lesz szüksége a Kayak támogatásához.

A SavvyCAN SavvyCAN egy olyan eszköz, amelyet Collin Kidder az EVTV.me-től írt, amely egy másik, az EVTV.me, a GVRET által tervezett keretrendszert használ, hogy beszéljen az olyan HW szippantókkal, mint az EVTV Due. A SavvyCAN egy nyílt forráskódú Qt GUI alapú eszköz, amely több operációs rendszeren működik. Számos nagyon szép funkciót tartalmaz, mint például a DBC-szerkesztő, a CAN-busz-grafika, a naplófájl-különbség, számos fordított tervezési eszköz, és minden normál CAN-szippantási funkció, amit elvárhat. A SavvyCAN nem beszél a SocketCAN-szal, de több különböző naplófájl-formátumban is olvasható, például Bushmaster naplók, Microchip naplók, CRTD formátumok és általános CSV formátumú naplófájlok.

O2OO Data Logger

Az O2OO egy nyílt forráskódú OBD-II adatnaplózó, amely együtt dolgozik az ELM327-el, hogy adatokat rögzítsen SQLite adatbázisba grafikus célokra. Támogatja a GPS adatok olvasását az NMEA-ban.

Gondoskodó Caribou

A Pythonban írt Caribou-t úgy tervezték, hogy az autós hackelés Nmap legyen. Ebből az írásból még gyerekcipőben jár, de sok potenciállal rendelkezik. A Caribou gondozása néhány egyedi tulajdonsággal rendelkezik, mint például a brutális erőkifejtési szolgáltatások, valamint az XCP kezelése. A szabványos szippantási és küldési CAN funkcióval rendelkezik, és támogatja saját moduljait.

c0f Fingerprinting Tool

Az ujjak CAN (c0f) egy nyílt forráskódú eszköz a CAN-buszrendszerek ujjlenyomataira. Alapvető támogatást nyújt a CAN-busz-hálózati adatfolyamok mintáinak azonosításához, amely hasznos lehet, ha egy konkrét jelet keres egy zajos buszon.

UDSim ECU szimulátor

Az UDSim egy GUI eszköz, amely figyelemmel kíséri a CAN buszokat és automatikusan megismerheti a hozzá csatlakoztatott eszközöket a kommunikáció figyelemmel kísérésével. Úgy tervezték, hogy egy másik diagnosztikai eszközzel, például egy forgalmazó eszközzel vagy egy helyi autósüzletből származó leolvasó eszközzel használható.

Az UDSimnek három módja van: tanulás, szimuláció és támadás. A tanulási módban olyan modulokat azonosít, amelyek az UDS diagnosztikai lekérdezésekre válaszolnak, és figyeli a válaszokat. Szimulációs módban a CAN-buszon lévő járművet szimulálja a bolond vagy a diagnosztikai eszközök teszteléséhez. A támadás módban fuzzing profilt hoz létre olyan eszközökhöz, mint a Peach Fuzzer.

Oktán CAN Bus Sniffer

Az oktán egy nyílt forráskódú CAN buszfúvó és befecskendező szelep, amely nagyon szép felülettel rendelkezik a CAN csomagok küldésére és fogadására, beleértve az XML trigger rendszert is. Jelenleg csak Windows rendszeren fut.

AVRDUDESS GUI

Az AVRDUDESS az AVRDUDE .NET-ben írt GUI frontendje, bár jól működik a Mono-val a Linuxon.

RomRaider ECU tuner

A RomRaider egy nyílt forráskódú tuningcsomag a Subaru motorvezérlő egységhez, amely lehetővé teszi az adatok megtekintését és naplózását és az ECU hangolását. Ez az egyik kevés nyílt forráskódú ECU tuner, és képes kezelni a 3D nézeteket és az élő adatgyűjtést. Szüksége lesz egy Tactrix Open Port 2.0 kábelre és a Tactrix EcuFlash szoftverre az ECU firmware letöltéséhez és használatához. Miután letöltötte a vakut az EcuFlash alkalmazással, szerkesztheti azt a RomRaider segítségével. A szerkesztő Java-ban van írva, és jelenleg Windows és Linux rendszeren működik, bár az EcuFlash nem támogatja a Linuxot.

Komodo CAN Bus Sniffer

A Komodo egy többfunkciós rendszer, egy szép multioperációs rendszerrel - Python SDK. Ez 350-350 dollárba kerül, attól függően, hogy egy-vagy kettős CAN interfészt kíván-e használni. A Komodo szigetelő képessége megakadályozza a számítógép sütését, ha valamit hibáztat, valamint nyolc általános célú IO csapot állíthat be, amelyek segítségével külső eszközökről indíthat műveleteket. Komodo jön néhány tisztességes szoftverrel, hogy elinduljon és futhasson, de az igazi előny, hogy saját Komodo szoftvert írhatsz.

Jármű kém

A Vehicle Spy az Intrepid Control Systems kereskedelmi eszköze, amely kifejezetten a CAN és más jármű kommunikációs protokollok megfordítására szolgál. A szoftver egy licencet igényel NeoVI vagy ValueCAN eszközre, mindkettő saját eszközei a Vehicle Spy számára. A ValueCAN3 a legolcsóbb eszköz, amely a Vehicle Spy-vel működik. Egy CAN interfésszel rendelkezik, és körülbelül 300 dollárba kerül. Adja hozzá a Jármű Spy Basic szoftvert, és a költsége körülbelül 1,300 dollár lesz.

A NeoIV eszközök magasabbak, több konfigurálható chan-nellel, körülbelül 1200 dollártól kezdve. Az alapcsomag tartalmaz egy NeoIV-t (Red) és a Vehicle Spy Basic-t 2 000 dollárért, ami egy kis pénzt takarít meg. A járműspy Professional körülbelül 2600 dollárba kerül hardver nélkül. (Az Intrepid webhelyén több lehetőséget talál.)

Minden Intrepid hardver eszköz támogatja a parancsfájlok valós idejű futtatását. A járműspy Basic támogatja a CAN / LIN RX / TX műveleteket. Szükséged lesz a professzionális verzióra csak akkor, ha a gépkocsi-hackelés teljes munkaidős projekt lesz számodra, vagy ha ECU villogást vagy más speciális funkciókat szeretne használni, mint például a csomópont szimuláció, szkriptelés a szkifferen vagy memória kalibrálás.



Lehet, Hogy Érdekli

Engadget Expand: A Maker diavetítése Megfelel a Consumer Tech-nek

Engadget Expand: A Maker diavetítése Megfelel a Consumer Tech-nek


A MOMA hozzáadja Arduino-t, Makey Makey-t és még többet

A MOMA hozzáadja Arduino-t, Makey Makey-t és még többet


A Lobster Eyes inspirálta a sugárzó fűtőtestet

A Lobster Eyes inspirálta a sugárzó fűtőtestet


Hordozható rotációs telefon - előzetes ellenőrzés

Hordozható rotációs telefon - előzetes ellenőrzés






Legutóbbi Hozzászólások