¿Cómo evitar que mi ejecutable sea tratado desde AV como malo o virus?

14

Estoy creando una pieza de software, que se ejecutará en Windows y actuará como un iniciador para el juego, para que sirva como autoactualizador y verificador de archivos en la PC del lado del cliente.

Una cosa que no entiendo es por qué mi software antivirus (Avast) está considerando mi archivo exe como peligroso y no lo iniciará sin pedir que lo guarde en un entorno limitado, para un uso seguro.

¿Hay alguna regla que mi software deba obedecer para ser tratado como bueno, o debería pagar cientos de dólares por algún tipo de firma digital y otras cosas?

Estoy usando C # con MS Visual Studio 2010.

Informe de VirusTotal . Sin inyecciones de DLL, trabajando como descargador de archivos remoto, usando la clase WebClient ()

No es como si advierte sobre virus, pero "sugiere" ponerlo en una caja de arena. Mira la captura de pantalla:ingrese la descripción de la imagen aquí

Deele
fuente
1
Le sugiero que primero cargue su programa en virustotal.com para tener una idea de la cantidad de proveedores que consideran sospechosa su aplicación. Si todos los programas AV marcan su aplicación, tendrá que averiguar qué está haciendo su código que un programa AV podría considerar sospechoso. Es prácticamente imposible determinar qué utilizan los proveedores de AV de heurística; dudo que se lo digan. Si es solo uno o dos, puede informarles de falsos positivos (consulte su sitio web o google "nombre de proveedor informe falso positivo"). La desventaja de esto es que tendrá que hacer esto con cada lanzamiento de su software.
Jan Doggen
No está haciendo ninguna actividad relacionada con la inyección de DLL, ¿verdad?
l46kok
Asegúrese de que su computadora no esté infectada con un virus. Nunca he visto ese comportamiento antes a menos que haya una infección.
Sam
44
Puede comenzar a eliminar la funcionalidad de su código, hasta que AV esté satisfecho o no quede ningún código (lo que ocurra primero). La parte, cuya eliminación hizo feliz a AV, debe verificarse.
ugoren
1
¿El problema ocurre solo durante el desarrollo? He tenido ese problema en el trabajo muchas veces, cuando el compilador genera los ejecutables. Si es así, la solución es desinstalar el software anti-programa.

Respuestas:

22

"La prevalencia / reputación de los archivos es baja" significa que Avast utiliza un sistema de reputación basado en el uso del programa. Solo si su programa ha sido instalado y 'marcado como benevolente' por suficientes usuarios, desarrollará una buena reputación y esta sugerencia desaparecerá. Avast llama a esto la función de nube FileRep y dice "Todos los archivos desconocidos nuevos son potencialmente peligrosos. Cada vez que se hayan generalizado, ya no habrá una razón para AutoSandbox". Este es un PITA para pequeñas empresas de software (y Avast no es el único que hace esto, tenga en cuenta, por ejemplo, la visión sospechosa de Symantec " ). Una cosa que Avast sugiere es" puede acelerar el proceso si firma digitalmente los archivos ".

Localmente (en su computadora) puede ir a la configuración experta de autosandbox y deshabilitar los archivos de autosandboxing con baja reputación, o tal vez usar un certificado autofirmado, pero eso no lo ayudará con sus usuarios finales. Para aquellos que sugiero que use un certificado real (cuesta dinero, pero a Windows también le gusta) y actualice su documentación con esta información.
Quizás haya más sugerencias en los foros de Avast también.

Jan Doggen
fuente
Tengo un problema similar. ¿Qué solución de firma digital usaste @Deele? No tengo más de 50 $ para esto ...
Basj
0

Para agregar a lo que dijo Jan Doggen, otros softwares anti-virus también realizan exploraciones heurísticas.

El escaneo antivirus no solo busca si un ejecutable específico es la copia exacta de un virus conocido. Eso puede y ha sido fácilmente burlado. Ahora las herramientas AV comprueban un comportamiento específico, como la herramienta usa bibliotecas de red, hace acceso / modificación de archivos, se encripta / desencripta en tiempo de ejecución y así sucesivamente, y dependiendo del algoritmo interno (la heurística), detecta peligro .

Una forma de combatir varias detecciones falsas de AV es lo que se conoce por ofuscación de firma. Básicamente, otra técnica es que una herramienta AV buscará si hay un flujo específico de bytes (firma) incluido en un ejecutable. Si lo encuentra, sabe que es un virus. Puede terminar produciendo código (ejecutable) que puede incluir una de las muchas miles de millones de firmas que utiliza un software AV. Para eliminar esa parte específica, debe hacer una búsqueda binaria en su ejecutable dividiéndola en dos partes, la primera mitad, la otra mitad y volviendo a escanearlas nuevamente y repitiendo el proceso hasta que encuentre la parte que contiene la firma. Una vez encontrado, voltea algunos bits y ve si todavía se detecta. Una forma más segura sería simplemente cambiar el código fuente y ver si escupe otro flujo de bytes en esa ubicación.

Te encontrarás con este problema al 100% con el tipo de software que estás desarrollando.

Solo un pensamiento...
fuente