Dark Reading is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them.Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Application Security

8/11/2020
05:10 PM
50%
50%

Developers Need More Usable Static Code Scanners to Head Off Security Bugs

As companies "shift left" -- pushing more responsibility for security onto developers -- the tools that are available are falling short, usability researchers say.

While programmers are increasingly being asked to fix security issues during development, common software security scanners — known as static application security testing (SAST) tools — have a variety of usability issues that make them less accessible to developers, according to research presented at the USENIX Symposium on Usable Privacy and Security (SOUPS) on August 11.

The research, conducted by researchers at Lafayette College and Google, found that the tools failed to provide obvious actions to manage the results of a scan or to fix vulnerabilities, failed to provide recommendations to prioritize vulnerability remediation, and had significant issues scaling to represent a large number of results. Other issues included inaccurate results and problems accurately identifying where in the software the defect occurred.

The research is not meant to call out those specific tools but to identify common problems in static code scanners that could prevent them from being accessible to developers, Justin Smith, assistant professor of computer science at Lafayette College, said during his virtual session at the symposium.

"We are trying to understand the specific usability issues that detract from static analysis tools so we can eventually build easier-to-use tools that will lower the barriers to entry and enable more developers to contribute to security," he said. 

The research comes as developers are increasingly being tasked with taking responsibility for the security of their code, often by getting earlier results of security analyses as they write their code. The simplest form of such tools are linters — named after "lint," a Unix-based code scanner — that use a variety of pattern matching and simple analysis to highlight potential code defects. More extensive static application security testing (SAST) tools perform a variety of analyses using source code to identify potential security vulnerabilities.

However, irrespective of how the tools perform, their usability is often an afterthought, said Smith, who conducted the research while a PhD student at North Carolina State University. The paper, titled "Why Can't Johnny Fix Vulnerabilities: A Usability Evaluation of Static Analysis Tools for Security," describes a heuristic walkthrough approach to analyzing the software as well as a survey of users.

"A lot of the times when people are designing these static analysis tools, their priority is to help them find an issue," he said. "But that mindset leads them to build the scanners that find hundreds of issues and don't make it very easy to actually fix those issues. So, by encouraging people to conduct these inexpensive heuristic walkthroughs or usability evaluations, they can look at their tools from a different perspective."

The researchers focused on four tools: three open source SAST tools and one commercial tool. They selected tools that had a significant user base but are different enough from each other to provide a variety of potential issues to study. The researchers considered 61 different tools, but they decided on the four SAST programs to allow a variety of issues to be found and because they had complex-enough user interfaces to have potential issues.

The open source tools included Find Security Bugs (FSB), a Java code scanner that can find 125 different types of vulnerabilities; RIPS, a PHP application scanner that can find more than 80 different types of vulnerabilities; and Flawfinder, a command-line tool for discovering dangerous code in C and C++. The single commercial tool was not named in the research because of license agreement requirements.

"We were trying to select different types of user interfaces," Smith said. "We could have chosen four linter tools that all had the same interfaces, but then once we got to the fourth [linter], we would likely not find any new usability issues."

The two most common usability issues for the code scanners were a lack of information about results and next steps and a failure to provide intuitive interface elements, or "affordances," to convey information simply and efficiently. The concept of "affordances" is a significant part of usability design, providing elements that simply show a user what potential actions they can take without needing advanced knowledge of the tool or application. A common scenario is a checkbox user interface element that can turn on a feature. 

Several of the tools failed to provide good interface elements for managing the list of vulnerability results. Most of the tools also failed to provide simple point-and-click actions to perform a recommended fix of the code.

To better serve developers, security tools should better communication the discovered issues and how to fix the vulnerabilities, as well as place such alerts within the code editor, to avoid switching between two contexts, the researchers stated in their paper. In addition, the tools should add more context — such as using actual variable names — to more clearly flag problems for developers.

Related Content

Veteran technology journalist of more than 20 years. Former research engineer. Written for more than two dozen publications, including CNET News.com, Dark Reading, MIT's Technology Review, Popular Science, and Wired News. Five awards for journalism, including Best Deadline ... View Full Bio
 

Recommended Reading:

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
COVID-19: Latest Security News & Commentary
Dark Reading Staff 9/17/2020
Cybersecurity Bounces Back, but Talent Still Absent
Simone Petrella, Chief Executive Officer, CyberVista,  9/16/2020
Meet the Computer Scientist Who Helped Push for Paper Ballots
Kelly Jackson Higgins, Executive Editor at Dark Reading,  9/16/2020
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
Special Report: Computing's New Normal
This special report examines how IT security organizations have adapted to the "new normal" of computing and what the long-term effects will be. Read it and get a unique set of perspectives on issues ranging from new threats & vulnerabilities as a result of remote working to how enterprise security strategy will be affected long term.
Flash Poll
How IT Security Organizations are Attacking the Cybersecurity Problem
How IT Security Organizations are Attacking the Cybersecurity Problem
The COVID-19 pandemic turned the world -- and enterprise computing -- on end. Here's a look at how cybersecurity teams are retrenching their defense strategies, rebuilding their teams, and selecting new technologies to stop the oncoming rise of online attacks.
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2020-14180
PUBLISHED: 2020-09-21
Affected versions of Atlassian Jira Service Desk Server and Data Center allow remote attackers authenticated as a non-administrator user to view Project Request-Types and Descriptions, via an Information Disclosure vulnerability in the editform request-type-fields resource. The affected versions are...
CVE-2020-14177
PUBLISHED: 2020-09-21
Affected versions of Atlassian Jira Server and Data Center allow remote attackers to impact the application's availability via a Regex-based Denial of Service (DoS) vulnerability in JQL version searching. The affected versions are before version 7.13.16; from version 7.14.0 before 8.5.7; from versio...
CVE-2020-14179
PUBLISHED: 2020-09-21
Affected versions of Atlassian Jira Server and Data Center allow remote, unauthenticated attackers to view custom field names and custom SLA names via an Information Disclosure vulnerability in the /secure/QueryComponent!Default.jspa endpoint. The affected versions are before version 8.5.8, and from...
CVE-2020-25789
PUBLISHED: 2020-09-19
An issue was discovered in Tiny Tiny RSS (aka tt-rss) before 2020-09-16. The cached_url feature mishandles JavaScript inside an SVG document.
CVE-2020-25790
PUBLISHED: 2020-09-19
** DISPUTED ** Typesetter CMS 5.x through 5.1 allows admins to upload and execute arbitrary PHP code via a .php file inside a ZIP archive. NOTE: the vendor disputes the significance of this report because "admins are considered trustworthy"; however, the behavior "contradicts our secu...