No cenário atual de ameaças à segurança cibernética, com um volume cada vez maior de incidentes, é notável pensar que a gestão de vulnerabilidades proativa continua sendo um desafio para as empresas. As organizações estão adotando técnicas de gerenciamento de exposição a ameaças para gerenciar riscos de negócios decorrentes do desenvolvimento e aplicação de tecnologias como conectividade da Internet das Coisas (IoT), computação quântica e realidade aumentada. As práticas de gestão de vulnerabilidades representam o método mais comum para limitar proativamente a exposição a violações e explorações cibernéticas prejudiciais resultantes dessas adoções de tecnologia.
Um programa de gestão de vulnerabilidades bem projetado fornece transparência corporativa sobre vulnerabilidades, fraquezas e configurações incorretas conhecidas publicamente, que são priorizadas para correção com base no possível impacto nos negócios e na probabilidade de exploração bem-sucedida. Idealmente, a saída do programa é então repassada para a tecnologia operacional e equipes de segurança para aplicar patches de segurança a vulnerabilidades conhecidas, o que reduz diretamente o risco de segurança cibernética dos negócios.
As organizações muitas vezes lutam, no entanto, para integrar programas de gerenciamento de ameaças e vulnerabilidades às operações de segurança. Sem a integração adequada, há um risco significativamente maior de deixar vulnerabilidades críticas expostas a ataques cibernéticos, como roubo de dados ou ransomware.
A seguir estão alguns dos desafios comuns que impedem a integração adequada de programas de gestão de vulnerabilidades nas operações de segurança:
Falta de visibilidade total do ambiente na gestão de vulnerabilidades
Para que os programas de gerenciamento de vulnerabilidade reduzam efetivamente os riscos, as organizações devem ter visibilidade dos sistemas e aplicativos existentes em seu ambiente de tecnologia. Afinal, não é possível corrigir, remediar ou proteger algo que não é visível.
Falta de tecnologias de varredura apropriadas e configurações incorretas de varredura
Identificar vulnerabilidades críticas exploráveis em tempo hábil é crucial para preencher as lacunas de segurança de forma eficaz e reduzir a superfície de ataque desprotegida. Comportamentos e ações que criam lacunas de segurança e causam problemas de visibilidade incluem não implantar ferramentas de varredura apropriadas em toda a empresa, não validar a cobertura de varredura em relação a um inventário de ativos definido e muitas vezes centralizado regularmente e/ou configurações incorretas de varredura (como executar varreduras não autenticadas) — qualquer um deles pode resultar em relatórios de vulnerabilidade imprecisos.
Metas conflitantes entre as equipes de TI e de segurança
Metas conflitantes geralmente criam atritos entre as equipes de TI e de segurança, dificultando a adequada gestão de vulnerabilidades e patches.
O sucesso da TI geralmente é medido pelo tempo de atividade da tecnologia, que é impactado negativamente quando sistemas ou aplicativos exigem correção programada, o que requer janelas de manutenção de aplicativos para aplicar patches ou alterações. Consequentemente, as equipes de segurança responsáveis por proteger os sistemas das organizações e proteger os dados podem não receber o tempo e os recursos necessários para aplicar alterações ou patches para proteger tecnologias críticas para os negócios.
Muito para lidar
Redes grandes podem ter centenas de milhares – se não milhões – de vulnerabilidades. Muitas organizações lutam para visualizar, analisar e priorizar adequadamente as vulnerabilidades quando identificadas por ferramentas de gerenciamento de vulnerabilidades. Isso pode resultar na limitação do escopo e na prevenção de ações necessárias para abordar as correções de segurança mais críticas que permanecem sem correção enquanto as atualizações menos importantes são corrigidas.
Tempo de atraso entre as verificações da gestão de vulnerabilidades
Para a maioria das organizações, as verificações de vulnerabilidade são executadas fora do horário comercial principal, normalmente uma vez por semana. No entanto, há um atraso entre a identificação de uma vulnerabilidade positiva e a próxima verificação de vulnerabilidade que cria uma lacuna de visibilidade. No período de uma semana entre verificações regulares, a equipe de segurança não consegue verificar se um patch foi aplicado com sucesso. Portanto, deve presumir que o host continua vulnerável. Infelizmente, as vulnerabilidades críticas recém-descobertas geralmente são rapidamente armadas, e uma semana pode ser um tempo muito longo para que as lacunas de segurança permaneçam sem solução. Essa lacuna de visibilidade geralmente deixa as equipes de segurança incertas sobre a validade de seus controles de segurança.
Para superar esses desafios comuns e obter o máximo valor de um programa de gerenciamento de ameaças e vulnerabilidades, as organizações devem considerar como incorporar o gerenciamento de vulnerabilidades em sua estratégia geral de operações de segurança. Comece seguindo estas práticas recomendadas:
Manter um inventário de ativos.
Para qualquer organização avaliar e entender seus riscos, primeiro ela deve entender o cenário tecnológico atual. As empresas devem manter um inventário de ativos ou banco de dados de gerenciamento de configuração e compará-lo regularmente ao escopo do programa de gestão de vulnerabilidade. Quaisquer diferenças entre o inventário de ativos e o escopo de varredura devem ser resolvidas rapidamente para reduzir ou remover lacunas de visibilidade. Por exemplo, sistemas como hardware podem ser perdidos durante verificações baseadas em rede (em vez de baseadas em agente). Isso porque as verificações ocorrem fora do horário comercial e muitos laptops estão fora da rede nesse período. Isso é especialmente verdadeiro no ambiente de trabalho em casa (Home Office) que resultou na pandemia do COVID-19.
Aproveite a inteligência de ameaças para priorizar as correções.
As empresas devem pesquisar as ameaças e indicadores de comprometimento (IOCs) mais comuns em seu setor e correlacioná-los às vulnerabilidades correspondentes. As organizações devem começar concentrando-se nas vulnerabilidades que podem ser mais acessíveis a invasores externos. Normalmente, os sistemas voltados para o exterior e a zona desmilitarizada (DMZ) são os mais facilmente visados, enquanto os sistemas acessíveis apenas à rede interna podem exigir que um invasor ignore várias camadas de segurança primeiro.
As organizações podem então mapear vulnerabilidades conhecidas pelos frameworks de risco como MITRE ATT&CK e organizá-las em “cadeias” de ataque. Elas demonstram como os invasores podem aproveitar vários problemas de menor criticidade para obter acesso. Esses mapeamentos ajudam as empresas a determinar a verdadeira criticidade das vulnerabilidades. Além disso, a equipe de segurança pode usar threat hunting para determinar se vulnerabilidades críticas foram exploradas no ambiente antes de a vulnerabilidade ser identificada e corrigida.
Gestão de vulnerabilidades: aplique a automação.
Adotar a automação de segurança pode ajudar as organizações a minimizar a duração das tarefas demoradas entre a identificação de vulnerabilidades, priorização, comunicação e correção. A automação pode ajudar a permitir etapas imediatas de redução de risco, como colocar em quarentena sistemas identificados como imediatamente exploráveis da rede interna restante. Essas etapas podem fornecer às equipes de TI mais tempo para testar e implantar patches, reduzindo simultaneamente a possível exposição de vulnerabilidades exploráveis.
Como exemplo, considere o cenário em que os ataques de phishing que implantam ransomware são uma ameaça comum para o setor de uma organização. Nesse caso, a ameaça é um ransomware e as vulnerabilidades podem ser pontos fracos de configuração. Como, por exemplo, permitir documentos do Word habilitados para macro por meio de gateways de e-mail e um sistema não corrigido. Embora uma ferramenta de gerenciamento possa detectar a vulnerabilidade, ela pode se perder e ser ignorada na confusão dos relatórios. Com uma plataforma unificada de detecção de ameaças, uma vez que a vulnerabilidade seja detectada, uma resposta automática começará, evitando uma violação.
Complemente com simulações de violação e ataque.
As plataformas de gerenciamento de vulnerabilidades descobrem vulnerabilidades conhecidas e explorações potenciais. Por outro lado, os recursos de simulação de violação e ataque destacam pontos fracos de configuração, lacunas de detecção e prevenção e problemas de arquitetura. As organizações devem garantir que um plano eficaz de resposta e recuperação seja avaliado adequadamente por meio de exercícios práticos. Isso deve ser testado periodicamente e ajustado à medida que o cenário de ameaças, pessoas, sistemas e processos mudam. Ao combinar o gerenciamento de ameaças e a gestão de vulnerabilidades, as organizações podem aumentar sua confiança na segurança e diminuir seu risco geral.
Comunique as métricas de sucesso ao conselho.
Um programa de gerenciamento de vulnerabilidades bem projetado pode ajudar uma organização a visualizar como os riscos de segurança estão sendo tratados. Além disso, pode pintar uma imagem vívida do progresso ao longo do tempo. A apresentação de métricas de vulnerabilidade ao conselho e à liderança demonstrará melhoria contínua e ROI nos esforços de gerenciamento de vulnerabilidade. Ou, pelo contrário, destacará a necessidade de investimento adicional.
Integrando a plataforma de gerenciamento de vulnerabilidades a outra de detecção e resposta a ameaças, a organização pode acionar ações sem precisar de outra tecnologia. Essa abordagem integrada não apenas economiza tempo, mas também permite que a equipe tome outras ações de correção rapidamente, limitando a exposição da vulnerabilidade e reduzindo o risco.
Shinoy George, Diretor de Segurança e Privacidade da Protiviti INC.
A gestão de vulnerabilidade é uma disciplina com a qual muitas organizações lutam devido a um fator simples: complexidade. Hoje, os ambientes tecnológicos mudam a uma velocidade cada vez maior, enquanto confiam em sistemas legados para dar suporte aos principais processos de negócios.
Em resposta a esse desafio de complexidade, os profissionais de segurança cibernética continuam a criar novos processos de gestão de vulnerabilidade para gerenciar o problema. Isso inclui verificação de vulnerabilidades, bancos de dados de gerenciamento de configuração (CMDB), IDs comuns de vulnerabilidades e exposição (CVE), políticas, patch by dates e uma variedade infinita de relatórios. Em suma, os profissionais de segurança cibernética tornaram um problema complicado ainda mais complicado. Nós – ou seja, os profissionais de cibersegurança – temos feito tudo errado. É importante que CIOs e CISOs reconheçam essa verdade à medida que exploramos métodos que podem ser usados para simplificar a solução de gestão de vulnerabilidades e criar uma chance maior de sucesso em nossas organizações.
Gestão de vulnerabilidade: o ótimo é inimigo do bom
Quando se trata de solução de problemas na gestão de vulnerabilidades, existem várias abordagens. Como tecnólogos, muitas vezes não discutimos detalhes insignificantes em nossa abordagem para gerenciar vulnerabilidades, por mais que sejamos obcecados pela perfeição em nossa busca por respostas. Com muita frequência, essa busca pela perfeição leva à perda de tempo. Descobrimos que a abordagem mais eficiente durante a resolução de problemas é uma mentalidade de “evolução acima da perfeição”. Essa perspectiva é mais comumente alcançada começando com o que sabemos ser verdade em qualquer situação. Seja aproveitando armazenamentos de dados corporativos, fazendo suposições fundamentadas com base em vulnerabilidades de segurança cibernética conhecidas e suas características, ou mais simplesmente gerenciando a quantidade de ambiguidade de um determinado processo, a evolução sempre deve ser a prioridade.
Crie um processo efetivo de correção de vulnerabilidades
Um desafio comum entre a TI e os negócios que geralmente surge nos programas de gestão de vulnerabilidades é criar um processo de correção bem-sucedido que seja realista para todas as partes interessadas. Por isso, a implementação de um processo de correção de vulnerabilidades bem-sucedido começa com a compreensão de como a TI funciona e trabalha dentro de sua estrutura de recursos atuais. Quando o negócio continua a impor expectativas irreais, nada é realizado. Em vez disso, entender e desenvolver um processo para o estado atual do programa de gestão de vulnerabilidades e, posteriormente, prever as expectativas para um estado futuro geralmente é a melhor prática. Comunicar o risco em termos de entendimento do negócio e alinhar as expectativas do negócio ao modo como a TI funciona é a chave para definir parâmetros bem-sucedidos para cronogramas de correção de vulnerabilidades.
Identifique o verdadeiro problema
Os programas de gestão de vulnerabilidade geralmente adotam o mantra de “conserte e esqueça” sem examinar e explorar adequadamente a causa raiz do problema. Alguns podem se referir a isso como a abordagem “jogo da marretada”, que geralmente é adotada quando o objetivo de uma solução de gestão de vulnerabilidade é eliminar o acúmulo de patches ausentes. O problema com essa abordagem, se não for detectado no início, é que as vulnerabilidades conhecidas serão consistentemente remediadas (ou “corrigidas”) sem entender o contexto dos problemas sistemáticos, o que permite que a frequência desses problemas persista.
Nossa solução para essa abordagem é simples: as organizações devem dedicar recursos para realizar análises de causa raiz para seus problemas mais críticos. Essa análise pode ser conduzida de várias maneiras, mas geralmente começa simplesmente perguntando “por quê.” Até que o tempo adequado seja investido para conduzir a análise da causa raiz no nível do programa, a verdadeira causa dos tipos de vulnerabilidades críticas mais persistentes permanecerá desconhecida.
Permanecer consistente na comunicação dos resultados do programade gestão de vulnerabilidade
Como profissionais de segurança da informação, comunicar os resultados do programa de gestão de vulnerabilidades pode ser um processo estressante se feito sem o contexto e a direção apropriados. Por exemplo, comunicar os resultados aos responsáveis errados pode gerar confusão que resulta em processos de reporte menos eficientes. Felizmente, muitos desses problemas podem ser resolvidos com consistência e transparência. Assim, a comunicação dos resultados do programa de gestão de vulnerabilidades deve ser consistente para fornecer tendências e evolução ao longo do tempo. Os resultados do desempenho do programa também devem ser transparentes ao público-alvo para destacar as vitórias e deficiências do programa. Ou seja, a obtenção de feedback é importante para confirmar a compreensão de quando esses processos de reporte de gestão de vulnerabilidades estão sendo iniciados.
Adapte as métricas à gestão executiva
O fator mais importante ao determinar as métricas que serão usadas para diagnosticar a integridade de um programa de gestão de vulnerabilidade é a polarização. As métricas devem polarizar o público para fornecer conforto suficiente para permanecer sentado ou atenção suficiente para sair de suas cadeiras. Isso é mais comumente visto na prática, definindo limites para as métricas do programa que melhor respondem à pergunta “quão ruim é?”. Além disso, quando se trata de reportar à gerência executiva, as métricas precisam fazer sentido para o pessoal que não é de TI. A armadilha da complexidade também pode aparecer quando se trata de personalizar métricas.
Ao operar de forma eficaz, as métricas do programa devem destacar as áreas problemáticas maiores ou mais importantes dentro da organização. Por isso, as métricas devem ser usadas como a telemetria de um programa de gestão de vulnerabilidades. Assim, vincular as métricas do programa às metas organizacionais e também alterar as métricas quando as metas são alcançadas é extremamente importante. Os riscos continuarão a evoluir ao longo do tempo e nossas métricas devem se adaptar para permanecer alinhadas com essas mudanças. Além disso, as métricas de gestão de vulnerabilidades devem ser claras e diretas para ajudar a organização a entender sua postura de segurança atual.
E agora?
A pergunta que segue essa orientação simples e eficaz é muitas vezes: “e agora?”. A implementação das conclusões acima em um programa organizacional grande e complexo começa com a comunicação. Por isso, o primeiro passo é comunicar as partes interessadas sobre os desafios do programa e a abordagem para resolver conflitos e reduzir riscos. A mudança deve começar pequena, aproveitando os dados organizacionais e relatórios de gerenciamento de vulnerabilidade enriquecidos. Exemplos de curto prazo incluem o desenvolvimento e atualização de processos de gerenciamento que se alinham com a TI e combinam isso com o desenvolvimento de relatórios que respondem perguntas simples. Como profissionais de segurança, devemos sempre nos responsabilizar para que mudanças reais ocorram.
A sociedade e a tecnologia avançam a passos largos. Na mesma velocidade, se faz necessário que organizações invistam em segurança da informação, apostando em profissionais capacitados, ferramentas inovadoras, políticas de segurança adequadas, treinamentos e tudo que torne o ambiente corporativo cada dia mais seguro e insuscetível a falhas. Nesse contexto, a implementação de um SOC (Security Operations Center, um Centro de Operações de Segurança) reúne estratégias importantes que servem de resposta a muitas dessas demandas. Graças ao valor da informação, hoje em dia, cada vez mais empresas investem em seu próprio centro de operações de segurança.
Com um SOC, softwares de coleta e análise de dados permitem monitorar em tempo real a infraestrutura e alertar sobre quaisquer eventos que ameacem o negócio, com monitoração preventiva de ataques, resposta rápida a incidentes, armazenamento de logs e gestão preventiva de fraudes, invasão ou qualquer ocorrência de vazamento de dados, perda de informações ou impacto à continuidade do negócio.
No mercado, diversas ferramentas estão disponíveis para esse fim. Uma das mais utilizadas é o Elasticsearch, um dos mais poderosos instrumentos de indexação e busca de dados. Mas afinal, o que vem a ser isso? O Elasticsearch faz parte do pacote conhecido como ELK Stack, que se trata de uma sigla para três projetos Open Source (Elasticsearch / Logstash / Kibana), adicionados ao projeto X-Pack, e que podem ser resumidos da seguinte forma:
Elasticsearch – É o mecanismo de busca e análise de dados, mas também pode ser utilizado como fonte de dados da aplicação, ou seja, ele provê o armazenamento de dados.
Logstash / Beats – São responsáveis pela ingestão de dados no Elasticsearch. O Filebeat, ou simplesmente Beats, é capaz de monitorar arquivos de Log, os quais são analisados e depois importados para o Elasticsearch. O Logstash é um pipeline de processamento de dados do lado do servidor que absorve dados de uma variedade de fontes, transforma-os e os envia para um local de destino onde serão depositados e analisados.
Kibana – É uma interface WEB a qual permite que os usuários visualizem de forma fácil com diagramas, mapas e gráficos, os dados do Elasticsearch, tudo em tempo real, podendo criar e salvar Dashboards que atendam da melhor forma possível e facilitem a visualização e compreensão pelo analista.
X-Pack – Apesar de ser uma ferramenta paga, possui diversos componentes gratuitos. É capaz, por exemplo, de fazer o monitoramento do cluster, emitir alertas e relatórios e análise de grafos.
Como funciona
No Elastic, todos os documentos são indexados. Isso significa que tudo é registrado e armazenado em um banco de dados. Quando realizamos uma busca, o Elastic efetuará a análise através do índice invertido.
Isso é possível porque os índices invertidos alimentam o mecanismo de busca, armazenando todo o conteúdo, sejam palavras, números, caracteres etc., que podem estar presentes em um determinado número de documentos, encontrando paridade entre o conteúdo armazenado e os mesmos. No índice invertido do Elastic, ele não armazena apenas a ocorrência das palavras, mas, também sua ordem. Sendo assim, quando um novo texto é lido, o Elastic já tem a resposta, obtendo os resultados rapidamente, classificando o Elastic em uma ferramenta de busca eficaz e com resultados praticamente em tempo real.
No Elastic também podemos utilizar a funcionalidade de Filter (Filtros), o qual podemos salvar dados de pesquisa para realizar buscas e consultas repetidas, garantindo uma entrega aprimorada e eficiente.
Como usar
Através do recebimento dos Logs, podemos, por meio de análise desses dados do Log, praticamente em tempo real, conduzir ações para combater/evitar eventos maliciosos ou suspeitos em determinado ambiente. Abaixo veremos alguns exemplos de casos de uso diários do Elastic, no campo da Segurança da Informação:
Monitoramento de Active Directory (AD)
Criação de Contas Administrativas
Inclusão de Contas em Grupos Administrativos
Reativação de Contas Inativas
Tentativa de Login através de Conta Bloqueada
Tentativa de Bruteforce
Logon fora do horário de trabalho
Monitoramento de Firewall
Conexões VPN/SSL fora do horário de trabalho
Conexões RDP fora do horário de trabalho
Conexões VPN/RDP de fora do país
Tentativa de Conexões VPN/RDP através de conta Bloqueada
Monitoramento de Antivírus
Alertas de Malwares / Ransomwares
Alertas de Atualização de Vacina
Esses são apenas alguns exemplos dentre uma gama enorme do que pode ser feito com essa ferramenta. É valido reforçar que, hoje, o Elastic é uma das ferramentas mais promissoras do mercado profissional e cumpre com excelência o que se propõe como uma solução contra ameaças e vulnerabilidades do cliente.
Kibana: saiba mais sobre seu uso em um Centro de Operações de Segurança
Uma das tarefas principais do Centro de Operações de Segurança é o monitoramento, que inclui toda e qualquer atividade de rede, servidores, bancos de dados, antivírus, enfim, quaisquer procedimentos que possamos identificar algum tipo de vulnerabilidade que possa dar “entrada” para eventos maliciosos. Uma das principais ferramentas para esse monitoramento é o Kibana, uma interface gráfica acessada via navegador WEB para visualização dos dados coletados pelo Elastic.
Com o Kibana podemos, basicamente, obter qualquer tipo de visualização com painéis e gráficos (pizza, barras, mapas, medidores, etc.) criando dashboards personalizados para termos uma visão geral desses dados.
Tipos de Visualizações
Através do menu “Visualize Library”, é possível acessar todos os modelos de visualizações disponíveis no KIbana. Já em “Create Visualization” temos a opção de criar utilizando estes modelos já existentes. Entenda algumas das possibilidades de visualização da ferramenta:
Visualização Métrica – Tudo o que ela faz é exibir um único número (contador) com base na agregação do Elasticsearch.
Barra Vertical – Mostra a quantidade de Logs recebidos em um gráfico de eixo XY, em um determinado intervalo de tempo.
Gráfico de Área – Mostra essencialmente o mesmo que o gráfico de Barras, exceto que a área abaixo da linha é destacada.
Gráfico de Linhas – O gráfico de linhas é muito parecido com os gráficos de barras e de área, sendo sua configuração praticamente a mesma. A sua vantagem é que poder criar várias informações dentro de um único gráfico, economizando tempo e deixando-o mais compacto que os demais.
Gráfico de Pizza ou Torta (Pie) – Este gráfico é totalmente diferente dos demais, pois contém um conjunto de dados específicos e mais adequados para este tipo de gráfico. Ele divide em “fatias” uma contagem total dividida em subcategorias.
Para termos uma ideia pratica de como utilizar esses modelos de visualizações, podemos ter um contador de falha de logons, utilizado a visualização métrica, por exemplo. Ou poderíamos ver em tempo praticamente real uma tendência de recebimento de logs e suas oscilações para cima ou para baixo, utilizando gráfico de Barras ou de Linhas ou, no caso de querermos dois ou mais dados comparativos, como, por exemplo, total de logs de Logons Realizados x Falhas de Logons, usaríamos a visualização de Linhas. E usando o gráfico de Pizza, poderíamos ter uma visualização de um total de Falhas de Logons dividido por Usuário ou por Host, por exemplo. Enfim, temos uma gama enorme de opções para podermos montar cada visualização e inseri-la posteriormente no dashboard.
Os dashboards são conjuntos de visualizações criadas geralmente exibindo dados relacionados e vindos de uma mesma fonte de dados. Com o Kibana, é possível criar versões personalizadas dessas visualizações da dados, que possam ser acessadas mais rapidamente e de maneira constante.
À medida que cresce a importância de garantir uma maior proteção de dados, confiabilidade e conformidade com órgãos reguladores, as empresas aumentam o investimento em segurança da informação e este é somente um exemplo de como isso pode ser feito através do monitoramento de uma central de SOC. Caso haja interesse em conhecer melhor esse serviço e as ferramentas apresentadas aqui, entre em contato com o time de especialistas da Protiviti no site.
*Renato Mirabili é Consultor de SOC na Protiviti Brasil.
O correio eletrônico — e-mail — é um dos meios de comunicação mais utilizados atualmente. Estima-se que, em média, 144 Bilhões de e-mails são enviados diariamente, sendo que mais da metade deles correspondem a informações empresariais. Assim, dentre este enorme e constante fluxo de e-mails, há aquelas mensagens não solicitadas — conhecidas como SPAMs, que insistem em aparecer nas caixas de mensagens nos momentos mais inoportunos.
O principal perigo dos SPAMS está na possibilidade de conterem, ou levarem a sites que tenham, malwares e outras ameças digitais. E é muito comum que se utilizem de técnicas para enganar o leitor, conhecidas como phishing. Esta prática torna o SPAMS uma ameaça virtual potencialmente disruptiva e perigosa para pessoas comuns e também empresas.
Em nossos recentes projetos de resposta a incidentes de segurança da informação, nos deparamos com o aparecimento de um grande número de SPAMs capazes de burlar mecanismos de segurança empregados. Ao analisar detalhadamente estes e-mails, verificamos que, apesar de serem SPAMs, estavam passando pelas validações de segurança, mesmo que a camada de proteção das empresas apresentassem técnicas anti-spam.
O que são e de onde vem os SPAMs?
O termo SPAMMING representa o uso de sistemas e dispositivos capazes de enviar informações (mensagens) não solicitadas. Uma das formas mais comuns de SPAMMING é o e-mail SPAM, no qual informações não requisitadas são recebidas em forma por e-mail.
Os SPAMs podem ser categorizados em:
UBE (Unsolicited bulk email): e-mails não solicitados, enviados em larga escala.
UCE (Unsolicited commercial email): e-mails com propagandas comerciais/promocionais, enviadas de forma não solicitada para as pessoas.
Os SPAMMERS (pessoas que produzem SPAMs) têm diversas motivações para realizar tal prática, sendo a maioria relacionada ao ganho monetário. Isso pode ocorrer por meio da obtenção e venda de uma lista de e-mails válida, infecção de sistemas através de vírus/malwares e visualização de propagandas (advertising).
Como uma das formas mais comuns e utilizadas de SPAMMING é feita através de e-mail, as próximas seções apresentarão como isso é feito por meio do correio eletrônico. Acompanhe a leitura e entenda tudo sobre spams.
Quais são e como funcionam os mecanismos ANTI-SPAMs
Atualmente, há um grande número de tecnologias focadas no combate aos spams, utilizando um ou mais mecanismos de validação conhecidos. A seguir, apresentamos os principais protocolos e técnicas anti-spams utilizados.
SPF
O Sender Policy Framework (SPF) é um sistema de validação de e-mails cujo objetivo é verificar se o emissor das mensagens está autorizado a utilizar o nome de domínio para enviar os e-mails.
Esta verificação se torna necessária pelo fato do campo “MAIL FROM”, que é responsável por indicar o emissor do e-mail, ser passível de alteração. Desta forma, podemos criar um e-mail usando uma conta do provedor X e alterar o campo “mail from” no cabeçalho da mensagem eletrônica para uma conta do provedor Y, escondendo a real origem da mensagem.
DKIM
O DKIM (DomainKeys Identify Mail) é um mecanismo de autenticação com foco em mitigar falsificação de e-mails (spoofing). De maneira geral, o emissor assina digitalmente o cabeçalho e a mensagem usando uma chave privada.
Ao receber o e-mail com a assinatura digital, o receptor busca a chave pública (usando query DNS) e verifica a autenticidade das informações. A confiança está no registro DNS do emissor, pois somente ele poderia gerenciar seus registros.
DMARC
O Domain-based Message Authentication, Reporting & Conformance (DMARC) é um protocolo de autenticação de mensagens eletrônicas e é amplamente utilizado por provedores de e-mail. Ele atua baseado nos protocolos SPF e DKIM e tem como principal característica a definição de políticas de ações para mensagens não-autorizadas.
Basicamente o DMARC utiliza as mesmas verificações do SPF e DKIM, porém, permite definir o que será feito com as mensagens que não forem autenticadas. Por exemplo, é possível criar uma política para “quarantenar” mensagens não autenticadas e enviar um reporte de erro para o domínio de origem.
Bayesian Filtering
O Bayesian filtering é uma técnica anti-spam baseada na classificação probabilística criada por Naive Bayes.
O filtro correlaciona tokens (expressões, palavras-chave, links etc.) com e-mails classificados como spams e legítimos. Com base neste correlacionamento, o teorema de Bayes é utilizado para calcular a probabilidade de um e-mail ser legítimo ou spam.
Blacklist de DNS
Outra técnica utilizada contra spams é o bloqueio de DNS considerados “maliciosos”. Desta forma, cria-se uma lista de bloqueio (blacklist) com todos os domínios relacionados a envio de spams.
A lista é aplicada diretamente no appliance anti-spam ou no servidor SMTP, filtrando as mensagens antes mesmo de chegarem nas caixas postais dos destinatários.
Como vimos, o spam é uma prática recorrente e que pode causar muitos danos tanto a pessoas como a corporações. Estar protegido deles e conhecer os principais recursos de prevenção irá ajudá-lo a prevenir perdas.
* Danilo Pessoa Cardoso, especialista em Segurança da Informação na Protiviti Brasil.