Ejecución basada en integridad

0

Los sistemas de detección de intrusos (IDS) se basan en firmas binarias o mal comportamiento del malware para detectar amenazas. Ha quedado muy claro que este enfoque ha tenido un éxito limitado debido al hecho de que en la mayoría de los casos no detectará nuevas amenazas y variantes.

Mi pregunta es que, en lugar de adoptar el enfoque más o menos de "listas negras", ¿cuáles serían los inconvenientes de tomar un enfoque basado en la integridad o las aplicaciones y componentes seguros del sistema de "listas blancas"? La auditoría de integridad se podría realizar fácilmente a través de un visor externo que contiene el código binario de un programa antes de que se ejecute.

Aunque este enfoque no detendrá ciertos ataques que hacen uso del programa vulnerable para ejecutar comandos maliciosos, me parece que sería efectivo para prevenir un punto de apoyo persistente en una máquina.

    
pregunta Vahid 09.12.2014 - 22:46
fuente

1 respuesta

3

Algunos proveedores venden sistemas que funcionan como usted describe. El mayor problema es la falta de cooperación activa de los proveedores; no hay una manera confiable de crear una lista de hashes de "binarios permitidos" desde:

  • Lo que parece ser "una aplicación" desde el punto de vista del usuario puede ser una colección de muchos archivos ejecutables (en gran medida, eso es lo que es DLL).

  • Cualquier actualización de software romperá los valores hash y requerirá volver a calcularlos. Esto es especialmente un problema con las aplicaciones que se actualizan automáticamente a diario (como es típico de algunos navegadores web modernos).

  • Algunas aplicaciones se basan en generación sobre la marcha de archivos ejecutables, por ejemplo. para optimizar las cosas con respecto al hardware local (creo que Adobe Reader lo hace). Tenga en cuenta también que .NET Framework viene con un compilador de C # ( csc.exe ) y que el proceso de compilación se puede invocar mediante programación (esto es lo que impulsa las páginas web de ASP.NET y es bastante común).

Entonces, en la práctica, los sistemas que funcionan de esa manera se combinan con una fase de aprendizaje (donde se recopila información sobre qué archivos ejecuta un usuario en un "día típico"), excepciones explícitas para casos de esquina, y un proceso simplificado por el cual el usuario puede solicitar la adición de una aplicación determinada a la lista blanca.

Tenga en cuenta que si aplica un sistema de este tipo, sus usuarios lo odiarán por completo, ya que lo sentirán como una intrusión intolerable en su mundo privado. El odio del usuario tiene su propio costo, desde el punto de vista de la seguridad (la seguridad funciona mucho mejor cuando los usuarios colaboran voluntariamente), por lo que es mejor contrarrestar esto con una ganancia neta del sistema de la lista blanca.

Además, tenga en cuenta que el malware no es necesariamente un archivo .exe o .dll. Los virus de macro de Word son un ejemplo bien conocido.

    
respondido por el Thomas Pornin 09.12.2014 - 23:10
fuente

Lea otras preguntas en las etiquetas