Você está na página 1de 42

UNIO EDUCACIONAL DE BRASLIA UNEB INSTITUTO DE CINCIAS SOCIAIS APLICADAS ICSA CURSO DE GRADUAO EM ADMINISTRAO DE SISTEMAS DE INFORMAO

ANLISE DE SEGURANA DO PORTAL

CRISTINA LOPES DA SILVA VICTOR NEVES EVANGELISTA

Braslia DF 2011

CRISTINA LOPES DA SILVA VICTOR NEVES EVANGELISTA

ANLISE DE SEGURANA DO PORTAL

Monografia apresentada como parte dos requisitos para obteno do ttulo de Tecnlogo em Desenvolvimento de Sistemas com enfase em Redes de Computadores , pela Unio Educacional de Braslia UNEB Habilitao: Tecnologia Orientador: Prof. Clauder Costa de Lima

Braslia DF 2011

EVANGELISTA, Victor N. / DA SILVA, Cristina L. Anlise de segurana do portal / Victor N. Evangelista, Cristina L. Da Silva. Unio Educacional de Braslia UNEB, 2011. Espcie de trabalho (monografia para graduao, Trabalho de Concluso de Curso TCC, para graduao em Administrao de Sistema de Informao mdulo optativo em redes) 1. Segurana 2. HTML 3. Sniffer 4. SSL 5. RSA 6. Criptografia

CRISTINA LOPES DA SILVA VICTOR NEVES EVANGELISTA ANLISE DE SEGUNRAA DO PORTAL

Monografia aprovada como requisito final para obteno do grau de Tecnlogo em Desenvolvimento de Sistemas com enfase em Redes de Computadores , pela Unio Educacional de Braslia UNEB Habilitao: Tecnologia Data de aprovao ______ / ______ / ______ BANCA EXAMINADORA Nome: Instituio: Unio Educacional de Braslia UNEB Assinatura: _____________________________________ Nome: Instituio: Unio Educacional de Braslia UNEB Assinatura: _____________________________________ Nome: Clauder Costa de Lima Instituio: Unio Educacional de Braslia UNEB Assinatura: _____________________________________

Braslia DF 2011

Dedicatria
Dedico este trabalho a meus pais que sempre me motivaram e investiram em meu desenvolvimento intelectual. Que sempre batalharam, lutaram e tiveram foras para me proporcionar o melhor que podiam me dar. Desenvolvimento que me permitiu chegar a este trabalho e que me ajudar a abrir portas no futuro. Victor Neves.

Agradecimentos
Victor Neves, Depois de tanto esforo e dedicao, posso contemplar a realizao de um trabalho que marcar para sempre a minha vida acadmica, o meu primeiro Trabalho de Concluso de Curso. Agradeo enormemente a todas as pessoas que ajudaram na construo deste trabalho. Agradeo em especial minha amiga Cristina Lopes da Silva que tanto me apoiou e me motivou a acreditar que concluiramos esta etapa de nossas vidas; e a nosso orientador Clauder Costa de Lima que se dedicou tanto quanto eu e Cristina para a realizao deste trabalho, cedendo seu tempo e pacincia para nos ajudar sempre quando precisvamos. Alm das pessoas que nos ajudaram, sem ns trs isto no seria possvel. Cristina Lopes, um momento muito feliz na minha vida -- a realizao de um sonho -tive que ter coragem, perseverana e dedicao. Contei com o apoio do Fernando, meu companheiro que esteve sempre comigo torcendo pelo meu sucesso. Dedico minha Me a quem honro por ser um exemplo de mulher; a todos os professores na pessoa do professor Clauder que muito contribuiu para a minha formao, me ajudando com seus conhecimentos para concluso do meu curso.

RESUMO

Este trabalho trata da utilizao da anlise de segurana no portal da UNEB, uma ferramenta importante e essencial a alunos e professores. Todos aqueles que utilizam o portal devem estar e se sentir seguros quanto privacidade de seus dados pessoais e acadmicos. Aps a apurao dos dados, verificou-se que h uma grande deficincia de segurana na arquitetura do atual sistema que permite ter acesso a informaes acadmicas de alunos e professores. A instituio deve buscar uma infraestrutura de segurana mais conveniente, possibilitando a alunos e professores melhor segurana de seus dados pessoais. Palavras-chaves: Segurana, HTML, sniffer, SSL, RSA.

Resumen

Este trabajo trata del uso del anlisis de seguridad en el portal de la UNEB, una herramienta importante y esencial para alumnos y profesores. Todos aquellos que usan el portal deben estar y sentirse seguros encuanto a la privacidad de sus datos personales y acadmicos. Despues de la anlisis de los datos, se verific que hay una gran deficincia de seguridad en la arquitectura del actual sistema, que permite tener acceso a informaciones acadmicas de alumnos y profesores. La institucin debe buscar una infraestructura de seguridad mas conveniente, posibilitando a alumnos y profesores mejor seguridad de sus datos personales.

ndice de ilustraes
Ilustrao 1: Modelo cliente servidor........................................................................................14 Ilustrao 2: Requisio e resposta via HTTP. (Basham, Sierra & Bate, 2008) ......................17 Ilustrao 3: Aparncia ta tela descrita no cdigo HTML........................................................18 Ilustrao 4: Envio de formulrio entre usurio e servidor. (Basham, Sierra & Bate, 2008) . .19 Ilustrao 5: Demonstrao da cifragem de cdigo (ITI, 2005, p.2).......................................22 Ilustrao 6: Demonstrao da encriptao por chave pblica e privada (ITI,2005,p.4 com alteraes do autor)...................................................................................................................23 Ilustrao 7: Primeira fase do handshake SSL..........................................................................26 Ilustrao 8: Segunda fase do handshake SSL..........................................................................26 Ilustrao 9: Terceira fase do handshake SSL...........................................................................27 Ilustrao 10: Quarta fase do handshake SSL...........................................................................28 Ilustrao 11: Incluso do cdigo de autenticao de mensagens (Stallings, p.382, 2008)......29 Ilustrao 12: Wireshark capturando login e senha...................................................................30 Ilustrao 13: Aluno sendo capturado.......................................................................................33 Ilustrao 14: Demonstrao do atual sistema de login............................................................33 Ilustrao 15: Demonstrao do funcionamento do ataque .....................................................34

SUMRIO
1. Introduo .............................................................................................................................11 2. Fundamentao terica ........................................................................................................12 2.1. Internet ..........................................................................................................................12 2.1.1. World Wide Web ...................................................................................................12 2.1.2. Correio Eletrnico ................................................................................................13 2.1.3. Funcionamento Web .............................................................................................13 2.1.4. Definies de portal ..............................................................................................15 2.2. Protocolos .....................................................................................................................15 2.2.1. O protocolo TCP ...................................................................................................15 2.2.2 O protocolo HTTP .................................................................................................16 2.3. HTML ...........................................................................................................................17 2.3.1 JavaScript ...............................................................................................................19 2.4. Segurana de Redes ......................................................................................................19 2.4.1. Definies do MD5 ..............................................................................................21 2.4.2. Criptografia ...........................................................................................................21 2.4.2. Como RSA calcula suas chaves ............................................................................23 2.4.3. O protocolo SSL ...................................................................................................24 2.4.3.1. Primeira fase..................................................................................................25 2.5.3.2. Segunda fase..................................................................................................26 2.4.3.3. Terceira fase...................................................................................................26 2.4.3.4. Quarta fase ....................................................................................................27 2.5. Sniffer de Rede .............................................................................................................29 2.5.1. Wireshark ...................................................................................................................29 2.6. Ferramenta Computacional ..........................................................................................30 2.6.1. Plataforma utilizada ..............................................................................................30 3. Anlise Institucional .............................................................................................................31 3.1. Instituio .....................................................................................................................31 3.2. Portal UNEB .................................................................................................................31 3.3. Anlise da segurana do portal .....................................................................................32 3.4. Apresentao dos resultados .........................................................................................35 4. Propostas de Segurana ........................................................................................................36 5. Concluso .............................................................................................................................38 6. Referncia.............................................................................................................................39 7. Apndices .............................................................................................................................40 7.2. Cdigo HTML da pgina usada para a intruso no portal ............................................40 7.2. Imagem completa do handshake do SSL ......................................................................41

11

1. Introduo
O objetivo principal deste Trabalho de Concluso do Curso foi avaliar algumas falhas de segurana no portal da UNEB (Unio Educacional de Braslia). Atravs de tcnicas simples e fceis ser exposto como pode-se obter o acesso no autorizado a uma conta do portal. Este trabalho abordar desde temas simples como comunicao pela Internet, programao para Web at temas mais especficos como captura de pacotes, criptografia e comunicao criptografada, onde ser apresentado de forma clara e objetiva como foram os passos para se chegar ao resultado esperado a invaso e uma possvel soluo para a segurana. Durante dois meses foram capturados acessos de usurio no Portal, atravs de tcnicas prprias com a utilizao de um analisador de trafego de redes. Com isso foi detectado uma vulnerabilidade que permite acesso no autorizado. A monografia finalizada explicando o mecanismo de segurana adotado, seus fundamentos e como ele, basicamente opera.

12

2. Fundamentao terica
Para obter um melhor clareza do assunto apresentado, necessrio a compreenso de determinados conceitos que tem por funo fornecer o conhecimento mnimo necessrio para o entendimento do assunto apresentado.

2.1. Internet
Segundo Kurose&Ross, Internet uma rede de computadores mundial, isto , uma rede que conecta milhes de equipamentos de computao em todo o mundo(Kurose&Ross,p.1,2004). J Tanenbaum possui uma viso sutilmente diferente, ao afirmar que: Embora possa parecer estranho para algumas pessoas, nem a Internet nem a World Wide Web uma rede de computadores. [] A resposta simples que a Internet no uma nica rede, mas uma rede de redes (Tanenbaum, p.2, 2003). Embora sejam definies sutilmente diferentes, podemos analisar que ambos concordam que a Internet seja uma enorme conexo entre diversas redes e/ou equipamentos. Internet pode ser definido tambm como um conjunto de computadores autnomos interconectados por uma nica tecnologia (Tanenbaum p.2, 2003). A Internet, sendo uma infra estrutura mundial que conecta milhes de equipamentos, fornece tambm vrios servios. Os servios mais utilizados so os servios de correio eletrnico e World Wide Web.

2.1.1. World Wide Web


A Internet oferece vrios servios a seus usurios. Um dos servios oferecidos pela Internet o servio Web. Servio Web proveniente de World Wide Web que uma estrutura arquitetnica que permite o acesso a documentos vinculados espalhados por milhes de mquinas na Internet. (Tanenbaum, p.651, 2004). A World Wide Web, tambm conhecida apenas como Web um sistema

13 distribudo que funcionada na Internet (Tanenbaum,p.2.2003). Um sistema distribudo um sistema onde um conjunto de computadores independentes parece ser, para seus usurios, um nico (Tanenbaum, p.2,2003). Vale enfatizar que a Web no uma rede separada, mas apenas uma das muitas aplicaes distribudas que utilizam os servios de comunicao providos pela Internet (Kurose&Ross, p.3,2004). Devido ao fcil manuseio da Web, esta popularizou e virou sinnimo de ser A Internet. sistema coerente.[...]

2.1.2. Correio Eletrnico


O correio eletrnico um dos servios mais utilizados na Internet, sendo um servio muitas vezes importante s pessoas que conectam Internet. Isso faz com que ele seja necessrio para suas comunicaes. O correio eletrnico funciona de forma anloga ao servio de caixa postal tradicional, o remetente manda uma mensagem a um destinatrio e coloca na mensagem o seu endereo de destino, o correio a partir de seu sistema entrega a mensagem ao devido destino (FILIPPO; SZTAJNBERG, 1996, [1]).

2.1.3. Funcionamento Web


A Web funciona a partir de um modelo chamado cliente/servidor, um programa cliente que roda em um sistema final pede e recebe informaes que de um servidor que roda em outro sistema final (Kurose&Ross, p.7, 2004). Quando se deseja acessar uma pgina na World Wide Web (www), a requisio enviada pela rede ao servidor Web que hospeda a pgina, que imediatamente responde com a pgina solicitada.

14

Ilustrao 1: Modelo cliente servidor Esse modelo amplamente usado e constitui a base da grande utilizao da rede (Tanenbaum, p.4, 2003). Um servidor web uma mquina destinada a disponibilizar pginas para os clientes. Um servidor web pode armazenar dezenas ou as vezes centenas de pginas e disponibilizar essas pginas sempre que algum requisitar. Uma pgina Web constituda de objetos. Um objeto simplesmente um arquivo. (Kurose&Ross, p.66, 2003) Todas as atividades na Internet que envolvem duas ou mais entidades de comunicao remota so governadas por protocolos. (Kurose&Ross, p.6, 2004) Um protocolo define o formato e a ordem das mensagens trocadas entre duas ou mais entidades que se comunicam, bem como as aes tomadas durante a transmisso e/ou recepo da mensagem ou outro evento. (kurose&Ross, 2006) Um conjunto de regras em que controla o formato e o significado dos pacotes ou mensagens que so trocadas pelas entidades (Tanenbaum, p.39, 2004). Existem dezenas de protocolos, um para cada servio. Quando requisitamos uma pgina de um servidor web, o protocolo em que utilizamos, por exemplo, o protocolo HTTP. As informaes so armazenadas nos chamados pacotes. Pacotes so como envelopes de correspondncia, imagine um texto impresso (a informao), e voc precisa enviar esse texto para outra pessoa em outra cidade. Voc decide

15 enviar por correspondncia, mas existe um detalhe, voc ter que dividir seu texto (informao) em pginas e enviar separadamente em vrios envelopes (pacotes). Um protocolo define o formato e a ordem das mensagens trocadas entre duas ou mais entidades comunicantes, bem como as aes realizadas na transmisso e/ou no recebimento de uma mensagem ou outro evento. (KUROSE & ROSS, p.13)

2.1.4. Definies de portal


Um portal um site na Internet que funciona como centro aglomerador e distribuidor de contedo para uma srie de outros sites ou subsites dentro, e tambm fora, do domnio ou subdomnios da empresa gestora do portal. (Wikipdia,Portal Internet) Na sua estrutura mais comum, os portais constam de um motor de busca, um conjunto, por vezes considervel, de reas subordinadas com contedos prprios, uma rea de notcias, um ou mais fruns e outros servios de gerao de comunidades e um diretrio, podendo incluir ainda outros tipos de contedos. (Wikipdia, Portal Internet)

2.2. Protocolos
Um protocolo, em contraste, um conjunto de regras que governa o formato e significado de quadros, pacotes ou mensagens que so trocados entre entidades parceiras dentro de uma mesma camada. As usam protocolos para implementar suas definies de servios. (Tanenbaum, p.31, 2003) Uma rede pode usar diversos protocolos como TCP/IP, NetBEUI, SPX/IPX entre outros. (Torres, p.34 , 2001)

2.2.1. O protocolo TCP


O protocolo TCP (Transmission Control Protocol Protocolo de Controle de Transmisso) foi projetado especialmente para oferecer um fluxo de informaes fim a fim confivel em uma inter-rede no-confivel (Tanenbaum, p.566, 2004).

16 Este protocolo define como deve ser feita uma conexo entre cliente/servidor. Existem outros recursos que tambm so oferecidos pelo TCP como por exemplo, a garantia de entrega de todos os pacotes ao destinatrio, bem como a confirmao de entrega dos mesmos; Controle de fluxo, impedindo que um transmissor rpido sobrecarregue um receptor lento (TANENBAUM, p.45); entre outros.

2.2.2 O protocolo HTTP


O protocolo HTTP (HyperText Markup Language - Linguagem de Marcao de Hipertexto) define como os clientes web (isto , os browsers) solicitam pginas web aos servidores (isto , os servidores web) e como os servidores transferem pginas web aos clientes (Kurose&Ross p.66, 2003) Quando um navegador deseja uma pgina Web, ele envia o nome da pgina desejada ao servidor, utilizando o HTTP. (Tanenbaum, p.44 , 2004) O protocolo HTTP trabalha utilizando o protocolo TCP e define uma estrutura de como o cliente e o servidor trocam informaes. Um site www consiste Locator). (Torres, p.125, 2001) Atravs do protocolo HTTP, a requisio e a resposta so encaminhadas ao servidor e ao cliente. Para utilizar o protocolo HTTP, basta escrever http:// antes do endereo do site que se deseja acessar, por exemplo, se ao acessar um determinado site o caminho for http://www.sitedesejado.com ento sabe-se que o protocolo utilizado o HTTP. em uma srie de documentos hipermdia,

acessados atravs de um endereo ,tambm chamado URL (Uniform Resource

17

Ilustrao 2: Requisio e resposta via HTTP. (Basham, Sierra & Bate, 2008)

2.3. HTML
Todas as pginas na Internet, na verdade, possuem um conjunto de cdigos que so interpretados pelo browser e traduzidos em tabelas, cores, imagens, linhas e etc para os usurios. Quando vemos uma pgina cheia de tabelas coloridas existe, na verdade, cdigos que quando lidos pelo browser ele os interpreta como sendo tabelas, cores, linhas e etc. Esse cdigo se chama HTML (HyperText Markup Language ou, Linguagem de Marcao de Hipertexto). Toda pgina HTML delimitado pelas tags <html> </html>, tudo o que tiver entre essas tags ser interpretado como cdigo HTML. A primeira marca o incio, a segunda marca o fim. E dentro de cada pgina HTML existe o que chamamos de formulrio, um fomulrio tem seu incio marcado por <form> e seu fim por </form>, todos os campos que estiverem dentro do formulrio e forem preenchidos,marcados ou selecionados sero enviados ao servidor de destino. No

18 servidor existe um arquivo especfico que ir receber o que o usurio marcou,digitou ou selecionou dentro do formulrio. Dentro das tags existem os chamados parmetros, um desses parmetros diz ao formulrio para qual o endereo ele deve enviar os dados do usurio, o parmetro responsvel por essa ao o parmetro action. E dentro dos fomulrios temos tambm os campos, que so o que preenchemos ou selecionamos, os campos so inseridos usando a tag <input type=text>, e definimos no parmetro type se ele texto (text), selecionvel (select), um boto (buton), enviar um formulrio (submit) e etc. Ento suponha que exista o seguinte cdigo:
<html> <form action=paginaDestino > <span>Apos digitar login e senha clique em enviar</span> Login:<input type=text name=login value= /><br> Senha:<input type=text name=senha value=/><br> <input type=submit name=Acessar value=Acessar /> </form> </html>

O resultado do cdigo exemplificado anteriormente seria mostrado assim ao usurio final:

Ilustrao 3: Aparncia ta tela descrita no cdigo HTML Esse cdigo nos diz que, os campos de login e senha (identificados pelo parmetro name), sero enviados paginaDestino, informado pelo parmetro action. Ou seja, a valor que ser escrito ser enviado ao servidor aps clicar no boto Enviar. Para melhor entendimento, veja a imagem seguinte:

19

Ilustrao 4: Envio de formulrio entre usurio e servidor. (Basham, Sierra & Bate, 2008)

2.3.1 JavaScript
Javascript uma linguagem que liga uma pgina web a uma experincia interativa. (Morrison, p.4, 2008) proporcionando ao cliente uma interatividade maior com os recursos que uma pgina web proporciona. Cdigos javascript, como podese deduzir, rodam no browser, ou seja, rodam no lado do cliente. A tecnologia javascript funciona juntamente com HTML como um dos modernos componentes para a construo de uma pgina web (Morrison, p.4, 2008) e entra em ao sempre que solicitado. Javascript possui, dentre suas vrias opes, a opo de enviar valores do HTML para um destino atravs do mtodo submit(). O cdigo delimitado pelas tags <script type="text/javascript"> </script> Com javascript possvel enviar ao destinatrio os parmetros que desejado, e como desejarmos, inclusive, se pode pegar parmetros digitados pelo usurio e modificar, adicionando, retirando ou alterando de alguma forma o contedo.

2.4. Segurana de Redes


O que segurana? Estado, condio, qualidade ou efeito de seguro (Dicionario Aurlio, p.730, 2004)

20 Segurana de redes est ligada diretamente Internet, pois nessa rede mundial que a maioria dos ataques ocorrem. fato que cada dia que passa se torna mais difcil manter informaes seguras nas redes de computadores. Para Tanembaum A segurana um assunto abrangente e inclui inmeros tipos de pecados. Em sua forma mais simples, a segurana se preocupa em garantir que as pessoas mal-intencionadas no leiam ou, pior ainda, modifiquem mensagens enviadas a outros destinatrios. A segurana so procedimentos para minimizar a vulnerabilidade de bens (qualquer coisa de valor) e recursos, onde a vulnerabilidade qualquer fraqueza que pode ser explorada para violar um sistema de informao que ele contm.(Soares 1995, p. 448) Outra preocupao da segurana se volta para as pessoas que tentam ter acesso a servios remotos, os quais elas no esto autorizadas a usar. Ela tambm permite que voc faa uma distino entre uma mensagem supostamente verdadeira e um trote, a segurana trata de situaes mensagens legtimas so capturadas e reproduzidas , alem de lidar com pessoas que negam terem enviado determinadas mensagens
Confidencialidade, autenticao, integridade e no-repudiao vem sendo considerados componentes fundamentais da comunicao segura h bastante tempo.(McCumber, 1991)

Segundo Kurose&Ross no existe uma rede inacessvel, porm o que deve ser feito para evitar um ambiente propcio a ataques, mais seguro e menos vulnervel atender os elementos bsicos de segurana. Confidencialidade - Somente o remetente e o destinatrio pretendido devem poder entender o contedo da mensagem transmitida. Autenticao - O remetente e o destinatrio precisam confirmar a identidade da outra parte envolvida na comunicao - confirmar que a outra parte mesmo quem alega ser.

21 Integridade e no repudiao de mensagem - Mesmo que o remetente e o destinatrio consigam se autenticar reciprocamente, eles tambm querem assegurar que o contedo de sua comunicao no seja alterado, por acidente, ou por m inteno, durante a transmisso. Disponibilidade e controle de acesso A necessidade imperiosa de segurana na rede ficou dolorosamente obvia nos ltimos anos a numerosos ataques de recusa de servio (denial of service DoS) que utilizaram uma rede, um hospedeiro ou qualquer outro componente da infraestrutura de rede, para usurios legitmos. Se sua empresa gasta mais em caf do que em segurana de TI, ter um incidente de segurana (Richard Clarke)

2.4.1. Definies do MD5


Message Digest 5: universalmente adotado de conhecimento publico, fornece o resumo criptogrfico de 128 bits a partir de um conjunto de dados. De acordo com Tanenbaum MD5 o quinto de uma srie de sumrio de mensagens criadas por Ronald Rivest. Ele opera desfigurando os bits de uma forma to complicada que todos os bits de sadas so afetados por todos os bits de entrada. O MD5 j usado h mais de uma dcada, e muitas pessoas o tem atacado. Foram encontradas algumas vulnerabilidades, mas certas etapas internas impedem que ele seja rompido. Porem se as barreiras restantes dentro do MD5 carem ele poder falhar eventualmente, apesar disso no momento em que escrevemos ele ainda resiste. (Tanembaun 2004, pag 571).

2.4.2. Criptografia
Primeiramente de fundamental importncia entender o que uma conexo criptografada. Uma conexo criptografada um canal de comunicao onde toda a informao transitada entre os pontos so criptografadas com o objetivo de garantir sua confidencialidade. Uma das implementaes mais utilizadas nos dias de hoje a implementao de certificados digitais e o protocolo Secure Sockets

22 Layer (SSL). Um certificado digital um documento eletrnico que fornece dados sobre seu remetente denominado chave pblica, esse documento eletrnico serve para garantir a autenticidade de uma informao, ou seja, se sua fonte realmente quem ela diz ser. A tecnologia de certificao digital foi desenvolvida graas aos avanos na rea de criptografia (processo de escrever em cdigos visando deixar um texto incompreensvel para pessoas no autorizadas). O processo de ocultao chamado de cifragem, e o processo inverso, de decifragem. Portanto, manter uma informao secreta basta cifr-la e manter a chave segura.

Ilustrao 5: Demonstrao da cifragem de cdigo (ITI, 2005, p.2)

Atualmente existem dois tipos de criptografia: a simtrica e a de chave pblica (ITI,p.3, 2005 ). A criptografia por chave simtrica realiza a cifragem e a decifragem a partir de uma nica chave, a mesma que cifra, a mesma que decifra. A criptografia por chave pblica (tambm conhecida como chave assimtrica) utiliza dois tipos de chaves, a chave pblica e a chave privada. A chave pblica est disposio para todo o mundo, j a chave privada de conhecimento apenas do emissor da chave pblica. Utilizando um tradicional exemplo no mundo dos estudos de chaves criptogrficas, se Alice quer falar com Bob, Alice busca a chave pblica de Bob e em seguida ela criptografa usando essa mesma chave, e envia a mensagem criptografada para Bob. Bob utiliza sua chave privada (que

23 somente ele tem conhecimento dessa chave) para descriptografar a mensagem enviada por Alice.

Ilustrao 6: Demonstrao da encriptao por chave pblica e privada (ITI,2005,p.4 com alteraes do autor)

Existem vrios algoritmos que tratam de chaves privadas, no entanto, a chave mais utilizada hoje em dia o RSA, que se tornou quase um sinnimo de criptografia de chave pblica (Kurose&Ross, 2003, p.450). H dois componentes inter-relacionados no RSA: Escolha de chave pblica e chave privada; O algoritmo de criptografia/decriptografia.

2.4.2. Como RSA calcula suas chaves


Para escolher a chave pblica e a chave privada o RSA realiza os seguintes procedimentos: 1. Escolher dois nmeros grandes, p e q. Quanto maior os valores, mais difcil ser quebrar o RSA, porm, mas tempo levar para cifrar e decifrar. Recomenda-se o tamanho mnimo de 1024 bits; 2. Calcular n=pq e z=(p-1)(q-1); 3. Escolher um nmero e menor que n e que no tenha fatores comuns

24 com z. A letra e usada na criptografia; 4. Achar um nmero d, tal que ed-1 seja exatamente divisvel por z (ou seja, no haja resto na diviso). Em outras palavras, escolhemos d tal que ed mod z = 1. O nmero inteiro , que o resto da diviso de um nmero x por um nmero n, chamado de x mod n. Portanto, a nossa chave pblica o par de nmeros (n,e); e a chave privada, (n,d). Para Alice enviar um padro de bits m a Bob, Alice precisa calcular o resto inteiro da diviso de me por n, expressado por c=m e mod n Para decifrar, Bob processa
m=c mod n
d

2.4.3. O protocolo SSL


O SSL foi desenvolvido em 1995 pela empresa Netscape como resposta a uma necessidade de criao de uma conexo segura entre cliente e servidor. Tal protocolo constri uma conexo segura entre dois soquetes, incluindo: 1. Negociao de parmetros entre cliente e servidor; 2. Autenticao mtua entre cliente e servidor; 3. Comunicao secreta, e 4. Proteo da integridade dos dados. (Tanenbaum, 2003 , p.364)

25 Dois conceitos importantes que so necessrios entender so os conceitos de sesso e conexo: Conexo: , de fato, o envio de informao.Para o SSL, as conexes so relacionamentos peer-to-peer (Stallings,2008,p381) e uma conexo est associada a apenas um sesso. Sesso: uma sesso SSL uma associao entre um cliente e um servidor (Stallings,2008,p381). A sesso define parmetros de segurana (como algoritmos, identificadores de sesso) para as conexes, parmetros que podem ser usadas por vrias conexes, ou seja, de uma sesso, podem haver vrias conexes estabelecidas. Para entender o seu funcionamento, vamos divid-lo em duas partes. A primeira trata do Handshake, ou seja, do estabelecimento da sesso. A segunda, do envio da mensagem. O cenrio em que este projeto criado uma conexo entre cliente a servidor (empresa). Vamos comear examinando o Handshake, que dividido em 4 fases:
2.4.3.1. Primeira fase

O cliente envia para o servidor um client_hello contendo a verso do SSL mais alta que entendida pelo cliente, com seu nmero randmico (RNc) gerado e quais cifras ele pode entender (Kurose&Ross,p.476 , 2004 ). O servidor responde ao cliente com um server_hello, com a informao de qual verso do SSL ser usada, obviamente, a verso utilizada ser a maior verso admitida tanto pelo cliente quanto pelo servidor. enviado tambm qual o nmero randmico do servidor (RNs) e qual ser a chave criptogrfica a ser usada, normalmente a chave RSA devido ao seu amplo aceitamento e por seu nvel de segurana. (Stallings ,p.386, 2008 )

26

2.5.3.2. Segunda fase

Inicialmente, o servidor envia seus certificados x509 caso precise ser autenticado. Se esse certificado no for assinado por alguma autoridade conhecida, ele tambm envia uma cadeia de certificados que pode ser seguida de volta at chegar a uma autoridade original (Tanenbaum, p. 865,2003). Todos os navegadores so pr-carregados com cerca de 100 chaves pblicas, o que permite estabelecer uma cadeia entre as chaves. Em seguida, o servidor pode ou no, enviar um server_key_exchange. Isso vai depender da chave usada, em caso de chave RSA essa mensagem no necessria. O servidor solicita um certificado do cliente com a mensagem certificate_request e por fim encerra a segunda fase com um server_done.Depois de enviar essa mensagem, o servidor esperar pela resposta de um cliente. Essa mensagem no possui parmetros (Stallings,2008,p.388) .

Ilustrao 8: Segunda fase do handshake SSL

2.4.3.3. Terceira fase

Essa fase a fase mais complexa do Handshake.

27 O cliente verifica a veracidade do certificado do servidor, ou seja, se o certificado vlido e se os parmetros do server_hello so vlidos. O cliente envia tambm seu certificado (aquele pedido na segunda fase pelo servidor), se ele no possuir um certificado prprio, ele envia uma uma mensagem de alerta no_certificate. Caso o cliente tenha informado seu certificado, o servidor verifica se o mesmo vlido. Nessa fase necessrio o envio da client_key_exchange, e seu contedo depender do tipo de troca de chaves, no caso RSA. Tendo a RSA como chave criptogrfica, o cliente gera um pre-mastersecret (pms), e envia ao servidor na mensagem client_key_exchange. O cliente com seu RNc, com o RNs e com o pms gera o master_secret (ms). O master_secret um valor de 384 bits (48 bytes) de uso nico gerado por essa sesso por meio da troca de nmeros randmicos RNc e Rns.

Ilustrao 9: Terceira fase do handshake SSL

2.4.3.4. Quarta fase

Essa fase no considerada parte do Protocolo de Estabelecimento de Sesso (Stallings,2008,p.389), essa fase parte do Protocolo de Mudana de Especificao de Cifra. O cliente envia ento um finished message (mensagem de concluso) e especifica o master_secret como a nova chave de sesso com o parmetro change_cipher_spec. Aps essa resposta, o servidor envia seu prprio

28 finished message com seu change_cipher_spec. Aqui termina a fase do handshake , onde o cliente e o servidor podero trocar dados na camada de aplicao.

Ilustrao 10: Quarta fase do handshake SSL

Para uma compreenso mais clara e ampla do funcionamento do handshake, todas as quatro fases se encontram em anexo. Aps a fase do handshake, hora do transporte real das informaes utilizando o SSL. Inicialmente, cada mensagem fragmentada em blocos de 16384 bytes (Stallings, p. 383, 2008), em seguida aplicada opcionalmente a compactao deste fragmento (Stallings, p. 383, 2008). Aps a fragmentao e a compactao opcional uma chave secreta derivada dos dois nonces e da chave pr-mestre concatenada com o texto compactado, e o resultado passa por um hash com o algoritmo hash combinado (normalmente, o MD5). Esse hash anexado a cada fragmento como o MAC (Tanenbaum, p.867, 2003). Ou seja, o MAC (cdigo de autenticao de mensagens) derivado de um clculo dos dois nonces e do PMS trocados na fase do handshake juntamente com o tamanho do fragmento a ser transportado, como mostra a figura a seguir:

29

Observe que o MAC calculado antes que a criptografia ocorra e que o MAC ento criptografado juntamente com o texto claro ou texto claro compactado (Stallings, p.383, 2008). Aps este processo, o fragmento poder ser enviado ao cliente.

2.5. Sniffer de Rede


Um sniffer um analisador de trfego de rede. Tudo o que trafega na rede, trafega dentro de pacotes, ou seja, todas as informaes so subdivididas em partes menores, armazenadas em pacotes e enviados ao seu destino. Um analisador de trfego intercepta esses pacotes, desembrulha-os e mostra ao usurio todas as informaes contidas naquele pacote.

2.5.1. Wireshark
Wireshark atua como um Sniffing na rede, sedo um analisador de protocolos de rede para o Unix e o Windows. Permite a interatividade com o browser dos dados analisados, checagem em nvel detalhado do pacote, inclusive de dados gravados em discos. O Wireshark destacou-se pelo filtro apurado de protocolos e a

30 possibilidade de visualizar o fluxo reconstrudo de uma sesso TCP. (site oficial wareshark: http//www.wireshark.org) A ferramenta Wireshark pode capturar valores de campos HTML, o parmetro elogin refere-se ao campo que contm o valor da matrcula do aluno ou professor; o parmetro esenha refere-se ao campo que contm o valor da senha do aluno ou professor. Na imagem exemplificada abaixo, um usurio com a matrcula 01234567-8 deseja acessar sua pgina em um portal. Ento so enviados login e senha (no caso,encriptada em MD5) ao servidor.

Ilustrao 12: Wireshark capturando login e senha

2.6. Ferramenta Computacional 2.6.1. Plataforma utilizada


Todas as capturas de pacote, testes e intruses foram feitas em plataforma Linux Ubuntu 9.10 Karmic Koala, um Sistema Operacional de cdigo aberto e livre. Para as capturas de pacotes foi usado o programa Wireshark verso 1.2.2. A pgina HTML usada para o ataque ao portal foi feito em um arquivo simples de texto.

31

3. Anlise Institucional
Neste captulo, faremos uma breve anlise institucional do objeto de estudo, no caso, a faculdade UNEB.

3.1. Instituio
A faculdade oferece cursos de graduao, ps-graduao e extenso nas reas de cincias sociais e exatas.
A Unio Educacional de Braslia (UNEB) foi criada em 06 de agosto de 1979, a fim de desenvolver o ensino nas diversas reas do conhecimento humano. Iniciou suas atividades em abril de 1981, com a realizao do primeiro concurso vestibular para trs cursos autorizados naquela oportunidade. Atualmente, a UNEB mantenedora dos Institutos de Cincias Sociais Aplicadas (ICSA) e de Cincias Exatas (ICEX), possuindo cursos de graduao, ps-graduao e seqenciais e ensino distncia. (www.uneb.com.br)

3.2. Portal UNEB


O Portal da UNEB a ferramenta da instituio que foi posta em

funcionamento a partir do segundo semestre de 2004 na qual feita a comunicao direta com os alunos, contendo informaes da Faculdade, professores, alunos e disciplinas, alm disso consta histricos escolares, notas, presenas, faltas e o resultado final de cada matria. No portal os professores lanam a vida acadmica dos seus alunos e por esse motivo necessrio que o mesmo seja seguro. Segundo pesquisas realizadas, foram constatados algumas falhas de segurana no Portal. Atualmente, so feitas cerca de 80 mil acessos por ms. Desde o trmino de sua construo, foi iniciada a utilizao com as seguintes funcionalidades de disponibilizar as notas de cada aluno, bem como seus histrico de notas; disponibilizar as matrias em que o aluno est cadastrado; Visualizar dados pessoais; disponibilizar caixa de e-mail; e para professores, lanar notas, pautas e arquivos para as matrias ministradas. O portal atende a todas as propostas idealizadas (Rogrio Franco). O portal conta com informaes importantes para o aluno tanto da vida

32 acadmica quando da vida pessoal. Uma vez que o portal possui informaes que podem comprometer tanto a vida acadmica e pessoal dos alunos, deveria este obedecer as normas de segurana atentando para: Confidencialidade: visa garantir que a informao seja acessvel somente por quem tiver autorizao para isso. O portal da UNEB no garante a confidencialidade das informaes de alunos e/ou professores; Integridade: procura assegurar que a informao no seja adulterada durante uma transmisso entre duas partes. Uma vez dentro do portal de um aluno ou professor, possvel alterar alguns dados confidenciais; Disponibilidade: funcionamento contnuo e com bom desempenho do sistema. O portal, aparentemente, demonstra estar disponvel na maior parte do tempo; No-repdio: evita que uma das partes na comunicao negue a autoria da informao por ele produzida.

3.3. Anlise da segurana do portal


A pesquisa para o desenvolvimento deste Trabalho de Concluso de Curso foi motivado pelo interesse em medir a segurana das informaes do portal da Faculdade UNEB. Onde foram realizadas vrias pesquisas que resultou nas falhas que sero expostas. Com o auxlio de uma ferramenta que usada para analisar o trfego na rede, conhecido como sniffer de rede, foram coletados pacotes que trafegavam entre o cliente o servidor em diversas datas. A imagem abaixo mostra um login e uma senha sendo capturadas na data de 03/03/2011 s 19:02:46. O login foi parcialmente censurado para respeitar a privacidade do aluno; A senha, encriptada em MD5, est logo ao lado.

33

Ilustrao 13: Aluno sendo capturado

Um dos pacotes possua o nmero de matrcula e a senha do aluno. Porm, antes da senha ser enviada ao servidor, ela encriptada utilizando a chave simtrica MD5. Ento, os campos de login e senha (com os nomes elogin e esenha, respectivamente) so enviados ao servidor, mas interceptados pelo sniffer. A figura a seguir exemplifica o simples processo de envio de parmetros ao servidor que hospeda o portal:

Ilustrao 14: Demonstrao do atual sistema de login

A arquitetura atual do sistema de login demonstrada na figura anterior

34 possibilita que seja criada uma pgina em HTML que submeteria ao servidor responsvel pela autenticao logins e senhas capturadas Foi ento criado uma pgina em HTML para enviar ao servidor que hospedava o portal os campos de login e senha. Com um detalhe, era enviado a senha encriptada, direto ao servidor. No era necessrio saber a senha, e sim, o seu valor encriptado e a matrcula do aluno. Tais valores foram obtidos durante uma captura de pacotes, como mostra a imagem a seguir:

Ilustrao 15: Demonstrao do funcionamento do ataque

O servidor, ao receber a matrcula e a senha encriptada, verificava se existe tal aluno e se a senha est correta, caso estiver, o servidor devolveria ao atacante o acesso ao portal do aluno referente matrcula capturada. O cdigo da pgina criada para burlar o servidor est em apndice. Os parmetros da pgina criada devem conter os mesmos nomes da pgina do portal da UNEB. Pois o servidor espera os valores de um campo com um

35 nome j pr determinado no sistema de login, no caso, os nomes dos parmetros so elogin e esenha. A pgina deve conter tambm o mesmo action, para que os valores sejam enviados ao mesmo arquivo para onde seriam se o login fosse feito pela pgina original da UNEB.

3.4. Apresentao dos resultados


Durante um certo perodo foram coletados logins de alunos ao portal da UNEB, os resultados foram os seguintes: Data 28/02/11 02/03/11 03/03/11 16/04/11 Perodo (horas) 09:40 - 10:50 07:20 - 10:50 19:00 - 21:15 07:20 - 11:00 Total de acessos 5 4 5 2

O conhecimento do problema surgiu ao analisar a comunicao entre o portal da UNEB e o servidor Web destino. Ao realizar login, e com o auxlio de um analisador de trfego, notou-se que possvel ter acesso ao login e senha que o usurio inseriu.

36

4. Propostas de Segurana
A proposta para contornar o problema de segurana no portal da UNEB a utilizao da tecnologia de criptografia conhecida como Secure Socket Layer, SSL. Com essa tecnologia, as informaes trafegadas entre cliente e servidor sero criptografadas, dificultando um acesso indevido. Para implementar esta tecnologia pode ser usado quase qualquer plataforma, porm, normalmente, usa-se a combinao Apache com o Sistema Operacional Linux. O Apache um servidor Web que pode fornecer uma conexo criptografada aps devidas configuraes. O Linux amplamente usado devido sua confiabilidade em segurana, por ser um sistema em que sua implementao relativo segurana mundialmente conhecida como fortemente bem desenvolvida. A chave privada pode ser gerada atravs de vrios sistemas geradores de certificados para autenticao, a mais conhecia o OpenSSL, uma ferramenta opensource e gratuita que pode gerar diversos certificados utilizando diversas chaves criptogrficas. Este certificado, que na verdade a chave pblica do servidor, ento submetido ao que conhecido como Autoridade Certificadora. Autoridade Certificadora ou simplesmente AC a principal componente de uma Infra-Estrutura de Chaves Pblicas e responsvel pela emisso dos certificados digitais (ITI ,p.11 ,2005). Entre as atividades de uma AC, a mais importante verificar a identidade da pessoa ou da entidade antes da emisso do certificado digital. O certificado digital emitido deve conter informaes confiveis que permitam a verificao da identidade do seu titular. (ITI, p. 12, 2005) A principal funo de um certificado vincular uma chave pblica a um protagonista (indivduo,empresa,etc) (Tanenbaum, p. 814, 2003) A vantagem mais notvel aps a utilizao do SSL o fato da mesma disponibilizar todas as primitivas necessrias para conexes seguras, a saber: Autenticao, troca de chaves de sesso com o uso de criptografia assimtrica

37 prvia, encriptao com mtodos simtricos, MAC e certificao (Largura,p.5 , 2000).

38

5. Concluso
Apesar do sistema atual fornecer uma encriptao em MD5 antes de submeter os campos de login e senha ao servidor, este no isenta o sistema de uma invaso a contas de alunos e professores. possvel a criao de uma pgina HTML e submeter login e senha (ainda que encriptada) ao servidor responsvel pela autenticao, e com isso, obter acesso. Com a atual arquitetura possvel obter acesso no autorizado a contas do portal e, com isso, obter acesso a informaes pessoais das vtimas como endereo, telefone residencial e histrico de notas. O fato de ser possvel obter acesso no autorizado tambm s contas dos professores permite alterar notas de alunos, comprometendo assim a vida acadmica dos mesmos. A proposta implementar uma conexo criptografada utilizando a tecnologia Secure Sockets Layer, popularmente conhecida tambm como SSL.

39

6. Referncia
STALLINGS, William. Criptografia e segurana de redes - Princpios e prticas. 4.ed. Prentice Hall,2008. TANENBAUM, Andrew S. Redes de computadores. 4.ed. Campus, 2003. KUROSE, James & ROSS, Keith. Redes de compuatdores e a internet Uma abordagem top down. 3.ed. Addison-Wesley, 2004. TORRES, Gabriel. Redes de computadores Curso completo. 15.ed. Axcel Books, 2001. BEZERRA, Marcos. Certificao digital Utilizao em aplicaes Web. Instituto de Educao Superior da Paraba, 2008. O que Certificao Digital? ITI, Braslia, 29 jul. 2005. Disponvel em: <http://www.iti.br/twiki/bin/view/Main/Cartilhas/CertificacaoDigital.pdf>. Acesso em: 17 Jan. 2011, 22:26. LARGURA, Luiz. Monografia sobre SSL para o Curso de Extenso Segurana em Redes de Computadores. UnB, 2000. http//www.wireshark.org acessado em : 20 Fev. 2011, 08:35 BASHAM, Bryan&SIERRA, Kathy& BATES, Bert. Head First Servlets & JSP. 2.ed. O'Reilly, 2008. MORRISON, Michael. Head First Javascript. 1.ed. O'Reilly, 2008.

40

7. Apndices
7.2. Cdigo HTML da pgina usada para a intruso no portal
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title> UNEB login </title> </head> <body> <center> <span> Apos digitar login e senha clique em enviar</span> <form action="http://portal.uneb.com.br/login.asp" method="post" id="portal" > Login: <input type="text" name="elogin" id="elogin" value="" /> <br> Senha: <input type="text" name="esenha" id="esenha" value="" /> <br> <input type="submit" name="Acessar" value="Acessar" /> </form> </center> </body> </html>

41

7.2. Imagem completa do handshake do SSL

42