Have they built sufficient firewalls and antivirus to prevent this and how does the system keep those upto date? How do they maintain the ongoing integrity of the software?
Excellent questions. The challenge of adequate testing of such complex software systems is keeping the experts in that topic very busy at present. We are now developing software systems that are so complex that a full verification becomes almost impossible. When the system is a mobile phone that is one thing. When it is a self driving car or an automated system in an aeroplane its another matter entirely (e.g. 737-Max).
I do wonder from time to time when we see features like doors being opened remotely by a mobile phone whether the integrity of the software can remain intact, especially as the cars get older, receive less maintenance and have older software virus updates (if any are done). Unless the software in somehow compartmentalised, you have increasingly more software elements controlling suspension, brakes, vehicle access and hosts of drivers safety features that potentially could be compromised over time.......
regards