Security Experts:

Connect with us

Hi, what are you looking for?

SecurityWeekSecurityWeek

Vulnerabilities

Galois Open Sources Tools for Finding Vulnerabilities in C, C++ Code

Galois, a firm specialized in the research and development of new technologies, has open sourced a suite of tools for identifying vulnerabilities in C and C++ code.

Dubbed MATE, the tools are the result of a collaborative effort supported by the United States Air Force and Defense Advanced Research Project Agency (DARPA).

Galois, a firm specialized in the research and development of new technologies, has open sourced a suite of tools for identifying vulnerabilities in C and C++ code.

Dubbed MATE, the tools are the result of a collaborative effort supported by the United States Air Force and Defense Advanced Research Project Agency (DARPA).

Now available under the BSD 3-clause license, MATE relies on code property graphs (CPGs) for static program analysis, and can identify application-specific bugs that depend on implementation details and high-level semantics.

The CPG includes a target’s abstract syntax tree (AST), call graph (CG), control-flow graph (CFG), inter-procedural control-flow graph (ICFG), inter-procedural dataflow-graph (DFG), control-dependence graph (CDG), memory layout and DWARF type graph, points-to graph (PTG), and source-code to machine-code mapping.

The suite includes several applications built on top of the foundation of the CPG, including Flowfinder, MATE Notebooks, MATE POIs, and Mantiserve.

Flowfinder provides a browser-based user interface that helps in exploring a program’s code property graph, for interprocedural analysis of dataflows. It supports expanding and contracting semantic representations of code and data, as well as creating and manipulating visualizations of flows between components.

As for MATE Notebooks, MATE uses a Python API for querying the CPG, and offers access to interactive Jupyter notebooks for writing whole-program queries.

The suite also comes with several automated analyses for vulnerability detection, called Points of Interest (POIs), which are written in the same Python API. Potential vulnerabilities can be viewed in Flowfinder.

Mantiserve is designed to integrate the CPG with the Manticore symbolic execution tool, which enables the analysis of low-level issues, including memory corruption. Manticore can be used in two modes, namely ‘exploration’ (for finding memory corruption during traditional symbolic execution) and ‘under-constrained symbolic execution’ (which starts at an arbitrary function in the program).

MATE’s under-constrained feature, Galois explains, enables users to analyze parts of programs that are too large or complex for analysis using traditional symbolic execution, while also allowing them to provide constraints to eliminate false positives.

In addition to helping researchers hunt for bugs in C and C++ applications, MATE is also meant to help with the integration of the CPG and corresponding Python API into other programs.

Related: Google Open Sources ‘Paranoid’ Crypto Testing Library

Related: GitLab Releases Open Source Tool for Hunting Malicious Code in Dependencies

Related: Meta Releases Open Source Browser Extension for Checking Code Authenticity

Written By

Ionut Arghire is an international correspondent for SecurityWeek.

Click to comment

Daily Briefing Newsletter

Subscribe to the SecurityWeek Email Briefing to stay informed on the latest threats, trends, and technology, along with insightful columns from industry experts.

Join this webinar to learn best practices that organizations can use to improve both their resilience to new threats and their response times to incidents.

Register

Join this live webinar as we explore the potential security threats that can arise when third parties are granted access to a sensitive data or systems.

Register

Expert Insights

Related Content

Vulnerabilities

Less than a week after announcing that it would suspended service indefinitely due to a conflict with an (at the time) unnamed security researcher...

Risk Management

The supply chain threat is directly linked to attack surface management, but the supply chain must be known and understood before it can be...

Vulnerabilities

Apple has released updates for macOS, iOS and Safari and they all include a WebKit patch for a zero-day vulnerability tracked as CVE-2023-23529.

Application Security

Drupal released updates that resolve four vulnerabilities in Drupal core and three plugins.

Cloud Security

VMware vRealize Log Insight vulnerability allows an unauthenticated attacker to take full control of a target system.

Vulnerabilities

Patch Tuesday: Microsoft warns vulnerability (CVE-2023-23397) could lead to exploitation before an email is viewed in the Preview Pane.

IoT Security

Lexmark warns of a remote code execution (RCE) vulnerability impacting over 120 printer models, for which PoC code has been published.

Application Security

A CSRF vulnerability in the source control management (SCM) service Kudu could be exploited to achieve remote code execution in multiple Azure services.