Como impedir que meu executável seja tratado do AV como ruim ou vírus?


14

Estou criando um software, que será executado no Windows e funcionará como iniciador do jogo, para servir como um atualizador automático e verificador de arquivos no PC do cliente.

Uma coisa que eu não entendo, por que meu software antivírus (Avast) está considerando meu arquivo exe como perigoso e não o inicia sem pedir para colocá-lo na sandbox, para uso seguro.

Existe alguma regra que meu software deve obedecer, para ser tratado como bom, ou devo pagar centenas de dólares por algum tipo de assinatura digital e outras coisas?

Estou usando c # com o MS Visual Studio 2010.

Relatório VirusTotal . Nenhuma injeção de DLL, funcionando como downloader de arquivos remoto, usando a classe WebClient ().

Não é como se ele avisasse sobre vírus, mas "sugeria" colocar um sandbox nele. Veja a captura de tela:insira a descrição da imagem aqui


1
Sugiro que você primeiro faça o upload do seu programa para virustotal.com para ter uma idéia do número de fornecedores que consideram seu aplicativo suspeito. Se todos os programas antivírus sinalizarem seu aplicativo, você precisará descobrir o que seu código está fazendo e que um programa antivírus pode considerar suspeito. É praticamente impossível determinar o que os fornecedores de AV de heurística usam - duvido que eles digam a você. Se for apenas um ou dois, você poderá relatar falsos positivos a eles (consulte o site deles ou o Google "vendorname report false positive"). A desvantagem disso é que você terá que fazer isso com todas as versões do seu software.
Jan Doggen

Não está fazendo nada de atividade relacionada à injeção de DLL, está?
L46kok

Verifique se o seu computador não está infectado por um vírus. Eu nunca vi esse comportamento antes, a menos que haja uma infecção.
Sam

4
Você pode começar a remover a funcionalidade do seu código, até que o AV seja satisfeito ou nenhum código seja deixado (o que ocorrer primeiro). A peça, cuja remoção deixou AV feliz, deve ser verificada.
Ugoren

1
O problema ocorre apenas durante o desenvolvimento? Eu já tive esse problema no trabalho várias vezes, quando o compilador gera os executáveis. Nesse caso, a solução é realmente desinstalar o software anti-programa.

Respostas:


22

"A prevalência / reputação de arquivos é baixa" significa que o Avast usa um sistema de reputação baseado no uso do programa. Somente se seu programa tiver sido instalado e 'marcado como benevolente' por usuários suficientes, ele desenvolverá uma boa reputação e essa sugestão desaparecerá. A Avast chama isso de recurso de nuvem FileRep e diz "Todos os novos arquivos desconhecidos são potencialmente perigosos. Sempre que eles se espalharem, não haverá mais motivo para o AutoSandbox". Este é um PITA para pequenas empresas de software (e a Avast não é a única a fazer isso, observe, por exemplo, o Suspicious Insight da Symantec " ). Uma coisa que o Avast sugere é" você pode acelerar o processo se assinar os arquivos digitalmente ".

Localmente (no seu computador), você pode acessar as configurações de especialista em caixa automática e desativar os arquivos de caixa automática com baixa reputação ou talvez usar um certificado autoassinado, mas isso não o ajudará com os usuários finais. Para aqueles que sugiro, use um certificado real (custa dinheiro, mas o Windows também gosta) e atualize sua documentação com essas informações.
Talvez haja mais sugestões nos fóruns da Avast .


Eu tenho um problema similar. que solução de assinatura digital você usou @Deele? Eu não tenho mais de 50 $ para isso ...
Basj

0

Para adicionar o que Jan Doggen disse, outros softwares anti-vírus também fazem varreduras heurísticas.

A verificação antivírus não está apenas procurando se um executável específico é a cópia exata de um vírus conhecido. Isso pode e foi facilmente contornado. Agora, as ferramentas de antivírus verificam o comportamento específico, assim como a ferramenta usa bibliotecas de rede, realiza acesso / modificação de arquivos, criptografa / descriptografa-se em tempo de execução e assim por diante e, dependendo do algoritmo interno (a heurística), gera riscos .

Uma maneira de combater várias detecções falsas do AV é o que é conhecido por ofuscação por assinatura. Basicamente, uma outra técnica é que uma ferramenta AV verificará se há um fluxo específico de bytes (assinatura) incluído em um executável. Se o encontrar, sabe que é um vírus. Você pode acabar produzindo código (executável) que pode incluir uma das muitas bilhões de assinaturas que um software AV utiliza. Para remover essa parte específica, você precisa fazer uma pesquisa binária no seu executável, dividindo-a em duas partes, a primeira metade e a outra metade e redigitalizando-as novamente e repetindo o processo até localizar a parte que contém a assinatura. Uma vez encontrado, você vira alguns bits e vê se ele ainda é detectado. Uma maneira mais segura seria apenas alterar o código-fonte e verificar se ele gera outro fluxo de bytes nesse local.

Você encontrará esse problema 100% com o tipo de software que está desenvolvendo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.