Even as the White House is calling on federal agencies to make more use of open source projects, there's also a federal effort under way to reduce the number of vulnerabilities in those products via better code review tools and bug bounties.
By the end of September, the Cyber Security Division at the Department of Homeland Security plans to award funding for a project designed to improve the performance of static code analysis tools.
"We're in the process of approving proposals now from academia and small businesses," said Kevin Greene, the division's software assurance program manager.
According to Greene, the static code analysis tools available today generate too many false positives and miss security bugs that often expose vulnerabilities.
"When a tool generates a lot of false positives, developers aren't going to use it," he said. "It creates a bottleneck, a phonebook of false positives they have to triage and go through. Going through all these findings slows them down, so they put the tool on the shelf and won't use it -- and now we have a bunch of vulnerable open source projects in the ecosystem."
Greene said that he's working with industry, government and academics to identify the gaps in the current technology, and to identify areas where improvement is needed. The project is called STAMP, or Static Tool Analysis Modernization Project, and is designed to bring neglected open-source static analysis tools up-to-date.
The division already has a free collection of open source software designed to be used as test cases for code analysis tools, he said, called SWAMP, or Software Assurance Marketplace.
"It helps calibrate what a tool is good at, and not good at," he said. "It's been available to be used since 2014, with close to 1,000 users, 20 static analysis tools that support various programming languages, and close to 2,000 assessments per day."
The goal is to eventually have something like the Underwriters Lab, but for software.
"Just like we have labels on food, we need to put labels on software as part of the whole supply chain risk management process," he said. "So people have some assurance that the software can be trusted, that we can understand the attributes of the software."
The other effort is to create a program that not only helps find new vulnerabilities in open source code, but creates fixes, he said.
As more open source software is created, the number of vulnerabilities goes up as well. Black Duck Software is currently tracking 1.5 million open source projects.
Open source vulnerabilities can be particularly dangerous, according to Black Ducks' Vice President of Security Strategy Mike Pittenger. Open source software can be ubiquitous, he said, and typically has no process where patches are automatically pushed out to users.
In fact, said Greene, many open source projects don't have strong communities or companies behind them to create the patches and otherwise maintain the projects.
"I want to create a bug-bounty approach, a vulnerability incentive research platform, where we leverage the power of crowd sourcing to find vulnerabilities and create fixes for them," he said. "I'm currently exploring ways to figure out how to do that. Hopefully, pretty soon, we can get it in shape and have it as a new project out of our division."
It would start out with a small investment and a discovery phase to see if it is feasible, he said. There are also issues around disclosure and privacy that first have to be addressed.
"But if we can find zero days before the adversaries find the zero days, and come out with fixes, man, we're making a lot of progress," he said.