VANCOUVER, B.C.—There are a lot of different things that developers can do to improve open source code quality, but being driven by fear isn't one of them, according to Window Snyder, chief security officer at Intel.
Snyder participated in a keynote conversation with Jim Zemlin, executive director of the Linux Foundation, at the Open Source Summit on Aug. 30 here, talking about her experiences and recommendations for cyber-security. Snyder joined Intel in July, having previously held executive security management roles at Fastly, Apple, Mozilla and Microsoft.
Snyder said that whenever any of the companies she worked for considered incorporating open-source software, they always analyzed it the same as they would any commercial software. That consideration involved evaluating the code and security to make sure it met the organization’s requirements.
Snyder recommends using different mechanisms to isolate running code to reduce the attack surface as much as possible.
Attacker motivation and tactics have evolved over time and so too has software security. Snyder said that attackers today aren't just looking to grab user credentials and personal information—they are also looking to mine crypto-currency and disrupt infrastructure. Nation-state attackers are involved in fake news and attempts to influence election outcomes, she noted.
"We don't know what we don't know, and building an environment that mitigates risk is hard," Snyder said. "We have to build software that is resilient to tomorrow's threats today."
Snyder noted that in recent years developer awareness of cyber-security issues has increased. There has also been a move toward higher-level programming languages that abstract away memory and cryptography management challenges.
"If you can write code in a language where memory management is not an issue, you lower the risk for memory corruption issues," she said. "Moving to higher-level languages has done more than any training or penetration testing to help improve security."
Offering developers incentives to improve cyber-security is not an easy task either. Snyder said that developers are often motivated by a desire to build new features, and security is not something that is user-facing.
"You don't see security until it fails, but the new feature is something that people see right away," she said. "So it's hard to say the time you spend on security will have a measurable output."
That said, Snyder emphasized the importance of creating a culture of security in development and make it an integral part of all activities. In her view, there is a need to raise the standard for what constitutes a professional development environment and to include a baseline set of cyber-security practices and skills.
While cyber-security is often driven by fear, Snyder said she tries to operate without fear as a primary motivator for a variety of reasons. Among them is fatigue, because there is a constant stream of threats to be afraid of.
"The sky is always falling in cyber-security," Snyder said.
She added that many bugs can lead to a disaster that could compromise critical systems, which could cause developers to have a defeatist attitude that their changes don't matter. The reality of modern cyber-security is that there will be problems, but the goal of developers is to make it harder for attackers to exploit flaws. As such, if attackers want to exploit a vulnerability, they will have to circumvent multiple mitigations.
"Over time, the bar gets high and higher," Snyder said. "It's now a lot harder to compromise an environment because you need multiple vulnerabilities."
While there are a lot of different tools and technologies that developers and organizations can use to improve cyber-security, Snyder said every developer has one of the best tools already built into his or her computer—the Delete key.
"Developers should look for mechanisms to reduce attack surface," she said. "One of the best tools is just the Delete key. You cut out code you don't need and reduce your attack surface, and that makes code more secure."