O que significa software vulnerável? Verificação inteligente

Lar / Instalação do dispositivo

Na inicialização digitalização inteligente O Avast verificará o seu PC em busca dos seguintes tipos de problemas e sugerirá soluções para eles.

  • Vírus: arquivos contendo código malicioso, o que pode afetar a segurança e o desempenho do seu PC.
  • Software vulnerável: programas que requerem atualização e podem ser usados ​​por invasores para obter acesso ao seu sistema.
  • Extensões de navegador com má reputação: extensões de navegador que geralmente são instaladas sem o seu conhecimento e afetam o desempenho do sistema.
  • Senhas fracas: Senhas usadas para acessar mais de uma conta online e que podem ser facilmente hackeadas ou comprometidas.
  • Ameaças de rede: vulnerabilidades em sua rede que podem permitir ataques ao seu dispositivos de rede e um roteador.
  • Problemas de desempenho: objetos ( arquivos desnecessários e aplicativos, problemas relacionados às configurações) que podem interferir na operação do PC.
  • Antivírus conflitantes: programas antivírus instalados no seu PC com Avast. Disponibilidade de vários programas antivírus retarda o seu PC e reduz a eficácia da proteção antivírus.

Observação. Certos problemas detectados pelo Smart Scan podem exigir uma licença separada para serem resolvidos. A detecção de tipos de problemas desnecessários pode ser desativada no .

Resolvendo problemas detectados

Uma marca de seleção verde próxima à área de digitalização indica que nenhum problema foi encontrado nessa área. Uma cruz vermelha significa que a verificação identificou um ou mais problemas relacionados.

Para visualizar detalhes específicos sobre problemas detectados, clique em Resolva tudo. Verificação inteligente mostra detalhes de cada problema e oferece a opção de corrigi-lo imediatamente clicando no item Decidir ou faça isso mais tarde clicando Pule esta etapa.

Observação. Os logs de verificação antivírus podem ser vistos no histórico de verificação, que pode ser acessado selecionando Proteção antivírus.

Gerenciar configurações de digitalização inteligente

Para alterar as configurações do Smart Scan, selecione Configurações Geral Smart Scan e especifique quais dos seguintes tipos de problemas você deseja fazer a varredura inteligente.

  • Vírus
  • Software desatualizado
  • Complementos do navegador
  • Ameaças de rede
  • Problemas de compatibilidade
  • Problemas de desempenho
  • Senhas fracas

Por padrão, todos os tipos de problemas estão habilitados. Para interromper a verificação de um problema específico ao executar um Smart Scan, clique no controle deslizante Incluído ao lado do tipo de problema para que ele mude o estado para Desligado.

Clique Configurações ao lado da inscrição Verificação de vírus para alterar as configurações de digitalização.

O gerenciamento de vulnerabilidades é a identificação, avaliação, classificação e seleção de uma solução para resolver vulnerabilidades. A base do gerenciamento de vulnerabilidades são repositórios de informações sobre vulnerabilidades, um dos quais é o Sistema de Gerenciamento de Vulnerabilidades “Monitoramento Avançado”.

Nossa solução controla o aparecimento de informações sobre vulnerabilidades em sistemas operacionais(baseado em Windows, Linux/Unix), software de escritório e aplicativo, software de hardware, ferramentas de segurança da informação.

Fontes de dados

O banco de dados do Sistema de gerenciamento de vulnerabilidades do Perspective Monitoring Software é atualizado automaticamente a partir das seguintes fontes:

  • Banco de dados de ameaças à segurança da informação (BIS) FSTEC da Rússia.
  • Banco de dados nacional de vulnerabilidades (NVD) NIST.
  • Red Hat Bugzilla.
  • Rastreador de Bugs de Segurança do Debian.
  • Lista de discussão do CentOS.

Nós também usamos método automatizado reabastecimento de nosso banco de dados de vulnerabilidades. Desenvolvemos um rastreador de páginas da web e um analisador de dados não estruturados que analisa diariamente mais de uma centena de fontes estrangeiras e russas diferentes para uma série de palavras-chave - grupos em redes sociais, blogs, microblogs, mídia dedicada a tecnologia da Informação e garantir a segurança da informação. Se essas ferramentas encontrarem algo que corresponda aos critérios de pesquisa, o analista verifica manualmente as informações e as insere no banco de dados de vulnerabilidades.

Monitoramento de vulnerabilidade de software

Usando o Vulnerability Management System, os desenvolvedores podem monitorar a presença e o status das vulnerabilidades detectadas em componentes de terceiros de seu software.

Por exemplo, no modelo Secure Software Developer Life Cycle (SSDLC) da Hewlett Packard Enterprise, o controle de bibliotecas de terceiros é central.

Nosso sistema monitora a presença de vulnerabilidades em versões/compilações paralelas do mesmo produto de software.

Funciona assim:

1. O desenvolvedor nos fornece uma lista de bibliotecas e componentes de terceiros usados ​​no produto.

2. Verificamos diariamente:

b. se surgiram métodos para eliminar vulnerabilidades previamente descobertas.

3. Notificamos o desenvolvedor se o status ou a pontuação da vulnerabilidade mudou, de acordo com o modelo especificado. Isso significa que diferentes equipes de desenvolvimento de uma mesma empresa receberão alertas e verão o status das vulnerabilidades apenas do produto em que estão trabalhando.

A frequência de alerta do Vulnerability Management System é configurável, mas se uma vulnerabilidade for detectada com uma pontuação CVSS superior a 7,5, os desenvolvedores receberão um alerta imediato.

Integração com ViPNet TIAS

O sistema de software e hardware ViPNet Threat Intelligence Analytics System detecta automaticamente ataques de computador e identifica incidentes com base em eventos recebidos de várias fontes segurança da informação. A principal fonte de eventos do ViPNet TIAS é o ViPNet IDS, que analisa entradas e saídas tráfego de rede utilizando as bases das regras de decisão Regras AM para o desenvolvimento do “Monitoramento Prospectivo”. Algumas assinaturas são escritas para detectar a exploração de vulnerabilidades.

Se o ViPNet TIAS detectar um incidente de segurança da informação no qual uma vulnerabilidade foi explorada, todas as informações relacionadas à vulnerabilidade, incluindo métodos para eliminar ou compensar o impacto negativo, serão automaticamente inseridas no cartão de incidente do sistema de gerenciamento.

O sistema de gerenciamento de incidentes também auxilia na investigação de incidentes de segurança da informação, fornecendo aos analistas informações sobre indicadores de comprometimento e potenciais nós da infraestrutura de informação afetados pelo incidente.

Monitorização da presença de vulnerabilidades em sistemas de informação

Outro cenário para usar um sistema de gerenciamento de vulnerabilidades é a varredura sob demanda.

O cliente gera de forma independente, usando ferramentas integradas ou um script desenvolvido por nós, uma lista de softwares de sistema e aplicativos e componentes instalados no nó (estação de trabalho, servidor, SGBD, pacote de software, equipamentos de rede), transmite esta lista para o controle sistema e recebe um relatório sobre vulnerabilidades detectadas e notificações periódicas sobre seu status.

Diferenças entre o sistema e os scanners de vulnerabilidade comuns:

  • Não requer instalação de agentes de monitoramento nos nós.
  • Não cria carga na rede, pois a própria arquitetura da solução não fornece agentes e servidores de varredura.
  • Não sobrecarrega o equipamento, pois a lista de componentes é criada por comandos do sistema ou por um script leve e de código aberto.
  • Elimina a possibilidade de vazamento de informações. O “monitoramento prospectivo” não pode aprender nada de forma confiável sobre a localização física e lógica ou a finalidade funcional de um nó no sistema de informação. A única informação que sai do perímetro controlado do cliente é um arquivo txt com uma lista de componentes de software. Este arquivo é verificado quanto ao conteúdo e carregado no sistema de controle pelo próprio cliente.
  • Para que o sistema funcione, não precisamos de contas em nós controlados. As informações são coletadas pelo administrador do site em seu próprio nome.
  • Troca segura de informações via ViPNet VPN, IPsec ou https.

A conexão ao serviço de gerenciamento de vulnerabilidades Perspective Monitoring ajuda o cliente a cumprir o requisito ANZ.1 “Identificação e análise de vulnerabilidades sistema de informação E eliminação imediata vulnerabilidades recentemente identificadas" dos pedidos nº 17 e 21 do FSTEC da Rússia. Nossa empresa é licenciada do FSTEC da Rússia para atividades relacionadas à proteção técnica de informações confidenciais.

Preço

Custo mínimo - 25.000 rublos por ano para 50 nós conectados ao sistema se houver um contrato válido para conexão a

Atualmente, um grande número de ferramentas foi desenvolvido para automatizar a busca por vulnerabilidades de programas. Este artigo discutirá alguns deles.

Introdução

A análise estática de código é uma análise de software realizada no código-fonte dos programas e implementada sem realmente executar o programa em estudo.

O software geralmente contém várias vulnerabilidades devido a erros no código do programa. Erros cometidos durante o desenvolvimento do programa em algumas situações levam à falha do programa e, portanto, o operação normal programas: muitas vezes causa alterações e danos aos dados, parando o programa ou mesmo o sistema. A maioria das vulnerabilidades está associada ao processamento incorreto de dados recebidos de fora ou à verificação insuficientemente rigorosa dos mesmos.

Várias ferramentas são usadas para identificar vulnerabilidades, por exemplo, analisadores estáticos código fonte programas, uma visão geral dos quais é fornecida neste artigo.

Classificação de vulnerabilidades de segurança

Quando o requisito para que um programa opere corretamente em todos os dados de entrada possíveis é violado, torna-se possível o aparecimento das chamadas vulnerabilidades de segurança. Vulnerabilidades de segurança podem significar que um programa pode ser usado para superar as limitações de segurança de um sistema inteiro.

Classificação de vulnerabilidades de segurança dependendo de erros de software:

  • Estouro de buffer. Esta vulnerabilidade ocorre devido à falta de controle sobre os limites do array na memória durante a execução do programa. Quando um pacote de dados muito grande ultrapassa o buffer de tamanho limitado, o conteúdo dos locais de memória estranhos é sobrescrito, fazendo com que o programa trave e saia. Com base na localização do buffer na memória do processo, os buffer overflows são diferenciados na pilha (stack buffer overflow), heap (heap buffer overflow) e área de dados estáticos (bss buffer overflow).
  • Vulnerabilidade de entrada contaminada. Vulnerabilidades de entrada estragada podem ocorrer quando a entrada do usuário é passada para algum tipo de intérprete sem controle suficiente. linguagem externa(geralmente um shell Unix ou linguagem SQL). Neste caso, o usuário pode especificar os dados de entrada de forma que o interpretador iniciado execute um comando completamente diferente daquele pretendido pelos autores do programa vulnerável.
  • Vulnerabilidade de string de formato. Este tipo As vulnerabilidades de segurança são uma subclasse da vulnerabilidade de "entrada contaminada". Ocorre devido ao controle insuficiente dos parâmetros ao utilizar as funções de E/S de formato printf, fprintf, scanf, etc. da biblioteca padrão C. Essas funções tomam como um de seus parâmetros uma sequência de caracteres que especifica o formato de entrada ou saída dos argumentos de função subsequentes. Se o usuário puder especificar o tipo de formatação, esta vulnerabilidade poderá resultar do uso malsucedido de funções de formatação de cadeia de caracteres.
  • Vulnerabilidades resultantes de erros de sincronização (condições de corrida). Problemas associados à multitarefa levam a situações chamadas "condições de corrida": um programa que não foi projetado para ser executado em um ambiente multitarefa pode acreditar que, por exemplo, os arquivos que ele utiliza não podem ser alterados por outro programa. Como resultado, um invasor que substitua prontamente o conteúdo desses arquivos de trabalho pode forçar o programa a executar determinadas ações.

É claro que, além das listadas, existem outras classes de vulnerabilidades de segurança.

Revisão dos analisadores existentes

As seguintes ferramentas são usadas para detectar vulnerabilidades de segurança em programas:

  • Depuradores dinâmicos. Ferramentas que permitem depurar um programa durante sua execução.
  • Analisadores estáticos (depuradores estáticos). Ferramentas que utilizam informações acumuladas durante a análise estática de um programa.

Os analisadores estáticos apontam para os locais do programa onde um erro pode estar localizado. Esses trechos de código suspeitos podem conter um erro ou ser completamente inofensivos.

Este artigo fornece uma visão geral de vários analisadores estáticos existentes. Vamos dar uma olhada em cada um deles.

Outra maneira de encarar esse problema é que as empresas devem reagir rapidamente quando um aplicativo apresenta uma vulnerabilidade. Isso exige que o departamento de TI seja capaz de rastrear definitivamente aplicativos instalados, componentes e patches usando automação e ferramentas padrão. Há um esforço da indústria para padronizar tags de software (19770-2), que são arquivos XML instalados com um aplicativo, componente e/ou patch que identificam o software instalado e, no caso de um componente ou patch, qual aplicativo eles são parte de. As tags possuem informações oficiais do editor, informações de versão, lista de arquivos com nome de arquivo, informações seguras hash de arquivo e tamanho, que pode ser usado para confirmar se o aplicativo instalado está no sistema e se os binários não foram modificados por terceiros. Essas tags são assinadas assinatura digital editor.

Quando uma vulnerabilidade é conhecida, os departamentos de TI podem usar seu software de gerenciamento de ativos para identificar imediatamente sistemas com software vulnerável e tomar medidas para atualizar os sistemas. As tags podem fazer parte de um patch ou atualização que pode ser usada para verificar se o patch foi instalado. Dessa forma, os departamentos de TI podem usar recursos como o Banco de Dados Nacional de Vulnerabilidades do NIST como um meio de gerenciar suas ferramentas de gerenciamento de ativos, de modo que, assim que uma vulnerabilidade for enviada ao NVD por uma empresa, a TI possa comparar imediatamente as novas vulnerabilidades com as suas.

Há um grupo de empresas trabalhando através de uma organização sem fins lucrativos IEEE/ISTO chamada TagVault.org (www.tagvault.org) com o governo dos EUA em uma implementação padrão da ISO 19770-2 que permitirá esse nível de automação. Em algum momento, essas tags correspondentes a esta implementação provavelmente serão obrigatórias para software vendido ao governo dos EUA em algum momento nos próximos anos.

Portanto, no final das contas, é uma boa prática não postar sobre quais aplicativos e versões específicas de software você está usando, mas isso pode ser difícil, conforme mencionado anteriormente. Você deseja garantir que tenha um inventário de software preciso e atualizado, que ele seja comparado regularmente com uma lista de vulnerabilidades conhecidas, como o NVID do NVD, e que a TI possa tomar medidas imediatas para remediar a ameaça. as últimas invasões de detecção, verificação antivírus e outros métodos de bloqueio de ambiente, no mínimo, será muito difícil que seu ambiente seja comprometido e, se/quando isso acontecer, não será detectado por um longo período de tempo.

Em alguns casos, surgem vulnerabilidades devido ao uso de ferramentas de desenvolvimento de diversas origens, o que aumenta o risco de aparecimento de defeitos do tipo sabotagem no código do programa.

Vulnerabilidades aparecem devido à adição de componentes de terceiros ou código distribuído gratuitamente (código aberto) ao software. O código de outra pessoa é frequentemente usado “como está”, sem análise completa e testes de segurança.

Não se deve excluir a presença de programadores internos na equipe que introduzem deliberadamente funções ou elementos adicionais não documentados no produto que está sendo criado.

Classificação de vulnerabilidades do programa

As vulnerabilidades surgem de erros encontrados durante a fase de design ou escrita. código do programa.

Dependendo do estágio de ocorrência, esse tipo de ameaça é dividido em vulnerabilidades de design, implementação e configuração.

  1. Erros cometidos durante o projeto são os mais difíceis de detectar e eliminar. São imprecisões em algoritmos, marcadores, inconsistências na interface entre diferentes módulos ou em protocolos de interação com hardware e introdução de tecnologias abaixo do ideal. Eliminá-los é um processo muito trabalhoso, inclusive porque podem aparecer em casos não óbvios - por exemplo, quando o volume de tráfego pretendido é ultrapassado ou ao conectar grandes quantidades equipamento adicional, o que dificulta o fornecimento do nível de segurança exigido e leva ao surgimento de formas de contornar o firewall.
  2. As vulnerabilidades de implementação aparecem na fase de escrita de um programa ou implementação de algoritmos de segurança nele. Esta é uma organização incorreta do processo computacional, defeitos sintáticos e lógicos. Existe o risco de a falha causar um estouro de buffer ou outros problemas. Detectá-los leva muito tempo e eliminá-los envolve a correção de certas partes do código de máquina.
  3. Erros de configuração de hardware e software são bastante comuns. Seus motivos comuns são o desenvolvimento de qualidade insuficiente e a falta de testes para operação correta. funções adicionais. Esta categoria também pode incluir senhas simples e deixou inalterado contas padrão.

De acordo com as estatísticas, as vulnerabilidades são descobertas com especial frequência em produtos populares e difundidos - sistemas operacionais de desktop e móveis, navegadores.

Riscos de usar programas vulneráveis

Os programas que contêm o maior número de vulnerabilidades estão instalados em quase todos os computadores. Por parte dos cibercriminosos, há um interesse direto em encontrar tais falhas e escrever para elas.

Como passa muito tempo desde o momento em que uma vulnerabilidade é descoberta até a publicação de uma correção (patch), há um grande número de oportunidades para infectar sistemas de computador através de lacunas na segurança do código do programa. Nesse caso, o usuário só precisa abrir, por exemplo, um arquivo PDF malicioso com um exploit uma vez, após o que os invasores terão acesso aos dados.

Neste último caso, a infecção ocorre de acordo com o seguinte algoritmo:

  • O usuário recebe e-mail um e-mail de phishing de um remetente confiável.
  • Um arquivo com um exploit está anexado à carta.
  • Se um usuário tentar abrir um arquivo, o computador será infectado por um vírus, Trojan (criptografador) ou outro programa malicioso.
  • Os cibercriminosos obtêm acesso não autorizado ao sistema.
  • Dados valiosos estão sendo roubados.

Pesquisas realizadas por diversas empresas (Kaspersky Lab, Positive Technologies) mostram que existem vulnerabilidades em quase todos os aplicativos, incluindo antivírus. Portanto, a probabilidade de estabelecer produto de software, contendo falhas de vários graus de criticidade, é muito alto.

Para minimizar o número de lacunas no software, é necessário utilizar SDL (Security Development Lifecycle, ciclo de vida de desenvolvimento seguro). A tecnologia SDL é usada para reduzir o número de bugs em aplicativos em todas as fases de sua criação e suporte. Assim, ao projetar software, especialistas e programadores em segurança da informação modelam ameaças cibernéticas para encontrar vulnerabilidades. Durante a programação, ferramentas automáticas são incluídas no processo para reportar imediatamente possíveis falhas. Os desenvolvedores se esforçam para limitar significativamente a funcionalidade disponível para usuários não confiáveis, o que ajuda a reduzir a superfície de ataque.

Para minimizar o impacto das vulnerabilidades e os danos por elas causados, você deve seguir algumas regras:

  • Instale imediatamente correções (patches) lançadas pelo desenvolvedor para aplicativos ou (de preferência) ative o modo de atualização automática.
  • Se possível, não instale programas duvidosos cuja qualidade e suporte técnico levantar questões.
  • Use scanners de vulnerabilidade especiais ou funções especializadas de produtos antivírus que permitem procurar erros de segurança e, se necessário, atualizar software.

© 2024 ermake.ru - Sobre reparo de PC - Portal de informações