Curso Livre de Segurança de Sistemas/Tecnologia e Princípios de Segurança de Computadores/Software Malicioso/Caderno Colaborativo

Software Maliciosos editar

É um tipo de código de computador ou script da Web nocivo que tem como objetivo criar vulnerabilidades no sistema, gerando backdoors, violações de segurança, roubo de dados e informações, além de outros danos possíveis sistemas de arquivos e computadores.

Assim é um tipo de ameaça que o antiviris talvez nao consiga bloquear, nem todas as proteções de antivírus conseguem lidar com determinadas infecções causadas por código malicioso, na qual é diferente de malware.

Malware se refere especificamente a software malicioso, mas o código malicioso inclui scripts de sites que podem explorar vulnerabilidades para fazer upload de malware. O código permite que um criminoso virtual não autorizado acesse remotamente o sistema invadido, chamado de backdoor do aplicativo


Terminologias

Quando se trata de softwares maliciosos, não há conceitos universais sobre todos os termos, mas abaixo serão listados os principais:

  • adware: propagandas no software (ex: pop-ups)
  • kit de ataque: ferramentas para gerar um novo malware
  • backdoor: mecanismos que burlam a verificação de segurança
  • downloaders: quando são instalados outros coisas em uma máquina
  • bomba lógica: código inserido em um malware
  • rootkit: ferramentas de hacker usadas após o atacante obter acesso
  • spyware: software que coletam informações
  • cavalo de troia: software que parece útil mas é malicioso
  • virus: malware que executa um software de outra forma, fazendo com que o vírus seja executado também


Além disso, os malwares são classificados em dois tipos: na maneira que se propagam até alcançar o alvo e nas ações que eles executam quando encontram o alvo.

Classificação dos vírus editar

A classificação dos vírus se dão por dois modos:

Classificação de vírus por alvo editar

  • Vírus infectante do setor de inicialização: Infecta um registro de inicialização e se espalha quando um sistema é iniciado a partir do disco infectado.
  • Vírus infectante de arquivo: Infecta arquivos que o sistema operacional ou o shell(programas de sistemas utilizados como meio de interação entre o usuário e o computador) considera como executável.
  • Vírus de macro: Infecta arquivos com código de macro ou de script que é interpretado por uma aplicação.
  • Vírus multipartido: É capaz de infectar vários tipos de arquivos, e para remover o vírus é necessário lidar com todos os possíveis locais de infecção.

Classificação de vírus por estratégia de ocultação editar

  • Vírus cifrado: Uma parte do vírus cria uma chave criptográfica aleatória e cifra o restante do vírus, a chave fica armazenada com o vírus, e quando um programa infectado é invocado, o vírus usa a chave aleatória armazenada para decifrar o vírus.
  • Vírus camuflado: O vírus inteiro fica oculto, ele pode usar técnicas de mutação de código.
  • Vírus polimórfico: É o tipo de vírus que muda a cada infecção, impossibilitando detecção pela “assinatura” do vírus.
  • Vírus metamórfico: É um vírus que muda a cada infecção. Ele reescreve a si mesmo completamente a cada iteração aumentando a dificuldade de detecção

Vírus de macro e de script editar

Os vírus de código de macro ou de script, surgiram na década de 1990, e em pouco tempo tornaram-se muito populares. Seu objetivo é infectar algum documento, onde usuário irá de forma interativa executar o documento e o vírus será executado junto ao documento.

O vírus macro é independente de plataforma, assim conseguem infectar conteúdos ativos em programas que são popularmente utilizados. Boa parte das informações que são introduzidas em um computador são em formato de documento. Os vírus de macro não infectam porções executáveis de código.

Métodos envolvendo o correio eletrônico são comumente utilizados pelos atacantes, pois fornece compartilhamento em grande escala. Modelos tradicionais de controle de acesso de arquivo não fazem muito efeito contra o vírus, pois este não faz modificações enquanto não houver a iteração do usuário inicial. O macro é utilizado também por usuários que buscam automatizar tarefas repetitivas do dia-a-dia, de forma a poupar digitação com suporte a conteúdo dinâmico, validação de formulário, entre outros.

Alguns exemplos de tipos de documentos comumente utilizados para o ataque são, documentos do Microsoft Office e Microsoft Word. Em novas versões dos produtos Microsoft Office, é fornecida uma ferramenta opcional conhecida como Macro Virus Protection, que busca análisar e relatar caso algum arquivo seja suspeito. Existem diversas outras empresas que disponíbilizam produtos similares para a detectação de vírus macro. O Adobe PDF também está sujeito a esse tipo de ataque, pois suporta javascript e outros tipos de código de script. Leitores de PDF mais recentes avisam o usuário com uma mensagem sobre o ataque, porém essa mensagem é manipulável, fazendo com que o indivíduo possa ser persuadido, e o código do script executado.

Exploração de vulnerabilidades por vermes editar

Verme ou worm é um programa que após infectar uma máquina, segue ativamente buscando por outras e ter controle sob elas. Esse tipo de malware pode se transportar pela rede ou através de mídias como pen drives, CDs, DVDs, etc. Os vermes de e-mail são espalhados por códigos de macro ou de script contidos em documentos anexados que ao ser ativado, o verme se reproduz e se propaga levando consigo uma carga útil.

Um verme pode se reproduzir através dos seguintes meios:

  • Recursos de correio eletrônico ou de mensagem instantânea: o verme envia uma cópia de si por e-mail ou anexo a um serviço de mensagens, e assim que a mensagem ou o e-mail é visualizado o código do malware é executado.
  • Compartilhamento de arquivo: o código do verme é executado quando a mídia removível é conectada a um sistema com mecanismo de autoexecução ou quando o arquivo infectado é aberto.
  • Capacidade de execução remota: o verme executa uma cópia de si utilizando um recurso explícito de execução remota ou explorando falhas em serviços de rede.
  • Capacidade de acesso a arquivos remotos ou transferência de arquivos remotos: através de um sistema de acesso a arquivos remotos, o verme se copia de um sistema para outro, até que o alvo o execute.
  • Capacidade de login remoto: o verme acessa um sistema remoto como se fosse um usuário, e roda comandos para se propagar entre os sistemas até chegar no sistema-alvo, além de continuar a propagação.

Geralmente os verme usam a mesmas fases de um vírus comum de computador. Na fase de propagação, o vírus geralmente procura algum jeito de acessar outros sistemas. Após isso, ele se copia ao sistema encontrado e faz com que a cópia seja executada.[1]

Contramedida para Malwares editar

Impedir que algum malware entre no sistema ou modificá-lo é uma tarefa difícil de fazer acontecer, até mesmo quase impossível. Para mitigar isso, adotar medidas de seguranças podem amenizar a quantidade de ataques bem-sucedidos. Mitigação de vulnerabilidades e ameaças, além de conscientização são passos para se conseguir realizar contramedidas adequadas.

Contramedidas que visam vermes, vírus e cavalos de Tróia é a assegurar que o sistema esteja em sua versão mais atual para mitigar o número de vulnerabilidades do sistema e aplicar controles de acesso adequados para aplicações não possuírem acessos indevidos a arquivos.

Como citado anteriormente, a conscientização do usuário pode prevenir usuários a realizarem ações que criem vulnerabilidades. Também, pode ser utilizado tecnologias para a detecção, identificação e remoção do malware. A detecção é encarregada de detectar que existe uma infecção e localizar o malware, depois, a identificação fica encarregada de determinar qual é o malware em questão. Então, a remoção elimina o malware e qualquer resquício dele para que não ocorra a propagação [1].

Contramedidas para vermes editar

Para lidar com vermes residentes em uma máquina, pode ser utilizado um software antivírus com a finalidade de detectar esse vírus ou até eliminá-lo. Esses vermes quando propagados em uma máquina podem gerar atividades a mais nas redes, sendo assim a monitoração da rede pode ser uma medida importante para a defesa contra vermes.

Abaixo serão destacados algumas contramedidas para vermes, de acordo com a atividade de rede que eles podem gerar:

  • Filtragem por escaneamento de vermes baseada em assinatura: Esse método identifica fluxos suspeitos e gera uma assinatura de vermes. A assinatura é usada para impedir que escaneamentos feitos por vermes entrem e saiam de uma rede. No entanto, esse método não é eficiente contra vermes polimórficos, pois o software de detecção não conseguem notar o verme. Se o software de detecção for bem sofisticado ele ainda consegue detectar o verme polimórfico, mas ainda assim isso pode levar muito tempo, impossibilitando uma reação eficiente.
  • Contenção de vermes baseada em filtro: Esse método é focado no conteúdo do verme, o filtro inspeciona uma mensagem para saber se nele há códigos do verme. O método pode ser muito eficiente, porém ele precisa de ótimos algoritmos de detecção e também uma rápida dispersão de alertas.
  • Contenção de vermes baseada na classificação de carga útil: Essa abordagem examina pacotes para averiguar se há vermes neles. Para esse método pode-se utilizar várias técnicas de detecção de anomalias, no entanto é preciso ter atenção caso haja altos níveis de falsos positivos e negativos. Ao invés de gerar assinaturas baseadas em padrões de bytes, essa abordagem procura estruturas de controle e de fluxo de dados que sugiram um código malicioso.
  • Detecção por escaneamento usando passeio aleatório limitado (Threshold Random Walk — TRW): Essa técnica é efetiva contra comportamentos comuns observados em escaneamentos efetuados por vermes, pois verifica a aleatoriedade na escolha de destinos de conexão, para conseguir avaliar se um escaneador está em operação ou não. Ele é mais adequado para se utilizar em dispositivos de rede em alta velocidade e baixo custo.
  • Limitação de transmissão: Esse método limita o fluxo de tráfego de pacotes de escaneamento vindos de uma estação infectada e como ferramenta para está contra medida, sendo possível utilizar diversas estratégias. As desvantagens desse método é que ele pode causar longos atrasos no tráfego normal e não é recomendado que ele seja utilizado contra vermes lentos ou furtivos.
  • Bloqueio de transmissão: Essa abordagem bloqueia imediatamente o tráfego de saída quando o limite determinado de taxa de conexão de saída é excedido. Para que funcione, essa abordagem precisa adicionar medidas para desbloquear rapidamente estações bloqueadas erroneamente, de modo transparente aos usuários. Ela pode também ser integrada a outros métodos, que são baseados em assinaturas ou filtros, assim, tráfegos bloqueados podem ser desbloqueados. Essa técnica é bem eficiente, mas assim como a abordagem limitação de transmissão, ela também não é boa para combater vermes lentos ou furtivos.

Propagação - Engenharia Social - Spam por E-mail, Cavalo de Tróia editar

Uma das maiores vulnerabilidades no que diz respeito a segurança de um sistema, está no fator humano, conhecido como engenharia social, esta área, diz respeito a enganar os usuários (pessoas físicas) a tomarem atitudes que acabem desenlaçando algo pior como, um vírus ou o roubo dos dados de determinado usuário através da execução de um cavalo de troia por exemplo, outro modo também de estar em risco a este tipo de golpe, diz respeito a spams no e-mail da vitima, assunto que será abordado a seguir.

Spam por e-mail editar

Com os inúmeros avanços na tecnologia, no que diz respeito a internet, temos também o grande avanço das capacidades de comunicação, hoje em dia, os e-mails, são os sistemas mais eficientes na troca de mensagens, porem, os spams são o seu principal problema, tendo em vista de que a maior parte do trafego de e-mails que ocorre na rede é de spams enviados por servidores ou botnets em grande escala, o que faz com que os sistemas de AntiSpam se façam cada vez mais uteis, porem, no meio disso, temos os spams maliciosos, que tem por objetivo chamar a atenção do usuário através de propostas de produtos, propagadas, cursos, entre outros modos baratos que cativam o usuário/vitima a acessar tais sites ou sistemas, ou ate mesmo a baixar arquivos que vem acompanhados de tal spam, é ai que ocorre a instalação de scripts ou cavalos de troia, que podem causar problemas futuros para a vitima ou ate mesmo sistemas organizacionais. Em se tratando de levar o usuário a outra pagina da internet (geralmente falsa, que simula um sistema para que o usuário insira seus dados), este tipo de técnica possui o nome de phishing

Exploração de vulnerabilidades por Cavalos de Tróia editar

Os cavalos de Tróia são distribuídos por humanos - eles são carregados diretamente nos sistemas de computador por criminosos internos e induzem os usuários a baixá-los ou executá-los em seus sistemas.

Para conseguir o último, os cavalos de Tróia são colocados por cybercriminosos em recursos abertos ou indexados (servidores de arquivos e sistemas de compartilhamento de arquivos), mídia de armazenamento, enviados por meio de serviços de mensagens (por exemplo, e-mail), entram em um computador por meio de falhas de segurança ou são baixados pelo próprio usuário a partir de endereços obtidos por um dos métodos listados.

Às vezes, o uso de cavalos de Tróia é apenas parte de um ataque planejado em vários estágios a certos computadores, redes ou recursos (incluindo outros).

Payload editar

O que são Payloads maliciosos? editar

No contexto de um ataque cibernético, um Payload é o componente do ataque que causa danos à vítima. Muito parecido com os soldados gregos escondidos dentro do cavalo de madeira na história do Cavalo de Tróia, um Payload pode permanecer inofensiva por algum tempo até ser acionada.

Vetores de ataque, como vírus, wurms e malware, podem conter uma ou mais cargas maliciosas. Payloads maliciosos também podem ser encontrados em anexos de e-mail; na verdade, a Symantec relatou que um em cada 359 e-mails existentes contém um payload malicioso, e essa proporção tende a aumentar.

Como Payloads maliciosos prejudicam suas vítimas? editar

Alguns exemplos típicos de como as cargas maliciosas causam danos:

  • Roubo de dados: Particularmente comum é o roubo de informações confidenciais, como credenciais de login ou informações financeiras por meio de várias formas de violação de dados.
  • Monitoramento de atividades: Um payload malicioso executada pode servir para monitorar a atividade do usuário em um computador, isso pode ser feito para fins de espionagem, chantagem ou para agregar o comportamento do consumidor que pode ser vendido aos anunciantes.
  • Exibição de anúncios: Alguns payloads maliciosos funcionam para exibir anúncios persistentes e indesejados, como pop-ups e pop-unders, para a vítima.
  • Exclusão ou modificação de arquivos: Esta é uma das consequências mais sérias de um payload. Os arquivos podem ser excluídos ou modificados para afetar o comportamento de um computador ou até mesmo desativar o sistema operacional e / ou processos de inicialização. Por exemplo, alguns payloads são projetados para 'bloquear' smartphones, o que significa que eles não podem mais ser ativados ou usados ​​de qualquer forma.
  • Download de novos arquivos: Alguns payloads vêm em arquivos muito leves que são fáceis de distribuir, mas uma vez executados, eles irão acionar o download de uma parte muito maior do software malicioso.
  • Executando processos em segundo plano: Um payload também pode ser acionada para executar processos em segundo plano silenciosamente, como mineração de criptomoedas ou armazenamento de dados.

Como Payloads são executados? editar

Os invasores devem primeiro encontrar um método para entregar o payload ao computador da vítima. Ataques de engenharia social e sequestro de DNS são dois exemplos comuns de técnicas de entrega de carga útil.

Uma vez que o payload esteja no lugar, ela geralmente ficará adormecido até ser executado. Um invasor pode escolher entre muitas maneiras diferentes de executá-lo.

  • Abrindo um arquivo executável: por exemplo, uma vítima baixa um anexo de e-mail que ela acredita ser um software pirateado e clica duas vezes no arquivo de instalação que executa o payload.
  • Desencadeando um conjunto específico de condições comportamentais: Isso é conhecido como uma bomba lógica. Por exemplo, um funcionário pode integrar uma bomba lógica na rede de sua empresa que verifica continuamente para ver se esse funcionário ainda está na folha de pagamento. Quando ele não estiver mais na folha de pagamento, a bomba lógica atenderá à sua condição e a carga maliciosa será executada.
  • Abrindo certos arquivos não executáveis: Mesmo alguns arquivos não executáveis ​​podem conter payloads. Por exemplo, existem ataques em que cargas maliciosas estão ocultas em arquivos de imagem .PNG. Quando a vítima abre esses arquivos de imagem, o payload é executado.
  1. 1,0 1,1 STALLINGS, William. BROWN, Lawrie. Segurança de Computadores. 2ed.