Tuesday, October 23rd 2018

ASUS Z390 Motherboards Automatically Push Software into Your Windows Installation

During testing for our Intel Core i9-9900K review we found out that new ASUS Z390 motherboards automatically install software and drivers to your Windows 10 System, without the need for network access, and without any user knowledge or confirmation. This process happens in complete network-isolation (i.e. the machine has no Internet or LAN access). Our Windows 10 image is based on Windows 10 April 2018 Update and lacks in-built drivers for the integrated network controllers.

Upon first boot, with the machine having no LAN or Internet connectivity, we were greeted by an ASUS-specific window in the bottom right corner of our screen, asking whether we'd like to install the network drivers and download "Armoury Crate". This got us curious and we scanned the system for any files that aren't part of the standard MS Windows installation. We discovered three ASUS-signed files in our Windows 10 System32 folder, which, so it seems, magically appeared on our harddrive out of thin air. Upon further investigation we also found a new, already running, system service called "AsusUpdateCheck."
These files could not have come from either our Windows image or the network, leaving the motherboard's 16-megabyte UEFI BIOS as the only suspect. The files themselves, which total around 3.6 MB in size, appear harmless, and belong to an ASUS-made program called "ASUS Armoury Crate." This program fetches the latest drivers for your hardware from ASUS servers, and installs them for you in an automated process with little user-intervention. This is a very useful feature, as it establishes a method to install network driver and other drivers easily, without the need for a physical driver disc (in times where nobody has an optical drive anymore). After digging around in the UEFI BIOS, we managed to find a fairly nondescript option "Download and Install ARMOURY CRATE app", which of course defaults to "on"; and it's not easy to find, being located in the "Tool" section of the BIOS setup.

The ASUS UEFI firmware exposes an ACPI table to Windows 10, called "WPBT" or "Windows Platform Binary Table". WPBT is used in the pre-built OEM industry, and is referred to as "the Vendor's Rootkit." Put simply, it is a script that makes Windows copy data from the BIOS to the System32 folder on the machine and execute it during Windows startup - every single time the system is booted. According to the Microsoft WPBT reference, which describes this feature as useful for "anti-theft software", this binary is a "native, user-mode application that is executed by the Windows Session Manager during operating system initialization.", which means "before all other programs, with administrative privileges". This gives pretty much full control over everything, including protected folders and the registry.
The ASUS executable unpacks two more files, registers the "AsusUpdateCheck" service and launches it. Once the desktop is loaded, it manifests itself as a bloatware-looking notification near our system tray, requesting you to install the ASUS Armoury Crate software, by fetching the rest of its installer payload from the Internet. Interestingly, it also installs a basic driver to get the integrated network controller working, which is a nice feature. Windows 10 doesn't support the new Z390 integrated Ethernet controller out of the box. This method of writing data to protected areas of the boot drive may not be uncommon with OEM pre-built desktops and notebooks, but for the PC DIY space, in which consumers seek a higher degree of control and privacy over their hardware and software, it is a first and comes across as intrusive. It should normally take a lot of privilege for anything to write to your System32 folder without user-intervention, at least a UAC dialog authenticating the user's consent. Lenovo has used the same method in 2015, which resulted in a huge scandal. They automatically installed a rootkit, which logged data and pushed bloatware into the user's system.

Our motherboard was supplied within the European Union, and yet the software lacks a GPDR-compliant user consent dialog. If nothing else, a person's IP address will be transmitted to ASUS without consent, possibly more, including details like motherboard model, system specs and installed hardware.

We poked and prodded with the service a bit. Deleting the files (and/or the service) simply restores them at the next reboot. Clicking "cancel" in the first instance of the pop-up doesn't end the service, which keeps running in the background until you manually disable it (and it comes back at next reboot). The only way you can ensure the files stay deleted is by disabling the "ASUS Armoury Crate" option in the UEFI setup program, which disables the ACPI-WPBT table. Running the download & install, and then disagreeing with the license agreement will keep Armoury Crate installed on your system. Even when the Armoury Crate Uninstaller is run from "Programs & Software", the AsusUpdateCheck service doesn't get uninstalled, and the uninstaller also forgets to remove a second service it installed.

By default, the ASUS UEFI setup program for our motherboard has the "Download and Install Armoury Crate App" option enabled. Unsuspecting users who glossed over their UEFI setup configuration before installing their OS for the first time, will see the Armoury Crate pop-up even if their machines are not configured to access the Internet. This would do wonders for increasing the user-base of ASUS' software, but are you comfortable with something like this? Given NAND flash pricing, what stops motherboard vendors from embedding a flash-based USB mass-storage device directly onto their motherboards that installs a host of driver software and sponsored bloatware automatically?

If you put aside the privacy concerns for a moment, there are both advantages and disadvantages for what ASUS is trying to accomplish. Since it's enabled by default, this method makes installing drivers and system software easier than ever, since it also gets the network controller to work. It's particularly useful given that motherboard vendors continue to ship drivers on a DVD, and optical disc drives are on the decline, leaving people with little option but to copy their drivers onto a USB flash drive, just to get the NIC working. The application also fetches the very latest (most stable) versions of drivers found on ASUS website. The most obvious disadvantage is cybersecurity. If any of ASUS' on-chip code has security vulnerabilities that can be exploited, there is little way to fix it but with BIOS updates from ASUS.

ASUS needs to make a few changes and release UEFI BIOS updates, on the double. One option could be to disable the Armour Create option in BIOS by default, so unsuspecting users don't get these files. It could be advertised in the home-screen of the UEFI setup instead. Another option could be to properly clean up the installed files if the users chooses to not use Armoury Crate and not install them again on next reboot. Also required is a GPDR-compliant license agreement, that clarifies which data is collected, how it is processed, and whether it is shared with third parties. While this probably won't happen, some kind of ASUS warranty to include liability for any future malware that exploits WPBT to survive OS reinstalls, would go a long way.

We're sure that as a market-leading motherboard vendor, the intentions behind this couldn't have been bad. It only needs a bit of polish, and a lot of transparency with the user.
Add your own comment

70 Comments on ASUS Z390 Motherboards Automatically Push Software into Your Windows Installation

#51
lexluthermiester
R-T-B said:
persistent unrequested software installation.
Persistent, unrequested and unwanted software installation. It's very similar to the unwanted(and unremovable unless you root) bloatware that comes on phones.
Posted on Reply
#52
R-T-B
lexluthermiester said:
Persistent, unrequested and unwanted software installation. It's very similar to the unwanted(and unremovable unless you root) bloatware that comes on phones.
Even if it was wanted... choice should come first. We don't want to become like the cell phone market, exactly.
Posted on Reply
#53
lexluthermiester
R-T-B said:
Even if it was wanted... choice should come first.
Very much agreed. No manufacturer has the right to install anything without user knowledge.
Posted on Reply
#54
ty_ger
R-T-B said:

No?
Look it up. ASUS entered a partnership with GIGABYTE for GIGABYTE to manufacture ASUS motherboards. GIGABYTE is one of the few companies which actually manufactures motherboards. The majority of the rest contract to companies like Foxconn.
Posted on Reply
#55
R-T-B
ty_ger said:
Look it up. ASUS entered a partnership with GIGABYTE for GIGABYTE to manufacture ASUS motherboards. GIGABYTE is one of the few companies which actually manufactures motherboards. The majority of the rest contract to companies like Foxconn.
Didn't know, will have to google when I get home.

EDIT: From what I read, it sounds more like ASUS is manufacturing GIGABYTE boards. ASUS is also an OEM BTW (Used to be much bigger when they owned Pegatron).
Posted on Reply
#56
holyprof
ty_ger said:
Interesting. Doesn't GIGABYTE manufacture ASUS's motherboards? Yes.
As much as I dislike the new, post year 2002 ASUS, it's one of the biggest PC parts manufacturer and even split into 2 different ones (Asus and AsRock) https://en.wikipedia.org/wiki/ASRock#History
So yes, they make their motherboards and even made (and probably still do) laptop motherboards for different brands. My old toshiba laptop (from 2006) had an Asus motherboard in it.
Posted on Reply
#57
Turmania
They should give users the choice to enable or disable it. If not fine them.
Posted on Reply
#58
hat
Enthusiast
Turmania said:
They should give users the choice to enable or disable it. If not fine them.
That's what I was saying. There's an option for it, but it's enabled by default, and it automatically pushes the files when enabled. I think it should be a one-time option when exiting setup... "Reboot & Install" with further options to install everything (ASUS Armoury Crate) or just drivers.
Posted on Reply
#59
lexluthermiester
hat said:
There's an option for it, but it's enabled by default, and it automatically pushes the files when enabled.
Still, this kind of thing is very unsettling and has huge potential for abuse. Very much against it. Yet another thing to check against when shopping for hardware. ASUS and Gigabyte are now off my lists.
Posted on Reply
#60
Tsukiyomi91
Wow... seems OEMs are getting desperate to "simplify end user's hassle" by using this kind of method, eh? This is a big finding. And I thought that bloatware is bad enough... OEMs are even putting an automated process that installs those crap without network & user's consent.
Posted on Reply
#61
GC_PaNzerFIN
Can't afford to put that <1GB USB stick with network drivers on the box with that 300-500 bucks motherboard. Nope.
They rather install crap on your PC from UEFI without asking for it.

I stopped buying and recommending Gigabyte boards when they started not giving a flying duck about their BIOSes and solely relied on high-end Asus boards, but oh boy are they making it harder to recommend every day over this kind of BS things.
Posted on Reply
#62
micropage7
Octopuss said:
Looks like I won't be buying Asus motherboards if this is common practice then. Out of general principle. I am not paranoid or anything, but I absolutely despise shit being installed without my consent or even knowledge.
agree, at least give some notification or option which one that user want to install
Posted on Reply
#63
Tsukiyomi91
Guess every system builder is gonna go to the UEFI & disable such features if they want a clean install of Windows & not getting those "intrusive" greetings that OEM vendors have been putting in.
Posted on Reply
#64
Viking73
I'm aghast that Windows provides this driver 'auto-load' feature for any motherboard that exposes a 'WPBT' in its UEFI. Asus is just leveraging a UEFI and Windows feature:
The ASUS UEFI firmware exposes an ACPI table to Windows 10, called "WPBT" or "Windows Platform Binary Table". WPBT is used in the pre-built OEM industry, and is referred to as "the Vendor's Rootkit." Put simply, it is a script that makes Windows copy data from the BIOS to the System32 folder on the machine and execute it during Windows startup - every single time the system is booted.
I don't think this feature should be automatically enabled in retail versions of Windows. If the UEFI has drivers to install then Windows should ask for your permission first. Unfortunately, its probably necessary to enable it in OEM windows to meet the goals of the pre-built OEM PC industry.

Yet another reason to use Linux...
Posted on Reply
#65
hat
Enthusiast
GC_PaNzerFIN said:
Can't afford to put that <1GB USB stick with network drivers on the box with that 300-500 bucks motherboard. Nope.
They rather install crap on your PC from UEFI without asking for it.

I stopped buying and recommending Gigabyte boards when they started not giving a flying duck about their BIOSes and solely relied on high-end Asus boards, but oh boy are they making it harder to recommend every day over this kind of BS things.
Why, though, when you can just load from UEFI which already exists and is large enough to accommodate? Including an unnecessary USB stick would be wasteful on many levels. How many old driver CDs do you think have been dumped in the garbage all over the world? It's a good idea, but implemented all wrong. You should have to explicitly tell the UEFI to do this.
Posted on Reply
#66
lexluthermiester
hat said:
You should have to explicitly tell the UEFI to do this.
While this is a good point, it's still a bad idea that has the potential for serious abuse!
Posted on Reply
#67
hat
Enthusiast
As do all things... but it could be neat if done right.
Posted on Reply
#68
lexluthermiester
hat said:
but it could be neat if done right.
Technologically, heck yes that is a very cool idea.
Posted on Reply
#69
Hockster
My Crosshair VII Hero has the same thing with a fresh install.
Posted on Reply
#70
Manoa
this is like the management engine, which exists since core 2 and it is a much bigger threat than this.
this you at least know about and have control to disable in BIOS or delete the files, with ME you got no control at all.
Posted on Reply
Add your own comment