La precisión en el análisis heurístico
depende de la agresividad con la que se configure el criterio de asignación
de puntos.
Si el código malicioso en la mira es nuevo para el
analizador, la precisión de sus resultados no depende de una
simple decisión binaria (ni “sí, es un virus conocido
llamado XXX”, ni “no, no es código malicioso conocido”).
En cambio, el grado de certeza de su respuesta
se basa en un rango de valores continuo que varía del alto
(manteniendo la cantidad de falsos positivos al mínimo)
al bajo (detectando la mayor cantidad de virus posible).
Una respuesta agresiva prioriza la detección de virus probables, sobre el riesgo de falsos positivos, mientras que un criterio no agresivo es más
apropiado cuando el impacto adverso de las falsas alarmas es considerado
inaceptable.
No es extraño que un producto ofrezca una simple opción entre la configuración por defecto (heurística desactivada) o una configuración con heurística.
Como ya hemos señalado que todos los analizadores son, en cierto
punto heurísticos, tal vez sería más preciso
referirse a la heurística básica
activada como valor por defecto.
Algunos desarrolladores también
distinguen entre heurística pasiva y activa.
En ambos casos,
se analiza el código en busca de características sospechosas,
pero en modo activo el analizador usa un entorno virtual para ejecutar
y rastrear el código.
En modo pasivo, simplemente inspecciona el código estáticamente.
En las siguientes líneas, puede observarse la correspondencia existente entre la tecnología
del analizador y el rango de valores de certeza.
No todos los analizadores tienen estos niveles de sensibilidad,
ni tampoco permiten que los valores sean configurados o modificados
manualmente.
Incluso, aquellos que permiten niveles de sensibilidad,
podrían no documentarlos.
También debería destacarse que cierta forma de emulación podría ser utilizada en cualquiera de los niveles descriptos más
arriba.
Los desarrolladores que desactivan por defecto la heurística avanzada, no solo podrían
estar tratando de reducir el riesgo de falsos positivos.
También podrían estar intentando mejorar la velocidad
percibida del producto.
Todos los niveles de análisis y procesamiento heurístico repercuten en el tiempo de análisis, y para algunos productos la disminución
en el rendimiento puede resultar demasiado evidente.
Sin embargo, como hemos mencionado anteriormente, aun si aumenta
el número de objetos maliciosos conocidos, con rutinas de
código
bien implementadas en los poderosos ordenadores actuales, el
impacto puede reducirse a un nivel aceptable.
De hecho, hay un gran
rango de variación en términos de degradación
de rendimiento en la velocidad de los analizadores de diferentes
desarrolladores.
Un motor heurístico implementado correctamente solo debería tener un impacto mínimo
sobre el rendimiento del sistema.
La sensibilidad heurística no es simplemente una cuestión técnica relacionada con la precisión
al diagnosticar la presencia de un virus previamente desconocido.
También es una cuestión psicosocial: ¿cómo deberíamos señalar un virus probable al usuario final, y qué deberíamos
aconsejarle que haga?
La forma en que se indique un virus probable, le brinda mucha información
al cliente acerca del desarrollador del programa antivirus.
Algunos
productos son cautos, y utilizan mensajes que dicen, en efecto,
que podría tratarse de una variante del Virus X, pero que no están
completamente seguros.
Esto elimina el riesgo de falsos positivos
del desarrollador, y deja librados al cliente el diagnóstico
final y la elección de la acción.
En realidad, la mayoría de los clientes preferirían que el diagnóstico lo realizara el analizador.
Los usuarios podrían sentirse incómodos con la posibilidad de que el programa esté equivocado, hecho que podría sugerir que la tecnología
es menos confiable de lo que en realidad es.
Otros desarrolladores muestran un mensaje más detallado e impresionante, que dice algo similar a “Código malicioso XXXX detectado y bloqueado”, o “W32/peligroso-troyano-de-puerta trasera detectado y removido””.
Esto suena genial, y el cliente seguramente estará agradecido porque el código malicioso ha sido identificado y neutralizado, pero podría no saber que en principio esos nombres son simplemente genéricos, e indican una detección heurística de un código malicioso probable, pero no determinan un virus específico.
Desafortunadamente, no hay estadísticas confiables para
mostrar cuántos programas legítimos, correos electrónicos,
etc, han sido difamados a causa de un analizador excesivamente
seguro de sí mismo.
Algunos desarrolladores advierten que la heurística avanzada
solo debería ser activada en contextos donde se sospecha la
presencia de nuevo códigos maliciosos, o donde sea más
probable su existencia, por ejemplo, en analizadores de enrutadores
de correo electrónico.
Esto reduce la confusión causada
por el riesgo de falsos positivos en ordenadores personales, pero
aumenta el riesgo de falsos negativos cuando falla el análisis
perimetral.