News this week about attackers compromising an automatic software update mechanism at ASUS to distribute malware to targeted victims has refocused attention on best practices for addressing risks to organizations from trusted vendor and channel partner relationships.
ASUS on Tuesday announced that it has addressed an issue with a version of its Live Update utility that last year allowed an attacker to distribute malware disguised as legitimate software updates to some customers of the company's notebook computers.
The Taiwanese computer maker said it has also implemented "multiple security verification mechanisms" to prevent attackers from manipulating the company's automatic software update mechanisms in the future.
It also released a diagnostic tool that customers of its notebook computers can use to quickly determine if their systems were infected via the compromised Live Update utility. ASUS is urging customers with infected systems to back up their files and restore the operating system to factory settings.
ASUS announced these new measures less than one day after Kasperksy Lab released a report describing how a threat group called Barium had embedded poisoned, digitally signed files in ASUS' software update servers and pushed them out as legitimate firmware and software updates.
The so-called ShadowHammer attacks happened between June and November of last year and impacted ASUS notebook customers that had enabled Live Update, a utility that automatically searches for and installs new software and firmware updates from ASUS.
Kaspersky researchers described the ShadowHammer campaign as potentially impacting over one million ASUS devices, although the attackers seemed specifically interested in just 600 or so of them. In a blog Tuesday, security vendor Avira said it had observed at least 438,000 ASUS devices on which the initial malware installer was executed.
ASUS itself downplayed the scope of the attack. In its statement Tuesday, ASUS did not say how many of its notebook computers might have been impacted, and that a "very small number" of specific user groups were targeted in the attack.
The ASUS attack is similar to other incidents in recent years where attackers have managed to distribute malware tools to targeted victims by embedding malicious code in trusted software products. A 2017 incident involving Avast's CCleaner software and another one the same year in which attackers inserted malware dubbed ShadowPad in a product from NetSaranag Computers are two relatively recent examples.
Such attacks are hard to detect and stop because they take advantage of the trusted relationships organizations have with software vendors, suppliers, and other channel partners. In ASUS' case, the challenge was complicated by the fact that the attackers signed their malware using legitimate ASUS digital certificate.
Here are key best practices to protect against this type of attack:
1. Identify and Monitor High-Risk Vendors
Tech companies that issue remote patches and remote updates to customers are big targets for attackers because of their broad trusted relationships with customers, says Jake Olcott, vice president at BitSight.
"As a risk management best practice, organizations must identify their most high-risk vendors, include security performance requirements in contracts with those suppliers, and monitor the cyber posture of those suppliers on an ongoing basis," he says.
The challenge is that such assessment and monitoring process can be extremely time-consuming, he says. But simply turning a blind eye to this risk all together can have detrimental consequences, he notes.
2. Know What to Look for and Monitor
"When performing due diligence, you're not auditing every line of a vendor's code," says Mike Jordan, senior director at The Shared Assessments Program, an organization focused on third-party risk mitigation. Rather look for indications of practices that should catch problems like the one at ASUS, Jordan says.
Make sure you can identify whether the vendor is following secure coding practices and reviews during and after development, especially if the vendor's software can cause a high degree of harm, he advises.
Verify if the vendor has adopted Threat Modeling practices, because that's one of the most effective ways to gain assurance about the vendor's security habits. "Not all software vendors do this, but those who want to be considered reliable and secure partners should."
3. Review and Prioritize
Automatic software update mechanisms are not all equally risky. So organizations should first prioritize the software that could have the most serious impact if attacked in the way that happened with ASUS, says Jordan.
"What the software does and where the updates go are important when determining its risk profile," he says. With the ShadowHammer attack, the software updater utility went to about a million different computers, he notes. That gave the threat actors a huge attack surface to go after by replacing just one file.
"In an organization that uses a lot of computers from one vendor, that vendor should be much riskier than one whose software is used on only one computer in the organization," Jordan says. "However, if that one computer has the crown jewels on it, you'd want to prioritize it."
4. Trust But Verify
To mitigate risk from software updates, verify that the file you are installing is the file that the vendor intended, says Colin Little, senior threat analyst at Centripetal Networks. "A lot of popular software development companies will post the expected file hash of the package," when making the update available for download, he says.
The goal is to give recipients a way to verify that the file hash of the file they downloaded is the same as the expected value. Any change in the package would change the hash value.
While security experts consider such hash comparisons an extra precaution, it does not work all the time. With the ASUS attacks, for instance, comparing the new files to the legitimate update using hash values would have been of little use since the attackers replaced legitimate updates on the server with their own, says Mark Orlando, CTO, cyber protection solutions at Raytheon.
5. Monitor Your Own Code-Signing Processes
Code-signing certificates are fundamental to establishing trust and are therefore a coveted commodity for attackers. For cybercriminals, such certificates provide a way to make malware seem trustworthy and therefore undetectable to threat detection systems.
Unfortunately, at many organizations the responsibility for protecting code-signing processes lies mostly with developers that are not prepared to defend these assets, says Kevin Bocek, vice president of security strategy and threat intelligence at Venafi. "Security teams must know where code-signing is being used; you can't secure what you don't know about," Bocek says.
"Second, everything throughout the software delivery pipeline must be secured and continuously monitored," he notes. This includes approval, use of keys and auditing of signing operations.
"It's not good enough to just place a code signing key in an HSM or upload code to the cloud for signing."
Join Dark Reading LIVE for two cybersecurity summits at Interop 2019. Learn from the industry's most knowledgeable IT security experts. Check out the Interop agenda here.