Microsoft open sources CodeQL queries used in Solorigate inquiry

The tool enables developers to scan their code for potential compromises

Microsoft sign attached to a building

Microsoft has made its CodeQL querying tool open source so developers can scan code for security flaws that match those unearthed in the recent SolarWinds supply-chain attack.

According to the Microsoft security team, a key aspect of the so-called Solorigate attack was the supply chain compromise that enabled hackers to modify binaries in SolarWinds’ Orion product. This attack allowed criminals to remotely perform malicious activities, such as credential theft, privilege escalation, and lateral movement, to steal sensitive information.

Microsoft disclosed the attack also compromised some of its systems. It recently concluded that while some code files for Azure, Intune, and Exchange were accessed, no customer data was compromised. At the time, Microsoft President Brad Smith called it "a moment of reckoning".

To ensure hackers didn’t modify Microsoft’s code, it crafted CodeQL queries to scan code for malicious modifications. CodeQL is a semantic code-analysis engine that’s part of GitHub and can scan code for security vulnerabilities and share this data with others to help protect their code. It builds a database around the compiling code that can be queried like a normal database. It can be used for static analysis and reactive code inspection across the enterprise.

The firm announced it’ll release its SolarWinds CodeQL queries so developers can scan their code for potential compromises.

"We are open sourcing the CodeQL queries that we used in this investigation so that other organizations may perform a similar analysis," it said.

It added that the queries simply serve to “home in on source code that shares similarities with the source in the Solorigate implant, either in the syntactic elements (names, literals, etc.) or in functionality”.

Microsoft has aggregated the CodeQL databases produced by the various build systems or pipelines company-wide to a centralized infrastructure where it can query across the breadth of CodeQL databases at once.

“Aggregating CodeQL databases allows us to search semantically across our multitude of codebases and look for code conditions that may span between multiple assemblies, libraries, or modules based on the specific code that was part of a build. We built this capability to analyze thousands of repositories for newly described variants of vulnerabilities within hours of the variant being described, but it also allowed us to do a first-pass investigation for Solorigate implant patterns similarly, quickly,” Microsoft said.

Microsoft warned that some CodeQL queries might find similar behavior in benign code, so all “findings will need review to determine if they are actionable.”

You can find the CodeQL queries on GitHub

Featured Resources

Unlocking collaboration: Making software work better together

How to improve collaboration and agility with the right tech

Download now

Four steps to field service excellence

How to thrive in the experience economy

Download now

Six things a developer should know about Postgres

Why enterprises are choosing PostgreSQL

Download now

The path to CX excellence for B2B services

The four stages to thrive in the experience economy

Download now

Recommended

Microsoft buys AI firm Nuance Communications for $19.7 billion
voice recognition

Microsoft buys AI firm Nuance Communications for $19.7 billion

12 Apr 2021
Microsoft Surface Pro 7+ review: More minus than plus
Hardware

Microsoft Surface Pro 7+ review: More minus than plus

9 Apr 2021
How to encrypt files and folders in Windows 10
encryption

How to encrypt files and folders in Windows 10

9 Apr 2021
The definitive guide to IT security
Whitepaper

The definitive guide to IT security

9 Apr 2021

Most Popular

Microsoft is submerging servers in boiling liquid to prevent Teams outages
data centres

Microsoft is submerging servers in boiling liquid to prevent Teams outages

7 Apr 2021
Hackers are using fake messages to break into WhatsApp accounts
instant messaging (IM)

Hackers are using fake messages to break into WhatsApp accounts

8 Apr 2021
How to find RAM speed, size and type
Laptops

How to find RAM speed, size and type

8 Apr 2021