APIs AntiVirus: 7 Ferramentas para Verificar URLs e Arquivos Online

A internet está repleta de páginas com intenções maliciosas. Infelizmente, esses riscos podem se infiltrar nos sites de seus clientes e fornecedores.

Atualmente, todas as empresas dependem de algum tipo de integração que alimenta ou recebe informações de sites de clientes ou fornecedores. Embora esses serviços sejam essenciais para a operação de sua empresa, eles também podem representar uma vulnerabilidade. Sites externos com os quais você interage podem conter conteúdo malicioso (seja por intenção ou por invasão de terceiros), e se esse conteúdo chegar ao seu ambiente, as consequências podem ser graves.

Será que a verificação manual de sites por páginas maliciosas não é viável?

Pode parecer que um desenvolvedor experiente poderia inspecionar páginas em busca de vulnerabilidades. No entanto, essa ideia está longe da realidade por diversas razões:

  • Desenvolvedores não são especialistas em segurança ou detecção. A expertise deles reside na criação de softwares complexos através da integração de vários subsistemas. Em outras palavras, eles não possuem o conjunto de habilidades necessário.
  • Mesmo que você encontrasse um desenvolvedor talentoso o suficiente, a tarefa seria excessiva. Uma página web típica e rica em funcionalidades pode conter milhares de linhas de código. Analisar todas elas em busca de possíveis brechas e entender a lógica geral é uma tarefa complexa. É como pedir para alguém comer um elefante inteiro no almoço!
  • Para reduzir o tempo de carregamento de páginas, os sites frequentemente compactam e minimizam seus arquivos CSS e JavaScript. Isso gera um amontoado de código que é praticamente ilegível.

O que você acha que esse código faz? :kappa: (Fonte: elgg.org)

Se ele ainda parece inteligível, é porque os criadores mantiveram os nomes das variáveis para contexto geral. Experimente analisar o código-fonte do jQuery, por exemplo, que pode ser hospedado e modificado por terceiros (com apenas algumas linhas alteradas no meio desse emaranhado):

Sem mencionar que o código-fonte tem cerca de 5.000 linhas. 😎

E estamos falando apenas de um único script. Uma página web normalmente possui de 5 a 15 scripts anexados, e é provável que você lide com 10 a 20 páginas no total. Imagine ter que fazer isso diariamente… ou até mesmo várias vezes ao dia!

Felizmente, é possível verificar URLs de forma rápida e fácil utilizando APIs. Você pode analisar não apenas páginas da web, mas também arquivos que você recebe para download. Vamos explorar algumas ferramentas de API que ajudam a realizar essa tarefa. E, por serem APIs, seus desenvolvedores podem criar ferramentas de varredura de sites usando essas interfaces de programação. 😀

Google Web Risk

Não é surpresa que uma ferramenta de verificação de páginas da web seja oferecida pela empresa que domina a internet. No entanto, há um detalhe: o Google Web Risk ainda está em versão beta e está disponível apenas através de solicitação. Versões beta estão sujeitas a mudanças.

Ainda assim, como a API é simples, qualquer alteração pode ser tratada pelo seu desenvolvedor através de uma ferramenta de monitoramento de APIs e um pequeno tempo de desenvolvimento. 🙂

O uso da API também é bastante fácil. Para verificar uma única página usando a linha de comando, envie uma solicitação como esta:

curl -H "Content-Type: application/json" "https://webrisk.googleapis.com/v1beta1/uris:search?key=YOUR_API_KEY&threatTypes=MALWARE&uri=http%3A%2F%2Ftestsafebrowsing.appspot.com%2Fs%2Fmalware.html"

Se a solicitação for bem-sucedida, a API retornará o tipo de vulnerabilidade da página:

{
  "threat": {
    "threatTypes": [
      "MALWARE"
    ],
    "expireTime": "2019-07-17T15:01:23.045123456Z"
  }
}

Como você pode ver, a API confirma que a página contém malware.

É importante observar que a API Google Web Risk não realiza diagnósticos sob demanda em uma URL ou arquivo de sua escolha. Ela consulta uma lista negra mantida pelo Google com base em descobertas e relatórios de pesquisa, e informa se a URL está nessa lista ou não. Em outras palavras, se essa API indica que uma URL é segura, é razoável presumir que ela seja, mas não há garantias absolutas.

VirusTotal

VirusTotal é outro serviço útil que pode ser usado para verificar URLs e arquivos individuais (o que o coloca acima do Google Web Risk em termos de utilidade). Se você quiser experimentar o serviço, basta acessar o site e você encontrará a opção para começar na página inicial.

Embora o VirusTotal seja uma plataforma gratuita criada e mantida por uma comunidade ativa, ele também oferece uma versão comercial de sua API. Veja por que você pode querer pagar pelo serviço premium:

  • Taxa de solicitação e cota diária flexíveis (ao invés de apenas quatro solicitações por minuto da API pública)
  • O recurso enviado é analisado pelo VirusTotal usando seu antivírus e informações de diagnóstico adicionais são fornecidas.
  • Informações baseadas em comportamento sobre os arquivos que você envia (os arquivos são executados em diferentes ambientes de sandbox para monitorar atividades suspeitas)
  • Consulta no banco de dados de arquivos do VirusTotal para vários parâmetros (consultas complexas são suportadas)
  • SLA (Acordo de Nível de Serviço) e tempos de resposta rígidos (os arquivos enviados para o VirusTotal através da API pública são colocados em fila e levam um tempo considerável para análise)

Se você optar pela API privada do VirusTotal, pode ser um dos melhores investimentos que você fará em um produto SaaS para sua empresa.

Scanii

Outra API de varredura de segurança recomendada é o Scanii. É uma API REST simples que verifica documentos e arquivos enviados em busca de ameaças. Imagine como um verificador de vírus sob demanda que pode ser executado e dimensionado facilmente!

Aqui estão os benefícios que o Scanii oferece:

  • Capacidade de detectar malware, scripts de phishing, conteúdo de spam, conteúdo NSFW (Não Seguro Para o Trabalho), etc.
  • Foi desenvolvido no Amazon S3 para fácil escalabilidade e armazenamento seguro de arquivos.
  • Detecta textos ofensivos, inseguros ou potencialmente perigosos em mais de 23 idiomas.
  • Uma abordagem simples e focada para verificação de arquivos baseada em API (sem recursos desnecessários).

O Scanii é um meta engine; ou seja, não realiza varreduras por conta própria, mas utiliza um conjunto de motores subjacentes para realizar o trabalho. Essa é uma grande vantagem, pois você não precisa depender de um mecanismo de segurança específico, o que significa que não precisa se preocupar com quebras de API e outros problemas.

O Scanii é muito útil para plataformas que dependem de conteúdo gerado pelo usuário. Outro caso de uso é a verificação de arquivos gerados por serviços de fornecedores nos quais você não confia totalmente.

Metadefender

Para algumas organizações, verificar arquivos e páginas web em um único ponto final não é suficiente. Elas possuem um fluxo complexo de informações e nenhum ponto final pode ser comprometido. Para esses casos, o Metadefender é a solução ideal.

Pense no Metadefender como um guardião paranoico que se posiciona entre seus dados mais importantes e o resto, incluindo a rede. Digo “paranoico” porque essa é a filosofia por trás do design do Metadefender. A melhor descrição é deles mesmos:

A maioria das soluções de segurança cibernética depende da detecção como sua principal função de proteção. A sanitização de dados do MetaDefender não depende da detecção. Ele assume que todos os arquivos podem estar infectados e reconstrói seu conteúdo usando um processo seguro e eficiente. Ele suporta mais de 30 tipos de arquivos e produz arquivos seguros e utilizáveis. A sanitização de dados é extremamente eficaz na prevenção de ataques direcionados, ransomware e outros tipos de ameaças de malware conhecidas e desconhecidas.

Alguns recursos interessantes que o Metadefender oferece:

  • Prevenção contra perda de dados: essa é a capacidade de substituir e proteger informações confidenciais encontradas no conteúdo do arquivo. Por exemplo, um recibo em PDF com um número de cartão de crédito visível seria ocultado pelo Metadefender.
  • Implantação local ou na nuvem (dependendo do nível de paranoia!).
  • Suporte para mais de 30 formatos de arquivamento (zip, tar, rar, etc.) e 4.500 truques de falsificação de tipos de arquivos.
  • Implantações multicanal: proteja apenas arquivos ou controle e-mail, rede e login.
  • Fluxos de trabalho personalizados para aplicar diferentes tipos de pipelines de verificação com base em regras personalizadas.

O Metadefender inclui mais de 30 motores, mas os abstrai bem para que você não precise se preocupar com eles. Se você é uma empresa de médio a grande porte que não pode se dar ao luxo de sofrer com problemas de segurança, o Metadefender é uma ótima opção.

Urlscan.io

Se você trabalha principalmente com páginas web e sempre quis ter uma visão detalhada do que elas fazem nos bastidores, Urlscan.io é uma excelente ferramenta para ter.

A quantidade de informações que o Urlscan.io oferece é impressionante. Entre outras coisas, você pode ver:

  • O número total de endereços IP contatados pela página.
  • Lista de geografias e domínios para os quais a página enviou informações.
  • Tecnologias utilizadas no front-end e back-end do site (não há garantia de precisão, mas costuma ser bem preciso!).
  • Informações de domínio e certificado SSL.
  • Interações HTTP detalhadas com payload de solicitação, nomes de servidor, tempos de resposta, e muito mais.
  • Redirecionamentos ocultos e solicitações com falha.
  • Links de saída.
  • Análise de JavaScript (variáveis globais usadas em scripts, etc.).
  • Análise da árvore DOM, conteúdo de formulários e muito mais.

Veja como tudo isso se parece:

A API é simples e direta, permitindo que você envie uma URL para verificação, além de verificar o histórico de verificação dessa URL (análises feitas por outros usuários). Em geral, Urlscan.io oferece uma grande quantidade de informações para qualquer empresa ou indivíduo interessado.

SUCURI

SUCURI é uma plataforma conhecida quando o assunto é varredura online de sites em busca de ameaças e malware. O que você talvez não saiba é que eles também possuem uma API REST, permitindo que você utilize o mesmo poder através de programação.

Não há muito a ser dito aqui, exceto que a API é simples e eficaz. Claro, o Sucuri não se limita a uma API de varredura. Enquanto você está experimentando, recomendo que você confira alguns de seus recursos poderosos, como a varredura do lado do servidor (você fornece as credenciais de FTP e a ferramenta faz o login e verifica todos os arquivos em busca de ameaças!).

Quttera

Nossa última entrada nesta lista é Quttera, que oferece algo um pouco diferente. Em vez de verificar domínios e páginas enviadas sob demanda, o Quttera também pode realizar monitoramento contínuo, ajudando você a prevenir vulnerabilidades do dia zero.

A API REST é simples e poderosa, e pode retornar formatos adicionais além de JSON (como XML e YAML). Suporte para multithreading completo e simultaneidade em verificações permite que você execute várias verificações exaustivas em paralelo. Como o serviço é executado em tempo real, é indispensável para empresas que trabalham com aplicações de missão crítica, onde o tempo de inatividade pode ser fatal.

Conclusão

Ferramentas de segurança como as que foram apresentadas neste artigo são uma camada adicional de defesa (ou cautela, se preferir). Assim como um programa antivírus, elas são capazes de fazer muito, mas não existe um método de verificação à prova de falhas. Isso ocorre porque um programa escrito com intenções maliciosas é semelhante para o computador a um programa escrito com boas intenções. Ambos solicitam recursos do sistema e fazem requisições de rede; o problema está no contexto, que os computadores não entendem de forma nativa.

Dito isto, essas APIs fornecem uma proteção de segurança robusta, que é útil na maioria dos casos – tanto para sites externos quanto para os seus! 🙂