I didn't think it was possible to have all of my favorite things in one video: Raspberry Pi, CANbus, Tesla cars, Node.js, and websockets 😮❤
@sagargolliwar
7 жыл бұрын
awesomeguy2802 yes all in one video unbelievable, applied science 👍👍
@ZeddysZ
7 жыл бұрын
what a time to be alive
@dzhiurgis
7 жыл бұрын
start by getting respberry pi and learning react.js
@tommihommi1
7 жыл бұрын
awesomeguy2802 don't forget a nice oscilloscope
@letsgocamping88
7 жыл бұрын
I can't believe that anyone would list CANbus as one of their favourite things
@ElectraFlarefire
7 жыл бұрын
I'd suggest logging what the Tesla is trying to connect to/ping on the internet and use the Pi's server to trick it into meeting those requirements. Might be a way to get around the teatherd phone problem.
@AppliedScience
7 жыл бұрын
I gave it a quick try this afternoon, and found that tcpdump doesn't work when the usb0 interface is active. It's possible that I had a network misconfiguration (the android phone DHCP issues addresses on the subnet that I had just happened to choose for my own WiFi network), and didn't realize this at first. I'll investigate more later. I agree that a replay attack may work well.
@Molb0rg
7 жыл бұрын
just take notebook - up the wifi AP on it, try to connect the car with running tcpdump. R-PI is ok for the task too, you just have to have some display, that is the reason to use a notebook. They might use robust ways to determine if it is real internet or not (ssl connection to tesla servers, or any known server, but I doubt they do)
@efari
7 жыл бұрын
i'm quite positive the car will try to setup a secure connection to Tesla servers... so spoofing that with the RPi will not be possible...
@Molb0rg
7 жыл бұрын
+freakaefari if it the case, at least you will be able to see that it is the case, and probably it might be the case after next update after that video )) I doubt for the following reason what if the servers are not accessible, so then the internet is gone for all cars? Most likely it pings or tries to resolve some domain names (firmware upgrade domains or something like that)
@efari
7 жыл бұрын
good point. well, only 1 way to find out, i guess...
@fission1110
7 жыл бұрын
Very cool! I've been getting into car hacking lately as well. I'm hoping to build some cool data logging digital gauges. I should mention that linux has built in CAN bus support in the kernel that treats CAN as a network interface device. There is a suite of tools that can be used to display can bus information. cansniffer, canlogserver, candump, cangen.. One of the most useful is the ability in cansniffer to display ONLY values that have recently changed. It really helps with reverse engineering because you can try messing with things and it will only display the values related to the thing that you're messing with.
@mirkorenerLT
7 жыл бұрын
ryan edge thanks for sharing this information 😊😊😊😊
@RaglansElectricBaboon
6 жыл бұрын
That's really useful. Thank you.
@Spoif
7 жыл бұрын
That's one very expensive digital scope you've got there.
@DigitalYojimbo
7 жыл бұрын
Spoif Tektronix ? I prefer agilent or keysight.
@Spoif
7 жыл бұрын
+DigitalYojimbo Personally, I prefer Agilent too.
@allcopseatpasta6976
7 жыл бұрын
I bought myself a hameg ... made in western germany. Still better than no scope at all.
@DigitalYojimbo
7 жыл бұрын
Fatalcreator rohde schwarz ? or hameg ? probably hameg by the west German reference. classic, but good luck trying analyze logic with that ;)
@derkeksinator17
7 жыл бұрын
DigitalYojimbo I have a Tek 466 and did single takes then writing down the timings to figure out a bus issue from an AD converter, good times... I wish I could afford a nice scope
@slowmopoke
7 жыл бұрын
A Controller Area Network (CAN bus) is a vehicle bus standard designed to allow microcontrollers and devices to communicate with each other in applications without a host computer. It is a message-based protocol, designed originally for multiplex electrical wiring within automobiles, but is also used in many other contexts.
@UncleKennysPlace
5 жыл бұрын
It's used in aircraft.
@brendanstanford5612
7 жыл бұрын
Been missing your videos
@AppliedScience
7 жыл бұрын
I miss making videos too! Even though I'm really busy with work these days, I feel like I need to up my motivation game. I used to be more productive in the past despite the work load. Got any motivation tricks?
@aoshi1992
7 жыл бұрын
Applied Science well you make us happier and less dumb
@girrrrrrr2
7 жыл бұрын
Anything cool at work that you might be able to talk about? or film... probably not, but it would be cool
@BeardedDragonMan1997
7 жыл бұрын
Applied Science heres a motivation, you bring happiness to many people with your videos including me. Happiness is the greatest gift you can give someone, thrive on that.
@brendanstanford5612
7 жыл бұрын
Applied Science. Ummm... Cannabis and good music works great for me, but I am a self employed artisan. I don't require the critical thinking part of the brain vs someone such as yourself lol. Is there any new tools or equipment that you want to acquire? New experiments always seem to get you back in the shop for video content:)
@thoughtx4728
7 жыл бұрын
I've watched most of your videos and have been for a couple years now. You are by far one of the most intelligent and capable channels that we have to watch. Thank you for all the great work and inspiration.
@Serachja
7 жыл бұрын
I bet Nicolas Tesla would have enjoyed watching all your projects, including this one :-)
@w2aew
7 жыл бұрын
Hmm, DeLoreans, old trucks and Telsas (and an MDO4000)... ...Ben's garage is a great place to be!
@AppliedScience
7 жыл бұрын
:) For both test equipment and cars, both new high-tech and old/quirky is a lot of fun.
@anthonycalia1317
7 жыл бұрын
You have that gift of being able to explain complex projects in a manner that even cave dwellers like myself can understand. Nice work, please keep it up, and thanks.
@Fanzindel
7 жыл бұрын
You had me at "ODB2" you prankster you. I was getting a little suspicious at "the number of amps being pulled out of the battery pack" though
@Hunterr8
7 жыл бұрын
I think I've only ever understood about 20% of what you've ever talked about... I don't even know why I watch, but I just find it relaxing and the stuff you do looks cool... lol
@nelsonmachupa
6 жыл бұрын
Would LOVE to see a follow up video to this to see all the progress you’ve made!
@Verrisin
7 жыл бұрын
11:40 - when your car ends up being less secure as a result of them trying to make it more secure. XD
@tiitsaul9036
7 жыл бұрын
you are the coolest nerd in youtube
@magoostus
7 жыл бұрын
what I dont understand is why the car doesnt already have a cool readout like this already. its like engineers forget about the nerds like us that DO want to see this data and find it so fascinating
@fluteplayerify
7 жыл бұрын
yeah, any car with an lcd could do this. It would be nice if it could show you why the check engine light is on at least.
@Molb0rg
7 жыл бұрын
programming expenses, UI organization. They try to keep it simple for another half of owners(but let's be real, for 95% of them, and 99.99% in the possible future)
@sarowie
7 жыл бұрын
some morron will look on the screen instead of the street.
@naikrovek
7 жыл бұрын
They don't want you staring at real-time data graphs while you drive. It is very likely a liability requirement set forth by Tesla, Inc. legal.
@mozkitolife5437
7 жыл бұрын
Wait until driverless cars are commonplace. Then you can stare and have nergasms at real-time graphs on the screen to your hearts content.
@lescarneiro
7 жыл бұрын
After seen this video on my recommendations, I had to subscribe without even looking on older videos! Amazing video!
@Platanov
7 жыл бұрын
I can't deny, the "...a little magic..." thing really made me laugh.
@cleitonfelipe2092
7 жыл бұрын
You are the most technological guy I ever met.
@Ariccio123
7 жыл бұрын
that's a really sick scope
@Gmtail
7 жыл бұрын
Sir, you are an awesome dude. I can build circuits and toy around with a scope, but I wish I had half of your knowledge. Thanks for the video..
@DullPoints
7 жыл бұрын
I'll never understand how anyone could thumbs down videos like this. Keep up the super cool science stuff!
@pol1250
7 жыл бұрын
Finally a tesla driver who knows what he is talking of!!!
@DoogieLabs
7 жыл бұрын
With enough development work you can create an advanced diagnostic tool for your tesla. Being able to log and graph things that are not available on the head unit normally is a huge help.
@willynebula6193
7 жыл бұрын
Can I say that explaining to us how you setup your scope and went through the steps was brilliant👍
@williamjohns6551
5 жыл бұрын
The most humble way to flex. I'm not even mad
@LukeLiveforphysics
7 жыл бұрын
You are a hero Ben, congratulations on the Model S! (Saving up for one myself) The motor controller uses large and well heatsinked shunts for phase current measurement, if you decrease the shunt resistance, or intercept the on-shunt amplified signal and scale it down by some amount, the motor controller will drive proportionally higher phase currents relative to the amount of shunt signal attenuation. It may require re-scaling the battery current measurement proportionally as well depending on a number of factors. I don't think it will impact traction control functionality or launch mode.
@mohdghadiyali
7 жыл бұрын
Made my day. Still waiting for SEM upgrade.
@AppliedScience
7 жыл бұрын
I've been thinking about the framegrabber and digital control project for the SEM. I'm planning to use the Teensy 3.6, and was hoping the USB high-speed port would be working soon in client mode, but it could be some time yet. Someone sent me some code to experiment with, so I should probably hunker down and just start doing it.
@Ghaz002
7 жыл бұрын
holy moly where has this channel been all my life
@vejymonsta3006
7 жыл бұрын
Wow, you have so many cool things!
@alessi4249
4 жыл бұрын
I suppose one solution to the attack vector would be to remove the tx pin trace on the MCP can transceiver that way the device would only ever be able to listen to CAN data and not reply. Great video!
@BlaykGiddens
7 жыл бұрын
This is pretty cool, I'm using the same hat in my own car to log info like mpg, trip distance, and DTCs, and send them back to a mobile app on my phone.
@INeedAttentionEXE
5 жыл бұрын
This is really cool, it could be a great debugging tool for third party repair!
@jomiar309
7 жыл бұрын
You are an inspiration to tinkerers and engineers everywhere! I love your videos!
@BasicXStudios
7 жыл бұрын
Since you are only listening to the CAN bus, you coult desolder the TX-Enable pin of the CAN-Bus tranceiver on the Pi shield. Thatway, even if the Pi gets compromised the attacker would not be able to send data to the car. So the security risk gets quite a bit smaller.
@DavidCiani
Жыл бұрын
If you wanted to get really fancy, you could even run the signal through an opto-isolator. The Pi wouldn't be electrically connected to the CAN bus at all.
@MyShopNotes
7 жыл бұрын
Nice scope. Reminds me of using an hp 1630d logic analyser with a 1k trace buffer. lol Technology sure has come a long way in my life.
@Kabodanki
7 жыл бұрын
the price of that scope tho'
@davegtar
7 жыл бұрын
You have a beautiful brain Ben.
@gork42
7 жыл бұрын
Very cool Ben it reminds me of my efforts to RE the BMW I-bus and K-bus back in the day although all I was going for was making a button on the steering wheel roll down all the windows. I have also used a similar webkit websockets browser trick to get realtime apps running on the IP phones at work (Polycom VVX). By the way you might consider testing using noVNC to display the rpi console in the browser. If you run x11vnc to mirror the local display to the vnc client you can use a USB keyboard directly on the pi and you have the display in the car's browser.
@Roflsponge
7 жыл бұрын
OBD2, not ODB2! How dare you I'm definitely offended
@AppliedScience
7 жыл бұрын
I've been saying it incorrectly for years! :0
@Saavik256
7 жыл бұрын
You're not the only one. OBD = On-Board Diagnostic ;)
@blhack123
7 жыл бұрын
ODB is database drivers. Anybody who has ever worked with them and cars is mind poisoned on those terms haha
@ZeddysZ
7 жыл бұрын
you good, on-doard-bionotics basically AI level robo-cyber-tech androids, known as ODB
@MrJimmyjammmy
7 жыл бұрын
I think ODB2 is Wu Tang Clan's new rapper.
@Stisse12
7 жыл бұрын
Cool, Always have been wanted to learn this. Tips on a good start to learn oscilloscope
@deadpoolfanboy3012
7 жыл бұрын
These are the men that we thank god are good and not super villians.
@Uriziel01
7 жыл бұрын
I love the hack, so much potential! Great job done there! I think You could easly persuade car into connecting to `offline` hotspot by just logging all packets on the RPi by the time the car tries to connect into it. There are really not to many options here, they could be using some ICMP communication to just check for particular IP network presence or checking some static response from known service (maybe even just checking public DNS) . You could just log these packets and replay them automatically as needed. I dont belive they would have gone into so much effort that they using any advanced CRC just for that simple task, so this approach should be really effective. Would even love to help You with that - however I wont buy tesla just for that ;) Good luck!
@InnovationBlast
7 жыл бұрын
Ben there's only so many times I can rewatch your videos until you put out a new one Hahah
@albinekb
6 жыл бұрын
That's a neat idea with websockets. Nice.
@willynebula6193
7 жыл бұрын
He's alive! feels like it's been ages since you're last vid
@kentrothermel5242
7 жыл бұрын
Nice Scope and well done on the CAN bus hack.
@TheKingofRandom
7 жыл бұрын
Here so early!
@jeshuagustafson9641
7 жыл бұрын
Grant Thompson - "The King of Random" whoa!!
@brendanstanford5612
7 жыл бұрын
Get back to editing videos Grant
@NIOC630
7 жыл бұрын
clickbait...
@vejymonsta3006
7 жыл бұрын
What are you doing here?! :o
@hey7328
7 жыл бұрын
go back to making dry ice chocolate sillicone proto-putty vacuum chamber liquid nitrogen clickbait videos
@KolossosDD
7 жыл бұрын
You should take a look at Grafana for the graphs in the Browser. It's very powerful for monitoring and works with different timeseries databases.
@Furiends
7 жыл бұрын
Just as a heads up from a security expert. It's unlikely that Tesla made the browser not work with private range IP addresses specifically to prevent what you're doing. The real reason is that Internet facing applications might incorrectly be forwarded to local applications. For example this would allow a website on the Internet to make requests to your routers login page or in your case your car stats page. The only way a browser knows this is happening is if its in the private address range. In your case a browser wouldn't know this because your local website is in the public address range and could unwittingly be used in an attack exactly as warned in your video.
@beachwebcam
7 жыл бұрын
Can you rephrase that? I don't quite follow but am interested in what you are saying.
@Furiends
7 жыл бұрын
JeremyJ My key point is just that Tesla didn't do this to stop homebrew. The rest is the technical reasons why they might block private range IP addresses (those that start with 192.168, 10, 172, etc.). This type of attack involves two concepts, cross site request forgery and privilege escalation. A website loaded in his car could make requests to his stats page (a cross site request) that would not be possible unless his browser did it (privilege escalation) with the result of doing things on his stats page the user wouldn't have expected.
@btc-news
5 жыл бұрын
@@Furiends But this can happen on your phone or laptop, why not in your car?
@Furiends
5 жыл бұрын
@@btc-news I'm not sure what you mean? My point was to counter the notion that Tesla did it to stop homebrew. It's a security exploit to allow local address space be given to a network by a public DNS server.
@pelor92
7 жыл бұрын
For the security concerns, if you are fine only snooping the data passing by and don't plan on transmitting anything (and frankly you shouldn't be anyway, since I'm not so positive the internal can network has been properly fuzz tested) you can just physically unsolder the tx pin between the raspberry and the transceiver, this means that even if an attacker fully owns the raspberry it can only read the data on the bus and it can't sneak anything in, you will lose the ability to specifically request data, but that is the small price you have to pay
@jackjohnson9989
3 жыл бұрын
This is the first video I've come across where the OP uses a lab/bench scope in automotive diagnosis ! Are there any others on KZitem or other sites? And many thanks for sharing this content.
@bm830810
5 жыл бұрын
about the attack risk mentioned, It may be possible to disconnect the can tx pin from the pi side, then the module can only listen to the bus but cannot send anything
@juweinert
7 жыл бұрын
Great to see some new stuff! I totally agree with the text message. Even if I love network connected technology, I'm really against all the "cloud stuff" and always keep stuff like this locally and WAN disconnected. Two ideas: you could run a simple firewall on the rPi, that only allows access from the cars IP address. A better solution would be to use the rPi to create a network using a USB WiFi card. This should be pretty simple to do and you wouldn't be at the risk being kidnapped in the middle of a road trip ;)
@dusanpetrovic2720
7 жыл бұрын
Nice radio dude. It has visualizations and everything! I bet you heard that joke many times already :)
@revealingfacts4all
7 жыл бұрын
I might be able to help you out with what is known as a CAN database. In the automotive industry these database files are often referred to as DBC files. DBC comes from Vector Informatika. There are some good CAN reverse engineering tools on the market that will show you live CAN data and highlight just the values that are changing so you can sort of work out & create your own DBCs. My ISO14229 stack is running in many US vehicles. ISO14229 is the diagnostics protocol that runs on top of CAN sort of like HTML on top of TCP/IP.
@dragonskunkstudio7582
7 жыл бұрын
ODB2... ODB.... ODB... Old Dirty Bastard live and uncut! :P
@TwoMagadan
5 жыл бұрын
Hey - I'd love to see a video on reverse engineering the charge cable. Specifically what communication occurs between the car and the charger both during charging but also even what the signal looks like to open the charge door when transmitted from the button on the charge cable? Love the channel.
@JamesKlafehn
4 жыл бұрын
I am new to CAN but I have a list of codes from my Model X. How do I decode the messages to get a value?
@koffiezet
7 жыл бұрын
You could log it to a timeseries database like influxdb on the rpi and use something like grafana as frontend for your graph visualisation... not sure if the rpi3 is fast enough for that, but you could give it a shot...
@manickn6819
7 жыл бұрын
Excellent work. Hope to see some more data as you figure it out.
@mikesdav
7 жыл бұрын
You could still connect the wires to a Bluetooth obd adapter and use torque to find the pid and log it through your phone. I would be interested to see if you could send an odb command though, the doors are controlled through one of the CAN buses.
@RWGresearch
7 жыл бұрын
oh yeah. lovin the rain down here in LA too ;) "what to do on a rainy day" some fine work Ben. Thanks for sharing!!! ~Russ
@carolynmmitchell2240
6 жыл бұрын
rwg42985 what's up man? Get back into VBM research your getting off track that's what your followers wanna see.
@codycarse
6 жыл бұрын
Still waiting for the next video on this! Loved this one!
@HoffmanEngineering
7 жыл бұрын
Amazing work. I cannot wait for the follow up videos!
@albertogonzalezv3508
7 жыл бұрын
This channel is absolutely great, by far my favourite in YT!! But lately, the frequency of uploaded videos is low. Do you guys know any other channel with similar content?
@Wingman77tws
7 жыл бұрын
You have a model S now! nice, and great video.
@brothertyler
6 жыл бұрын
Hey, that's a really cool way to combine many skills. Very nice. Very good videos.
@verdatum
7 жыл бұрын
Why must you make me miss you so much!?!??!?!? (Overjoyed to see you posting!)
@clayrev
6 жыл бұрын
The OBD2 port is required by law to be there and have certain information in it. I believe it is required to be within 12 inches of the steering column.
@noname_atall
7 жыл бұрын
considering security against hacking, your raspberry pi don't need to be really connected to the internet, the just needs to think it is. so you can wireshar the packets passing through the pi, and see how the car is testing connectivity, then you can make a script on the py that replays the packets you grabbed every time the car tries to detect internet connection.
@donaldkrambeck
7 жыл бұрын
This was so damn interesting. I can't wait to see what you do with this.
@gcm4312
7 жыл бұрын
Great video! But I'm curious to see Tesla's reaction to this.
@forestlampcraft472
7 жыл бұрын
COOL
@hoaivu1478
7 жыл бұрын
That's quite an awesome video! Love the thoughts and processes how to capture CAN bus data! Nice TEK Digital scope by the way!
@babylonfive
7 жыл бұрын
Ben, I had no idea you had a Model S. I've got a 2013 early (Vin less than 3300) S60. Hope things are going well there...
@danb9486
7 жыл бұрын
I've got some of the blank connectors and pins if you need more for testing. I bit the bullet and bought a whole bunch for research my lab is doing with teslas. I've also got the older style connectors as well (both male and female). Let me know if you want to hear more about our research. I havn't mucked around with ethernet yet, but I can tell you from experience if you short out CAN6 chassis, you'll get a whole bunch of nasty errors that pop up on the instrument cluster, but after a restart the errors go away.
@JustinDrentlaw
7 жыл бұрын
I use node.js on my Raspberry Pi's all the time! It's my favorite language :D
@hithere7433
7 жыл бұрын
So cool. I'm sitting here trying to decide how one gets from knowing basically nothing to knowing how to do what you've done here. It's really impressive to an ignorant fool like me. Thanks for sharing. Getting data out and describing it is interesting, but what about going the other way? Seems like one could write and run their own programs: silly horn music or headlight sequences... who knows. Anyways, very cool.
@ZEROSTATIC72
7 жыл бұрын
Thanks for the great videos. :-) P.S. Love the hitchhikers guide reference.
@JeromeDemers
7 жыл бұрын
I would recommend you buy a USB to CAN dongle and get the free software BUSMASTER to start checking CAN data much more easily then your scope.
@kirillvishnevsky6327
7 жыл бұрын
Damn, that's one cool oscilloscope! I want one as my wedding gift
@Rouverius
7 жыл бұрын
One idea is to sniff the packets to see how the car is verifying internet access. It could be a simple ping test to a known IP. If so, IP address spoofing could get you around that issue.
@MrRyanthegreat1
7 жыл бұрын
Microchip CAN BUS Analyzer is a nice tool for capturing data from the CAN bus. Also inexpensive.
@ustoledmysammich
7 жыл бұрын
You might be able to monitor the traffic flow when it is connected to the internet to find out what process the car uses to check for an internet connection. Than you could have your Pi respond to the checks with crafted packets, and you don't need your phone tethered all the time. I'd imagine it uses a simple system like Windows does.
@TheToaol
7 жыл бұрын
That's what came into my mind too. I don't see why this should not work. The Tesla will probably check only for response from one host in the interweb to determine if there is a internet connection available. I mean how else should they check this?
@pcfreak1992
7 жыл бұрын
Wow this is amazing! Please make another video about this topic, it is super interesting! :)
@ac11dc110
7 жыл бұрын
this guy is genius
@koeniglicher
2 жыл бұрын
Is there a follow-up video? In the end you said: we can have a closer look next time.
@milwen
7 жыл бұрын
I wonder if you could determine the method the car uses to verify an internet connection then use the router to restrict web access to that host only. Should improve security.
@Galileocrafter
7 жыл бұрын
Some flight controllers for RC Multicopters have a CAN bus to connect to ESCs and many other things. I don't know if it's the same though.
@cthoadmin7458
3 жыл бұрын
Can’t work out which I admire more: the Tektronix scope or the Tesla. Both unfortunately beyond my means.
@DextersTechLab
7 жыл бұрын
Excellent video as always, thanks Ben!
@ColinRichardson
7 жыл бұрын
Wondered if a "multipart-replace" header would be useful in this situation? I have used that in the past to have a webcam image be pushed to a webpage as a long stream image
@Proffinouille
7 жыл бұрын
cool man you are awsome I use to work with CAN and CANOpen / KWP2000 nets since 15 years new ... I have no tesla under elbow (no money) but if I can help you with differents protocols it will be a pleasure ... anyway congratulations and keep going !!
@vlogerhood
7 жыл бұрын
Super cool. Can you run something like iptables on the Pi to help lock it down from attackers? Since you aren't looking for internet access to work you could just drop all incoming packets except whatever ones Tesla has the system using for internet verification.
@imranmeah950
7 жыл бұрын
If you have can database you can see what each message means and what the value represents.
@doejohn8674
5 жыл бұрын
It would be really interesting to know what kind of data the car wants to send out if it gets an Internet connection.
@XenoTravis
7 жыл бұрын
Heh the auto industry is surprisingly simple and very easy to customize. I may have worked at bosch (which designed CAN) working on their displays for all GM vehicles. ... Maybe 😂
@Braeden123698745
7 жыл бұрын
Man I should look into this I've been wanting to monitor the fuel flow in my car for a long time.
@johanneszwilling
7 жыл бұрын
7:51 😊 Thank you for connecting the dots here (pun intended) in regards to your Twitter Post from weeks ago 😏
Пікірлер: 510