There’s a little bit of embedded technology connecting to the internet in nearly all new devices. The types of “things” going internet-enabled include tea kettles (seriously), trainers (sneakers), and televisions.
Also, things that may not be connected to the Internet but are often connected to a local network include medical devices like pacemakers and insulin pumps. This trend, says Art Dahnert, managing consultant at Synopsys, Inc., has been occurring for several years now and it doesn’t look like it will be stopping at any point soon.
The problem is that too many things in the Internet of Things (IoT) are also getting hacked.
You don’t have to look very far to see stories about security cameras being turned into a botnet or your TV being used to spy on you, or a fitness monitor being used to identify secret military bases. The problem with all these attacks is that the software supporting these devices is not being built with security in mind. Often, there is no one thinking of security until it is too late and their IoT device is all over the news.
Nowhere is this more obvious than with today’s cars. The modern vehicle today has over 100 CPUs (co-processor units) and uses millions of lines of code. All this code is needed to support advanced technologies like adaptive cruise control, lane-keep assist, self-parking and emergency braking features, none of which existed 10 years ago.
The combination of new code and new features along with speed-to-market pressures means some corners were most likely cut—including security controls. It is also possible that requirements for security may not have been deemed high enough to make it into the end product. Whatever the reason for not including security at the beginning, an insecure vehicle is ripe for attackers to exploit and take control.
And this is exactly what has happened. Most bad guys who attack automotive software are not looking to crash thousands of cars as they drive down the road; they are going to do what bad guys do, steal stuff. Namely steal the vehicle, or at least what is inside the vehicle. That is exactly what happened in Houston in 2016, with a gang stealing over 30 Jeeps by taking advantage of the lack of security controls in the vehicle’s software.
What can be done?
First, companies need to take security seriously, and to build security into their products from the beginning, using security best practices. This starts with training the development staff about writing secure software, and includes developing or using an architecture that integrates security into the overall system. It is one thing to have securely written modules or components, but if the system passes data (passwords) around in clear text then you will still have a compromise eventually.
As well as secure code and architecture, companies will need to invest in an SDLC that integrates security at specific points within the process. This may include a static code analysis tool that scans the source every time a build started. And finally, having a security assessment (penetration test) performed on the product before it is shipped to production is often used to validate security requirements.
Software security is a journey and these steps are just the beginning. With everything going IoT, every “thing” in the Internet of Things needs to be secure.
The author of this blog is Art Dahnert, managing consultant at Synopsys, Inc.
About the author:
Art Dahnert is an Information Security consultant who has more than 19 years of experience in information technology with over 9 years in application penetration testing. Mr Dahnert has completed hundreds of security risk assessments, penetration tests and vulnerability assessments of web applications, desktop applications and mobile applications.
He has assessed the security of systems and infrastructures ranging in size from small to large including; simple web applications, large enterprise banking applications and fully functional US military-specific deployment systems.