Antivirus, antimalware and antispyware software. What is the difference?

I don't think this is the definitive definition of them, however I would say the difference:

  • Antivirus searches for 100's of signatures of well-known viruses, regardless of what file they're in.
  • Antimalware searches for lists of known evil programs. (Perhaps there are smarter products that actually search for programs that do bad stuff, I'm not familiar).
  • Anti-spyware I think searches for registry keys, 3rd party cookies, and other tracking devices.
  • Also should mention anti-rootkit, these search specifically for malware that is designed to hide from the operating system (and thus standard anti-malware).

As you said though, not sure any clear distinction still exists, since most of the vendors are effectively packaging the different scanning engines in single product or suite.


Wanted to add this as comment, but it does not fit in.

Would like to add that both antivirus and antimalware use similar techniques because of, how @AviD said, there are no clear distinction in their work specifics. More important is that search by signature can be defeated by self-modifying code, or polymorphic code. That's why antimalware software uses smart heuristics, strange behavior detection. Also there are emulators added, that runs code and watches what it does. Another one technique is sandboxing. There is difference between code emulation and sandboxing. Usually, first one repeats code in safe manner, not allowing unsafe instructions to execute, second one hooks unsafe functions.