Pergunta

Meu chefe veio até mim e perguntou como garantir que um arquivo carregado por meio de uma página da web seja seguro.Ele quer que as pessoas possam fazer upload de PDFs e imagens tiff (e similares) e sua verdadeira preocupação é alguém incorporar um vírus em um PDF que é então visualizado/alterado (e o vírus executado).Acabei de ler algo sobre um procedimento que poderia ser usado para destruir informações estenográficas incorporadas em imagens, alterando bits menos significativos.Um processo semelhante poderia ser usado para garantir que um vírus não seja implantado?Alguém conhece algum programa que possa limpar arquivos?

Atualizar:Então a equipe discutiu um pouco sobre isso, e um desenvolvedor encontrou uma postagem sobre permitir o download do arquivo para o sistema de arquivos e fazer com que o software antivírus que protege a rede verificasse os arquivos lá.O autor da postagem dizia essencialmente que era muito difícil usar a API ou a linha de comando para alguns produtos.Isso parece um pouco desajeitado para mim, porque estamos planejando armazenar os arquivos no banco de dados, mas nunca tive que verificar se havia vírus nos arquivos antes.Alguém tem alguma opinião ou experiência com isso?

http://www.softwarebyrob.com/2008/05/15/virus-scanning-from-code/

Foi útil?

Solução

Eu recomendo executar os arquivos enviados por meio de um software antivírus, como ClamAV.Não sei como limpar arquivos para remover vírus, mas isso permitirá pelo menos detectar e excluir arquivos infectados antes de visualizá-los.

Outras dicas

É improvável que os vírus incorporados em arquivos de imagem sejam um grande problema para o seu aplicativo.O que será um problema são os arquivos JAR.Arquivos de imagem com trailers JAR podem ser carregados de qualquer página na Internet como um miniaplicativo Java, com ligações de mesma origem (cookies) apontando para seu aplicativo e seu servidor.

A melhor maneira de lidar com uploads de imagens é recortá-las, dimensioná-las e transformá-las em um formato de imagem diferente.As imagens devem ter tamanhos, hashes e somas de verificação diferentes antes e depois da transformação.Por exemplo, o Gravatar, que fornece os “ícones de amigos” para Stack Overflow, força você a cortar sua imagem e depois traduzi-la para um PNG.

É possível construir um arquivo PDF ou DOC malicioso que explore vulnerabilidades no Word ou Acrobat?Provavelmente.Mas o ClamAV não fará um bom trabalho para impedir esses ataques;esses não são "vírus", mas sim vulnerabilidades no software visualizador.

Depende do orçamento da sua empresa, mas existem dispositivos de hardware e aplicativos de software que podem ficar entre o seu servidor web e o mundo exterior para executar essas funções.Alguns deles são firewalls de hardware com software antivírus integrado.Às vezes, eles são chamados de gateways de aplicativos ou proxies de aplicativos.

Aqui estão links para um gateway de código aberto que usa Clam-AV:http://en.wikipedia.org/wiki/Gateway_Anti-Virus http://gatewayav.sourceforge.net/faq.html

Você provavelmente precisará encadear um antivírus real ao processo de upload (da mesma forma que muitos antivírus garantem que um arquivo baixado em seu navegador seja seguro).

Para fazer isso sozinho, você teria que mantê-lo atualizado, o que significa manter bibliotecas de definições de vírus por perto, o que provavelmente está além do escopo do seu aplicativo (e pode até não ser viável dependendo do tamanho da sua organização ).

Sim, o ClamAV deve verificar o arquivo independentemente da extensão.

Use uma configuração de proxy reverso, como

www <-> HAVP <-> servidor web

HAVP (http://www.server-side.de/) é uma maneira de verificar o tráfego http embora ClamAV ou qualquer outro software antivírus comercial.Isso impedirá que os usuários baixem arquivos infectados.Se precisar de https ou qualquer outra coisa, você pode colocar outro proxy reverso ou servidor web no modo de proxy reverso que possa lidar com o SSL antes do HAVP

Porém, não funciona no upload, portanto não impedirá que os arquivos sejam armazenados nos servidores, mas sim evitar que os arquivos sejam baixados e, portanto, propagados.Portanto, use-o com uma verificação regular de arquivos (por exemplo, clamscan).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top