Heuristic analysis

From Wikipedia, the free encyclopedia

Heuristic analysis is a method employed by many computer antivirus programs designed to detect previously unknown computer viruses, as well as new variants of viruses already in the wild.[1]

Heuristic analysis is an expert based analysis that determines the susceptibility of a system towards particular threat/risk using various decision rules or weighing methods. MultiCriteria analysis (MCA) is one of the means of weighing. This method differs with statistical analysis, which bases itself on the available data/statistics.

How it works

Most antivirus programs that utilize heuristic analysis perform this function by executing the programming commands of a questionable program or script within a specialized virtual machine, thereby allowing the anti-virus program to internally simulate what would happen if the suspicious file were to be executed while keeping the suspicious code isolated from the real-world machine. It then analyzes the commands as they are performed, monitoring for common viral activities such as replication, file overwrites, and attempts to hide the existence of the suspicious file. If one or more virus-like actions are detected, the suspicious file is flagged as a potential virus, and the user alerted.

Another common method of heuristic analysis is for the anti-virus program to decompile the suspicious program, then analyze the source code contained within. The source code of the suspicious file is compared to the source code of known viruses and virus-like activities. If a certain percentage of the source code matches with the code of known viruses or virus-like activities, the file is flagged, and the user alerted.

Effectiveness

Heuristic analysis is capable of detecting many previously unknown viruses and new variants of current viruses. The effectiveness is fairly low regarding accuracy and the number of false positives. Since heuristic analysis operates on the basis of past experience (by comparing the suspicious file to the code and functions of known viruses), it is likely to miss new viruses that contain previously unknown methods of operation not found in any known viruses.

As new viruses are discovered by human researchers, information about them are added to the heuristic analysis engine, thereby providing the engine the means to detect new viruses.

References

  1. Wong, W.; Stamp, M. (2006). "Hunting for metamorphic engines". Journal in Computer Virology 2 (3): 211–229. doi:10.1007/s11416-006-0028-7. 

External links

This article is issued from Wikipedia. The text is available under the Creative Commons Attribution/Share Alike; additional terms may apply for the media files.