Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas de Informação: Segurança e Auditoria Prof. Dr. César Marcondes DC/ UFSCar UNIDADE 6 Ameaças Virtuais e Segurança em Redes de Computadores Vírus e Worms Vírus de Computador • Um vírus de computador é um pedaço malicioso de código executável que se propaga fazendo cópias de si mesmo em um programa ou documento hospedeiro - assim como um vírus biológico precisa de um hospedeiro, uma célula viva, que ele se insere para propagação • Funciona em 2 fases: – Fase da Inserção: inserindo a si próprio em um arquivo – Fase da Execução: realizando alguma ação danosa • Fase da Inserção está sempre presente, mas não precisa executar, por exemplo, já tem um vírus instalado naquela posição Hospedeiros • Típicos Hospedeiros ou Locais onde ficam os Vírus de Computador: – Arquivos Executáveis (por exemplo arquivos ‘.exe’ em Windows), normalmente enviados como anexos de emails de spamspam – Setores de Boot das partições do disco – Arquivos de Script de alguma tarefa administrativa (como os arquivos de lote (.bat) do Windows, ou scripts no Unix, etc.) – Documentos que permitem conter macros (como documentos Word, planilhas Excel, banco de dados Access, etc.) Resistencia do Linux • Qualquer sistema operacional que permita a execução de programas pode suportar vírus • Entretanto, devido ao esquema de permissões dos sistemas Linux (rwx), é mais dificil para um vírus infectar outros arquivos no Linux sistemas Linux (rwx), é mais dificil para um vírus infectar outros arquivos no Linux • • Vamos exemplificar – imaginando que o vírus está embutido em um script. Se o código do vírus tentar acessar um arquivo no qual ele não tem permissão de leitura e escrita, o código do vírus sofrerá essa restrição e não poderá se reproduzir Vírus Mutantes 1 • Apesar do vírus ter que se replicar em outro hospedeiro (arquivos executável), um dado importante é que essa cópia não precisa ser uma réplica perfeita de si mesmo. Para tornar o processo de detecção mais dificil para um reconhecedor de padrões, o vírus pode dificil para um reconhecedor de padrões, o vírus pode alterar a si mesmo de hospedeiro para hospedeiro. • Na maioria dos casos, as mudanças feitas no código do vírus são pequenas, como rearranjar a ordem de instruções independentes, esse são os vírus mutantes Vírus Mutantes 2 • Para escapar de serem detectados por ferramentas anti-vírus, os vírus mais sofisticados fazem a criptografia de si mesmos com chaves que mudam a cada infecção. • O que permanece constante em tais vírus é a rotina de descriptografia. Outras Curiosidades de Vírus • Vírus precisam saber se um determinado arquivo já está infectado, porque senão, esse arquivo pode crescer sem limites, repetindo a infecção várias vezesinfecção várias vezes • Vírus normalmente colocam uma assinatura (como uma string de uma data improvavel ex. 30 de fevereiro) em uma localização específica do arquivo para esse propósito. Anatomia de um Vírus comecovirus: if condicao-para-espalhar then begin for conjunto-arquivos-alvo do begin if alvo-nao-infectado then begin determinar local para colocar instrucoes virus copiar instrucoes de comecovirus ate fimviruscopiar instrucoes de comecovirus ate fimvirus no arquivo alvo alterar o arquivo alvo para executar o virus end; end; end; realizar alguma acao maligna goto comecovirus fimvirus: Worms (Vermes da Rede) • A maior diferença entre um vírus e um worm (verme) é que o worm não precisa de um arquivo alvo para se hospedar. Em outras palavras, um worm não precisa se • Em outras palavras, um worm não precisa se associar com outro programa, ele é auto-contido. • Sozinho, ele é capaz de enviar cópias de si mesmo pela rede. Danos provocados por Worms • Por definição, worm precisa saltar de máquina para máquina, o que requer que ele seja equipado (no código) com bastante suporte de rede. • Comparativamente, o worm pode causar danos a rede, enquanto que o dano do vírus é puramente local a máquina infectada. • Mesmo assim, os termos vírus e worm são usado como sinônimos pelas empresas anti-virus. • Finalmente, a extensão de dano que um worm pode causar irá depender do nível de privilégios no qual o programa está executando. Se o worm descobrir a senha de um usuário sem privilégios de administrador, o dano será mínimo. Histórico de Worms • Era dos Worms (Morris Worm) – Escrito por Robert Morris enquanto aluno de pós- graduação de Cornell (Nov 2- 4, 1988) – Explora um bug no modo • Internet na época 60 mil – Hoje > 600 milhões máquinas • Morris Worm – Vários operadores de rede e FBI encontraram o autor – Explora um bug no modo debug do sendmail – Explora bugs em finger, rsh, and rexec – Explora senhas fracas – Infectou máquinas DEC VAX (BSD) e Sun – 99 linhas de código em C e >3200 linhas de código de bibliotecas – Primeira condenação por Fraude e Abuso de Computação – 3 anos de observação sem acessar computadores – 400 horas de serviços comunitários – Fiança de 10 mil dólares • Hoje em dia é professor no MIT Sapphire 2003 (vulnerabilidade Microsoft SQL) O Worm Conficker • O mais famoso worm a ser liberado na Internet. Relatado pela mídia em 2008, o worm era para ter causado a maior quebra da Internet no dia primeiro de abril de 2009, entretanto, nada aconteceu. aconteceu. • Muito avançado: – ataca máquinas com Windows – desabilita os pacotes de atualização da Microsoft – torna impossível o acesso a sites de anti-virus – bloqueia contas administrativas modificando registry Anatomia do Conficker A E do Conficket B (inferido Por disassembly o binário) Obrigado !!! Cesar Marcondes marcondes@dc.ufscar.br
Compartilhar