Fred Cohen es una autoridad e investigador temprano sobre la teoría de los virus informáticos. ver esa página de wikipedia para referencias. su artículo de 1987 recibe crédito como tal vez la primera analogía del problema de detección de virus con el problema de detención.
La idea básica es crear un programa X que llame a una subrutina de verificación de virus con un código de programa como parámetro. entonces, si la subrutina devuelve "es un virus", salga. si devuelve "no es un virus", infecte el sistema. dicho programa no puede existir por diagonalización / contradicción, pasando su propio código como parámetro. Por lo tanto, no hay un perfecto antivirus.
pero parece que un argumento en contra fácil de esta afirmación podría ser que el programa X contiene una sección de código dañina y que es irrelevante si se llama o no; el programa es potencialmente dañino si contiene alguna "sección de código dañina".
Como recuerdo, este resultado se publicó por separado en una revista matemática, pero no puedo encontrar la referencia en este momento.
Un tema más reciente / avanzado es detectar virus polimórficos que cambian su código de manera equivalente pero aleatoria.
Otro enfoque prometedor que parece evitar la cuestión del problema de detención (de una manera que demuestra que los "teoremas" teóricos abstractos pueden ser engañosos o incluso inaplicables en la práctica) es crear una "caja de arena" segura en la que un programa pueda ejecutarse pero no pueda hacer algo dañino
El navegador web moderno puede verse como un intento de construir dicho sistema. La complejidad de asegurarlo surge principalmente con Javascript.
Google está construyendo el marco NaCL [3] que se originó en parte en la academia y es el contendiente líder actual para un sistema de caja de arena altamente funcional integrado en el navegador moderno que aún permite el código de máquina. un comprobador de software demostrablemente seguro valida los programas candidatos. Hay recientes mejoras dramáticas anunciadas [4].
Una idea reciente y novedosa es utilizar análisis basados en gráficos de trazas de ejecución [5].
un tema más reciente de virtualización tiene varias implicaciones / aplicaciones de seguridad, como puede observar, por ejemplo, proveedores de virus que crean sistemas de virtualización para encontrar / detectar virus, etc. [6]
La sofisticación del virus Stuxnet reciente , aparentemente el primer virus del mundo patrocinado por el estado / patrocinado por el gobierno, desarrollado por agencias militares para fines de ciber / espionaje / sabotaje, ha llevado a un estudio académico serio / pesado, consulte las extensas referencias en wikipedia. Hay una variante reciente / nueva descubierta dirigida a la industria financiera llamada llama .
[1] Un virus informático indetectable David M. Chess y Steve R. White
[2] Tendencias en la investigación de virus informáticos Cohen, 1991
[3] Cliente nativo: un sandbox para código nativo x86 portátil y no confiable por Yee et al 2009
[4] NaCl para dar paso a RockSalt: los informáticos desarrollan una herramienta para mejorar el aislamiento de fallas de software 2012
[5] Detección de malware basada en gráficos mediante análisis dinámico de Anderson et al.
[6] Detección de malware metamórfico y basado en virtualización utilizando especificación algebraica por Webster, Malcolm