Microsoft's Control Flow Guard comes to Rust and LLVM compilers

Microsoft's Control Flow Guard comes to Rust and LLVM compilers 1

Two popular code compilers have received support this month to natively support Control Flow Guard (CFG), a powerful Windows security feature.

The two compilers are Clang (part of the larger LLVM umbrella compiler project) and rustc (the default compiler for the Rust programming language).

Going forward, Clang and rustc will be able to compile C and C++ source code into Windows binaries that natively take advantage of Windows CFG.

What is CFG?

CFG is a powerful security feature that Microsoft first added in Windows 8.1. The feature can secure the execution flow of an application’s code to prevent malicious code (such as the result of memory bugs) from hijacking the native “control flow” and make the app take unwanted actions.

Coinbase 3

Until now, if a developer wanted their Windows application to tap into the Windows OS CFG protection, they needed to compile their C or C++ code using Microsoft Visual C++, the only popular code compiler that supported CFG.

However, in a blog post today, Microsoft said it worked with the LLVM and Rust teams to add CFG support to their respective compilers.

Starting with Clang 10.0 and Rust 1.47 (the current Nightly build), the two compilers can now also compile C/C++ projects into Windows apps that tap into the CFG feature to safeguard control flows from unauthorized tampering/exploitation attempts.

CFG protections coming to Chrome and Edge

The main drive for expanding CFG support to LLVM/Clang is, ironically, Chromium — the open-source browser at the base of Google Chrome —, which is compiled using Clang.

First, Chromium is the base of the recently revamped Edge browser, and Microsoft will most likely want to enable CFG protections for the new Edge version, similar to all of its native apps.

Second, Chrome accounts for a huge 60% browser market share, and despite being a competitor, Chrome with CFG enabled is good news for everyone, including Microsoft and its userbase. Fewer successful attacks on Chrome also means fewer attack escalations to the underlying OS. So, protecting Chrome also yields indirect benefits for Microsoft as well.

On the other hand, expanding CFG support to Rust was a no-brainer as well, since Microsoft has made it official last summer that it would explore rewriting some Windows and Azure components with Rust; components for which the company would most likely want to have CFG enabled when they ship to production.

“Working with the LLVM and Rust open-source communities has been a very positive experience. We particularly thank those members of the communities who contributed to this work through design suggestions, code reviews, and other advice,” said Andrew Paverd, Senior Researcher at the Microsoft Security Response Center and Microsoft Research.

Expanding compiler support for CFG is only one of the many security features Microsoft is currently working on. Other new security features coming to Windows also include Hardware-enforced Stack Protection and Kernel Data Protection.

Microsoft's Control Flow Guard comes to Rust and LLVM compilers 2
blank
About the author

E-Crypto News was developed to assist all cryptocurrency investors in developing profitable cryptocurrency portfolios through the provision of timely and much-needed information. Investments in cryptocurrency require a level of detail, sensitivity, and accuracy that isn’t required in any other market and as such, we’ve developed our databases to help fill in information gaps.

Related Posts

blank

E-Crypto News Executive Interviews


blank

bitcoin
Bitcoin (BTC) $ 41,603.00
ethereum
Ethereum (ETH) $ 2,463.23
tether
Tether (USDT) $ 0.998285
binance-coin
Binance Coin (BNB) $ 333.12
cardano
Cardano (ADA) $ 1.31
xrp
XRP (XRP) $ 0.752829
dogecoin
Dogecoin (DOGE) $ 0.210436
usd-coin
USD Coin (USDC) $ 0.999681
polkadot
Polkadot (DOT) $ 16.41
binance-usd
Binance USD (BUSD) $ 0.999884
USD
EUR
GBP
bitcoinBitcoin (BTC)
$ 41,603.00
ethereumEthereum (ETH)
$ 2,463.23
tetherTether (USDT)
$ 0.998285
bitcoin-cashBitcoin Cash (BCH)
$ 544.95
litecoinLitecoin (LTC)
$ 143.76
bitcoinBitcoin (BTC)
35.041,17
ethereumEthereum (ETH)
2.074,72
tetherTether (USDT)
0,840830
bitcoin-cashBitcoin Cash (BCH)
459,00
litecoinLitecoin (LTC)
121,09
bitcoinBitcoin (BTC)
29,800.02
ethereumEthereum (ETH)
1,764.40
tetherTether (USDT)
0.715067
bitcoin-cashBitcoin Cash (BCH)
390.34
litecoinLitecoin (LTC)
102.97

Automated trading with HaasBot Crypto Trading Bots

Crypto Scams

Hacks and Scam
The World’s Most Infamous Crypto Hacks and Scams
July 31, 2021
Cryptocurrency Exchanges
Cryptocurrency Exchanges and the Plague of Scams and Bans
June 29, 2021
blank
What Role Do Cryptocurrencies Play In The Era Of Ransomware Attacks?
June 9, 2021
Crypto Scams On The Rise As Market Enters Bull Cycle
Crypto Scams On The Rise As Market Enters Bull Cycle
December 22, 2020
Harpreet Singh Sahni perpetrated the Plus Gold Union Coin (PGUC) scam
Sydney Concert Promoter Harpreet Sahni Involved In $50M Crypto PGUC Scam
November 2, 2020

Blockchain/Cryptocurrency Questions and Answers

Short-Sell Cryptocurrency
How to Short-Sell Cryptocurrency: A Brief Overview
July 17, 2021
Klaytn
What Is Klaytn (KLAY) And How Does It Work?
July 16, 2021
Cryptocurrencies
Our Crypto Roundup Interview Asks- Do Cryptocurrencies Have a Future?
July 15, 2021
Solana
What Is Solana (SOL) And How Does It Work?
June 26, 2021
blank
What Is Plethori Platform And How Does It Work?
June 12, 2021


CryptoCurrencyUSDChange 1hChange 24hChange 7d
Bitcoin41,575 0.44 % 7.29 % 24.27 %
Ethereum2,456.9 0.35 % 4.99 % 16.05 %
Tether1.000 0.21 % 0.05 % 0.20 %
Binance Coin332.16 0.23 % 7.32 % 11.60 %
Cardano1.310 0.78 % 3.82 % 8.75 %
XRP0.7517 0.17 % 4.07 % 23.34 %
Dogecoin0.2095 0.70 % 4.34 % 8.18 %
USD Coin0.9992 0.13 % 0.05 % 0.16 %
Polkadot16.31 0.80 % 11.31 % 22.15 %
Binance USD0.9984 0.18 % 0.05 % 0.56 %

bitcoin
Bitcoin (BTC) $ 41,758.00
ethereum
Ethereum (ETH) $ 2,602.35
tether
Tether (USDT) $ 0.999952
binance-coin
Binance Coin (BNB) $ 343.71
cardano
Cardano (ADA) $ 1.38
xrp
XRP (XRP) $ 0.771236
dogecoin
Dogecoin (DOGE) $ 0.218496
usd-coin
USD Coin (USDC) $ 0.999520
polkadot
Polkadot (DOT) $ 18.41
binance-usd
Binance USD (BUSD) $ 0.998702