Rechercher
Contactez-nous Suivez-nous sur Twitter En francais English Language
 

Freely subscribe to our NEWSLETTER

Newsletter FR

Newsletter EN

Vulnérabilités

Unsubscribe

Evading Malware Researchers: Shylock’s New Trick

November 2012 by Trusteer

Shylock is a financial malware platform discovered by Trusteer in 2011. Like most malware strains, Shylock continues to evolve in order to bypass new defensive technologies put in place by financial institutions and enterprises. While analysing a recent Shylock dropper Trusteer noticed a new trick it uses to evade detection. Namely, it can identify and avoid remote desktop environments – a setup commonly used by researchers when analysing malware.

Suspected malware samples are collected for analysis and often placed onto machines that are isolated in an operations centre (“lab”). Rather than sitting in front of a rack of physical machines in a cold basement lab, researchers use remote desktop connections to study malware from the convenience and cosiness of their offices. It is this human weakness that Shylock exploits. Trusteer has discovered advanced malware that is now capable of detecting remote desktop environments to evade researchers.

The Shylock dropper Trusteer discovered detects a remote desktop environment by feeding invalid data into a certain routine and then observing the error code returned. It uses this return code to differentiate between normal desktops and other "lab" environments. In particular, when executed from a remote desktop session the return code will be different and Shylock won’t install. It is possible to use this method to identify other known or proprietary virtual/sandbox environments as well.

For those more technically oriented, here is a bit more detail. The dropper dynamically loads Winscard.dll and calls the function SCardForgetReaderGroupA(0, 0). The malware proceeds as expected only if the return value is either 0x80100011 (SCARD_E_INVALID_VALUE) or 0x2 (ERROR_FILE_NOT_FOUND). Trusteer noticed that when the dropper is executed locally the return value is 0x80100011, but when it is executed from a remote desktop session the return value is 0x80100004 (SCARD_E_INVALID_PARAMETER). The assembly language source code is shown below.

Trusteer has found a number of malware strains that utilise different approaches to identify specific execution environments in order to take appropriate evasive actions.

“Trusteer solutions are not affected by anti-VM/anti-research techniques employed by malware. That is because we use real-time application protection to monitor for suspected malware behaviour in the endpoint device’s memory. This approach prevents malware from compromising applications, including the browser, and stealing data like user credentials. It is also immune to Malware evasion techniques designed to identify remote desktop and virtual machine environments,” said George Tubin, senior security strategist at Trusteer.


See previous articles

    

See next articles


Your podcast Here

New, you can have your Podcast here. Contact us for more information ask:
Marc Brami
Phone: +33 1 40 92 05 55
Mail: ipsimp@free.fr

All new podcasts