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

Can Glass-Box Scanning Find Your Real Bugs?

When it works, hybrid -- or 'glass-box' scanning -- combines dynamic, black-box analysis with static, white-box code analysis to find bugs and cut down on false positives

In the past, automated software security analysis took one of two tactics: static testing of source code to find probable defects or dynamic testing of the executable at runtime. In the battle between, what's known respectively as white-box and black-box security analysis, there was no middle ground.

Over the past year, however, that's changed: Software security companies have developed products that merge the two models, delivering hybrid analysis -- or "glass-box" -- systems that combine the expert-system analysis of white-box testing with the ability to evaluate any flaws discovered by testing them at runtime. The combination promises to find more vulnerabilities, cut down on false alarms, and deliver more relevant information on exploitability, says Patrick Vandenberg, program director for IBM Security.

"Independently, white-box and black-box have deficiencies," he says. "The more you blend these different methodologies, the more accurate and the more coverage you get."

Better testing techniques are needed. More companies have moved toward vetting their code for vulnerabilities. While companies are using static analysis as part of a move to a secure development methodology, catching bugs and fixing them before their software product ever ships, a hybrid method could save time by focusing their efforts on the most exploitable vulnerabilities, IBM's Vandenberg says.

"Developers still focus very much on features, features, features," he says. "More are becoming aware and are willing to do SDL, but it is very much in the minority."

While hybrid testing has been a topic of research for more than a decade, companies have pushed out a number of second-generation products that better combine the two standalone analysis models. IBM, HP Fortify, and others released their latest hybrid products at last year's RSA Conference.

“The correlation of both static and dynamic testing solutions increases the accuracy of vulnerability detection, reduction of both false-positives and false negatives, and broader coverage of the application,” said Joseph Feiman, vice president at business research firm Gartner, in a release announcing HP's latest product.

This year, the companies are pushing the products as better solutions than just black-box or white-box testing alone. Historically, each method has had its own strengths and weaknesses. Dynamic application security testing (DAST) can quickly enumerate the attack surface area of a program, using a variety of techniques to attack the software and find weaknesses and deliver low false-positive rates; yet runtime scanning sees only the surface symptoms of the vulnerabilities its find and will miss and flaws in portions of the program outside its expertise. Static application security testing (SAST) can more completely explore problems in source code and document the cause of defects; yet the process can also result in the reporting of a large number of false positives, finding defects that have no real impact on the security of a program.

Combining the two theoretically can improve on the weaknesses over using each technique alone. For example, IBM cites tests that show its glass-box system catching triple the vulnerabilities of a black-box system, with no false positives.

In practice, however, the combination of black-box and white-box testing can pose issues, says Chris Wysopal, chief technology officer for application security testing firm Veracode.

"It comes down to a question of, for this effort, how many extra bugs am I finding?" he says. "Could I have done something else with my time to get better results? Hybrid testing seems worthwhile, but it is limited and it's not a silver bullet."

Putting more effort into honing the analysis software behind static or dynamic testing can deliver better results, he adds. For example, hybrid testing finds correlations between statically found defects and runtime analysis, but correlation is not necessarily a gauge of whether a vulnerability can be exploited.

In addition, hybrid testing requires that an agent be placed on the system being tested, and that can be a problem, says Wysopal. He notes that the industry has been trying to move away from putting agents on systems to get security done.

"Whenever you install an agent, you take a performance hit, and it's possible that the agent is going to crash the machine," he says. "Anything that is an agent-based approach has a cost to it, so you have to ask is it worth it to do that."

The technique still has a lot of room for improvement, acknowledges IBM's Vandenberg. Yet as vendors improve static and dynamic analysis on their own, the combination of the two will become more effective, he says.

"In the hybrid discussion, there has been a lot of hype for a year, year-and-a-half," he says. "It's challenging, but we have the research resources to deal with it and to address security a whole."

Have a comment on this story? Please click "Discuss" below. If you'd like to contact Dark Reading's editors directly, send us a message.

Comment  | 
Print  | 
More Insights
Newest First  |  Oldest First  |  Threaded View
COVID-19: Latest Security News & Commentary
Dark Reading Staff 9/25/2020
Hacking Yourself: Marie Moe and Pacemaker Security
Gary McGraw Ph.D., Co-founder Berryville Institute of Machine Learning,  9/21/2020
Startup Aims to Map and Track All the IT and Security Things
Kelly Jackson Higgins, Executive Editor at Dark Reading,  9/22/2020
Register for Dark Reading Newsletters
White Papers
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
PUBLISHED: 2020-09-25
In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, when determining the common dimension size of two tensors, TFLite uses a `DCHECK` which is no-op outside of debug compilation modes. Since the function always returns the dimension of the first tensor, malicious attackers can ...
PUBLISHED: 2020-09-25
In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, a crafted TFLite model can force a node to have as input a tensor backed by a `nullptr` buffer. This can be achieved by changing a buffer index in the flatbuffer serialization to convert a read-only tensor to a read-write one....
PUBLISHED: 2020-09-25
In tensorflow-lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, if a TFLite saved model uses the same tensor as both input and output of an operator, then, depending on the operator, we can observe a segmentation fault or just memory corruption. We have patched the issue in d58c96946b and ...
PUBLISHED: 2020-09-25
In TensorFlow Lite before versions 1.15.4, 2.0.3, 2.1.2, 2.2.1 and 2.3.1, saved models in the flatbuffer format use a double indexing scheme: a model has a set of subgraphs, each subgraph has a set of operators and each operator has a set of input/output tensors. The flatbuffer format uses indices f...
PUBLISHED: 2020-09-25
In TensorFlow Lite before versions 2.2.1 and 2.3.1, models using segment sum can trigger writes outside of bounds of heap allocated buffers by inserting negative elements in the segment ids tensor. Users having access to `segment_ids_data` can alter `output_index` and then write to outside of `outpu...