Updated: February 13, 2007 11:51:04 AM
Type: Worm
W32.Evol is a 32-bit metamorphic virus. It is the first W32 virus using a 32-bit true metamorphic engine. It can replicate on Windows 9x as well as Windows NT and Windows 2000.
W32.Evol is an experimental virus. It has two variants with some bugs in both variants. None of the bugs are fatal enough to stop the virus from replicating.
Metamorphic viruses use a permutated virus body. The virus engine of a metamorphic virus can recompile itself into a new form. So, the code of the virus is different from generation to generation, leaving no constant areas that let antivirus software detect it using string type detection.
W32.Evol does not generate new infections quickly. The virus requires antivirus researchers to spend time testing the virus replication and generating an efficient number of different virus generations.
The virus was distributed over the Internet as 12288 bytes long in the first generation sample. The first generation's pure virus code is about 6 KBs written in assembly language. The virus does not use data sections and is a single code that mutates itself.
The virus infects portable executable GUI applications only. It does not infect files that have exports. Therefore, it does not infect .dll or .exe files that have exports.
The virus checks the main entry point of the PE file and the end of code section to see if it has enough room for the mutated virus body. Very small files are not infected. The virus saves the entry-point code of the file to the end of the PE image and writes its body into the first section. The virus becomes antiheuristic because the infection method is unusual.
The virus is executed in the first section. First, the virus identifies the proper Win32 platform and pays attention to Windows NT/2000 also. The virus searches for the GetProcAddress() API entry-point using an 8 byte string. This string is calculated as the virus generates new mutations. The actual string is placed on the stack only. Therefore, the virus cannot be detected using any search strings with wildcards once the virus mutates itself to a few generations.
The virus keeps a log of the physical entry-point of PE files it infects. It generates new mutations only when a GUI PE file with a different entry point is detected. The virus runs an infection thread in the process address space of the infected application. This thread searches for executables on local drives and on the network.
The virus sets the last file-write time stamp to a specifically calculated value. This is used as the main infection mark.
In the year 2000 we will likely see more 32-bit metamorphic viruses. This is an expected evolution of 32-bit Windows viruses. Currently, only a few viruses use such a technique.
Recommendations
Symantec Security Response encourages all users and administrators to adhere to the following basic security "best practices":
- Use a firewall to block all incoming connections from the Internet to services that should not be publicly available. By default, you should deny all incoming connections and only allow services you explicitly want to offer to the outside world.
- Enforce a password policy. Complex passwords make it difficult to crack password files on compromised computers. This helps to prevent or limit damage when a computer is compromised.
- Ensure that programs and users of the computer use the lowest level of privileges necessary to complete a task. When prompted for a root or UAC password, ensure that the program asking for administration-level access is a legitimate application.
- Disable AutoPlay to prevent the automatic launching of executable files on network and removable drives, and disconnect the drives when not required. If write access is not required, enable read-only mode if the option is available.
- Turn off file sharing if not needed. If file sharing is required, use ACLs and password protection to limit access. Disable anonymous access to shared folders. Grant access only to user accounts with strong passwords to folders that must be shared.
- Turn off and remove unnecessary services. By default, many operating systems install auxiliary services that are not critical. These services are avenues of attack. If they are removed, threats have less avenues of attack.
- If a threat exploits one or more network services, disable, or block access to, those services until a patch is applied.
- Always keep your patch levels up-to-date, especially on computers that host public services and are accessible through the firewall, such as HTTP, FTP, mail, and DNS services.
- Configure your email server to block or remove email that contains file attachments that are commonly used to spread threats, such as .vbs, .bat, .exe, .pif and .scr files.
- Isolate compromised computers quickly to prevent threats from spreading further. Perform a forensic analysis and restore the computers using trusted media.
- Train employees not to open attachments unless they are expecting them. Also, do not execute software that is downloaded from the Internet unless it has been scanned for viruses. Simply visiting a compromised Web site can cause infection if certain browser vulnerabilities are not patched.
- If Bluetooth is not required for mobile devices, it should be turned off. If you require its use, ensure that the device's visibility is set to "Hidden" so that it cannot be scanned by other Bluetooth devices. If device pairing must be used, ensure that all devices are set to "Unauthorized", requiring authorization for each connection request. Do not accept applications that are unsigned or sent from unknown sources.
- For further information on the terms used in this document, please refer to the Security Response glossary.
Writeup By: Peter Szor