Security researchers have discovered a new way that allows malware to inject malicious code into other processes without being detected by antivirus programs and other endpoint security systems.
The new method was devised by researchers from security firm Ensilo who dubbed it AtomBombing because it relies on the Windows atom tables mechanism. These special tables are provided by the operating system and can be used to share data between applications.
"What we found is that a threat actor can write malicious code into an atom table and force a legitimate program to retrieve the malicious code from the table," Ensilo researcher Tal Liberman said in a blog post. "We also found that the legitimate program, now containing the malicious code, can be manipulated to execute that code."
This new code-injection technique is not currently detected by antivirus and endpoint security programs because it is based on legitimate functionality, according to Liberman. Also, the atom tables mechanism is present in all Windows versions and it's not something that can be patched because it's not a vulnerability.
Malware programs use code injection techniques for a variety of reasons. For example, banking Trojans inject malicious code into browser processes in order to monitor and modify locally displayed websites -- usually banking websites. This allows them to steal login credentials and payment card details or to secretly redirect transactions to their accounts.
Code injection can also be used to bypass restrictions that allow certain data to be accessed only by specific processes. For example, it can be used to steal encrypted passwords from other applications or to take screenshots of the user's desktop if the malware process itself doesn't have the required privileges.
There are only a few well-known code injection techniques and many endpoint security products already have mechanisms in place to detect them.
However, "being a new code injection technique, AtomBombing bypasses [antivirus] and other endpoint infiltration prevention solutions," Liberman said.
Even if the attack doesn't exploit a software vulnerability, security vendors could detect and block the malicious payload, said Liviu Arsene, a senior e-threat analyst at Bitdefender. If the payload does get executed and tries to inject malicious code into a legitimate application the attempt could still be detected and blocked because security vendors often monitor processes and services throughout their entire execution lifetime, he said.
To help avoid malware infection, Microsoft encourages its customers to practice good computing habits online, including exercising caution when clicking on links to web pages, opening unknown files, or accepting file transfers, a Microsoft representative said in an emailed statement. "A system must already be compromised before malware can utilize code-injection techniques."