Por Rangel Rodrigues e Marcilio Rodrigues*
Nestes quase 2 anos atuando como BISO, tive uma experiência um pouco diferente das anteriores. Meu papel era estabelecer uma conexão com os executivos de negócios e interconectar as áreas de tecnologia e cibersegurança, mas o que eu não percebi foi que a abordagem muda dependendo da cultura da organização.
Sendo um profissional com uma raiz pura em tecnologia, já trabalhei em diversas frentes de TI e cibersegurança, mais precisamente nos últimos anos atuando em gestão de risco cibernético e arquitetura, o que proporcionou uma visão abrangente do perfil de risco de cada organização onde atuei. Neste artigo, quero compartilhar experiências e pontos de vista sobre “gestão de vulnerabilidade” com o amigo Marcilio Rodrigues (cybersecurity advisor). Talvez ainda seja o principal requisito para manter um ambiente seguro, seja on-premises ou cloud, e continua sendo crucial.
Há mais de 20 anos, atuei em um banco americano no qual era responsável pela segurança dos servidores de internet banking e aplicações web consideradas críticas. Naquele tempo, o “IIS” da Microsoft era o servidor web mais utilizado, junto com o Apache. Ainda assim, as vulnerabilidades eram concentradas em falhas de aplicativos, servidores web, DNS, erros de configuração, e a comunidade hacker desenvolvia exploits para explorar falhas comuns em software. O Code Red, talvez o primeiro worm responsável por paralisar milhares de empresas no globo, me fez recordar da noite de segunda-feira em que recebi uma ligação do meu diretor para ir ao banco e apagar o incêndio que este código malicioso havia causado na rede corporativa.
Anos se passaram, e o assunto de gestão de vulnerabilidade ainda continua sendo muito discutido. À frente, vemos explorações comuns que se acumulam ainda em código, zero-days devido a falhas de software, End of Life (EoL) e erros de configuração. É visível que a cloud proporcionou o recurso de policy-as-code, que permite automatizar a aplicação de patches nas imagens, agilizando e resolvendo de maneira eficaz vulnerabilidades existentes em software.
Porém, vemos que falhas de segurança ainda aumentam, e o motivo é a falha na aplicação de patches de segurança ou negligência com erros de configuração ou na aplicação de patches. Se no ambiente de on-premises era difícil encontrar janelas para aplicar patches, pois o diretor de infraestrutura dizia que não podia parar o ambiente produtivo de retail para aplicar um patch, mesmo com o advento da cloud, continua sendo difícil. O cruzamento entre o processo de desenvolvimento de software seguro (SDLC) é vital para toda organização. SAST, DAST, IAST, SCA e pen testing, bug bounty são essenciais para detecção antecipada de vulnerabilidades em código, bibliotecas, componentes, etc.
O problema ainda tem sido a falta de conhecimento da comunidade de desenvolvedores, a falha em aplicar o patch e manter o compliance no ambiente, seja a confirmação com os reguladores como PCI-DSS, FedRAMP, etc. Muitas empresas ainda enfrentam desafios com sistemas em situações de EoL, o timeframe do standard de segurança não é cumprido, e por sua vez, o ambiente se torna vulnerável. Os últimos relatórios da Crowdstrike apontaram que software em situações de EoL e gestão de patches não eficaz do ambiente, seja on-premise ou cloud, tem ocasionado as falhas de segurança.
É evidente que o Zero Day e ataques de ransomware pegam muitas empresas de surpresa, e este tipo de ataque traz grande impacto financeiro e paralisação de processos críticos. A conclusão que ainda continuo tendo é que é preciso fazer o básico de segurança, aplicando treinamentos eficazes e expandindo o conhecimento de gestão de risco e segurança em cloud. Tabletop é talvez uma alternativa eficaz para treinar todas as áreas da organização.
Marcilio acrescenta que a implementação de um sólido gerenciamento de vulnerabilidades permite que as equipes de cyber priorizem ameaças potenciais e, ao mesmo tempo, minimizem a exposição e reduzam o risco de ataques.
O gerenciamento funciona quando empresas investem em ferramentas robustas para que os desenvolvedores integrem e realizem scans de análise de vulnerabilidades em seus respectivos códigos, permitindo a implementação de fase e score para a identificação, avaliação, priorização e remediação do potencial risco.
Vale ressaltar que, para garantir a eficácia da gestão de vulnerabilidades, precisamos elaborar treinamentos sólidos e produzir relatórios consistentes. Também é preciso evangelizar todos os colaboradores de que segurança não é somente responsabilidade do time de cyber, mas sim de toda a empresa.
Em conjunto, é crucial a interconexão entre a gestão de vulnerabilidade e gestão de mudança. Os times de segurança precisam participar das reuniões de gestão de mudança de alguma forma. Em suma, em minha humilde opinião e experiência de longos anos, descrevo, junto com meu colega Marcilio, a lista de requisitos para blindar nosso ambiente.
- Ter um processo de gestão de risco cibernético implementado: A ausência e a falha neste processo têm levado muitas organizações a passarem por desastres. Logo, é recomendável utilizar a combinação de frameworks NIST CSF 2.0, PCI-DSS, NIST 800-53 e ISO 27001.
- Ter um processo de gestão de configuração e de mudança: O time de cibersegurança precisa atuar próximo dos times de TI e desenvolvimento, monitorando as mudanças no ambiente e garantindo que nenhuma mudança impacte no plano de contingência (DR), sempre mantendo atualizados.
- Ter implementado um ciclo de desenvolvimento de software seguro (SDLC): É essencial para detectar e evitar que uma aplicação seja promovida para a produção sem vulnerabilidades. Logo, é mandatório nos dias atuais executar SAST, SCA, DAST, IAST, Threat Modeling, BugBounty, PenTesting e integrar junto ao ambiente de CI/CD e DevSecOps no que tange a automatização em cloud (IaC). Na cloud, é importante garantir a segurança das VM, imagens usadas por containers, serverless, virtual desktop, virtual servers, etc.
- Complementando o item anterior, dentro do contexto de cloud, inúmeros conceitos e serviços surgiram: Portanto, depender de uma avaliação de risco manual talvez não seja eficaz devido ao tempo. Não significa que não seja bom: aplicar o CMM da Cloud Security Alliance (CSA) é importante. Muitas das empresas que oferecem serviços de cloud certificam pelo programa STAR da CSA para garantir aos seus clientes confiabilidade e segurança. Porém, a utilização de soluções como CNAPP e CSPM contribui em velocidade para a detecção antecipada de falhas de segurança em cloud, inventário de ativos e tags relacionados a ativos como VPC, componentes de rede, etc., e proporciona a capacidade de manter o compliance com eficiência.
- Ainda no que tange à cloud, é essencial o entendimento do shared responsibilities entre o cliente e o provedor do serviço: Fique atento aos modelos (IaaS, PaaS e SaaS) e qual parte das camadas é sua responsabilidade pela aplicação do patch e hardening e responsabilidade do CSP.
- Manter o ambiente de infraestrutura dentro dos padrões de segurança recomendados: Considerar a aplicação de hardening, guardrails, segregação de ambientes em DMZ, VPC e subnets para serviços críticos (aplicações web, soluções de pagamento online, internet banking, etc.), e também manter a comunicação criptografada para dados em movimento e descanso. O PCI-DSS e NIST CSF são excelentes fontes para aumentar a postura de segurança. Além disso, um WAF protegendo ambientes com internet facing e monitoramento contínuo com soluções SIEM e SOAR e utilização do conceito de Zero Trust cobertas por soluções de SASE.
- Ter a gestão de IAM eficaz: Entenda a forma como é gerida o controle de acesso na cloud, comparando com o tradicional on-premises, é diferente em termos de segregação dos serviços por contas, na cloud tudo é baseado em policy-as-code. O uso de MFA e aplicação de landing zoning é a garantia de maior confiabilidade. Qualquer desvio pode colocar seu ambiente em risco, e muito cuidado com blast radius.
- Ter um processo de categorização de classificação de dados: Garantir que os controles apropriados estão sendo aplicados com segurança para a proteção dos ativos de informação. O NIST 800-37 (RMF) combinado com NIST 800-60, colabora com esta função. Por exemplo, toda aplicação deveria ter um desenho de arquitetura especificando os controles, fluxo de dados, pontes de comunicação, segregação do ambiente, etc.
- Monitoramento Permanente na Cadeia de Suprimentos: Dada a crescente exposição de vulnerabilidades em fornecedores de serviços, é crucial implementar um processo robusto de TPRM para avaliar provedores em SaaS, serviços de rede, servicos de inteligência artificial (AI), descarte de dados sensíveis e outros provedores. A categorização desses fornecedores por nível de risco (alto, médio, baixo) permite definir controles específicos. Além disso, solicitar relatórios de conformidade, como SOC2, PCI-DSS, ISO 27001 e CSA STAR, é essencial para garantir a segurança na cadeia de suprimentos.”
- Talvez por último, ter implementado um DRP e BCP para aplicações críticas: O Business Impact Analysis (BIA) contempla esta visibilidade para definição da estratégia de continuidade das operações, treinamento de conscientização, criptografia para dados sensíveis, entendimento das regras de privacidade (LGPD, GDPR, CCPA), incident response, threat intelligence, log management e métricas de monitoramento (KPI, KRI) para medição do nível real da maturidade e avaliação da perspectiva de risco e se excede o risk appetite, elevando a postura de segurança.
Enfim, o resumo acima é uma foto de medidas importantes que podem colaborar para o bom desenvolvimento da matéria de gestão de vulnerabilidades. Este processo não caminha sozinho, depende de muitos fatores, ter uma ferramenta que automatize a aplicação de patches, virtual patching, monitoramento contínuo e conscientização da importância destes componentes na organização.
Executar a gestão de vulnerabilidade com eficácia requer uma abordagem sábia e informada, buscando o conhecimento profundo sobre os componentes envolvidos. Assim como o velho sábio diz que “buscar a sabedoria como a prata e tesouros”, é essencial para alcançar o conhecimento e sabedoria necessária para manter um ambiente bem próximo do adequado e satisfatório de resiliência cibernética desejada.
*Rangel Rodrigues é advisor e arquiteto em Segurança da Informação, CISSP, CCSP, CCISO, CCSK, CCTZ, e pós-graduado em Redes de Internet e Segurança da Informação pela FIAP e IBTA e Cyber Risk Management pela Harvard University. Tem MBA em Gestão de TI pela FIA-USP e é professor de Pós-Graduação em Gestão de Cibersegurança e Riscos Tecnológicos na FIA. Atualmente, trabalha para uma instituição financeira nos Estados Unidos.
*Marcilio Rodrigues é cybersecurity advisor e atua como Chief of Staff , e Graduado em análise e desenvolvimento de sistemas e pós-graduado em segurança da informação. Atualmente trabalha para uma fintech multinacional suportando a América Latina.