Cyber-security and antivirus company Kaspersky dropped a bomb on Asus laptop users this week, revealing that malware was distributed through the Asus Live Update utility. It masqueraded as a legitimate security update, and even boasted a “verified” certificate — hosted on Asus servers — to make it appear valid. Kaspersky has deemed this attack “one of the biggest supply-chain incidents ever.” Such attacks spiked 78% between 2017 and 2018. This shouldn’t raise alarms for just Asus users. It should prompt you to seriously consider whether you want Windows on your PC. Because the possibility of this ever happening on a desktop Linux OS like Ubuntu is minuscule.
How Serious Is ShadowHammer?
In the long tradition of scary codenames for such attacks, Kaspersky has labeled the attack “ShadowHammer.” The company says that according to its statistics, more than 57,000 users of Kaspersky Lab products (such as Kaspersky Anti-Virus) have already installed it. However, they estimate that its true reach extends to 1 million Asus computers.
To my knowledge this is only eclipsed by the infamous CCleaner attack, which was distributed to 2.7 million Windows PCs.
The motivations for the malware attack are unclear, but it apparently targeted only 600 specific MAC addresses. Once found, the attack would escalate to install more software to further compromise the system. There doesn’t seem to be a reason that the attackers couldn’t have activated this on every single computer affected.
For an informative and detailed discussion on this attack, listen to TechSnap Episode 400.
What’s even more frightening is that Kaspersky discovered the same type of technique used against the Asus Live Update software was also leveraged against three other vendors. The company promised to reveal more substantial information at an upcoming Security Analyst Summit in Singapore.
When contacted by Kaspersky, The Verge reports that Asus evidently denied the attack originated from its servers. In a follow-up press release, however, Asus did acknowledge that this was a “sophisticated attack” on its Live Update servers.
No apology was issued. This is not how you build trust. (Especially since this is far from being the first security blunder Asus has made.)
Asus has since patched the Live Update software and issued a tool for users to determine if they owned one of the specific computers targeted. Given the circumstances, I’m not even going to link to it, but it’s available via this press release page.
An FAQ posted alongside the press release has a stinging piece of advice for users who were affected by the malware attack: “Immediately run a backup of your files and restore your operating system to factory settings,” it states. “This will completely remove the malware from your computer. In order to ensure the security of your information, ASUS recommends that you regularly update your passwords.”
What really rattles my cage about this situation is the fact that Kaspersky uses the word “teaser” in the URL associated with its ShadowHammer post, as if this is some kind of movie trailer. Then the company warns that three other Asia-based software vendors were attacked using the same method without revealing who they are.
But all of this information is just background for the real point I’m trying to make.
Why Ubuntu (And Linux In General) Is Safer
Consider how many companies have independent control over the software and hardware inside your Windows PC. Intel, AMD, Dell, Nvidia, Realtek among several others. The vast majority of the code they use running on your computer is not open source. That means it’s not subject to inspection by the hundreds of millions of people using it. The code can’t be independently verified. The code comes from multiple locations across multiple update utilities.
On Ubuntu and other Linux distributions, my firmware updates, software updates and security updates come from a single source: the operating system’s built-in software center.
This next part is important: only a select few individuals at Asus are responsible for ensuring the software and firmware being sent through the Asus Live Update utility is safe. And it’s almost certain no one at Microsoft saw the code before it before it went out to those 1 million Asus laptop users.
Rather than base my entire argument about Linux being safer on personal experience or subjective opinions, I reached out to Alex Murray at Canonical. Murray is the Security Tech Lead for Ubuntu, a Linux distribution used by hundreds of millions. It powers everything from IoT devices to home desktops; supercomputers to the web servers delivering the majority of your experiences on the internet. Netflix is powered by Ubuntu, as is Amazon Web Services. Outside your home, Lyft and Uber are powered by Ubuntu.
My question for Murray was straightforward. Can something like ShadowHammer happen on Linux?
Murray admits that while this sort of attack is a possibility on Linux, it would be a lot harder to pull off.
Ubuntu is based on Debian, one of the the largest and most mature Linux distributions available. “Many of our source packages originate from Debian where we add Ubuntu-specific patches on top,” Murray says.
As such, Murray explains that there are “many, many people who can detect any possible malicious changes to a software package.” That’s the beauty of open source. Changes are submitted publicly, and every line of code can be scrutinized.
Of course, there needs to be a more elaborate system of checks and balances that doesn’t rely solely on community.
“Various teams of Canonical employees are responsible for maintaining the packages in the ‘main’ section of the Ubuntu software archive, and as such we provide further review and oversight of the source code in these packages,” Murray says. “Importantly, only trusted individuals are allowed to publish software package updates, which again raises the bar to prevent this kind of attack. Finally, we have a strong and dedicated community of developers and users who help to provide an even further level of ‘community’ oversight as well – which gives us a good defense in depth approach to detecting this kind of attack.”
In a nutshell, this means even if a trusted developer is compromised, there are various other individuals who will likely take notice.
But even that isn’t enough, so Canonical takes things a step further.
“From an end-user point of view, Ubuntu uses a signed archive approach where each package is cryptographically hashed and the list of hashes signed in such a manner that our package manager will not install packages which fail the signature and integrity checks,” Murray explains.
This means that even if an Ubuntu mirror (an external software source not directly managed by Canonical) was compromised and someone uploaded malicious copies of packages there, it would fail the signature check and would not be installed.
“We offer digital signatures to verify the integrity of the installation ISO images as well,” Murray says. “So together with the repository signatures, users can be confident that the software they are downloading and installing is what is published by Ubuntu, and with all the various reviews outlined above, we have many opportunities to detect any possible malicious changes to the software packages being published.”
Beyond these methods of ensuring security for its users, I’d recommend this article which explains in detail how Ubuntu delivers system updates and why it’s a more elegant and less frustrating experience than on Windows.
Securing Firmware Through The Blockchain
Firmware updates are an often overlooked — but easily manipulated — potential attack source. One of my favorite Linux distributions, Pop!_OS, uses the power of blockchain to ensure that the firmware updates being delivered to its users have no possible way of being manipulated. And they take an amazing approach to their server setup.
“Firmware updates are delivered using a build server, which contains the new firmware, and a signing server, which verifies that the new firmware came from inside the company,” writes parent company System76. “The two servers are only connected via a serial cable. The lack of a network between the two means that one server cannot be accessed if entry is achieved through the other server.”
System76 sets up multiple build servers alongside that primary one. For a firmware update to be verified, it must be identical on all servers. “If even one build server contains a compromised firmware update, this update cannot proceed to signing and will not be delivered to our customers,” System76 says.
This is very similar to how cryptocurrency mining works, and is arguably a more useful and forward-thinking implementation of blockchain.
The bottom line is that Windows has too many potential attack points, most of which are not directly overseen by the very company who develops the operating system. The vast majority of the code cannot be audited by the community. There are less checks and balances in place to ensure that these attacks are prevented. After seeing how Ubuntu and various other Linux distributions ensure the security of their users, the Microsoft Windows approach starts to seem a lot less sane.
And if you’re wary of Linux because you think its archaic and not user-friendly, here are some articles that may change your mind, including one to help find the perfect OS to suit your needs: