O Chrome costuma avisar você “Este tipo de arquivo pode danificar seu computador” quando você tenta baixar algo, mesmo que seja um arquivo PDF. Mas como um arquivo PDF pode ser tão perigoso – um PDF não é apenas um documento com texto e imagens?
Leitores de PDF como o Adobe Reader têm sido uma fonte de muitas vulnerabilidades de segurança ao longo dos anos. Isso ocorre porque um arquivo PDF não é apenas um documento – ele pode conter scripts, mídia incorporada e outras coisas questionáveis.
PDFs não são apenas documentos
O formato do arquivo PDF é muito complicado. Ele pode conter muitas coisas, não apenas texto e imagens, como você pode esperar. O PDF suporta muitos recursos que provavelmente não deveria, o que já abriu muitas brechas de segurança no passado.
- JavaScript : os PDFs podem conter código JavaScript, que é a mesma linguagem usada pelas páginas da web em seu navegador. Os PDFs podem ser dinâmicos e executar códigos que modificam o conteúdo do PDF ou manipulam os recursos do visualizador de PDF. Historicamente, muitas vulnerabilidades foram causadas por PDFs usando código JavaScript para explorar o Adobe Reader. A implementação de JavaScript do Adobe Reader contém até APIs JavaScript específicas da Adobe, algumas das quais eram inseguras e foram exploradas.
- Flash incorporado : os PDFs podem conter conteúdo Flash incorporado. Qualquer vulnerabilidade no Flash também pode ser usada para comprometer o Adobe Reader. Até 10 de abril de 2012, o Adobe Reader continha seu próprio Flash Player integrado. As falhas de segurança corrigidas no Flash Player principal podem não ter sido corrigidas no Flash Player do Adobe Reader até semanas depois, deixando as brechas de segurança abertas para exploração. O Adobe Reader agora usa o Flash Player instalado em seu sistema, em vez de um player interno.
- Ações de inicialização : os arquivos PDF tinham a capacidade de iniciar qualquer comando após abrir uma janela de confirmação. Em versões anteriores do Adobe Reader, um arquivo PDF pode tentar iniciar um comando perigoso, desde que o usuário clique em OK. O Adobe Reader agora contém uma lista negra que impede que arquivos PDF iniciem arquivos executáveis.
- GoToE : os arquivos PDF podem conter arquivos PDF incorporados, que podem ser criptografados. Quando um usuário carrega o arquivo PDF principal, ele pode carregar imediatamente seu arquivo PDF incorporado. Isso permite que os invasores ocultem arquivos PDF maliciosos dentro de outros arquivos PDF, enganando os scanners antivírus, impedindo-os de examinar o arquivo PDF oculto.
- Controles de mídia incorporados : além do Flash, os PDFs podem conter historicamente mídia do Windows Media Player, RealPlayer e QuickTime. Isso permitiria que um PDF explorasse vulnerabilidades nesses controles do reprodutor de multimídia incorporáveis.
Existem muitos outros recursos no formato de arquivo PDF que aumentam sua superfície de ataque, incluindo a capacidade de incorporar qualquer arquivo em um PDF e usar gráficos 3D.
A segurança do PDF foi aprimorada
Esperamos que agora você compreenda por que os arquivos Adobe Reader e PDF são uma fonte de tantas vulnerabilidades de segurança. Os arquivos PDF podem parecer documentos simples, mas não se engane – pode haver muito mais acontecendo sob a superfície.
A boa notícia é que a segurança do PDF melhorou. A Adobe adicionou uma sandbox chamada “Modo Protegido” no Adobe Reader X. Isso executa o PDF em um ambiente limitado e bloqueado, onde só tem acesso a certas partes do computador, não a todo o sistema operacional. É semelhante a como o sandbox do Chrome isola os processos da página da web do resto do seu computador. Isso cria muito mais trabalho para os invasores. Eles não precisam apenas encontrar uma vulnerabilidade de segurança no visualizador de PDF – eles precisam encontrar uma vulnerabilidade de segurança e, em seguida, usar uma segunda vulnerabilidade de segurança na caixa de proteção para escapar da caixa de proteção e causar danos ao resto do seu computador. Isso não é impossível de fazer, mas muito menos vulnerabilidades de segurança foram descobertas e exploradas no Adobe Reader desde que o sandbox foi introduzido.
Você também pode usar leitores de PDF de terceiros, que geralmente não oferecem suporte a todos os recursos de PDF. Isso pode ser uma bênção em um mundo onde o PDF contém tantos recursos questionáveis. O Chrome tem um visualizador de PDF integrado que usa sua sandbox, enquanto o Firefox tem seu próprio visualizador de PDF integrado escrito inteiramente em JavaScript, de modo que funciona no mesmo ambiente de segurança que uma página normal da web.
Embora possamos nos perguntar se os PDFs deveriam realmente fazer todas essas coisas, a segurança do PDF pelo menos melhorou. Isso é mais do que podemos dizer sobre o plug-in Java, que é terrível e atualmente é o principal vetor de ataque na web. O Chrome avisa antes de executar conteúdo Java se você também tiver o plug-in Java instalado.