2011-12-23 12 views
11

No ha habido mucha discusión sobre SO sobre el uso de gotas vs. archivos para almacenar archivos binarios, pero el problema actual que se me presentan implica la exploración de virus. Es probable que haya muchas API que se pueden usar para escanear archivos guardados en un sistema de archivos. ¿Hay alguno para blobs? ¿Hay API a las que se les pueden dar secuencias o bytes [] y que les digan que busquen virus y malware? Si es así, ¿alguien tiene alguna recomendación? ¿O es esta una razón más para evitar los blobs?de detección de virus de Binarios - Blobs vs. Archivos

FYI - Estoy usando C# y MongoDB en este momento para mi manchas.

+0

¿Está buscando API de antivirus gratuitas, de código abierto o comerciales? –

+0

Cualquiera de esos trabajos, mientras funcionen ... – carlbenson

Respuesta

3

No sé si existen API para escanear datos en memoria (no he encontrado ninguno), pero siempre puedes poner tus datos binarios en un archivo temporal, escanear el archivo (llamando a un programa externo que funcione en la línea de comandos) y eliminarlo cuando haya terminado.

3

Ciertamente API de Sophos (SAVI) puede escanear buffers de memoria arbitrarias - puede proporcionar devoluciones de llamadas para acceder a los datos, por lo que puede ser cualquier datos puede acceder.

4

Necesitaba una solución que me preguntaba sobre la pregunta. Evalué muchas cosas y llegué a la conclusión de que realmente no había una buena biblioteca de .NET para esto. Así que hice mi propio.

La biblioteca se llama nClam, y se conecta a un servidor de ClamAV. Es una biblioteca de código abierto (Apache License 2.0) que tiene una API muy simple. Puede obtenerlo aquí: https://github.com/tekmaven/nClam. También hay un paquete nuget: nClam. También tengo algunas instrucciones sobre cómo configurar el servidor ClamAV en mi blog, aquí: http://architectryan.com/2011/05/19/nclam-a-dotnet-library-to-virus-scan/.

+0

¿Se puede instalar el servidor ClamAV en Windows Server 2008? ¿Cómo mantiene ClamAV las actualizaciones de virus en mi servidor? Obtuve una aplicación web ejecutándose en ese servidor que tiene una función de carga. Necesito escanear el flujo de archivos antes de enviarlo al servidor de archivos. –