O que é uma exploração de “dia zero” e como você pode se proteger?
A imprensa está constantemente escrevendo sobre novas e perigosas explorações de “dia zero”. Mas o que exatamente é um exploit de dia zero, o que o torna tão perigoso e - o mais importante - como você pode se proteger??
Ataques de dia zero acontecem quando os bandidos saem na frente dos mocinhos, nos atacando com vulnerabilidades que nem sabíamos que existiam. Eles são o que acontece quando não temos tempo para preparar nossas defesas.
Software está vulnerável
Software não é perfeito. O navegador no qual você está lendo - seja o Chrome, o Firefox, o Internet Explorer ou qualquer outra coisa - tem a garantia de ter bugs. Um software tão complexo é escrito por seres humanos e tem problemas que ainda não conhecemos. Muitos desses bugs não são muito perigosos - talvez causem um mau funcionamento de um site ou que seu navegador trave. No entanto, alguns bugs são buracos de segurança. Um invasor que sabe sobre o bug pode criar uma exploração que usa o bug no software para obter acesso ao seu sistema.
Claro, alguns softwares são mais vulneráveis que outros. Por exemplo, o Java teve um fluxo interminável de vulnerabilidades que permitem que os sites que usam o plug-in Java escapem da sandbox Java e tenham acesso total à sua máquina. As explorações que conseguem comprometer a tecnologia de área restrita do Google Chrome têm sido muito mais raras, embora até mesmo o Chrome tenha tido zero dias.
Divulgação Responsável
Às vezes, uma vulnerabilidade é descoberta pelos mocinhos. Ou o desenvolvedor descobre a vulnerabilidade ou hackers de “branco” descobrem a vulnerabilidade e a divulgam de forma responsável, talvez por meio de algo como Pwn2Own ou o programa Google Chrome Bounty, que recompensa os hackers por descobrir vulnerabilidades e divulgá-las com responsabilidade. O desenvolvedor corrige o bug e libera um patch para ele.
Pessoas maliciosas podem mais tarde tentar explorar a vulnerabilidade depois de divulgada e corrigida, mas as pessoas tiveram tempo de se preparar.
Algumas pessoas não corrigem seu software em tempo hábil, de modo que esses ataques ainda podem ser perigosos. No entanto, se um ataque for direcionado a um software usando uma vulnerabilidade conhecida que já existe um patch disponível, esse não é um ataque de "dia zero".
Ataques de dia zero
Às vezes, uma vulnerabilidade é descoberta pelos bandidos. As pessoas que descobrem a vulnerabilidade podem vendê-la para outras pessoas e organizações que procuram explorações (isso é um grande negócio - isso não é apenas adolescentes em porões que tentam mexer com você mais, isso é crime organizado em ação) ou usá-los. A vulnerabilidade já pode ser conhecida pelo desenvolvedor, mas o desenvolvedor pode não ter conseguido corrigi-lo a tempo.
Nesse caso, nem o desenvolvedor nem as pessoas que usam o software avisam com antecedência que seu software está vulnerável. As pessoas só aprendem que o software é vulnerável quando já está sendo atacado, muitas vezes examinando o ataque e aprendendo qual bug ele explora.
Este é um ataque de dia zero - isso significa que os desenvolvedores tiveram zero dias para lidar com o problema antes que ele já esteja sendo explorado na natureza. No entanto, os bandidos sabem disso há tempo suficiente para criar uma exploração e começar a atacar. O software permanece vulnerável a ataques até que um patch seja lançado e aplicado pelos usuários, o que pode levar vários dias.
Como se proteger
Zero dias são assustadores porque não temos nenhum aviso prévio deles. Não podemos impedir ataques de dia zero mantendo nosso software corrigido. Por definição, não há patches disponíveis para um ataque de dia zero.
Então, o que podemos fazer para nos proteger das explorações de dia zero??
- Evite Software VulnerávelNão sabemos ao certo se haverá outra vulnerabilidade de dia zero em Java no futuro, mas a longa história de ataques de dia zero do Java significa que provavelmente haverá. (Na verdade, o Java está atualmente vulnerável a vários ataques de dia zero que ainda não foram corrigidos.) Desinstale o Java (ou desative o plug-in se você precisar do Java instalado) e estará menos em risco de ataques de dia zero . O Adobe Reader e o Flash Player da Adobe também tiveram historicamente muitos ataques de dia zero, embora tenham melhorado recentemente.
- Reduza sua Superfície de Ataque: Quanto menos software você tiver vulnerável a ataques de dia zero, melhor. É por isso que é bom desinstalar os plug-ins do navegador que você não usa e evitar que softwares desnecessários sejam expostos diretamente à Internet. Mesmo se o software do servidor for totalmente corrigido, um ataque de dia zero pode eventualmente acontecer.
- Executar um antivírus: Antivírus podem ajudar contra ataques de dia zero. Um ataque que tenta instalar malware em seu computador pode encontrar a instalação de malware frustrada pelo antivírus. A heurística de um antivírus (que detecta atividade de aparência suspeita) também pode bloquear um ataque de dia zero. Os antivírus podem, então, ser atualizados para proteção contra o ataque de dia zero, mais cedo do que um patch está disponível para o próprio software vulnerável. É por isso que é inteligente usar um antivírus no Windows, não importa o quanto você seja cuidadoso.
- Mantenha seu software atualizado: A atualização do seu software regularmente não protege você contra zero dias, mas garante que você tenha a correção assim que possível após o lançamento. É também por isso que é importante reduzir sua superfície de ataque e se livrar de softwares potencialmente vulneráveis que você não usa - é menos software que você precisa para garantir que esteja atualizado.
Nós explicamos o que é uma exploração de dia zero, mas o que é uma vulnerabilidade de segurança permanente e sem patches conhecida como? Veja se você consegue descobrir a resposta na seção Geek Trivia!