Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Vulnerabilities / Threats

9/28/2015
10:30 AM
Anna Chiang
Anna Chiang
Commentary
50%
50%

Deconstructing The Challenges Of Software Assurance For Connected Cars

Ensuring software security in the auto industry will entail careful attention to all aspects of software development: design, coding standards, testing, verification and run-time assurance.

Hacking of cars has become a hot topic. If you have any doubt, consider the extensive coverage of the remote takeover of a Jeep Cherokee by security researchers Charlie Miller and Chris Valasek via a security vulnerability in the car’s UConnect infotainment software.

One part of a solution to a real-world hack may be to separate potential attack points (telematics, Bluetooth and radio) from safety-critical car functions (braking, steering and acceleration). But external communication to connected cars (WiFi car software updates and GPS/sensors for future autonomous cars) will still be necessary in some vehicles.

It’s gotten to a point where almost anything in a modern car that is electronically controlled (GM OnStar app, BMW ConnectedDrive and car key fobs) can and will be hacked unless stringent system and software security design considerations and processes are put in place.

The scale of the problem is enormous. Today, mainstream cars may contain tens of millions of lines of software code executing on over a hundred electronic control units (ECUs). Ensuring software security in the auto industry will entail careful attention to all aspects of software development: design, coding standards, testing, verification, and run-time assurance.

It will also be necessary for the industry to secure communication interfaces (radio, media, wireless, telematics, vehicle-to-vehicle), isolate key functions, monitor for anomalous messages on vehicle networks and guarantee the security of supply-chain components. And, with so many third-party components as well as home-grown code, a robust source code management (SCM) or version control platform will be essential to track and manage source code development and provide detailed audit logs for industry standards compliance (ISO 26262) or as part of fault or accident investigations.  

Even minor bugs have consequences

If a mobile game app crashes due to a software bug, annoyed users may stop using it and download something else. In a car, however, the consequences of a minor software bug can be catastrophic. For example, in 2014 Honda publicly admitted that a software defect in an ECU caused unintended acceleration and recalled 175K hybrid cars.

Software vulnerabilities that occur in “unsafe” languages such as C and C++ (format string attacks, buffer overflows, dangling pointers, and privilege escalation bugs) can also be leveraged by attackers to gain access to sensitive automotive systems. Some automakers have been hesitant to move away from C / C++ because of existing legacy code investments, smaller memory footprint, real-time execution constraints, and the need to write low-level device drivers; although recently, available memory-safe alternatives such as Rust and Ivory show some promise.   

Going forward, software assurance in cars will be even more challenging as automated parking assistance and lane guidance becomes more widely available and self-driving autonomous cars appear on the horizon. Connected cars are also being refreshed more frequently with some vehicle features even being updated via over-the-air firmware updates (Tesla max speed and pseudo-autonomous capabilities), which opens up even more security breach concerns.

Current standards, future needs

Automotive industry software development standards and guidelines such as the Motor Industry Software Reliability Association [MISRA] C /C++ standard) try to prevent the use of known bad coding practices.  Several static analysis tools can also scan source code repositories to catch non-MISRA-compliant code and identify software flaws and potential vulnerabilities. Additional tools can detect policy violations, flow analysis, code reviews and run-time errors to identify memory leaks and buffer overflows during the build and test process.

Perhaps the greatest area of concern still to be addressed is the security of supply chain components. In 2014, Toyota was fined $1.2B by the U.S. government for “hiding safety defects and concealing information” that some believed were software defects in its automotive code called attention to by the technical press. This example demonstrates that auto manufacturers will be ultimately held responsible for failures of any part within their vehicles. It’s no surprise, then, that recently more automakers are issuing auto recalls for software safety or security updates than ever before (Fiat, Jeep and Tesla). 

But most ECUs and other components come from third-party suppliers as a “black box” built to auto manufacturers’ requirements and give little visibility into how the hardware and software was developed. Those manufacturers now need to be intimately familiar with every component and version of the software running in their cars that they developed or came from their software supply chain.

Combined with rigorous design for systems isolation, secure software development in automotive systems needs to be a top priority for automakers. Using the right, standards-compliant, modern software development, test, verification and SCM practices is critical for delivering safe and reliable products rapidly in today’s ultra-competitive modern car market. 

Anna Chiang leads go-to-market activities for application security products. Prior to Synopsys, she worked at WhiteHat Security, Perforce Software, and BlackBerry, where she drove product marketing efforts for AppSec and UEBA security products, as well as platform product ... View Full Bio
 

Recommended Reading:

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
RyanSepe
50%
50%
RyanSepe,
User Rank: Ninja
9/28/2015 | 11:09:08 AM
Device Token
To increase security behind smart updating for vehicles a physical device is crucial. The security behind the updates would increase ten fold if before installing them you needed to plug in the device or have the device in close proximity to ensure you are the owner of the car applying the updates. Even then you would need to ensure that updates could only come from a trusted source.

There will still be inherent vulnerabilities as there always are with the IoT but this will help to minimize the vulnerability footprint.
COVID-19: Latest Security News & Commentary
Dark Reading Staff 7/9/2020
Russian Cyber Gang 'Cosmic Lynx' Focuses on Email Fraud
Kelly Sheridan, Staff Editor, Dark Reading,  7/7/2020
Why Cybersecurity's Silence Matters to Black Lives
Tiffany Ricks, CEO, HacWare,  7/8/2020
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
Special Report: Computing's New Normal, a Dark Reading Perspective
This special report examines how IT security organizations have adapted to the "new normal" of computing and what the long-term effects will be. Read it and get a unique set of perspectives on issues ranging from new threats & vulnerabilities as a result of remote working to how enterprise security strategy will be affected long term.
Flash Poll
The Threat from the Internetand What Your Organization Can Do About It
The Threat from the Internetand What Your Organization Can Do About It
This report describes some of the latest attacks and threats emanating from the Internet, as well as advice and tips on how your organization can mitigate those threats before they affect your business. Download it today!
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2020-15105
PUBLISHED: 2020-07-10
Django Two-Factor Authentication before 1.12, stores the user's password in clear text in the user session (base64-encoded). The password is stored in the session when the user submits their username and password, and is removed once they complete authentication by entering a two-factor authenticati...
CVE-2020-11061
PUBLISHED: 2020-07-10
In Bareos Director less than or equal to 16.2.10, 17.2.9, 18.2.8, and 19.2.7, a heap overflow allows a malicious client to corrupt the director's memory via oversized digest strings sent during initialization of a verify job. Disabling verify jobs mitigates the problem. This issue is also patched in...
CVE-2020-4042
PUBLISHED: 2020-07-10
Bareos before version 19.2.8 and earlier allows a malicious client to communicate with the director without knowledge of the shared secret if the director allows client initiated connection and connects to the client itself. The malicious client can replay the Bareos director's cram-md5 challenge to...
CVE-2020-11081
PUBLISHED: 2020-07-10
osquery before version 4.4.0 enables a priviledge escalation vulnerability. If a Window system is configured with a PATH that contains a user-writable directory then a local user may write a zlib1.dll DLL, which osquery will attempt to load. Since osquery runs with elevated privileges this enables l...
CVE-2020-6114
PUBLISHED: 2020-07-10
An exploitable SQL injection vulnerability exists in the Admin Reports functionality of Glacies IceHRM v26.6.0.OS (Commit bb274de1751ffb9d09482fd2538f9950a94c510a) . A specially crafted HTTP request can cause SQL injection. An attacker can make an authenticated HTTP request to trigger this vulnerabi...