Si bien algunos especialistas afirman que no existe un algoritmo perfecto para detectar e identificar un virus informático, con el tiempo ciertos mecanismos se han convertido en unas “mejores prácticas”. De acuerdo con la tecnología empleada, un motor de antivirus puede detectar amenazas de diversas maneras. Las más habituales son las siguientes:
Firma de virus: Muchos antivirus cuenta con una base de datos que almacenan firmas de virus. Básicamente se trata del número de pasaporte de un virus, es decir, una cadena de caracteres (números, letras) que identifica de forma inequívoca a un virus. Cuando un antivirus detecta esta “huella”, tiene más probabilidad de éxito para combatir el virus.
Detección heurística: Mecanismo que escanea archivos buscando patrones de código similares a los que se usan en los virus. No hace falta que haya una coincidencia exacta con una firma de virus almacenada; el objetivo es buscar similitudes más generales aplicando algoritmos.​
Detección por comportamiento: Tiene que ver con analizar el sistema tras detectar un fallo o mal funcionamiento.
Detección por caja de arena (o sandbox): Se trata de usar el software en máquinas virtuales para ver si el programa ejecuta instrucciones maliciosas o no. A pesar de que este mecanismo es seguro, lleva bastante tiempo hacer todas las pruebas antes de ejecutar el software en la máquina real.