New scoring systems for software security: CWSS and CWRAF
- — 29 June, 2011 03:00
With the surge in hacktivism and nation-state espionage in recent years, not to mention the continuing high levels of cybercrime, companies need better tools to evaluate the quality of any developer's code.
To that end, government contractor Mitre, the SANS Institute and the U.S. Department of Homeland Security announced Monday two frameworks for evaluating programming weaknesses and their impact on critical business systems. The first project helps companies and software developers use the same language when discussing programming vulnerabilities. Known as the Common Weakness Scoring System, the initiative defines the severity of certain weaknesses and prioritizes them by their potential impact.
"Up to now, this industry basically said, 'There is bad stuff in your code, so run your code through our tool and we will tell you about a bunch of bad things that you can get rid of,'" says Bob Martin, program director for Mitre. While newer tools prioritized potential defects in the software, "every vendor had its own prioritization, which may or may not have anything to do with how bad certain weaknesses were."
Read CSO's article on enterprise risk management, of which software security is a concern.
The CWSS is an attempt to come up with a common scoring system for vulnerabilities. As part of the announcement, Mitre teamed with the SANS Institute, an education and training organization, to reveal their annual list of the top-25 vulnerabilities affecting software. This year, the three most significant vulnerabilities are SQL injection, OS command injection and perhaps that old standby, the buffer overflow.
While the ratings help developers to focus on taming certain defects in their code, the lists do not measure the impact of the vulnerabilities on a specific company's environment. For that, Mitre created the Common Weakness Risk Analysis Framework, or CWRAF, pronounced "craft." The project aims to allow a company to create a "vignette," or scenario that combines the domain in which the software is used along with the technology and business impact. An industrial control system, for example, might encompass embedded systems and control systems in the energy industry that could shut down a company if they failed.
Read about the ingredients of an information systems audit, which should include a good risk analysis
"CWRAF allows you to work through -- what is the type of application and what are the business concerns that drive you to care about one kind of failure mode versus another," Martin says.
Yet, companies should not expect to see significant changes in how they manage the software development process -- yet. Both CWSS and CWRAF are still evolving, says Jacob West, director of security research for HP Fortify, the static code analysis unit of Hewlett-Packard.
"One of the primary problems for a software shop is the technology to find problems has evolved a lot in the last 10 years, but now we need to figure out how to prioritize the issues and figure out how to deal with them."
The whole point of the systems is to automate analysis of vulnerabilities, so that developers and their customers can better triage security issues. At the same time, the systems have to be flexible enough for a human to step in an assign value to the systems that may be affected by vulnerabilities.
"One of the challenges for anyone that tries to prioritize vulnerabilities in an automated fashion like this is going to be that nuance, that business context," West says. "Making a system that can be both generalizable and heavily automatable, but also remain flexible enough to allow a human to influence it in the necessary places is very difficult."
Read more about network security in CSOonline's Network Security section.