What We Can Learn From Automotive Recalls

What We Can Learn from Automotive Recalls

People in the software industry tend to think of themselves as pretty sophisticated from a technical perspective. We have plenty of “smart” devices (and know how to use them), are active on social media and are developing some very cool technology. In contrast to software, a lot of manufacturing companies may appear “old school” on the surface. In truth, manufacturing is highly sophisticated. It’s not easy getting all of that technology into the smart phone, not to mention building a machine that can fill 55,000 bottles of beer per hour.

What strikes me, however, is how far advanced many industries are compared to the software industry.

Automotive Recalls

Take product recalls in cars, for example.

In the automotive market, automotive recalls occur when a defect is discovered in a component. Once notified of the defective component by the vendor, car manufacturers issue recall notices to owners of affected vehicles as shown below:

Step 1 – Identify vulnerability in component version(s)

Step 2 – Vehicle manufacturer identifies affect vehicles by VIN number

Step 3 – Notify vehicle owners and schedule repair

Pretty simple, no?

The equivalent in the software world would be a vulnerability in an open source component. Here, the process is not so smooth. First, there is usually no notification process. Users of open source elect to include a component in their software, and are responsible for monitoring the component for updates. Next, nobody knows who has used the component, which versions, or in which applications. This means that all applications and systems need to be tested for the presence of the vulnerability, typically by using a vulnerability assessment tool like Nessus or Metasploit.

Step 1 – Identify vulnerability in affected versions

Step 2 – Issue fixed version and disclose vulnerability via National Vulnerability Database

Step 3 – For major vulnerabilities, a 3rd party generates a rule to identify presence of exploitable version

Step 4 – If an organization is aware of the vulnerability, use tool to test every application and system in your organization to confirm presence of exploitable version

Step 5 – Schedule update

Groundhog Day

Not a great process, but not terrible the first time you do it. The problem is, NVD has published over 6,000 new vulnerabilities in open source since 2014. To protect yourself, you need to go through this process, and scan every application and system, every day.

If the automotive industry followed this practice, for every product defect, every vehicle from a manufacturer that ever used a part from the component’s manufacturer would need to be scanned.

Why does the automotive industry have it easier? Quite simply, they track the components they use.

Every vehicle is built from a collection of components (similar to an application). Each vehicle includes a bill of materials that is unique to the vehicle’s VIN number. Since the component manufacturer knows which “version” contains the defect, and the automobile manufacturer knows which bills of material include affected versions, the process is straightforward.

Know Your Code

We can do something similar in the software world, simply by maintaining an accurate list, or bill of material, of the open source we use in an application, then monitoring threat feeds for information on new vulnerabilities. This allows us to know quickly when a “defect” is disclosed, be confident in declaring which applications are affected, and conduct efficient remediation.

0 Comments
Sorry we missed you! We close comments for older posts, but we still want to hear from you. Tweet @black_duck_sw to continue the discussion.
0 Comments

MORE BY THIS AUTHOR

Vulnerability Remediation – You Only Have 4 Options

| Mar 29, 2017

In my previous post, I wrote about a simple process for triaging vulnerabilities across applications. Once you have the issues prioritized, the vulnerability remediation process is pretty straightforward. You don’t have a lot of options; either remediate the issue, ignore it, or apply other

| MORE >

Vulnerability Management and Triage in 3 Steps

| Mar 23, 2017

Security testing tools can help organizations build better software by identifying vulnerabilities early in the SDLC. For security professionals and developers, however, the hard work begins when the testing is complete. Once you have a list of vulnerabilities across multiple applications, what's

| MORE >

CVE-2017-2636 Strikes Linux Kernel with Double Free Vulnerability

| Mar 20, 2017

We often talk about how open source is not less secure (or more secure) than commercial software. For one thing,commercial software contains so much open source that it’s difficult to find anything that doesn’t include open source. There are, however, characteristics of open source that make it

| MORE >