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
Threaded  |  Newest First  |  Oldest First
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 9/21/2020
Hacking Yourself: Marie Moe and Pacemaker Security
Gary McGraw Ph.D., Co-founder Berryville Institute of Machine Learning,  9/21/2020
Startup Aims to Map and Track All the IT and Security Things
Kelly Jackson Higgins, Executive Editor at Dark Reading,  9/22/2020
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
Special Report: Computing's New Normal
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
How IT Security Organizations are Attacking the Cybersecurity Problem
How IT Security Organizations are Attacking the Cybersecurity Problem
The COVID-19 pandemic turned the world -- and enterprise computing -- on end. Here's a look at how cybersecurity teams are retrenching their defense strategies, rebuilding their teams, and selecting new technologies to stop the oncoming rise of online attacks.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2020-24213
PUBLISHED: 2020-09-23
An integer overflow was discovered in YGOPro ygocore v13.51. Attackers can use it to leak the game server thread's memory.
CVE-2020-2279
PUBLISHED: 2020-09-23
A sandbox bypass vulnerability in Jenkins Script Security Plugin 1.74 and earlier allows attackers with permission to define sandboxed scripts to provide crafted return values or script binding content that can result in arbitrary code execution on the Jenkins controller JVM.
CVE-2020-2280
PUBLISHED: 2020-09-23
A cross-site request forgery (CSRF) vulnerability in Jenkins Warnings Plugin 5.0.1 and earlier allows attackers to execute arbitrary code.
CVE-2020-2281
PUBLISHED: 2020-09-23
A cross-site request forgery (CSRF) vulnerability in Jenkins Lockable Resources Plugin 2.8 and earlier allows attackers to reserve, unreserve, unlock, and reset resources.
CVE-2020-2282
PUBLISHED: 2020-09-23
Jenkins Implied Labels Plugin 0.6 and earlier does not perform a permission check in an HTTP endpoint, allowing attackers with Overall/Read permission to configure the plugin.