1
ORGANIZAÇÃO SETE DE SETEMBRO DE
CULTURA E ENSINO LTDA
FACULDADE SETE DE SETEMBRO FASETE
CURSO DE BACHARELADO EM SISTEMAS DE INFORMAÇÃO
Adonel Gomes de Sá Júnior
MECANISMOS DE SEGURANÇA UTILIZADOS
EM TRANSAÇÕES BANCÁRIAS NA WEB
PAULO AFONSO/BA
Novembro/2010
2
Adonel Gomes de Sá Júnior
MECANISMOS DE SEGURANÇA UTILIZADOS
EM TRANSAÇÕES BANCÁRIAS NA WEB
Monografia apresentada ao curso de
Bacharelado
em
Sistemas
de
Informação da Faculdade Sete de
Setembro. FASETE. Sob a orientação
do professor Esp. Igor de Oliveira
Costa.
PAULO AFONSO/BA
Novembro/2010
3
MECANISMOS DE SEGURANÇA UTILIZADOS
EM TRANSAÇÕES BANCÁRIAS NA WEB
Monografia apresentada ao curso de
Bacharelado
em
Sistemas
de
Informação da Faculdade Sete de
Setembro. FASETE. Sob a orientação
do professor Esp. Igor de Oliveira
Costa.
BANCA EXAMINADORA
__________________________________
Prof. Esp. Igor de Oliveira Costa (Orientador)
__________________________________
Prof. MS Igor Medeiros Vanderlei
__________________________________
Prof. Esp. Ricardo Azevedo Porto
PAULO AFONSO/BA
Novembro/2010
4
Dedico este trabalho a minha esposa
Priscylla
Rafaela,
aos
meus
filhos
André, Breno, Gabriel e Mariana, aos
meus pais Adonel e Geralda, e aos
meus amigos, que sempre me apoiaram
e incentivaram.
5
AGRADECIMENTOS
Agradeço primeiramente a Deus, por estar presente em todos os momentos da
minha vida, dando-me forças e sabedoria para continuar e superar todos os desafios
da vida.
A minha mãe e ao meu pai, Geralda Soares e Adonel Gomes, por acreditar e
contribuir na minha formação pessoal, acadêmica, ética e profissional.
A minha esposa, Priscylla, por tudo que ela fez e faz, com o intuito de me fazer um
homem melhor.
Aos professores e mestres, que tive o prazer de conhecer e aprender com eles.
Agradeço aos meus amigos e colegas de graduação pelo o apoio e contribuição.
Agradeço a todas as pessoas que, direta ou indiretamente, ajudaram no
desenvolvimento deste trabalho.
6
JUNIOR, Adonel Gomes de Sá. Mecanismo de Segurança Utilizados em
Transações Bancárias na Web. 2010. 55 fls.. Monografia de Graduação do Curso
de Bacharelado em Sistemas de Informação. Faculdade Sete de Setembro FASETE. Paulo Afonso – BA.
RESUMO
Nos dias atuais, torna-se imprescindível que as Agências Bancárias se modernizem
e busquem acompanhar as necessidades impostas pelo século XXI. Isso se faz
necessário devido ao aumento do número de clientes que utilizam a web para
realizar transações bancárias. No entanto, este aumento de forma considerável
trouxe alguns problemas como o aumento do número de páginas clonadas e fraudes
no internet banking. As vulnerabilidades encontradas durante uma transação on-line
podem ser classificadas em dois grupos, são eles: Erros de Sistema e Aplicações
Vulneráveis. Onde temos o Cross-site Scripting (XSS) e o SQL Injection nos erros de
sistema e o Cross Site Request Forgery (CRSF) em aplicações vulneráveis. Sendo assim,
foi visto a necessidade de discutir sobre a segurança oferecida pelas agências
bancárias aos clientes na realização de transações eletrônicas e como também
identificar as ameaças existentes e os mecanismos utilizados nestas aplicações.
Palavras chaves:
segurança.
Vulnerabilidades,
Internet,
Segurança,
Mecanismos
de
7
JUNIOR, Adonel Gomes de Sá. Mechanism of Security Used in Bank
Transactions in the Web. 2010. 55 f. Monograph of the B.Sc. Degree in Information
Systems. School Seven Months - FASETE. Paulo Afonso – BA.
ABSTRACT
Nowadays, it is essential that the Bank agencies seek to modernize and meet the
necessities imposed by the twenty-first century. This is necessary because of the
increasing number of customers using the web to conduct banking transactions.
However, this increase significantly caused some problems such as increasing the
number of pages and cloned in internet banking fraud. The vulnerabilities found
during an online transaction can be classified into two groups, they are: System
Errors and Application Vulnerabilities. Where we have the Cross-site Scripting (XSS)
and SQL Injection in system errors and Cross Site Request Forgery (CRSF) in
vulnerable applications. It was therefore seen the need to discuss the security offered
by banks to customers in conducting electronic transactions and also identify existing
threats and the mechanisms used in these applications.
Keywords: Vulnerabilities, Internet, Security, Mechanisms of security.
8
SUMÁRIO
1
CONSIDERAÇÕES INICIAIS ............................................................................. 12
1.1 CONTEXTUALIZAÇÃO ..................................................................................... 12
2
JUSTIFICATIVA................................................................................................ 14
3
PROBLEMA DE PESQUISA ............................................................................ 15
4
OBJETIVO......................................................................................................... 16
4.1 OBJETIVO GERAL ............................................................................................ 16
4.1.1 Objetivos Específicos ...................................................................................... 16
5
METODOLOGIA ............................................................................................... 17
6
REFERENCIAL TEÓRICO................................................................................ 19
6.1 INTERNET ........................................................................................................ 19
6.2 PRINCIPAIS VULNERABILIDADES ENCONTRADAS NAS APLICAÇÕES DE
WEB ......................................................................................................................... 20
6.2.1 A Cross-Site Scripting (XSS) .......................................................................... 20
6.2.2 O SQL Injection ............................................................................................ 22
6.2.3 Cross site Request Forgery (CSRF) ................................................................ 23
6.2.4 Ataques de Sessão (Session Hijacking) .......................................................... 25
6.2.5 Ataque de Força Bruta .................................................................................... 26
6.3
AMEAÇAS ..................................................................................................... 27
6.3.1 SPAM ............................................................................................................. 27
6.3.2 Phishing........................................................................................................... 28
6.3.3 Pharming ......................................................................................................... 29
6.3.4 Vírus ................................................................................................................ 29
6.3.5 Cavalo de Tróia ............................................................................................... 29
6.3.6 Adware e Spyware .......................................................................................... 30
6.3.7 Backdoors ....................................................................................................... 30
6.3.8 Keyloggers e Screenloggers ......................................................................... 30
6.3.9 Worms ............................................................................................................. 31
6.3.9.1 Bots e Botnets .......................................................................................... 31
6.4
SEGURANÇA ................................................................................................ 32
6.5
MECANISMOS DE SEGURANÇA ................................................................. 34
6.5.1 AUTENTICAÇÃO ............................................................................................ 34
9
6.5.2 Mecaniso de Controle de Acesso .................................................................... 35
6.5.3 Criptografia ...................................................................................................... 36
6.5.4 Certificado Digital ............................................................................................ 38
6.5.5 Teclado Virtual ................................................................................................ 39
6.5.6 Secure Socket Layer (SSL) ............................................................................. 40
6.5.7 Selo Digital ...................................................................................................... 42
6.5.8 Completely Automated Public Turing Test To Tell Computers And Humans
Apart (CAPTCHA) .................................................................................................... 42
6.5.9 Sistema de Detecção de Intrusões (IDS) ........................................................ 44
7 RISCOS NAS APLICAÇÕES BANCÁRIAS E CORREÇÕES ............................ 45
8 CONSIDERAÇÕES FINAIS ................................................................................ 48
9 TRABALHOS FUTUROS..................................................................................... 49
10 REFERÊNCIAS BIBLIOGRAFICAS ................................................................. 51
10
LISTA DE FIGURAS
FIGURA 1 – ATAQUE XSS REFLETIDO. ................................................................ 21
FIGURA 2 – ATAQUE XSS ARMAZENADO. ........................................................... 21
FIGURA 3 – ATAQUE DE XSS DOM. ...................................................................... 22
FIGURA 4 – SQL INJECTION .................................................................................. 23
FIGURA 5 – CROSS SITE REQUEST FORGERY .................................................. 24
FIGURA 6 – ATAQUE DE SESSÃO ........................................................................ 25
FIGURA 7 – ATAQUE DE FORÇA BRUTA.............................................................. 26
FIGURA 8 – PÁGINA DE PHISHING. ...................................................................... 28
FIGURA 9 – PROCESSO DE AUTENTICAÇÃO...................................................... 35
FIGURA 10 – CHAVE SIMÉTRICA .......................................................................... 37
FIGURA 11 – CHAVE ASSIMÉTRICA ..................................................................... 38
FIGURA 12 – CERTIFICADO DIGITAL. ................................................................... 39
FIGURA 13 – TECLADO VIRTUAL. ......................................................................... 40
FIGURA 14 – PROTOCOLO SSL. ........................................................................... 41
FIGURA 15 – SELO DIGITAL DO HSBC. ................................................................ 42
FIGURA 16 – MODELO DE UM CAPTCHA. ............................................................ 43
11
CONSIDERAÇÕES INICIAIS
12
1
CONSIDERAÇÕES INICIAIS
O crescimento econômico nas últimas décadas tem possibilitado o surgimento de
diversas empresas e, com isso, a economia mundial se tornou mais competitiva.
Dessa forma, as empresas passaram a investir em tecnologias.
CUMMINS (2002) ressalta que o surgimento de tecnologias como a Internet e a Web
eliminaram barreiras de comunicação e forneceram às pessoas acesso imediato a
informações de toda parte do mundo. Sendo assim, empresas que atuam no
mercado bancário passaram a investir em tecnologias denominadas de Business to
Consumer (B2C), para acompanhar esse crescimento da economia.
Segundo MARTIM (2005), o internet banking representa uma nova modalidade de
comércio eletrônico, pela qual o cliente, valendo-se da internet tem acesso a vários
serviços bancários para a realização de negócios e contratos eletrônicos, os quais,
por sua vez, são definidos como contratos celebrados por meio de programas de
computador ou aparelhos com tais programas, dispensando-se o uso da assinatura
codificada ou até mesmo de uma senha.
Com o uso cada vez mais freqüente do internet banking, o presente trabalho elenca
os principais tipos de vulnerabilidades que podem existir durante uma transação
bancária ocorrida na web, como também, identifica quais os mecanismos de
segurança freqüentemente utilizados pelas empresas e, além disso, analisa as
possíveis ameaças para o cliente que utiliza o internet banking.
1.1 CONTEXTUALIZAÇÃO
Segundo SUAPESQUISA (2010) a rede mundial de computadores, ou Internet,
surgiu em plena Guerra Fria, criada com objetivos militares pelas forças armadas
norte-americanas com intuito de manter as comunicações em caso de ataques
inimigos. Foi somente no ano de 1990 que a Internet se popularizou. Neste ano, o
engenheiro inglês Tim Bernes-Lee desenvolveu a World Wide Web, possibilitando a
utilização de uma interface gráfica e a criação de sites mais dinâmicos e visualmente
13
interessantes. A partir deste momento, o uso da Internet cresceu em ritmo
acelerado.
Segundo ANTINO (2010, p.1) a internet é o canal de atendimento bancário mais
usado pelos brasileiros, um estudo comprovou que as operações realizadas pela
web representaram 30,6% (8,365 bilhões) do total de atendimentos bancários
realizados em 2009.
Para que uma transação bancária ocorra na web é necessária a utilização do internet
Banking, sendo hoje, o meio de comunicação mais utilizado pelas empresas
bancárias, junto com o acesso crescente a esse meio de relacionamento dos bancos
com os seus clientes, também cresce o número de páginas falsas. Em uma pesquisa
feita pelo CERT, o número de páginas falsas de bancos apresentou um
crescimento de 85% no segundo trimestre de 2008 com relação ao mesmo período
de 2007 (CERT, 2008).
Segundo SERASA (2009), a utilização dos serviços oferecidos por um banco na
Internet é considerada segura, pois o setor de instituições financeiras é o que mais
investe em tecnologias de segurança. Esse investimento se dá ao fato de que
essas instituições são as mais prejudicadas quando ocorrem as chamadas
fraudes eletrônicas.
Essas fraudes eletrônicas vêm aumentando nos servidores de Web, os
fraudadores aproveitam as vulnerabilidades em aplicações Web para, em alguns
casos, hospedar cavalos de tróia, que são utilizados em fraudes ou páginas
falsas de instituições financeiras. Com o crescimento dos serviços disponibilizados
pelas instituições financeiras os fraudadores têm mudado o foco, estimulados pelo
anonimato e por possíveis fraudes muito mais rentáveis do que simplesmente usar
um cartão de crédito de um cliente para obter lucros (CERT, 2008).
14
2
JUSTIFICATIVA
Pode-se destacar que a busca por um diferencial no atendimento das empresas e a
procura constante por um padrão de qualidade no atendimento aos clientes torna
essencial o uso da internet para realização de negócios. Segundo Bill Gates (apud
LIMA, 2010, p1), em alguns anos vai existir dois tipos de empresas: as que fazem
negócios pela internet e as que estão fora dos negócios.
Nos dias atuais, torna-se imprescindível que as Agências Bancárias se modernizem
e busquem acompanhar as necessidades impostas pelo século XXI. Isso se faz
necessário devido ao aumento do número de clientes que utilizam a web para
realizar transações bancárias. No entanto, este aumento de forma considerável
trouxe alguns problemas como o aumento do número de páginas clonadas e
negócios invadidos.
Sendo assim, foi visto a necessidade de discutir sobre a segurança oferecida pelas
agências bancárias aos clientes na realização de transações eletrônicas. Como
também, identificar as principais vulnerabilidades encontradas nas aplicações
bancárias realizadas na web, bem como, as principais ameaças e mecanismos de
proteção.
15
3
PROBLEMA DE PESQUISA
Para que a pesquisa proposta fosse iniciada, os seguintes problemas foram
identificados:
• Quais são as principais vulnerabilidades existentes em uma transação
bancária realizada na web?
• Quais são os principais mecanismos de segurança que podem ser utilizados
em uma transação bancária online?
• Quais são os principais mecanismos de segurança existentes para combater
tais vulnerabilidades?
16
4
OBJETIVO
4.1 OBJETIVO GERAL
Devido a essas questões discutidas anteriormente, tem-se como objetivo geral:
Identificar como os Mecanismos de Segurança podem sanar as principais
Vulnerabilidades encontradas nas transações bancárias online.
4.1.1 Objetivos Específicos
• Identificar os principais mecanismos de segurança que podem ser utilizados
nas transações bancárias;
• Identificar
as
principais
vulnerabilidades
encontradas
em
transações
bancárias online;
• Estudar a utilização dos mecanismos identificados;
• Analisar uma combinação de mecanismos de Segurança que podem tornar
uma aplicação web mais segura.
17
5
METODOLOGIA
A metodologia utilizada no presente trabalho baseou-se no estudo das Ameaças e
Vulnerabilidades, como também dos Mecanismos de Segurança aqui elencados,
pontuando todos os problemas e possíveis soluções, para que possa ser realizada
uma transação bancária on-line. A mesma foi realizada através de estudo das fontes
primárias e secundárias, utilizando-se livros, sites e publicações sobre o referido
tema.
18
CONCEITOS BÁSICOS
19
6
REFERENCIAL TEÓRICO
6.1 INTERNET
Nas décadas de 1970 e 1980, além de ser utilizada para fins militares, a Internet foi
ampliada também para o uso acadêmico. Estudantes e professores universitários,
principalmente dos EUA, compartilham idéias, mensagens e descobertas pelas
linhas da rede mundial. Com isso, a ARPANET, primeiro nome da internet, começou
a ter dificuldades em administrar todo este sistema, devido ao grande e crescente
número de localidades universitárias contidas nela. Um sistema técnico denominado
Protocolo de Internet (Internet Protocol) permitia que o tráfego de informações fosse
encaminhado de uma rede para outra, como explica ZEVALLOS(2009) ”devido ao
grande número de informaçãoes trocadas o protocolo NCP (Network Control
Protocol), foi visto como inadequado, então, o TCP/IP foi criado e continua sendo o
protocolo base da Internet na atualidade.
Vale destacar que já em 1992, o então senador Al Gore, já falava na Superhighway
of Information. Essa "super-estrada da informação" tinha como unidade básica de
funcionamento a troca, compartilhamento e fluxo contínuo de informações, usadas e
trocadas pelos usuários nos quatro cantos do mundo, através de um rede mundial, a
Internet. O que se pode notar é que o interesse mundial aliado ao interesse
comercial, que evidentemente observava o potencial financeiro e rentável daquela
"novidade". Proporcionando assim, o boom (explosão) e a popularização da Internet
na década de 1990 até 2003, cerca de
600 milhões de pessoas estavam
conectadas à rede. Segundo SILVA (2009), em junho de 2007 este número se
aproximavam de 1 bilhão e 234 milhões de usuários.
Em síntese, a Internet é um conjunto de redes de computadores interligadas que
tem em comum um conjunto de protocolos e serviços, de uma forma que os usuários
conectados possam usufruir de serviços de informação e comunicação de alcance
mundial (BOGO, p.1, 2010).
20
6.2
PRINCIPAIS
VULNERABILIDADES
ENCONTRADAS
NAS
APLICAÇÕES DE WEB
Segundo CERT(2010), a vulnerabilidade é definida como uma falha no projeto,
implementação ou configuração de um software ou sistema operacional que, quando
explorada por um atacante, resulta na violação da segurança de um computador.
No ano de 2009, a Web Application Security Consortium (WASC) divulgou um
estudo no qual provou que 96,85% das aplicações corporativas Web possuíam
vulnerabilidades derivadas de falhas em seu desenvolvimento. Ainda de acordo com
os dados da WASC, as vulnerabilidades predominantes são divididas em dois
grupos que são eles: Erros de Sistema, onde não temos atualização de ferramentas
de segurança como firewall e Ips, como também a falta de atualizações fornecidas
pelo fabricante, não conceder direitos administrativos para a aplicação da base de
dados enquanto nas Aplicações Vulneráveis, temos aplicações de web vulneráveis
onde os atacantes introduzem scripts maliciosos, desta forma capturando dados de
sessão dos usuários. Onde temos o Cross-site Scripting (XSS) e o SQL Injection nos
erros de sistema e o Cross Site Request Forgery (CRSF) em aplicações vulneráveis
(CERT, 2010).
6.2.1 A Cross-Site Scripting (XSS)
A Cross-site scripting (XSS) é um tipo de vulnerabilidade do sistema de segurança
de um computador encontrado normalmente em aplicações web que ativam ataques
maliciosos ao injetarem client-side script dentro das páginas web vistas por outros
usuários. Um script de exploração de vulnerabilidade cross-site pode ser usado
pelos atacantes para escapar aos controles de acesso (GROSSMAN & HANSEN,
2007).
Existem três tipos bem conhecidos de XSS: refletido, armazenado e inserção DOM.
O XSS refletido é o de exploração mais fácil, uma página refletirá o dado fornecido
pelo usuário como retorno direto a ele, a Figura 1 ilustra esse tipo de ataque.
21
Figura 1 – Ataque XSS Refletido.
Fonte: http://www.seguranca-informatica.net.
A Figura 1 acima demonstra o ataque xss refletido, onde o atacante envia um email
para vitima contendo um link, com a palavra clique aqui, quando o cliente clica no
link este o leva a um servidor de web vulnerável, ao mesmo tempo é enviado uma
resposta a vitima, que já foi programada, a partir de então o fraudador usando as
credenciais da vítima navega em qualquer aplicação.
Enquanto que o XSS armazenado recebe o dado hostil, guarda em arquivo, do
banco de dados ou outro sistema de suporte à informação, e então, em um estágio
avançado mostra o dado ao usuário, não filtrado. Isto é perigoso em sistemas como,
CMS1, blogs ou fóruns, onde uma grande quantidade de usuários acessará entradas
de outros usuários.
Figura 2 – Ataque XSS Armazenado.
Fonte: http://www.seguranca-informatica.net
Neste ataque, representado pela Figura 2, a vítima recebe um email com um link.
Esta ao clicar no endereço, estará enviando as informações para o atacante. Estas
1
CMS – Sistema de Gerenciamento de Conteúdo.
22
informações enviadas estão no banco de dados da vítima, em um segundo momento
o atacante pegará as informações e a manipulará como o convir, já que a vítima
liberou o acesso ao clicar no link enviado.
Com ataques XSS baseados em DOM, o código Java Script do site e as variáveis
são manipulados ao invés dos elementos HTML. Alternativamente, os ataques
podem ser uma combinação dos três tipos, o perigo com o XSS não está no tipo de
ataque, mas na sua possibilidade.
Figura 3 – Ataque de XSS DOM.
Fonte: http://www.seguranca-informatica.net
Este tipo de ataque como mostra a Figura 3 se dá no servidor de web de uma loja,
onde o atacante inclui um script no browser da mesma, desta forma capturando as
entradas válidas no browser.
A utilização de XSS torna possível a obtenção de dados que podem pôr em risco a
segurança da informação. Desse modo, o entendimento desta técnica possibilita a
exploração de uma vasta quantidade de sítios e aplicações Web (OLIVEIRA, BRITO,
RIQUE e FUJIOKA, 2007).
6.2.2 O SQL Injection
Segundo GUMERATO (2009), o SQL Injection consiste na inserção ou "injeção" de
uma consulta SQL através de dados de entrada do cliente para o aplicativo. O
ataque injeção de SQL bem-sucedido se dá através de uma inserção de código no
23
banco de dados podendo assim, alterar dados do banco de dados, com as seguintes
funções: (Insert / Update / Delete).
As falhas de Injeção habilitam o atacante a criar, ler, atualizar ou apagar
arbitrariamente qualquer dado disponível para a aplicação. No pior cenário, estes,
furos, permitem ao atacante comprometer completamente a aplicação e os sistemas
relacionados, até pelo contorno de ambientes controlados por firewall.
Esta vulnerabilidade só acontece quando a aplicação esta vulnerável e permite a
inclusão querys dinâmicas, como por exemplo:
var Shipcity;
ShipCity = Request.form ("ShipCity");
var sql = "select * from OrdersTable where ShipCity = '" + ShipCity +
"'";
SELECT UserList. Utilizador
FROM UserList DA UserList
WHERE UserList . Username = 'Username' ONDE UserList. Username = 'Nome'
AND UserList . Password = 'Password' E UserList. Password = 'senha'
Figura 4 – Sql Injection
Fonte: http://www.worldlingo.com.
Este ataque, Figura 4, dá-se basicamente na inserção de um código em SQL
simples, onde no primeiro comando é inserida uma consulta de SQL concatenando
cadeias de caracteres inseridas pelo usuário. No segundo comando é feita uma
consulta de uma lista dos utilizadores onde ele busca as credenciais do usuário
como nome e senha.
6.2.3 Cross site Request Forgery (CSRF)
Antes de detalharmos a vulnerabilidade Croos Site Request Forgery (CSRF), vamos
conhecer um pouco sobre verificação de autorização que é a solicitação das credenciais do
usuário ao acessar uma aplicação confiável, neste momento é que se dá a captura das
informações do usuário, a partir daí o atacante utiliza os dados válidos do usuário e faz novos
acessos com as credenciais válidas, sem o mesmo perceber.
Segundo BRAZ (2008), o Cross Site Request Forgery (CSRF), força o navegador logado da
vítima a enviar uma requisição para uma aplicação web vulnerável, estes ataques funcionam,
24
pois a credencial de autorização do usuário (tipicamente um cookie2 de sessão) é
automaticamente incluída em requisições do navegador, mesmo que o atacante não forneça
tal credencial, esta vulnerabilidade é extremamente disseminada, uma vez que qualquer
aplicação web, não possua em seu aplicativo a verificação de autorização.
Um ataque típico CSRF pode ser visto em fóruns, pois os mesmos direcionam o
usuário a invocar alguma função, como por exemplo, a página de logout da
aplicação. A seguir temos a Figura 5 ilustrando o funcionamento do CSRF.
Figura 5 – Cross site request forgery
Fonte: http://news.cnet.com.
Este ataque se inicia com o usuário fazendo o seu login em um browser, onde ele
autentica a sessão, a partir deste ponto o atacante utiliza a sua autenticação de
sessão e faz outras ações no mesmo site ou em outro sem o usuário perceber.
Segundo CERT (2007), existem outras vulnerabilidades que são implantadas por
programas que podem ter um comportamento estranho não por acidente, mas pela
execução de códigos gerados com o intuito de danificar ou alterar seu
funcionamento normal.
Estes códigos são chamados de ameaças programadas, e têm se espalhado pelo
mundo inteiro, causando muito incomodo e prejuízo a quem se depara com este tipo
de ameaça chamando à atenção da mídia, que convencionou tratá-las por vírus de
computador (TURBAN & KING, 2004).
2
cookie de sessão – Um cookie é uma cadeia de texto incluída em pedidos e respostas do protocolo de
transferência.
25
6.2.4 Ataques de Sessão (Session Hijacking)
Uma sessão é um identificador único que serve para marcar o período de tempo que
uma pessoa navega em um determinado site. Logo, assim que ou usuário acessa
uma aplicação e coloca a sua identificação, ele cria uma sessão válida, então seus
dados estarão disponíveis em qualquer parte do site, até que a sessão seja
encerrada, ou o browser fechado.
Existem dois tipos de ataque de sessão, são eles: Predicação e Captura. O ataque
de predicação consiste em se adivinhar uma ID, que identifica uma sessão, porém
como o mecanismo de geração de sessões é muito aleatório, esse método se torna
quase inviável na prática (PONTUAL, M., QUEIROZ, R. e HENRIQUE, J., 2006). Já
no ataque de captura, existem dois métodos. No primeiro as sessões estão sendo
propagadas através da URL, bastará ao atacante possuir um sniffer3 na mesma rede
do atacado e ler o ID da vítima. A defesa para esse tipo de ataque é a utilização de
um servidor rodando sobre HTTPS. No segundo, as sessões foram propagadas por
cookies, caberá ao atacante executar um ataque do tipo XSS, para que o cookie da
vítima seja enviado ao adversário, e com isso ele possa reconstruir a ID da sessão.
<?php
session_start();
if (!isset($_SESSION['visits']))
{
$_SESSION['visits'] = 1;
}else{
$_SESSION['visits']++;
}
echo $_SESSION['visits'];
?>
Figura 6 – Ataque de sessão
Fonte: www.conisli.org.br.
3
Sniffer - Programa que coleta os dados dentro de uma rede.
26
O código ilustrado na Figura 6, representa o contador na sessão, enquanto a
sessão estiver ativa, cada vez que o usuário executar essa página, será
acrescentado 1 e impresso o número de vezes que ele rodou essa página.
6.2.5 Ataque de Força Bruta
Segundo PINKAS & SANDER (2010), o método de ataque por força bruta, consiste
em utilizar um programa ou script externo que testa cada combinação de letras e
números existentes no teclado, com isso, tentará descobrir o login e senha de algum
usuário cadastrado no site. Além disso, o atacante poderá utilizar um dicionário de
senhas (worldlists) com o intuito de tornar a tarefa de invasão mais rápida.
Inicialmente, o atacante deve abrir o código HTML do site, em seguida será criado
um código fonte parecido com o original, porém no action do form, será colocado o
caminho completo da URL para onde se deseja enviar esse formulário. A seguir vai
modificar o valor dos inputs, colocando os dados desejados e criará também um
script em javascript com o comando document.form2.submit(), que submete um
formulário. Na Figura 7, logo abaixo mostra como o atacante procede no ataque de
força bruta.
Figura 7 – Ataque de Força Bruta
Fonte: http://segurancalinux.com.
27
6.3
AMEAÇAS
Segundo MARINHO (2007), uma ameaça pode ser definida por elementos que tem
condição de explorar vulnerabilidades e causar problemas severos aos ativos de
uma empresa. Os ativos estão continuamente expostos às ameaças existentes, que
podem colocar em risco a segurança. Dentre as várias classificações, podemos citar
as seguintes: ameaça natural, intencional e involuntárias.
6.3.1 SPAM
Uma ameaça aos usuários da Internet Banking, são os spams, segundo o
ANTISPAM (2009), spam é o termo usado para se referir aos e-mails não
solicitados, que geralmente são enviados para um grande número de pessoas,
quando este conteúdo é exclusivamente comercial, esse tipo de mensagem é
chamada de Unsolicited Commercial E-mail (UCE). Reforçaremos estes conceitos
com a afirmação de INFOGUERRA.
Em plena era de Internet comercial, o spam é uma das principais,
perturbações para internautas, administradores de redes e provedores,
de tal forma que o abuso desta prática já se tornou um problema de
segurança de sistemas. Além disso, é também um problema financeiro,
pois vem trazendo perdas econômicas para uma boa parte dos
internautas e lucro para um pequeno e obscuro grupo (INFOGUERRA,
2009).
Com o surgimento do spam também surgiram os spam zombies, esses são
computadores de usuários comuns que foram infectados com códigos maliciosos,
como worms, bots, vírus e cavalos de tróia. Estes códigos maliciosos, uma vez
instalados, permitem que spammers utilizem a máquina para o envio de spam, sem
o conhecimento do usuário. Os spammers utilizam máquinas infectadas para
executar suas atividades, dificultando assim a identificação da origem do spam e
também dos autores. Os spam zombies são muito explorados pelos
spammers, por proporcionar o anonimato que tanto os protege (ANTISPAM,
2009).
28
6.3.2 Phishing
Este termo foi originalmente criado para descrever o tipo de fraude que se dá
através do envio de mensagem não solicitada, que se passa por comunicação de
uma instituição conhecida, como um banco, empresa ou site, que procura induzir o
acesso a páginas fraudulentas (falsificadas), projetadas para furtar dados pessoais e
financeiros de usuários.
Este tipo de spam é conhecido como phishing ou scam, o usuário pode sofrer
prejuízos financeiros, caso forneça as informações ou execute as instruções
solicitadas neste tipo de mensagem fraudulenta (BONFIETTI, 2007).
O cliente, muitas vezes desconhece as políticas básicas de segurança do seu banco
e acaba clicando no link, que o conduz a informar os dados de sua conta corrente
em uma página falsa. Assim que o cliente digita os dados de sua conta, a página
falsa envia as informações fornecidas pelo cliente ao fraudador, caracterizando-se o
phishing. Mostrado na Figura 8.
Figura 8 – Página de Phishing.
Fonte: http://www.ipa.go.jp/security.
Na Figura 8 acima, temos duas aplicações, uma a do site original e a outra a página
clonada, esta foi enviada ao usuário por email, solicitando a atualização dos dados
bancários do cliente, mas para atualizar os dados, 1 é necessário digitar o login e a
senha.
29
6.3.3 Pharming
Segundo LAU (2006), o pharming é um meio largamente utilizado para a efetivação
da fraude sobre o ambiente do Internet Banking no Brasil. O mecanismo utilizado por
este ataque promove o redirecionamento da vítima a páginas falsas de instituições
financeiras, tal como descrito pelo phishing.
Entretanto, este tipo de ataque não utiliza uma mensagem eletrônica como vetor de
propagação e sim uma busca nos serviços de resolução de nomes na Internet,
conhecidos como DNS, que resultam no acesso errôneo do usuário à página
replicada pelo fraudador, similar a página da instituição financeira, mesmo que o
usuário efetive a inserção do endereço da página do banco através da digitação da
URL no browser utilizado na navegação Internet.
6.3.4 Vírus
Vírus é um programa ou parte de um programa de computador, normalmente
malicioso, que se propaga infectando, isto é, inserindo cópias de si mesmo e se
tornando parte de outros programas e arquivos de um computador. O vírus depende
da execução do programa ou arquivo hospedeiro para que possa se tornar ativo e
dar continuidade ao processo de infestação (CERT, 2010).
6.3.5 Cavalo de Tróia
De acordo com o CERT (2010), o cavalo de tróia ou trojan horse é um programa,
normalmente, recebido como um “presente” (por exemplo, cartão virtual, álbum de
fotos, protetor de tela, jogo, etc), que além de executar funções para as quais foi
aparentemente projetado, também executa outras funções normalmente maliciosas
e sem o conhecimento do usuário, tais como instalar keyloggers4, screenloggers5 e
backdoors ou ainda alterar, corromper ou destruir arquivos.
4
5
Keyloggers – programa que armazena caracteres digitados.
Screenloggers - dispositivo que tira foto da tela do usuário, os atacantes começaram com esta
modalidade depois que os bancos implementaram um novo modelo de teclado virtual.
30
6.3.6 Adware e Spyware
Adware é um tipo de aplicação especificamente projetada para apresentar
propagandas através de um programa instalado em um computador. Em muitos
casos, os adwares têm sido incorporados a softwares e serviços, constituindo uma
forma legítima de patrocínio ou retorno financeiro para aqueles que desenvolvem
ferramentas livres ou prestam serviços gratuitos.
O spyware, por sua vez, é o termo utilizado para se referir a uma grande categoria
de softwares que têm o objetivo de monitorar atividades de um sistema e enviar as
informações coletadas para terceiros. Os spywares, assim como os adwares, podem
ser utilizados de forma legítima, mas, na maioria das vezes, são utilizados de forma
dissimulada, não autorizada e maliciosa (CERT, 2010).
6.3.7 Backdoors
São programas que abrem “portas” de acesso ao atacante, permitindo acesso
remoto ao computador. Os backdoors são usados para que os atacantes garantam
uma forma de retornar a um computador comprometido, sem precisar recorrer aos
métodos utilizados na realização da invasão. Na maioria dos casos, também é
intenção do atacante poder retornar ao computador comprometido sem ser notado
(PEREIRA, FAGUNDES, NEUKAMP, LUDWIG e KONRATH, 2007).
6.3.8 Keyloggers e Screenloggers
O keylogger pode ser definido como um programa capaz de capturar e armazenar
as teclas digitadas pelo usuário no teclado de um computador. Após sua ampla
utilização para captura de senhas no Internet Banking, boa parte dos bancos mudou
o modo da autenticação dos seus clientes. Antes os dados da agência, conta e
senha eram digitados via teclado, agora os dados são fornecidos via mouse clicando
sobre os caracteres do teclado virtual (BONFIETTI, 2007). Já o screenlogger é uma
forma avançada do keylogger, pois ele captura a imagem da tela e o posicionamento
do mouse.
31
6.3.9 Worms
Programa capaz de se propagar automaticamente através das redes, enviando
cópias de si mesmo de um computador para outro. Diferente do vírus, o worm não
embute cópias de si mesmo em outros programas ou arquivos e não necessita ser
explicitamente executado para se propagar. Sua propagação se dá através da
exploração de vulnerabilidades existentes ou falhas na configuração de softwares
instalados em computadores (CERT, 2006).
Os worms são notadamente responsáveis por consumir muitos recursos. Degradam
sensivelmente o desempenho de redes e podem lotar o disco rígido dos
computadores, devido à grande quantidade de cópias de si mesmo que costumam
propagar. Além disso, podem gerar problemas para aqueles que estão recebendo
tais cópias (BONFIETTI, 2007).
6.3.9.1 Bots e Botnets
Segundo (PEREIRA, FAGUNDES, NEUKAMP, LUDWIG e KONRATH, 2007), há
três atributos que caracterizam um bot (nome derivado de (Robot): a existência de
um controle remoto, a implementação de vários comandos e um mecanismo de
espalhamento, que permite ao bot espalhar-se ainda mais.
Enquanto as botnets são redes formadas por computadores infectados com bots e
são usadas pelos invasores para aumentar a potência de seus ataques.
Acredita-se que a maior parte dos spams são enviados por botnes, ora partindo
diretamente destes, ora os mesmos sendo utilizados como relay. Adicionalmente,
dispõe de mecanismos de comunicação com o invasor, permitindo que o bot seja
controlado remotamente, portanto o invasor, ao se comunicar com um bot, pode
enviar instruções para que ele realize diversas atividades, tais como: desferir
ataques na Internet, enviar spam, e-mails de phishing, ataque de negação de serviço
e furtar dados de onde foi executado.
32
6.4
SEGURANÇA
Um computador ou sistema computacional é dito seguro se este atende aos
requisitos básicos relacionados e aos recursos que o compõem: confidencialidade,
integridade, autenticidade, disponibilidade e não repúdio.
Segundo CURTI (2004) a confidencialidade é a proteção das informações contra
ataques passivos e análise de mensagens, quando em trânsito nas redes ou contra
a divulgação indevida da informação, quando sob guarda. Os termos privacidade e
sigilo são usados em muitos casos para distinguir dentre a proteção de dados
pessoais e a proteção de dados pertencentes à organização.
Para garantia da
confidencialidade, ou seja, que a informação seja acessada apenas por pessoas
autorizadas, alguns mecanismos são indispensáveis como, por exemplo, controle de
acesso e criptografia.
A integridade é sempre um pré-requisito para outras propriedades da segurança, por
exemplo, um atacante pode tentar contornar controles de confidencialidade,
modificando o sistema operacional ou uma tabela de controle de acesso
referenciada pelo sistema operacional, consequentemente, deve-se proteger a
integridade do sistema operacional ou a integridade do controle de acesso para
alcançar a confidencialidade nesse caso. Dentre os mecanismos usados na
implementação da integridade se inclui: controle de acesso, assinatura digital
(ARAUJO, 2008).
Segundo ROSSI e FRANZIN (2000), a autenticidade é a propriedade necessária
para garantir que um usuário é realmente quem ele diz ser, e as ações a ele
atribuídas tenham sido realmente de sua autoria. A autenticidade é fundamental não
só em Sistemas Computacionais, como também, em qualquer área do conhecimento
humano. Pois todo ato praticado por um cidadão necessita de um mecanismo que
identifique o seu autor para fins legais, como por exemplo, uma assinatura. A
autenticidade pode ser garantida através dos mecanismos autenticação, controle de
acesso e assinatura digital.
33
A disponibilidade do sistema corporativo está ainda agregada ao projeto de
recuperação adotado por cada empresa como política de contingenciamento. A
vantagem de contar com sistemas de alta disponibilidade é diminuir o tempo de
parada, seja voluntária ou involuntária, e a recuperação quase que imediata de
informações críticas para continuidade da atividade (TELEMIKRO, 2010).
E por fim, o não repúdio previne tanto o emissor quanto o receptor, contra a negação
de uma mensagem transmitida, desta forma, quando uma mensagem for enviada, o
receptor pode ter certeza que de fato ela foi enviada pelo emissor em questão. De
forma similar, quando for recebida, o emissor pode provar que a mesma foi
realmente recebida pelo receptor em questão (CARLOS, 2004).
Para finalizar tudo que foi exposto logo acima, ARANTES (2000), explica que as
políticas de segurança estabelecem as bases para um bom programa de segurança.
Essas políticas, freqüentemente chamadas de controles básicos, funcionam juntas
no estabelecimento de um determinado nível de segurança na empresa como um
todo, abordando aspectos físicos e lógicos.
34
6.5
MECANISMOS DE SEGURANÇA
Os mecanismos de segurança, consistem em técnicas utilizadas para assegurar as
propriedades de Segurança do Sistema Computacional, de tal forma que somente
os usuários autorizados, ou processos sob seu controle, terão acesso às
informações devidas, e nada além do necessário, essas primitivas são fundamentais
na implementação de uma Política de Segurança (DOURADO, 2001).
Nesta sessão, serão discutidas os principais mecanismos, como por exemplo:
Autenticação, Mecanismos de Controle de Acesso, Criptografia, Assinatura Digital,
Teclado Virtual, Secure Socket Layer, Selo Digital, Captcha, Sistema de Detecção
de Intrusos onde temos, o Signature Detection e o Behaviour Detection.
6.5.1 AUTENTICAÇÃO
Segundo DOURADO (2001), a autenticação é o mecanismo utilizado para garantir
que um usuário ou processo, estão se identificando de acordo com suas reais
identidades. Existem três formas básicas de autenticação que devem ser utilizadas
de acordo com situação especifica, são elas: unilateral, mútua ou com a mediação
de terceiros.
A autenticação unilateral acontece quando apenas um parceiro da comunicação
autentica-se perante o outro, mas a recíproca não é verdadeira. Na autenticação
mútua os parceiros da comunicação se autenticam um perante o outro. A
autenticação com a mediação de terceiros é utilizada quando os parceiros da
comunicação não se conhecem e, portanto, não podem se autenticar mutuamente,
mas conhecem um terceiro com quem se autenticam e recebem credenciais para
procederem assim a autenticação mútua. A Figura 9 ilustra três tipos de
autenticação básica.
35
Figura 9 – Processo de Autenticação.
Fonte: http://wiki.dcc.ufba.br.
Na Figura 9, no processo 1, não a autenticação do receptor, já no processo 2 a
autenticação é mútua, ambos sabem quem são e por último a 3 autenticação se dá
por um terceiro usuário que garante quem são as partes quês estão se
comunicando.
6.5.2 Mecaniso de Controle de Acesso
Os Mecanismos de Controle de Acesso se propõem a definir que usuários ou
processos têm acesso a recursos específicos do Sistema Computacional e com que
permissões. Estes mecanismos podem ser aplicados em qualquer nível, começando
na aplicação definindo que usuários têm acesso e a que registros (DOURADO,
2001). Existem três tipos de controle de acesso: Access Control List, Capabilities e
Access Control Matriz.
Acces Control List, ou simplesmente ACL, é o mecanismo onde é criada uma lista
para cada objeto, ou recurso do sistema, com a identificação do usuário ou processo
e suas permissões para aquele objeto especifico (DOURADO, 2001). As ACL’s se
tornam sobrecarregadas de forma gradativa à medida que a quantidade de recursos
compartilhados de um sistema aumenta, por isto é comum o agrupamento de
usuários de acordo com o seu perfil funcional, mas isto representa uma flexibilização
perigosa no mecanismo de controle de acesso.
Diferente da ACL, a Capabilities cria uma lista para cada usuário ou processo, com a
identificação dos objetos e as permissões que o usuário ou processo possui sobre
este objeto especifico. Este mecanismo resolve o problema da sobrecarga das
36
ACL’s, tendo em vista que cada usuário ou processo possui uma lista com as
capabilities, as quais têm algum tipo de permissão de acesso.
A Access Control Matriz (ACM) é o somatório dos dois mecanismos anteriores
formando uma estrutura equivalente a uma matriz, onde as linhas são compostas
pelos usuários, as colunas por objetos e os elementos são listas de permissões.
Logo, cada coluna de uma ACM é uma ACL e cada linha é uma capability.
6.5.3 Criptografia
A criptografia segundo TYSON (2009), não é algo novo, a novidade é sua aplicação
em computadores, antes da era digital, os maiores usuários da criptografia eram os
órgãos governamentais, particularmente para finalidades militares. A existência de
mensagens codificadas foi verificada desde a época do Império Romano, mas a
maior parte da criptografia utilizada atualmente se baseia em computadores,
simplesmente porque um código baseado em seres humanos é muito fácil de
ser decodificado por um computador.
Segundo TYSON (2009), as formas mais populares de segurança dependem da
criptografia, processo que codifica a informação de tal maneira que somente a
pessoa (ou o computador) com a chave pode decodificá-la. Os primeiros métodos
criptográficos existentes usavam apenas um algoritmo de codificação, assim,
bastava que o receptor da informação conhecesse esse algoritmo para poder extraíla.
O objetivo da encriptação consiste na aplicação de um algoritmo aos dados
de maneira que eles se tornem ilegíveis (GUEDES, 2009). Para recuperar os
dados originais será necessário conhecer o algoritmo de criptação.
LAUDON e LAUDON (2008) complementam, criptografia é a codificação e a
mistura de mensagens para impedir acesso indevido aos dados que são
transmitidos entre redes. Ainda de acordo com o autor existem dois tipos de
criptografias, são elas: chave simétrica e assimétrica.
37
Na criptografia de chave simétrica, cada computador possui uma chave secreta
(código) que ele pode utilizar para criptografar um pacote de informações antes que
ele seja enviado pela rede a outro computador, a chave simétrica exige que você
saiba quais computadores irão se comunicar, de forma que seja possível instalar a
chave em cada um deles (TYSON, 2009).
A criptografia de chave assimétrica ou pública utiliza a combinação de uma chave
privada e uma chave pública. A chave privada só é conhecida pelo seu computador,
enquanto que a chave pública é dada por seu computador a todo computador que
queira se comunicar de forma segura com ele. Para decodificar uma mensagem
criptografada, um computador deve usar a chave pública, fornecida pelo computador
de origem, e sua própria chave privada (TYSON, 2009).
Figura 10 – Chave Simétrica
Fonte: http://www.batebyte.pr.gov.br.
Na Figura 10 a Chave Simétrica – o documento original é enviado para o
destinatário e é criptografado, o destinatário recebe o documento criptografado e
discriptografa com a mesma chave e lê o documento original.
38
Figura 11 – Chave Assimétrica
Fonte: http://www.batebyte.pr.gov.br.
Já a Chave Assimétrica na Figura 11 – neste método o emissor criptografa o
documento com sua chave privada e envia para o receptor, que recebe o documento
criptografado e discriptografa com a chave pública do emissor.
6.5.4 Certificado Digital
O certificado digital é um arquivo eletrônico que contêm dados de uma pessoa ou
instituição,
utilizados
para
comprovar
sua
identidade,
este
arquivo
pode estar armazenado em um computador ou em outra mídia, como um token ou
smart card (CGI, 2009).
Segundo SERGIO (apud DANIELA, 2004, p.1), a utilização das certificações digitais por
corporações ou internautas em geral tornará mais seguro o tráfego de informações
pela rede.
Os navegadores reconhecem as principais empresas certificadoras e aceitam
automaticamente
os
certificados
assinados
por
ela,
reconhecendo
sua
autenticidade e a da página correspondente (PONTES, 2008). Logo, abaixo SERGIO
vem reforçar o conceito dito acima.
A certificação digital garante a autenticidade, a integridade a
confidencialidade e o não-repúdio de uma mensagem, ou seja, impede que
o remetente negue que foi o autor de uma determinada mensagem, por
exemplo SERGIO (apud DANIELA, 2004, p. 1).
39
Figura 12 – Certificado Digital.
Fonte: http://www.cgd.pt.
A Figura 12, contem Informações do certificado digital, dados que identificam o
dono, nome da certificadora, número de série e o período de validade do certificado
e por fim a assinatura digital da autoridade certificadora, esta garante a veracidade
das informações contidas.
6.5.5 Teclado Virtual
A segurança é a maior preocupação de todos aqueles que negociam por meios
eletrônicos. A credibilidade do documento digital, ou de um dado transmitido via
web, está ligada essencialmente à sua originalidade e à certeza de que ele não foi
alterado de alguma maneira pelos caminhos que percorreu até chegar ao
destinatário (VELASCO, 2005).
O teclado virtual ou teclado de segurança trabalha com ambigüidade, ou seja, cada
caractere da senha é apresentado junto a um grupo de três outros caracteres. A
ordem dos números dentro de cada botão muda aleatoriamente toda vez que o
cliente usa o teclado virtual. Os caracteres não são digitados como no teclado físico
convencional e sim clicados com o auxílio do mouse (VELASCO, 2005).
40
Figura 13 – Teclado Virtual.
Fonte: Banco Unibanco.
O princípio de funcionamento do teclado virtual mostrado na Figura 13, baseia-se
em concatenar a senha com a data e a hora do sistema e depois criptografá-la,
nesta figura acima nos temos os novos modelos de teclado virtual onde o caractere
digitado não é o válido ele referencia a outro caractere.
Em Alguns bancos é possível mover o teclado dentro do navegador de Internet para
evitar que outra pessoa que não seja o cliente veja a senha digitada. Mas o
objetivo principal do teclado virtual é limpar os campos onde a senha é digitada,
não as armazenando em disco ou memória, impedindo que os campos de digitação
sejam monitorados (WONGTSCHOWSKY, 2005).
6.5.6 Secure Socket Layer (SSL)
Secure Socket Layer (SSL) é um padrão global em tecnologia de segurança
desenvolvida pela Netscape em 1994. Que cria um canal criptografado entre um
servidor web e um navegador (browser) para garantir que todos os dados
transmitidos sejam sigilosos e seguros, (CALLAO, 2005). Milhões de consumidores
reconhecem o "cadeado dourado" que aparece nos navegadores quando estão
acessando um website seguro, esta tecnologia ainda não foi normatizada pela
IETF6, (COMODOBR, 2008).
Segundo ARAÚJO (1998), o SSL é um conjunto de três protocolos, dois situados no
nível de transporte e o outro na camada de aplicação. Seu objetivo é prover um
6
IETF - é a sigla para Internet Engineering Task Force e se refere a uma instituição que desenvolve e
promove as normas de Internet.
41
canal seguro, com privacidade, com garantia opcional de autenticidade dos pares e
garantia de integridade da mensagem.
Quando se acessa uma página de Internet, principalmente de um banco e esta
começa com https, significa que ela é criptografada (com encriptação de
128bits) e com SSL antes da transmissão. De acordo com CERTISIGN (2009), os
sites que usam o protocolo SSL podem transmitir e armazenar as informações
particulares dos clientes de forma segura.
Ao estabelecer a conexão, o SSL Handshake Protocol7 usa um identificador de
sessão, um conjunto criptográfico (cypher suite) a ser adotado e um método de
compressão a ser utilizado.
Figura 14 – Protocolo SSL.
Fonte: http://www.tcs-ca.tcs.co.in.
Na Figura 14 esclarecemos como se dá o Handshake Protocol, no primeiro passo o
cliente envia um hello, no segundo o servidor envia o seu certificado, o terceiro
passo é a verificação da autenticidade do certificado, no quarto o servidor solicita o
certificado do cliente, no quinto o cliente envia o seu certificado, o sexto é a
confirmação da autenticidade do certificado do cliente, no sétimo é enviada a chave
de sessão e por fim é estabelecido um canal seguro.
7
Handshake Protocol – ou aperto de mão.
42
6.5.7 Selo Digital
Segundo o HSBC (2009), a principal função do selo digital é garantir ao cliente, que
o site acessado é realmente do seu Banco. O selo digital é uma figura formada por
cinco elementos, combinados de modo a formarem a imagem de um selo único para
cada cliente. De acordo ainda com a mesma fonte, o selo digital é composto por: um
número de dois dígitos, uma imagem inserida ao fundo, uma cor de fundo
padronizado pelo banco, uma forma de selo e por último uma forma e posição de
"carimbo" impresso sobre o selo.
O Selo digital tem uma vantagem sobre os fraudadores, ele é personalizado, por
mais que uma página falsa consiga imitar um determinado selo legítimo não
poderá associar os cinco elementos de cada selo para cada cliente, explica o HSBC
(2009), na Figura 15.
Figura 15 – Selo digital do HSBC.
Fonte: http://www.hsbcinvestimentos.com.br.
6.5.8 Completely Automated Public Turing Test To Tell Computers
And Humans Apart (CAPTCHA)
De acordo com NUNES (2005), o captcha foi implementado na universidade de
Carnegie-Mellon com a finalidade de distinguir os usuários reais dos virtuais, o termo foi
inventado em 2000 por Luis von Ahn, por Manuel Blum, Nicholas J. Hopper (todos da
universidade do Carnegie-Mellon), e por John Langford.
O objetivo do captcha é impedir a tentativa de acesso ao sistema por meio de software
mal intencionados que podem ocasionar à perda da qualidade do serviço, assim como, a
danificação da aplicação por um uso incorreto, em meio às utilizações, esta aplicação de
43
segurança está presente em diversas funcionalidades na web, como serviços de email,
postagens em fóruns e blogs, evitando que aplicativos de propagandas, por exemplo, se
utilizem das funções dos serviços.
Uma verificação Captcha baseia-se na facilidade que os humanos têm em reconhecer
padrões, ele é definido como um programa de autenticação que permite estabilidade e
segurança ao aplicativo, de forma que possa diferenciar um usuário real de uma
máquina.
Um captcha comum pode ser reconhecido como uma simples seqüência de caracteres,
podendo ter variantes na visualização como sombreamento, distorções, entre outros, de
forma a dificultar o reconhecimento da sequência por uma máquina (NUNES, 2005).
Figura 16 – Modelo de um captcha.
Fonte: http://computer.howstuffworks.com
A Figura 16, demonstra o funcionamento da aplicação captcha, ela solicita a
escolha de uma pergunta, logo após lhe pede uma resposta, solicita seu email
secundário, pede a sua localização e para continuar solicita que o usuário digite os
caracteres da imagem, imagem esta ilegível para máquinas.
44
6.5.9 Sistema de Detecção de Intrusões (IDS)
Segundo VICENTE (2002), um IDS é uma solução complementar à instalação de
uma firewall. A sua função é analisar permanentemente o tráfego da rede (interno e
externo) e compará-lo com padrões conhecidos de comportamento de intrusos. Por
estarem situados na rede interna analisam não só o tráfego externo, vindo da
Internet, como também, o tráfego interno.
Podendo assim, detectar ataques vindos de pessoas internas à empresa ou que
acedem a esta por outros meios. Algumas IDS podem analisar o tráfego na rede de
diferentes perspectivas, cada uma com objetivos e resultados diferentes, são eles, o
signature detection (detecção de assinatura), consiste na procura de padrões
específicos de tráfego, correspondentes a determinado ataque. A desvantagem é
que o padrão de ataque tem de ser conhecido de antemão e tem de ser programado
no IDS.
Já o Behaviour detection (detecção de comportamento), analisa e procura por
padrões de comportamento, através da identificação de anomalias estatísticas. A
idéia é que uma rede segue determinados padrões de comportamento que resultam
em determinadas estatísticas. As alterações dessas estatísticas (maior tráfego a
horas pouco usuais, aumento do número de pacotes de determinado tipo de
protocolo) resultam na identificação de um possível ataque.
Por fim, o Protocol anomaly detection (protocolo de detecção de anomalias), procura
analisar a conformidade com o standard (padrão) de pacotes de determinado
protocolo. A título de exemplo, os recentes ataques do Code Red são facilmente
detectados por este tipo de IDS, dado que os pedidos HTTP feitos ao servidor não
estão conformes com o standard (padrão), usando caracteres inválidos para
conseguirem subverter o funcionamento do Web server.
45
7 RISCOS NAS APLICAÇÕES BANCÁRIAS E CORREÇÕES
Com o crescimento dos serviços disponibilizados pelos Bancos, aumentaram as
ameaças contra aplicações web, incluindo sequestro da conta de usuário, burlar o
controle de acesso, ler ou modificar dados sigilosos ou fornecer conteúdo
fraudulento. Com estes problemas as instituições financeiras começaram a investir
em novas tecnologias para garantir uma segurança a mais para seus usuários.
A vulnerabilidade Cross Site Scripting, é uma implementação que visa copiar
informações através dos cookies e instalar programas como spyware, worms e
softwares de controle remoto. O roubo de cookies, nos aplicativos bancários, traz
prejuízos como processos e indenizações, para os clientes um transtorno, pois, ter
que comprovar que a transação não foi feita pelo mesmo não será tarefa fácil.
Proteção: A melhor proteção para esta vulnerabilidade está na combinação de
validação da lista branca de todos os dados de entrada e recodificação de todos os
dados de entrada, há validação habilita a detecção de ataques e a recodificação
previne a injeção de script.
O Sql Injection, é uma aplicação que pode trazer grandes perdas pois as
informações são alteradas direto no banco de dados. A manipulação de informações
dentro de uma instituição financeira, como transferência ou pagamento de contas
trará prejuízos ao cliente e a instituição.
Proteção: Evitar o uso de interpretadores, caso utilize, o método para evitar a injeção
de SQL é o uso de APIs seguras, como por exemplo querys parametrizadas e
bibliotecas de mapeamento objeto relacional (ORM). Estas interfaces manipulam
qualquer fuga de dados ou aquelas que não demandam fugas.
O Cross Site Request Forgery, esta técnica provém de forçar o navegador da vitima
a enviar uma requisição para uma aplicação web vulnerável, que realiza a ação
desejada em nome da vítima.
46
Proteção: Garantir que não existam vulnerabilidades XSS na sua aplicação; Inserir
tokens randômicos em todos os formulários e URL que não seja automaticamente
submetido pelo browser; Não usar requisições GET (URLs) para dados sensíveis ou
para transações de valores.
O ataque de Força Bruta, consiste em gerar todas as combinações de senha
possíveis em sequência para fazer acesso à um Sistema. Geralmente iniciados com
Iogins padrão, como admin, root.
Proteção: Verificação de PIN, imagem aleatória com um conjunto de caracteres que
aparece para o usuário digitar ao efetuar login, quanto mais longo for o conjunto de
caracteres e a diversidade dos mesmos, mais difícil de ser quebrado.
O Phishing é uma das ameaças mais comuns hoje na web, o fraudador cria uma
página falsa do internet banking e envia para um cliente, sugerindo que ele faça
algumas atualizações o mesmo sem conhecimento atualiza estas informações e dá
o acesso ao fraudador a sua conta.
Proteção: Sempre instalar, atualizar e manter ativos o firewall e softwares para
detecção de invasores, incluindo aqueles que oferecem segurança contra malwares
e spywares; Utilizar a versão mais recente do navegador de internet, e instale todos
os pacotes de segurança quando estiverem disponíveis; Nunca enviar pelo correio
eletrônico informações pessoais ou financeiras detalhadas;
O backdoor é utilizado pelos fraudadores para não terem trabalho de quebrar a
segurança do servidor novamente, pois uma vez vulnerável ele aplica este método
para manter a porta aberta.
Proteção: Manter antivírus e firewall, sempre atualizado e ativo.
47
CONSIDERAÇÕES FINAIS
48
8 CONSIDERAÇÕES FINAIS
Devido ao aumento do uso da internet nas últimas décadas, aumentaram os
serviços ofertados na web, bem como o número de transações bancárias, através do
Internet Banking.
Neste contexto o conceito sobre segurança se tornou imprescindível, e para
discutirmos sobre este ponto vimos que a confidencialidade, a integridade, a
autenticidade, a disponibilidade e o não repudio são características fundamentais
para o funcionamento de um aplicativo.
Em seguida foram levantadas as principais ameaças e vulnerabilidades existentes
enfocando como as mesmas funcionam. As vulnerabilidades discutidas foram o Sql
Injection; o Cross Site Request Forgery; o Ataque de Sessão e o Ataque de Força
Bruta e o Cross Site Scripting, com seus três métodos: o Ataque xss Refletido, o
Ataque xss Armazenado e o Ataque xss DOM. As ameaças estudadas foram o
Spam; o Phishing; o Scam; o Pharming; o Virus; o Cavalo de Tróia; o Adware e
Spyware; o Backdoors; o Keyloggers; o Screenloggers, o Worms e o Bots e Botnets.
Considerando todas as ameaças e vulnerabilidades elencadas acima, estudou-se os
mecanismos de segurança que consiste em técnicas utilizadas para assegurar as
propriedades de Segurança do Sistema Computacional. Foram exibidas as
principais técnicas, como: Autenticação, Mecanismos de Controle de Acesso,
Criptografia, Assinatura Digital, Teclado Virtual, Secure Socket Layer, Selo Digital,
Captcha, Sistema de Detecção de Intrusos onde se tem o Signature Detection e o
Behaviour Detection.
Por fim, analisando os fundamentos teóricos trazidos no trabalho, pode-se afirmar
que, uma aplicação bancária para ser mais confiável, deveria ter em sua
implementação todos os aplicativos trazidos aqui neste trabalho.
49
9 TRABALHOS FUTUROS
Considerando os pontos discutidos no trabalho e a necessidade sentida de novas
ferramentas, propõem-se os seguintes pontos para trabalhos futuros:
• Levantar junto aos usuários das instituições qual o grau de informação a
cerca do uso do internet banking;
• Propor as instituições um estudo de novas ferramentas e aplicações que
estejam surgindo no mercado;
• Pesquisar sobre novas fraudes e novas vulnerabilidades;
• Sugerir também a nível acadêmico uma integração entre a faculdade e as
instituições do nosso município.
.
50
REFERÊNCIAS
51
10 REFERÊNCIAS BIBLIOGRAFICAS
ANTINO. Internet é o meio mais utilizado por brasileiros em transações
bancárias. Artigo publicado em 05//07/2010, no site: Fayerwayerbrasil. Disponível
em: http://www.fayerwayer.com.br. Acesso em Setembro de 2010.
ANTISPAM. Conceito. Disponível em: http://www.antispam.br/conceito/. Acesso em:
12/10/2010.
ARANTES, M.: Comércio Eletrônico na Internet. Disponível em:
http://www.computacao.unitri.edu.br. Acesso em: 09/11/2010.
ARAUJO, Gorgonio, Atualidades em Segurança. Matéria publicada no site:
NewsGeneration, disponível em: http://www.rnp.br. Acesso em setembro de 2010.
ARAUJO, N.: Segurança da Informação(TI). Disponível em:
http://www.administradores.com.br. Acesso em: 18/11/2010.
BOGO, Kellen Cristina. A história da Internet como tudo começou. Matéria
publicada no site: Kplus, disponível em: http://www.kplus.com.br. Acesso em
setembro de 2010.
BONFIETTI, H.: Fraudes no Internet Banking. Disponível em:
http://www.icmc.usp.br. Acesso em: 09/11/2010.
BRAUN, Daniela. Certificado Digital. Matéria publicada no site: RNP - Rede
Nacional de Ensino e Pesquisa, disponível em: http://www.rnp.br. Acesso em
setembro de 2010.
BRAZ, F.: Segurança em Aplicações. Disponível em:
http://www.rbrito.googlecode.com. Acesso em: 09/11/2010.
CALLAO, G.: O Protocolo SSL. Disponível em: http://equipe.nce.ufrj.br. Acesso em:
08/11/2010.
CARLOS, J.: Plataformas UNIX e MS-Windows como clientes e servidores.
Disponível em: http://www.las.ic.unicamp.br. Acesso em 09/11/2010.
52
CERT. Cartilha de segurança para internet. Disponível em: http://cartilha.cert.br/.
Acesso em: 12/10/2010.
CERT.BR. Cartilha de Segurança para internet: Conceitos de Segurança.
Disponível em: http://cartilha.cert.br/conceitos/sec5.html. Acesso em: 11/10/2010.
CERTBR. Cartilha de Segurança. Matéria publicada no site: Cert.br – Centro de
Estudos e Respostas e Tratamento de Insegurança no Brasil, disponível em:
http://cartilha.cert.br. Acesso em setembro de 2010.
CERTISING. Certificados Digitais. Disponível em: http://www.certisign.com.br.
Acesso em: 10/10/2010.
CUMMINS, Fred A. Integração de Sistemas: enterprise integration: Arquiteturas
para integração de sistemas e aplicações coorporativas. Rio de Janeiro:
Campus, 2002.
CURTI, João C.: Análise de Segurança em Aplicações que utilizam Plataforma
UNIX e MS-Windows como clientes e servidores. Disponível em:
http://www.las.ic.unicamp.br. Acesso em: 03/12/2010.
DOURADO, S.: Segurança em Sistemas Distribuídos. Disponível em:
http://wiki.dcc.ufba.br. Acesso em: 08/11/2010.
GOLLMANN, D. : Computer Security. Informatica e Segurança. Springer Verlag Ny,
2005.
GORGONIO, A.: Transações Seguras via Web. Disponível em: http://www.rnp.br.
Acesso em: 06/11/2010.
GROSSMAN, Jeremiah; HANSEN, Robert; ET all. Syngress Cross Site Scripting
Attacks Xss Exploits and Defense.
GUEDES, E.: Fraudes no Internet Banking. Disponível em:
http://www.fateczl.edu.br. Acesso em: 19/11/2010.
GUMERATO, R.: Sql Injection em aplicações web. Disponível em:
http://www.si.lopesgazzani.com.br. Acesso em 19/11/2010.
53
HSBC. Segurança, o que você deve fazer. Disponível em: http://www.hsbc.com.br.
Acesso em 12/10/2010.
INFO GUERRA.: O que é Spam. Disponível em: http://www.hsbc.com.br. Acesso
em: 03/11/2010.
LAU, M.: Análise das fraudes aplicadas sobre o ambiente Internet Banking.
Disponível em: http://www.datasecur.com.br. Acesso em: 09/11/2010.
LAUDON, Kenneth C. Laudon, Jane Price. Sistemas de Informação com a
Internet. 4 Edição. São Paulo: LTC Editora, 1999. (página 4).
LIMA, Ari. A importância da internet na Advocacia. Matéria divulgada pelo site de
Administradores.com.br em 13/09/2010. Disponível em:
http://administradores.com.br . Acesso em Setembro de 2010.
MARINHO, R.: Implantação de Ferramentas e Técnicas de Segurança da
Informação em Conformidade com as Normas da Isso 27001 e 17799.
Disponível em: http://www.bibliotecadigital.puc-campinas.edu.br. Acesso em:
10/11/2010.
MARTIM, M.: A Internet Banking no Brasil, na América Latina e na Europa.
Disponível em: http://www.buscalegis.ufsc.br. Acesso em: 12/11/2010.
NUNES, D.; OTHERS. Proposta de um sistema de CAPTCHA. Disponível em:
ftp://ftp.registro.br/pub/gter/gter19/08-captcha.pdf. Acesso em: 01/11.2010.
OLIVEIRA, G., BRITO, A., RIQUE, T. e FUJIOKA, R.: Disponível em:
http://www.fatecjp.com.br. Acesso em 22/11/201.
PEREIRA, E., FAGUNDES, L., NEUKAMP, P., LUDWIG, G. e KONRATH, M.:
Forense Computacional: Fundamentos, Tecnologias e Desafios atuais.
Disponível em: http://www.ppgia.pucpr.br. Acesso em 18/11/2010.
PINKAS, B. e SANDER, T.: Securing Passwords Against Dictionary Attacks.
Disponível em: http://www.pinkas.net. Acesso em: 08/11/2010.
PONTES, Felipe. Http ou Htps, você sabe qual a diferença?. Disponível em:
http://wnews.uol.com.br. Acesso em 10/10/2010.
54
PONTUAL, M., QUEIROZ, R. e HENRIQUE, J.: Segurança em Sites
desenvolvidos em PHP. Disponível em: http://www.conisli.org.br. Acesso em:
12/11/2010.
ROSSI, M. e FRANZIN, O.: Rede privada Virtual. Disponível em:
http://www.gpr.com.br. Acesso em: 18//11/2010.
SERASA. Como evitar golpes on-line: Bancos na Internet. Disponível em:
http://www.serasaexperian.com.br/guiaInternet/29.htm. Acesso em: 12/10/2010.
SILVA, A.: Como surgiu a Internet. Disponível em:
http://falandointerpretando.blogspot.com. Acesso em: 08/11/2010.
SILVA, A.A.R., Negócios Eletrônicos no Brasil. Disponível em:
http://www.artigonal.com. Data de Acesso 23/08/2010.
SIMON, C.: Scam, phishing e pharming: As fraudes praticadas no ambiente
Internet Banking e sua recepção no Brasil. Revista de Derecho Informático, n.
105, abr., 2007. Disponível em: http://www.alfa-redi.org. Acesso em: 18/11/2010.
SOUSA JR, Prof. Dr. Rafael T. de e PUTTINI. Prof. MSc. Ricardo S. SSL3. Mestrado
em Engenharia de Redes e Tecnologias da Informação – UNB – Departamento de
Engenharia Elétrica. Disponível em: http://www.redes.unb.br. Acesso em:
10/10/2010.
SUAPESQUISA. História da Internet. Matéria publicada no site: suapesquisa.com,
disponível em: http://www.suapesquisa.com. Acesso em Setembro de 2010.
SUAPESQUISA: História da Internet. Disponível em:
http://www.suapesquisa.com. Acesso em: 12/11/2010.
TELEMIKRO: Segurança da Informação: Garantia de Disponibilidade de
Sistemas Críticos. Disponível: http://www.faxes.com.br. Acesso em: 06/11/2010.
TURBAN, E.; KING, D. Comércio eletrônico: estratégia e gestão. São Paulo:
Prentice Hall, 2004.
55
TYSON, Jeff. Como funciona a Criptografia. Matéria publicada no site
Howstuffworks.com.br, disponível em: http://informatica.hsw.uol.com.br. Acesso em
Setembro 2010.
VELASCO, M.: Segurança versus teclado virtual. Disponível em:
http://www.netjuridica.com.br. Acesso em: 06/11/2010.
VICENTE, M.: Segurança em Sistemas, Ênfase em Rede de Computadores.
Disponível em: www.gta.ufrj.br. Acesso em 11/11/2010.
WONGTSCHOWSKY, A.: Segurança em Aplicações Transacionais na Internet:
O elo mais fraco. Disponível em: http://www.teses.usp.br. Acesso em: 19/11/2010.
ZAVALLOS; R.J. A história da internet. Disponível em: www.artigonal.com.
Acessado em: 27 de setembro de 2010.
ZEVALLOS, R.: Surgimento e evolução da Internet. Disponível em:
http://www.fateczl.edu.br. Acesso em 19/11/2010.
COMODOBR: O que é SSL?. Disponível em: http://www.comodobr.com. Acesso em
04/12/2010.
Download

Visualizar monografia