Como criamos o gerenciamento de vulnerabilidades



Introdução ao problema


Em nossa prática de trabalhar com diferentes tipos de clientes - de grandes empresas internacionais a pequenas empresas ou até mesmo empreendedores individuais -, observamos problemas semelhantes ao tentar trabalhar sistematicamente com vulnerabilidades.

Embora a empresa seja relativamente pequena, basta ter um ou mais scanners de vulnerabilidade e um especialista que verificarão periodicamente toda a infraestrutura, cobrindo os problemas mais óbvios ou fáceis de corrigir.

Na prática, quando uma empresa cresce, o número de dispositivos na rede aumenta, novos sistemas de informação são usados, incluindo os não padronizados, uma abordagem simples não é mais suficiente, porque a empresa deseja respostas para as perguntas:

  • E com quais vulnerabilidades do relatório do scanner (pode haver milhares e dezenas de milhares) com as quais você precisa trabalhar e por quê?
  • Quanto custa para corrigir essas vulnerabilidades?
  • E alguém pode realmente usá-los para lançar um ataque?
  • E o que estou arriscando se não corrigir nada?
  • E como ter certeza de que tudo está consertado?

Nem todo guarda de segurança e administrador do sistema terá imediatamente uma resposta clara a todas essas perguntas. Além disso, não esqueça que o gerenciamento de vulnerabilidades por si só é um processo bastante complicado e há muitos fatores que influenciam a tomada de decisão:

  • altos riscos de se tornar vítima de um ataque em massa ou direcionado se as vulnerabilidades não forem eliminadas a tempo (especialmente o perímetro externo);
  • o alto custo de eliminação de muitas vulnerabilidades, especialmente se não houver patch pronto ou a vulnerabilidade for exposta a um grande número de dispositivos distribuídos (geralmente esse é um fator de parada e, como resultado, os problemas persistem);
  • se pessoas diferentes ou mesmo empresas que nem sempre possuem as qualificações necessárias para a avaliação correta das vulnerabilidades detectadas são responsáveis ​​por diferentes tipos de equipamentos, o processo de eliminação pode demorar muito tempo ou nem começar;
  • se forem utilizados equipamentos especializados ou sistemas SCADA, existe uma alta probabilidade de ausência de correções necessárias por parte do fabricante ou de incapacidade de atualizar o sistema em princípio.

Por tudo isso, o processo de gerenciamento de vulnerabilidades, implementado aleatoriamente, não parece eficaz e compreensível aos olhos dos negócios.

Dadas as necessidades dos negócios e entendendo as especificidades do trabalho com vulnerabilidades de segurança da informação, em Akribia criamos um serviço separado.

O que criamos?


Pensamos que o gerenciamento de vulnerabilidades precisava ser abordado sistematicamente, como qualquer processo. E este é precisamente o processo, além disso, contínuo e iterativo, composto por várias etapas.

Conexão do cliente


Nós cuidamos do fornecimento, configuração e suporte de todas as ferramentas necessárias. O cliente só precisa alocar um servidor virtual ou físico (possivelmente vários se a rede for grande e distribuída). Nós mesmos iremos instalar tudo o necessário e configurar para a operação correta.

Inventário de ativos e criação de perfil


Em resumo, o objetivo é identificar todos os dispositivos na rede, dividi-los em grupos do mesmo tipo (o nível de detalhe de uma falha desse tipo pode variar dependendo do tamanho da rede do cliente ou da presença de um grande número de dispositivos específicos), selecionar os grupos para os quais o serviço é fornecido, descobrir responsáveis ​​pelos grupos selecionados.



É importante não apenas executar esse procedimento uma vez, mas destacar padrões para que você possa entender o que está acontecendo na rede a qualquer momento, encontrar novos dispositivos, encontrar dispositivos antigos que foram movidos, encontrar novos subtipos dentro de grupos e muito mais. Isso é importante. O inventário ocorre constantemente com uma determinada frequência. Em nossa prática, chegamos à conclusão de que, sem entender a estrutura dos ativos, o gerenciamento eficaz de vulnerabilidades não é viável.

Trabalhamos no algoritmo de criação de perfil de ativos por um longo tempo, sempre que adicionamos novas condições ou alteramos tudo do zero. Não revelaremos todos os detalhes técnicos e forneceremos linhas de código que implementam nosso algoritmo, apenas uma sequência geral de ações:

  1. O cliente fornece um plano de rede IP.
  2. Usando um scanner de rede, uma impressão digital é formada para cada dispositivo com base nas portas de rede abertas e no SO.
  3. Os perfis são combinados por dispositivo e tipo (por exemplo, equipamento Cisco Catalyst 2960 \ Network).
  4. Quando um novo dispositivo aparece, o perfil mais semelhante é pesquisado.
  5. Se a precisão for insuficiente, o tipo de dispositivo será especificado pelo cliente.
  6. Verificações de rede repetidas são realizadas periodicamente para atualizar dados e procurar novos dispositivos e tipos.

Na ausência de um plano IP preciso da rede (por exemplo, ao usar DHCP ou o "fator humano"), é possível a opção de criação de perfil online com base em vários endereços IP conhecidos. Em seguida, dispositivos semelhantes são definidos dentro do tipo e o perfil é atualizado.

Essa abordagem nos permite determinar o tipo de dispositivo com uma precisão de cerca de 95%, mas sempre queremos mais. Estamos abertos a novas idéias, comentários e comentários. Se houver algo que não levamos em conta, estamos prontos para discutir nos comentários.

Agenda de digitalização


Quando já temos todas as informações necessárias sobre a rede do cliente, elaboramos um cronograma para verificação de vulnerabilidades, levando em consideração a frequência necessária de verificações para cada tipo de dispositivo. A frequência pode ser qualquer uma - de 1 dia a 1 ano. A frequência, por um lado, depende da rapidez e da frequência com que o cliente está pronto para trabalhar com vulnerabilidades de um ou outro equipamento; por outro lado, afeta o preço do serviço.

Por exemplo, um plano pode ser assim:



É importante observar que é altamente recomendável verificar diariamente o perímetro da rede externa para minimizar o risco de explorar vulnerabilidades de 1 dia (recém-publicadas). A mesma recomendação se aplica aos recursos públicos da Web do cliente.

Na verdade, a digitalização


Uma semana antes da data de início programada para a verificação de grupos de dispositivos, contatamos a pessoa responsável pelo grupo, informamos sobre as datas da verificação e enviamos uma lista completa de dispositivos que iremos verificar. Nesta fase, você pode ajustar (se necessário) a área de verificação. Isso é feito para minimizar os riscos de reconhecimento incorreto de dispositivos na rede.

Após a conclusão da verificação, a pessoa responsável também é informada. I.e. as partes interessadas estão SEMPRE atualizadas.

Usamos vários scanners diferentes, incluindo ferramentas separadas para procurar vulnerabilidades em sistemas da web. Portanto, obtemos mais informações para análise e podemos encontrar mais problemas em potencial.

Para otimizar custos, não podemos escanear todo o grupo de dispositivos do mesmo tipo, mas restringir-nos a uma amostra representativa, por exemplo, 30-50% dos dispositivos selecionados aleatoriamente do grupo ou 30-50% dos dispositivos de cada escritório distribuído geograficamente. Quando vulnerabilidades críticas são encontradas em dispositivos seletivos, é iniciada uma pesquisa por vulnerabilidades específicas já existentes em todos os dispositivos do grupo. Portanto, obtemos a cobertura mais abrangente em menos tempo.

É importante observar que existem vulnerabilidades separadas que não são determinadas pelas ferramentas padrão. Quando começamos a verificar um determinado tipo de dispositivo, verificamos todas as vulnerabilidades públicas e garantimos que nossos scanners possam encontrá-las. Se entendermos que ferramentas padrão não são suficientes, procuramos vulnerabilidades individuais manualmente ou desenvolvemos nossas próprias ferramentas para verificação.

E o mais importante, quando as informações sobre uma nova vulnerabilidade perigosa aparecerem no espaço público, não esperaremos uma verificação agendada. Todos os clientes que possam sofrer com a vulnerabilidade encontrada serão imediatamente notificados do problema e realizaremos uma verificação não programada.

Em geral, uma descrição detalhada de nossa tecnologia de pesquisa de vulnerabilidades está um pouco além do escopo deste artigo, mas você pode se familiarizar com isso pela apresentação que fizemos no SOC-Forum em 2017.

Análise dos resultados da verificação


Se você já executou um scanner de vulnerabilidades em uma rede corporativa de mais de 100 hosts, provavelmente se lembra do mesmo sentimento que surge quando olha para uma lista de quilômetros do mesmo tipo de registros, cujo conteúdo à primeira vista pouco é entendido. Sem conhecimento especial, é difícil avaliar adequadamente o que deixar como está, o que precisa ser corrigido e em que ordem para agir.

Demos esse passo por conta própria, olhamos para os resultados, selecionamos problemas realmente críticos que podem causar danos reais aos negócios do cliente.

Avaliamos parâmetros como:

  • Disponibilidade de um dispositivo / serviço vulnerável para um invasor em potencial;
  • a presença de uma façanha pública;
  • complexidade de operação;
  • risco potencial para o negócio;
  • É um falso positivo?
  • complexidade de eliminação;
  • e assim por diante.

Após o processamento, as vulnerabilidades "verificadas e aprovadas" são publicadas por nós no sistema de gerenciamento de incidentes (falaremos sobre isso separadamente), onde os funcionários do cliente podem examiná-las, fazer perguntas, levá-las ao trabalho ou rejeitá-las se os riscos forem aceitos.

Se necessário, também organizamos uma consulta com a pessoa responsável por dispositivos vulneráveis ​​e informamos em detalhes o que foi encontrado, o que ele enfrenta e quais opções existem para minimizar os riscos.

Depois que a vulnerabilidade é transferida para o trabalho, a bola vai para o lado do cliente e continuamos a varredura do próximo grupo de dispositivos.

Mas o processo para o primeiro grupo não termina aí.

Controle de vulnerabilidades


No sistema, para cada vulnerabilidade publicada, você pode definir o status e o prazo para eliminação. Monitoramos mudanças de status e prazos.

Se a vulnerabilidade for fechada pelo cliente, vemos isso e executamos uma verificação para garantir que a vulnerabilidade realmente desapareceu. Porque a verificação é iniciada apenas para uma vulnerabilidade e, em seguida, não leva muito tempo; o resultado pode ser obtido em um dia para centenas de milhares de hosts ou mesmo em segundos para um pequeno grupo de dispositivos.

Se a vulnerabilidade estiver realmente fechada, confirmamos isso. Se a vulnerabilidade em todos ou parte dos dispositivos do grupo for preservada, retornaremos para revisão.

O ciclo de trabalho com cada vulnerabilidade termina apenas quando confirmamos que não está mais em todos os dispositivos vulneráveis.

O esquema geral é mais ou menos assim:



No processo de controle da eliminação de vulnerabilidades, dois subprocessos auxiliares podem ser distinguidos: controle de prazos e trabalho com os responsáveis ​​pelo fechamento da vulnerabilidade no lado do cliente.

Controle de tempo

Repito, para cada vulnerabilidade, um prazo deve ser atribuído para sua eliminação. Esse parâmetro é definido pelo cliente independentemente, ou seja, não ditamos a rapidez com que os funcionários responsáveis ​​dos clientes devem trabalhar, mas monitoramos o alcance das metas. Se as tarefas estiverem atrasadas, o detentor do processo de gerenciamento de vulnerabilidades do cliente é notificado sobre isso. As informações sobre vulnerabilidades que foram encerradas no prazo ou expiraram são refletidas por nós em relatórios periódicos com os nomes de, por assim dizer, "excelentes alunos" e "duplos". Também consideramos um indicador como a velocidade média de correção de vulnerabilidades. Assim, o cliente coleta as informações necessárias para agendamento, carregamento responsável, bem como sobre suas realizações ou omissões.

Trabalhe com Responsável

Às vezes, para vulnerabilidades individuais, é necessário atribuir várias pessoas responsáveis, transferir todo ou parte do trabalho da tarefa para outra pessoa ou simplesmente mudar a pessoa responsável, porque a primeira falhou, saiu de férias, em licença médica, etc. Tudo isso nos permite implementar nosso sistema.

A imagem abaixo mostra o esquema do serviço no contexto de uma vulnerabilidade.


Eficácia


Foi assim que construímos o processo de trabalho e vemos em nossa abordagem várias vantagens e oportunidades que ajudarão a trabalhar com mais eficiência as vulnerabilidades e, ao mesmo tempo, resolver os problemas identificados na primeira parte do artigo:

  1. Assumimos não apenas a tarefa de iniciar scanners para procurar vulnerabilidades na rede, mas também a análise dos resultados de seu trabalho. Filtramos o excesso e o resultado final é uma lista de vulnerabilidades com as quais podemos e devemos trabalhar.
  2. Ao fazer essa lista e apresentá-la aos especialistas do cliente responsável, sempre escrevemos duas coisas: uma descrição detalhada do significado da vulnerabilidade e o impacto negativo nos negócios que ela carrega, além de recomendações para eliminar ou minimizar os riscos. Assim, você sempre pode entender o que acontecerá se não fizer nada e pode estimar o tempo e o custo da implementação das medidas recomendadas.
  3. Se ainda houver dúvidas ou argumentos a favor da eliminação de uma certa vulnerabilidade, podemos testar adicionalmente a possibilidade de explorar essa vulnerabilidade em condições reais ou próximas a reais. Após esse “mini-pentest”, será visto como é possível e difícil para um invasor em potencial realizar um ataque.
  4. Finalmente, quando o trabalho de remoção de vulnerabilidades é concluído, sempre o verificamos. Assim, o risco de erros ou omissões pode ser eliminado.

E o cliente, por sua vez, recebe oportunidades valiosas em nossa opinião e pode:

  • concentre-se em grupos realmente importantes de dispositivos e monitore seu status com mais frequência;
  • concentre-se em vulnerabilidades verdadeiramente perigosas que podem causar danos reais;
  • monitorar o trabalho em cada vulnerabilidade, rastrear alterações de status e prazos;
  • receber conselhos individuais sobre o fechamento de vulnerabilidades;
  • liberar o tempo de seus funcionários necessário para iniciar e processar os resultados das digitalizações, bem como para configurar e dar suporte a todas as ferramentas necessárias;
  • Bem, e como um bônus para o CFO - traduzir os custos de capital da compra de suas próprias ferramentas de digitalização em custos operacionais para pagar pelos serviços de especialistas.

Interessante? Na seção de serviços do nosso site, você pode ver os preços, bem como solicitar serviços de teste em condições especiais.

Source: https://habr.com/ru/post/pt460048/


All Articles