Aplicabilidad de la informática teórica en la investigación de malware


8

Me gustaría saber la importancia de TCS en la investigación de malware. Debido al gran volumen de nuevas variantes de malware recibidas por día (~ 50,000 muestras / día según McAfee), los investigadores de malware dependen en gran medida del análisis dinámico (es decir, ejecutar las muestras en un sandbox y monitorear su comportamiento) y alejarse del análisis estático e Ingeniería inversa, ya que estos enfoques requieren mucho tiempo y a veces se vuelven muy desafiantes debido a la ofuscación / encriptación.

Encontré una charla muy útil (BlackHat 2010) de Greg Hoglund sobre Malware attributiondonde el orador habla sobre la importancia de incorporar a los autores de malware y sus redes en la imagen, lo que proporciona información valiosa que simplemente analizar el binario en sí.

Tengo dos preguntas:

  1. Si los investigadores de malware avanzan hacia el análisis del comportamiento de los autores de malware y su red, en el futuro TCS tiene alguna importancia en la investigación de malware.
  2. Como no soy fuerte en TCS, me gustaría saber dónde encaja exactamente TCS en la investigación de malware.

Gracias.


Muchos algoritmos de malware se basan en bases de datos de códigos hash de programas "dañinos". entonces la teoría de hashcode es relevante. otra área de investigación activa es crear "cajas de arena" a prueba de balas ... citará algunas referencias sobre esto si la pregunta se vota de manera positiva
vzn

Busque enfoques basados ​​en la semántica para la detección de malware para enfoques con más teoría.
Vijay D


Hay un libro llamado "Criptografía maliciosa" con ideas sobre cómo se puede usar TCS en malware.
sdcvvc

Respuestas:


1

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


Además, he aquí otra referencia genial de 2003 en IEEE sobre el virus Slammer por Moore et al , posiblemente el virus de propagación más rápido en la historia de todo el malware. algunos otros estudios / trabajos científicos sobre esto también.
vzn
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.