TCC SEGURANÇA WEP

42
Universidade Nove De Julho – Uninove Unidade Memorial Ciência da Computação FERNANDO PEREIRA DE SOUSA BENTO JUSSIE LUCIO RODRIGUES DE BRITO SEGURANÇA DE DADOS

Transcript of TCC SEGURANÇA WEP

Universidade Nove De Julho – Uninove

Unidade Memorial

Ciência da Computação

FERNANDO PEREIRA DE SOUSA BENTO

JUSSIE LUCIO RODRIGUES DE BRITO

SEGURANÇA DE DADOS

SÃO PAULO

2014

(Limite da margem inferior, fonte 12, CAIXA ALTA)

FERNANDO PEREIRA DE SOUZA BENTO

JUSSIE LUCIO RODRIGUES DE BRITO

(Limite da margem superior Fonte 12, CAIXA ALTA, sem negrito)

(6 espaços de 1,5)

SEGURANÇA DE DADOS(título: fonte 14, em negrito, se houver subtítulo deve ser precedido de : , fonte 14, sem negrito, CAIXA

ALTA)

(2 espaços de 1,5)

Projeto de Pesquisa apresentado ao Curso de

Bacharelado em Ciências da Computação da

Universidade Nove de Julho como requisito

parcial para obtenção do grau de Bacharel em

Ciências da Computação.

Linha de Pesquisa: Modelagem Computacional

Orientador: Prof. Dr. Alice Flora Madeira

Ribeiro

(fonte 11, espaçamento simples, recuo 7 cm da margem esquerda)

SÃO PAULO

2014, fonte 12, CAIXA ALTA)

SUMÁRIO

1 INTRODUÇÃO.........................................................................................................7

1.1 DELIMITAÇÃO DO TEMA..................................................................................8

1.2 PROBLEMA.......................................................................................................9

1.3 HIPÓTESE(S)..................................................................................................10

1.4 OBJETIVOS.....................................................................................................11

1.4.1 Objetivos gerais.........................................................................................11

1.4.2 Objetivos específicos.................................................................................11

1.5 JUSTIFICATIVA...............................................................................................12

2 REVISÃO DA LITERATURA..................................................................................13

3 METODOLOGIA.....................................................................................................19

4 CRONOGRAMA........................................205 REFERENCIAS BIBLIOGRAFICAS

...................................................................................................................................21

7

1 INTRODUÇÃO

Áreas de criptografia e segurança de dados estão se desenvolvendo muito

rápido neste século presente, principalmente em aplicações de telecomunicações e

segmentos industriais. A rede Internet também avança ao mesmo tempo em

questões de popularização e disseminação. Novas “lojas virtuais”, usadas para

comércio pela Internet, surgem a todo o momento, bem como aplicações que

permitem transações bancárias por meio de senhas, onde apenas a pessoa

autorizada possui o conhecimento. Além destes serviços, existem diversos outros,

tais como informações sociais, artísticas, médicas, enfim, o que resulta em

números absurdos de informações trafegando pela rede Internet.

Desta forma, é essencial que se garanta a segurança dessas

informações.

Com todo esse crescimento tecnológico, a proteção da privacidade, para

cada cidadão, se torna cada vez mais importante. Nossos dados

pessoais trafegam na Internet e é possível que sejam descobertos por pessoas

desautorizadas ou, até mesmo, inescrupulosas. Para

solucionar tecnologicamente este problema existe então a Criptografia, é uma

questão realmente de necessidade.

Existem algoritmos que permitem, de certa, esconder informações de

pessoas que não estão autorizadas e terem acesso à elas, esses algoritmos são

chamados de criptossistemas. Antigamente, os criptossistemas eram secretos, mas

8

nos dias de hoje a segurança de sistemas criptográficos é baseada apenas na

identificação da informação secreta.

Em um sistema operacional qualquer, com a finalidade de garantir a

integridade da informação em seu conteúdo, são necessárias descrições de

diretrizes e de mecanismos satisfatórios. Pode-se, desta, pensar em sistemas

seguros e inseguros, variando conforme a eficiência dos mecanismos utilizados.

Primeiramente, é necessário lembrar que o local onde são instalados os

equipamentos é importante, pois impedir o acesso de pessoas não autorizadas

também garante segurança. Atualmente, os sistemas operacionais são alvos de

vastas violações, completamente dirigidas por pessoas que não possuem

autorização, cuja finalidade é possuir o máximo de informações confidencias

possíveis para fazer uso indevido das mesmas. Um ato deste nível é

considerado crime, e pode resultar em graves problemas, levando em conta a

natureza dos dados, como por exemplo, quando se trata de dados que possam lesar

alguém (dados de uma conta bancária, senhas pessoais, entre outros), ou até

mesmo informações que possam lesar a segurança de um Estado, de um Município,

etc.

Apesar de tudo, as invasões não são totalmente causadas por acessos sem

permissão, existem outras causas. Entre tais, uma que evoluiu devido ao avanço da

microinformática, que é a causa do software mal intencionado, que por sua vez são

programas leves, mas com enorme facilidade de serem executados e

reproduzidos, causando efeitos muito graves. Esses leves programas ficaram

popularmente conhecidos como vírus. Realmente o nome já diz tudo, pois é algo

que realmente tem a intenção de infectar um sistema, podendo se reproduzir e se

espalhar entre outros sistemas, utilizando diversos meios para alcançar o objetivo.

Com o avanço de casos relacionados a isto, não restaram alternativas, pois

os governos de diversos países criaram leis e normas que prometem segurança aos

9

sistemas de informação e protegem o direito que toda pessoa tem com

relação à privacidade de suas informações particulares.

Por fim, outro ponto também importante para a segurança de um

sistema operacional é verificar o nível de segurança que as instalações necessitam,

por exemplo, uma instalação feita em um equipamento de uso compartilhado por

muitas pessoas distintas não é a mesma que uma instalação feita em um

equipamento de uso particular.

Assim, o desenvolvimento de criptografia tornou-se, na

atualidade, uma necessidade imprescindível, devido às

possibilidades de falsificações e fraudes que surgem com o crescimento da telefonia

celular digital.

10

1.1 DELIMITAÇÃO DO TEMA

Funcionamento de alguns dos principais algoritmos de criptografia

conhecidos. Como por exemplo, o algoritmo RSA que foi publicado no ano de 1978,

tem seu nome derivado das iniciais dos seus autores Ron Rivest, Adi Shamir e Len

Adleman, bem como o algoritmo DES – Data Encryption Standard, criado

pela IBM e que foi publicado no ano de 1977 nos Estados Unidos da América em

uma conferencia chamada de National Bureau of Standards – NBS, entre outros

algoritmos.

11

1.2 PROBLEMA

O_que pode ser feito para reduzir a vulnerabilidade de algoritmos de

criptografia que prometem maior segurança aos dados de determinadas

informações, apesar de parecer que a criptografia não consegue garantir totalmente

a segurança de dados em sistemas da informação (isto é uma

pergunta? ajeite). Segundo TERADA (2008), a habilidade humana é

incapaz de inventar código que a habilidade humana não possa decifrar (e......?

Conclua o pensamento!)

12

1.3 HIPÓTESE(S)

Segundo TERADA (2008), o algoritmo DES pode ser quebrado, pois com o

uso de um computador distribuído na Internet, denominado DeepCrack, cuja

velocidade média é de noventa bilhões de chaves em cada segundo, acaba-se

encontrando a chave correta de 56 bits. O tempo para que esse computador

consiga realizar tal manobra é de quatro dias e meio. O tal computador pode chegar

a atingir uma velocidade de 250 bilhões de chaves em cada segundo.

Complete...Aonde você quer chegar com esta

informação? Sua hipótese deve exprimir como você

pretende utilizar essa informação.

13

1.4 OBJETIVOS

Demonstrar formas de aumentar a segurança dos dados enviados, por

exemplo (seja específico quanto à aplicação que vai

fazer, ao invés de um exemplo), em uma rede de internet

utilizando algoritmos de criptografia.

1.4.1 Objetivos gerais

Demonstrar o funcionamento de algoritmos de criptografia (para quê?).

1.4.2 Objetivos específicos

Apresentar as formas de se utilizar a criptografia RSA para uma maior

segurança no envio de dados (onde?).

14

1.5 JUSTIFICATIVA

A segurança dos dados na transmissão de informações é um importante

ícone na atualidade. Apresentando pontos específicos, como a necessidade de

novas pesquisas cientificas para encontrar métodos que garantam um nível maior de

segurança.(?????????????????)

15

2 REVISÃO DA LITERATURA

A CRIPTOGRAFIA - HISTÓRIA

O Homem possui enorme capacidade de passar suas ideias para outras

pessoas, fazendo o uso de símbolos, e como forma de garantir maior segurança na

transmissão dessas ideias, passou a transformar linguagens oral em linguagem

escrita, fazendo uso de códigos.

Ao estudar uma forma de se comunicar secretamente, nos deparamos com a

Criptologia, palavra que deriva da palavra grega “tratado”. O estudo da Criptologia

se divide em dois sentidos, sendo o primeiro a Criptografia, palavra resultante das

palavras gregas “oculto” e “escrita”, sendo uma ciência que objetiva estudar a

estrutura e implementação de sistemas de codificação; e a Criptanálise, uma ciência

que visa estudar a segurança de sistemas de codificação e objetiva decodificar

informações secretas, ou seja, criptogramas.

Um acontecimento interessante e muito antigo, um exemplo de criptograma

aconteceu no século V a.C. quando um mensageiro levou da Pérsia para a Grécia

uma mensagem tatuada em seu próprio escalpo, a mensagem foi revelada quando

esse mensageiro teve sua cabeça rapada, a mensagem foi decodificada, se tratava

de uma ordem para que o vice-governador daquela época iniciasse um ataque

contra o povo dominante.

Durante o avanço da humanidade, rumo à tecnologia existente nos dias atuais

passou a existir diversas maneiras de comunicação secreta. Surgiu um muito

simples e famoso, seguido pelo imperador romano, Júlio Cesar. Quando o mesmo

precisava enviar informações secretas, fazia alterações no valor das letras do

alfabeto, fazendo uma troca de cada letra do alfabeto pela letra referente a quarta

posição afrente sucessivamente, trocando por exemplo a letra “a” pela letra “d”, a

letra “b” pela letra “e”, enviando por exemplo a palavra “dia”, o destinatário receberia

a palavra codificada “gld”. O rei da Inglaterra também fazia uso da criptografia,

16

enviava mensagens onde as palavras tinham suas letras trocadas de posição. Em

escrituras sagradas também foram encontradas mensagens criptografadas, quando

em Jeremias XXV, 26, o profeta troca a palavra Babel pela palavra Sheshak,

fazendo trocas e substituições das letras do alfabeto.

Com o passar dos anos, a ideia de se comunicar secretamente aumentou

significativamente, indo desde mensagens simples de carinho entre duas pessoas

até mensagens utilizadas por forças militares. Então percebeu-se que era

necessário padronizar um modelo de transmissão dessas mensagens. O primeiro

homem que escreveu sobre Criptografia foi John Trithenius, chefe de uma abadia, o

mesmo publicou um tratado no ano de 1518, nesse tratado foram fornecidas todas

as bases para os escritores que pensassem em escrever após ele.

É evidente então que a história, desde muito tempo é marcada por diversos

casos de tragédias e de sucessos referentes a prática de utilizar códigos secretos.

SEGURANÇA EXTERNA

Em um sistema qualquer, é necessário que as ferramentas de segurança se

completem entre si de tal forma que, no caso de uma pessoa com intenção de

invadir algumas proteções, acabe encontrando proteções para tornar este processo

difícil. Todas as ferramentas dirigidas a segurança de um sistema sem que o mesmo

sistema interaja nos mesmos estão unidos no que denomina-se segurança externa.

A segurança externa divide-se em dois grupos, sendo um a segurança física,

que uni as ferramentas que barram os agentes físicos de destruir a informação

contida no sistema. tais como agua, descarga elétrica, etc. A segurança física tem

um aspecto de proteção contra desastres, sendo importante também controlar itens

como a temperatura e limpeza do ambiente onde estão instalados os equipamentos

e também um aspecto proteção contra intrusos, ou seja, impedir o acesso físico de

pessoas não autorizadas, utilizando de meios como, por exemplo, cartões

magnéticos, reconhecimento de voz, etc. O segundo item do grupo e a segurança de

17

administração que por sua vez uni as ferramentas mais comuns, impedindo o

acesso logico de pessoas no sistema. Nesta segurança, se entende todas as

ferramentas cujo objetivo e dar acesso logico ao sistema, podendo ser realizado

através de um a porta do sistema ou ate mesmo de outro sistema, utilizando-se de

redes de comunicação. Para controlar as solicitações de acesso ao sistema,

permitindo a ligação no caso de um utilizador solicitar e para passar pelo controle

que e feito, utiliza-se algo denominado de proteção de acesso, que de tal forma

impede o acesso quando a identificação do utilizador ou usuário não for satisfatória.

O password(palavra de acesso), tem a finalidade de identificar o utilizador do

sistema, normalmente, a forma mais conhecida e utilizada e pedir um username

(nome de usuário) e uma senha, desta forma o equipamento acessa o banco de

dados, com a finalidade de comparar os dados, aceitando ou rejeitando o acesso.

Um administrador de sistema pode verificar de tempos em tempos se alguma

pessoa tentou lesar a segurança do sistema, utilizando-se das solicitações de

acesso sem sucesso que foram registradas no sistema, o administrador também tem

poder para em qualquer momento poder adicionar ou retirar dos utilizadores do

sistema o direito de acessar o mesmo. Em um caso de acesso ao sistema, é

atribuída ao usuário (username), uma senha (password) de inicio. Pode ser que o

nome do usuário seja utilizado por varias pessoas, mas a senha não se recomenda

desta forma que, a senha seja trocada periodicamente e que não seja escrita em

nenhum local, sendo a melhor opção, guardar na própria mente. O password usado

para acessar o sistema geralmente não é exibido na tela como no caso dos demais

dados que o usuário insere através do teclado, devido ao segredo da mesma, porém

estes dados são conservados nos ficheiros do sistema, sendo codificada ou

criptografada, impedindo o fácil reconhecimento por algum intruso, se é que me

entendem. O processo de acesso a um sistema, pergunta para se identificar como

usuário e verificação dos dados inseridos, é denominado login (Figura 1.1). O

processo inverso, ou seja, o processo de saída do sistema é denominado logout.

18

Username: xxxxxxxxxPassword:_

Figura 1.1. Processo de acesso ao sistema.

SEGURANÇA EXTERNA (o mesmo título???)

Todas as ferramentas utilizadas na segurança de um sistema operacional,

sendo o próprio sistema quem controla as mesmas, formam um tipo se segurança

que podemos chamar de segurança interna. Na segurança do processador há duas

ferramentas de proteção, sendo uma delas, os estados protegidos referentes ao

núcleo do sistema (kernel) e não protegidos (usuário) e a outra é o relógio de partes

físicas do sistema (hardware) evitando o bloqueio do processador. No caso de

segurança de memória, refere-se a ferramentas que evitam que um usuário acesse

informações de outro usuário sem estar autorizado, citamos duas ferramentas para

este caso, sendo uma delas os registros limítrofes e a outra é o estado protegido e

não protegido do processador. No caso de segurança de ficheiros, sabemos que o

maior objetivo de um computador é o tratamento do bom ou mau uso da informação

que é armazenada nos ficheiros. Quando estas informações são perdidas ou

alteradas por engano ou sem intenção, ocorrem graves transtornos que podem por

sua vez ser até mesmo irreparáveis, sendo então necessário decidir medidas de

19

segurança no sistema, sendo consideradas de duas formas diferentes, uma delas é

a disposição dos ficheiros e a outra é a privacidade dos ficheiros. Quanto a

disponibilidade dos ficheiros, dizemos que um ficheiro deve possuir a informação

prenunciada e disposta no ato em que o usuário do mesmo necessitar.

Para assegurar esse processo, deve ser feito cópias de segurança (backup).

O backup tem a finalidade de realizar periodicamente, ou seja, hora, dia, semana,

mês e assim por diante, uma cópia de tudo que há nos ficheiros, assim o fazendo,

se os ficheiros forem destruídos, será possível a recuperação dos dados a partir da

ultima cópia realizada. As cópias de segurança e a utilização dos dados destas

cópias, geralmente são feitas através de programas de uteis que compõem o

sistema operacional. A confiança do backup depende na maioria das vezes do

período em que foram feitas as cópias, assim como do ritmo ao qual são feitas as

atualizações nos tais ficheiros. As cópias de segurança devem ser guardadas em

memórias eletrônicas, os seja, em discos rígidos, cds, pen drives, entre outras,

garantindo a segurança das mesmas. Realizando ou não as cópias de segurança,

também é indicado que haja uma duplicidade dos ficheiros no mesmo disco local,

sendo possível desta forma, realizar uma recuperação rápida dos ficheiros originais

caso haja necessidade.

Geralmente, os sistemas tendem a automatizar as cópias de segurança

através de programas instalados pelo usuário, que periodicamente faz a verificação

da data em que foi feita a ultima cópia dos ficheiros, e também a data da ultima

atualização, após estes processos, o programa irá decidir quais ficheiros terão que

ser copiados. Em sistemas onde trabalham muitos usuários ao mesmo tempo, sendo

feitas atualizações de numerosos ficheiros também ao mesmo tempo, as cópias de

segurança feitas periodicamente acabam não sendo suficientes para parar a perda

de informação.

Quando o computador falha por motivos inesperados, e justamente no ato da

falha uma sessão de trabalho com muitos usuários estava ativa, pode ser feita a

recuperação de informação dos ficheiros com a solicitação da ultima cópia de

segurança. Porem em algumas situações especificas, esse processo de

recuperação das informações pode não ser suficiente, se recomenda então, que

20

estes sistemas, haja ficheiros auxiliares, onde estarão guardadas todas as

alterações que um determinado usuário realize em seus ficheiros. Nestes ficheiros

também ficarão armazenadas as mais recentes alterações nas informações dos

ficheiros, como também as que apresentarem diferenças em relação as já

existentes. O nome destes ficheiros é denominado ficheiros log, eles são

processados em conjunto com as eventuais cópias de segurança, sendo

manuseados por usuários do sistema operacional que por sua vez possuem o

conhecimento necessário para fazer as recuperações de dados, ou seja, tem a

vocação voltada para isso. Quanto à privacidade dos ficheiros, temos que garantir

que o conteúdo dos mesmos esteja protegido de acessos sem autorização.

Comentando sobre os riscos de permitir a todos os usuários do sistema o direito ao

acesso a qualquer ficheiro e a qualidade referente a severidade a um caso onde o

sistema deve permitir acessos controlados e submissos a regras predefinidas, quem

por sua vez indicam as resultantes autorizações. Quando um usuário do sistema

inicia sua sessão de trabalho, logicamente com sua identificação, o sistema de

proteção importa um domínio composto por uma sucessão de recursos e operações

permitidas. Como por exemplo, uma relação de ficheiros aos quais é permitido o

acesso, não tendo porem a permissão para acessar aos que não constarem na

relação.

Os sistemas operacionais na maioria dos casos armazenam a informação

referente aos domínios naquilo que denominamos de matriz de domínios, ou seja, as

filas mostram os domínios existentes e as colunas mostram os recursos. Os

elementos desta matriz apontam o direito de usufruir do recurso adequado ao

domínio. No caso de uma matriz abrigar pouca informação, é indicado recorrer a

outro modo de armazenamento de informação sobre domínios. Este modo tem a

finalidade de atribuir a cada recurso uma lista com os domínios quem podem utiliza-

los, oque denomina-se de lista de acesso. Existe outro modo, onde a cada domínio

se atribui uma lista de recursos aos quais se podem acessar, neste caso o modo de

armazenamento denomina-se lista de capacidades. Nos casos citados, a

administração das listas de controle é feita utilizando comandos de uso restringido,

ou seja, somente livre aos administradores do sistema.

21

CRIPTOGRAFIA BÁSICA

A seguir é exibida rapidamente a criptografia para aqueles leitores que não

estejam familiarizados com ela. Em uma criptografia básica, sua função é levar uma

mensagem ou um arquivo, que por sua vez é chamado de texto plano, e criptografá-

lo para um texto cifrado que por sua vez a pessoa autorizada possa convertê-lo

outra vez para um texto plano. Que para muitas outras pessoas o texto é um monte

de incompreensível numero de bits. Para iniciantes na área, possam ser estranhos

os algoritmos (funções) criptográficos e de decriptação que devem ser pública, pois

tentar mantê-los em segredo nunca funciona e mostra para as pessoas uma falsa

sensação de segurança pensando que estão mantendo segredo, porem no mercado

esse tipo de ação é chamada de segurança por obscuridade que é utilizada por

amadores em segurança e também estão incluídas muitas das grades corporações

multinacionais que na verdade deveriam saber disso.

A seguir podemos conferir a figura 2.1 onde mostramos que o segredo

depende de parâmetros denominados chaves. Se neste caso, o P for um arquivo de

texto plano, KE a chave criptográfica, C o texto cifrado e E for uma função, dizemos

que C = E(P, KE). Basicamente isto seria uma explicação de criptografia. Ela indica

que o texto cifrado foi obtido através de um algoritmo criptográfico E, onde o texto

plano P e a chave criptográfica KE são os parâmetros. Igualmente em P = D(C, KD)

onde D é um algoritmo de decriptação e KD se refere a uma chave de decriptação. É

possível possuir o texto plano P que corresponde ao texto cifrado C e a chave de

decriptação KD. Para isso é preciso ser executado o algoritmo D com C e KD sendo

os parâmetros.

22

Figura 2.1 Relações entre texto plano e texto cifrado.

INVASÃO DE CRACKERS

Na maioria dos casos um cracker invade um sistema simplesmente se

conectando a um computador alvo, fazendo varias tentativas de combinações, ou

seja, nome e senha, até encontrar uma que seja aceita. Na parte do nome, muitas

vezes as pessoas acabam usando seus próprios nomes como entrada. No caso de

um nome ser Rodolfo Almeida Dos Santos, almeira, rodolfo, almeida_rodolfo,

ro.santos e ro.almeira são algumas das possibilidades aceitáveis. Um cracker pode

com certeza montar uma lista informatizada de relativos nomes de entradas

apropriados aos países nos quais tenha intenção de atacar, por exemplo, fazendo

uso de um livro intitulado 5001 nomes para seu bebê, que facilmente pode ser

comprado em uma liraria.

Se o cracker tiver a intenção de invadir um país como Brasil ou Portugal, o

nome de entrada almeida_rodolfo pode funcionar bem, mas se for um país como

Japão, é muito provável que não funcione. Obviamente acertar apenas o nome de

entrada não é o suficiente para invadir um sistema, sendo necessário também

possuir a senha, oque pode ser mais fácil do que se pensa. Em 1979, dois ingleses

chamados Morris e Thompson, elaboraram um trabalho clássico referente a

segurança por senha em sistemas do tipo Unix. Foi feita por eles uma lista de

possíveis senhas como: nomes de rua, primeiro e ultimo nomes, nomes de bairros,

palavras invertidas, números de placas de veículos e pequenas quantidades de

caracteres onde cada um dos caracteres se liga a uma probabilidade. Com a lista

criada, eles pegaram outra lista que continha senhas de um sistema e fizeram uma

comparação entre ambas, para verificar se haveria algum acerto.

23

O resultado foi que mais de oitenta e seis por cento de todas as senhas

contidas na lista de senhas de um sistema, correspondiam com a lista que eles

haviam criado. No ano de 1990 um resultado bastante parecido foi elaborado por

outro inglês chamado Klein. Quando pensamos que usuários com maior

qualificação fazem melhor a escolha de suas senhas, estamos enganados. No ano

de 1997 foi realizada uma análise referente a senhas no distrito financeiro de

Londres, e o resultado foi impressionante, pois foi concluído que oitenta e dois por

cento das senhas poderiam ser descobertas facilmente. Esta analise mostrou que as

senhas eram geralmente compostas por palavras abusivas, expressões sexuais,

nome de pessoas da família, nomes de um ator famoso e de objetos comuns. Sem

ter muito trabalho, esta é uma forma do cracker construir uma lista com possíveis

nomes de entrada e senhas. Seria Importante saber se as senhas são fáceis de

serem descobertas? Sim. No ano de 1998, uma reportagem feita em uma cidade da

Califórnia, nos Estados Unidos revelou que um morador dessa cidade, mais

precisamente da cidade de Berkeley, conseguiu fazer uma configuração em diversos

computadores que não eram usados, para serem usados como ferramenta de

discagem, ou seja, os computadores teriam que discar dez mil números de telefone

de certo prefixo, por exemplo, (011)4473-XXXX, em ordem aleatória para que não

despertasse a atenção da empresa telefônica, que com certeza poderia desconfiar e

tentar achar o autor desse fato. Após uma quantia de dois milhões e seiscentas mil

chamadas, esse homem encontrou de certa forma, vinte mil computadores em uma

região, onde duzentos deles não possuíam nenhuma segurança sequer.

Foi estimado então, que um cracker disposto a gastar o seu tempo e limite

sendo persistente conseguiria invadir em torno de setenta e cinco por cento dos

computadores que neste caso, apresentassem alguma segurança. Em um outro

caso, um morador da Austrália, desenvolveu um programa que também tinha a

finalidade de discar uma quantia de telefones com determinado prefixo e fazia

tentativas de invasão, quando a invasão era bem sucedida, o programa exibia uma

mensagem avisando que houve sucesso. Muitos sistemas puderam ser invadidos

com esse método, um deles foi o computador de um banco localizado na Arábia

Saudita, com essa invasão, ele conseguiu obter números de cartões de crédito e

24

seus respectivos limites, em um dos casos, o limite chegava a ser cinco milhões de

dólares. Uma informação deste tipo usada de forma impropria, certamente levaria o

banco a negar que a falha era possível, jogando a culpa para o cliente, ou seja,

alegando que o cliente não tomou as devidas precauções em relação aos seus

dados pessoais ou senhas, entre outros. Outra opção de um computador poder

atacar é através da Internet. Qualquer computador que esteja conectado na Internet

possui um endereço denominado IP (Internet Protocol) de 32 bits que é usado para

identificar o mesmo. O IP é escrito de forma pontuada decimal como 1.100.200.201,

onde cada um dos quatro campos do endereço IP é formado por um decimal que

pode ser de 0 a 255.

É possível que um cracker teste com facilidade se algum computador tem

endereço de IP e se permanece ligado e em execução, inserindo dados do tipo

comando e IP, como por exemplo, digitando: ping 184.156.0.6. Teste um exemplo

disso, no sistema operacional Windows, abra o menu iniciar, clique em “Executar” e

digite “cmd”, na janela que for aberta, digite “ping”, dê espaço e insira o IP de sua

maquina, ou se preferir, insira um domínio. Quando a tentativa de conexão é aceita,

já se tornam possíveis as tentativas de invasão com nomes e senhas de uma

suposta lista criada pelo cracker. Sem duvidas um processo desse tipo no inicio será

de tentativa e erro, mas não deixa de ser possível que em poucos minutos o cracker

possa obter o arquivo onde se localizam as senhas, por exemplo, no caso de

sistemas Unix, onde o arquivo fica localizado em “/etc/passwd” e pode ser lido

livremente. Com o sucesso destes processos, basta que o cracker colete

informações de como as ocorrências do nome de entrada se comportam e qual a

sua frequência, podendo desta forma ter mais sucesso em futuras tentativas.

Diversos daemons (Disk And Execution Monitor – Monitor de Execução e de Disco)

de telnet (Protocolo de Internet que possibilita a interface de terminais e de

aplicações com o auxilio da Internet) podem derrubar uma conexão TCP

(Transmission Control Protocol – Um dos principais protocolos da suíte de protocolo

de Internet) após um numero de tentativas de acesso ao sistema sem sucesso, isso

no caso é feito para atrapalhar os crackers (Wikipedia, 2012).

25

A resposta dos crackers a este processo é feito através da configuração de

vários threads, ou seja, processos que se dividem a si mesmos em duas ou mais

tarefas, podendo ser executados em conjunto, a partir de diversos computadores,

simultaneamente. A finalidade do cracker com relação a isto é realizar o tanto de

tentativas por segundo que a largura de banda permitir. Para um cracker, ter que

desbaratar a invasão sobre diversos computadores ao mesmo tempo não significa

desvantagem. Ao invés de tentar invadir computadores seguindo a ordem do

endereço IP com o comando ping, o cracker tem a opção de querer atacar um

sistema ou uma empresa especifica, por exemplo, a Universidade Uninove em

uninove.br. Possivelmente se obtem o endereço da universidade, ou seja, uma lista

com alguns endereços IP da mesma, basta digitar o comando da seguinte forma:

“dnsquery uninove.br”. Esse comando é usado com o auxilio de programas de

computador. No passado, uma unidade de alocação possuía 65 536 endereços,

porem uma vez que a organização possua essa unidade de alocação e o cracker

consiga obter os dois primeiros bytes de seu endereço IP que o comando dnsquery

fornece, se torna possivelmente fácil que um comando ping seja executado sobre

cada um dos 65 536 endereços, desta forma, verificando os que irão responder e

aceitar uma conexão telnet. Apos este processo, basta que o cracker volta sua

atenção em tentativas de encontrar nomes e senhas. Estes processos todos, de

iniciar com um nome de domínio, obter os dois primeiros bytes dos endereços IP,

executar um comando que verifique os endereços ativos, verificar os endereços que

aceitam conexão e tentar as combinações prováveis de nome e senha, são

processos muito adequados ao que se quer obter. Com certeza muitas tentativas

serão necessárias para obter algum sucesso, mas como os computadores são

maquinas ótimas para fazerem repetições de comandos ate obter um resultado,

bastaria um computador com uma conexão de alta velocidade e programado, então

depois de longas horas o cracker daria uma olhada para verificar os processos que

obtiveram sucesso. Além das senhas de usuários terem a característica de serem

frágeis, a senha raiz, ou seja a senha do root também tem essa característica. Na

primeira vez que um sistema e configurado, as instalações recebem uma senha, ou

seja, a senha default, e particularmente, essas instalações acabam, muitas vezes

não trocando a senha default.

26

O numero de invasões aumentam continuamente, pois elas estão sendo feitas

por usuários que não tem um nível de conhecimento alto o bastante para

escreverem seus próprios códigos interpretados (scripts), então eles pegam os que

encontram prontos na internet. Tais códigos resultam em ataques com grande forca

e recebem dos usuários que realmente são hackers, o nome de script kiddies

`garotada dos códigos interpretados`. Os scripts kiddies geralmente não têm a

intenção de roubar informações, apenas querem achar as maquinas que seriam

facilmente invadidas, ou seja, as maquinas que estão desatentas aos ataques.

CRIPTOGRAFIA DE CHAVE SECRETA

Com a criptografia de chave secreta é possível produzir algoritmos

criptográficos seguros e eficientes que são denominados algoritmos de chave

secreta ou simétricos onde por exemplo um usuário “A” com a chave K, criptografa

um texto “x”, que se possa entender, ou seja, legível em um texto “y” que não se

possa entender, ou seja, ilegível, obtendo fK(x) = y. Acontece então que o texto “y” é

enviado para o computador de destino, sendo usado pelo usuário “B”, onde esse

texto “y” devera ser decriptografado através de um algoritmo inverso fK-1(y). O texto

“x” será obtido se e só se o usuário de destino “B” conhecer a chave K. Quem não

possuir a chave K, dificilmente conseguira decifrar o texto “y” tendo apena o

conhecimento do texto “x”. Para que isso aconteça, é necessário que o algoritmo

seja bem projetado, ou seja, seguro.

Algoritmos de chave secreta nos permitem resolver problemas como por

exemplo o de esconder informações sigilosas do usuário “A” que não quer que

informações como os números do seu cartão de credito sejam vistos por pessoas

não autorizadas, mas quer que o usuário “B” receba esses números. Quando o

usuário “A” deseja enviar as informações que contém os números do seu cartão de

crédito apenas para o usuário “B”, ocorre-se um acontecimento chamado de

autenticação do destino.

27

Com o uso de algoritmos de chave secreta também é possível resolver

problemas de como impedir que pessoas desautorizadas leiam informações que já

tenham sido enviadas e estão armazenadas por exemplo no computador do usuário

“B”. Também existe uma variação desse problema, mas no caso, quando é para

impedir que pessoas desautorizadas leiam e alterem as informações que já tenham

sido enviadas e estão armazenadas no computador do usuário “B”, esse

acontecimento é denominado de detecção de integridade de informação.

ALGORITMO DATA ENCRYPTION STANDARD – DES

O algoritmo DES teve um enorme significado no avanço cientifico, pois ele foi

o primeiro algoritmo de criptografia em que o seu conhecimento se tornou publico.

Antes do algoritmo DES, todos os que existiam eram algoritmos secretos. Isso pelo

fato de que a seguranças das informações envolvidas nessa história dependem do

conhecimento da chave secreta e não no conhecimento do próprio algoritmo. Tal

algoritmo foi desenvolvido pela IBM e no ano de 1977 foi publicado em uma

conferencia chamada National Bureau of Standards – NBS, para que pudesse ser

usado como padrão nos Estados Unidos da América, garantindo segurança nas

informações comerciais.

Quando a função do algoritmo DES é decriptografar as informações, ele

utiliza a mesma chave usada para criptografar as mesmas, possui entrada de 64

bits, uma chave de 56 bits e uma saída de 64 bits, é especialmente criado para ser

implementado em circuitos integrados, pois devido à ocorrência de varias

permutações com sequencias longas de bits, acaba sendo desapropriado para ser

implementado em software.

A Inspiração para que surgisse o algoritmo DES se teve a partir de um

algoritmo que já havia sido criado pela IBM, um algoritmo chamado de LUCIFER,

28

onde sua diferença era na chave que por sua vez era de 128 bits, porem a chave de

entrada e a chave de saída eram também de 64 bits. A agencia nacional de

segurança NSA nos Estados Unidos da América possivelmente havia feito pedidos

para que a tal chave fosse encurtada. O Algoritmo LUCIFER foi projetado no final da

década de 1960, o líder da IBM nessa época era Horst Feisted e em meados da

década de 1970, Walter Tuchman e Carl Meyer eram os lideres do projeto de

criação do DES.

Entre as diversas criticas que o algoritmo DES enfrentou antes de ser tornar

padrão foi pelo motivo de possuir uma redução na chave que era de 128 bits no

algoritmo LUCIFER para então a chave de 56 bits, o que o tornaria mais

economicamente exequível calcular a chave secreta, ainda que fosse por força

bruta, ou seja, enumerando as chaves. Independente das criticas, o algoritmo DES é

muito utilizado, principalmente em áreas de finanças.

No ano de 1997 o National Institute of Standards in Technology – NIST lança

abertamente uma competição para algum algoritmo que fosse o sucessor do DES,

sendo chamado de AES – Advanced Encryption Standard. Essa competição obteve

dezoito propostas de diversos países, sendo que três dessas propostas inscritas

foram descartadas em agosto do ano de 1998 em uma reunião feita para avaliação

pelo NIST, quando pesquisadores perceberam que tais propostas apresentavam

vulnerabilidades fortes. A primeira reunião foi na Califórnia, e então uma segunda

reunião ocorreu no ano de 1999 em Roma, porem dessa vez nenhuma proposta foi

descartada e neste mesmo ano de 1999, o NIST anunciou uma lista onde haviam

cinco finalistas para o concurso, sendo eles o RC6, Mars, Twofish, Serpent e

Rijndael.

CRIPTOGRAFIA DE CHAVE PÚBLICA

Em 1976 dois autores publicaram um artigo seminal propondo um método de

criptossistema denominado de chave pública – (Diffie, W. e Hellman, M. E.). O

criptossistema propunha que cada usuário deveria possuir um par de chaves (S,P)

29

onde S se referia à sua chave particular e secreta, e o P se referia a uma chave

pública.

Matematicamente, existindo um relacionamento entre as chaves S e P, de

certa forma é possível dizer que:

Se uma variável x indicar um texto que se possa ler, e S() indicar a aplicação

da chave S, se faz uma transformação de “x” em S(x)=y dessa forma P(y)=x sendo

que P() indica uma aplicação da chave P, se entende então que S é a chave

invertida da chave P, resultando em P(S(x))=x.

É computacionalmente fácil de realizar o calculo do par de chaves (S,P).

Calcular a chave S a partir do conhecimento da chave P é

computacionalmente difícil.

Obtendo-se as chaves S e P, os cálculos de S() e P() são

computacionalmente fáceis.

Sem conhecer a chave S, o calculo de S() é computacionalmente difícil.

Com a representação destas informações, cada usuário calcula em seu

próprio computador o par de chaves (S,P), ficando armazenada de forma segura e a

chave P é pública, ou seja, é enviada a todos.

ALGORITMO RSA

Publicado no ano de 1978, o algoritmo RSA tem o nome derivado das iniciais

de seus atores, os quais foram Ron Rivest, Adi Shamir e Len Adleman. Trata-se de

um algoritmo que se baseia na dificuldade computacional quando o assunto é fatorar

determinado numero inteiro em números primos.

No RSA, a principio deve-se calcular um par de chaves, obtendo-se um

usuário “A” com uma chave pública “P” e uma chave particular secreta “S” de tal

forma, onde será preciso calcular dois números inteiros primos e longos que

possuem centenas de bits, esses dois números chamados de q e r deverão ser

30

multiplicados, obtendo o produto “n”. Como por exemplo, q=2 e r=11. A fatoração

rápida de n em números primos deve ser inviável, para que isso aconteça, é

aconselhável que o comprimento de q esteja perto do comprimento de r.

31

3 METODOLOGIA

Método: Dedução

Procedimentos: Levantamento Bibliográfico

32

4 CRONOGRAMA

EXECUÇÂO DE ATIVIDADES 1º

Mês

Mês

Mês

Mês

Pesquisa bibliográfica X

Leitura e fichamento X

Coleta e seleção de dados X

Revisão bibliográfica X

Análise crítica do material X

Aplicação de questionários (caso necessário) X

Análise e compilação dos dados obtidos X

Elaboração preliminar do texto X

Redação provisória X

Entrega ao orientador para correção X

Revisão e elaboração final X

Entrega oficial X

33

REFERÊNCIAS BIBLIOGRÁFICAS

CABRAL João, A Criptografia. 2013. Disponível em.

http://repositorio.uac.pt/handle/10400.3/2554. Acesso em: 28/04/2014.

MEHRAN MISAGHI, Um Ambiente Criptográfico Baseado na Identidade. São Paulo,

2008. Disponível em: http://www.teses.usp.br/teses/disponiveis/3/3142/tde-

15092008-135036/publico/versaofinaltesemehranmisaghi.pdf. Acesso em:

02/05/2014.

OKUMURA, Mirella Kiyo. Números primos e criptografia RSA. São Carlos, 2014.

Disponível em: http://www.teses.usp.br/teses/disponiveis/55/55136/tde-04042014-

101744/publico/mirella_okumura_revisada.pdf. Acesso em: 07/05/2014.

E.ALCALDE, J.MORERA e J.A.PEREZ, Introdução aos sistemas Operativos,

Segurança nos Sistemas Operativos, Editora Mcgraw, pag. 175-184, 1993.

ANDREW S. TANENBAUM, Sistemas Operacionais Modernos, Segurança, Editora

Pearson, 2ª Ed., pag. 439-502, 2003.

PIGATTO, Daniel Fernando. Segurança em Sistemas embarcados críticos –

utilização de criptografia para comunicação segura. São Carlos, 2012. Disponível

em: http://www.teses.usp.br/teses/disponiveis/55/55134/tde-06092012-154011/

publico/DanielFernandoPigatto.pdf. Acesso em: 08/05/2014.

RODRIGUES, Douglas. Um estudo comparativo das especificações de segurança

aplicada a uma arquitetura orientada a serviços. São Carlos, 2011. Disponível em:

34

http://www.teses.usp.br/teses/disponiveis/55/55134/tde-19072011-140007/publico/

douglas.pdf. Acesso em: 08/05/2014.

TERADA, Routo. Segurança de dados: criptografia em redes de computador/Routo

Terada, 2ª edição revista e ampliada – São Paulo: Blucher, 2008.