Sunteți pe pagina 1din 118

SEGURANA

Objetivo geral dos sistemas computacionais


Pilares da segurana

E a privacidade e a autenticao???
172

SEGURANA

OBJETIVO

AMEAA

CONFIDENCIALIDADE

Exposio dos dados

INTEGRIDADE

Adulterao dos dados

DISPONIBILIDADE

Recusa de servio

173

SEGURANA

Privacidade:

Proteo contra o mau uso da informao sobre os


indivduos(Tanenbaum)
Qualidade do que privado, ntimo Intimidade de
pessoal ou de grupo definido de pessoas. (dicionrio
Aurlio)

Confidencialidade

manter
secreto dados secretos. Mais
especificamente, se o proprietrio de alguns dados
decidir que esses dados devem ser disponibilizados
somente para certas pessoas e no para outras,
(Tanenbaum)
adj. Que se diz ou se faz em confidncia; secreto
(dicionrio Aurlio)
174

SEGURANA-INVASORES

Categorias comuns:
Curiosidades casuais de usurios leigos.
Espionagem por pessoas internas.
Tentativas determinadas para ganhar
dinheiro.
Espionagem militar ou comercial
Vrus Fica para depois...

175

SEGURANA-PERDA DE DADOS
Causas comuns:
Fora maior Fenmenos naturais

incndios, enchentes, guerras

Erros de hardware ou software

Defeitos na CPU, discos ruins, erros de programas

Erros humanos

entrada incorreta de dados, montagem errada da fita

Vrus

Fica para depois...


176

SEGURANA-CRIPTOGRAFIA

177

SEGURANA-CRIPTOGRAFIA

O propsito: levar uma mensagem, criptograf-lo de tal


modo que somente a pessoa autorizada saiba
convert-lo novamente para.

Para todos os outros, o texto cifrado ser apenas um


monte incompreensvel de bits.

Embora possa parecer estranho aos iniciantes,um bom


algoritmo (funo) de criptografia deve ser pblico.

Tentar mant-los em segredo nunca funciona No


mercado, essa ttica chamada de segurana por
obscuridade utilizada somente por amadores em
segurana.
178

SEGURANA-CRIPTOGRAFIA
Criptografia por chave secreta

Substituio monoalfabtica - cada


substituda por uma letra diferente

letra

texto plano: ABCDEFGHIJKLMNOPQRSTUVWXYZ


texto cifrado: QWERTYUIOPASDFGHJKLZXCVB NM

primeira vista pode parecer seguro...

So 26! = 4x1026 possveis chaves...

Mas em funo das peculiaridades do idioma pode


ser facilmente quebrado
179

SEGURANA-CRIPTOGRAFIA
Criptografia por chave secreta

Para uma segurana sria, talvez fosse melhor


usar chaves de 1024 bits, oferecendo um espao de
busca de 21024 ~ 2 x 10308 chaves.

Chaves mais curtas podem demover amadores, mas


no grandes potncias

180

SEGURANA-CRIPTOGRAFIA
Prova: FESMIP-BA - 2011 - MPE-BA - Analista de Sistemas Assuntos: Criptografia;

Com relao a criptografia simtrica, correto afirmar:


a) A criptografia de chave simtrica pode manter os dados seguros, mas,

b)
c)
d)
e)

se for necessrio compartilhar informaes confidenciais com outras


pessoas, tambm se deve compartilhar a chave utilizada para
criptografar os dados.
A criptografia de chave simtrica um mtodo de codificao que
utiliza uma chave pblica e uma chave privada para codificar e
decodificar a mesma informao.
A criptografia de chave simtrica um mtodo de codificao que
utiliza duas chaves pblicas para codificar e decodificar a mesma
informao.
A criptografia de chave simtrica um mtodo de codificao que
utiliza uma chave pblica e duas privadas para codificar e decodificar a
mesma informao.
Os algoritmos de chave simtrica tm como principal caracterstica a
possibilidade de utilizao de assinatura digital e de certificao
digital, sem alterao da chave.
181

SEGURANA-CRIPTOGRAFIA
Criptografia por chave pblica

Esse sistema, ao contrrio do simtrico apresenta a


seguinte propriedade:
chaves distintas so usadas para criptografia e
decriptao.

e, dada uma chave criptogrfica bem conhecida,


praticamente impossvel descobrir a chave
correspondente de decriptao.

Sob essas circunstncias, a chave criptogrfica


pode ser pblica e somente a chave de decriptao
privada mantida em segredo.
182

SEGURANA-CRIPTOGRAFIA
Criptografia por chave pblica
Veja s...
considere estas duas questes:

1: (374159265358979)2 ?

2:

Alguns alunos com a promessa de 1 ponto


poderiam resolver com lpis e papel a 1 questo
em 1h.

Alguns alunos com a promessa de uma grande soma


em dinheiro poderiam resolver com lpis e papel a
2 questo em algumas horas.
183

SEGURANA-CRIPTOGRAFIA
Criptografia por chave pblica
Veja...
Embora as operaes de elevar ao quadrado e de
extrao da raiz quadrada sejam inversas, suas
complexidades computacionais
so muito
diferentes.
Esse tipo de assimetria
forma
a base da
criptografia por chave pblica. A criptografia usa a
operao fcil, mas a decriptao sem a chave
requer a realizao da operao difcil.
Um sistema criptografia assimtrica, chamado RSA,
explora o fato da multiplicao
de grandes
nmeros ser muito mais fcil para um computador
que a fatorao de grandes nmeros.
184

SEGURANA-CRIPTOGRAFIA
Distribuio de chave pblica
Veja...
Alice escolhe dois grandes nmero primos p e g
pblicos
Alice gera um nmero grande chamado x e guarda
como secreto.
Alice tem agora (p, x) que define sua chave privada.
Alice calcula g x mod p .
Alice inicia o protocolo do acordo de chave enviando a
Bob uma mensagem contendo (p, g, gx mod p ) .
Bob tem agora um nmero grande gx mod p definindo a
tripla (p, g, gx mod p)
Bob escolhe um nmero y secreto e responde enviando
a Alice uma mensagem contendo (g y mod p)
185

SEGURANA-CRIPTOGRAFIA
Distribuio de chave pblica
Veja...
Alice calcula (gy mod p)x mod p

Bob calcula (gx mod p)y mod p

Pela lei da aritmtica modular, ambos os clculos


resultam em gxy mod p.

Alice e Bob, agora compartilham uma chave secreta:


gxy mod p

186

SEGURANA-CRIPTOGRAFIA
Distribuio de chave pblica
Por fim...
Este procedimento chamado Acordo de Chave.
Um intruso conhece g e p. Se pudesse descobrir x e
y, descobriria a chave secreta.
O problema que dado (gx mod p) e (gy mod p), no
se pode descobrir (facilmente) x nem y.
Nenhum algoritmo conhecido para computar o
mdulo de logaritmo discreto de um nmero primo
p muito grande num tempo aceitvel.

187

SEGURANA-CRIPTOGRAFIA
Distribuio de chaves
.

188

SEGURANA-CRIPTOGRAFIA
Criptografia de chave pblica

189

SEGURANA-CRIPTOGRAFIA
Prova: ESAF - 2010 - CVM - Analista de TIC - Infraestrutura - prova 2 Assuntos: Criptografia;

a) Na criptografia por chave pblica so geradas chaves


de criptografia em pares, devendo um deles ser
mantido secreto.
b) Uma rede privada virtual no pode enviar dados
criptografados atravs da Internet.
c) Na criptografia por chave peridica so geradas chaves
de criptografia em perodos, devendo um deles ser
mantido secreto.
d) Na criptografia pblica so geradas chaves de
criptografia nicas, todas de conhecimento pblico.
e) Uma rede privada envia dados virtuais atravs de
portas criptografadas.
190

SEGURANA-CRIPTOGRAFIA
Funes unidirecionais HASH
H vrias situaes, em que seria desejvel ter
alguma funo com as seguintes propriedades:
Dada a funo f e seu parmetro x calcular y = f(x)
seja fcil.
Mas dada somente f(x), encontrar
x
seja
computacionalmente invivel.

Essas funes costumam embaralhar os bits de um modo bastante


complexo.
Comea atribuindo x como um valor inicial de y.
Atravs de diversos laos para iterar o nmero de vezes
correspondente ao nmero de bits 1, em x, com cada iterao
permutando os bits de y de uma maneira dependente da iterao,
adicionando uma constante diferente a cada iterao e geralmente
misturando os bits muito bem.
191

SEGURANA-CRIPTOGRAFIA
Assinaturas digitais
Deve garantir:

Autenticidade
Integridade
No repdio

Suponha que um cliente de um banco instrua um


banco a comprar algumas aes enviando ao banco
uma mensagem pelo correio eletrnico.

Uma hora depois de a ordem ter sido enviada e


executada, as aes despencam.

O cliente ento nega que tenha enviado a


mensagem eletrnica.
192

SEGURANA-CRIPTOGRAFIA
Assinaturas digitais.

193

SEGURANA-CRIPTOGRAFIA
Assinaturas digitais
As assinaturas digitais tornam possvel assinar
mensagens eletrnicas e outros documentos
digitais de modo que elas no possam ser depois
repudiadas(no repdio) por quem as enviou.

Uma maneira comum submeter o documento a um


algoritmo de hashing de uma via que seja muito difcil de
inverter.
A funo hashing produz em geral um resultado de
tamanho fixo e independente do tamanho do documento
original.
As funes hashing mais conhecidas e usadas so a MD5 e a
SHA (secure hash algorithm)
194

SEGURANA-CRIPTOGRAFIA
Assinaturas digitais

Bob computa o hash do documento D que deseja assinar, obtendo


h;
Bob assina o hash obtido, cifrando-o com sua chave-privada,
obtendo A;
Bob envia o documento original, D, e sua assinatura, A, para Alice;
Alice recalcula o hash do documento recebido, D, ( fcil fazer
este clculo e a funo de hashing de domnio pblico), obtendo
h;
Alice decifra a assinatura recebida com a chave pblica de Bob,
obtendo h;
Se h h, ento a assinatura confere e, com elevadssimo grau de
certeza, Alice sabe que foi Bob que enviou o documento, e o
documento recebido cpia fiel do original.
Caso contrrio, ou no foi Bob que o enviou (assinou), ou o
documento foi adulterado aps a assinatura, ou ambos.
195

SEGURANA-CRIPTOGRAFIA
Assinaturas digitais.

196

SEGURANA-AUTENTICAO
Autenticao de usurio
rFCC - 2011 - INFRAERO - Analista de Sistemas - Segurana da Informao

Sobre hash, correto afirmar que


a)

Mapeia uma mensagem de tamanho fixo em um valor de hash de tamanho


varivel, ou um resumo de mensagem (message digest).

b)

Se trata de um algoritmo que requer o uso de uma chave secreta. Apanha


uma mensagem de comprimento fixo e uma chave secreta como entrada e
produz um cdigo de autenticao.

c)

Precisa ser combinada de alguma forma com uma chave pblica, mas nunca
com uma chave secreta, para a autenticao da mensagem.

d)

Um cdigo de hash, diferentemente de um MAC, usa apenas uma chave que


se refere funo da mensagem de entrada e sada.

e)

O cdigo de hash uma funo de todos os bits da mensagem e oferece uma


capacidade de deteco de erros: uma mudana em qualquer bit ou bits na
mensagem resulta em uma mudana no cdigo de hash.
197

SEGURANA-AUTENTICAO
Autenticao de usurio

A maneira mais amplamente usada de autenticao pedir


que o usurio digite um nome de entrada e uma senha.
A implementao mais simples mantm uma lista central de
pares (nome de entrada, senha).
No preciso dizer que, enquanto uma senha estiver sendo
digitada, o computador no deve exibir os caracteres
digitados.
O Unix o Windows 2000 tem esquemas diferentes.
O esquema Windows pode facilitar aos usurios que no
lembram quantos caracteres eles acabaram de digitar, porm
revela o tamanho da senha aos 'abelhudos'.
Do ponto de vista da segurana, o silncio vale ouro.

198

SEGURANA-AUTENTICAO
Autenticao de usurio

A maioria dos mtodos de autenticao baseiase em:


1. Alguma coisa que o usurio sabe.
2. Alguma coisa que o usurio tem.
3. Alguma coisa que o usurio .

Esses princpios levam a esquemas diferentes


de autenticao com diferentes complexidades
e propriedades de segurana.
199

SEGURANA-AUTENTICAO
Autenticao de usurio
Veja s...

200

SEGURANA-AUTENTICAO
Autenticao de usurio

possvel no ecoar o pedido de usurio e


senha
Se a tentativa de conexo for aceita (pode no
ser aceita, pois nem todos os administradores
de sistemas recebem bem os logins pela
Internet).
Muitos daemons de telnet ou ssh derrubam
uma conexo
TCP depois
de algumas
tentativas de acesso ao sistema sem sucesso,
para atrapalhar os crackers.
201

SEGURANA-AUTENTICAO
Autenticao de usurio
Hackers Propriedade associativa

A palavra "hack" nasceu num grupo chamado Tech


Model RailRoad Club (TMRC) do MIT na dcada de
50.

Nerds de ento chamavam as modificaes


inteligentes que faziam nos rels eletrnicos,
de hacks.

Quando as mquinas TX-0 e PDP-1 chegaram ao


mercado, os programadores de ento comearam a
utilizar o mesmo jargo para descrever suas
otimizaes...
202

SEGURANA-AUTENTICAO
Autenticao de usurio
Crackers Propriedade associativa

Cracker o termo usado para designar quem


pratica a quebra (ou cracking) de um sistema de
segurana, de forma ilegal ou sem tica.

Este termo foi criado em 1985 pelos hackers em


defesa contra o uso jornalstico do termo hacker.

O uso deste termo reflete a forte revolta destes


contra o roubo e o vandalismo praticado
pelo cracking.
203

SEGURANA-AUTENTICAO
Autenticao de usurio
Pequeno aparte:

204

SEGURANA-AUTENTICAO
Autenticao de usurio

Alguns SOs (mais antigos) mantm o arquivo


de senhas no disco decriptado, mas protegido
pelos mecanismos normais de proteo do
sistema.
Manter todas as senhas em um arquivo
decriptado no disco procurar problemas, pois
em geral muitas pessoas tm acesso ao disco

205

SEGURANA-AUTENTICAO
Autenticao de usurio

Uma melhor soluo, usada no Linux, funciona


do seguinte modo:
O programa de acesso ao sistema pede ao
usurio digite seu nome e senha.
A senha imediatamente criptografada,
usando-se a senha como chave criptogrfica de
um bloco fixo de dados.

206

SEGURANA-AUTENTICAO
Autenticao de usurio

O programa de acesso ao sistema ento l o


arquivo de senhas, que apenas uma srie de
linhas em ASCII. uma por usurio

Quando o sumrio contido nessa linha for o


mesma ser permitida a entrada no sistema;
do contrrio, a entrada ser recusada.

207

SEGURANA-AUTENTICAO
Autenticao de usurio
Vantagem...

Ningum, nem mesmo o superusurio, poder ver qual a


senha do usurio, pois elas no so armazenadas decriptadas
em nenhum lugar do sistema.

Desvantagem..

Contudo, esse esquema pode ser visto de outra maneira: um


cracker primeiro constri um dicionrio de senhas mais comuns.
Essas senhas so sumarizadas usando o algoritmo conhecido.
Agora, munido de uma lista de pares (senha,
senha
criptografada), o cracker ataca.
Ele l o arquivo de senhas (publicamente acessvel) e captura
todas as senhas criptografadas.
Essas senhas so comparadas s senhas sumarizadas de sua
lista. Para cada acerto, o nome de entrada e a senha decriptada
so ento conhecidos.
Um programa simples utilizando a linguagem do interpretador de
comandos pode automatizar esse processo e resolver isso em
uma frao de segundo. Uma execuo desse programa
desvendaria dezenas de senhas.
208

SEGURANA-AUTENTICAO
Autenticao de usurio
Soluo de Morris e Thompson

Uso do Sal
Aumentando em 2n cadeias
O Unix usa esse mtodo com n=12

E o Linux...

Bom, o Linux usa HASH


209

SEGURANA-AUTENTICAO
Autenticao de usurio Melhorando senhas

Embora usar o sal no arquivo de senhas consiga


proteger contra crackers, pouco ele pode fazer
para proteger um usurio Davi cuja senha seja
tambm Davi.
Um passo alm da educao do usurio usar o
computador para ajudar.
Um programa que gera palavras aleatrias e sem
sentido, mas fceis de pronunciar, como:
fotalmente, garbungi oubipiti, podem ser usadas
como senhas.
Se adicionarmos algumas letras maisculas e
mais alguns caracteres especiais, melhor.
210

SEGURANA-AUTENTICAO
Autenticao de usurio Senhas de nico uso

Uma maneira mais extrema, alterar senhas


todas as vezes.
Chamamos de senha de nico uso.
O usurio obtm um livro contendo uma lista de
senhas. Cada vez que ele entra no sistema, usa-se
a senha seguinte da lista.
Se um invasor descobrir uma senha, ele no
ganhar nada, pois na prxima vez dever ser
digitada uma senha diferente.
Bom... Sugerimos ao usurio que evite perder o
livro de senhas.
211

SEGURANA-AUTENTICAO
Autenticao de usurio Senhas de nico uso

O mtodo de Lamport pode ser empregado para


que um usurio, no precise do livro, nem de um
arquivo, por exemplo.
O algoritmo
baseado em uma funo
unidirecional o j famoso HASH.
O usurio escolhe uma senha secreta e ento a
memoriza.
Tambm um valor inteiro, que denota quantas
senhas de nico uso o algoritmo capaz de gerar.
Por exemplo, considere n = 4, embora na prtica o
valor de n seja muito maior.
Se a senha secreta for s, a primeira senha ser
obtida executando-se a funo de uma via n vezes.
A segunda: n-1 vezes...
212

SEGURANA-AUTENTICAO
Autenticao de usurio Respostas a desafios
Uma variao ao uso de senhas obrigar cada
novo usurio a fornecer uma longa lista de
questes e respostas que so ento armazenadas
seguramente no servidor
As questes devem ser escolhidas de modo que o
usurio as tenha na memria

Quem a irm da Mariana?


Em qual rua ficava sua escola primria?
O que o professor Elisrio ensinava?

Durante o acesso ao sistema, aleatoriamente uma


dessas questes feita.
213

SEGURANA-AUTENTICAO
Autenticao de usurio Respostas a desafios
Para tornar isso prtico, contudo, so
necessrios muitos pares de questes e
respostas.
Outra variao a resposta a um desafio - x2
por exemplo.
Quando um usurio acessa o sistema, o
servidor envia ao usurio um argumento (7,
por exemplo) e, nesse caso, o usurio digita
49.
Podemos fortalecer esse algoritmo?
214

SEGURANA-AUTENTICAO
Autenticao de usurio Com uso de objetos.

Um outro mtodo de autenticao de usurios


consiste em verificar a posse de algum objeto
fsico e no algo que eles saibam.
Para esse fim, as chaves de metal para portas
so usadas h sculos.
Atualmente, um objeto fsico bastante empregado
o carto magntico.
O usurio no deve somente inserir o carto, mas
tambm digitar uma senha, a fim de impedir que
algum use um carto perdido ou roubado(tem e
sabe).
215

SEGURANA-AUTENTICAO
Autenticao de usurio Com uso de objetos.
cartes com tarja.
Cartes com chip
Cartes com valores armazenados (charge card)

uma moeda que vale para aquele ambiente

Cartes inteligentes. (smart card)

A grande diferena que ele possui capacidade de


processamento
pois
embute
um microprocessador e memria

216

SEGURANA-AUTENTICAO
Autenticao de usurio Com uso de objetos.
A informao fica retida nos cartes de plstico por dois tipos de
dispositivos:

cartes com uma tarja magntica


cartes com um chip.

Os cartes com uma tarja magntica podem abrigar em torno de


140 bytes de informao escrita em um pedao de fita magntica
colada nas costas do carto.

Essa informao pode ser lida por um terminal e enviada a um


computador central.

Muitas vezes a informao contm a senha do usurio (por


exemplo, o cdigo de identificao pessoal), para que o terminal
possa identificar o usurio, mesmo quando a conexo com o
computador principal tenha cado.

Normalmente, a senha criptografada por uma chave conhecida


somente pelo banco.

Esses cartes custam, cada um, em torno de 10 a 50 centavos de dlar


217

SEGURANA-AUTENTICAO
Autenticao de usurio Com uso de objetos.
Os cartes com valores armazenados
Tm uma pequena quantidade de memria
(normalmente menos de 1 KB) usando
tecnologia EEPROM
Que permite que o valor l permanea mesmo
sem alimentao.
No h processamento no carto e, assim, o
valor armazenado deve ser alterado por uma
CPU externa.
Esses cartes so usados para telefones
pblicos, cantinas etc.
218

SEGURANA-AUTENTICAO
Autenticao de usurio Com uso de objetos.
Os cartes inteligentes - Com chip
Tem uma CPU de 8 bits a 4MHz,16 KB de ROM,
4KB de EEPROM, 512bytes de RAM
e um canal de comunicao com o leitor de
9600 bps.

219

SEGURANA-AUTENTICAO
Autenticao de usurio Com uso de objetos.
Os cartes inteligentes - Com chip
Considere um desafio-resposta normal

O host precisaria da senha secreta do usurio


Mas um banco de dados com chaves secretas
perigoso

Poderamos usar chaves pblicas

Mas a sada de algoritmos de chave pblicas so


longos e difcil de digitar

220

SEGURANA-AUTENTICAO
Autenticao de usurio Com uso de objetos.
Os cartes inteligentes - Com chip
Frequentemente pensamos que cartes com
chip so a prova de adulterao.
Alm de ataques de engenharia reversa
Pode-se sujeitar o carto a radiaes ou
tenses anormais e extrair informaes de sua
EPROM.

221

SEGURANA-AUTENTICAO
Autenticao de usurio Com uso de objetos.
Os cartes inteligentes - Com chip
Mas um carto com CPU poderia fazer estes
clculos
E pode tambm envi-lo por sua porta de E/S
E o PIN (Personal Identification Number) ?

Essa a senha para ter acesso a sua rea de


memria.

222

SEGURANA-AUTENTICAO
Autenticao de usurio Com uso de objetos.
Os cartes inteligentes - Com chip

223

SEGURANA-AUTENTICAO
Autenticao de usurio Com uso de objetos.
Os cartes inteligentes - Com chip

224

SEGURANA-AUTENTICAO
Autenticao de usurio Com uso de objetos.
Os cartes inteligentes - Com chip
Um simples esquema de resposta a um desafio funciona
da seguinte maneira:

O servidor envia um nmero aleatrio de 512 bits para um


carto inteligente,

Este ento adiciona a esse nmero a senha do usurio de


512 bits armazenada na EEPROM

A soma ento elevada ao quadrado e, do resultado, os


512 bits do meio so enviados de volta ao servidor, que
conhece a senha do usurio e pode calcular se o resultado
est correto ou no.

Um cracker v as duas mensagens, mas no ter muito


sentido em grav-la, pois, no prximo acesso ao sistema,
ser enviado um nmero aleatrio diferente.
225

SEGURANA-AUTENTICAO
Autenticao de usurio Biometria.
O terceiro mtodo de autenticao mede
caractersticas
fsicas
do usurio,
caractersticas que sejam difceis de falsificar,
chamadas de biomtricas (Pankanti et all, 2000)

Uma impresso digital


Identificador de voz
Identificador de ris

226

SEGURANA-AUTENTICAO
Autenticao de usurio Biometria.
Um sistema biomtrico tpico formado
partes:

por duas

Cadastramento
Identificao.

Durante o cadastramento, as caractersticas do usurio


so medidas e os resultados so digitalizados.
Ento, os atributos significativos so extrados e
armazenados em um registro associado ao usurio.
O registro pode ser mantido em um banco de dados
central
Ou armazenado em um carto inteligente que o usurio
carrega e insere depois em um leitor remoto.

227

SEGURANA-AUTENTICAO
Autenticao de usurio Biometria.
Identificao.
O usurio quando instado fornece um nome de
entrada.
Ento, o sistema faz novamente a medio.

Se os novos valores forem os mesmos que os amostrados


no momento do cadastramento, o acesso ser permitido
Caso contrrio, o acesso ser rejeitado.

O nome de entrada necessrio, pois as medidas no


so exatas.

Sendo difcil index-las e depois buscar o usurio pelo


ndice.
Alm disso, duas pessoas
podem ter as mesmas
caractersticas, exigindo assim que as caractersticas
medidas para corresponder a um usurio especfico sejam
mais rgidas do que apenas exigir que elas correspondam
quelas de um outro usurio qualquer.
228

SEGURANA-AUTENTICAO
Autenticao de usurio Biometria.
A caracterstica escolhida
deve ter uma
variabilidade suficiente para que o sistema
possa, sem erro, distinguir uma dentre
muitas pessoas.
Por exemplo:
a cor dos cabelos no um bom indicador
A caracterstica no pode variar muito com o
tempo.

Por exemplo, a voz de uma pessoa pode ficar diferente


quando o ambiente estiver mais frio.
A face muda por causa de uma barba ou de uma
maquiagem que no estava presente no momento do
cadastramento.
229

SEGURANA-AUTENTICAO
Autenticao de usurio Biometria.
Os projetistas dos sistemas devem decidir o
nvel de semelhana para que os valores
possam ser aceitos.

Em particular, devemos decidir se pior rejeitar


um usurio legtimo de vez em quando ou s vezes
deixar um impostor entrar.
Um site de comrcio eletrnico deve decidir se
rejeitar um cliente leal pior que aceitar algumas
fraudes.
j um local com armas nucleares deve decidir se
recusar o acesso a um funcionrio verdadeiro
seria melhor que deixar entrar
estranhos
aleatoriamente duas vezes ao ano.
230

SEGURANA-AUTENTICAO
Autenticao de usurio Biometria.
Comprimento dos dedos
Padro retinal
Assinatura

Movimentos da caneta
Presso sobre a plataforma

Reconhecimento de voz
Concentrao da Urina???
Psicologicamente aceito.
231

SEGURANA-AUTENTICAO
Medidas de defesa.
Discriminar horas de acesso
Exigir call back
Colocar iscas
Setar idle time.
Colocar armadilhas.

232

SEGURANA-ATAQUES
Ataques de dentro do sistema
Uma vez que um cracker tenha tido acesso a
um computador, ele pode comear a causar
danos.
Se o computador tiver um bom sistema de
segurana, s ser possvel prejudicar o
usurio cuja conta foi usada para invadir.
Mas muitas vezes o acesso inicial pode servir
de trampolim para invadir outras contas.
Nos prximos slides estudaremos as ameaas.
233

SEGURANA-ATAQUES
Ataques de dentro do sistema Cavalos de tria
Um ataque no qual
um programa
aparentemente
realiza uma
funo
inesperada e indesejvel.

Modificar
Remover
Criptografar os arquivos do usurio,

Para que o cavalo de Tria execute, a pessoa


que estiver implantando-o
deve primeiro
carreg-lo para que ele possa executar.
234

SEGURANA-ATAQUES
Ataques de dentro do sistema Cavalos de tria
Modus Operandi
Colocar o programa na Internet

Um novo e sensacional jogo


Um programa que reproduz MP3
Um vdeo porn especial
Ou qualquer outra coisa bastante chamativa, e gratuita.

Ao transferi-lo para seu computador


executando-o, o cavalo de Tria chamado
Podendo fazer o que o usurio quiser

Por exemplo, remover arquivos, abrir conexes de rede


etc. Note que essa ttica no requer que o autor do cavalo
de Tria invada o computador da vtima.
235

SSEGURANA-ATAQUES
Ataques de dentro do sistema Login spoofing
Mal escreve um programa que crie uma tela de
login igual a original
Quando um usurio digita o nome de entrada, o
programa responde pedindo uma senha e
desabilitando o echo.
Depois da entrada da senha, os dados sero
escritos em um arquivo, em algum lugar distante
Mau dispara o programa real de conexo e mostra
a
o usurio presume que tenha cometido algum
erro de digitao e ento se conecta novamente.
Dessa vez, ento, funciona.
E nesse meio tempo, Mal adquiriu mais um par
(nome, senha).
236

SEGURANA-ATAQUES
Ataques de dentro do sistema Bomba lgica
Outro ataque de dentro do sistema, nestes
tempos de alta rotatividade de funcionrios, a
bomba lgica.
Trata-se de uma parte de cdigo escrita por algum
programador
de uma empresa
(que seja
funcionrio) e secretamente inserida no sistema
operacional de produo.
Enquanto
o programador
aliment-lo
diariamente com uma senha, essa parte de
cdigo no far nada.
Contudo, se o programador for repentinamente
despedido dia seguinte.
A bomba lgica no ser mais alimentada com sua
senha diria e, portanto, explodir.
237

SEGURANA-ATAQUES
Ataques de dentro do sistema Trap Door

Esse problema criado por um cdigo inserido no


sistema, por um programador do sistema, para desviar
alguma verificao corriqueira.

Por exemplo, um programador pode adicionar um cdigo


a um programa de acesso ao sistema para permitir que
algum se conecte
O cdigo normal no programa de acesso seria um pouco
parecido com o real
Concedendo acesso facilmente ao atacante.

238

SEGURANA-ATAQUES
Ataques de dentro do sistema Estouro de Buffer
A maioria programas dos sistemas so escritos na
linguagem de programao C muitos ataques
levam isso em conta.
Infelizmente, nenhum compilador C faz verificao
de limites de array .

Nenhuma verificao realizada, em tempo


execuo, para impedir esse erro

de
239

SEGURANA-ATAQUES
Ataques de dentro do sistema Estouro de Buffer
Suponha que um processo A pea um caminho
de arquivo
A tem um buffer B de tamanho fixo (ou seja,
um array)
Usar um buffer de tamanho fixo para conter o
nome de um arquivo muito mais fcil de
programar uma rotina que determina antes o
seu tamanho
real e depois
aloca
dinamicamente a memria necessria.
240

SEGURANA-ATAQUES
Ataques de dentro do sistema Estouro de Buffer
Imagine que o Buffer B tiver um tamanho fixo de 1.024
bytes
Infelizmente, suponha que o usurio do programa
fornea um nome de arquivo com dois mil caracteres.
Quando o nome do arquivo for usado, falhar ao abrir,
mas o invasor no se importa com isso.
Quando o procedimento copia o nome do arquivo no
buffer o nome ultrapassa os limites do buffer e da
memria.
Ele tambm sobrescreve o endereo de retorno e
assim, quando A retorna
O endereo de retorno tirado do meio do nome do
arquivo.
Se esse endereo for algum lixo aleatrio o programa
saltar para um endereo aleatrio e provavelmente
travar ao executar mais algumas instrues.
241

SEGURANA-ATAQUES
Ataques de dentro do sistema Estouro de Buffer

242

SEGURANA-ATAQUES
Ataques de dentro do sistema Estouro de Buffer
Mas e se o nome do arquivo no contiver lixo
aleatrio?
E se ele contiver um programa executvel
vlido
E o esquema tiver sido feito com o extremo
cuidado para que a palavra que estivesse
sobrepondo justamente o endereo de retorno
Fosse justamente o endereo de incio de um
programa ?
O que acontecer quando A retornar?

O programa atacante comear a executar.


243

SEGURANA-ATAQUES
Consideraes:
Um projeto de um sistema operacional seguro no um assunto trivial.
Desde 1975, os pesquisadores identificaram alguns princpios gerais que devem
servir de guia para projetar sistemas seguros
1.

Primeiramente, o projeto do sistema deve ser pblico. Presumir que os


invasores no sabem como o sistema funciona serve somente para iludir os
projetistas. Os intrusos o sabero, cedo ou tarde.

2.

A deciso-padro deve ser a de no dar acesso. Erros que resultam na recusa


de acesso legtimo so alertados bem mais rpido que os erros que
resultam na permisso de acessos no autorizados.

3.

Verifique a autoridade no momento da ao. O sistema no deve verificar


permisso, determinar qual acesso permitido e depois guardar essa
informao para uso subseqente.

Muitos sistemas verificam a permisso somente quando o arquivo aberto e


no depois disso. Isso significa que um usurio que abre um arquivo e o
mantm aberto por semanas continuar a ter acesso, mesmo que o
proprietrio j tenha alterado a proteo do arquivo ou talvez at mesmo
tentado remover o arquivo.
244

SEGURANA-ATAQUES
Consideraes:
4. D a cada processo o menor privilgio possvel.
5. O mecanismo de proteo deve ser simples,
uniforme e construdo nas camadas mais
inferiores do sistema.
6. O
esquema
escolhido
deve
ser
psicologicamente aceitvel. Se os usurios
sentirem que proteger seus arquivos d muito
trabalho, eles no dedicaro muito empenho
s medidas de proteo.
7. Faa as coisas simples.
245

SEGURANA-ATAQUES
Ataques de fora do sistema
As ameaas discutidas nas sees anteriores
foram causadas principalmente do lado de
dentro.
Vrus e worms so muito mais numerosos do
que crackers.
O que um vrus, ento?
246

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Para resumir um vrus um programa capaz de se
reproduzir anexando seu cdigo a um outro
programa, do mesmo modo como os vrus
biolgicos se reproduzem.
Mais ainda... Os vrus podem fazer tambm outras
coisas alm de se reproduzirem.
Os vermes so como os vrus, porm eles se autoreplicam.
Essa diferena no nos importa no momento,
portanto usaremos o termo 'vrus' para designar
ambos.
247

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Um vrus um programa, assim, ele pode fazer
qualquer coisa que um programa faz.Por
exemplo,
ele capaz de emitir uma mensagem, mostrar
uma imagem na tela, tocar uma msica ou
alguma outra coisa que no cause danos.
Infelizmente, pode tambm apagar, alterar,
destruir ou roubar arquivos.
248

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Uma outra coisa que um vrus pode fazer
tornar o computador intil enquanto o vrus
estiver executando.
Isso tem um nome...
chamado de ataque de recusa de servio
(denial of service attack).
Main() { while(1) fork();}
249

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Pior ainda,
um vrus pode danificar
permanentemente o hardware do computador.

printf "\x2E" | dd bs=1 seek=112 of=/dev/port


printf "\xFF" | dd bs=1 seek=113 of=/dev/port

Debug
O 70 2E
O 71 FF
No passado recente o vrus Chernobyl CIH.XXXX se
aproveitava que a maioria das placas tinha o mesmo
chipset.

250

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Como os vrus funcionam
Mal escreve seu vrus, provavelmente em
linguagem de montagem.
ento o insere cuidadosamente
em um
programa de sua prpria mquina, usando uma
ferramenta chamada conta-gotas (droper).
Esse programa infectado ento distribudo.

251

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Como os vrus funcionam
Uma vez instalado na mquina da vtima, o vrus
fica latente at que o programa infectado seja
executado.
Uma vez iniciado, normalmente ele comea a
infectar outros programas da mquina e ento
dispara sua carga
Em muitos casos, a carga explosiva pode no fazer
nada enquanto uma certa data no chegue.
Assim assegura que o vrus esteja espalhado antes
que as pessoas comecem a not-lo.
252

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Tipos
Vrus companheiro

no infecta realmente um programa, mas executa


quando o programa for executar.

Vrus de programas executveis

A verso mais simples apenas sobrescreve o


programa executvel com o prprio cdigo. So os
chamados vrus de sobreposio

253

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Tipos
Vrus residente em memria

At agora temos presumido que, quando um


programa infectado executado, o vrus executa, passa
o controle para o programa real e sai.
Por outro lado, um vrus residente em memria
permanece na memria.
Um vrus bem esperto pode at mesmo modificar o
mapa de bits de RAM do sistema operacional para que
o sistema pense que a memria do vrus est ocupada,
a fim de evitar que o vrus seja sobrescrito.
254

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Tipos
Vrus residente em memria

Um tpico vrus residente em memria captura


uma instruo de desvio de controle, a melhor
escolha a do desvio de controle de uma
chamada ao sistema. Nesse caso, o vrus consegue
executar (em modo ncleo)
Ao terminar de executar, ele apenas invoca a
chamada real ao sistema, saltando para o endereo
de desvio que est salvo na varivel auxiliar.
255

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Tipos
Vrus de setor de boot

Quando a maioria dos computadores ligada, o BIOS l o


registro principal do boot (master boot record - MBR).
Esse programa determina qual partio est ativa e l o
primeiro setor daquela partio, o setor de boot, e executa.
Esse programa carrega o sistema operacional ou traz um
carregador para carregar o sistema operacional.
Infelizmente, h muitos anos, um dos amigos de Virglio
teve a idia de criar um vrus que poderia sobrescrever o
registro principal do boot ou o setor do boot, com
resultados devastadores.
Esses vrus, chamados vrus de setor de boot, so muitos
comuns.
256

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Tipos
Vrus de setor de boot

Quando o computador iniciado, o vrus copia a


si mesmo para a RAM
A mquina est no modo ncleo, com a MMU
desligada, sem sistema
operacional
e sem
programa antivrus executando

257

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Tipos
Vrus de macro

Muitos programas, como o Word e o Excel,


permitem que os usurios escrevam macros para
agrupar vrios comandos que podem depois ser
executados pressionando-se apenas uma tecla.
No Microsoft Office, as macros podem conter
programas inteiros em Visual Basic, que uma
linguagem de programao completa.
258

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Tipos
Vrus de macro

Mal escreve um documento no Word e cria uma


macro que ele atribui a funo ABRIR ARQUIVO.
Ele ento envia o documento para a vtima pelo
correio eletrnico, que naturalmente o abre .
Como a macro pode conter um programa
arbitrrio, ele pode fazer qualquer coisa, como
infectar outros documentos Word, apagar arquivos
e at mais.
259

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Tipos
Vrus de Cdigo Fonte

Os vrus parasitas e os de setor de boot so


altamente especficos quanto plataforma;
os vrus de documento so um pouco menos (o
Word executa no Windows e no Macintosh, mas
no no Unix).
Os vrus mais portveis so os vrus de cdigofonte.
260

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Disseminao
H vrios cenrios pata a distribuio.
Virglio escreve seu vrus, insere-o em algum programa que
ele tenha escrito (ou roubado) e comea a distribuir o
programa
Disponibilizando-o em um site Web como um shareware.
Finalmente, algum transfere o programa e o executa.
Nesse momento h vrias opes.

Para comear, o vrus provavelmente infecta outros arquivos no


disco rgido, para o caso de a vtima decidir compartilhar alguns
desses arquivos com um amigo.

Ele pode tambm tentar infectar o setor de boot do disco rgido.


lima vez infectado o setor de boot, fcil iniciar um vrus
residente em memria, no modo ncleo, nos prximos boots.
261

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Disseminao
Atualmente, Mal tem outras opes disponveis.
O vrus pode ser escrito para verificar se a mquina
infectada est conectada a uma rede local
O vrus pode ento comear a infectar os arquivos
desprotegidos em servidores conectados a essa rede.
Essa infeco no se estender aos arquivos protegidos,
mas os programas infectados passaro a agir de maneira
estranha.
Um usurio que executa esse programa normalmente
pedir ajuda ao administrador do sistema.
O administrador, ento, tentar executar ele prprio o
programa estranho, para ver o que acontece...
262

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Tcnicas de Antivrus e Antiantivrus

O primeiro passo fazer o vrus infectar um


programa que no faz nada, muitas vezes chamado
de arquivo cobaia (goat).
O prximo passo fazer uma listagem exata do
cdigo do vrus e inseri-lo em um banco de dados
de vrus conhecidos.
Uma vez que um programa antivrus
esteja
instalado na mquina do cliente, a primeira coisa a
fazer verificar todos os arquivos executveis do
disco.
263

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Tcnicas de Antivrus e Antiantivrus

Como pequenas variaes dos vrus j conhecidos


surgem a toda hora, necessrio fazer uma busca
difusa.
Contudo, as buscas difusas no somente so mais
lentas que as buscas exatas, como tambm podem
disparar falsos positivos.
Outro modo que um programa antivrus tem de
detectar a infeco de um arquivo registrar e
armazenar no disco os tamanhos de todos os
arquivos.
264

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Tcnicas de Antivrus e Antiantivrus

O vrus pode tambm criptografar seu arquivo,


fugindo da comparao do BD.
Ou sofrer mutao a cada cpia. Sendo por isso
chamado de vrus polimrfico.
Um pedao de cdigo que pode mudar uma
seqncia de instrues de mquina, sem alterar
sua funcionalidade, chamado de motor de
mutao.
265

SEGURANA-ATAQUES
Ataques de fora do sistema Vrus
Tcnicas de Antivrus e Antiantivrus.

Uma abordagem completamente diferente de


deteco de vrus a verificao de integridade.
Uma terceira estratgia, usada pelo software
antivrus, o verificador de comportamento. Nessa
abordagem
O programa antivrus fica residente em memria
enquanto o computador estiver executando e
captura todas as chamadas ao sistema.
266

SEGURANA-ATAQUES
Ataques de fora do sistema O Verme

A primeira violao de segurana, em grande


escala, de computadores na Internet comeou em
uma noite de novembro de 1988.
Um estudante de ps-graduao da Cornell,
Robert Tappan Morris.
lanou um programa-verme (worm), derrubando
milhares de computadores de universidades,
corporaes e de laboratrios governamentais por
todo o mundo. Antes de ser detectado e removido.
Com isso ele tambm iniciou uma controvrsia que
ainda no se resolveu.
267

SEGURANA-ATAQUES
Ataques de fora do sistema O Verme

Foram tentados trs mtodos para infectar as


novas mquinas.
O mtodo 1 tentava executar um interpretador de
comandos remoto usando o comando rsh.
Algumas mquinas confiam em outras mquinas e
executam o rsh sem qualquer autenticao.
Se isso funcionasse, o interpretador remoto
transferiria o programa verme continuaria a
infectar novas mquinas a partir de l.
268

SEGURANA-ATAQUES
Ataques de fora do sistema O Verme

O mtodo 2 usava um programa presente em todos


os sistemas BSD, chamado finger.
Permite que um usurio em qualquer lugar da
Internet digite finger nome@site
Que exibe a informao sobre uma determinada
pessoa em uma instalao especfica.
Veja abaixo uma sada comum de um comando
finger

269

SEGURANA-ATAQUES
Ataques de fora do sistema O Verme
#finger joao
Login: joao
Name: Joao P. M.
Directory: /home/joao
Shell: /bin/bash
Office: Sala 400 Andar 2, 123-4567
Home: 123-7654
Last login Fri Aug 25 21:20 (AMT) on tty3
No mail. Grupo de cadastramento.

270

SEGURANA-ATAQUES
Ataques de fora do sistema O Verme

O finger funciona da seguinte maneira:


O que o verme fazia era chamar o finger, tendo como
parmetro uma cadeia de caracteres de 536 bytes
montada
de um modo especial.
Essa longa cadeia de caracteres causava o estouro do
buffer do daemon.
Quando o daemon retornava ao procedimento, era
hora de obter o que lhe fora requisitado e, desse
modo, ele no voltava ao main, mas ao procedimento
que estava dentro da cadeia de 536 bytes
Esse procedimento tentava
executar o sh. Se
funcionasse, o verme teria agora um interpretador de
comandos executando na mquina que estava sendo
atacada.
271

SEGURANA-ATAQUES
Ataques de fora do sistema O Verme

O mtodo 3 dependia de uma do sendmail, que permitia que um


verme enviasse pelo correio eletrnico uma cpia do iniciador
do verme e o fizesse executar.
Uma vez estabelecido, o verme tentava quebrar as senhas dos
usurios.
Cada senha quebrada permitia que um verme se conectasse a
qualquer mquina na qual o proprietrio da senha tivesse uma
conta.
Toda vez que o verme obtinha acesso a uma nova mquina, ele
verificava se alguma outra cpia do verme j estava ativa ali.
Se estivesse, a nova cpia saa, a no ser uma vez em cada sete.
O fator de 1 para 7 criava muitos vermes e foi a razo de
ter derrubado todas as mquinas: elas ficavam infestadas de
vermes.
Se simplesmente sasse quando visse um outro verme, o verme
provavelmente no seria detectado.
272

SEGURANA-ATAQUES
Ataques de fora do sistema - O Cdigo mvel

Os vrus e os vermes so programas que entram


em um computador sem o conhecimento do
proprietrio e contra sua vontade.
Algumas vezes, contudo, as pessoas mais ou menos
intencionalmente importam e executam cdigos
aliengenas em suas mquinas.

273

SEGURANA-ATAQUES
Ataques de fora do sistema - O Cdigo mvel

Normalmente isso acontece da seguinte maneira:


em um passado remoto...
A maioria das pginas Web consistia apenas em
arquivos HTML estticos.
Atualmente, cada vez mais pginas Web contm
pequenos programas (ou pequenas aplicaes)
chamados applets.
Quando uma pgina Web com applets
transferida, applets so buscados e executados.
Postscript e agentes tambm so tipos de cdigos
mveis.
274

SEGURANA-ATAQUES
Ataques de fora do sistema O Cdigo mvel

Levando em considerao o slide anterior podemos


prever a utilidades dos applets.
Algumas pessoas
gostariam de executar
esses
Programas aliengenas e, assim, surge a questo:
Isso bom mas ruim.
O problema fundamental que, quando um processo
importa uma applet ou um outro cdigo mvel em seu
PC.
O espao de endereamento e o executa, esse cdigo
executa como parte de um Processo vlido do usurio e
tem todo o poder que o usurio tem, inclusive a
capacidade de ler, escrever, apagar ou enviar dados
pelo correio eletrnico e muito mais.
275

SEGURANA-ATAQUES
Ataques de fora do sistema O Cdigo mvel

H muito tempo, os sistemas operacionais


desenvolveram o conceito de processo para construir
barreiras entre os usurios.
A idia que cada processo tenha seu prprio espao
de endereamento protegido e seu prprio UID.
Permitindo-lhe trabalhar com os arquivos e outros
recursos que lhe pertenam, mas no com os recursos
dos outros usurios.
Quando se quer proteger uma Parte do processo de
outra parte do processo (caso do applet),
Esse conceito no ajuda.
O conceito de thread permite que vrios threads
existam dentro de um processo .
276

SEGURANA-ATAQUES
Ataques de fora do sistema O Cdigo mvel

Teoricamente, executar cada applet como um processo


separado ajuda um Pouco,mas invivel
Por exemplo, uma pgina Web pode conter duas ou
mais applets que interajam umas com as outras e
tambm com dados da pgina Web.
Pode ainda ser necessrio que o browser interaja com
as applets, iniciando-os e parando-os, alimentando-os
com dados entre outras coisas.
Se cada applet for inserida em um Processo prprio, o
mecanismo como um todo no funcionar.
Alm disso, colocar uma applet em seu prprio espao
de endereamento at pior.
277

SEGURANA-ATAQUES
Ataques de fora do sistema O Cdigo mvel

Teoricamente, executar cada applet como um processo


separado ajuda um Pouco,mas invivel
Por exemplo, uma pgina Web pode conter duas ou
mais applets que interajam umas com as outras e
tambm com dados da pgina Web.
Pode ainda ser necessrio que o browser interaja com
as applets, iniciando-os e parando-os, alimentando-os
com dados entre outras coisas.
Se cada applet for inserida em um Processo prprio, o
mecanismo como um todo no funcionar.
Alm disso, colocar uma applet em seu prprio espao
de endereamento at pior.
278

SEGURANA-ATAQUES
Ataques de fora do sistema Proteo por Caixa de areia

O primeiro mtodo, chamado caixa de areia (sandboxing).


Tenta confinar cada applet a um intervalo limitado de
endereos virtuais gerados em tempo de execuo.
Funciona dividindo-se o espao de endereamento virtual
em regies de tamanhos iguais, que chamaremos de caixas
de areia.
Toda caixa de areia deve apresentar
a seguinte
propriedade:

Todos os seus endereos compartilham uma cadeia de bits de


ordem mais alta. Um espao de endereamento de 32 bits poderia
ser dividido em 256 caixas de areia de 16 MB;
Assim todos os endereos dentro de uma caixa de areia teriam em
comum os 8 bits mais significativos.
Da mesma maneira, poderamos ter 51,2 caixas de areia de 8 MB,
cada uma com um prefixo de endereo de 9 bits.
279

SEGURANA-ATAQUES
Ataques de fora do sistema Proteo por Caixa de areia

O tamanho da caixa de areia deve ser escolhido de


modo que a maior applet caiba
nela sem
desperdiar muito espao de endereamento
virtual.
Em geral para cada applet so oferecidas duas
caixas de areia, uma para cdigo e outra para
dados.

280

SEGURANA-ATAQUES
Ataques de fora do sistema Proteo por Caixa de areia

O conceito bsico da caixa de areia garantir que um


applet no seja capaz de saltar para um cdigo externo a
sua caixa de areia de cdigo ou que no referencie dados
fora de sua caixa de areia de dados.
A razo da existncia de duas caixas de areia impedir que
uma applet modifique seu cdigo durante uma execuo
que viole essas restries.
Impedindo que se armazene algo na caixa de areia de
cdigo, elimina-se o perigo de o cdigo alterar a si mesmo.
Enquanto um applet est confinado dessa maneira, ela no
consegue danificar o visualizador nem outras
applets, alm de no poder implantar vrus na memria ou
danificar a memria de algum outro modo.
281

SEGURANA-ATAQUES
Ataques de fora do sistema Proteo por interpretao

O segundo modo de executar applets no confiveis


execut-las interpretativamente e no deix-las tomar o
controle real do hardware.
Essa a estratgia usada pelos browsers.
Os applets das pginas Web so quase sempre escritas em
Java, que uma linguagem de programao normal, ou em
uma linguagem interpretativa de alto nvel, como o
javascript.
Os applets Java so antes compiladas para uma linguagem
de mquina virtual orientada pilha, chamada JVM(Java
Virtual Machine)
So esses applets JVM que so colocadas na pgina Web.
Ao serem
baixadas,
elas so submetidas
a um
interpretador JVM .
282

SEGURANA-ATAQUES
Ataques de fora do sistema Proteo por interpretao

A vantagem em executar cdigo interpretado em vez


de compilado, :
Cada instruo examinada pelo interpretador antes
de ser executada.
Isso d ao interpretador a oportunidade de verificar
se o endereo vlido.
Alm disso, as chamadas ao sistema so tambm
capturadas e interpretadas.
Como essas chamadas so tratadas uma questo
que interessa poltica de segurana. Por exemplo, se
uma applet for confivel (digamos, se ela vier de um
disco local), suas chamadas ao sistema devero ser
executadas sem questionamentos.
283

SEGURANA-ATAQUES
Ataques de fora do sistema Proteo por interpretao

Contudo, se uma applet no for confivel (por


exemplo, se ela vier pela Internet), ela poder ser
colocada no que , efetivamente, uma caixa de
areia, a fim de restringir seu comportamento.
A desvantagem da interpretao, em geral, que
ela muito lenta se comparada execuo do
cdigo compilado nativo.

284

SEGURANA-ATAQUES
Ataques de fora do sistema Proteo por interpretao

Contudo, se uma applet no for confivel (por


exemplo, se ela vier pela Internet), ela poder ser
colocada no que , efetivamente, uma caixa de
areia, a fim de restringir seu comportamento.
A desvantagem da interpretao, em geral, que
ela muito lenta se comparada execuo do
cdigo compilado nativo.

285

SEGURANA-ATAQUES
Ataques de fora do sistema Proteo por Assinatura Digital

Outro modo somente aceitar applets de fontes


confiveis.
Nessa abordagem, no existe nenhum mecanismo
real de segurana em tempo de execuo.
Os applets dos fornecedores confiveis so
executadas do jeito que chegam
E os cdigos de outros fornecedores no executam
ou executam de modo restrito (confinados em
uma caixa de areia ou interpretados com pouco
ou nenhum acesso aos arquivos dos usurios e
outros recursos do sistema).
286

SEGURANA-ATAQUES
Ataques de fora do sistema Proteo por Assinatura
Digital
Para que esse esquema funcione, deve haver, no
mnimo, um modo de o usurio determinar se um
applet foi escrito por um fornecedor confivel.
Assim como saber se ela no foi modificada por
ningum depois de produzida.
Isso possvel usando-se uma assinatura digital,
que permite ao fornecedor assinar o applet de
modo que as alteraes futuras possam ser
detectadas.
287

SEGURANA-ATAQUES
Ataques de fora do sistema Proteo por Assinatura
Digital
A assinatura do cdigo baseada na criptografia
por chave pblica.
Um fornecedor de applets normalmente uma
empresa de software.
Gera um par (chave pblica, chave privada)
Para assinar um applet, o fornecedor, antes de
tudo, calcula uma funo hash do applet.
Ele ento assina o valor hash criptografando-o com
sua chave privada.
Essa assinatura acompanha a applet para onde
ela for.
288

SEGURANA-ATAQUES
Ataques de fora do sistema Proteo por Assinatura
Digital
Quando o usurio obtm a applet, o browser
calcula sua prpria funo hash.
Ele ento decripta a assinatura que vem junto com
a applet, usando a chave pblica do fornecedor e
compara
Se forem iguais, o applet ser aceito como
autntico.
Caso contrrio, ser rejeitado como uma
falsificao.
289

S-ar putea să vă placă și