¿Cómo se programa el malware para que el software antivirus no lo detecte?

Hay un excelente artículo escrito por Carey Nachenberg sobre la evolución del malware y antivirus (AV).

Para resumir el artículo, el malware originalmente no tenía ninguna forma de tácticas antidetección implementadas, los AV son simplemente programas de coincidencia de cadenas.

Los primeros programas antivirus fueron programas glorificados de búsqueda de cadenas. El programa antivirus abriría cada archivo ejecutable en la computadora y escanearía todo su contenido en busca de un conjunto actual de firmas de virus

Más tarde, los creadores de malware comenzaron a cifrar sus virus, con un motor de cifrado incorporado. El virus se descifrará utilizando la rutina de descifrado. De esta manera, los malwares pueden vencer a los AV de cadena simple que coinciden.

Sin embargo, la rutina de descifrado del virus no está encriptada. Los AV ahora pueden simplemente coincidir con la rutina de descifrado en el malware y detectar TODO el malware que usa la misma rutina de descifrado.

El malware luego evolucionó para poder modificarse a sí mismo utilizando un motor de mutación (también conocido como virus polimórfico). Un malware utilizará el motor de mutación para generar rutinas complementarias de cifrado y descifrado. Cada vez que el malware se replica, puede usar un par diferente de (en / en) rutina de cifrado para encriptar el malware. Los AV ya no pueden simplemente coincidir con las rutinas de descifrado.

El virus polimórfico [A] es básicamente un virus cifrado con un giro. Recordemos que el virus cifrado simple lleva una rutina de descifrado de lenguaje de máquina inmutable de host a host. Se puede programar un producto antivirus para buscar los bytes estáticos que comprenden esta rutina de descifrado

Para vencer esto, las compañías de desarrollo AV han empleado la tecnología de descifrado genérico (GD) para detectar este malware. Básicamente, un antivirus GD emula la CPU y permite que el programa sospechoso se ejecute durante un tiempo para verificar si hay actividad sospechosa. Esto también permitirá que un virus revele su contenido y se vuelva detectable.

Esta es la razón por la cual hay una opción de “tiempo de espera” en algunos de los software de Anit-virus.

Si supiera cómo el software antivirus detecta malware, la respuesta sería trivial a esta pregunta.