Os uploads de arquivos são essenciais no mundo corporativo, especialmente em serviços, aplicativos de negócios e atividades ligadas a produtividade do usuário.
O upload de arquivos é uma função importante para diversos sistemas nas empresas, como gerenciamento de conteúdo, portais de saúde, sites de seguros e aplicativos de mensagens. À medida que as organizações passam a adotar o trabalho remoto, torna-se cada vez mais crítico implementar medidas para garantir a segurança dos uploads de arquivos, uma vez que deixa-los sem restrições cria um vetor de ataque crítico para cibercriminosos.
Quais são os riscos do upload de arquivos?
Existem três tipos de riscos ao permitir uploads de arquivos:
Ataques à sua infraestrutura
Sobrescrever um arquivo existente: Se um arquivo for carregado com o mesmo nome e extensão de um arquivo existente no servidor, isso pode sobrescrever o arquivo existente. Se for um arquivo crítico (por exemplo, substituir o arquivo htaccess), o novo arquivo pode ser usado para iniciar um ataque do lado do servidor. Isso pode fazer com que o site não funcione mais ou pode comprometer as configurações de segurança e permitir que invasores realizem ataques.
Conteúdo malicioso: O arquivo carregado pode possuir um malware que explore uma vulnerabilidade no manuseio de arquivos do lado do servidor e assim, ser usado para obter o controle do servidor, causando graves consequências comerciais e danos à reputação.
Ataques aos seus usuários
Conteúdo malicioso: O arquivo carregado pode possuir um malware, script ou macro e ser usado para obter o controle das máquinas dos usuários infectados.
Interrupção do serviço
Se um arquivo extremamente grande for carregado, isso pode resultar em alto consumo de recursos dos servidores e interromper o serviço para seus usuários.
Como evitar ataques de upload de arquivos
Para evitar esses tipos de ataques, recomendamos as seguintes dez práticas:
Permitir apenas tipos de arquivo específicos: Limitando a lista de tipos de arquivo permitidos, você pode evitar que executáveis, scripts e outros conteúdos potencialmente maliciosos sejam carregados em seu aplicativo.
Verifique os tipos de arquivo: Além de restringir os tipos de arquivo, é importante garantir que nenhum arquivo seja "mascarado" como tipos de arquivo permitidos. Por exemplo, se um invasor renomear um .exe para .docx e sua solução depender inteiramente da extensão do arquivo, ele ignorará sua verificação. Portanto, é importante verificar os tipos de arquivo antes de permitir que sejam carregados.
Verificar malware: Para minimizar o risco, todos os arquivos devem ser verificados em busca de malware. Recomenda-se uma varredura múltipla de arquivos com vários mecanismos antimalware (usando uma combinação de assinaturas, heurísticas e métodos de detecção de machine learning) para obter a maior taxa de detecção e a menor janela de exposição a ataques de malware.
Remova possíveis ameaças incorporadas: Arquivos como Microsoft Office, PDF e arquivos de imagem podem conter ameaças incorporadas em scripts e macros ocultos que nem sempre são detectados por mecanismos antimalware. Para remover o risco e garantir que os arquivos não contenham ameaças ocultas, é uma prática recomendada remover todos os possíveis objetos incorporados usando uma metodologia chamada desarme e reconstrução de conteúdo (CDR).
Autenticar usuários: Para aumentar a segurança, é uma boa prática exigir que os usuários se autentiquem antes de enviar um arquivo. No entanto, isso não garante que a máquina do usuário em si não foi comprometida.
Defina o comprimento máximo do nome e o tamanho máximo do arquivo: Certifique-se de definir o comprimento máximo do nome (restrinja os caracteres permitidos, se possível) e o tamanho do arquivo para evitar uma possível interrupção do serviço.
Randomizar os nomes dos arquivos carregados: Altere aleatoriamente os nomes dos arquivos carregados para que os invasores não possam tentar acessar o arquivo com o nome do arquivo que carregaram. Ao usar o Deep CDR, você pode configurar o arquivo higienizado para ser um identificador aleatório (por exemplo, o data_id de análise).
Armazene os arquivos carregados fora da pasta raiz da web: O diretório para o qual os arquivos são carregados deve estar fora do diretório público do site para que os invasores não possam executar o arquivo por meio da URL de caminho atribuído.
Verifique se há vulnerabilidades nos arquivos: Certifique-se de verificar as vulnerabilidades nos arquivos de software e firmware antes de carregá-los.
Use mensagens de erro simples: Ao exibir erros de upload de arquivo, não inclua caminhos de diretório, definições de configuração do servidor ou outras informações que os invasores possam usar para obter mais acesso aos seus sistemas.
Fonte: OPSWAT
Conheça nossas soluções avançadas, robustas e seguras de NOC & SOC, Zero Trust, Next-Gen Firewalls, LGPD, Hardware, Monitoramento de Rede, Transferência de Arquivos Gerenciada, Consultoria de TIC, Treinamentos, Sustentação de Aplicações, Outsourcing, Licenciamento Geral e Help Desk.