Anti-virus software (computer programs) attempts to identify, neutralize or eliminate malicious software of various types. The term "anti-virus" is used because the earliest examples were designed exclusively to combat computer viruses; however most modern antivirus software is now designed to combat a wide range of threats, including worms, phishing attacks, rootkits, trojan horses and other malware as well as traditional viruses. Antivirus software typically uses two different approaches to accomplish this:

The second approach is called heuristic analysis. Such analysis may include data captures, port monitoring and other methods. Most commercial antivirus software uses both of these approaches, with an emphasis on the virus dictionary approach.

Some people consider network firewalls to be a type of antivirus software, however, though firewall software may form a part of a complete security approach, it is not correct to include them under the anti-virus umbrella.