It may help if you think of your car as just another server. Any connection between the server and client can be encrypted of course, using well-known tools. Besides that, the car can be made to not accept updates that are not signed by the manufacturer, so your only exposure is to the manufacturer.
Of course someone may have physical access to your car and be able to write new software locally, but then they may also be able to do mechanical sabotage, so it's not a new risk.
So you basically have to trade off one kind of security (the manufacturer can update my car remotely) with another (security bug announced in the software my car runs, I am now a sitting duck).
It definitely takes a shift in perspective, but in the brave new world where cars (and other things) run millions of lines of code, over-the-air updates are a necessity. (but of course I'd say that).
I've written a bit more about this conundrum here - https://resin.io/blog/you-cant-secure-what-you-cannot-update...