seg audit fasul 8

Transcrição

seg audit fasul 8
Segurança e Auditoria de
Sistemas
Jéfer Benedett Dörr
[email protected]
Conteúdo
●
●
Noticias
Dicas segurança Redes Sociais
Segurança Digital
Um exemplo básico do que temos que ter em mente quando se trata deste
assunto é o seguinte: hipoteticamente, suponhamos que temos uma casa e
que queremos protegê-la de intrusos, a criptografia poderia ser relacionada
metaforicamente a cadeados, trancas e mecanismos fortes na porta para que
crie a suposta segurança perfeita. Porém, mesmo com todos estes
mecanismos, não adiantaria nada se o terreno não for bem analisado e
deixássemos uma janela aberta no fundo da casa.
Existe um dilema nessa área de segurança da informação, onde
podemos tratar como a versão digital da segunda lei da
termodinâmica, expressa pela equação de Nemeth:
Segurança = 1 / Conveniência
Segurança Digital
Quanto maior a comodidade para o usuário, menor a segurança e viceversa. Então, a sabedoria para equilibrar os dois lados dessa equação
(segurança x conveniência)
Segurança Digital
A palavra "segurança"em português do Brasil possui dois sentidos básicos
na língua inglesa:
Safety e Security
• Safety está relacionado a controle e proteção contra acidentes (Leis de
Murphy).
• Security está ligado a controle e proteção contra ataques (Leis de natureza
humana – H.M.D)
*H.M.D - Hipótese Metafísica de Descartes Descartes era um filósofo
famoso que acreditava a hipótese da existência de um gênio maligno, que
poderia enganar as pessoas acerca até mesmo de coisas que lhe parecerem
evidentes.
Sendo assim, a idéia seria de que poderiam existir pessoas com gênio
maligno para enganare ludibriar os mais diversos sistemas de informação,
sem que as pessoas percebessem.
Segurança Digital
A seguir, estudaremos tendo em mente a idéia de "security"ao invés de
"safety".
Desafios básicos para a proteção:
Desafio 1 - Padronizar mecanismos e protocolos
Cada localidade é relacionado ao alvo de proteção de cada ambiente.
Podemos citar:
• Instituições Financeiras: Transações Eletrônicas
• Grandes Corporações: Gerência e Comércio Eletrônico
• Telecomunicações: Provimento de Serviços
• Comunidades: Internet e Redes Locais
• Governo: Administração, Militar e Espionagem
Segurança Digital
Desafio 2 - Normas do ambiente
Segurança do tipo:
• Alta e Restrita: Governos e Organizações Militares
• Sensível: Comércio, Indústria e Comunidades
• Virtual Interna: Sistemas Operacionais e Bancos de Dados
• Virtual Externa: Redes de Computadores e Telecomunicações
Segurança Digital
Basicamente podemos citar quatro tipos de demandas básicas para qualquer
mecanismo de
proteção. A tabela a seguir está listada o tipo de mecanismo de proteção, a
ameaça básica para
este tipo de proteção e qual a má fé que poderia acontecer para o sistema.
Segurança Digital
Privacidade ou Sigilo:
algumas vezes queremos proteger algum documento
confidencial no qual o remetente e o destinatário são os únicos
que serão permitidos a visualização deste mesmodocumento. A
ameaça neste tipo de proteção seria um vazamento do
documento(senha dobanco) ou desvalorização (número de um
sorteio) e a quebra do sistema protegido se dá pormeio da leitura
dos dados confidenciais.
Segurança Digital
Integridade:
o envio de alguma informação pelos meios de comunicação,
exige que a mesma chegue ao destinatário contendo o mesmo
valor do remetente. Durante a transmissão, alguns fatos como
fraude, adulteração ou perda dos dados poderiam ocorrer e a
ação direta relacionada a estes fatos, seria a escrita sobre as
informações.
Segurança Digital
Legitimidade:
como poderíamos, pelos meios de comunicação virtual, saber se
alguma informação enviada seria realmente de quem pensamos
ser? A ameaça principal seria alguém se apossar de seus dados e
agir de má fé se identificando como o possuidor verdadeiro da
informação. Logo, existe uma relação direta entre a
personificação e uma posterior execução de ações(ex.: compra
virtual por número de cartão de crédito).
Segurança Digital
Disponibilidade:
para algumas empresas, é muito importante a disponibilidade de
seus serviços pois qualquer queda no sistema acarretará em
prejuízos. Uma ameaça a estes serviços seria o bloqueio indevido
destes serviços muita vezes pela não execução correta do
sistema.
Segurança Digital
Principais Componentes de um Processo de Proteção
Política de Segurança de Dados
1. Planejamento - Avaliar e analisar os riscos e custos.
2. Especificação para implementar serviços e salvaguardas.
3.
Atribuição
documentada
responsabilidades.
de
autorização
e
Segurança Digital
políticas de Segurança de Dados será mostrado:
• Quais recursos e ativos em bits devem ser protegidos?
• De quem (securityu) e de que(safety) se quer protegê-los?
• Qual a chance/probabilidade de acidentes, ameaças e
trapaças?
• Como medir o valor dos ativos em bits e recursos?
• Quais ações podem protegê-los com custo/benefício
aceitável?
• Que planos de contigência, reavaliação, terceirização, etc.
decorrem?
Segurança Digital
Podemos citar algumas salvaguardas nãocomputacionais
abaixo:
• Segurança física - controle de acesso físico, blindagem, etc...
• Segurança funcional - recrutamento, treinamento,
motivação.
• Segurança administrativa - auditoria, fiscalização,
contigência.
• Segurança na mídia - backup, destruição de material, etc...
• Radiação ou Engenharia Reversa - blindagem no
encapsulamento.
• Controles de ciclos - reavaliação da política de segurança.
Segurança Digital
Controle e Auditoria
• Monitoramento - gerenciadores (rede, backup) logs, IDS,
etc...
• Rastreamento - vacinas, firewalls, wrappers, proxies, etc...
•Avaliação - análise estatística, relatórios, revisão de políticas
de estratégias,etc...
Segurança Digital
Serviços Básicos de Segurança Computacional
• Controle de Acesso - Identificação e Autorização para
legitimidade
Segurança Digital
Serviços Básicos de Segurança Computacional
Cifragem - Codificação para Sigilo
Segurança Digital
Serviços Básicos de Segurança Computacional
Autenticação - Validação de Origem ou Integridade
Certificação - Autenticação Recursiva com Verificação
Aberta para integridade
Segurança Digital
Tipos de Ataques Computacionais
Ataques primários por penetração
• Personificação: o atacante invade pelo perímetro de login,
onde o sistema considera o
invasor como alguém cadastrado no sistema.
• Desvio de Controle: exploração de falhas de segurança
permitem que o controle dele seja
desviado para outras pessoas.
• Violação de Autoridade: uso indevido de privilégios devido
a falhas no sistema.
Segurança Digital
Tipos de Ataques Computacionais
Ataques primários por implantação
• Gancho(backdoor): uso de recurso não documentado.
• Infecção: exploit, virus, vermes.
• Embuste: programa trojan, spoofing(falsificação do
remetente).
Segurança Digital
Segurança Digital
Tipos de Ataques Computacionais
Ataques primários por implantação
• Gancho(backdoor): uso de recurso não documentado.
• Infecção: exploit, virus, vermes.
• Embuste: programa trojan, spoofing(falsificação do
remetente).
A Arte de Esconder
Histio precisava contactar seu superior secretamente, o tirano
Aristágoras de Mileto.
Para isso, chamou um escravo a quem confiava, raspou sua cabeça,
desenhou uma mensagem e o mandou ao encontro de Aristágoras.
Durante a longa viagem os cabelos do escravo cresciam permitindo
que a mensagem estivesse devidamente escondida.
Essa história remonta ao século V a.c. onde o escravo recebera a instrução
de raspar novamente sua cabeça perante Aristágoras para que este pudesse
ler a mensagem secreta.
Talvez seja o primeiro uso conhecido da técnica de esteganografia.
Esteganografia
Esteganografia é o estudo e uso de técnicas para ocultar a existência
de uma mensagem dentro de outra.
Ao contrário da criptografia, que procura esconder a informação da
mensagem, a esteganografia procura esconder a existência da
mensagem.
esteganografia
Esteganografia
A palavra esteganografia é derivado do grego palavras "steganos" e
"graphein", que significa "coberto" e "por escrito". Esteganografia,
portanto, é coberto por escrito.
Stenganography históricos envolvidos técnicas como a tinta desaparecer ou
microdots. Esteganografia moderna envolve escondendo dados em arquivos
do computador.
Os nazistas já a usavam, para enviar mensagens espremidas no espaço de
uma cabeça de alfinete.
Dizem que a Fujitsu tem uma tecnologia que coloca um número de série em
cada página impressa por seus equipamentos: uma marca d'água digital.
Esteganografia.
Esteganografia
DIA À DIA
A esteganografia está presente em nossas vidas mais do que possamos
imaginar.
Pegue qualquer cédula monetária em sua carteira ou mesmo um documento
de identificação e poderá verificar que existem inúmeras mensagens
escondidas.
Muitas destas mensagens só poderão ser vistas a olho nu com auxílio de
equipamentos, lentes, reagentes químicos, ou fotorreagentes.
Esteganografia
DIA À DIA
A esteganografia está presente em nossas vidas mais do que possamos
imaginar.
Pegue qualquer cédula monetária em sua carteira ou mesmo um documento
de identificação e poderá verificar que existem inúmeras mensagens
escondidas.
Muitas destas mensagens só poderão ser vistas a olho nu com auxílio de
equipamentos, lentes, reagentes químicos, ou fotorreagentes.
Esteganografia
Com o crescimento do terrorismo no mundo, especialistas acreditam
que muitas mensagens trafegadas pela web podem esconder
informações com planos de atentados e outras mensagens de cunho
criminoso.
A esteganografia pode ser usada também em textos, áudio, vídeo e até em
pacotes TCP/IP. Softwares de detecção de mensagens ocultas incluem o
Stegdetect e o Stego Watch da WetStone Technologies.
Esteganografia
Para iniciar uma perícia, temos que inicialmente separar as que acho
necessárias para isso.
F
erramenta de busca de evidências - neste caso utilizaremos o EnCase
Forensic, da Guidance software, mas poderíamos utilizar o FTK 2.0, da
Access Data, e logo mais utilizaremos para verificação esteganográfica o
StegoSuite, da Wetstone. Mais à frente será apresentada uma ferramenta
para LTU ImageSeeker, utilizada para a busca e comparação, via Hash, de
imagens, muito utilizada na prevenção contra crimes de pedofilia na
internet.
Esteganografia
Encase Forensic v6 - Perícia de mídias digitais
O Encase é a ferramenta padrão no mercado mundial de computação
forense. Com seu altíssimo poder de análise, uma excelente interface
gráfica e poderosa engenharia de processamento de scripts de código
aberto, o investigador tem a seu alcance uma ferramenta para conduzir as
mais complexas investigações do começo ao fim. Suporta discos
formatados por múltiplas plataformas - Windows, Linux, AIX, OS X,
Solaris e outras com "file systems" FAT12/16/32, NTFS, EXT2/3 (Linux),
Reiser (Linux), UFS (Sun Solaris), AIX Journaling File System (JFS and
jfs) LVM8, FFS (OpenBSD, NetBSD e FreeBSD), Palm, HFS, HFS+
(Macintosh), CDFS, ISO 9660, UDF, DVD, TiVo® 1 e TiVo 2.
Esteganografia
Ultimate Toolkit - UTK
Ultimate Toolkit contém várias ferramentas necessárias para investigação e
perícia de computadores e outras evidências digitais. Dentre as principais
destacamos: Forensic Toolkit, Registry Viewer, Password Recovery Toolkit
e DNA.
Stego Suite(TM) ImageSeeker
Stego Watch(TM) - Detecção de Esteganografia em imagens ou arquivos de
audio diretamente no arquivo de sistema, em HD´s capturados ou pela
internet.
Stego Analyst(TM) - Análise detalhada para afunilamento da busca em
arquivos altamente supeitos.
Stego Break(TM) - Ataques de dicionário e força bruta contra algoritmos
conhecidos de esteganografia.
Esteganografia
LTU - Image Seeker for Encase
O processamento de imagens integrado aos sistemas de investigação mais
avançados do mundo. O resultado dessa combinação é o enorme aumento
de produtividade e expansão dos limites humanos quando o processamento
de grandes quantidades de imagens é necessário.
Esteganografia
Com o crescimento do terrorismo no mundo, especialistas acreditam
que muitas mensagens trafegadas pela web podem esconder
informações com planos de atentados e outras mensagens de cunho
criminoso.
A esteganografia pode ser usada também em textos, áudio, vídeo e até em
pacotes TCP/IP. Softwares de detecção de mensagens ocultas incluem o
Stegdetect e o Stego Watch da WetStone Technologies.
CRIPTOGRAFIA
Criptografia é uma especialização da matemática e engenharia que oferece
técnicas de proteção a mecanismos de acesso e a integridade de dados, e
também de ferramentas para avaliação da eficácia dessas técnicas.
conceitos,
técnicas e
procedimentos
integrados em sistemas de informação que queiram ser protegidos.
CRIPTOGRAFIA
mensagem cifrada é o resultado de uma aplicaçãode um algoritmo (regra de
embaralhamento), associado a uma chave específica (que podem ser
de igual e de fácil dedução ou diferentes, para o remente e destinatário)
Na prática, qualquer mensagem cifrada é o resultado da aplicação de um
SISTEMA GERAL (ou algoritmo), que é invariável, associado a uma
CHAVE ESPECÍFICA, que pode ser variável.
É óbvio que tanto o remetente quanto o destinatário precisam conhecer o
sistema e a chave.
CRIPTOGRAFIA
Fundamentos
Remetente/Destinatário
Suponha que uma pessoa queira enviar uma mensagem especial a um
destino, mas queira
que a mensagem seja segura.Ela quer que ninguém possa "bisbilhotar"o
conteúdo da mensagem.
Texto Pleno/Mensagem Cifrada
As palavras, caracteres ou bits da mensagem original constituem o Texto
Pleno ou Mensagem Clara. Vamos denotar esse componente como (M). As
palavras ou letras da mensagem cifrada são chamadas de Texto Cifrado,
Mensagem Cifrada ou Criptograma (C).
CRIPTOGRAFIA
Podemos formalizar uma fórmula matemática para a função de
composição de cifra, que serádenotada como E, ela utiliza o texto pleno
M para produzir a cifra C:
E(M) = C
O processo contrário seria uma função decifração D na qual irá utilizar
a cifra C com argumento de entrada e produzirá de volta o texto pleno
M:
D(C) = M
Logo, podemos verificar como verdadeiro a função abaixo:
D(E(M)) = M
A qual seria a formalização matemática de todo o processo de
composição de cifra e decifração.
CRIPTOGRAFIA
outros serviços que necessitam de criptografia são:
• Autenticação: Deve ser possível o receptor da mensagem saber que o
remetente é quem ele mesmo diz ser.
• Integridade: O receptor da mensagem deve confiar que a mensagem
não foi adulterada no meio do meio do caminho.
• Não Repúdio: Quem enviou a mensagem não deve poder negar que a
mensagem enviada
por ele não foi dele.
CRIPTOGRAFIA
podemos dizer que qualquer mensagem cifrada é o resultado de uma
aplicaçãode um algoritmo (regra de embaralhamento), associado a
uma chave específica (que podem serde igual e de fácil dedução ou
diferentes, para o remetente e destinatário).
CRIPTOGRAFIA
Chaves Simétricas e Assimétricas
Chaves Simétricas
Quando as chaves para a cifragem e decifragem das informações são
iguais ou de fácil dedução, podemos colocá-las na categoria de "Chaves
Simétricas". Isso requer que o remetente/destinatário concordem com
uma chave comum para poderem se comunicar de modo seguro. Logo,
podemos concluir que a segurança de um sistema baseado em
algoritmo simétrico,está baseado na chave. Se a chave for divulgada,
qualquer pessoa poderá ler a mensagem cifrada. Para manter as
informações secretas, a chave deve se manter secreta.
CRIPTOGRAFIA
Chaves Assimétricas
Chaves Assimétricas foram criadas com a idéia de que a chave
usada para cifragem deve ser diferente da usada para decifragem.
Além disso, pela chave de decifragem, não teria como conseguir achar
a chave de cifragem (Pelo menos em um tempo bemlongo. Isso será
explicado melhor adiante).
O sistema baseado em Chave Assimétrica é chamado de Algoritmos de
Chave Pública, pois a chave de cifragem pode ser deixada em público e
somente o possuidor da chave de decifragem poderá ler o conteúdo da
mensagem. A chave de cifragem é geralmente chamado de ChavePública e a chave de decifragem de Chave-Privada
CRIPTOGRAFIA
Tipos de Cifras
A criptografia em tempos remotos, antes do surgimento
decomputadores, utilizava apenascaracteres.
Diferentes algoritmos utilizavam técnicas de substituição de um
carácter a outro, e/ouentão, faziam a transposição de um carácter com
outro. Literalmente era uma sopa de letrinhas misturadas.
CRIPTOGRAFIA
Tipos de Cifras
Cifras de Substituição
abordagem principal dessas cifras é a substituição de cada carácter do
texto pleno por outroda cifra. Para voltar ao texto original, o receptor
inverte a substituição do carácter na cifra para o texto pleno
Cifras Monoalfabéticas - é conhecida também como substituição
simples, substitui-se cadaum dos caracteres do texto original por outro,
de acordo com uma pré-estabelecida, para se obter o texto cifrado
Alfabeto normal: abcdefghijklmnopqrstuvwxyz
Alfabeto para a cifragem: PORTUGALBCDEFHIJKMNQSVWXYZ
Assim, a mensagem
Fujam todos depressa! Fomos descobertos!
é cifrada para
GSCPF QITIN TUJMUNNP! GIFIN TUNRIOUMQIN!
CRIPTOGRAFIA
Tipos de Cifras
Cifras de Substituição
abordagem principal dessas cifras é a substituição de cada carácter do
texto pleno por outroda cifra. Para voltar ao texto original, o receptor
inverte a substituição do carácter na cifra para o texto pleno
Cifras Monoalfabéticas - é conhecida também como substituição
simples, substitui-se cadaum dos caracteres do texto original por outro,
de acordo com uma pré-estabelecida, para se obter o texto cifrado
Alfabeto normal: abcdefghijklmnopqrstuvwxyz
Alfabeto para a cifragem: PORTUGALBCDEFHIJKMNQSVWXYZ
Assim, a mensagem
Fujam todos depressa! Fomos descobertos!
é cifrada para
GSCPF QITIN TUJMUNNP! GIFIN TUNRIOUMQIN!
CRIPTOGRAFIA
Tipos de Cifras
Cifras de Substituição
Um exemplo famoso deste tipo de cifra é a Cifra de Caesar, na qual
cada texto original é substituído por outro carácter na direita modulo
26 ("A"é substituído por "D", "B"é substituído por "E",... , "X"é
substituído por "A- o modulo 26 significa que se chegar na letra de
posição 26, retornar para o começo do alfabeto).
CRIPTOGRAFIA
Tipos de Cifras
Cifras Homofônicas tem o funcionamento semelhante ao anterior,
exceto a parte na qual cada carácter do texto original pode ser
mapeado em vários caracteres da cifra.
Exemplo,
"X"poderia corresponder a 20, 25 e 55. "Y"poderia corresponder a
9,13, 30 e 45, etc...
Alfabeto normal: a b c d e f g h i j k l m n o p q r s t u v w x y z
Alfabeto para a cifragem:
8FHG3l1LEIwoMX6QPbV9aZSDjr
z-kmxnBu0--OAv5p-Ryf4g---K-sNq---J--ac-2--TeYh----7---t---------W--C-------i-------------d-----------
CRIPTOGRAFIA
Tipos de Cifras
Cada letra do alfabeto normal é substituída por uma das que lhe
correspondem:
Assim, a Mensagem:
Fujam todos depressa! Fomos descobertos!
poderia, por exemplo, ser cifrada para:
l4IiA 9WNdy GqpCxyVz! n2M5V GxeHdF3Rf2e!
que tomaria, em blocos de cinco letras, o aspecto algo incompreensível
de:
l4IiA 9WNdy GqpCx yVzn2 M5VGx eHdF3 Rf2e
CRIPTOGRAFIA
Tipos de Cifras
Cifras de substituição de poligramas - nesse caso, os blocos de
caracteres são cifrados em grupo. Por exemplo, "KXK"pode
corresponder a "LOP", "KYK"pode corresponder a "LPL", etc.
Cifras de substituição polialfabética - composto de múltiplas
substituições simples ao longo do texto e também múltiplos alfabetos
são usados. A idéia é substituir cada letra do alfabeto por outro e
repetir este procedimento várias vezes.
CRIPTOGRAFIA
Tipos de Cifras
Por exemplo, supondo que se quer encriptar o texto:
ATACARBASESUL ("atacar base Sul")
Escolhendo a chave e repetindo-a até ter o comprimento do texto a
cifrar, por exemplo, se a chave for"LIMAO":
LIMAOLIMAOLIM
A primeira letra do texto, A, é cifrada usando o alfabeto na linha L
CRIPTOGRAFIA
Tipos de Cifras
Cifras de Transposição
O funcionamento deste tipo de cifra faz com que os caracteres do texto
original sejam misturados, mas que os caracteres mantém os mesmos.
Em mensagens curtas, como no caso de uma única palavra, este método
não é seguro porque existem poucas maneiras de variar a distribuição
das letras. Por exemplo, uma palavra de três letras só pode assumir 6
formas diferentes (fatorial de 3 é 6, ou 3!=6). Desta forma, a palavra
SOL só pode adquirir as seguintes formas: sol, slo, osl, ols, lso e los.
CRIPTOGRAFIA
Tipos de Cifras
Cifras de Transposição
Uma transposição aleatória parece oferecer um alto nível de segurança,
mas há um inconveniente.
Os sistemas de transposição, usados isoladamente, possuem um grau de
segurança muito baixo, mas podem ser muito úteis quando utilizados
em combinação com outros sistemas (a chamada sobrecifragem ou
recifragem)
CRIPTOGRAFIA
Tipos de Cifras
Cifras de Transposição
Exemplos: Cifra das colunas, o texto a cifrar é escrito por colunas, com
passagem para a coluna seguinte sempre que se atingir o número
máximo de linhas. A mensagem é então escrita ou transmitida por
linhas. Por exemplo, se houver 3 "linhas"a mensagem FUJAM
TODOS. FOMOS DESCOBERTOS é escrita numa grelha como:
FAOSMDCEOP
UMDFOEORSD
JTOOSSBTXQ
As letras no final servem para confundir o criptanalista ou obter um
número já fixado de caracteres na mensagem. Esta fica assim:
FAOSM DCEOP UMDFO EORSD JTOOS SBTXQ
CRIPTOGRAFIA
Tipos de Cifras
Cifras de Transposição
Transposição de Colunas: consiste na escrita de uma chave como
cabeçalho da grelha, seguida da mensagem escrita por linhas - sendo a
última eventualmente completa por caracteres sem significado. Depois,
a mensagem é escrita (ou transmitida) por colunas, por ordem alfabética das letras no cabeçalho. Por exemplo, se a chave for ZEBRAS, e a
mensagem for VAMOS EMBORA, FOMOS DESCOBERTOS,
começa-se por obter a grelha:
ZEBRAS
CRIPTOGRAFIA
Tipos de Cifras
Cifras de Transposição
Seedutiuitqãethasonasogecanaeprtorasap
Ler-se-ia como:
SADEE MOOOS ABMCO ORSBJ EFERU VMOST
Para a decifrar, o destinatário tem apenas que dividir o comprimento
da mensagem (30) pelo da chave (6), e ler as colunas pela ordem das
letras da chave.
Apesar de muitos sistemas utilizarem transposição, o grande problema
desta técnica é o usobastante da memória e as vezes necessitam de que
as mensagens sejam de um tamanho fixo.
PROTOCOLO
Protocolo não arbitrado (executado sempre):
1. Fred e Ana negociam os termos de contrato.
2. Ana assina o contrato.
3. Fred assina o contrato.
Protocolo ajuizável (executado apenas em caso
de disputa):
1. Fred e Ana aparecem antes do juiz.
2. Fred apresenta seus termos.
3. Ana apresenta seus termos.
4. O juiz determina as regras em cima dos termos.
Estrutura Básica de Protocolos
Criptográficos
Protocolo para Sigilo na Comunicação em Rede
Algoritmo DES
DES - Data Encryption Standard
É um algoritmo de encriptação muito utilizado em criptografia.
Foi criado por J.Orlin Grade e éum dos algoritmos mais
utilizados no mundo.
É um algoritmo rápido mas pouco seguro e existem variantes
desse algoritmo como o NewDES e o 3DES.
Algoritmo DES
Com o poder computacional atual, este algoritmo já não é mais
considerado seguro, pois é
vulnerável a ataques de força bruta.
Eff DES Cracker Levou 3 dias para quebrar o algoritimo DES
Challenge II
em Janeiro de 1999 quebrou o DES Challenge III em 22 horas
usando milhares de computadores espalhados pelo
mundo.
Em 19 de maio de 2005, foi desaprovado seu uso pelo Governo
Americano.
Algoritmo DES
Por exemplo,
se tomarmos a mensagem clara "8787878787878787"e a
encriptarmos com a chave DES "0E329232EA6D0D73",
obteremos o texto cifrado "0000000000000000".
Se o texto cifrado for decifrado com a mesma chave secreta DES
"0E329232EA6D0D73",
o resultado é o
texto claro original "8787878787878787"
Algoritmo DES
Por exemplo, considere a seguinte mensagem: "Criptologia sempre
Numa Boa". Esta mensagem clara possui 28 bytes (56 dígitos hexadecimais) de
comprimento. Neste caso, para encriptar
a mensagem, seu comprimento precisa ser ajustado com a adição
de alguns bytes extras no final.
Depois de decifrar a mensagem, estes bytes extras são
descartados. É lógico que existem vários
esquemas diferentes para adicionar bytes. Aqui nós iremos
adicionar apenas zeros no final de
modo que a mensagem total seja um múltiplo de 8 bytes (ou 16
dígitos hexadecimais, ou 64 bits).
Algoritmo DES
O texto claro "Criptologia sempre Numa Boa"é, em hexadecimal,
43 72 69 70 74 6F 6C 6F
67 69 61 20 73 65 6D 70
72 65 20 4E 75 6D 61 42
6F 61 0D 0A
Se cifrarmos agora a mensagem clara em blocos de 64 bits (16
dígitos hexadecimais), usando
a mesma chave DES "0E329232EA6D0D73", obtemos o seguinte
texto cifrado:
9B 79 70 61 C1 12 1E C6
28 A2 65 05 91 17 7D 36
51 FB 97 E9 00 78 7D B4
79 F2 A0 29 CE 58 D6 F4
Algoritmo RSA
RSA - Ron Rivest, Adi Shamir e Len Adleman
Até 2005 este foi o algoritmo mais sucedido na implementação de
sistemas de chaves assimétricas e está baseado todo na área
de estudo da matemática chamada de Teoria Clássica dos
Números.
Ela é considerada um dos mais seguros com os inúmeros testes já
feitos.
RSA baseia-se em dois fatos: encontrar números primos de
grandes dimensões (p.e. 100 dígitos) ser computacionalmente fácil
mas, conseguir fatorar o produto de tais dois números é
considerado computacionalmente quase impossível (o tempo
estimado para o conseguir é na casa dos milhares de anos)
SSH sem senha através de chave
pública/privada
Você pode acessar outras máquinas via SSH sem senha utilizando
chaves pública/privada. Na máquina de onde partirá o acesso execute
o comando abaixo para criar as chaves, lembre-se de deixa o
passphrase em branco, esse é o segredo.
$ ssh-keygen -b 1024 -t rsa
Onde -b indica o tamanho em bits e -t o tipo da chave. A chave
por padrão é armazenada em ~/.ssh com os nomes id_rsa para
chave privada e id_rsa.pub para chave pública. Copie a chave
pública para o servidor que você deseja conectar-se, depois
adicione o seu conteúdo no arquivo authorized_keys em ~/.ssh.
$ scp ~/.ssh/id_rsa.pub USER@SERVIDOR:id_rsa.pub
$ ssh SERVIDOR
$ cat id_rsa.pub >> .ssh/authorized_keys
Instalando o gnuPG e gerando
seu par de chaves
$ sudo apt-get install gnupg
Após instalar o gnupg, execute o comando gpg para criar o diretório
~/.gnupg, que armazenará as chaves pública e privada.
$ gpg
4. Gerando suas chaves gnupg
Mas antes, algumas informações devem ser levadas em consideração:
4.1. A chave criptográfica - Selecione DSA e ELGamal (default), a não
ser que tenha necessidades específicas.
4.2. O tamanho da chave - 1024 bits traz uma boa combinação de
proteção/velocidade, mas você pode ter também uma chave de 2048 bits.
4.3. A validade da chave - 0 a chave não expira. Um número positivo tem
o valor de dias, que pode ser seguido das letras w (semanas), m (meses)
ou y (anos). A minha por exemplo, é valida por "5y".
** Após o prazo definido, a chave será considerada inválida.
Instalando o gnuPG e gerando
seu par de chaves
4.4. O nome de usuário - Nome para identificar a chave
4.5. O e-mail - E-mail do dono da chave
4.6. O comentário - Uma descrição sobre a chave do usuário.
4.7. A confirmação - Tecle "O" para confirmar os dados ou uma das
outras letras para modificar os dados de sua chave.
4.8. A "Frase Senha" - Senha que irá identificá-lo(a) como proprietário
da chave privada. É chamada de "Frase Senha" pois pode conter
espaços e não há limite de caracteres. Para alterá-la posteriormente.
4.9. E a confirmação, aguarde a geração da chave pública/privada.
Vamos então ver como isso funciona na
prática
$ gpg --gen-key
Please select what kind of key you want:
(1) DSA and ElGamal (default)
(2) DSA (sign only)
(4) ElGamal (sign and encrypt)
Your selection? 1 <enter>
5. Selecione o tamanho de sua chave: 2048 ( sugestão)
DSA keypair will have 1024 bits.
About to generate a new ELG-E keypair.
minimum keysize is 768 bits
default keysize is 1024 bits
highest suggested keysize is 2048 bits
Vamos então ver como isso funciona na
prática
What keysize do you want? (1024) 2048 <enter>
Do you really need such a large keysize? yes <enter>
5a. Configure a validade de sua chave: 5 anos é um bom tempo.
Requested keysize is 2048 bits
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0) 5y <enter>
Key expires at Sat Dec 03 16:17:15 2010 EDT
Is this correct (y/n)? y <enter>
Vamos então ver como isso funciona na
prática
5b. Entre com seu endereço(s) de e-mail...
Real name: Novo Usuário <enter>
Email address: [MAILTO] [email protected] <enter>
Comment: "meu primeiro par de chaves =D"
You selected this USER-ID:
"Novo Usuário <[MAILTO] [email protected]>"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
Pronto!! Sua chave será gerada nesse momento!
KEYSERVER
Servidor de chaves públicas PGP do CAIS/RNP
O servidor de chaves PGP (Pretty Good Privacy) implementado pelo
Centro de Atendimento a Incidentes de Segurança da RNP (CAIS) é o
primeiro da América Latina com conexão para a rede mundial de
servidores deste gênero. Um servidor de chaves consiste em um software
especial capaz de cadastrar, buscar e excluir chaves públicas de usuários
em qualquer parte do mundo.
O uso de chaves públicas assegura a integridade e a confidencialidade de
mensagens sigilosas, por meio de criptografia. Isso garante que apenas o
destinatário tenha acesso ao conteúdo da mensagem. O software PGP
também permite a autenticação de mensagens não criptografadas,
através de assinatura digital. Neste caso, o destinatário pode verificar a
autenticidade do remetente.
gpg --keyserver keyserver.cais.rnp.br --send-keys keyid
Enviando sua chave para um keyserver
e fazendo alterações
6. Enviando sua chave para um keyserver:
$ gpg --keyserver <keyserver> --send-key [sua_chave]
Talvez, seja mostrada uma mensagem de sucesso com esta:
gpg: success sending to `<keyserver>' (status=200)
**No final desse howto, estará disponível uma lista pública de
keyservers
Enviando sua chave para um keyserver
e fazendo alterações
7. Modifique sua chave se você quiser. Por exemplo, se você tem múltiplos emails e deseja inseri-los na sua chave, execute os seguintes passos:
$ gpg --list-secret-keys
/home/demo/.gnupg/secring.gpg
--------------------------------------------sec 1024D/C01BAFC3 2000-09-21 Novo Usuário <[MAILTO]
[email protected]>
ssb 2048g/7A4087F3 2000-09-21
$ gpg --edit-key C01BAFC3
$ gpg --edit-key [user-id]
Command> adduid
Command> save
Feito isso, execute novamente o passo 6 para enviar sua chave atualizada
para o keyserver.
Assinando arquivos e extraindo sua
chave pública do chaveiro
8. Assinando arquivos
Assinar um arquivo é garantir que você é a pessoa que realmente enviou
aquele arquivo. Use a opção -s para assinar arquivos usando sua chave
privada:
$ gpg -s arquivo.txt
A "Frase Senha" será pedida para assinar os dados usando sua chave
privada. Será gerado um arquivo arquivo.txt.gpg (assinado e
compactado). Adicionalmente a opção --clearsign poderá ser usada para
fazer uma assinatura em um texto plano, este é um recurso muito usado
por programas de e-mails com suporte ao gpg:
$ gpg -s --clearsign arquivo.txt
Será criado um arquivo chamado arquivo.txt.asc contendo o arquivo
assinado e sem compactação.
Assinando arquivos e extraindo sua
chave pública do chaveiro
9. Extraindo sua chave pública do chaveiro
Sua chave pública deve ser distribuída a outros usuários para que possam
enviar dados criptografados ou checar a autenticidade de seus arquivos.
Para exportar sua chave pública em um arquivo que será distribuído a
outras pessoas ou servidores de chaves na Internet, use a opção --export:
$ gpg --export -a usuário >chave-pub.txt
Ao invés do nome do usuário, poderá ser usado seu e-mail, ID da chave,
etc. A opção -a permite que os dados sejam gerados usando bits ASCII 7.
Mudando sua "Frase Senha" e
escolhendo seu keyserver.
10. Mudando sua "Frase Senha"
Execute o comando "gpg --edit-key [usuário]", quando o programa entrar
em modo de comandos, digite "passwd". Será lhe pedida a "Frase Senha"
atual e a nova "Frase Senha". Digite "save" para sair e salvar as
alterações ou "quit" para sair e abandonar o que foi feito.
$ gpg --edit-key [usuário]
Command> passwd
Command> save
O "gpg --edit-key" permite gerenciar diversos aspectos de suas chaves, é
interessante explorá-lo digitando "?" ou "help" para exibir todas as
opções disponíveis.
Finalmente! Agora você poderá assinar a chave de pessoas que você
conhece e também participar de keysigning party, =)
Mudando sua "Frase Senha" e
escolhendo seu keyserver.
1. Lista pública de key servers
1.CryptNET Keyserver Network
gnv.keyserver.cryptnet.net
2.pgp.net
wwwkeys.us.pgp.net
wwwkeys.nl.pgp.net
wwwkeys.ch.pgp.net
wwwkeys.uk.pgp.net
wwwkeys.cz.pgp.net
wwwkeys.de.pgp.net
wwwkeys.dk.pgp.net
wwwkeys.es.pgp.net
3.www.keyserver.net Network
search.keyserver.net
seattle.keyserver.net
germany.keyserver.net
belgium.keyserver.net
finland.keyserver.net
thailand.keyserver.net
4.pgp.mit.edu
5.pgp.cc.gatech.edu
6.pgp.es.net
7.pgp.rediris.es
8.pgp.uk.demon.net
9.pgp.uni-mainz.de
pgp.nic.ad.jp
ds.carnet.hr
Visão Geral do SeaHorse
O Seahorse um ótimo software para manipular graficamente
todas as suas chaves digitais, ele é integrado com o
nautilus, gedit e outros softwares para fazer operações
de cifragem.
Este software permite:
• Criar e Manipular Chaves PGP;
• Criar e Manipular Chaves SSH;
• Publicar e Obter Chaves de um Servidor;
• Fazer Backup de Suas Chaves e seu Chaveiro.
Instalação do Seahorse
Obtenha permissão de root;
• su <enter>
• <senha>
Agora Digite:
• apt-get install seahorse
E estará tudo pronto para o uso!
Utilização do SearHorse
Com o Seahorse instalado, vamos abrí-lo indo em :
Aplicações > Acessórios > Passwords and Encryption
Keys.
Vamos agora criar nosso par de chaves. Clique em:
Chaves > Create New Key e escolha a opção “PGP Key”.
Clique em “Continue” e preencha os dados com seu
nome completo, endereço de e-mail e um comentário
qualquer (pode ser uma frase que você goste no
comentário, por exemplo.
O preenchimento deste campo é opcional).
Utilização do SearHorse
Se desejar, clique em cima da opção “Advanced Options”
para mudar o tipo de encriptação e a quantidade de bits.
Para um computador de uso pessoal, as opções padrão (DSA
2048) são mais que suficientes.
Selecione também uma data para sua chave expirar caso
queira, ou deixe selecionada a opção “Never Expires” para
que a chave seja eterna (você pode mudar estes dados depois
se quiser,
e pode cancelar sua chave caso seja comprometida).
Em seguida você será solicitado para digitar uma senha.
Escolha uma senha bem difícil mas de fácil memorização por
você, ou, se preferir, deixe em branco (eu não recomendo)
para usar sua chave privada sem senha.
Utilização do SearHorse
Utilização do SearHorse
Após algum tempo, sua chave estará criada e aparecerá na
janela principal do Seahorse.
Agora você poderá dar um duplo clique sobre sua chave e
alterar seus dados, se desejar.
Aproveite para anexar uma foto sua e adicionar todos os seus
outros endereços de e-mail.
Quando terminar, clique em “Remote > Sync and Publish
Keys” para que os dados sejam enviados para o servidor online de chaves. Agora vamos aprender
a usar melhor o Seahorse!
Em primeiro lugar, vamos iniciar o daemon do Seahorse.
Este daemon deverá ficar rodando
no plano de fundo o tempo todo, portanto pressione “Alt +
F2” e entre com o comando “seahorsedaemon” (sem as aspas)
Utilização do SearHorse
Agora vamos configurar para que o Gnome inicie o daemon
automaticamente no login indo em:
Sistema > Preferências > Sessões
Vá na aba “Programas Iniciais” e clique em “Adicionar”.
Entre com o comando “seahorse-daemon” (sem aspas)
novamente e clique em Ok. E pronto!
Agora, com o daemon rodando, quando quiser assinar um
arquivo qualquer, basta clicar com
o botão direito sobre ele, conforme podemos ver abaixo:
Utilização do SearHorse
Utilização do SearHorse
Você ainda poderá escolher a opção “Criptografar” e
escolher, na janela que se abrirá, para quem deseja enviar o
arquivo criptografado.
O Seahorse irá gerar automaticamente um novo ar quivo
com extensão “.pgp”. Para descriptografá-lo, basta dar um
duplo clique sobre ele e digitar a senha de sua chave privada.
Muito fácil não é mesmo?
Agora vamos configurar o seu Evolution para enviar e
receber e-mails assinados e criptogra fados.
Com o Evolution aberto, vamos em:
“Editar > Preferências > Contas de Correio”
Utilização do SearHorse
Selecione sua conta de e-mail e clique em Editar. Vá até a aba
“Segurança” e coloque o ID da sua chave (você poderá ver
qual o ID da sua chave na janela principal do Seahorse) no
campo correto e ative a caixa “Sempre assinar mensagens
enviadas ao usar esta conta”. Agora é só começar a enviar
seus e-mails assinados digitalmente (quando você for enviar
um e-mail, será solicitado pela sua senha da chave). Agora
vamos aprender a criptografar!
Para enviar um e-mail criptografado a um amigo, você
precisará primeiro possuir uma cópia da chave pública dele.
Na janela principal do Seahorse você poderá clicar em
“Procurar Chaves Remotas” e colocar o e-mail dele no
campo. Selecione a chave correta e clique em “Importar”.
De volta à janela principal do Seahorse e já com a chave
pública de seu amigo importada, vá até a aba “Keys I?ve
Collected”.
Utilização do SearHorse
IMPORTANTE: Quando você localizar a chave de alguém
pelo servidor, entre em contato com a pessoa e certifique-se
de que aquela é mesmo a chave verdadeira (passe o Key ID
da chave para a pessoa confirmar).
Você deve ter notado que é possível criar dezenas de chaves
usando qualquer nome e qualquer e-mail, portanto tenha
certeza de que a chave que está importando é a correta e não
uma falsa. Uma boa dica é procurar as pessoas que
assinaram esta chave e atestaram ser válida (trataremos disto
à seguir).
Na aba “Keys I’ve Collected”, selecione a chave de seu amigo
e clique em “Properties“. Na janela que abrir, clique na aba
”Confiar“ e marque a caixa ”I have verified that this key
belongs to who it says it does“ que irá dizer ao GnuPG que
você confia naquela chave e que verificou se achave é mesmo
da pessoa que diz ser. Clique em ”Fechar“.
Utilização do SearHorse
Agora vá até a aba ”Keys I Trust“ e verá lá as chaves que
você confia. Se você realmente tem certeza de que aquela
chave é da pessoa que diz ser a dona, você poderá assinar
com sua chave privada a chave pública de seu amigo,
atestando publicamente que você confia naquela
chave (como pode ver, a rede de chaves públicas é uma
grande rede de confiança).
Para assinar a chave (você não é obrigado a assiná-la para
enviar um e-mail criptografado a ela, mas é bom ajudar os
amigos não é verdade?) selecione-a e clique no botão
”Properties“ novamente. Vá até a aba ”Confiar“ e clique no
botão ”Sign“ para fazer a assinatura.
Utilização do SearHorse
Depois de assinar, clique em ”Fechar“, selecione a chave de
seu amigo, clique com o botão direito e selecione a opção
”Sync and Publish Keys“ para que as alterações sejam
enviadas para o servidor. Peça para seus amigos assinarem a
sua chave pública também garantindo uma maior
confiabilidade para a mesma.
Bom, se você já importou a chave de um amigo e disse ao
GnuPG que confia nela, basta da janela do seu Evolution,
criar um novo e-mail, e na janela de redigir, selecione a
opção:
”Segurança > Criptografar com PGP“.
Note que o Daemon do Seahorse deve estar rodando e sua
senha (a da chave) será solicitada ao clicar em ”Enviar“.
Utilização do SearHorse
Se alguém lhe enviar um e-mail criptografado, ao selecioná-lo
na lista, você já será solicitado
para digitar sua senha da chave privada. Ao digitar a senha,
o Evolution irá descriptografar o
e-mail automaticamente para você e exibi-lo. Com isso a
garantia é muito maior de que ninguém
consiga ler seus e-mails no meio do caminho entre você e seu
amigo