Monografia Final - Oliveira Bongo
Monografia Final - Oliveira Bongo
Monografia Final - Oliveira Bongo
METROPOLITANO DE ANGOLA
LUANDA
2013
LUANDA
2013
Aprovado por:
_________________________________
(Presidente da banca)
_________________________________
Prof. Eng. .
_________________________________
Prof. Eng. .
_________________________________
Prof. Eng. Macaba Nobre Pedro
(Orientador)
Aprovado
No Aprovado
Grau de aprovao:_______________________
LUANDA
_________DE_____________________________________DE 2013
DEDICATRIA
AGRADECIMENTOS
RESUMO
ii
ABSTRACT
iii
LISTA DE ILUSTRAES
10
11
12
18
19
20
21
28
33
41
48
49
50
51
52
54
58
63
64
64
66
iv
LISTA DE TABELAS
35
vi
LISTA DE QUADROS
60
61
62
SUMRIO
RESUMO ...................................................................................................................... i
ABSTRACT ................................................................................................................. ii
LISTA DE ILUSTRAES ........................................................................................ iii
LISTA DE TABELAS ................................................................................................. iv
LISTA DE ABREVIATURAS E SIGLAS .................................................................... v
LISTA DE QUADROS ................................................................................................ vi
CAPTULO I - INTRODUO ................................................................................... 1
1.
INTRODUO ................................................................................................. 1
1.1.
1.2.
HIPTESES ................................................................................................... 3
1.3.
JUSTIFICATIVA ........................................................................................... 4
1.4.
OBJECTIVOS ................................................................................................ 5
1.4.1.
1.4.2.
Objetivos Especficos............................................................................... 5
1.5.
METODOLOGIA ........................................................................................... 6
1.6.
1.7.
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.
3.2.
3.2.2.2.
3.3.
3.3.1.
O Open ID ............................................................................................. 40
3.3.2.
O CAS ................................................................................................... 44
3.3.3.
O OAUTH ............................................................................................. 45
3.4.
O PasswordBox ............................................................................................ 49
3.4.1.
3.4.2.
Cadastrando as senhas............................................................................ 50
Resumo Terico ........................................................................................ 54
CAPTULO I - INTRODUO
1. INTRODUO
1.1.
DESCRIO DO PROBLEMA
1.2.
HIPTESES
Este trabalho parte da hiptese de que as ameaas e riscos intencionais e
1.3.
JUSTIFICATIVA
1.4.
OBJECTIVOS
1.5.
METODOLOGIA
1.6.
7
cientfica quer na viso da aplicao das tecnologias e das solues de segurana
que envolvem as empresas e as organizaes.
A proposta de um sistema de segurana restringir o acesso s informaes
e aos recursos, somente aos principais utilizadores que esto autorizados.
Esperamos designar os agentes que a cessam informaes e recursos mantidos em
um sistema distribudo. Portanto, um principal utilizador uma pessoa ou um
processo.
Mesmo assim, sistemas totalmente infalveis so impossveis, pois falhas
so inevitveis. Mas usurios e desenvolvedores no devem se conformar com
equipamentos e servios de baixa qualidade, desde que estejam dispostos a arcar
com o custo do emprego de tcnicas de tolerncia a falhas.
1.7.
8
classes de ameaas dos sistemas de computador, os Fundamentos da
segurana, exemplos de sistemas distribudos, os mtodos em que ocorrem os
ataques e as violaes e o resumo terico do capitulo.
c) O terceiro captulo aborda a autenticao de usurios, tal como a autenticao
baseada em conhecimentos, os mecanismos de autenticao, os sistemas de
autenticao, tambm focamos em alguns protocolos para autenticao com
introduo ao kerberos, como utilizar o mesmo, bem como as suas limitaes,
tambm fazemos uma breve abordagem sobre o protocolo LDAP, as suas
simplificaes e caractersticas, por outro lado ainda falando do mesmo
protocolo analisamos o protocolo OpenLDAP e por final o resumo terico
sobre o os aspectos citados da autenticao.
1945 1955 Incio: O programador tinha que reservar hora para usar o
computador.
Compartilhamento de recursos.
Redes de computadores.
PCs.
10
2.2.
11
Quando falamos em sincronizao, temos o conceito de sincronizao em um
sistema centralizado e no sistema distribudo. No sistema centralizado a
sincronizao feita atravs do compartilhamento de reas de memria, j no
sistema distribudo ocorre a sincronizao atravs da troca de mensagens. A
aplicao no sistema distribudo pode ser dividida em partes diferentes e ser
processada em diversos ncleos de processamento.
12
2.2.2. Objetivos dos Sistemas Distribudos
O objetivo criar a iluso que as aplicaes (ou as aplicaes) esto sendo
processadas em um nico sistema, permitindo a sensao que tudo isso ocorre sem
o compartilhamento de reas de memria, no entanto, a sincronizao feita a
partir de trocas de mensagens. Faz parte do objetivo a situao da aplicao ser
processada de modo que o ambiente que opera fornea situaes favorveis ao
compartilhamento de recursos, sabendo que diferentes recursos estaro
disponveis em unidades de processamento diferentes.
13
mesmo aplicaes que necessitem de um alto grau de sincronizaes, como a
utilizao global da prpria internet.
pretendida a ele, isso significa que deve estar muito claro e declarado o objetivo
da aplicao e os recursos com ncleos de processamento que sero dispostos.
a) Transparncia de acesso:
14
em Angola ou na Nigeria, pois o importante que o usurio tenha acesso ao
documento, sem se importar com a localizao fsica do recurso.
c) Transparncia de migrao:
15
2.2.4. Caractersticas notveis (continuao)
16
Heterogeneidade
Um sistema distribudo pode possuir:
2.3.
Vantagens e Desvantagens
2.3.1. Vantagens
17
2.3.2. Desvantagens
Dificuldades para negar o acesso indevido um fator crtico, sabendo que uma
das caractersticas do sistema ter mltiplas instncias de processamento, isso
significa que uma aplicao pode ser gerenciada por diversas localidades, dando
uma vazo mais pertinente acessos concorrentes, isso significa como se fosse
uma grande balana, ao mesmo tempo que podemos ter um grande grau de
disponibilidade, podemos tambm ter um grau muito grande de possibilidades de
acesso, no qual o risco de acesso no autorizado cresce proporcionalmente.
18
2.4.
2.4.1. A Internet
Temos um conjunto de computadores independentes que interligam-se
mutuamente com o objetivo de compartilhar recursos, dando a impresso ao
usurio que isso tudo um nico sistema.
Os protocolos permitem que um programa em execuo em qualquer lugar
envie mensagens para programas em qualquer outro lugar.
Conjunto de servios abertos, ou seja, pode ser ampliado com a adio de novos
computadores e servidores e novos tipos de servio.
2.4.2. A Intranet
A intranet no nada mais, nada menos do que a parte da Internet
administrada separadamente.
Tambm composta por vrias redes locais interligadas por backbones. Note que
o seu tamanho pode variar desde um nico site a Mltiplos sites.
19
2.4.3.
Computao Mvel
Computao Mvel a capacidade de um dispositivo computacional e os
Computao Ubqua
Computao Ubqua a capacidade de estar conectado rede e fazer uso
20
21
2.5.
22
A literatura atual descreve que o hacker faz isso apenas para se
sobressair entre membros do mesmo grupo e dos demais invasores de sistemas.
No mundo virtual, o trfego de pacotes entrando e saindo de uma rede entre
computadores dentro de uma empresa deve ser controlada de forma segura e
abrangente. Dentro desse contexto, a literatura da rea da Cincia da Computao
tem demonstrado que a segurana da informao deve surgir como identificador
que por sua vez deve ter como objetivo localizar os poucos pontos em que um
controle seguro realizado.
Com isso, o controle deve ser feito de maneira a filtrar a permisso do
trfego de pacotes que por ele so autorizados passagem de informaes
simultneas com livre acesso ao sistema. Assim, a segurana da informao
prope que toda e qualquer informao, armazenada temporria ou
permanentemente que trafegue por redes de computadores esteja protegida contra
ameaas, isto , a informao de maneira geral deve manter a sua
confidencialidade, integridade e disponibilidade em situaes diferenciadas de
acesso devido aos riscos e ameaas de invaso em relao segurana e
privacidade do sistema em geral.
Quanto a isso, a teoria mais aceita sobre esse assunto a de que h um
estgio de conscincia da capacidade de resoluo de problemas que diz respeito
ao trfego de informaes e das limitaes na capacidade dessas resolues
quando o assunto hackerismo1 e outros tipos de invasores e as novas formas de
invases a sistemas e redes de computadores.
Hackerismo: Corrente ou doutrina que um hacker segue- Tcnicas utilizadas para prticas de crimes na
informtica Pedro Ramos de Almeida Jnior.
23
Na Cincia da Computao, os riscos e as ameaas intencionais ou no
intencionais na segurana de maneira geral representam para redes e sistemas um
fator de preocupao que tem sua importncia quando se trata de vulnerabilidade
a que est exposta pessoas e empresas. Portanto, h que se pensar em mecanismos
de defesa de maneira clara e objetiva. Dessa forma, os mecanismos de defesa para
a proteo do ambiente computacional devem ser planejados e realizados com
base no conhecimento das ameaas e dos riscos existentes e nos que possam vir a
existir como forma de preveno e proteo ao sistema em que se est a trabalhar.
Isso permite que vulnerabilidades possam ser exploradas em ataques aps
as identificaes preventivas terem sido aplicadas ao sistema especificado.
Conhecidos os riscos existentes e as ameaas iminentes que possam invadir o
sistema, danific-lo e compromet-lo, a segurana intrarrede passa a controlar e
eliminar as possibilidades de violao da informao. Entretanto, preciso que se
tenha em mente a no possibilidade de se proteger o sistema contra riscos e
ameaas (ainda) no conhecidos.
E mais ainda, demonstrar que no possvel proteger o sistema contra
riscos e ameaas que possuem caractersticas desconhecidas, tambm. Por outro
lado, eliminar todos os riscos e ameaas j conhecidas facilita o controlo de
entrada de pacotes de informao que compromete o sistema e sua segurana. Em
termos de cifras isso significa investimentos pesados na rea. Mesmo assim, no
se justifica investimentos mais altos do que o valor da prpria informao. Assim,
o fundamental que os riscos e as ameaas sejam gerenciados para que sejam
acompanhados de maneira permanente com a finalidade de que eles sejam
minimizados. E dessa forma possibilitar que riscos residuais sejam tolerados pelo
utilizador ou empresa, ou mesmo transferidos para terceiros. O que passa a ser
24
tido como ponto de referncia para a resoluo de outros problemas relativos
segurana do sistema.
2.5.1. Diviso da Segurana em Sistemas Distribudos:
Comunicao entre usurios ou Processos em diferentes mquinas.
Autorizao de acesso a recursos Disponveis.
2.5.2. Segurana em um sistema est relacionado a
Confidencialidade
Integridade
Disponibilidade
Autenticidade
No Repdio
2.5.3. Tipos de ameaa de segurana a Serem consideradas:
Intercetao
Interrupo
Modificao
Fabricao
25
2.6.
Polticas de Segurana
Descrevem precisamente quais aes as entidades de um sistema tero
Modus operandi: Modus operandi uma expresso em latim que significa "modo de operao".
Utilizada para designar uma maneira de agir, operar ou executar uma atividade seguindo sempre os
mesmos procedimentos. Esses procedimentos so como se fossem cdigos.
26
informaes que esto inadequadamente protegidas em dispositivos de
armazenamento de dados. Por exemplo, usando a Internet um computador
pode ser configurado com o endereo de rede de outro, permitindo que este
tambm receba as mensagens endereadas quele.
27
28
2.7.
Resumo Do Terico
Depois de estudar este captulo podemos estar certos de que devemos
construir sistemas distribudos para obter maior confiabilidade, bem como maior
facilidade de crescimento incremental do nosso sistema, considerar que muitas
aplicaes so inerentemente distribudas e desta forma estaremos a obter uma
maior robustez sobre o nosso sistema. Por outro lado vimos que os sistemas
distribudos so amplamente utilizados em diferentes solues e aplicaes nos
dias atuais.
Ao passo que a segurana dos sistemas distribudos tem como principal
objetivo proteger as informaes que nela trafegam no sentido de garantir a sua
confidencialidade, a sua integridade e a sua disponibilidade.
29
3. Autenticao De Usurios
Autenticao (do grego : = real ou genuno, de 'authentes' = autor)
o ato de estabelecer ou confirmar algo (ou algum) como autntico, isto , que
reivindica a autoria ou a veracidade de alguma coisa. A autenticao tambm remete
confirmao da procedncia de um objeto ou pessoa, neste caso, frequentemente
relacionada com a verificao da sua identidade.
O crescimento das redes abertas fez com que surgissem vrios problemas
de segurana, que vo desde o roubo de senhas e interrupo de servios at
problemas de personificao, onde uma pessoa faz-se passar por outra para obter
acesso privilegiado.
Com isso, surgiu a necessidade de autenticao, que consiste na
verificao da identidade tanto dos usurios quanto dos sistemas e processos. Os
mecanismos de autenticao de usurios dividem-se em trs categorias: baseados
no conhecimento (o que se sabe), baseados em propriedade (o que se possui) e
baseados em caractersticas (o que se ).
3.1. Autenticao Baseadas No Conhecimento (O Que Se Sabe)
A autenticao pelo conhecimento o modo mais utilizado para fornecer
uma identidade a um computador, no qual destaca-se o uso de segredos, como
senhas, chaves de criptografia, PIN (Personal Identification Number) e tudo mais
que uma pessoa pode saber.
30
31
O mecanismo de autenticao mais popular e usado nos sistemas de
computao a autenticao atravs de senhas. As vantagens deste tipo de
autenticao so:
Entretanto, este tipo de autenticao tem algumas limitaes: as senhas podem ser
adivinhadas, roubadas ou esquecidas.
3.1.3. Autenticao Baseadas na Propriedade (O que se tem)
As solues de autenticao baseadas na propriedade caracterizam-se por
um objeto fsico que o usurio possui. Este objeto pode ser um carto inteligente
(smartcard), uma chave ou um token (dispositivo eletrnico semelhante a uma
calculadora, usados para calcular senhas descartveis). As desvantagens deste tipo
de autenticao so que os objetos fsicos podem ser perdidos, roubados ou
esquecidos e o custo adicional do hardware. A vantagem baseia-se no princpio
de que a duplicao do objeto de autenticao poder ser mais cara que o valor do
que est sendo guardado.
32
Com a crescente utilizao de cartes inteligentes j possvel obter-se trs fatores
de autenticao, atravs de sua combinao com senhas e dispositivos
biomtricos.
3.1.4.
3.1.4.1.
SecureID
SecureID um sistema de dois fatores de autenticao desenvolvido e
33
Cada usurio do SecureID tem uma senha ou PIN memorizada e
um token com um visor de cristal lquido. O token mostra um novo valor
pseudorrandmicos, chamado de tokencode, em um intervalo de tempo fixo,
normalmente de 60 segundos. O usurio combina o fator memorizado com
o tokencode, pela simples concatenao ou entrando com o valor no teclado
do token, que cria a senha requerida para liberar o acesso ao recurso protegido.
Basicamente,
sistema
composto
por
trs
componentes:
Entidade(s) autenticada(s)
34
3.2.
Autenticador(es)
Protocolo(s) de autenticao
Protocolos De Autenticao
Em segurana da Informao o termo protocolos AAA, uma referncia
Introduo Ao Kerberos:
Kerberos um protocolo desenvolvido para fornecer poderosa
35
Para garantir a segurana, ele usa criptografia de chave simtrica, com
o DES (Data Encryption Standart). O Kerberos foi desenvolvido como parte do
Project Athena, do Massachussets Institute of Technology (MIT). Seu nome vem
da mitologia, onde Cerberus (Kerberus para os gregos) um co com trs cabeas
que tem por misso proteger a entrada do inferno de Hades.
3.2.1.1. Como utilizar o Kerberos:
Para o usurio:
Para o usurio utilizar o Kerberos, primeiro ele deve estabelecer
um Kerberos principal. Um Kerberos principal algo parecido com uma conta
em uma mquina. O nome do principal do tipo [email protected]. A
parte antes de @ uma string3 voc escolhe (normalmente a mesma coisa que
seu login name). A parte posterior o nome do realm.
Associado a cada principal existe um nome, uma senha e algumas outras
informaes. Estes dados so armazenados na base de dados do Kerberos. Esta
base de dados criptografada com uma chave mestra do Kerberos, pode ser
replicada para servidores escravos, e ela no pode ser examinada por qualquer um.
Valid starting
Expires
Service principal
24-jul-95
24-jul-95
Krbtgt/your.realm
12:58:02
20:58:02
@your.realm
24-jul-95
24-jul-95
Host/newhost.domain
13:03:33
21:03:33
@your.realm
36
3.2.1.2. Para o administrador:
Para o administrador a coisa um pouco mais complexa. O AS e o TGS
(normalmente
mesmo
executvel)
devem
ser
configurados
37
3.2.2.
O Protocolo Ldap
O LDAP um protocolo especializado em organizar os recursos de rede
38
3.2.2.2. Caractersticas do LDAP
O LDAP, foi projetado para resolver problemas de distribuio de diretrios pela
rede, contando com nove aspetos que lhe Garantiram essa habilidade, sendo eles:
Simplicidade do protocolo.
Arquitetura distribuda.
Segurana.
Padro aberto.
Internacionalizao.
Suporte ao IPv6.
3.2.3. OpenLDAP
O OpenLDAP uma implementao do LDAP desenvolvida pela
Universidade de Michigan e mantido pelo Projeto OpenLDAP, possui como
principais caractersticas: suporte ao IPv4 e IPv6, autenticao, segurana no
transporte usando SSL e TSL, controle de acessos, alta performance em mltiplas
chamadas e a replicao de base.
O OpenLDAP tem uma licena especfica chamada de The OpenLDAP
Public License (OpenLDAP Project, 2009) e independente de plataforma, assim
vrias distribuies Linux j disponibilizam a mesmo em seus repositrios. Alm
do Linux o OpenLDAP tambm compatvel com AIX, variantes de BSD, HP-UX,
Mac OS X, Solaris e Microsoft Windows (Baseados na tecnologia NT).
39
3.2.4. Resumo Terico
A autenticao de usurios em sistemas web um item crtico na segurana
de redes de Computadores, pois todo sistema computacional seguro deve exigir a
autenticao do usurio, afinal, s conhecendo o usurio do sistema ele poder
identificar os arquivos e recursos que esse usurio pode acessar.
Hoje em dia muitas pessoas se conectam a computadores remotos
(indiretamente) para realizar operaes bancrias, fazer compras, e realizar outras
operaes comerciais. O que faz com que a validao do usurio seja um assunto
realmente importante. A maioria dos mtodos de autenticao se baseia em um ou
dois princpios gerais de identificao: Alguma coisa que o usurio sabe, Alguma
coisa que o usurio tem, Alguma coisa que o usurio . A maneira mais usada de
autenticao pedir que o usurio digite um nome de usurio e uma senha.
Como se sabe o protocolo kerberos muito utilizado em sistemas como o
windows servidor, onde ele funciona como a terceira parte neste processo,
oferendo autenticao ao usurio, j o LDAP um protocolo especializado em
organizar os recursos de rede de forma hierrquica, atravs de uma rvore de
diretrios, que roda sobre os protocolos TCP/IP.
Sendo assim so ambos muito importantes no planeamento de sistemas
que visam proporcionar uma melhor qualidade de segurana, assim podemos
referencia-los pelo simples motivos de que com a utilizao de tais protocolos
podemos estar diante de um sistema totalmente seguro, isto independentemente
do utilizador ou administrador que gere tal sistema.
40
3.3.
O Open ID
OpenID um sistema de identificao desenvolvido por Brad
Joseph Bradley "Brad" Fitzpatrick um americano programador . Ele mais conhecido como o criador
do LiveJournal e o autor de uma variedade de software projetos como
o memcached e OpenID .(site:wikipedia)
41
contas do Yahoo! e Google, enquanto outro site pode querer que seus usurios se
autentiquem atravs do Blogger ou Wordpress. Cabe ao consumidor OpenID (um
site ou servio) escolher quais mtodos de autenticao ele gostaria de oferecer
aos seus usurios. (LEBLANC, 2011) Cada provedor de OpenID possui um
endereo de OpenID associado com seu sistema de autenticao para habilitar o
mtodo de descoberta requerido para o processo de autenticao. Existem diversos
provedores de OpenID, entre os principais esto o Google, Yahoo! Flickr,
Wordpress, AOL, Blogger, MySpace, MyOpenID entre outros. (LEBLANC,
2011).
Em sites que suportam OpenID, utilizadores no necessitam de criar uma
nova conta antes de poder a aceder. S necessrio autenticao por um site que
suporta OpenID, chamado provedor de identidade. Esse provedor pode ento
confirmar o dono da OpenID para outro site que suporta OpenID.
42
provedor de OpenID como Yahoo! ou Google. Existem trs participantes no fluxo
de autenticao do OpenID:
43
3.3.1.1. Diferenas entre OpenID e os padres atuais
Alguns sistemas de contas online atuais so semelhantes ao OpenID em
alguns aspetos, mas no permitem a transio entre um sistema de contas e outro.
Por
exemplo,
sites
de
contedo
online
como
Windows
Windows
Live,
CNN,
Wikispaces,
Technorati,
WikiTravel,
44
3.3.2. O CAS
Central Authentication Service (CAS) um portal de autenticao nica de
cdigo aberto, que fornece controle de acesso centralizado, e autenticao para
recursos baseados na web dentro de uma organizao. Mularien (2010) destaca
que os principais benefcios do CAS so:
45
46
OAuth resultante foi estabilizado na verso 1.0 em Outubro de 2007, e revisado
em Junho de 2009 (Reviso A), conforme publicado online. (OAUTH, 2010)
O protocolo OAuth fornece um mtodo para que clientes acessem recursos
do servidor em nome de um resource owner (dono de recursos). Tambm
possvel fornecer um processo para usurios finais autorizarem acesso de terceiros
aos recursos de seus servidores sem compartilhar suas credenciais (como, por
exemplo, usurio/senha), usando redirecionamento de seus agentes de usurios.
(OAUTH,2010)
3.3.3.1.Terminologia
O protocolo OAuth apresenta diversos conceitos com um significado
particular para seu contexto, conforme apresentado abaixo:
Cliente: Um cliente HTTP capaz de fazer requisies OAuth autenticadas.
(OAUTH, 2010)
Servidor: Um servidor HTTP capaz de aceitar requisies OAuth
autenticadas. (OAUTH, 2010)
Recurso protegido: Um recurso de acesso restrito que pode ser obtido de
um servidor utilizando uma requisio OAuth autenticada. (OAUTH, 2010)
Proprietrio do recurso: Uma entidade capaz de acessar e controlar
recursos protegidos utilizando credenciais para se autenticar no servidor.
(OAUTH, 2010)
Credenciais: Credenciais so um par composto de um identificador nico
e um segredo correspondente compartilhado. O OAuth define trs classes de
credenciais: cliente, temporrio e token, usados, respetivamente, para identificar
47
e autenticar o cliente que est fazendo a requisio, a requisio de autorizao, e
a concesso do acesso. (OAUTH, 2010)
3.3.3.2.Benefcios
Segundo Leblanc (2011, p. 319) o protocolo OAuth oferece algumas
melhorias sobre os modelos tradicionais de autenticao, incluindo:
Ao invs de ter que enviar o nome de usurio e senha ao servidor com cada
requisio de autenticao, possvel trabalhar com tokens de acesso
abstratos que no compartilham nenhuma das senhas do usurio.
Usurios podem ver os tokens que eles possuem ativos (isto , quais
aplicaes podem acessar seus dados) no site do provedor, significando
que eles podem manualmente revogar o acesso de uma aplicao. J que
a aplicao no possui as credenciais de autenticao do usurio, ela no
pode fazer mais requisies de dados uma vez que o usurio revogue a
autorizao da aplicao.
48
do que o processo necessrio para o desenvolvimento da mesma. (LEBLANC,
2011)
Implementaes da tela de permisso, onde usurios permitem que uma
aplicao faa aes em seu nome, podem variar muito dependendo da plataforma
onde ela implementada, mas o princpio bsico o mesmo. A plataforma exibe
uma pgina contendo uma informao bsica sobre a aplicao e fornece meios
para que o usurio possa permitir ou negar que a aplicao utilize seus dados
pessoais. (LEBLANC, 2011) Leblanc (2011, p. 327) destaca as telas de
autorizao de algumas plataformas que utilizam o OAuth, na Figura 11
apresentada a tela de autorizao do Twitter e na Figura 12 apresentada a tela do
Yahoo!
49
3.4.
O PasswordBox
O PasswordBox uma extenso ideal para uma pessoa que tem vrias contas
em servios online, mas sofre com dificuldades em lembrar de suas senhas. Basta
adicion-la e gerenciar suas senhas de maneira eficiente. Alm disso, promove o
ganho de tempo, j que no ser necessrio lembr-las sempre que visitarmos os
sites gerenciados.
Para comear a utiliz-lo, necessrio que voc se registre no aplicativo
inserindo um e-mail vlido e uma senha. Aps isso, voc tem acesso a sua central
de passwords, onde pode facilmente visualizar senhas cadastradas ou ento registrar
novas. O PasswordBox j vem com um vasto catlogo de categorias de senhas; logo,
voc consegue rapidamente classificar a nova senha como sendo a de um perfil no
Facebook, conta do Paypal ou cadastro no YouTube, por exemplo.
50
3.4.1.
Cadastrando as senhas
O PasswordBox muito fcil de usar, nenhum usurio ter problemas
com qualquer tipo de configurao e navegao. Quando voc acion-lo, o
plugin ir convid-lo a se inscrever ou efetuar o login via Facebook. Aps
realizar isso, ser necessrio fornecer uma senha mestra pela qual liberado o
acesso ao PasswordBox.
Depois de cadastrar uma senha mestra, o usurio ser redirecionado
automaticamente para uma pgina, onde fornecer as informaes para cada
login e senha gerenciados pela ferramenta. Esse tipo de configurao
amigvel. Basta clicar no servio exibido, para que sejam solicitadas as
informaes de login. Fornea os dados e mande salvar. Na prxima vez que
visitar o site que foi cadastrado anteriormente, bastar apenas clicar no boto de
Log In.
51
Lembre-se que por padro, o aplicativo ir tornar-se a pgina inicial do
seu Google Chrome. a partir desta pgina que ser feito o gerenciamento de
contas, bem como o cadastro de novos servios, veja a imagem abaixo.
3.4.1.1. Funcionamento
O plugin funciona como uma espcie de banco de senhas e facilmente
acessvel, bastando clicar no pequeno cone inserido na barra de ferramentas do
navegador. Voc nem ao menos precisa abandonar o browser para relembrar
aquela senha.
Para comear a utiliz-lo, necessrio que voc se registre no aplicativo
inserindo um e-mail vlido e uma senha. Aps isso, voc tem acesso a sua
central de passwords, onde pode facilmente visualizar senhas cadastradas ou
ento registrar novas. O PasswordBox j vem com um vasto catlogo de
categorias de senhas; logo, voc consegue rapidamente classificar a nova senha
como sendo a de um perfil no Facebook, conta do Paypal ou cadastro no
YouTube, por exemplo.
52
Cansado das senhas? Economize tempo com o login de 1 clique! Chega de senhas para digitar ou
memorizar. Site: https://chrome.google.com/webstore/detail/passwordbox-free-password
53
3.4.1.2.1. Compatibilidade
Compatvel com todos os navegadores e dispositivos:
3.4.1.2.3. Segurana:
54
55
56
4.1.1.1. Tipo de Pesquisa
Quanto a natureza da pesquisa ela pode ser classificada como aplicada pois
feita a partir de objetivos que visam sua utilizao prtica. Valem-se essas
pesquisas das contribuies das teorias e leis j existentes.
Quanto aos objetivos, esta pesquisa classifica-se como exploratria pois
tm como objetivo proporcionar maior familiaridade com o problema, com vistas
a torn-lo mais explcito ou a constituir hipteses.
4.1.1.2. Estrutura fsica
A estrutura fsica utilizada para o desenvolvimento e testes das aplicaes
composta de um Notebook domstico com sistema operacional Windows 8, os
navegadores de internet Google Chrome, Mozila firefox e o Internet Explorer, e a
rede utilizada da Net One router 3G.
A configurao
de
hardware
do
Notebook
utilizado
para o
HD de 297 GB SATA.
4.1.1.3. Tecnologias
Para a implementao das aplicaes que so objetos de estudo deste
trabalho foram utilizadas diversas tecnologias que, juntas, fornecem o correto
funcionamento do protocolo OAuth e das funcionalidades desenvolvidas em cada
aplicao.
57
4.1.1.3.1. PHP
PHP uma linguagem de script amplamente utilizada, especialmente
adequada para o desenvolvimento web e pode ser incorporada ao HTML. O que
diferencia o PHP de linguagens como o Javascript que ele executado no
servidor, gerando o cdigo HTML final que ser enviado ao cliente. O cliente
receber o resultado da execuo do script, mas no saber o cdigo que gerou
este resultado. O PHP pode ser utilizado para, entre outras coisas, coletar dados
de formulrios, gerar contedo de pginas dinamicamente, enviar e receber
cookies e manipular banco de dados. (PHP, 2011)
4.1.1.3.2. HTML 5 e CSS3
HyperText Markup Language 5 (HTML5) e Cascading Style Sheets 3
(CSS3) so dois padres novos propostos pela World Wide Web Consortium
(W3C). Essas tecnologias so a evoluo das tecnologias utilizadas no dia-a-dia
de envolvidos com a internet, e existem para ajudar na construo de aplicaes
web modernas e inovadoras. Diversas novas funcionalidades ajudam na melhora
da sintaxe da linguagem, assim como adicionam um suporte maior a animaes
interoperveis (independentes de plugins de terceiros), trazem novas
funcionalidades para utilizao de sockets, armazenamento offline, melhorias de
formulrios e muito mais.
O CSS3 adiciona novos seletores para melhorar a estilizao de
componentes, como, por exemplo, at a identificao de colunas pares e mpares
de uma tabela. A nova verso do CSS tambm traz efeitos visuais sofisticados,
como sombras, gradientes, cantos arredondados e etc. Ambas as novas tecnologias
58
ainda so trabalhos em andamento, porm cada vez mais as ferramentas de acesso
internet (como navegadores) esto adotando e suportando essas tecnologias.
4.1.1.3.3. MySQL e Wamp server
O software MySQL prov um servidor de banco de dados Structured Query
Language (SQL) robusto, multi-usurio, rpido e eficaz. Ele indicado para
sistemas em produo de alta carga assim como para incorporao em massa de
sistemas j implantados. Os servidores MySQL e WAMP possuem uma licena
comercial, e uma verso de cdigo-aberto.
4.2. Implementao
A seguir, so apresentados os mecanismos que foram implementados.
a) Autenticao baseada no conhecimento Login e senha, conforme Figura 17.
59
Os Quadros 1, 1.1 e 1.2, mostram os cdigos utilizados para
implementao deste mecanismo. No cdigo da pg. 61, tabela 1.1, a funo
addslashes remove caracteres indevidos que so utilizados em ataques como os
de SQL Injection, que permite ao atacante inserir uma srie de instrues SQL em
uma consulta (query) por meio da manipulao das entradas de dados de uma
aplicao. Em seguida, tem-se uma verificao se a varivel login est preenchida,
se estiver, o sistema carrega um mdulo do framework codeigniter chamado
form_validation (validao de formulrio), que responsvel por validar
formulrios, de acordo com as regras que definimos.
Regras so definidas para no permitir que as variveis login e senha
estejam em branco e que a senha seja criptografada utilizando o mtodo
SHA16 (Secure Hash Algorithm) que um algoritmo de hash de 160 bits de sada,
considerando que podamos tambm usar o md5 que tambm um algotitmo de
hash de 128 bits unidirecional.
Na sequncia, verificado se o usurio existe no banco de dados e se a
senha confere. Se a senha estiver correta, a aplicao lista os privilgios deste e
salva as informaes em variveis de sesso, liberando o acesso e redirecionando
para a pgina inicial do sistema.
60
<?php
//Starts
ob_start();
session_start();
//Globais
$home="http://localhost/sistemaphp";
$title="HxTutors-Administraao";
$startaction="";
if(isset($_GET["acao"])){
$acao=$_GET["acao"];
$startaction=1;
$msg="";
}
//Include das classes
include("classes/DB.class.php");
include("classes/Cadastro.class.php");
include("classes/Login.class.php");
//Conexao com o banco de dados
$conectar=new DB;
$conectar=$conectar->conectar();
//Exemplo de conecao
$query=mysql_query("SELECT * FROM usuarios");
echo "<h1>".mysql_num_rows($query)."</h2>";
//Mtodo de cadasto
if($startaction ==1){
if($acao == "cadastrar"){
$nome=$_POST["nome"];
$end=$_POST["end"];
$email=$_POST["email"];
$senha=$_POST["senha"];
if(empty($nome)||empty($end)||empty($email)||empty($senha)){
$msg="Preencha todos os campos!";
}
//Todos os campos preenchidos
else{
//E-mail vlido
if(filter_var($email,FILTER_VALIDATE_EMAIL)){
//Senha invlida
if(strlen($senha)<8){
$msg="As senhas devem ter no minimo oito
caracteres!";
}
61
//E-mail invlido
else{
$msg="Digite o seu e-mail correctamente!";
}
}
}
}
//Mtodo de Login
if($startaction==1){
if($acao=="logar"){
//Dados
//Mtodo de Aprovar
if($startaction==1){
if($acao == "aprovar"){
if($nivel==2){
if(isset($_GET["id"])){
$id=$_GET["id"];
$query=mysql_query("UPDATE usuarios SET status='1' WHERE
ID='$id'");
}
}
}
}
62
//Mtodo de Bloquear
if($startaction==1){
if($acao == "bloquear"){
if($nivel==2){
if(isset($_GET["id"])){
$id=$_GET["id"];
$query=mysql_query("UPDATE usuarios SET status='0' WHERE ID='$id'");
}
}
}
}
//Variveis de estilo
if(empty($msg)){
$display="display:none;";
}else{
$display="display:block;";
}
?>
(Fonte: propria)
63
Na figura 18 apresentamos o formulrio de cadastro, onde todo o utilizador
que interagir com o servio pela primeira vez ter de efetuar o cadastro.
64
65
4.2.1. Testes
Os testes utilizados na pesquisa foram todos de formas a obter resultado
das inseres e consultas feitas atravs do formulrio, simulando assim um
utilizador a efetuar o login, caso no esteja na base de dados registrado, pedido
que se registre no sistema para posteriormente efetuar o login e aguardar a
confirmao do administrador do sistema para validar o seu cadastro.
Por sua vez uma vez efetuado o cadastro o nosso sistema automaticamente
encripta a palavra passe como vemos a seta a indicar na pgina 64, desta forma a
senha mantem-se em segredo e s o proprietrio da mesma poder ou dever ter
acesso sobre determinada senha.
Foram elaborados vrios testes, dentre eles para ver o funcionamento tanto
com o Md5 e o Sha1, e at um teste em que no avanamos qualquer das
metodologias para segurana da senha de usurio.
66
Utilizador
comum
Sistema de
Login,
formulrio
Autenticao
Manual
Mtodo para
encriptao,
SHA1
Banco de dados
para armazenar
as senhas
criptografadas.
PasswordBox
Login e Senha.
OAUTH
OpenID
Banco
de
dados
Wampserver
Ftp ou Webdav
Servidor
Local
Encriptao
de senha
Kerberos
Servidor
Web
Guardar senhas
(Fonte: prpria)
67
68
obstante a isso temos o auxilio de um outro protocolo estudado aqui neste trabalho
tratando-se do LDAP que um protocolo especializado em organizar os recursos
de rede de forma hierrquica, atravs de uma rvore de diretrios, que roda sobre
os protocolos TCP/IP.
A isto tudo podemos associar a extenso do PasswordBox que ideal para
uma pessoa que tem vrias contas em servios online, e o OpenId pode ser usado
em uma rede distribuda na qual a identidade do utilizador dado por
uma URL ou XRI que pode ser verificada por qualquer servidor executando um
protocolo.
4.3.1. Trabalhos Futuros
69
5. REFERNCIAS BIBLIOGRFICAS
Autenticao:
site:
http://penta.ufrgs.br/pesquisa/fiorese/autenticacaoeadcap2.htm.
Autor: Taisy Silva Weber--Um roteiro para explorao dos conceitos bsicos
de
tolerncia
falhas--
http://www.inf.ufrgs.br/~taisy/disciplinas/textos/Dependabilidade.pdf.
Autor: Vidal Martins - GPT, Segurana em sistemas distribudoshttp://www.batebyte.pr.gov.br/modules/conteudo/conteudo.php?
Conteudo=602.
Bruce Schneier. Applied Cryptography: Protocols, Algorithms, and Source
Code in C. Wiley, 1996.
Charlie Kaufman, Radia Perlman, Mike Speciner. Network Security: Private
Communication in a Public World. Prentice-Hall, 1995.
CORDEIRO, Gilliard Santos, SILVA, Jefferson Moreira da, 2007
- MIDDLEWARE Sistemas Distribudos - Trabalho concluso de curso da
UNIDERP, Campo Grande, MS.
CORREIA, Miguel Pupo; SOUSA, Paulo Jorge. Segurana no Software.
Lisboa:FCA Editora de Informtica, 2010.GIL, A. C. Como elaborar projetos
de pesquisa. 4. Ed. So Paulo: Atlas, 2002.GOURLEY, David; TOTTY,
Brian. HTTP The Definitive Guide. Sebastopol: O'Reilly Media, 2002.
DEITEL, Harvey M. Java Como Programar 6 edio So Paulo: Editora
Pearson Education do Brasil., 2008.
Fernando
da
silva:
http://www.dcc.fc.up.pt/~lblopes/aulas/sdm/introduction.pdf
FERREIRA, Rubem E. Linux Guia do Administrador do Sistema. So Paulo:
Novatec Editora Ltda, 2003.
70
GOUVEIA, B. LDAP para iniciantes. Disponvel em: <http://www.ldap.org.br/>.
Acesso em: jun. 2009.
site:
http://pt.wikipedia.org/wiki/Framework_para_aplica%C3%A7%C3%B5es_
Web.
OAUTH.
RFC
5849
The
OAuth
1.0
Protocol.
Disponvel
PRTICA
DE
CRIMES
DE
INFORMTICA:
Site:
http://pt.scribd.com/doc/49337092/5/Distincoes-entre-hacker-e-crackerhackerismo-e-crackerismo.
PINTO et al., (2005) Uma Experincia de Desenvolvimento de um Sistema
Distribudo Utilizando uma Arquitetura Multiplataforma. Trabalho concluso
de curso do Programa de Engenharia de Sistemas e Computao UFRJ, Rio
de Janeiro.
71
Protocolos
de
autenticao,
site:
http://technet.microsoft.com/pt-
br/library/cc739177(v=ws.10).aspx.
SistemaDistribudo:http://www.ebah.com.br/content/ABAAABEpcAH/artig
o-sistemas distribuidos.
Stings: C Progressivo.net, site: http://www.cprogressivo.net/2013/03/O-quesao-STRINGS-como-declarar-inicializar-e-o-caractere-delimitador-0.html.
TANENBAUM, Andrew S. Redes de Computadores
Elsevier
Editora
Ltda,
Rio de Janeiro:
2003:
Site:
http://www.romeumenezes.com.br/livros/Livro%20-%20SO%20%20Sistemas%20Operacionais%20-%202Ed.pdf.
TANENBAUM, Andrew S. Sistemas Operacionais Modernos
Rio de
federal
do
rio
grande
sul:http://penta.ufrgs.br/pesquisa/fiorese/autenticacaoeadcap2.htm.
do
72
6. APNDICE
Elementos envolvidos em Computao distribuda
Anti spyware- (Anti- contra, spy- Espio, ware-mercadoria).
Antivirus- Os antivrus so programas de computador concebidos para prevenir,
detetar e eliminar vrus de computador. Existe uma grande variedade
de produtos com esse intuito no mercado, sendo recomendado utilizar apenas um
antivrus gratuito ou apenas um pago. A diferena est nas camadas a mais de
proteo que a verso paga oferece, alm do suporte tcnico realizado pela equipe
especializada.
Arrays- varivel indexada ou arranjo (as duas ltimas denominaes so mais
preferveis), tambm conhecido Como vetor (para arrays unidimensionais)
ou matriz (para arrays bidimensionais), uma das mais simples estruturas de
dados. Os arrays mantm uma srie de elementos de dados, geralmente do mesmo
tamanho e tipo de dados.
Autenticidade- Entende-se por autenticidade a certeza de que um objeto (em
anlise) provm das fontes anunciadas e que no foi alvo de mutaes ao longo
de um processo. Na telecomunicao, uma mensagem ser autntica se for, de
fato, recebida na ntegra, diretamente do emissor.
Bakups: Cpia de segurana, cpia de dados de um dispositivo de
armazenamento.
C Sharp- uma linguagem de programao orientada a objetos, fortemente
tipada, desenvolvida pela Microsoft como parte da plataforma. NET. A sua sintaxe
73
orientada a objetos foi baseada no C++ mas inclui muitas influncias de outras
linguagens de programao, como Object Pascal e Java.
Crackers de Criptografia: Termo usado para designar aqueles que se dedicam
quebra de criptografia (cracking codes). Tal procedimento pode ser executado
tanto com lpis e papel bem como com uso de computadores, tudo depende da
fonte do problema a ser solucionado.
Crackers de softwares: Termo usado para designar programadores e decoders
que fazem engenharia reversa de um determinado programa, ou seja, alteram o
contedo de um determinado programa pra fazer funcionar de forma correta,
muitos crackers alteram datas de expirao de um determinado programa pra fazer
funcionar mais de 30 dias, ou seja, modificam o modo trial para utilizar como se
fosse uma cpia legtima, ou fazem um desvio interno na rotina de registro do
programa para que ele passe a aceitar quaisquer seriais, tais sofwares alterados so
conhecidos como warez.
Cracking- O ato de quebrar a segurana de um sistema, muitas vezes exige
brilhantismo para se realizar e capacidade para explorar (exploitar) as
vulnerabilidades conhecidas do sistema alvo com criatividade. Entretanto alguns,
'erroneamente' definidos como crackers, utilizam-se de solues conhecidas para
problemas recorrentes em sistemas vulnerveis, copiando assim ou explorando
falhas descobertas por outros sem qualquer esforo.
E-mails-Correio eletrnico (permite compor, enviar e receber mensagens)
Firewall-Significa em portugus- Parede de Fogo (aplica poltica de segurana).
Hardware- Pode ser definido Como um termo geral para equipamentos Como
chaves, fechaduras, dobradias, trincos, puxadores, fios, correntes, material de
74
canalizao, ferramentas, utenslios, talheres e peas de mquinas. No mbito
eletrnico o termo "hardware" bastante utilizado, principalmente na rea de
computao, e se aplica unidade central de processamento, memria e aos
dispositivos de entrada e sada.2
Host: Em informtica, host ou hospedeiro, qualquer mquina ou computador
conectado a uma rede, podendo oferecer informaes, recursos, servios e
aplicaes aos usurios ou outros ns na rede. No n, o responsvel por
implementar a estrutura da camada de rede de endereamento. Os hosts variam de
computadores pessoais a supercomputadores, dentre outros equipamentos, como
roteadores.
IMAP (Internet Message Access Protocol. Traduzido do ingls, significa
"Protocolo de acesso a mensagem da internet") um protocolo de gerenciamento
de correio eletrnico superior em recursos ao POP3 - protocolo que a maioria dos
provedores oferece aos seus assinantes.
Internet-Ban king- Banco Interntico (Utilizados para caracterizar Transaes).
Internet-Conglomerado de redes em escala mundial de milhes de computadores.
JAAS: Java Authentication and Authorization Service, ou JAAS, pronuncia-se
"Jazz", a implementao Java do Pluggable Authentication Module padro
(PAM), a estrutura de segurana da informao. JAAS foi introduzido como uma
biblioteca de extenso do Java Platform, Standard edition 1.3 e foi integrado na
verso 1.4 - O principal objetivo da JAAS separar as preocupaes de
autenticao do utilizador de modo que eles podem ser administrados de forma
independente.
75
Java- Java uma linguagem de programao e uma plataforma de computao
lanada pela primeira vez pela Sun Microsystems em 1995. a tecnologia que
capacita muitos programas da mais alta qualidade, como utilitrios, jogos e
aplicativos corporativos, entre muitos outros, por exemplo. O Java executado
em mais de 850 milhes de computadores pessoais e em bilhes de dispositivos
em todo o mundo, inclusive telefones celulares e dispositivos de televiso.
Kerberos- o nome de um Protocolo de rede, que permite comunicaes
individuais seguras e identificadas, em uma rede insegura.
Leakage-
autorizados.
Login- Significa em portugus- Senha ou palavra passe.
Masquerading-Recurso de rede utilizado no Linux, equivale a NAT utilizado no
Windows.
Message tampering- Adulterao de Mensagem.
Middleware-Mediador, em SD faz a medio entre software e outras aplicaes.
Mdea- tecnologias de media, incluindo a internet, a televiso, os jornais e a rdio,
que so usados para comunicao de massa.
Modus operandi- Expresso em latim que significa modo de operao.
OpenLDAP - Implementao do Lightweight Directory Access Protocol (LDAP)
de cdigo aberto desenvolvida pelo Projeto OpenLDAP, Lightweight Directory
Access Protocol (LDA).
Password- palavra-chave ou password, uma palavra ou cdigo secreto
previamente convencionado entre as partes como forma de reconhecimento. Em
76
sistemas
de
computao,
senhas
so
amplamente
utilizadas
77
Softwares- logicirio ou suporte lgico uma sequncia de instrues a serem
seguidas e/ou executadas, na manipulao, redirecionamento ou modificao de
um dado/informao ou acontecimento. Software tambm o nome dado ao
comportamento exibido por essa sequncia de instrues quando executada em
um computador ou mquina semelhante alm de um produto desenvolvido
pela Engenharia de software, e inclui no s o programa de computador
propriamente dito, mas tambm manuais e especificaes.
Spoof login- No contexto de redes de computadores, IP spoofing um ataque que
consiste em mascarar (spoof) pacotes IP utilizando endereos de remetentes
falsificados.
Tampering- tampering , na gria informtica, a intercepo fsica (do sinal, no
dos dados) ocorrida num canal de transmisso.
Time sharing- Tempo compartilhado (Extenso da lgica de Programao).
TOKEN - (dispositivo eletrnico semelhante a uma calculadora, usados para
calcular senhas descartveis).
Token um dispositivo eletrnico gerador de senhas, geralmente sem conexo
fsica com o computador, podendo tambm, em algumas verses, ser conectado a
uma porta USB.
Vandalism Vandalismo em portugus agem pelo simples prazer de causar
danos a vtima. Este dano pode consistir na simples queda do servidor (deixando
a mquina momentaneamente desconectada da Internet) ou at mesmo a
destruio total dos dados armazenados.
78
Vulnerabilidade- A vulnerabilidade na computao significa ter brecha em um
sistema computacional, tambm conhecida como bug. Esta mesma pode ser
explorada em um determinado sistema ou servio vulnervel que esteja rodando
na mquina.
Worm- Um Worm (verme, em portugus) um programa autorreplicante,
semelhante a um vrus. Enquanto um vrus infecto um programa e necessita deste
programa hospedeiro para se propagar, o Worm um programa completo e no
precisa de outro para se propagar. Um worm pode ser projetado para tomar aes
maliciosas aps infestar um sistema, alm de se auto-replicar, pode deletar
arquivos em um sistema ou enviar documentos por correio eletrnico.
Servidores Web?- Servidores Web so computadores com software especfico
que permitem a aceitao de solicitaes de computadores de clientes e retornam
respostas essas solicitaes. Os servidores Web permitem que voc compartilhe
informaes pela Internet ou por uma intranet ou extranet.
Com um servidor Web do IIS 7 voc pode: