Home

Up

Techniques Used by Anti-virus Programs

There are many anti-virus programs available to the public.  Some are free-of-charge downloads, and others can be purchased from an anti-virus software publishing company.  Regardless of the source of the program, they all detect viruses using one of several techniques and many of them use several of the techniques described below.  This section provides an introduction to these techniques for people who want to understand how anti-virus programs work.

Programs utilizing virus scanners are the most common type of anti-virus programs.  Scanners search the computer for known virus codes.  It is looking for virus code patterns that are not found in normal program files. Scanners can be general where they search for all kinds and classes of viruses or specialized where they are written to detect and clean only a small number of viruses on one class.  

Two errors that anti-virus software can make is that it fails to find a virus that is there, or it reports that there is a virus when there is not (referred to as a false alarm).   A scanner can make either of these errors.  It might report a virus pattern, or false alarm, when there isn’t a virus because the virus pattern code just happens to also match a part of a normal file code. On the other hand, if the scanner is not updated to search for the specific code for a new virus, it cannot detect that virus.  For this reason, scanners need to be updated on a regular basis, at least quarterly, monthly is better yet.  In the case of large companies or highly susceptible situations, updates can be done daily.  Most anti-virus vendors offer subscriptions to monthly upgrades for their software.  

Change detection (or CRC scanners) is another technique used where the software detects changes made in files.  When checking executable files, there should be little change unless the software has been updated.  Since this anti-virus program looks for changes it is not dependent on knowing about new viruses so does not need updated. It should be noted that for change detectors to work, they must first know what is on the computer.  This makes it difficult for them to detect viruses existing before they run on the machine.

From a disadvantage point of view, the user will need to have some knowledge to know on how to respond when the software reports a change.  The user will have to determine if the file change is normal or not.  It is also possible that the user will have made a purposeful change so the user thinks the changed file is okay, but in reality, a virus has been programmed to infect during the user’s change so the virus escapes detection by the anti-virus software. 

When an anti-virus program detects viruses by looking for characteristic behaviors of them it is using a technique called heuristic analysis.  It is interesting to know that some heuristic scanners use the computer's RAM (random access memory) to set up a virtual computer.  It actually tests the computer's programs by running them in this virtual situation and observing what they do.

Many software programs use a verifier.  Verifiers identify the specific virus that has been detected by the software.  The verifier program requires that in-depth analysis of the virus code is done.


Link to Computer Viruses Simplified