BLACK HAT USA -- Las Vegas -- The current class of malware designed to infect Apple’s OS X operating system, “while sufficient, is inelegant, amateur, and trivial to detect and prevent,” according to Patrick Wardle, director of research and development with security firm Synack.
The problem is Apple and third party security companies are using the existing OS X malware to validate their tools. Yet, it is very easy to write even better malware to bypass current defenses for OS-X-based Mac computers, Wardle said. And, if he can do it, so can nation-states or malicious attackers.
So Wardle used his presentation, “Writing Bad @$$ Malware for OS X,” at the Black Hat conference last week as a wake-up call and a forum to demonstrate how to write better malware and to present some free security tools that can help prevent more advanced malware infections.
Mac computers are prevalent in the home and enterprise. In March, Apple officials reported that Mac notebook sales have grown 21 percent over the last year, while total industry sales have fallen. Yet, Apple has claimed that Mac isn’t susceptible to the thousands of viruses plaguing Windows-based computers, Wardle noted.
In fact, the ‘first’ virus, Elk Cloner, infected Apple II computers. Over the last five years, 50 new OS X malware families have emerged. And, in 2014, there were nearly 1,000 unique attacks on Mac computers, according to Kaspersky Labs.
Using several recent OS X malware as examples -- OSX/XSLCMD, OSX/WIRELURKER (an iOS infector via USB) and OSX/CRISIS – Wardle drew some general observations about the current state of OS X malware.
In terms of infection, most use Trojans, meaning they require user interaction. Some use phishing, but the exploits they deliver are older or already patched. “So, security conscious users who keep their computers updated and email, probably will be fine,” Wardle said.
In terms of persistence, the malware use well-known techniques. The majority employ launch items that are easy to uncover, detect and prevent. In terms of self-defense, there is minimal obfuscation and the malware is easy to detect and remove. From a stealth perspective, most 'hide' in plain sight and are stand-alone executables.
“Features is one area that current OS X malware is sufficient, it gets the job done,” Wardle said. “But if you look closer at how these features are implemented, a lot of times it’s done in an amateur, inelegant way.” Finally, the malware does not have the ability to bypass personal firewalls and anti-virus software.
“The grade I would like to give current OS X malware is a C+. It is sufficient, but inelegant, amateur, and trivial to detect and prevent,” Wardle said. “So, my goal is to spur discussions to make better security tools so we can ultimately secure our Macs.
Apple has introduced security enhancements to thwart malware such as XProtect, a built-in anti-virus solution; Gatekeeper, which verifies downloaded software; sandboxing, which prevents Mac Store applications from accessing OS-level components; and signed-code requirements, which only allows signed kernel extensions to be loaded.
Wardle demonstrated how many of these capabilities, although steps in the right direction, could be circumvented. For example, binary infection is an old school, but colorful attack mechanism, which is stealthy and hard to remove. Here an attacker would inject viral code into OS X binaries, effectively shutting down any other processes or files from running in the file system.
Load time process injection could also be launched on the web browser. Every time a browser is executed, the malicious code will also execute within a trusted context of the browser. If a personal firewall is monitoring for untrusted connections it is going to trust the browser. The malware will not be detected because it is part of a trusted browser.
Wardle noted that the OS X loader, which validates the digital signature of applications in the binary, could block this attack. But there are ways to work around it. The loader looks for a signature block within the binary. If it is there, it validates it. But unlike iOS, OS X allows unsigned applications to execute. So the signature block can be pulled out and the malware can “infect away,” Wardle noted.
Wardle also showed ways malware can attack dynamic libraries in OS X to allow attackers to gain persistence on vulnerable systems, perform process injection and bypass security features such as Gatekeeper.
He also shared some of the tools he has written that will help protect Macs. KnockKnock detects what’s persistence on the Mac. It can detect launch items, kernel extension, and malware. The only limitation is it is reactive; you have to manually run it. So, he wrote a real-time detection tool called BlockBlock.
Another tool, TaskExplorer, looks for all running tasks and processes. “You can write filters that say show all Apple apps running or unsigned code,” he said.
Hopefully, Wardle’s attempts to show how easily more lethal malware can be written for OS X will convince Apple to up its game and security vendors to improve their products, he said.