Baixe o app para aproveitar ainda mais
Prévia do material em texto
SEGURANÇA DA INFORMAÇÃO Software malicioso (malware) Prof. Dr. Marcos A. Simplicio Jr. Software malicioso (malware) • Programas capazes de explorar a vulnerabilidades de sistemas. Incluem: • Trechos de programas que precisam habitar outros programas • Ex.: vírus, bombas lógicas e backdoors (“portas dos fundos”) • Programas independentes, autocontidos • Ex.: worms (“vermes”), zumbis/bots • Podem ou não se replicar automaticamente • Ameaças sofisticadas a sistemas de computador Malware: terminologia Não há consenso universal, mas em geral: • Vírus: se anexa em um programa e cria cópias de si mesmo quando o programa é executado • Worm: se propaga automaticamente para outros computadores - executa como um serviço • Trojan horse (cavalo de tróia): programa que faz algo útil, mas tem código malicioso adicional • Ex.: versão pirata de um sistema operacional com malware embutido • Zumbi/bot: máquina infectada usada para lançar ataques contra outras máquinas • Exemplos de ataque: negação de serviço ou spam Malware: terminologia Não há consenso universal, mas em geral: • Backdoor (trapdoor): modificação em código do programa que permite acesso não autorizado a alguma funcionalidade • Bomba lógica: ativa evento malicioso quando certas condições são satisfeitas • Ex.: usuário se loga em site de banco, ou data específica atingida • Código móvel: programa malicioso que pode ser enviado a qualquer máquina • Ex.: macros do pacote Office, scripts web Não há consenso universal, mas em geral: • Adware: software de propaganda, muitas vezes embutido em um programa útil • Spammer: programa que envia grande quantidade de propaganda indesejada • Ex.: via e-mail, SMS, … • Flooder: programa que gera grande quantidade de tráfego contra um alvo • Normalmente utilizado em ataques de negação de serviço • Rootkit: conjunto de ferramentas para ganhar acesso de administrador (“root”) em uma máquina Malware: terminologia Malware: terminologia Não há consenso universal, mas em geral: • Keyloggers: registram toques no teclado • Comumente usados para roubo de senhas • Spyware (software espião): coleta informações sobre computador e as transmite para outro sistema • Exemplos de dados coletados: toques no teclado, cliques do mouse e captura de tela (screenloggers), dados trafegados na rede, e dados em arquivos locais • Ransomware (sequestrador de dados): cifra dados da máquina • Informa dados de contato/pagamento p/ obter chave de decifração Desenvolvendo malwares • Inicialmente, a construção e uso de malwares exigia grande conhecimento técnico • Atualmente, existem “kits de ataque”, que facilitam a construção de tais ameaças • E têm grande capacidade de personalização! • Ex.: o Zeus crimeware toolkit • Vídeo com uma pequena demonstração (áudio em inglês): http://www.symantec.com/connect/blogs/zeus-king-underground-crimeware-toolkits http://www.symantec.com/connect/blogs/zeus-king-underground-crimeware-toolkits Malwares por dentro: considerações técnicas Exemplo: vírus Trecho de software que infecta programas • Modifica programa ou arquivo com suporte a script • Quando o alvo é executado, o vírus é ativado com os mesmos direitos de acesso do alvo • Componentes • Mecanismo de infecção: código que cria cópias de si • Mecanismo de ativação: evento que ativa ação • Carga útil: ação em si • Ex.: destrói dados (CIH/1998), ou recruta máquina para rede zumbi (Virut/2006- 2017) Programa original Vírus Programa infectado Exemplo: vírus Programa infectado programa V :{ goto main; 123456; //marcador de infecção infectar_executável: { * arquivo := encontrar-arquivo-executável se(primeira-linha = 123456){goto *} senão{anexe V a arquivo} } causar_dano: {executa_código_malicioso} ativar: {se(condição){retorna VERDADEIRO}} main:{ infectar_executável; se(ativar){causar_dano} } } Disco Execução Exemplo: vírus • Os vírus descritos têm algumas vulnerabilidades que facilitam detecção: • Aumenta tamanho do código • Marcador de infeção e código fixo • Vírus modernos incluem funções sofisticadas: • Compressão do código original • Código mutável e decifração durante execução Programa original Vírus Programa infectado Programa original Vírus Vírus Malware: estratégias modernas • Características de malwares atuais: • Multiplatforma: não só Windows, mas também plataformas como Android, Linux e Mac • Quanto maior o uso da plataforma mais ela se torna alvo preferencial • Multi-exploit: exploram múltiplas vulnerabilidades • Ex.: em sistemas desatualizados (WannaCry/2017), senhas padrão são mantidas inalteradas (ex.: Mirai/2017) • Propagação rápida (worms): carregam endereços de máquinas vulneráveis desde o lançamento • E atualizam-se rapidamente (e.g., via rede P2P) tempo # in fe cç õ es Malware: estratégias modernas • Características de malwares atuais: • Polimórficos: códigos diferentes • Não existe uma “assinatura” única • Metamórficos: se altera em tempo de execução • Difíceis de detectar e analisar • Porta de entrada: permitem outras infecções • Ex.: instalação de software para mineração de moedas digitais, negação de serviço ou SPAM • Exploração de dia zero: exploram vulnerabilidades recém- descobertas, ainda não inclusas em antivírus • Propagação interrompida apenas após lançamento de patches Contramedidas Malware: contramedidas • Prevenção: solução ideal • Cuidados do usuário • Aplicação de atualizações de sistema e de antivírus • Nem sempre factível: patches vs. estabilidade • Nem sempre suficiente: exploração de dia zero • Abordagem mais realista: • Detecção: da existência e do arquivo infectado • Identificação: para determinar ação do mesmo • Remoção: de todos os traços da infecção • Pode ser preciso substituir completamente arquivo infectado se identificação/remoção não for possível Malware: contramedidas • Scanner na máquina local: antivírus 1. Baseados em assinatura: busca estruturas, padrões ou trechos de código conhecidos 2. Baseados em heurística: buscam fragmentos de códigos comuns em vírus (ex.: cifração local) • Podem armazenar em local seguro o hash de programas a se proteger, detectando modificações nos mesmos 3. Identificam ações: detectam atividade maliciosa • Ex.: acesso à rede (worms), acesso aos locais protegidos, tentativa de remover arquivos ou alterar configurações 4. Técnicas combinadas: estratégias acima, com scan ativo Malware: contramedidas “Decifração Genérica”: • Código executado em emulador de CPU: ambiente controlado • Conceito de “Sandbox” • Código em execução periodicamente verificado por scanner: • Capaz de detectar vírus ao se decifrar • Desvantagem: pode reduzir desempenho • Compromisso entre capacidade de detecção e velocidade de execução Malware: contramedidas • Contra rootkits: difícil • Consegue burlar antivírus: prevenção é essencial • Ferramentas na rede: Firewalls, IDS, … • Tema da próxima semana • Outras ferramentas • Anti-spywares: ferramentas especializadas em malwares que se camuflam • Comumente integrados a antivírus modernos • Proteção de navegação: diversos plugins • NoScript: bloqueio seletivo de scripts (e.g., flash ou javascript) • Plugins de antivírus: analisam páginas, prevenindo acesso àquelas colodas em “lista negra” Malware: contramedidas • Aplicação de correções (patches): • Necessária para evitar ameaças... • ... mas nem sempre fácil de se fazer para sistema em produção • Abordagem recomendada: 1. Criar cópias de backup de sistema (máquinas virtuais) 2. Aplicar correção sobre uma das cópias de backup 3. Testar sistema corrigido com dados simulados: carga de dados equivalente a de sistema em produção 4. Se não houver erros, usar sistema antigo e corrigido em paralelo, usando balanceamento de carga 5. Se não houver erros após um período razoável, desativar sistema antigo (mantendo backup), substituindo-o pelo corrigido SEGURANÇA DA INFORMAÇÃO Softwaremalicioso (malware) e phishing Prof. Dr. Marcos A. Simplicio Jr. Phishing Material complementar Phishing Página com aparência normal, utilizada para roubar dados ou instalar malware • Comumente copiam a aparência da página legítima • Em parte, contam com descuido do usuário, mas técnicas cada vez mais avançadas Exercício: • Dos 5 exemplos a seguir, 1 não é phishing. Você consegue dizer qual? Que comecem os jogos! Exemplo: phishing? (1) Você clicaria em algum desses links? • http://www.util.com/virus_fatal.exe • http://www.util.com/%76%69%72%75%73%5F%66%61%74%61%6 C%2E%65%78%65 http://www.util.com/virus_fatal.exe http://www.util.com/virus_fatal.exe Exemplo: phishing? (2) E nesse link enviado no email? “Detectamos uma atividade suspeita na sua conta: Compra no valor de R$2500,00 na Americanas.com. Acesse http://www.bb.com.br se não reconhecer essa transação e desejar bloqueá-la.” http://www.roubosenhas.com.br/bb Exemplo: phishing? (3) E quanto ao link abaixo? “Você foi sorteado para testar o novo iPhone 171. Para confirmar, acesse sua conta e informe seu Apple ID: https://www.аррӏе.com/” https://www.аррӏе.com/ Exemplo: phishing? (4) E se você receber esse SMS do Google? “Detectamos uma tentativa de acesso a sua conta a partir do IP 95.31.18.11 (Moscou/Rússia). Caso não reconheça esse acesso, bloqueie-o respondendo a esta mensagem com o código de 6 dígitos que lhe será enviado em instantes. Equipe Gmail.” Exemplo: phishing? (5) João convidou você para editar o seguinte documento: Open in Docs Secure https://accounts.google.com/signin Hi, Marcos marcossjr@gmail.com Parece ter algo errado no seguinte cenário? Exemplo: phishing? (1) Você clicaria em algum desses links? • http://www.util.com/virus_fatal.exe • http://www.util.com/%76%69%72%75%73%5F%66%61%74%61%6 C%2E%65%78%65 ➔ O segundo link é idêntico ao primeiro, apenas usa codificação hexadecimal para enganar usuário... http://www.util.com/virus_fatal.exe http://www.util.com/virus_fatal.exe Exemplo: phishing? (2) E nesse link enviado no email? “Detectamos uma atividade suspeita na sua conta: Compra no valor de R$2500,00 na Americanas.com. Acesse http://www.bb.com.br se não reconhecer essa transação e desejar bloqueá-la.” ➔Texto no HTML não corresponde necessariamente ao destino correto ➔Melhor confirmar na barra de destino, normalmente na parte inferior do navegador http://www.roubosenhas.com.br/bb http://www.roubosenhas.com.br/bb Exemplo: phishing? (3) E quanto ao link abaixo? “Você foi sorteado para testar o novo iPhone 171. Para confirmar, acesse sua conta e informe seu Apple ID: https://www.аррӏе.com/” https://www.аррӏе.com/ ➔Suporte a Unicode (desde ~1998) pode enganar mesmo olhos treinados • (2017) Vários navegadores passaram a mostrar endereço na forma de Punycode (ex.: cirílico). • Outros ainda exigem configuração extra. Ex. (Firefox): about.config➔network.IDN_show_punycode=true https://www.xn--80ak6aa92e.com/ Em Unicode: Em Punycode: https://www.аррӏе.com/ Exemplo: phishing? (4) E se você receber esse SMS do Google? “Detectamos uma tentativa de acesso a sua conta a partir do IP 95.31.18.11 (Moscou/Rússia). Caso não reconheça esse acesso, bloqueie-o respondendo a esta mensagem com o código de 6 dígitos que lhe será enviado em instantes. Equipe Gmail.” (2017) Scam explorando o mecanismo de recuperação de senhas do Gmail • Código enviado é o que permite a atacante definir uma nova senha para sua conta. Exemplo: phishing? (5) João convidou você para editar o seguinte documento: Open in Docs Desconfiado? Um pouco mais de detalhes… Secure https://accounts.google.com/signin Hi, Marcos marcossjr@gmail.com Parece ter algo errado no seguinte cenário? Secure https://accounts.google.com/signin/oauth/oauthc Hi, Marcos marcossjr@gmail.com É a página do Google. O certificado é válido São suas informações cadastradas no Google Não parece ser o Google Docs… Exemplo: phishing? (5) Parece ter algo errado no seguinte cenário? Parece ter algo errado no seguinte cenário? Sim, tem. É um caso de phishing explorando o processo de autenticação via Oauth do Google • (2017): mais de 1 milhão de usuários afetados • Acesso ao e-mail do usuário e outras informações pedidas • O “Google Docs” é um aplicativo criado pelo atacante, não o serviço do Google Exemplo: phishing? (5) Phishing • Todos os 5 casos são exemplos de phishing. Sim, eu menti… • Moral da história sobre phishing: sempre desconfie Phishing: contramedidas Não confie em links que foram recebidos. Digite você mesmo o endereço completo. • Obs.: em computadores não compartilhados, histórico de navegação/favoritos podem ser boas opções • Buscadores (e.g., Google) e antivírus (e.g., Avast) costumam alertar quando páginas não são confiáveis • Antes de clicar em links no navegador: • Confirme o destino do link na barra de endereços inferior • Desconfie de endereços compostos por hexadecimais • Cuidado com suporte a unicode, em especial no Firefox • Dica: about.config➔ network.IDN_show_punycode=true SEGURANÇA DA INFORMAÇÃO Software malicioso (malware) Prof. Dr. Marcos A. Simplicio Jr.
Compartilhar