O documento apresenta conceitos de segurança computacional pessoal, abordando três principais ameaças: softwares maliciosos como vírus, cavalos de tróia e vermes; comunicação segura na web através dos protocolos SSL e TLS; e divulgação de informações sensíveis. O objetivo é conceituar as principais ameaças em um ambiente computacional pessoal e formas de proteção.
Dicionário de Genealogia, autor Gilber Rubim Rangel
Segurança pessoal no computador
1. 11a Mostra de Trabalhos de Iniciação
Técnico-Científica IFRS
Segurança Computacional Pessoal
Professor: André Peres
andre.peres@poa.ifrs.edu.br
Instituto Federal do Rio Grande do Sul - IFRS
Porto Alegre
2. Segurança Computacional
● Objetivo da apresentação:
→ conceituar as principais ameaças em um
ambiente computacional pessoal
– Três partes:
→ softwares maliciosos
→ comunicação segura via web
→ divulgação de informações sensíveis
3. Segurança Computacional
● Ameaças de software (programas)
→ vírus, cavalos de tróia, bombas lógicas,
coelhos, ....
● Ameaças de rede
→ captura de tráfego sensível
→ vermes
→ invasão
4. Segurança Computacional
● Ameaças de software (programas)
– O computador realiza ações a partir de programas
– Existem programas “normais”:
● Editor de texto, planilha, calculadora, sistemas, ....
– Existem programas “maliciosos”
● Programados para realizar ações maliciosas
5. Segurança Computacional
● Ameaças de software (programas)
– Se o meu computador não possui programas
maliciosos... não vai realizar estas ações
– Como é possível colocar um programa malicioso
no computador de um usuário?
– Software alterado → alterações do programa original,
incluindo código malicioso
– Vírus → infectando um programa “normal” adicionando código
malicioso e fornecendo este programa ao usuário
– Cavalos de tróia → fazendo com que o usuário instale
programas maliciosos sem perceber
– Via rede → sem interação do usuário
7. Segurança Computacional
● Ameaças de software (programas)
– Software Pirata
● O programa original pode ter sido alterado para realizar
ações maliciosas
● É comum a distribuição “facilitada” de programas
infectados por código malicioso
● O atacante tem uma facilidade na distribuição de seu
código, aproveitando o custo do software original
8. Segurança Computacional
● Ameaças de software (programas)
– Software Livre Alterado(?)
● Mesmo usuários de programas gratuitos devem ter a
preocupação de identificar a origem do software a ser
instalado
● Preferencia sempre para o site/repositório do
desenvolvedor
10. Segurança Computacional
● Ameaças de software (programas)
– Vírus
● Código malicioso que é incluído em um programa
“normal”
● O programa normal é chamado de hospedeiro
● Quando o programa é executado, o vírus é executado
também
Programa
Vírus
11. Segurança Computacional
● Ameaças de software (programas)
– Vírus
● Código malicioso que é incluído em um programa
“normal”
● O programa normal é chamado de hospedeiro
● Quando o programa é executado, o vírus é executado
também
O usuário “vê” apenas
um programa Programa
Vírus
12. Segurança Computacional
● Ameaças de software (programas)
– Vírus
● Código malicioso que é incluído em um programa
“normal”
● O programa normal é chamado de hospedeiro
● Quando o programa é executado, o vírus é executado
também
Programa
O programa serve como
hospedeiro
Vírus
13. Segurança Computacional
● Ameaças de software (programas)
– Vírus
● Código malicioso que é incluído em um programa
“normal”
● O programa normal é chamado de hospedeiro
● Quando o programa é executado, o vírus é executado
também
Programa
O vírus fica “junto”
com o programa
infectado
Vírus
14. Segurança Computacional
● Ameaças de software (programas)
– Vírus
● Código malicioso que é incluído em um programa
“normal”
● O programa normal é chamado de hospedeiro
● Quando o programa é executado, o vírus é executado
também
Ao executar o
programa, o vírus
Programa é executado junto
Vírus
15. Segurança Computacional
● Ameaças de software (programas)
– Vírus
● O usuário não consegue identificar a existência do
vírus
● O vírus pode infectar outros programas (sempre
precisa de um hospedeiro)
● Ao distribuir programas, distribui-se o vírus
16. Segurança Computacional
● Ameaças de software (programas)
– Anti-Vírus
● Os programas de anti-vírus possuem uma forma de
identificar pedaços de código dos vírus
● Eles possuem uma base de dados contendo estes
códigos
● Ao identificar, podem tentar remover o código do vírus,
ou apagar o programa inteiro (hospedeiro + vírus)
● Importante manter a base de dados dos anti-vírus
sempre atualizada
→ um vírus “novo” não é detectado pelos anti-vírus
17. Segurança Computacional
● Ameaças de software (programas)
– Combatendo vírus:
● Sempre possuir um anti-vírus executando e atualizado
● Nunca instalar programas sem confiabilidade de
procedência
● Manutenção do computador em um estado seguro
18. Segurança Computacional
● Ameaças de software (programas)
– Vírus de dispositivos:
● Antigamente: disquetes
● Hoje: pendrives
– O programa malicioso aproveita as mídias móveis para se
propagar
– Existe uma funcionalidade que se chama auto-run
– Um programa que é executado sempre que o pendrive é
inserido no computador
– O código malicioso infecta o computador via pen-drive
– O computador com vírus infecta todos os pen-drives que são
inseridos
● Solução: anti-vírus !!!
20. Segurança Computacional
● Ameaças de software (programas)
– Cavalos de Tróia
● Programa malicioso (não necessita hospedeiro)
● Normalmente enviado por email ao usuário (anexo)
– Usuário “pensa” se tratar de um arquivo normal
– O programa pode ser mascarado com alguma funcionalidade
aparentemente inocente
– Ex:
● Atualização de dados bancários
● Cadastros em SPC, Serasa, etc...
● Vídeos “tentadores”
● Fotos
● Mensagens enviadas por engano
22. Segurança Computacional
● Ameaças de software (programas)
– Cavalos de Tróia Engraçado...
eu NÃO tenho conta
no bradesco....
23. Segurança Computacional
● Ameaças de software (programas)
– Cavalos de Tróia
Ao clicar, o usuário faz
o download do cavalo
de tróia... ao executar,
infecta o computador
24. Segurança Computacional
● Ameaças de software (programas)
– Cavalos de Tróia Alguns browsers
avisam sobre a
possibilidade do ataque
26. Segurança Computacional
● Ameaças de software (programas)
– Cavalos de Tróia
● Por não se tratar de um vírus, nem sempre os anti-
vírus conseguem detectar
● O programa pode:
– Instalar um programa malicioso
– Alterar configurações do computador
– Apagar dados
– ...
27. Segurança Computacional
● Ameaças de software (programas)
– Cavalos de Tróia
● Maiores preocupações
– Instalação de backdoor → programa acessível pelo atacante
via rede (internet)
– Keylogger → grava todas as ações de teclado e mouse e
envia para o atacante (senha de bancos?)
– Alterações de configurações para redirecionamento → ao
tentar acessar o site de um banco, usuário é redirecionado a
um clone do site (arquivo hosts)
29. Segurança Computacional
● Ameaças de software (programas)
– Bombas lógicas e coelhos
● Bomba lógica:
– Programa malicioso, instalado, que possui dia e hora para
realizar ações maliciosas
– Solução: anti-vírus, cuidar anexos, manter computador em
estado seguro
● Coelhos
– Programas que consomem recursos do computador (memória,
disco, processador, etc..)
– Solução: anti-vírus, cuidar anexos, identificar comportamentos
“estranhos” no computador, manter estado seguro
31. Segurança Computacional
● Ameaças de software (programas)
– Vermes (worm)
● Programas maliciosos (não necessita hospedeiro)
● “espalham-se” via rede
● Utilizam vulnerabilidades em servidores e sistemas
operacionais
● Ao infectar um computador, procuram outros alvos via
rede
32. Segurança Computacional
● Ameaças de software (programas)
– Vermes (worm)
Internet
Empresa X
Empresa Y
33. Segurança Computacional
● Ameaças de software (programas)
– Vermes (worm) Usuário instala um programa
sem perceber que é
malicioso
Internet
Empresa X
Empresa Y
34. Segurança Computacional
● Ameaças de software (programas)
Verme descobre outros
– Vermes (worm) computadores e
tenta infectar
Internet
Empresa X
Empresa Y
35. Segurança Computacional
● Ameaças de software (programas)
– Vermes (worm)
Verme continua a se
propagar para computadores
vulneráveis
Internet
Empresa X
Empresa Y
36. Segurança Computacional
● Ameaças de software (programas) Computadores não
vulneráveis não são
– Vermes (worm) infectados!
Internet
Empresa X
Empresa Y
37. Segurança Computacional
● Ameaças de software (programas)
– Vermes (worm)
● Mais comuns em ambientes empresariais
● Distribuídos normalmente via rede ou cavalo de tróia
● Hoje temos uma certa “segurança” de acesso via
internet devido à configuração em casa
● Solução → anti-vírus e atualização de sistema
operacional (service packs)
● Controlar acessos via rede (compartilhamento de
arquivos, etc...)
38. Segurança Computacional
● Ameaças de software (programas)
– Resumo:
● Anti-vírus
● Ter somente programas necessários instalados
● Conhecer as ameaças
● Não utilizar programas sem procedência garantida
● Desconfiar … entender os riscos ....
40. Segurança Computacional
● Ameaças na internet
– Entender a Internet:
● 1957
→ guerra fria/temor de ataques nucleares
→ início da corrida espacial (satélite sputnik)
● 1958
→ criação da DARPA nos EUA (Defense Advanced Research
Projects Agency)
→ objetivos:
● Criação de uma rede de grandes proporções
● Aumentar a velocidade da troca de conhecimento
● Evitar duplicidade de pesquisas
● Nome da rede: ARPANET
41. Segurança Computacional
– Década de 60
● ARPANET (EUA)
→ Objetivo: criação de rede científica/militar
→ União entre universidades
→ Criação do protocolo TCP
● NPL (Inglaterra)
→ Objetivo: criação de rede comercial
→ Criação do conceito de “pacote” (packet switching)
● CYCLADES (França)
→ Objetivo: criação de rede científica
→ União de diversas redes
→ Criação do nome “inter-rede” = Internet
→ Inspirou a criação dos protocolos X25
→ Inspirou a criação dos roteadores para o TCP (TCP/IP)
● União das redes científicas, militar e comercial
→ Internet baseada em TCP/IP
42. Segurança Computacional
● OK... e...?
– Nota-se que o objetivo da internet era:
● Troca de informações entre “amigos”
● Os temores eram de interferências físicas na estrutura
(como uma bomba atômica)
● Basicamente e-mail e troca de arquivos (FTP)
– Não era:
● Considerar atacantes com acesso à rede
● Compras on-line
● Acesso à bancos
43. Segurança Computacional
● Então:
– A base tecnológica da internet não possui
mecanismos para garantia de:
→ confidencialidade de dados
→ integridade de dados
→ autenticidade de usuários/sistemas
– Necessário então criar mecanismos adicionais na
estrutura da internet para aplicações sensíveis
44. Comunicação Segura na web
● O SSL e o TLS:
– Trouxeram a possibilidade de realizar estas
transações de forma mais segura
– Adicionaram confidencialidade de dados em
trânsito entre o cliente web (browser) e o
servidor (webserver)
– São adotados em outros serviços: email, sftp, ssh,
vpn, …
45. Comunicação Segura na web
● Evolução de segurança em páginas web:
● 1991
→ criação do protocolo HTTP
● 1992
→ HTTP/1.0
● 1995
→ primeiro protocolo de segurança para HTTP (S-HTTP)
→ SSLv2
● 1996
→ SSLv3
● 1999
→ TLSv1
● 2006
→ TLSv1.1
● 2008
→ TLSv1.2
46. Comunicação Segura na web
● Confidencialidade dos dados
– Manutenção do acesso às informações apenas
para as pessoas autorizadas
– Dois processos:
● Garantia de autorização (autenticação)
– Senha, biometria, token, ....
● Acesso aos dados
– Não se pode impedir o acesso aos dados em trânsito
– Da mesma forma, ao obter acesso ao local de hospedagem
dos dados, não se pode impedir o acesso
47. Comunicação Segura na web
● Confidencialidade dos dados
– Solução → uso de criptografia de dados
● Armazenados ou em trânsito
● Não impede o acesso, porém torna o dado inteligível
ao atacante
– Criptografia
● Arte ou ciência que trata de técnicas para tornar uma
mensagem confusa, incompreensível para qualquer
pessoa que não seja o destinatário da mesma
48. Comunicação Segura na web
● Criptografia
– Funcionamento
● Cifragem → processo capaz de transformar um texto
claro em um texto cifrado
● Decifragem → processo capaz de transformar um texto
cifrado no texto claro original
– Na computação
● Algoritmos de cifragem e decifragem
● Chave para cifragem e chave para decifragem
● Sobre as chaves
– São o segredo que o atacante não pode possuir
– Com tempo infinito, toda chave pode ser descoberta
50. Comunicação Segura na web
● Criptografia
– Identificando uma comunicação com criptografia:
O nome do site deve
começar com HTTPS
51. Comunicação Segura na web
● Criptografia
– Identificando uma comunicação com criptografia:
Um cadeado indica a
conexão segura
52. Comunicação Segura na web
● Ataque em criptografia de chave mista
– Man-in-the-middle
● A criação de chaves pública/privada é um processo
simples
● Qualquer pessoa pode criar um par de chaves com
qualquer identificação
● Um atacante pode gerar um par de chaves com o
nome da instituição/empresa alvo
● Quando o cliente requisita a chave, o atacante envia a
chave falsa
53. Comunicação Segura na web
● Ataque em criptografia de chave mista
– Man-in-the-middle
● Após criar o canal com o cliente, o atacante cria um
canal com o servidor
● O atacante intercepta e decifra toda a comunicação
entre cliente e servidor permanecendo no “meio do
caminho”
54. Comunicação Segura na web
● Ataque em criptografia de chave mista
– Man-in-the-middle
● O cliente recebe as respostas DO BANCO
● Pode efetuar todas as transações normalmente
– Quais os problemas?
● O cliente não verifica a autenticidade da chave do
banco
● O banco não verifica a autenticidade do cliente
55. Comunicação Segura na web
● Tipos de algoritmos criptográficos:
– Infra-estrutura de chaves públicas
● É necessário validar se uma chave pública é autêntica
● Para isso, cria-se uma entidade confiável
– Autoridade certificadora (CA)
● A CA assina as chaves públicas que reconhece,
criando um certificado de autenticidade
● Ao receber este certificado, assume-se que seja
autêntico
● A CA é a entidade que “todos” confiam
56. Comunicação Segura na web
● Tipos de algoritmos criptográficos:
– Infra-estrutura de chaves públicas
● O browser possui um conjunto de chaves públicas de
entidades confiáveis (CAs)
● As instituições submetem suas chaves públicas a uma
destas entidades para geração de um certificado
→ chave pública ASSINADA
● Sempre que recebe uma chave pública, verifica se foi
assinada por uma CA
57. Comunicação Segura na web
● Infra-estrutura de chaves públicas
– Autoridades certificadoras
CAs cadastradas
no browser
58. Comunicação Segura na web
● Infra-estrutura de chaves públicas
– Certificado de uma CA
Certificado da CA Visa
59. Comunicação Segura na web
● Infra-estrutura de chaves públicas
– Certificado de um servidor
CAs responsável pela
emissão do certificado
do Banco do Brasil
60. Comunicação Segura na web
● Infra-estrutura de chaves públicas
– Certificado de um servidor
Applet assinado do
Banco do Brasil
61. Comunicação Segura na web
● Infra-estrutura de chaves públicas
– Certificado de um servidor
O browser diz que a
assinatura é confiável...
quem assinou o applet???
62. Comunicação Segura na web
● Infra-estrutura de chaves públicas
– Certificado de um servidor
CAs que emitiu o certificado
do applet do BB
(verisign)
63. Comunicação Segura na web
● Man-in-the-middle e CAs
– A emissão de certificados por CAs é paga
● Um certificado verisign:
– Válido por 1 ano
– Aprox. US$ 1500,00
– Nem todas as instituições tem interesse neste
custo
– Sem certificado, não tem como o browser
identificar a validade da chave pública
→ Vai emitir aviso ao usuário
65. Comunicação Segura na web
● Man-in-the-middle e CAs
– O usuário deve decidir se aceita ou não a conexão
– Para evitar este tipo de aviso, pode-se instalar o
certificado não assinado no browser
manualmente
– … se o atacante possuir acesso à máquina alvo
poderá instalar certificados falsos também...
– Obs: a CA brasileira (ICP Brasil) não está
instalada nos browsers (ex: caixa federal)
66. Comunicação Segura na web
● Então:
→ nunca use máquinas nas quais não confia !!!!
→ leia as mensagens de erro... se não entender...
busque mais informações !!!!
→ estamos usando uma tecnologia “nova”...
● não é um forno de microondas, não é uma t.v....
● envolve aspectos sensíveis da nossa vida (bolso)
● é necessário cuidado e estudo
● o pior inimigo é a “sensação de segurança” !
68. Informações Sensíveis
● Uso da internet para divulgação de
informações
– Comunidades, MSN, blogs, páginas, ....
– O que um atacante pode fazer com minhas
informações?
70. Informações Sensíveis
● Que tipo de informação posso publicar
– Tudo o que você diria a um estranho na rua
● Ex:
→ “Você sabia que eu tenho um carro X?”
→ “Você sabia que eu vou viajar neste final de
semana?”
→ “Você sabia que eu tenho um cachorro?”
→ “Você sabia que ....”
71. Informações Sensíveis
– Identifique as formas de controlar a exposição
das informações pessoais
– O que não for essencial... não divulgue
– Se for divulgar... entenda os riscos
– Este tipo de exposição nunca ocorreu antes da
internet !!!!
72. Informações Sensíveis
● Concluindo:
– Não é possível evitar o uso dos computadores
– Não é possível ficarmos sem internet
– Então... temos que entender um pouco mais a
tecnologia que estamos lidando
– Apliquem os mesmos conceitos de segurança da
vida “real” na vida “virtual”
73. Informações Sensíveis
● Concluindo:
– Não fique com medo! ;-)
– Se você não entendeu todos os detalhes técnicos
que foram ditos, tudo bem... pelo menos agora
você sabe um pouco mais do que antes...