10:30 AM
 Tim Mackey
Tim Mackey
Connect Directly
E-Mail vvv

Secure Code: You Are the Solution to Open Sources Biggest Problem

Seventy-eight percent of open source codebases examined in a recent study contain at least one unpatched vulnerability, with an average of 64 known vulnerabilities per codebase.

"Unpatched Vulnerabilities Will Likely Cause Your Next Breach."

"Unpatched Applications Are #1 Cyber Security Risk."

"Unpatched Software Vulnerabilities a Growing Problem."

"Outdated, Unpatched Software Rampant in Businesses."

If those headlines seem familiar, it's because you've read them all over the past decade, dating from March 2018 all the way back to 2008. But the story remains the same: Unpatched software vulnerabilities are the biggest cyberthreat organizations face. The problem is that no one is listening, or, worse, they don't know what software they have and how to patch it.

According to Black Duck by Synopsys' recently released annual report, "Open Source Security and Risk Analysis (OSSRA)," unpatched, vulnerable open source components are the leading security risk across multiple industries. Business sectors represented in the report include automotive, big data, cyber security, enterprise software, financial services, health care, Internet of things (IoT), manufacturing, and mobile apps.

In all, open source components were found in 96% of the codebases scanned last year, with an average of 257 open source components per codebase, the report states. That's no surprise: Open source components and libraries form the backbone of nearly every application in every industry. And use of open source lowers costs and speeds development – both critical in today's agile software world.

But the vulnerabilities found in the over 1,100 codebases scanned for the report are as pervasive as open source itself. Seventy-eight percent of the codebases examined contained at least one unpatched vulnerability, with an average of 64 known vulnerabilities per codebase. Seventeen percent of the audited codebases contained a named vulnerability, such as Heartbleed, Freak, Drown, or Poodle. Poodle was found in 8% of the codebases scanned, Freak and Drown were found in 5%, and Heartbleed was found in 4% of the scanned codebases – a full four years after its disclosure and several well-publicized exploits.

In addition, 8% of the codebases audited for the 2018 OSSRA report were found to contain Apache Struts. Of those, a third contained the Struts vulnerability that resulted in the 2017 Equifax breach, which compromised the personal information of over 148 million consumers. Clearly, neither the vulnerability disclosure nor the resulting breach was enough to prompt these organizations to investigate their applications for this critical vulnerability.

'Houston, We Have a Problem'
Yes, we do, but it's not just about open source. The National Vulnerability Database (NVD) alone listed a record-setting 14,700 vulnerabilities in 2017 versus only 6,400 in 2016. Other reports placed 2017 vulnerability disclosure counts at over 20,000, with nearly 5,000 of those flying under the NVD radar. More than 4,800 of those disclosures were related to open source components.

The open source community does an exemplary job of issuing patches, often at a much faster pace than their proprietary counterparts. But whether it's for proprietary or open source software, an alarming number of companies simply aren’t applying them.

Following are three steps you can take to help you get better at patching:

Step 1. Take inventory: Can you say with confidence that the open source components used in your public and internal applications are up-to-date with all crucial patches applied? If you can't answer that question and can’t produce a full and accurate inventory (bill of materials) of the open source used in your applications, it's time to inventory your open source software. After all, you can’t patch when you don't know what you have.

Step 2. Monitor for threats: Unlike commercial software, where fixes, patches, and updates are (or at least should be) automatically pushed to users, open source has a pull support model – you are responsible for keeping track of both vulnerabilities and fixes for what you use. Mind you, that's a task far beyond spreadsheets and manual tracking. An automated solution for identifying and patching known vulnerabilities in open source components can help you manage vulnerability risks much more effectively.

Step 3. Focus on what is most likely to be exploited: Nearly 5,000 open source vulnerabilities were reported last year, but only a handful – such as Apache Struts or OpenSSL vulnerabilities – are likely to be widely exploited. Further, if a vulnerability isn't present in a dependency you have, it can't be exploited. Triaging prioritization of remediation and mitigation activity based on CVSS (Common Vulnerability Scoring System) scores is essential and also must incorporate information covering the availability of exploits. Exploits might not exist on day zero of a vulnerability disclosure, but they could appear days later. Patch priorities should effectively be dictated by business importance of the system, criticality of the asset, and risk of exploitation.

I can guarantee we'll see more headlines about unpatched software vulnerabilities in the days ahead. Just don't let your organization be part of one of them.

Related Content:

Why Cybercriminals Attack: A DARK READING VIRTUAL EVENT Wednesday, June 27. Industry experts will offer a range of information and insight on who the bad guys are – and why they might be targeting your enterprise. Go here for more information on this free event.

Tim Mackey is a technical evangelist for Black Duck by Synopsys. Within this role, he engages with various technical communities to understand how to best solve application security problems. He specializes in container security, virtualization, cloud technologies, ... View Full Bio
Comment  | 
Print  | 
More Insights
Newest First  |  Oldest First  |  Threaded View
User Rank: Author
6/27/2018 | 10:24:43 AM
Re: use of open source lowers costs and speeds development both critical in today's agile software world.
Fair points on the cost spectrum and development budgets, but I recall a time when performing even basic security assessments like static tests and BVT operations were considered expensive activities. We collectively learned that security needed to be part of software development process, and course corrected. With open source components making up a significant portion of modern codebases, understanding the risks present in those components/libraries needs to be part of the overall budget. After all, software shouldn't go out the door without a clear understanding of any latent vulnerabilities, regardless of source!

Personally, I'd like to see more companies taking continuous security monitoring to the next level and being proactive about security commnication and patch delivery for all software they produce. We can't wait for an attack to patch, but should be ensuring beachheads can't be created through inattention.



Jon M. Kelley
Jon M. Kelley,
User Rank: Moderator
6/26/2018 | 10:26:31 AM
use of open source lowers costs and speeds development both critical in today's agile software world.
There are many tools available that will look for and report on open source vulnerabilities in your code base.  Features among the tools differ, as does cost (e.g. free from OWASP[.]org, or for fee at BlackDuck).  The problem for many SW developers is that they have no budget for making old existing developed code secure, and a tight budget for securing newly developed addons.  Many of these companies don't see "Unpatched software vulnerabilities" as a threat, but instead see the researchers that find the vulnerabilities to be the threat, and promote laws that resrict even looking for vulnerabilities.  I guess that for Wall Street, it's still true that successful companies never look ahead more than a quarter. 
Crowdsourced vs. Traditional Pen Testing
Alex Haynes, Chief Information Security Officer, CDL,  3/19/2019
BEC Scammer Pleads Guilty
Dark Reading Staff 3/20/2019
Register for Dark Reading Newsletters
White Papers
Cartoon Contest
Current Issue
5 Emerging Cyber Threats to Watch for in 2019
Online attackers are constantly developing new, innovative ways to break into the enterprise. This Dark Reading Tech Digest gives an in-depth look at five emerging attack trends and exploits your security team should look out for, along with helpful recommendations on how you can prevent your organization from falling victim.
Flash Poll
The State of Cyber Security Incident Response
The State of Cyber Security Incident Response
Organizations are responding to new threats with new processes for detecting and mitigating them. Here's a look at how the discipline of incident response is evolving.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
PUBLISHED: 2019-03-26
An issue was discovered in the Interpeak IPCOMShell TELNET server on Green Hills INTEGRITY RTOS 5.0.4. The main shell handler function uses the value of the environment variable ipcom.shell.greeting as the first argument to printf(). Setting this variable using the sysvar command results in a user-c...
PUBLISHED: 2019-03-26
tls1.c in Cameron Hamilton-Rich axTLS before 2.1.5 has a Buffer Overflow via a crafted sequence of TLS packets because the need_bytes value is mismanaged.
PUBLISHED: 2019-03-26
utils/find-opencv.js in node-opencv (aka OpenCV bindings for Node.js) prior to 6.1.0 is vulnerable to Command Injection. It does not validate user input allowing attackers to execute arbitrary commands.
PUBLISHED: 2019-03-26
An issue was discovered in the Interpeak IPCOMShell TELNET server on Green Hills INTEGRITY RTOS 5.0.4. The undocumented shell command "prompt" sets the (user controlled) shell's prompt value, which is used as a format string input to printf, resulting in an information leak of memory addre...
PUBLISHED: 2019-03-26
An issue was discovered in handler_ipcom_shell_pwd in the Interpeak IPCOMShell TELNET server on Green Hills INTEGRITY RTOS 5.0.4. When using the pwd command, the current working directory path is used as the first argument to printf() without a proper check. An attacker may thus forge a path contain...