Uma vulnerabilidade de dia zero é uma falha de segurança de software descoberta mesmo antes que os desenvolvedores saibam da falha. E ao descobrir a vulnerabilidade que levou ao ataque, eles têm “zero dias” de aviso prévio para corrigir a falha antes que o ataque aconteça.
Um dia zero é um ataque que explora uma falha desconhecida, isto é, o ataque ocorre no “dia zero” da percepção da vulnerabilidade. Isso significa que os desenvolvedores tiveram zero dias para resolver e corrigir a vulnerabilidade.
Muitas empresas antes de um lançamento costumam passar os desenvolvimentos por equipe de teste para que esses detectem possíveis falhas antes do lançamento para que essas possíveis falhas. Desse modo, dando ao time de desenvolvimento tempo para corrigir as falhas.
Como funciona um Dia Zero
Um ataque de dia zero acontece quando essa falha, ou vulnerabilidade é explorada e os invasores criam e liberam um malware antes que os desenvolvedores tenham tempo de criar um patch para corrigir a vulnerabilidade. Portanto, chamamos isso de “dia zero”. Vamos analisar as etapas da janela de vulnerabilidade:
- Os desenvolvedores criam um software, mas sem o conhecimento deles ele contém uma vulnerabilidade.
- O software agora lançado pode cair em mãos erradas que identifica essa falha, e esse hacker opta por explorar a falha ao invés de reportar a empresa responsável.
- O invasor então cria e distribui código de exploração “malware” enquanto a vulnerabilidade ainda está disponível
Depois de liberar a falha, o usuário identifica e reporta que houve algum tipo de roubo de informação ou problema gerado a partir do software. Ou o time de desenvolvimento detecta e cria um patch de atualização para corrigir o problema.
Depois que um patch é escrito e usado, o exploit não é mais chamado de exploit de dia zero. No entanto, esses ataques raramente são descobertos de imediato. Na verdade, muitas vezes leva não apenas dias, mas meses e alguns casos até anos antes que um desenvolvedor descubra a vulnerabilidade que levou a um ataque.
Como um desenvolvedor pode se prevenir de um Dia Zero:
Primeiramente desenvolvimento em múltiplas camadas fornece proteção independente de serviço e é a primeira linha de defesa caso uma falha em qualquer camada seja descoberta.
O uso de Port knocking, que é um método de abrir portas externamente em um firewall, será realizado uma série de tentativas de conexões em uma sequência já estabelecida. Em outras palavras, esse método funciona como se fosse uma senha de portas fechadas, e depois que esta sequência estiver correta as regras de firewall são modificadas temporariamente para permitir que o host que “bateu” nas portas tenha acesso.
Do mesmo modo, uma lista de IP’s com permissões protege de certo modo contra ameaças de dia zero.
A lista de permissões só permitirá que aplicações de confiança acessem um sistema e, portanto, nenhum exploit novo ou desconhecido terá o acesso permitido. Embora a lista de permissões seja eficaz contra ataques de dia zero, uma aplicação de confiança também pode ter falhas que passaram batidas por testes. Ou seja, tenha cautela.
Outras empresas optam por uma lista fechada de usuários, estes realizam testes de versão beta. Assim caso haja alguma falha o usuário reportaria as ocorrências.
E por último mas não menos importante! Bug Bounty. Hoje cada vez mais empresas estão aderindo a plataformas de bug bounty e assim bug hunters caçadores de bugs procuram por falhas a fim de receber sua então merecida recompensa.
Outras dicas simples, mas não menos importantes.
Sim, a dica é simples… Mas você sabia que o número de pessoas que por distração acabam clicando em links ou abrindo anexos de e-mail com imagens ou arquivos em PDF, mesmo que o remetente seja alguém que eles conheçam. Essa também tem sido a forma como cibercriminosos têm enganado até mesmo a galera do Dev, fingindo ser alguém que eles não são.
Mesmo sendo você um desenvolvedor experiente na verdade, até mesmo nós que somos de cibersegurança podemos deixar passar que é mantermos nosso computador atualizado.
E por último mas não menos importante, utilizar sites com Secure Socket Layer (SSL), que protege a informação que está sendo passada entre o usuário e o site visitado.
2021 é o ano em que até as grandes sofreram com falhas de Dia Zero.
Os recentes ataques Zero deixaram gigantes da tecnologia como Apple, Google e Microsoft em situação ruim, pois as mesmas precisaram agir rápido para consertarem vulnerabilidades em seus sistemas.
Desde aconselhar seus usuários a atualizar seus softwares e até emitir alertas, as empresas têm procurado freneticamente por soluções que possam minimizar o efeito de tais adversários.
A gigante da tecnologia alertou seus dois bilhões de usuários do Chrome sobre uma atualização urgente quando em 12 de julho houve um relato de falha CVE-2021-30563.
O Google alertou os usuários sobre um novo exploit de dia zero em seu navegador, e que este era de alto nível. Eles então descreveram a falha simplesmente como um “Type Confusion in V8”, um mecanismo JavaScript de código aberto no Chrome.
A gigante de tecnologia não divulgou mais nenhuma informação sobre a falha de segurança até que a maioria dos usuários conseguissem atualizar seus navegadores.
Dizia apenas que o bug afetava as versões do navegador para Windows, macOS e Linux. Além da falha do dia zero, a nova atualização do Google também corrigiu outras sete vulnerabilidades de segurança.
Em 2010 o Google junto com outras 30 empresas foram vítimas de um grande ataque de dia zero. O ataque, denominado Operação Aurora, foi uma série de ataques cibernéticos da China dirigidos a empresas do setor privado dos Estados Unidos.
Os hackers realizaram uma campanha de phishing que explorou uma falha de dia zero, comprometendo as redes do Yahoo, Adobe, Dow Chemical, Morgan Stanley e Google, com mais de duas dezenas de outras empresas roubando seus segredos comerciais.
Microsoft
No final de julho, a Microsoft enfrentou um horror de dia zero apelidado de Print Nightmare. A Microsoft correu para uma atualização de emergência para interromper a vulnerabilidade no serviço Spooler de impressão que estava sendo explorado ativamente.
A vulnerabilidade de segurança de dia zero afetou todas as versões do sistema operacional Microsoft Windows até o Windows 7
Com pontuação de 8,2 em 10 pela escala CVSS – Common Vulnerability Scoring System, o bug de execução remota. A brecha de segurança foi tão grave que a Microsoft decidiu lançar um patch de atualização por fora.
O Print Nightmare foi considerado extremamente perigoso por duas razões principais. Em primeiro lugar, todos os sistemas baseados no Windows, incluindo as versões Server e computadores com privilégios de administrador do sistema, o habilitaram por padrão.
Em segundo lugar, um erro entre as equipes de pesquisadores levou a uma publicação online de um exploit de prova de conceito para o Print Nightmare, acreditando que o problema havia sido resolvido.
Essa confusão surgiu de uma vulnerabilidade semelhante, que também afeta o serviço Spooler de impressão.
Apple
Conhecemos a Apple por seus recursos de segurança, mas mesmo o melhor dos sistemas desmorona com os ataques cibernéticos em evolução. Com uma vulnerabilidade de dia zero solta, a Apple correu para corrigir a vulnerabilidade de segurança.
De acordo com a Apple, a falha poderia permitir que um aplicativo executasse um código arbitrariamente com privilégios de kernel em dispositivos vulneráveis e sem atualização. O acesso aos privilégios do kernel permite que os invasores controlem completamente um dispositivo, seja um iPhone, iPad ou um macOS.
Para remediar isso, a Apple lançou uma atualização do iOS 14.7.1 e iPadOS 14.7.1 para uma vulnerabilidade crítica de dia zero que afeta o IOS Mobile Framebuffer. Esta extensão do kernel permite que os desenvolvedores controlem como a memória de um dispositivo lida com a exibição da tela.
Conclusão
Vimos aqui que mesmo sendo conhecedor de tecnologias nunca estamos completamente a salvo.
Explorações de dia zero podem gerar enormes problemas e também prejuízos incalculáveis.
Por isso, estar atento a uma série de rotinas ao lançar uma aplicação não só ajuda o sucesso de sua aplicação no mercado. Bem como evita prejuízos e até mesmo processos por parte de usuários que sejam prejudicados.
Por isso, a nossa recomendação é que você esteja em constante desenvolvimento . Esteja sempre preparado pois um ataque de dia zero pode acabar com a sua tranquilidade em um estalar de dedos.
Para isso, nós da ACADI-TI possuímos a certificação CSCU desenvolvida pela gigante de cibersegurança EC-Council. Esse treinamento é desenvolvido para pessoas que necessitam trabalhar na frente de um computador e que não querem se tornar um refém.
As certificações são vistas como a construção de uma base de conhecimento. A Certified Secure Computer User CSCU é a ideal para iniciantes entre as certificações internacionais, com foco principal em aspectos técnicos da segurança da informação.
Em outras palavras, um bom conhecimento de segurança começa com um entendimento sólido dos fundamentos. O que torna o CSCU tão aplicável a administradores de sistemas quanto aos pentesters.