dslreports logo


1.1 Viruses

Some viruses try to trick anti-virus software by intercepting its requests to the operating system. A virus can hide itself by intercepting the anti-virus softwares request to read the file and passing the request to the virus, instead of the OS. The virus can then return an uninfected version of the file to the anti-virus software, so that it seems that the file is clean. Modern anti-virus software employs various techniques to counter stealth mechanisms of viruses. The only completely reliable method to avoid stealth is to boot from a medium that is known to be clean.

by uid1307457 See Profile
last modified: 2009-04-27 18:03:11


Nonresident viruses can be thought of as consisting of a finder module and a replication module. The finder module is responsible for finding new files to infect. For each new executable file the finder module encounters, it calls the replication module to infect that file.



For simple viruses, the replicator task is to:



    Open the new file
    Check if the executable file has already been infected (if it is, return to the finder module)
    Append the virus code to the executable file
    Save the executable starting point
    Change the executable is starting point so that it points to the start location of the newly copied virus code
    Save the old start location to the virus in a way so that the virus branches to that location right after its execution.
    Save the changes to the executable file
    Close the infected file
    Return to the finder so that it can find new files for the replicator to infect.

by uid1307457 See Profile
last modified: 2009-04-27 18:06:45

Most modern anti-virus programs try to find virus-patterns inside ordinary programs by scanning them for virus signatures. A signature is a characteristic byte-pattern that is part of a certain virus or family of viruses. If a virus scanner finds such a pattern in a file, it notifies the user that the file is infected. The user can then delete, or (in some cases) clean or heal the infected file. Some viruses employ techniques that make detection by means of signatures difficult or impossible. These viruses modify their code on each infection. That is, each infected file contains a different variant of the virus.



Simple self-modifications


•In the past, some viruses modified themselves only in simple ways. For example, they regularly exchanged subroutines in their code. This poses no problems to a somewhat advanced virus scanner.

by uid1307457 See Profile
last modified: 2009-04-27 18:03:23

Resident viruses contain a replication module that is similar to the one that is employed by nonresident viruses. However, a finder module does not call this module. Instead, the virus loads the replication module into memory when it is executed and ensures that this module is executed each time the operating system is called to perform a certain operation. For example, the replication module can be called each time the operating system executes a file. In this case, the virus infects every suitable program that is executed on the computer.



There are two types:


Fast Infectors

Slow Infectors


Feedback received on this FAQ entry:
  • what are the examples of RESIDENT VIRUS?

    2009-07-19 07:31:05

by uid1307457 See Profile
last modified: 2009-04-27 18:06:55

A more advanced method is the use of simple encryption to encipher the virus. In this case, the virus consists of a small decrypting module and an encrypted copy of the virus code. If the virus is encrypted with a different key for each infected file, the only part of the virus that remains constant is the decrypting module. In this case, a virus scanner cannot directly detect the virus using signatures, but it can still detect the decrypting module, which still makes indirect detection of the virus possible.



Mostly, the decryption techniques that these viruses employ are simple and mostly done by just coring each byte with a randomized key that was saved by the parent virus. The use of XOR-operations has the additional advantage that the encryption and decryption routine are the same (a x or b = c, c x or b = a.)

by uid1307457 See Profile
last modified: 2009-04-27 18:03:32

Fast infectors are designed to infect as many files as possible. For instance, a fast infector can infect every potential host file that is accessed. This poses a special problem to anti-virus software, since a virus scanner will access every potential host file on a computer when it performs a system-wide scan. If the virus scanner fails to notice that such a virus is present in memory, the virus can piggy-back on the virus scanner and in this way infect all files that are scanned. Fast infectors rely on their fast infection rate to spread. The disadvantage of this method is that infecting many files may make detection more likely, because the virus may slow down a computer or perform many suspicious actions that can be noticed by anti-virus software.

by uid1307457 See Profile
last modified: 2009-04-27 18:07:05

Polymorphic code was the first technique that posed a serious threat to virus scanners. Just like regular encrypted viruses, a polymorphic virus infects files with an encrypted copy of itself, which is decoded by a decryption module. In the case of polymorphic viruses however, this decryption module is also modified on each infection. A well-written polymorphic virus therefore has no parts that stay the same on each infection, making it impossible to detect directly using signatures. Anti-virus software can detect it by decrypting the viruses using an emulator, or by statistical pattern analysis of the encrypted virus body. To enable polymorphic code, the virus has to have a polymorphic engine (also called mutating engine or mutation engine) somewhere in its encrypted body.



Some viruses employ polymorphic code in a way, which constrains the mutation rate of the virus significantly. For example, a virus can be programmed to mutate only slightly over time, or it can be programmed to refrain from mutating when it infects a file on a computer that already contains copies of the virus. The advantage of using such slow polymorphic code is that it makes it more difficult for anti-virus professionals to obtain representative samples of the virus, because bait files that are infected in one run will typically contain identical or similar samples of the virus. This will make it more likely that the detection by the virus scanner will be unreliable, and that, because of this, some instances of the virus may be able to avoid detection.

by uid1307457 See Profile
last modified: 2009-04-27 18:03:43

Slow infectors, on the other hand, are designed to infect hosts infrequently. For instance, some slow infectors only infect files when they are copied. Slow infectors are designed to avoid detection by limiting their actions: they are less likely to slow down a computer noticeably, and will at most infrequently trigger anti-virus software that detects suspicious behavior by programs. The slow infector approach does not seem very successful however. Viruses that are common in the wild are mostly relatively fast to extremely fast infectors.

by uid1307457 See Profile
last modified: 2009-04-27 18:07:14

To avoid being detected by emulation, some viruses rewrite themselves completely each time they are to infect new executables. Viruses that use this technique are said to be metamorphic. To enable metamorphism, a metamorphic engine is needed. A metamorphic virus is usually very large and complex. For example, W32/Simile consisted of over 14000 lines of assembly code, 90% of it part of the metamorphic engine.

by uid1307457 See Profile
last modified: 2009-04-27 18:03:53

A few older viruses called companion viruses do not have host files per se, but exploit MS-DOS. A companion virus creates new files (typically .COM but can also use other extensions such as .EXE) that have the same file names as legitimate .EXE files. When a user types in the name of a desired program, if he does not type in .EXE but instead does not specify a file extension, DOS will assume he meant the file with the extension that comes first in alphabetical order and run the virus. For instance, if a user had (filename).COM (the virus) and (filename).EXE and the user typed filename, he will run (filename).COM and run the virus.



The virus will spread and do other tasks before redirecting to the legitimate file, which operates normally. Some companion viruses are known to run under Windows 95 and on DOS emulators on Windows NT systems. Path companion viruses create files that have the same name as the legitimate file and place new virus copies earlier in the directory paths. These viruses have become increasingly rare with the introduction of Windows XP, which does not use the MS-DOS command prompt.

by uid1307457 See Profile
last modified: 2009-04-27 18:07:28

What Virus extensions does an anti-virus program typically assign to a virus once it has been found?



@mm is an extension commonly appended to the end of a mass mailing computer virus. This model is used by security firm Symantec, and follows any variant letter.



Examples include:


* W32.MyDoom@mm
* Mac.Simpsons@mm
* W32.MyParty@mm
* W32.Nimda.A@mm


Other similar extensions or prefixes are applied to computer viruses; however, the decision to do so and indeed the 'name' of the virus is determined by the will of individual security firms.

by uid1307457 See Profile
last modified: 2009-04-27 18:07:40

Included in many viruses:



•-Trojan horses - A Trojan horse is just a computer program. The program pretends to do one thing (like claim to be a picture) but actually does damage when you start it (it can completely erase your files). Trojan horses cannot replicate automatically. Computer viruses are called viruses because they share some traits of types of biological viruses.

•-Worms - A worm is a piece of software that uses computer networks and security flaws to create copies of itself. A copy of the worm will scan the network for any other machine that has a specific security flaw. It replicates itself to the new machine using the security flaw, and then starts replicating.

•-E-mail viruses - An e-mail virus will use an e-mail message as a mode of transport, and usually will copy itself by automatically mailing itself to hundreds of people in the victim's address book.

In computer security, a computer virus is a self-replicating computer program that spreads by inserting copies of itself into other executable code or documents.


•A computer virus behaves in a way similar to a biological virus, which spreads by inserting itself into living cells.

•Extending the analogy, the insertion of a virus into the program is termed as an infection, and the infected file, or executable code that is not part of a file, is called a host.

Viruses are one of the several types of malicious software or malware.

A computer virus will pass from one computer to another like a real life biological virus passes from person to person. For example, it is estimated by experts that the Mydoom worm infected a quarter-million computers in a single day in January of 2004. In March of 1999, the Melissa virus spread so rapidly that it forced Microsoft and a number of other very large companies to turn off their e-mail systems until the virus could be dealt with. Another example is the ILOVEYOU virus, which occurred in 2000, had a similarly disastrous effect.



In common parlance, the term virus is often extended to refer to worms, Trojan horses, and other sorts of malware; viruses in the narrow sense of the word are less common than they used to be, compared to other forms of malware.



While viruses can be intentionally destructive, for example, by destroying data, many other viruses are benign or merely annoying. Some viruses have a delayed payload, which is sometimes called a bomb.



For example, a virus might display a message on a specific day or wait until it has infected a certain number of hosts. The predominant negative effect of viruses is their uncontrolled self-reproduction, which wastes or overwhelms computer resources.



Today, viruses are somewhat less common than network-borne worms, due to the popularity of the Internet. Anti-virus software, originally designed to protect computers from viruses, has in turn expanded to cover worms and other threats such as spyware, identity theft, and adware.

by uid1307457 See Profile
last modified: 2009-04-27 18:02:40

A program called Elk Cloner is credited with being the first computer virus to appear in the wild -- that is, outside the single computer or lab where it was created. Written in 1982 by Rich Skrenta, it attached itself to the Apple DOS 3.3 operating system and spread by floppy disk.



The first PC virus was a boot sector virus called (c) Brain, created in 1986 by two brothers, Basit and Amjad Farooq Alvi, operating out of Lahore, Pakistan. The brothers reportedly created the virus to deter pirated copies of software they had written. However, analysts have claimed that the Ashar virus, a variant of Brain, possibly predated it based on code within the virus.



Before computer networks became widespread, most viruses spread on removable media, particularly floppy disks. In the early days of personal computers, many users regularly exchanged information and programs on floppies. Some viruses spread by infecting programs stored on these disks, while others installed themselves into the disk boot sector, ensuring that they would be run when the user booted the computer from the disk.



Traditional computer viruses were mostly first seen at the last half of the 1980s, and they came about because of a few reasons. The first reason was the spread of personal computers. Prior to the 1980s, home computers were nearly non-existent or they were toys. Real computers were rare, and experts locked them away for use. During the 1980s, real computers started to spread to businesses and homes because of popularity. By the late 1980s, PCs were widespread in businesses, homes, and college campuses.



The second reason was the use of bulletin boards on the computer. People could dial up a bulletin board with a modem and download all sorts of different programs. Most popular were games, and then simple word processors, spreadsheets, etc. Bulletin boards led to what is now known as the virus called a Trojan horse. The third reason that led to the creation of viruses was most definitely the floppy disk. At the end of the 1980s, programs were very small, and could fit the operating system, a word processor, and many documents onto a single floppy disk. Most computers did not have hard disks, so you would turn on your machine and it would load the operating system and everything else straight from the floppy disk. Viruses took advantage of these three facts to create the first self-replicating programs.



As bulletin board systems and online software exchange became popular in the late 1980s and early 1990s, more viruses were written to infect popularly traded software. Shareware and bootleg software were equally common vectors for viruses on BBSes. Within the pirate scene of hobbyists trading illicit copies of commercial software, traders in a hurry to obtain the latest applications and games were easy targets for viruses.



Since the mid-1990s, macro viruses have become common. Most of these viruses are written in the scripting languages for Microsoft programs such as Word and Excel. These viruses spread in Microsoft Office by infecting documents and spreadsheets. Since Word and Excel were also available for Mac OS, most of these viruses were able to spread on Macintosh computers as well. Numerically, most of these viruses did not have the ability to send infected e-mail. The ones that did usually worked by accessing the Microsoft Outlook COM interface.



Macro viruses pose unique problems for detection software. For example, some versions of Microsoft Word caused macros to replicate themselves with additional blank lines. The virus behaved identically but would be misidentified as a new virus. In another example, if two macro viruses simultaneously infect a document, the combination of the two, if also self-replicating, can appear as a mating of the two and would likely be detected as a virus unique from the parents.



A computer virus may also be transmitted through instant messaging. A virus may send a web address link as an instant message to all the contacts on an infected machine. If the recipient, thinking the link is from a friend (a trusted source) and follows the link to the website, the virus hosted at the site may be able to infect this new computer and continue propagating.

by uid1307457 See Profile
last modified: 2009-04-27 18:02:54