Binary Analysis

Binary Analysis
Screenshot: Example buffer overrun detected by CodeSonar's binary analysis.

Example buffer overrun detected by CodeSonar's binary analysis.

CodeSonar 4 offers the first and only commercially-available binary analysis product on the market. Unlike other binary analysis services that require uploading code in order to be analyzed, CodeSonar can be employed on-site, allowing customers to keep their software securely in their own hands.

Binary analysis is available in CodeSonar in two forms: as a standalone analysis tool and integrated with CodeSonar's source code engine. The integrated binary analysis, Mixed Mode, is perfect for customers concerned about the robustness and security of either their own or third-party software, for which source-code-level analysis is either unavailable or insufficient for the level of confidence needed in the software.

Analyze Libraries with Mixed Mode

In CodeSonar 4's unique Mixed Mode, our binary analysis technology is integrated with our source code analysis technology, allowing you to analyze third-party libraries at the same time as you analyze your own code.

You might be interested in:

  • Finding defects in your own code due to misuse of libraries, which might occur because documentation isn't always explicit and there may be error cases that the third-party library handles differently than expected.
  • Finding defects in the libraries themselves that manifest in the way you use the code (for instance, you might call their API with a particular value that should work, but might sometimes cause a memory leak).
  • Performing an audit of the third-party library to make sure it doesn't have important defects.

CodeSonar's integrated binary analysis technology allows you to put these concerns to rest.

Find Defects in Third-Party Code

According to VDC Research, the majority of software that runs embedded devices is now developed by external sources, not in-house development teams. Some of this is open-source, but nearly 30% of code is third-party commercial software, so the source is often unavailable.

Because GrammaTech’s binary analysis technology doesn’t rely on debugging or symbol-table information, it can examine the stripped binary executables that third-party software vendors typically ship. With this capability, the technology enables you to perform a security audit on software without any cooperation from the vendor.

Find and Fix Bugs You Care About

Machine code is well known to be complicated, subtle, and difficult to understand, and as such, finding flaws can be time-consuming, without sufficient help from an automated tool. CodeSonar helps engineers who might not know all of the subtle details of machine code by providing English explanations about what’s happening in the code at the particular point of a detected error.

When paired with CodeSonar’s code visualization features, it also provides a unique advantage for understanding where vulnerabilities exist in your code. With multiple viewing options for visualizing metrics, defects, and sources of input data, you can quickly gain a high-level understanding of what the code looks like.

Sample CodeSonar Checks for Binary Code:

  • Buffer Overrun
  • Integer Overflow
  • Format String
  • Deadlock
  • Data Race
  • Command Injection
  • Use of Vulnerable Functions
  • Shift Amounts Exceeds Width
  • Division by Zero
  • Double Free
  • File System Race Condition
  • Free Non-Heap Variable
  • Unreasonable Size Argument
  • Free Null Pointer
  • Use After Close/Free
  • Null Pointer Dereference
  • Resource Leak
  • User-Defined Checks
  • Many more...