CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE
SISTEMAS
BRUNO DE AZEVEDO RAMOS
JACKSON PESSANHA MACHADO
MURILO ALVARES VIEIRA
SEGURANÇA DA INFORMAÇÃO EM CORPORAÇÕES
Sistema de Gerenciamento de Tarefas
Campos dos Goytacazes/RJ2010
BRUNO DE AZEVEDO RAMOS
JACKSON PESSANHA MACHADO
MURILO ALVARES VIEIRA
SEGURANÇA DA INFORMAÇÃO EM CORPORAÇÕES
Sistema de Gerenciamento de Tarefas
Monografia apresentada ao Instituto
Federal Fluminense Campus Campos Centro
como requisito parcial para conclusão do Curso
Superior de Tecnologia em Análise e
Desenvolvimento de Sistemas
Orientador: Prof. Breno Fabrício Terra de
Azevedo
Campos dos Goytacazes/RJ
2010
BRUNO DE AZEVEDO RAMOS
JACKSON PESSANHA MACHADO
MURILO ALVARES VIEIRA
SEGURANÇA DA INFORMAÇÃO EM CORPORAÇÕES
Sistema de Gerenciamento de tarefas
Monografia apresentada ao Instituto
Federal Fluminense Campus Campos Centro
como requisito parcial para conclusão do
Curso Superior de Tecnologia em Análise e
Desenvolvimento de Sistemas
Aprovada em 19 de Julho de 2010
Banca Avaliadora:
....................................................................................................................................
Prof. Breno Fabrício Terra de Azevedo (Orientador)
Mestre em Informática pela UFES
Instituto Federal de Educação, Ciência e Tecnologia Fluminense/Campus Campos
Centro
..................................................................................................................................
Prof. Fábio Duncan de Souza
Mestre em Pesquisa Operacional e Inteligência Computacional pela UCAM
Instituto Federal de Educação, Ciência e Tecnologia Fluminense/Campus Campos
Centro
...................................................................................................................................
Profª. Michele Maria Freitas Neto
Bacharel em Ciência da Computação - Universidade Federal Fluminense
Instituto Federal de Educação, Ciência e Tecnologia Fluminense/Campus Itaperuna
AGRADECIMENTOS
Bruno:
Agradeço primeiramente a Deus, o que seria de mim sem a fé que eu tenho
nele, a minha mãe Aparecida, que é a mulher da minha vida e sempre me apoiou
nos estudos; a toda família, que me apoia e me inspira a alcançar meus objetivos e
aos professores do IFF, pelos conhecimentos transmitidos com dedicação. Agradeço
aos meus amigos, por estarem junto nas horas mais tensas e divertidas do curso.
Agradeço também ao IFF (Instituto Federal Fluminense), pelo apoio institucional e
pelas facilidades oferecidas.
Jackson:
Primeiramente a Deus, por ser de Sua vontade chegar até aqui; Jarbas Abreu
Machado e Cristiane Lopes Pessanha, meus pais, pelo aprendizado, incentivo e
amor dados em todos os dias de minha vida, sendo em terra a minha base para todo
e qualquer ato; minha família, por servir-me de auxílio em todo e qualquer momento;
Juliana Viana, pela compreensão e apoio dado; e por fim a todos professores pelo
ensinamento, e amigos pela companhia e aprendizado. Todos estes fizeram tornar-
me hoje o que sou, e por isso tenho no mínimo a agradecê-los por cada dia, cada
momento, cada ensinamento e cada dedicação.
Murilo:
À minha família e aos professores da instituição pelo carinho e estímulo, que
me conduziram a esta realização profissional, a minha gratidão.
RESUMO
As informações contidas em sistemas informatizados possuem enorme importância,
devendo estar seguras de qualquer tipo de ameaça, uma vez que manipuladas por
pessoas não autorizadas, podem ocasionar grandes prejuízos de diversas formas.
Este trabalho pretende apresentar quais os meios de ataque mais utilizados contra
redes de computadores e sistemas. O objetivo deste trabalho é apresentar uma
ferramenta que pode ser utilizada por profissionais da área de informática para
registrar os incidentes de segurança ocorridos nas corporações, bem como as suas
soluções.
Palavras chave: Segurança da Informação. Redes Computacionais.
ABSTRACT
The information in computerized systems have enormous importance and should be
safe from any kind of threat, as manipulated by unauthorized persons, can cause
great damage in several ways. This paper aims to present the most widely used
means of attack against computer networks and systems. The objective is to provide
a tool that can be used by computer professionals to record security incidents in
corporations as well as their solutions.
Keywords: Information Security. Computer Networks.
LISTA DE FIGURASFigura 1: Exemplo de uma rede de Computadores...................................................................14
Figura 2: Estabelecimento de conexão Cliente X Servidor......................................................35
Figura 3: Exemplo de Firewall..................................................................................................74
Figura 4: Implantação de um IDS............................................................................................76
Figura 5: Diagrama de Casos de Uso........................................................................................87
Figura 6: Diagrama de Classes..................................................................................................93
Figura 7: Diagrama de Entidade e Relacionamentos (Banco de Dados)..................................93
Figura 8: Tela Inicial.................................................................................................................94
Figura 9: Cadastro de dados......................................................................................................95
Figura 10: Edição de dados.......................................................................................................96
Figura 11: Listagem dos Elementos..........................................................................................97
Figura 12: Lista de Incidentes...................................................................................................97
Figura 13: Relatório de Incidentes............................................................................................98
LISTA DE ABREVIATURAS E SIGLAS
ARP Address Resolution Protocol
ARPA Advanced Research and Projects Agency
ARPANET Advanced Research Projects Agency Network
ASCII American Standard Code for Information Interchange
BOT Robot
CCDA Cisco Certified Design Associate;
CCNA Cisco Certified Network Associate;
CCNP Cisco Certified Network Professional;
CCSA CheckPoint Certified Security Administrator;
CCSE CheckPoint Certified Security Expert;
CCSP Cisco Certified Security Professional;
CERT Computer Emergency Response Team
CIA Confidentiality, Integrity and Availability
CISSP Certified Information System Security Professional
CPD’s Centros de Processamento de Dados.
CPDs Central de Processamento de dados
CSI Computer Security Institute
DdoS Distributed Denial of Service
DNS Domain Name System
DoS Denial of Service
FTP File Transfer Protocol
GIAC: GCIH GIAC Certified Incident Handler
HTML HyperText Markup Language
HTTP HyperText Transfer Protocol
IDS Intrusion Detection Systems
IP Internet Protocol
ISP Internet Service Provider
LAN Local Area Network
LPI Linux Professional Institute
MAC Media Access Control
MAN Metropolitan Area Network
MCSA Security Microsoft Certified Sysem Administrator: Security
MCSE Security Microsoft Certified System Engineer: Security
9
Mps Módulos processadores
NSA National Security Agency
OSI Open Systems Interconnection
PC Computador Pessoal
RFC Request for Comments
RPC Remote Procedure Call
SMTP Simple Mail Transfer Protocol
SQL Structured Query Language
TCP Transmission Control Protocol
TI Tecnologias da Informação
TSA Tevora South Africa
UCE Unsolicited Commercial E
UNICAMP Universidade Estadual de Campinas
Univille Universidade da Região de Joinville
WAN Wide Area Network
WLAN Wireless Local Area Network
WWW World Wide Web
XSS (CSS) Cross Site Scripting
SUMÁRIOLISTA DE FIGURAS.................................................................................................................6
LISTA DE ABREVIATURAS E SIGLAS.................................................................................7
INTRODUÇÃO........................................................................................................................12
1 REDES DE COMPUTADORES...........................................................................................14
1.1 Definição........................................................................................................................14
1.2 Objetivos das Redes de Computadores..........................................................................15
1.3 Classificação...................................................................................................................16
1.4 Riscos.............................................................................................................................19
1.4.1 Dados......................................................................................................................19
1.4.2 Recursos..................................................................................................................19
1.4.3 Reputação...............................................................................................................20
2 SEGURANÇA DA INFORMAÇÃO.....................................................................................21
2.1 Definições de Segurança da Informação.............................................................................21
2.1.1 Pilares da Segurança da Informação.......................................................................22
2.1.2 Classificação das Informações................................................................................23
2.1.3 Tipos de Segurança da Informação.........................................................................24
2.2 Atores.............................................................................................................................26
2.2.1 Vítima.....................................................................................................................27
2.2.2 Administrador de Redes.........................................................................................27
2.2.3 Analista de Segurança............................................................................................28
2.2.4 Programador...........................................................................................................29
2.2.5 Script Kid................................................................................................................30
2.2.6 Noob.......................................................................................................................31
2.2.7 Hacker.....................................................................................................................31
2.2.8 Cracker....................................................................................................................32
2.2.9 Phreaker..................................................................................................................33
2.3 Vulnerabilidades.............................................................................................................33
2.4 Ataques...........................................................................................................................34
2.4.1 Principais tipos de ataque.......................................................................................34
2.4.1.1 IP Spoofing.....................................................................................................34
2.4.1.2 DNS Spoofing.................................................................................................36
2.4.1.3 Sniffing...........................................................................................................37
11
2.4.1.3.1 Detectando Sniffers.................................................................................39
2.4.1.3.2 Como evitar o Sniffing ...........................................................................40
2.4.1.4 Ataque do tipo DoS.........................................................................................40
2.4.1.5 Ataque do tipo DDoS......................................................................................41
2.4.1.6 Quebra de senhas............................................................................................42
2.4.1.7 Malwares.........................................................................................................42
2.4.1.7.1 Vírus........................................................................................................43
2.4.1.7.2 Worm.......................................................................................................44
2.4.1.7.3 Trojans.....................................................................................................44
2.4.1.7.4 Bots.........................................................................................................45
2.4.1.7.5 Keyloggers..............................................................................................45
2.4.1.7.6 Rootkits...................................................................................................46
2.4.1.7.7 Spam........................................................................................................47
2.4.1.8 Phishing...........................................................................................................48
2.4.1.9 Port Scanning..................................................................................................48
2.4.1.10 Engenharia Social.........................................................................................49
2.4.1.11 Cross-Side Scripting (XSS)..........................................................................52
2.4.1.12 SQL Injection................................................................................................53
2.4.1.13 Buffer Overflow............................................................................................54
2.4.1.14 Sequestro de Sessão......................................................................................55
2.4.1.15 Defacement...................................................................................................56
2.4.1.16 Criptoanálise.................................................................................................57
2.4 Métodos de Segurança....................................................................................................58
2.4.1 Políticas de Segurança............................................................................................58
2.4.2 Conscientização......................................................................................................60
2.4.3 Atualizações Frequentes.........................................................................................62
2.4.4 Análise e auditoria de logs......................................................................................63
2.4.5 Desenvolvimento seguro........................................................................................65
2.4.6 Criptografia.............................................................................................................67
2.4.6.1 O que é............................................................................................................67
2.4.6.2 Objetivo...........................................................................................................68
2.4.6.3 Tipos...............................................................................................................69
12
2.4.6.3.1 Codificação por substituição...................................................................69
2.4.6.3.2 Cifragem com chave privada..................................................................70
2.4.7 PenTests..................................................................................................................71
2.5 Ferramentas de segurança..............................................................................................73
2.5.1 Firewall...................................................................................................................73
2.5.2 - Sistema de Detecção de Intrusos (IDS)................................................................75
2.5.2.1 IDS de Rede...................................................................................................76
2.5.2.2 IDS de host......................................................................................................77
2.5.3 Antivírus.................................................................................................................78
2.5.3.1 Quarentena......................................................................................................80
2.5.4 Backup e Restore....................................................................................................80
3 SISTEMA DE GERENCIAMENTO DE TAREFAS............................................................83
3.1 Objetivos do Sistema......................................................................................................83
3.2 Softwares relacionados...................................................................................................84
3.3 Tecnologias Utilizadas...................................................................................................84
3.4 Levantamento dos Requisitos.........................................................................................85
3.4 Diagrama de Casos de Uso.............................................................................................87
3.5 Descrição dos Casos de Uso...........................................................................................87
3.6 Diagrama de Classes......................................................................................................93
3.7 Diagrama de Banco de Dados........................................................................................93
3.8 Telas do Sistema.............................................................................................................94
CONCLUSÃO..........................................................................................................................99
REFERÊNCIAS......................................................................................................................101
INTRODUÇÃO
Atualmente é notável a dependência e apego da sociedade por tecnologias.
Sejam pessoais ou coletivas, elas enchem os olhos da maioria das pessoas,
principalmente daqueles que detêm do poder de compra para o que há de mais novo
no mercado. Mas para que todo esse globo possa girar da maneira adequada, existe
toda uma infraestrutura. Antes de simplesmente comprar, deve ser exercido o ato da
comunicação, para que o conhecimento sobre tudo ou qualquer coisa seja realizado,
através de quaisquer meios disponíveis.
A informação vem atravessando décadas desde a idade medieval, onde eram
entregues pessoalmente, por mensageiros, a pé ou a cavalo, ou era feita a
passagem de informação por pombos correio. Com o passar do tempo surgem
novas criações, como os meios de transporte mais rápidos, e mais a frente uma
época em que não era mais necessário o deslocamento de quaisquer seres para
que a informação fosse passada: a era tecnológica. Com o passar dos anos, a partir
do fim do século XIX, a comunicação a distância passou a ser possível.
Surgiu, em 1876 o telefone, criado pelo renomado inventor Graham Bell,
onde foi permitida a primeira transmissão de mensagem (para seu auxiliar Thomas
Watson) dentro de uma mesma sala. Onze anos mais tarde tem-se a descoberta da
rádio-frequência, por Henrich Hertz, que permite a transmissão de informações sem
a necessidade de cabos. Mas a primeira palavra falada através de ondas
magnéticas, sem fios, veio a existir apenas em 1893, com o Padre Roberto Moura.
Dado início a essa nova era, a voz, que era e é transferida por cabos e ondas, anos
mais tarde deu também lugar a imagens, textos, estruturas, entre outros conjuntos
de informação, chamados de dados.
No ano de 1969, a ARPA (Advanced Research and Projects Agency) criou um
projeto com o objetivo de conectar os computadores de seus departamentos de
pesquisa, e deu o nome de ARPANET. Deste projeto, que interligava 4 instituições,
surgiu a internet. Estudiosos receberam o projeto nos anos 70, e a partir de então a
expansão da tecnologia perdura até os dias de hoje, onde não é exagero dizer, ser
responsável pela ligação do mundo, conforme Bogo(2000).
Com esse crescimento, surgem também problemas. A falta de segurança, a
14
falta de uma estrutura sólida e até mesmo o excesso de conhecimento, por exemplo,
podem ser fatores negativos em meio a toda esta grande rede de pessoas
interligadas ao redor da Terra. Devido a isso, uma série de mecanismos e
procedimentos são necessários objetivando manter a ordem e segurança de tudo
que acontece nesta grande rede. Para isso existem métodos, estruturas,
ferramentas, e outros meios que são de suma importância para manter a
organização, em cada parte dessa estrutura, exercidos por um profissional que
detém os conhecimentos adequados sobre a arquitetura da internet e seus
derivados.
Este trabalho tem por objetivo mostrar como funciona o ambiente de
segurança da informação. Para isso, é apresentado a definição de redes de
computadores, assim como seus riscos e objetivo. A partir de então, são definidos
os conceitos de segurança da informação, bem como os envolvidos neste ambiente,
sejam atacantes ou profissionais responsáveis por garantir a segurança, bem como
o funcionamento da mente de um atacante. Com essas informações adquiridas, são
mapeadas também as maiores vulnerabilidades que ocorrem atualmente na área da
informática, seguidas de tarefas e métodos que podem ser realizados, objetivando
assim a minimização, e, possivelmente, a eliminação dessas ameaças.
A implementação de um software que possa realizar um gerenciamento
dessas tarefas adquire importância em uma área que necessita de tantas tarefas a
serem realizadas, sejam em pequenas ou grandes empresas. Com isso foi
implementado um software denominado Sistema de Gerenciamento de Incidente,
que busca obter a organização com a criação, e o gerenciamento, propriamente dito,
das tarefas a serem realizadas, fazendo sua devida referência aos computadores e
locais específicos, assim como o responsável pela ação. Desta forma, acredita-se
que a tarefa árdua de gerenciar correções, ações, e prevenções sejam amenizadas
para os técnicos responsáveis.
1 REDES DE COMPUTADORES
1.1 Definição
Rede de Computadores (em inglês network) são dois ou mais computadores
ligados entre si com a finalidade de compartilhar aplicativos, recursos, dados e
periféricos.
Redes de computadores são estruturas físicas (equipamentos) e lógicas (programas, protocolos) que permitem que dois ou mais computadores possam compartilhar suas informações entre si. (CARVALHO, 2009).
A RFC1 define rede de computadores como uma coleção de hosts interligados
para troca de dados. Host é definido pela mesma RFC como sendo um computador
ligado a uma rede de comunicação que possa usar os serviços providos pela rede
para trocar dados com outros sistemas interligados. A definição de rede de
computadores é utilizada para sistemas de todos os tamanhos e tipos, indo desde a
complexa Internet até a um simples computador pessoal interligado remotamente
como um terminal de outro computador. A figura 1 representa uma rede de
computadores.
Figura 1: Exemplo de uma rede de Computadores
1 Request for Comments. É um documento que descreve os padrões de cada protocolo da Internet previamente a serem considerados um padrão.
16
Segundo Tanenbaum (1994), o termo "rede de computadores" pode ser
especificado como um conjunto de computadores autônomos, interconectados,
sendo capazes de trocar informações. Essas interconexões podem ser feitas através
de fios de cobre, lasers, micro-ondas, satélites de comunicação e também por fibras
ópticas.
1.2 Objetivos das Redes de Computadores
Tanenbaum (1994) também define os objetivos da interconexão de
computadores autônomos como sendo:
✗ Compartilhamento de recursos: Fazer com que todos os programas,
dados e equipamentos da rede estejam disponíveis a todos os usuários
independentemente de sua localização física. Como exemplo, pode-se citar o
compartilhamento de uma impressora por vários usuários;
✗ Economia: A substituição gradativa dos antigos mainframes para as
redes de computadores de pequeno porte significou uma redução muito
grande nos custos de manutenção dos sistemas de informação, possibilitando
uma verdadeira revolução nos CPD’s2, esse fenômeno ficou conhecido
mundialmente como Downsizing. Essas redes de computadores de pequeno
porte possibilitam um aumento da capacidade de processamento à medida
que a demanda cresce, ao contrário dos grandes mainframes, onde a
sobrecarga só poderia ser solucionada com a substituição do mesmo por um
de maior capacidade, a um custo geralmente muito elevado;
✗ Prover um meio de comunicação: As redes de computadores
também são um poderoso meio de comunicação entre pessoas,
possibilitando inclusive o trabalho em conjunto mesmo estando a quilômetros
de distância.
2 CPDs: Centros de Processamento de Dados.
17
1.3 Classificação
As redes de computadores podem ser classificadas da seguinte forma,
segundo Ross (2008):
✗ LAN (Local Area Network): São redes de pequena dispersão
geográfica dos computadores interligados que conectam computadores numa
mesma sala, prédio ou até mesmo entre prédios próximos, campus com a
finalidade de compartilhar recursos associados aos computadores, ou permitir
a comunicação entre os usuários destes equipamentos. Nessa rede os
computadores podem ser ligados pelos cabos de rede.
✗ MAN (Metropolitan Area Network): Computadores interligados na
região de uma cidade, chegando, às vezes, a interligar computadores de
cidades vizinhas. Essa classificação de rede é usada para a interligação de
computadores dispersos numa área geográfica mais ampla, onde não é
possível ser interligada usando tecnologia para redes locais, portanto
normalmente é resultado da interligação de várias LANs. A MAN liga
computadores e utilizadores numa área geográfica maior que a abrangida
pela LAN, porém menor que a área abrangida pela WAN.
✗ WAN (Wide Area Network): Redes que se estendem além das
proximidades físicas dos computadores, usam linhas de comunicação das
empresas de telecomunicação, por satélite, ondas de rádio, etc. É usada para
interligações de computadores em uma grande área geográfica, ou seja,
localizados em diferentes cidades, estados ou países. As WANs geralmente
são de caráter público. O maior exemplo que podemos citar é a Internet que é
uma rede global.
✗ WLAN (Wireless Local Area Network): Rede local sem-fios de alta
freqüência, que usa como meios de transmissão o infravermelho, o laser ou
ondas de rádio, para fazer a interligação entre computadores, tendo como
principal motivação sua facilidade de uso e praticidade. Esse tipo de rede
geralmente está disponível ao público em aeroportos, shoppings , etc.
18
Pode se destacar a possibilidade de fazer interligações entre redes, de forma
que uma rede distinta possa se comunicar com uma outra rede. Dentre as formas de
interligação destaca-se a internet, Extranet e Intranet.
A rede mundial de computadores, mais conhecida como Internet, segundo
Ross(2008):
É uma ligação de mais de uma rede local ou remota, na qual é necessário a existência de um roteador na interface entre duas redes. A transferência de dados ocorre de forma seletiva entre as redes, impedindo assim o tráfego desnecessário nas redes. A internet tem por finalidade restringir o fluxo das comunicações locais ao âmbito de suas limitações físicas, permitindo o acesso a recursos remotos e o acesso de recursos locais por computadores remotos, quando necessário. (ROSS, 2008)
Podemos dizer que Internet é uma rede de redes. É composta de pequenas
redes locais (LANS), redes estaduais (MANs) e redes de grande distância (WANs)
que conectam computadores de diversas organizações no mundo todo. Estas redes
estão interligadas de diferentes maneiras, desde uma linha telefônica discada,
rádios, satélites,malhas de fibras óticas, sem fios, ou até mesmo submarinas. Estar
na Internet significa participar de uma rede mundialmente interconectada.
O princípio básico de uma rede de computadores é a capacidade de
"comunicação" entre dois computadores. Para isto, utilizam-se protocolos, regras ou
convenções que regem esta comunicação. Para que a comunicação se efetive dois
computadores devem utilizar o mesmo protocolo, simultaneamente.
Sendo assim a família de protocolos padrão da internet é o TCP/IP
(Transmission Control Protocol/Internet Protocol). É considerado um protocolo
aberto, ou seja, "sem dono", o que significa dizer que nenhuma empresa específica
tem direitos sobre ele. Cada vez que ocorre uma transferência o protocolo age
quebrando a informação e forma diversos pacotes endereçando-os para que cada
um siga seu caminho independente. Estes pacotes passam por roteadores, que
estão programados para definirem os melhores caminhos.
Segundo Ross(2008) a Intranet:
[…] é uma rede privada localizada numa corporação constituída de uma ou mais redes locais interligadas e pode incluir computadores ou redes remotas. Seu principal objetivo é o compartilhamento interno de informações e recursos de uma companhia, podendo ser usada para facilitar o trabalho em grupo e para permitir teleconferências. O uso de um ou mais roteadores podem permitir a
19
interação de rede interna com a Internet. Ela se utiliza dos protocolos TCP/IP, HTTP e outros protocolos da Internet são usados nas comunicações e é caracterizada pelo uso da tecnologia WWW dentro de uma rede corporativa. (ROSS, 2008)
Sendo assim pode se definir Intranet como uma rede de computadores,
similar à internet, porém é utilizada no uso exclusivo de uma empresa, ou seja,
somente os computadores da empresa tem acesso as informações nela contidas. A
intranet é o veículo que habilita a troca de informações entre os diversos
departamentos ou setores de uma organização, facilitando portanto a colaboração e
a comunicação entre os mesmos. Sendo responsabilidade de cada administrador de
departamento a publicação das corretas informações a serem compartilhadas.
A intranet é o veiculo inicial de comunicação da empresa, podendo então ser
estendida para usuários externos que tenham relacionamento com a empresa, como
por exemplo fornecedores. Essa extensão é chamada de extranet.
Ross (2008) define a Extranet de forma clara e sucinta, exemplificando sua
usabilidade.
[…] é uma rede privada (corporativa) que usa os protocolos da Internet e os serviços de provedores de telecomunicação para compartilhar parte de suas informações com fornecedores, vendedores, parceiros e consumidores. Pode ser vista como a parte de uma Intranet que é estendida para usuários fora da companhia. Segurança e privacidade são aspectos fundamentais para permitir o acesso externo, que é realizado normalmente através das interfaces da WWW, com autenticações, criptografias e restrições de acesso. Pode ser usado para troca de grandes volumes de dados, compartilhamento de informações entre vendedores, trabalho cooperativo entre companhias, etc. (ROSS, p.5)
O funcionamento de extranet é similar à intranet, porém sua principal
característica é o fato de ser possível o acesso via internet, o que habilita obter as
informações necessárias de uma empresa de qualquer lugar do mundo. O objetivo
de montar uma extranet é ter uma comunicação fácil e segura entre os funcionários
e parceiros da organização. Para garantir que as informações estejam sempre
atualizadas, os sistemas internos e externos da empresa são interligados, porém é
importante ressaltar que deve existir uma forte politica de segurança implementada
para garantir o acesso aos seus devidos usuários.
20
1.4 Riscos
Mediante sua fragilidade, uma rede de computadores conectada a internet
expõe alguns elementos de seu sistema, citados abaixo conforme definição de Ross
(2008):
✗ Dados;
✗ Recursos;
✗ Reputação.
1.4.1 Dados
Podemos ressaltar nos dados quatro propriedades que devem ser atendidas
para obter a segurança. A autenticidade, confidencialidade, integridade e
disponibilidade, quando juntas, garantem em grandes proporções a segurança da
informação. As definições de cada uma das características serão mostradas na
seção 1.3 do capítulo 2, onde serão abordados os pilares da segurança da
informação.
1.4.2 Recursos
Normalmente os chamados Hackers, usam do argumento de que eles utilizam
dos recursos “hackeados” para uso próprio, ou seja, suas invasões, ou melhor
dizendo seus crimes virtuais não custam nada às vitimas. No entanto para Zwicky
(2000), há dois problemas com esse argumento:
Primeiramente é impossível para o intruso determinar com certeza, que
recursos em um sistema são excedentes. Pode-se pensar que os sistemas tenham
21
grandes quantidades de espaço de armazenamento vazio de horas e tempo de
processamento não utilizadas. De fato em muitas situações isto ocorre, porém, no
momento em que todos os recursos sejam necessários, deve-se garantir que todos
estejam íntegros.
E em segundo lugar, é de direito da empresa utilizar os recursos ao seu
critério, mesmo que isso signifique deixar disponível uma grande quantidade sem
utilização.
De acordo com Sousa e Puttini(2010), mesmo que o intruso não danifique os
dados, a simples utilização dos computadores (e demais recursos) pode significar
danos imensuráveis: os recursos representam um substancial investimento da
empresa, e o retorno financeiro depende da melhor utilização destes recursos.
Assim caso o atacante "compartilhe" tais recursos ele estará roubando tempo e
dinheiro da empresa.
1.4.3 Reputação
Argenti(2005) define reputação empresarial da seguinte forma:
[…] a reputação baseia-se na síntese de como os clientes e acionistas veem a organização. A avaliação deles fundamenta-se na identidade da organização, inclusive informações fornecidas pela empresa sobre sua visão e estratégia, assim como as ações no decorrer do tempo; as percepções da organização por parte de outros, como pesquisadores de opinião e terceiras partes com credibilidade; e o desempenho, como lucratividade e responsabilidade social. O risco reputacional é, portanto, a perda potencial na reputação, que poderia levar a publicidade negativa, perda de rendimento, litígios caros, declínio na base de clientes ou saída de funcionários importantes. (ARGENTI, 2005)
A reputação é um bem de grande importância para uma empresa. Se sofre
danos, certamente a companhia passa a correr riscos. Supondo uma empresa de
grande porte no mercado, que utiliza de métodos e técnicas para manter-se, sofra
um ataque hacker e tenha um enorme prejuízo. Quando uma catástrofe como essa
ocorre e vaza à mídia, a empresa perde reputação e crédito com seus clientes, pois
demonstra fragilidade. Situações como estas podem, com a perda da reputação,
sofrer várias consequências, como perdas financeiras e morais.
22
2 SEGURANÇA DA INFORMAÇÃO
2.1 Definições de Segurança da Informação
Desde a década de 80 a Internet vem crescendo exponencialmente, e essa
popularização é vista em qualquer parte do mundo, por todas as pessoas. Porém, ao
mesmo tempo que traz comodidade, conforto, e velocidade na obtenção e troca de
informações (como negócios online, ou apenas meras conversas), a atuação de
“ladrões digitais”, a propagação de códigos maliciosos, excesso de propaganda e
outros inconvenientes, trazem a tona a falta de segurança neste mundo virtual.
Segundo Zapater e Suzuki(2005), a facilidade na realização de ataques através da
internet também aumentou significativamente, devido a criação e popularização de
ferramentas utilizadas com fins maliciosos, capazes de serem utilizadas desde
aqueles que não dominam o assunto até aqueles dotados de maior conhecimento.
Brechas de segurança em sistemas operacionais também podem ser um dos fatores
responsáveis por esse aumento de insegurança, junto também com a sofisticação e
complexidade de ataque.
Segundo Franzon(2010), a Kapersky Lab fez um levantamento, e chegou a
conclusão que no ano de 2009, o Brasil foi o país que mais sofreu com roubos
virtuais de dados e contas bancárias. De 35 mil ameaças diárias analisadas em 10
países, 36% desses ataques foram redirecionados a máquinas brasileiras, seguidas
pelas chinesas, com 21%, e as espanholas com 8%. Bestuzhev(2010) diz que um
dos motivos que tornam o Brasil um destino predileto, é o fato do país ser, também,
o maior produtor de trojansbank (programas maliciosos que tem como objetivo obter
dados bancários).
Com informações como estas, chega-se a conclusão da extrema importância
em se preocupar com a segurança em computadores, tanto pessoais como de
grandes empresas, visando minimizar problemas relacionados a vulnerabilidades.
Assim, pode-se identificar a segurança da informação como a “proteção dos
sistemas de informação contra negação de serviço a usuários autorizados, assim
23
como contra a intrusão, e a modificação desautorizada de dados ou informações,
armazenados, em processamento ou em trânsito, abrangendo, inclusive, a
segurança dos recursos humanos, da documentação e do material, das áreas e
instalações das comunicações e computacional, assim como as destinadas a
prevenir, detectar, deter e documentar eventuais ameaça a seu desenvolvimento ”,
conforme definição imposta na norma NBR ISO/IEC 17999:2000. A segurança da
informação é responsável para garantir a segurança, propriamente dita, em toda
área que envolva o tráfego de informação, no raio de atuação do profissional.
2.1.1 Pilares da Segurança da Informação
A segurança da informação padroniza 3 características básicas, que são os
principais atributos para orientar e analisar o planejamento e a implementação da
informação. Essas 3 características, a confidencialidade, integridade e
disponibilidade, também conhecida como CIA (Confidentiality, Integrity and
Availability) são consideradas os pilares da segurança da informação. Há também a
autenticidade, uma outra característica importante e bastante citada. Seguem abaixo
definições baseadas em Laureano(2004):
✗ Confidencialidade - Consiste em proteger informações contra acessos
indevidos, de forma que sejam confidenciais apenas aqueles que necessitam
de acesso à informação. Protege, por exemplo, contra leitura e/ou cópia por
alguém que não seja autorizado. A informação deve ser protegida
independente da mídia utilizada, seja impressa (papel) ou digital (como
arquivo de computador). Deve ser cuidada não somente a informação de
forma geral, mas também as partes que tenham interferência no todo.
✗ Integridade – A integridade tem como objetivo a proteção da
informação contra modificação sem a permissão explícita do proprietário da
mesma. Quanto a modificação, refere-se a ações como escrita, alteração de
conteúdo, alteração de status, remoção e inserção de dados. A proteção deve
24
ser considerada em suas mais variadas formas sobre a informação,
independente de estar armazenada em discos ou fitas de backup, por
exemplo. Em suma, entende-se como integridade, ter a garantia que o dado
está intacto, em sua forma original, sem nenhuma alteração que não tenha
sido autorizada.
✗ Disponibilidade – A disponibilidade visa proteger os dados de forma a
serem acessados somente à quem tem permissão de acesso. Dessa forma,
essa característica funciona como um separador. Aqueles que possuem o
acesso, sempre terá o documento disponível. O contrário ocorrerá com
aqueles que não possuem tal permissão, pois ao necessitarem acesso à
informação, terão o pedido negado.
✗ Autenticidade – A autenticidade está associada com a identificação
correta de um usuário ou um computador. A autenticação tem como objetivo
garantir que a mensagem é realmente original, e vem do local correto. Essa
confirmação pode ser realizada através de métodos, como um mecanismo de
senhas ou autenticação digital. Após a identificação do usuário/sistema ou
sistema/sistema. É utilizada como medida de proteção de uma informação
contra a personificação3 por intrusos.
2.1.2 Classificação das Informações
Com a valorização da informação, uma maior importância passou a ser dada
ao seu armazenamento e acesso em corporações. Com isso, em 1996 foram
verificadas pela primeira vez a necessidade de classificação da informação, de
maneira que sejam separadas por prioridade, de acordo com cada empresa,
respeitando a classe de informação e sua importância. Laureano(2004) as define
como:
✗ Pública – Informação considerada de menor sigilo, podendo vir a
público sem problemas, pois não corre riscos de trazer prejuízos a empresa;
3 Agir como outra pessoa ou equipamento.
25
✗ Interna – Possui certa importância em sua integridade, apesar de suas
consequências não serem muito sérias caso acesso indevido. É importante
manter a integridade, mesmo que não seja vital;
✗ Confidencial – Com um nível de importância maior, tal informação
deve ser restrita aos pontos focais da empresa, de forma que sua perda ou
acesso indevido pode causar desequilíbrio operacional, com possíveis perdas
financeiras e/ou de confiabilidade.
✗ Secreta – Informação de nível mais crítico, cuja perda pode causar
enormes danos a empresa, moral e financeiro. Dado como classificação mais
importante, deve ser limitada a um número mínimo e seguro de pessoas,
sendo preservada a qualquer custo. Sua manipulação indevida é vital para
companhia.
Essas definições variam de acordo com as empresas, que podem inclusive
ter novas classificações agregadas, nomes variados, e níveis diferentes de
classificação. Com metodologias simples como estas já obtêm-se uma ordem e
junto a métodos adequados é possível possuir determinada segurança sobre os
dados.
2.1.3 Tipos de Segurança da Informação
Uma vez entendido que a segurança da informação tem como principal
objetivo proteger os dados, com base em seus pilares e características principais,
fica evidente que essa proteção não limita-se somente a parte lógica, mas também a
física. Este fato implica na proteção em quaisquer circunstâncias, através de
métodos e procedimentos que serão definidos nas seções 4 e 5 deste capítulo.
Cada caso depende de situações específicas.
Conforme definição de Souza(2009) seguem abaixo:
Física: Apesar de não ser levada em consideração como devia, a segurança
26
física é de grande e notória importância, pois uma falha pode causar circunstâncias
drásticas. A segurança física é o passo inicial para a defesa da companhia, quando
trata-se de proteger a informação contra acessos indevidos. Deve ser realizada uma
análise de riscos, para averiguar as dependências, e obter resultados expressivos.
Durante esta análise, devem ser checados: portas trancadas nas salas, mesas e
armários que portam documentos devidamente trancados, estações de trabalhos
estão protegidas e bloqueadas contra acessos indevidos ou com ausência do
funcionário, deve ser verificado se mídias e dispositivos de armazenamento em
massa estão protegidos contra roubos, cabeamento de rede padronizado e seguro,
se pontos de rede estão disponíveis para conexões indevidas, a existência de
trituradores de papel para anular documentos, entre outros detalhes. É verificada a
segurança dos dados e a disponibilidade dos mesmos, mediante sua classificação,
entre outros procedimentos.
Em uma lista de ameaças físicas que podem causar danos a uma empresa,
destacam-se:
✗ Incêndio (fogo e fumaça);
✗ Água (vazamentos, corrosão, enchentes);
✗ Tremores e abalos sísmicos;
✗ Tempestades e furacões;
✗ Sabotagem e vandalismo;
✗ Explosões;
✗ Roubos, furtos;
✗ Desmoronamento;
✗ Materiais tóxicos;
✗ Interrupção de energia;
✗ interrupção de comunicação;
✗ falhas em equipamentos;
✗ outros.
Após tal levantamento, o resultado da análise deve apontar o grau de risco a
27
qual a corporação está exposta em decorrência das ameaças à segurança física.
Com o risco obtido, são feitas análises e realizados os investimentos de acordo com
a importância e o grau dos riscos.
Esse procedimento, descrito por Souza(2009), demonstra claramente a
importância da segurança física em uma corporação.
Lógica: Contrária a segurança física, a segurança lógica provê o alerta contra
ameaças como vírus, acessos remotos desconhecido a rede de determinada
empresa, backup de dados desatualizados, violação de senhas, entre outros.
Este tipo de segurança cuida da segurança em nível de sistema operacional e
de aplicação. Não somente cuida de ameaças, como citado anteriormente, mas
também auxilia quanto a erros não intencionais, como exclusão acidental de
arquivos, através de recuperação via backup atualizado.
2.2 Atores
A necessidade de segurança em equipamentos que utilizam da internet como
meio de troca de informações somente é necessária devido ao fato de existirem
pessoas mal-intencionadas (denominados atacantes) com objetivo de causar
transtorno a pessoas e/ou companhias (vítimas), seja financeiro, moral, ou até
mesmo com intenção apesar de demonstrar poder a outros membros do mesmo
grupo, define GIL (2010). Contudo, com a importância uma prevenção efetiva, foram
criados métodos, técnicas e procedimentos que visam aumentar o nível de
segurança de um ativo conectado a esta grande rede de computadores. Essa
segurança pode ser estabelecida por um profissional de informática, com um
trabalho em massa e utilização de ferramentas e técnicas na empresa em que
trabalha ou auxiliando com ferramentas para segurança em computadores pessoais.
Esse ciclo, que começa desde o risco de ataque até a utilização de métodos de
prevenção, vem crescendo a medida que a tecnologia no ramo avança, e é
extremamente importante o entendimento de cada um dos atores envolvidos, para
que possa ser garantida segurança em um ambiente virtual.
28
2.2.1 Vítima
Seja um usuário de computador em sua casa ou o funcionário que utiliza o
equipamento em sua empresa, a vítima normalmente cede a um ataque por não ter
noções da devida segurança a ser tomada com seu(s) ativo(s). Segundo a definição
de Zapater e Suzuki(2005), as pessoas são consideradas um dos elementos
produtivos da organização, junto aos ativos e aos processos. Essa importância
existe pois são elas quem “executam e suportam os processos de uma corporação.
Considera e trata os assuntos relacionados com as pessoas, seus papéis e
responsabilidades na organização, indo desde a capacitação dos profissionais
responsáveis pela segurança até a conscientização da organização como um todo. ”
Com tal definição, fica evidente a presença das pessoas a todas as áreas da
companhia, e também a importância que existe em conscientizar e treinar as
pessoas, para que elas possam entender um pouco, e através de métodos simples
evitar muitas das tentativas mais comuns de ataques.
Em suma, as pessoas, ao mesmo tempo que são o elo mais importante,
tornam-se também o elo mais fraco, e assim, se não forem preparadas para as
situações que podem vir a acontecer, tornam a empresa ou seu computador pessoal
mais suscetível a falhas.
2.2.2 Administrador de Redes
Conforme definição obtida pela Kioskea (2009), o administrador de rede,
também chamado de gestor de rede é o encarregado da manutenção e da evolução
da infraestrutura de rede da empresa. É o administrador de rede que normalmente,
cuida de toda infraestrutura, sendo responsável por garantir total funcionalidade em
determinada rede.
A infraestrutura de rede é hoje uma parte de grande importância na maioria
das empresas que utilizam a tecnologia e a transferência de dados digitais como
meio de trabalho. Com tamanha importância, uma indisponibilidade causada na
29
mesma pode causar perdas financeiras, e em alguns casos, embora raros, podem
conduzir a falência.
Tamanha responsabilidade, o administrador de rede além de ser um
profissional de competência elevada, deve possuir grande conhecimento em
equipamentos de rede, protocolos de comunicação, modelo OSI e diferentes
arquiteturas de rede, por exemplo, para supervisionar as atividades da rede, cuidar
de problemas como congestão e falhas de acesso, gerenciar contas de usuários,
desde a sua criação (novos funcionários, por exemplo) até a exclusão de contas
(aposentadoria, demissão). Não somente gerenciar, mas também evoluir a rede, é
papel do administrador. O profissional deve manter-se atualizado quando a evolução
tecnológica, para manter a infraestrutura sempre adequada aos mais altos padrões,
garantindo assim maior segurança e velocidade.
Normalmente o administrador de rede não é responsável pela segurança,
mas uma infraestrutura bem estabelecida, já garante determinada proteção sob
algumas circunstâncias.
2.2.3 Analista de Segurança
O analista de segurança é, segundo a Ramos (2006), o encarregado pela
segurança da rede (o que inclui equipamento, sistemas operacionais de servidores e
clientes, programas utilizados, e até políticas de uso). É também o responsável por
monitorar tentativas de invasão e uso indevido dos recursos disponibilizados. Este
profissional possui um papel estratégico de informação, aconselhamento e alerta
sobre riscos em matéria de segurança. Além disso, o analista de segurança não
abre mão de tarefas direcionadas ao administrador de rede, pois sendo necessário
intervém na configuração e manutenção da rede, objetivando maior segurança, e
também estando sempre atualizado quanto a novos métodos e procedimentos,
como novas técnicas de invasão, bugs4 de segurança, entre outros.
Para exercer esta função, o profissional deve ter conhecimentos precisos
sobre redes, sistemas operacionais, funcionamento de programas, protocolos de
4 Definição dada para erros ocorrentes em sistemas, na área de computação.
30
rede, principalmente o TCP/IP, ferramentas e métodos de segurança, software de
redes, hardware. Além destes conhecimentos, algumas empresas exigem o
entendimento em linguagens de programação utilizadas na mesma. Um profissional
com tais características é mais difícil de se encontrar no mercado de trabalho e seu
salário é proporcionalmente maior. Por fim, convém também ao analista de
segurança possuir experiência em condução de projetos.
Nesta área nem sempre há a necessidade de um curso superior, embora seja
recomendável. Existem certificações, com ênfase em segurança, que podem ser
atributos chave para o trabalho como analista de segurança, de acordo com as
necessidades especificadas pelas empresas.
2.2.4 Programador
Segundo definição da Kioskea (2009), o programador é aquele que cria e
desenvolve uma aplicação de informática. Este profissional é o responsável por criar
uma solução para determinado problema da empresa, desde que possível tal ação,
através da criação de um software, utilizando uma linguagem de computador. O
objetivo do programador é não somente criar novos aplicativos, como também
evoluir determinadas aplicações já existentes, visando melhorias.
A primeira vista, não se vê muita ligação entre um desenvolvedor e a
segurança da informação. Porém, se um programador não estiver atualizado ou não
souber exatamente o que faz, suas aplicações criadas podem ser a porta de entrada
para atacantes mal intencionados obterem dados ou difamarem a companhia para
que trabalham. Isso resulta não só perda de reputação para a corporação, como
também a possibilidade do profissional ser advertido.
Em pesquisa realizada pela Coresec (2010) com mais de 30 organizações de
segurança no mundo, listaram os 25 erros de programação mais perigosos. Tal
pesquisa foi realizada com a ajuda de várias organizações.
Esta lista possui 4 propósitos:
✗ produzir softwares mais seguros;
✗ incorporar esses erros em ferramentas de testes;
31
✗ prover informações necessárias para que sejam desenvolvidas
técnicas de programação mais seguras;
✗ permitir a elaboração de uma referência para os desenvolvedores das
organizações.
Na pesquisa, os erros são divididos em 3 classes: Interação insegura entre
componentes (8 erros); risco no gerenciamento de recursos (10 erros) e defesa
porosa (7 erros).
Nesta listagem são apresentados os mais diversos tipos de erro, que vão
desde a falta de criptografia de dados sensíveis até o Cross-Site Scripting, que é
considerada como uma das mais perigosas vulnerabilidades em aplicações Web, e
por ocorrer quando há uma falha ao preservar a estrutura de uma página Web, por
exemplo. Ambas vulnerabilidades serão descritas e explicadas na seção 3 deste
capítulo.
É notável então a importância do programador para uma corporação. Com
métodos errôneos e falta de informação, um desenvolvedor pode expor uma
empresa a riscos, e sobretudo, em casos extremos, até uma possível falência. Por
isso um profissional como este necessita de amplo conhecimento, o que significa
que para ser contratado por uma boa empresa, requer um curso de nível superior
com licenciatura, além de certificações disponibilizadas por mantenedoras de
linguagens de programação, objetivando mostrar estar atualizado perante a
atualizações ocorrentes no mercado de trabalho.
2.2.5 Script Kid
Segundo Viana (2009), Script Kid “é o principiante que aprendeu a usar
alguns programas prontos para descobrir senhas ou invadir sistemas (receitas de
bolo), entrou num provedor de fundo de quintal e já acha que vai conseguir entrar
nos computadores da Nasa. Também conhecido como Lammer.”
32
2.2.6 Noob
Com definição simples, entende-se por noob:
Vem do inglês 'novato'. Indica uma pessoa aprendiz na área, ainda sem muita habilidade, porém possui uma sede de conhecimento notável. Pergunta muito, mas frequentemente é ignorado ou ridicularizado por outros novatos que já saibam mais do que ele (ao contrario dos lammers que são ridicularizados por todos). (VIANA, 2009)
2.2.7 Hacker
Seu surgimento deu-se em meados dos anos 60, quando alguns grupos de
estudantes quebravam os cadeados dos CPDs5 de universidades e empresas,
utilizando machados, com a curiosidade de saber como os equipamentos
funcionavam, visto que o acesso a tais equipamentos eram bem restritos naquela
época. A palavra hack vem do inglês, e significa cortar, golpear. Com isso, o termo
hacker passou a ser utilizado para identificar aqueles que “quebram” a segurança,
apenas com o objetivo de aprender e sanar sua curiosidade, define Koch (2007);
Essa definição é utilizada de forma geral, para todo aquele que provém de
grande conhecimento na área. De posse disto, os objetivos entre esses variam,
conforme o modo de agir e pensar de cada um. Então, foram criadas definições para
cada tipo de hacker, denominadas abaixo, acrescenta Koch (2007):
White Hats (hackers éticos): Seguem a mesma linha de pensamento original do hacking. Gostam apenas de saber e conhecer mais das coisas, principalmente as fechadas ao público. Para essas pessoas, aprender é a diversão mais importante do mundo. Elas gastam boa parte de seu tempo estudando o funcionamento do que as cerca, como telefonia, internet e protocolos de rede e programação de computadores.No mundo da segurança de sofware, os hackers éticos são os responsáveis por “informar” as grandes empresas de vulnerabilidades existentes em seus produtos. Fora do mundo da
5 Central de Processamento de dados. Computadores de grande porte, capazes de processar enorme quantidade de informações.
33
segurança, essas pessoas são responsáveis por desenvolver software livre, como o sistema operacional GNU/Linux.O hacker ético defende o conhecimento em prol de todos, portanto não o utiliza para prejudicar outras pessoas ou companhias, a menos que considere que uma empresa faz mau uso do poder. A quebra da segurança do iPhone, que bloqueia o seu funcionamento com outras operadoras de telefonia, foi um notável ato de um White Hat.
Black Hats (hackers mal-intencionados): Assim como os White Hats, os Black Hats também são movidos pela curiosidade. O que os distingue é o que cada um faz com a informação e o conhecimento.O Black Hat vê poder na informação e no que ele sabe fazer. São aqueles hackers que descobrem uma vulnerabilidade em um produto comercial ou livre e não contam para ninguém até que eles próprios criem meios de obter dados sigilosos de outras pessoas e empresas explorando a vulnerabilidade recém-descoberta.
Existiram vários hackers que fizeram parte da história da informática, como o
Kevin Mitnick, por exemplo, que é considerado até hoje o hacker mais famoso do
mundo. Mitnick foi condenado por fraudes em sistemas, invasões e roubo de
informações. Hoje, após cumprir sua pena de 5 anos e sem acesso a computadores,
Mitnick voltou a atuar na área de informática, como consultor em segurança da
informação, sendo muito respeitado até hoje.
2.2.8 Cracker
O cracker normalmente é visto de duas formas diferentes, conforme definição
de Meirelles(2010). Em uma de suas definições, o cracker é visto como alguém que
utiliza seu conhecimento de uma maneira incorreta, quebrando senhas, invadindo
sistemas, roubando informações, entre outros. Alguns objetivam lucros com tais
ações, vendendo informações de empresas para concorrentes, por exemplo; outros
já buscam tais ações apenas por fama e divertimento.
Outra definição dada para o termo, acrescentada por Meirelles (2010) , refere-
se a alguém que não busca estudar protocolos de rede e sistemas operacionais,
como os hackers, mas que tem grande conhecimento em aplicativos, e tem como
objetivo apenas quebrar travas de segurança de programas e algoritmos de
encriptação, por exemplo, sejam para utilizar jogos sem CD-ROM, para gerar uma
34
chave de registro falsa para determinado software, entre outros.
Hackers que efetuam estes tipos de ação, os black hats, também são
chamados de crackers.
2.2.9 Phreaker
Também considerados hackers de telefonia, são aqueles que possuem
grande interesse e conhecimento no assunto. Normalmente utiliza seus
conhecimentos para ações mal intencionadas, como efetuar ligações gratuitas, ou
escutar ligações alheias, define Rohr (2010). O primeiro phreaker conhecido foi John
Draper, também chamado de Capitão Crunch, que conseguiu realizar ligações com
apitos encontrados em pacotes de salgadinhos. Ele descobriu que o som produzido
por esses apitos possuía a mesma frequência dos orelhões AT&T na época.
Existem outros phreakers que tiveram uma passagem notória pela sociedade,
como o Kevin Poulsen, que ganhou um Porsche ao ser o cliente número 102 a ligar
em um concurso de rádio. Tal proeza foi realizada invadindo o sistema de telefonia
responsável e alterando a central telefônica, colocando-se como cliente premiado.
O phreaker pode ser enquadrado como hacker ou cracker, variante às suas
atitudes.
2.3 Vulnerabilidades
Entende-se por vulnerabilidade qualquer falha em algum projeto,
implementação ou configuração de um software ou sistema operacional, de forma
que permita a violação da segurança de um computador, quando explorada por um
atacante, define Viana (2009).
35
2.4 Ataques
Kioskea (2009) define o termo ataque como qualquer exploração a uma falha
(vulnerabilidade) em um sistema informatizado, onde não existe o conhecimento
quanto a intenção do atacante, embora essa, em grande parte dos casos, seja com
objetivo de trazer prejuízo.
2.4.1 Principais tipos de ataque
Embora existam inúmeros tipos de ataques existentes em uma rede de
computadores, alguns são destacados, seja por seu frequente uso, ou por maior
prejuízo causado. Seguem abaixo alguns dos ataques mais comuns existentes
atualmente.
2.4.1.1 IP Spoofing
O IP Spoofing, conforme Sharma (2001), é uma técnica utilizada de forma
que uma máquina possa fazer o papel de outra, assim uma máquina envia pacotes
com o endereço de origem trocado e não o seu verdadeiro, podendo se fazer passar
por outra máquina qualquer. A máquina de destino do pacote acredita que está
recebendo o pacote de determinada máquina, porém esta informação é falsa.
Para um entendimento aprimorado sobre o risco deste tipo de ataque, e como
o mesmo procede, é necessário o entendimento do processo de autenticação do
TCP/IP.
A autenticação TCP/IP é feita a partir de três passos, que são fechados como
um acordo (por isso a autenticação também é chamada de handshake, que vêm do
inglês aperto de mão). Ao simular a autenticação entre cliente e servidor, o primeiro
passo é uma mensagem do tipo SYN6 enviada do cliente para o servidor, o servidor
então ao recebê-la confirma o recebimento da mensagem SYN enviando uma
6 Pacote TCP enviado por determinado host, solicitando comunicação com algum outro host na rede.
36
mensagem SYN-ACK7 para o cliente. Para completar o estabelecimento da conexão
o cliente responde com uma mensagem ACK8. A partir deste momento a conexão
entre os dois é aberta e dados podem ser trocados entre os dois de forma com que
um tenha certeza de com quem está se comunicando, como podemos observar na
figura 2.
Figura 2: Estabelecimento de conexão Cliente X Servidor
Feito então o processo de autenticação, dois computadores podem manter
uma conexão sem que seja necessária a constante verificação de autenticidade
entre eles. Com essa conexão, supõe-se 3 computadores A, B e C, onde A e B
fizeram todo processo de estabelecimento da conexão e trocam pacotes IP's, de
forma que os pacotes IP's possuem endereços de origem e destino. O terceiro
computador, o computador C, então monitorando o fluxo da rede, captura pacotes
que trafegam na rede, pacotes estes enviados de A para B solicitando por exemplo
uma senha de autenticação de determinado serviço, o computador C em posse
desse pacote pode então se disfarçar, se fazendo passar por A, e encaminhando o
pacote para B, ao receber o pacote B acha que o remetente real é o computador A e
sem desconfiar de nada aceita os comandos contidos no pacote e envia respostas
que serão recebidas pelo computador C e A, no nosso exemplo, receberá o pacote
enviado por B com a senha de autenticação. Além de enganar o destino(A), é
7 Pacote TCP de retorno da mensagem SYN, indicando aceitação da requisição.8 Pacote TCP reenviado pelo host, confirmando a conexão.
37
preciso que seja feito uma sobrecarga no computador de origem para que ele não
tenha como responder a mensagens enviadas pelo computador destino(B) ficando
assim a comunicação entre B e C.
Uma boa medida para redução de riscos de Spoofing é a utilização do filtro de
saída, onde os gateways devem encaminhar apenas os pacotes cujo endereço de
origem pertença a rede.
Conforme artigo sobre IP Spoofing escrito por Sharma (2001), seguem abaixo
algumas medidas para se prevenir de ataques IP Spoofing e alguns serviços
vulneráveis ao IP Spoofing.
Medidas para se prevenir de ataques IP Spoofing:✗ Evite usar autenticação de endereço de origem. Implemente
colocar a autenticação em todo o sistema;✗ Configure a sua rede para rejeitar pacotes de redes externas
que declaram ser de um endereço local. Isto é geralmente feito com um router;
✗ Se você permitir ligações externas de máquinas seguras, possibilite encriptação da sessão no router.
Configurações e serviços que são vulneráveis ao IP Spoofing:✗ RPC (Serviços de Invocação Remota de Funções); ✗ Qualquer serviço que use autenticação de endereço IP; ✗ O sistema X Window ;✗ O conjunto de serviços R (rlogin, rsh, etc.).
2.4.1.2 DNS Spoofing
Em definição dada por Oliveira (2010), DNS spoofing é um ataque cujo maior
objetivo é destruir e comprometer um servidor de nomes (Domain Name System).
Estando esse servidor comprometido e em posso do atacante, ele pode fazer com
que máquinas não confiáveis passem por máquinas confiáveis.
Tendo acesso então ao servidor DNS o atacante consegue alterar os
registros do DNS (que é onde é feito a relação do endereço IP da máquina confiável
com o nome), modificando de forma que tal registro passe a ter o endereço da sua
máquina. Assim o atacante então terá livre acesso aos serviços que precisem de
autenticação neste servidor.
38
Para evitar esse tipo de ataque alguns sistemas utilizam uma técnica
chamada cross-check, nesta técnica quando é retornado um nome através de uma
consulta, esse nome é submetido mais um vez a consulta. Sendo assim se os
resultados das consultas forem iguais, a consulta é validada e a conexão
estabelecida, caso sejam diferentes a conexão não é validada, é desconectada e
feito um alerta de segurança.
2.4.1.3 Sniffing
Sniffing é o processo realizado por ferramentas conhecidas como sniffer, que
são softwares ou hardwares específicos com capacidade de interceptar o tráfego de
dados em uma rede de computadores, ele faz a captura de cada pacote, decodifica
e analisa o seu conteúdo, define Reis (2003).
O sniffing pode ser utilizado com propósitos diferentes, invasores utilizarão de
forma maliciosa capturando o tráfego da rede com o intuito de, obter cópias de
arquivos importantes durante sua transmissão, obter senhas, ou seja capturar
informações confidenciais. Os administradores de rede utilizarão um sniffer para
auxiliar na detecção da causa de um problema, para gerar logs do tráfego da rede.
Para entender o funcionamento do sniffing, precisa-se saber um pouco do
funcionamento de redes de computadores. Os pacotes que são enviados nas redes
de computadores possuem endereço de origem e destino(endereço MAC9), em
redes que utilizam HUB's10. Ao se enviar um pacote, esse pacote será recebido por
todos os computadores, esses computadores só responderão caso o pacote tenha
como endereço de destino o seu MAC, caso contrário o pacote será descartado. Se
a rede utilizar switch11 só o verdadeiro destinatário receberá o pacote. É possível que
um computador não descarte os pacotes que não são destinados a ele, capturando
todo o tráfego da rede. É exatamente isso que o sniffer faz, coloca a interface no
9 Código hexadecimal usado para identificar placas de rede ligadas a internet. Cada placa de rede possui um código MAC distinto.
10 Hub é um dispositivo que concentra a ligação entre diversos computadores que estão em uma rede de computadores. Encaminha os dados para todos os computadores conectados, sem distinção.
11 Diferentemente do Hub, o switch não redireciona a informação que recebe para todos computadores ligados, e sim apenas para o equipamento destino.
39
modo promíscuo, ou seja, habilita a interface de rede de forma que aceite todos os
pacotes.
Os pacotes são capturados e armazenados em arquivos salvos em disco
rígido. Se a rede possuir muito fluxo, esses arquivos podem ficar extensos,
facilitando assim a detecção do sniffer. Sendo assim, possuem uma configuração
seletiva, de forma a armazenar somente as informações de maior importância.
Também é possível em alguns sniffers configurar para que informações capturadas
de pacotes sejam enviadas através de e-mail para o invasor.
Quando a rede utiliza switchs e não HUB's, o ataque de sniffer fica mais difícil
de ocorrer, porém continua sendo possível. Reis (2003) acrescenta algumas formas
de ataques que podem ocorrer nestes tipos de redes:
✗ Table Flooding: Técnica que consiste em modificar a tabela do switch
com várias entradas falsas, para que ele passe a enviar os pacotes para
todas as portas.
Quando o invasor começa a enviar pacotes ARP para a rede, cada um
com um endereço MAC diferente, que não existe na rede, o switch vai
armazenando estes endereços em sua tabela, até que esta fica cheia. Assim,
os pacotes em que o destinatário não estiver listado na tabela do switch serão
enviados para todas as portas, permitindo assim ao invasor capturá-los.
✗ ARP Cache Poisoning: Consiste no envio de pacotes ARP forjados
para os alvos (máquinas) desejados, fazendo com que todo o tráfego entre
elas passe pela máquina do invasor.
Para que seja possível realizar o ataque, o invasor envia pacotes ARP
para dois hosts que estejam se comunicando, se fazendo passar por eles, por
exemplo, dois computadores se comunicando, A e B. O atacante então envia
pacotes para A se fazendo passar por B e vice versa. Desta forma a tabela
ARP dos hosts A e B fica poisoned (envenenada).
Assim, o invasor pode também capturar os pacotes enviados e alterá-
los antes de enviar para o verdadeiro destinatário.
✗ ICMP Redirect: São pacotes usados por roteadores para fazer com
que os computadores enviem seus pacotes por um caminho diferente.
40
Quando forjados, o invasor pode alterar as tabelas de roteamento de uma
maquina para que o trafego passe por ele.
✗ Monitor Port: Na verdade o monitor Port deveria ser somente um
recurso que permitisse copiar todo o tráfego da rede para uma ou mais
portas, porém, muitos administradores de redes não alteram a senha padrão
dos switches, permitindo assim que o invasor faça com que o switch envie
todo o tráfego da rede para a porta em que ele está conectado.
2.4.1.3.1 Detectando Sniffers
Segundo Reis (2003), existem duas formas de detecção de sniffers, definidas
como local e remota. A forma local consiste em utilizar ferramentas do sistema para
verificar se existem interfaces em modo promíscuo, ou algum outro indício da
existência de sniffers na máquina. Por exemplo, utilizando o comando ifconfig para
ver se uma interface está em modo promíscuo, e ferramentas que buscam o arquivo
onde o sniffer grava os dados capturados.
Na detecção remota, exploram-se certas características do sistema
operacional e protocolos, que possam indicar a existência de um sniffer. Segue
abaixo, por Reis (2003), a descrição de algumas ferramentas e métodos utilizados
na detecção remota de sniffer.
✗ Método Ping: Seu funcionamento consiste em enviar um comando
Ping para a máquina a ser testada, utilizando um endereço MAC diferente.
Como o MAC não é o da máquina, o correto é que não haja resposta ao
comando, caso ocorra, é porque a interface de rede não descartou o pacote,
e está rodando em modo promíscuo12.
✗ Honey Pot: É uma técnica onde se envia informações, senhas falsas
na rede, simula conexões, e esperar que alguém tente usa-las.
✗ Inundação ARP: Os sniffers geram grande tráfego ARP, enchendo a
12 Modo no qual o host aceita todos os pacotes que trafegam na rede, sejam ou não direcionados a ele.
41
tabela do switch ou assumindo o lugar de outra máquina. O monitoramento do
número de anúncios ARP pode revelar a existência de sniffers na rede.
2.4.1.3.2 Como evitar o Sniffing
Existem algumas formas de evitar sniffing, como por exemplo o uso de
entradas ARP estáticas(a cache ARP não é modificado), o uso de Port Security
(mantém os endereços MAC a certas portas do switch). Existem ainda interfaces de
rede que não suportam o modo promiscuo, mas são difíceis de serem encontradas,
acrescenta Reis (2003).
A utilização de switches nas redes de computadores torna mais difícil o
sniffing, pois os switches possuem tabelas onde são armazenados, endereços
MACs encontrados em cada uma de suas portas. Por isso, o switch pode enviar os
pacotes apenas para a porta onde esta o destinatário.
Uma importante forma de prevenção é a utilização de criptografia, vista como
a forma mais eficiente se implementada de forma correta, utilizando chaves seguras.
2.4.1.4 Ataque do tipo DoS
A sigla DoS significa, Denial of Service, traduzindo para o português,
Negação de Serviço. De acordo com a definição do CERT (Computer Emergency
Response Team).
Os ataques DoS (Denial of Service), também denominados Ataques de Negação de Serviços, consistem em tentativas de impedir usuários legítimos de utilizarem um determinado serviço de um computador. (CERT, 2004)
Em exemplo simples, se um usuário paga pelo serviço de um provedor de
acesso à internet onde o serviço deve estar sempre disponível, e certo dia a
autenticação no provedor não é possível, há a possibilidade deste usuário estar
42
sendo vítima de um ataque do tipo DoS, onde algum ataque pode ter sido feito ao
seu provedor.
O ataque se configura da seguinte forma, ainda acompanhando o exemplo
citado acima, digamos que o provedor tenha capacidade de distribuir internet para
1000 pessoas e tenha 800 clientes que fazem acesso em horários aleatórios, um
atacante então começa enviando diversas mensagens para o servidor do provedor
solicitando autenticação, e em meio a todas essas mensagem está sendo enviada a
solicitação de autenticação do usuário. Por mais que o provedor tenha capacidade
de sempre atender a todos os seu clientes, o servidor não conseguirá abrir todas as
mensagens recebidas, verificar quem realmente tem permissão de acesso e acabará
perdendo mensagens recebidas e negando o acesso ao serviço.
2.4.1.5 Ataque do tipo DDoS
O DDoS, sigla para Distributed Denial of Service, no português, Negação de
Serviço Distribuído.
Os atacantes foram percebendo que para fazer pequenos ataques era
necessário um computador muito bom e com grande banda de rede para fazer o
envio de diversas mensagens e que a descoberta deste computador único não era
tão difícil de ser feita. Com a difusão da internet banda larga passaram então a
utilizar vários micros de pessoas que utilizam a internet para fazer este tipo de
ataque, o que tornou então o ataque de negação de serviço ampliado e distribuído,
com isso passou a ser possível fazer ataques a servidores de maior porte, a serviços
mais bem protegidos.
Esses micros pessoais, mesmo sendo mais humildes se juntando a outras
centenas e até milhares acabam fazendo um estrago ainda maior, além disso, o
ataque agora passa a ser feito de forma distribuída o que dificulta ainda mais fazer a
descoberta de quem é o verdadeiro atacante.
Existem registros de diversos sites importantes e serviços que tiveram sua
integridade impactada através deste tipo de ataque.
43
2.4.1.6 Quebra de senhas
Hoje em dia a maioria das aplicações e serviços disponibilizados na internet,
solicita autenticação(mesmo aplicações gratuitas), onde é solicitado o nome de
usuário e uma senha de acesso.
Pessoas mal intencionadas fazem de tudo para descobrir estas senhas,
quebrá-las, de forma que possam utilizar assim o acesso de outra pessoa em
determinada aplicação.
Muitos sistemas têm mecanismos de defesa contra alguns métodos utilizados
para quebrar senhas. Um exemplo são aplicações que fazem bloqueio
temporariamente de uma determinada conta que tenta se conectar algumas vezes
sem sucesso.
Abaixo são descritos alguns métodos utilizados para quebra de senha,
segundo Rodrigues (2010):
✗ Ataque por força bruta, caracteriza-se por uma tentativa contínua de
obter acesso a um serviço do sistema, tentando diversas combinações de
nome do utilizador e senha.
✗ Ataque por dicionário, como muitas senhas utilizadas pelos usuários
possuem significado(palavras tradicionais), utilizando um dicionário para fazer
comparações com a senha do usuário e fazendo tentativas continuas, pode
se obter um melhor resultado em questão de tempo para descobrir uma
senha.
✗ Ataque híbrido, é uma combinação entre os dois tipos citados
anteriormente, possui melhor desempenho na descoberta de senhas
constituídas de uma palavra tradicional seguida de números ou letras.
2.4.1.7 Malwares
44
De forma simples e direta a Symantec (2010) define o significado de malware
(Malicious Software):
Malware é uma categoria de código malicioso que inclui vírus, worms e Cavalos de Tróia. Os programas de malware destrutivos utilizam ferramentas de comunicação conhecidas para se espalharem. Por exemplo, worms enviados por e-mail e mensagens instantâneas, Cavalos de Tróia provenientes de websites e arquivos infectados com vírus obtidos por download de conexões ponto-a-ponto. O malware também tenta explorar as vulnerabilidades existentes nos sistemas, tornando sua entrada discreta e fácil. (SYMANTEC, 2010)
Desta forma, fica evidente o quão importante é buscar prevenir-se de tais
ameaças, tal como entender de que forma são separados os malwares, e cada uma
de suas características.
Partindo do princípio que malware é todo e qualquer software com objetivo
malicioso, subentende-se que tal definição engloba quaisquer tipos de ataque,
quando referido diretamente ao software utilizado. Os softwares maliciosos são
normalmente divididos em tipos, pois tem objetivos diferentes. O tipos mais comuns
são os referenciados acima (vírus, worms e trojans), porém outros tipos importantes
também fazem parte desse grupo, como Spyware, Bots, Keyloggers e Rootkits.
2.4.1.7.1 Vírus
Os vírus de computador são desenvolvidos com intenção de alterar
aplicativos instalados em um computador. Conforme UOL (2005),
Eles têm comportamento semelhante ao do vírus biológico: multiplicam-se, precisam de um hospedeiro, esperam o momento certo para o ataque e tentam esconder-se para não serem exterminados. (UOL, 2005)
Esse tipo de malware tem o poder de se anexar a quase todo tipo de arquivo,
e se multiplicam para outros computadores a partir de cópia entre equipamentos por
exemplo, seguindo assim sua multiplicação em a micro que conseguem acessar.
45
2.4.1.7.2 Worm
Semelhante ao vírus, este tipo de malware tem como principal característica
sua facilidade em se propagar. Essa propagação é realizada com grande
velocidade, através da internet ou de uma rede local, informa a Info Wester, em sua
definição dada a praga. O worm pode ser interpretado como um tipo de vírus mais
inteligente, devido a gama de possibilidades de propagação, ou então pelo fato de
que sua contaminação é feita de maneira discreta, já que normalmente são notados
apenas quando existe alguma anormalidade no computador infectado, tal como uma
possível lentidão do mesmo.
Normalmente, o principal objetivo do worm é coletar endereços de e-mail e
usar serviços de SMTP13 próprios ou com vulnerabilidades, para propagar-se.
2.4.1.7.3 Trojans
Fazendo analogia à história do cavalo de Tróia, onde os gregos presentearam
os troianos com um enorme cavalo de madeira, contendo soldados em seu interior.
Durante a noite, os soldados gregos saíram do cavalo e abriram os portões de Tróia,
fazendo seus soldados entrarem e atacarem os troianos, levando-os a derrota.
Apesar de não possuir autenticidade comprovada, essa história descrita por
Menezes (2007) retrata bem o objetivo e como é o funcionamento de um trojan.
Os trojans possuem algumas semelhanças aos vírus, apesar de serem
bastante diferentes. Seu objetivo não é apenas destruir ou causar danos aos micros,
mas sim agir de forma mais inteligente, podendo ser controlados de qualquer local
com enorme facilidade. Esses malwares também podem ser comparados com os
chamados bots, que são malwares usados para tornar seus micros infectados
escravos, ação totalmente realizável pelos trojans.
Para que isso ocorra, é importante ressaltar que os trojans são divididos em
13 Protocolo utilizado para transmissão de e-mails.
46
duas partes: cliente e servidor. O servidor é aquele que é instalado no computador
da vítima, o qual proverá acesso para o cliente, que é utilizado pelo atacante.
Normalmente os servidores são arquivos executáveis, assim como os vírus, e os
clientes são dotados de interface gráfica, garantindo, como já informado
anteriormente, a facilidade da utilização do mesmo. A função do servidor é abrir
portas nos micros, possibilitando o acesso do invasor. Com o acesso realizado, o
atacante terá acesso total ao equipamento dos usuários, podendo realizar diversas
ações como deletar, renomear, criar arquivos, efetuar downloads, entre tantas outras
ações possíveis, como abrir o drive de CD-ROM de um usuário.
Esta definição, baseada em artigo escrito por Menezes(2007), descreve bem
o funcionamento dos trojans. Para evitar este tipo de ataque, o procedimento a ser
tomado segue como o mesmo adotado para vários outros tipos de malware: nunca
executar arquivos de origem desconhecida, ou mesmo que de um remetente
conhecido, algo que possa ser suspeito. Desta forma, o nível de proteção será
maior, visto que apenas um antivírus instalado não resolverá todos problemas.
2.4.1.7.4 Bots
Seguem o mesmo princípio dos trojans, quanto ao seu uso. Utilizam de
backdoors14 para manter um acesso sempre que necessário ao micro da vítima. Em
definição dada pela Compute-RS (2010), bots são descritos da seguinte forma:
Um Bot (abreviação de Robot) é uma unidade automatizada de software que permite que o PC seja retomado e utilizado, por vezes, com milhares de outros PCs infectados, para ajudar a executar ataques de negação de serviço contra outros sites ou para enviar grandes quantidades de spam de mensagens eletrônicas. (COMPUTE-RS, 2010)
2.4.1.7.5 Keyloggers
14 Chamadas portas de trás, os backdoors são portas de acesso a computadores infectados, utilizadas por alguns tipos de malwares.
47
Ciriaco (2007) define keyloggers como aplicações utilizadas normalmente
para capturar tudo que ocorre em um computador. Inclui-se nessa afirmação,
informações digitadas, e até cópias de tela, temporariamente ou no momento do
clique do mouse. Alguns casos de phishing utilizam os keyloggers para fraudes
virtuais, instalando-o no computador da vítima, e registrando todas informações,
enviando-as para o cracker responsável pela ação. Este por sua vez, posteriormente
fará uso de tais informações para finalidades fraudulentas.
Os keyloggers são facilmente encontrados em sites de download, pois sua
finalidade consiste em manter determinada ordem em computadores domésticos por
exemplo, onde os pais podem fazer uso de keyloggers para monitorar o uso do
computador pelos filhos.
Apesar de sua finalidade lícita, atualmente são encontrados da internet
malwares deste tipo produzidos apenas para fins ilícitos, o que demonstra perigo,
pois muitos atacantes utilizam deste recurso atualmente, seja de forma direta, ou
acoplado a alguma engenharia social ou software, por exemplo.
Para evitar este tipo de problema podem ser utilizadas ferramentas
específicas para este tipo de ameaça, como os antivírus e anti-spyware.
Logicamente, essa proteção não é garantida, e o bom senso do usuário deve existir
acima de tudo.
2.4.1.7.6 Rootkits
Um tipo de malware mais recente, que veio a ser notório nos últimos anos. O
Rootkit tem como objetivo se camuflar, impedindo sua identificação por antivírus.
Isto é possível pois estas aplicações têm a capacidade de interceptar as solicitações
feitas ao sistema operacional, podendo alterar o seu resultado, segundo Barwinski
(2009).
Barwinski (2009) acrescenta que o RootKit possui esse nome partindo dos
princípios dos sistemas Unix/Linux. Estes sistemas possuem kits de ferramentas que
garantem o acesso irrestrito para operação. Esses usuários, quando possuem
48
acesso irrestrito a máquina, são chamados de Root. Unindo estas informações,
entende-se o conceito e o significado do nome, que é o kit de ferramentas
necessárias para acesso total ao micro.
Os rootkits agem de formas diferentes, mediante o sistema operacional
utilizado. No Windows, esses aplicativos buscam anular os pedidos do programa
que possui o malware, infectando tarefas e processos de memória. Desta forma, o
programa não encontra os arquivos necessários para funcionamento. Segundo
Barwinski, os rootkits '”enganam' o programa, fazendo-o acreditar que o arquivo não
está lá, provocando mensagens de erro”.
Nos sistemas de plataforma Unix ocorre de forma diferente. O rootkit, quando
penetrado num sistema desta plataforma, substitui uma programa de listagem de
arquivos. Como o próprio rootkit exibe as listas, o mesmo ficará escondido no
sistema, sendo fácil o acesso do atacante de ir e vir na máquina infectada.
Contudo, para proteção dessas pragas, o procedimento não difere dos já
informados anteriormente. Basta ter cuidado, seja com e-mails, sites maliciosos, ou
qualquer tipo de informação que venha a ser suspeita, como e-mails que oferecem
benefícios, procurações do governo ou bancos, entre outros. Apenas antivírus ou
firewall não resolvem o problema, apesar de serem imprescindíveis. Mas o bom
senso deve ser o fator principal contra qualquer tipo de malware.
2.4.1.7.7 Spam
Spam são e-mails enviados para grande número de pessoas, define Teixeira
(2010). Podem ou não de objetivo malicioso. Normalmente, quando trata-se de um
conteúdo comercial apenas, esta mensagem é chamado de UCE (do inglês
Unsolicited Commercial E-mail). Existem computadores infectados por malwares que
permitem que spammers15 utilizem estes equipamentos para envio de spam, isto
porque o envio de spams a partir de um terceiro micro os proporciona o anonimato
do atacante. Estes equipamentos são chamado de spam zombies, pela antispam.
15 Atacante que faz envio de spams para máquinas.
49
Os spams ganharam maior conhecimento depois que começaram a se tornar
uma praga para os usuários de e-mail. Por ser um ótimo meio de comunicação, é
muito utilizada para negócios e informações. Os atacantes então passaram a utilizar
deste meio para o envio de malwares como trojans e vírus por exemplo, camuflando-
os nestes e-mails.
2.4.1.8 Phishing
Seguindo o mesmo princípio de enganação dos rootkits, os phishing são
tentativas de atacantes para obter dados do usuário. O mesmo busca enganar seu
alvo, através do envio de um e-mail, alegando ser determinado banco, solicitando
acesso, ou então alguma instituição importante, solicitando que sejam preenchidos
seus dados pessoais, como senhas ou contas bancárias, em determinada página
falsa, criada por eles. O Yahoo! define este tipo de ataque de maneira clara e
interativa em uma das páginas de seu sítio:
É quando pessoas inescrupulosas entram na Internet fingindo serem outra pessoa (como seu banco, uma loja virtual ou o Yahoo!) e tentam fazer com que você revele suas informações pessoais, como senhas, informações da conta ou números de cartão de crédito. (YAHOO, 2010)
2.4.1.9 Port Scanning
Todos os serviços são executados através de portas, por exemplo, quando é
digitado um endereço de internet, é necessário a abertura da porta 80 para que seja
feito a conexão com a página solicitada.
Os atacantes utilizam softwares com objetivo de testar portas lógicas de um
host. Este escaneamento ou varredura pode ser feito remotamente e com os
resultados revelar as portas que estão abertas neste host, sendo assim uma pessoa
50
maliciosa pode utilizar desta informação e planejar invasões ao host por estas portas
abertas, acrescenta Menezes (2008).
Um bom firewall pode evitar a varredura das portas de um computador, e com
esse simples ato de bloquear este tipo de varredura, pode-se evitar que as
vulnerabilidades de um computador sejam descobertas, e assim evitar que o mesmo
seja invadido.
2.4.1.10 Engenharia Social
Em definição dada por Guilherme Junior (2010), a engenharia social pode ser
definida como uma das técnicas utilizadas por pessoas objetivando obter
determinadas informações ou acessos importantes ou sigilosos. Um exemplo
comum e conhecido recentemente pode ser atribuído ao quadro 'o impostor',
apresentado em programa de TV. O quadro mostra como uma pessoa qualquer,
pode, através de persuasão e exploração da confiança das pessoas, adquirir
acessos a locais privados, apenas convencendo as pessoas.
Para exercer tal ação, o engenheiro social pode se fazer passar por um
profissional de determinada área, por outras pessoas, assumir determinada
personalidade, entre outros. Levando-se em consideração que a maior fraqueza da
segurança da informação são as pessoas, esta torna-se uma forma de entrar em
organizações muito facilmente, pois explora a falha humana para o ataque.
Normalmente funcionários de empresas não possuem um treinamento adequado
para tratar estes tipos de caso, podendo ser assim facilmente manipuladas nestas
circunstâncias.
Para a utilização da engenharia social, o atacante busca explorar
características humanas, como traços comportamentais e psicológicos, os tornando
suscetíveis aos ataques. O autor cita também que as características mais comuns
são:
✗ Vontade de ser útil: O ser humano, comumente, procura agir com cortesia, bem como ajudar outros quando necessário. ✗ Busca por novas amizades: O ser humano costuma se agradar e sentir-se bem quando elogiado, ficando mais vulnerável e
51
aberto a fornecer informações. ✗ Propagação de responsabilidade: Trata-se da situação na qual o ser humano considera que ele não é o único responsável por um conjunto de atividades. ✗ Persuasão: Compreende quase uma arte a capacidade de convencer pessoas, onde se busca obter respostas específicas. Isto é possível porque as pessoas têm características comportamentais que as tornam vulneráveis à manipulação.(Guilherme Junior, 2006)
O atacante, ao exercer o ato da engenharia social, busca quase sempre
utilizar das características da vítima, buscando obter a confiança e o carisma das
vítimas, para obter as informações desejadas. Para realização, o atacante pode
fazer uso de qualquer meio de comunicação, como internet, telefonemas, e-mail, e
até o contato pessoal com a vítima.
Com essas várias formas de realizar a engenharia social, a mesma pode ser
definida em dois grupos: Direta e indireta. O ataque direto é aquele em que existe
contato pessoal com a vítima, seja esta por fax, telefone, ou mesmo pessoalmente.
Para isso, o atacante efetua todo o planejamento detalhado antes da execução,
sabendo exatamente os passos a serem tomados, caso ocorra até mesmo algum
problema durante a execução do ataque. Para tal ação, um engenheiro social
precisa ser, acima de tudo, uma pessoa bem articulada, evitando assim a
descoberta de sua ação. Outra caraterística importante é ter determinado dom
artístico, visto que normalmente se passa por alguém que não é, e assume um papel
diferente de sua forma natural de agir.
Já o ataque indireto parte do princípio do uso de ferramentas de invasão,
como trojans ou vírus, e de impostura, como spam e sites falsos, visando obter
informações necessárias. Os tipos de ataque variam mediante a necessidade,
porém atualmente é mais comum vermos ataques indiretos, tendo em vista a maior
facilidade na atuação.
Dentre as técnicas de engenharia social mais utilizadas destacam-se o envio
de e-mails que contenham vírus e os e-mails falsos, ambos frequentemente
utilizados atualmente. No primeiro caso, a engenharia social é utilizada a partir do
assunto contido nos e-mails, cuja função é iludir aqueles que receberão a
mensagem, com assuntos possivelmente de interesse da vítima, como sexo, amor,
amizade, entre outros. A partir do momento que a vítima recebe o e-mail, a maioria
52
crê que há realmente uma mensagem verdadeira contida, e acessa inocentemente o
documento, vindo a executar o arquivo contaminado, e assim a contaminar seu
computador. Neste caso, o objetivo do engenheiro social é criar uma mensagem
convincente o suficiente, a ponto de despertar o interesse das vítimas, para acessar
as mensagens.
No segundo caso, tratam-se de e-mails falsos, onde o atacante explorar a
confiança dos destinatários, cuja função é obter informações financeiras, como
senhas, contas de banco, entre outros. Diferentemente do primeiro caso, neste
segundo, o engenheiro social não busca infectar a máquina do destinatário, e sim
forçá-lo a acessar uma página falsa, clonada pelo atacante normalmente de alguma
grande instituição, objetivando a vítima preencher seus dados nesta página, e desta
forma, obter as informações desejadas, normalmente por e-mail. Informações
comuns citadas neste tipo de ataque são artifícios como promoções, premiações, e
outras vantagens em geral, onde na verdade não passam de informações falsas. No
ato do ataque, o atacante encaminha o e-mail informando a tal vantagem recebida
pela vítima, juntamente com o link que a encaminha para o site falso.
Antes que os ataques de engenharia social sejam realizados, o atacante
passa por duas etapas. O primeiro, denominado pesquisa, é aquele em que o
atacante busca informações necessárias sobre seu objetivo, como responsáveis
pela informação que deseja, e pontos fracos a serem utilizados.
Após a coleta das informações necessárias, é começado o método de
impostura, onde o atacante realiza o ataque direto, fazendo se passar por outra
pessoa, seja ela um cliente, fornecedor ou funcionário de uma empresa, por
exemplo, ou identificando-se como determinada empresa, no caso de envio de e-
mails.
Para obtenção das informações, o atacante utiliza de falhas de empresas ou
humanas, e também de seus dons. Sejam documentos importantes da empresa,
localizados no próprio lixo da mesma, a partir de disfarces para acessos a empresa
e seus dados, obtendo a confiança de funcionários descontentes com sua empresa,
a ponto do mesmo lhe passar as informações desejadas. Essas e outras atitudes
podem ser utilizadas por um engenheiro social.
Em suma, para que seja possível se defender de um profissional com
53
tamanha capacidade de enganar e conduzir as pessoas, é importante que as
pessoas tenham, acima de tudo, cuidado e bom senso. Uma pessoa dotada de bom
senso sabe que nenhuma oportunidade surge subitamente, muito menos solicitando
dados de forma repentina, como ocorre com grande frequência nos e-mails enviados
com este objetivo. Também é importante ficar atento, e não preencher números de
cartão de crédito, contas bancárias, senhas, entre outros, sem prévia certeza que
trata-se de uma situação verdadeira. Grandes empresas do governo, ou de bancos e
cartões de crédito, por exemplo, deixam claro que não solicitam informações
pessoais a partir de e-mails, e mesmo assim várias pessoas ainda passam tais
informações quando solicitadas. Para que empresas minimizem este tipo de ataque,
é importante também o investimento em cursos que abrangem a segurança da
informação, ditando regras e mostrando circunstâncias presentes no dia a dia, que
podem vir a acontecer.
Com procedimentos simples como estes, obtêm-se uma maior segurança
contra este tipo de ataque, que ocorre com grande frequência, e utiliza do elo mais
fraco da corrente (a vítima), para conseguir o que quer.
2.4.1.11 Cross-Side Scripting (XSS)
Muito popular atualmente, este tipo de ataque é muito utilizado em aplicações
WEB. A vítima acessa determinada página que acredita ser confiável, porém a
mesma foi modificada pelo atacante a partir de falhas no seu desenvolvimento.
O método é definido abaixo:
XSS também conhecido como CSS (Cross Site Scripting, facilmente
confundido com Cascading Style Sheets) é uma vulnerabilidade
muito comum encontrada em aplicativos web. XSS permite ao
atacante inserir códigos maliciosos nessas páginas, para que sejam
executados no momento em que tais páginas forem acessadas.
(VIEIRA, 2008)
54
Normalmente estes links não tem nenhum tipo de validação de confiabilidade
e podem estar apontando para todo tipo de página que o atacante deseja. Ao clicar
nestes links o usuário pode ter sua sessão fechada, roubada, dados do usuário pode
sem roubados, o navegador do usuário pode passar a ser controlado pelo atacante,
as páginas Web serem modificadas, entre outros transtornos.
Os ataques normalmente são feitos modificando ou inserindo código
JavaScript ou HTML na páginas Web. Uma forma muito utilizada de explorar estas
vulnerabilidades, são os formulários das páginas Web. Caso os campos dos
formulários não sejam devidamente validados o ataque do tipo Cross-Site Scripting
pode ocorrer.
A proteção contra XSS deve ser feita de duas formas:
✗ Validação das entradas;
✗ Codificação da saída.
2.4.1.12 SQL Injection
SQL Injection ou injeção de SQL em português é um método onde uma
pessoa mal intencionada tenta se aproveitar de falhas em sistemas que utilizam
bases de dados via SQL, tentando assim, inserir, apagar, editar, entre várias outras
funções SQL.
SQL (Structured Query Language) é o nome de uma linguagem de programação usada para a interação com bancos de dados.”“Uma injeção SQL trata-se de um código SQL que é injetado em um site por um indivíduo malicioso. Se a injeção ocorrer com sucesso, o invasor pode ser capaz de alterar o conteúdo do website, ler registros do banco de dados que em condições normais não poderiam ser lidos, entre outros, dependendo da gravidade do problema. (ASSOLINI, 2008)
Por exemplo se o atacante conseguir acesso a base de dados SQL e inserir
um usuário com várias permissões dadas por ele mesmo, ele poderá manipular este
bando de dados de forma a causar grandes danos.
55
2.4.1.13 Buffer Overflow
Muitos programas utilizam de buffers16 para armazenar e ter acesso a dados
que estão em processamento de forma mais rápida. Os buffers têm tamanho
definido de acordo com o desenvolvimento do programa e a necessidade do mesmo.
O buffer overflow é o que ocorre quando se armazena uma quantidade de
dados maior do que a capacidade de dados do buffer. O ataque visa estourar o
buffer, sobrescrever e alterar valores de endereços de retorno. Pode resultar no
acesso indevido a determinadas áreas de memória, falha de segurança, terminação
do programa, e a execução de forma incorreta do programa. Alterando-se o
endereço de retorno da função, ele apontará para a área em que o código que se
deseja executar encontra-se armazenado, este código armazenado dentro do buffer
pode ser malicioso ou fazer parte de um programa vulnerável.
Seguem abaixo alguns ataques a vulnerabilidades por buffer overflow,
definidos por Aranha (2003):
✗ Buffer overflow baseado em pilha: é a técnica mais simples e mais
comum, trata-se em alterar o estado da pilha durante a execução do
programa, dimensionando a execução para o código malicioso existente no
buffer estourado;
✗ Buffer overflow baseado em heap17: faz-se o direcionamento para a
execução do código malicioso que se encontra no buffer estourado,
estourando o buffer armazenado na área do heap em direção ao endereço de
retorno na pilha;
✗ Buffer overflow de retorno à libc18: o fluxo de execução pelo estouro
de algum buffer na pilha ou heap, é alterado para algum trecho de código
armazenado no segmento de texto do programa. Este trecho de código pode
ser alguma chamada de função comumente utilizada da biblioteca padrão
libc.
16 É um espaço de memória utilizado de forma temporária para leitura e escrita de dados.17 Estrutura de dados organizada como árvore binária, seguindo algumas regras.18 Biblioteca padrão da linguagem C.
56
Para evitar esse tipo de ataque, os desenvolvedores devem sempre utilizar
linguagens de programação novas, que façam checagem de limite e alteração
dinâmica do tamanho do buffer. A utilização de linguagem de baixo nível também
possui funções protegidas, um exemplo muito citado são as funções strncpy19(copia
o conteúdo de uma string20 para outra e coloca um terminador de string, recebe um
terceiro argumento que corresponde ao número máximo de caracteres a serem
copiados).
Deve-se sempre acompanhar os avisos e publicações de vulnerabilidades
encontradas em aplicativos, utilizar as correções que são disponibilizadas junto as
descobertas de vulnerabilidades, e manter sempre as aplicações atualizadas.
2.4.1.14 Sequestro de Sessão
Quando algum acesso é realizado a alguma conta de e-mail, redes sociais
existentes na internet, ou então uma determinada conta de banco de banco, este
acesso temporário é denominado sessão, onde tem-se cadastradas informações
temporárias de usuário e senha, normalmente, responsáveis por manter o acesso
vigente em tal serviço.
O sequestro de sessão, propriamente dito, consiste em tomar posse de uma
sessão no momento em que a mesma está sendo utilizada, a sessão ativa. Este tipo
de ataque também é conhecido como “man in the middle” (do inglês “homem do
meio”), pelo fato que uma terceira pessoa (o atacante), torna-se o mediador neste
acesso, sendo o já mencionado “homem do meio”, entre vítima e sistema utilizado.
Para que a ação possa ser realizada, existem alguns procedimentos a serem
seguidos. O primeiro objetivo por parte do atacante após o encontro do alvo é
encontrar uma sessão ativa deste alvo, para então poder efetuar o papel de homem
do meio. Após tal procedimento o usuário deve, por fim, tornar o computador da
vítima offline, fazendo com que a mesma acredite que sua rede caiu, e que não está
sofrendo algum ataque. Então, com isso, o atacante pode livremente assumir a
19 Função utilizada na linguagem C.20 Sequência de caracteres
57
sessão da vítima.
Para garantir uma maior segurança com relação a este tipo de ataque, o
profissional de segurança deve efetuar procedimentos, como utilização de
criptografia e protocolos seguros, assim como limitar o número de conexões
entrantes (aquelas que conseguem realizar acesso aos micros), minimizar o acesso
remoto, e também adotar uma forte autenticação.
Com métodos como estes, é possível minimizar e até eliminar estes tipos de
ataque, mediante configurações adequadas.
2.4.1.15 Defacement
Ataque com objetivo de modificar a página de um site na internet. As pessoas
que realizam este tipo de ataque são conhecidas como defacer ou pichadores
virtuais. O defacer passa horas navegando pela internet procurando sites
vulneráveis, realizando ataques que são feitos muitas vezes com intuito de mostrar-
se o que é capaz de fazer, normalmente expondo palavras de baixo calão e
xingamento a pessoas, afirma Veloso (2008).
Este tipo de atacante explora uma vulnerabilidade qualquer, edita ou cria um
documento HTML com as informações que deseja e faz o upload21 do documento
HTML criado por ele no servidor de hospedagem da página. Após o upload feito, a
nova página da internet terá o conteúdo colocado por ele.
Alterar o site de uma grande empresa pode trazer fama ao defacer, e é isso
que eles visam. Por outro lado, a empresa que tem seu site alterado pode arcar com
grandes transtornos, como perda de nome e credibilidade, e consequentemente de
clientes e renda.
Um bom exemplo é o site de determinado banco que oferece acesso a conta
através da internet. Se ocorre um ataque de Defacement e este ataque ganha
amplas proporções e divulgação, os clientes do banco ficarão receosos em continuar
acessando tal serviço, e as pessoas que seriam potenciais clientes passarão a ter
21 Transferência de dados de um computador local para um servidor.
58
uma visão ruim sobre o banco e provavelmente deixarão de se tornar clientes,
situação esta que pode gerar grandes prejuízos e até mesmo levar a falência.
2.4.1.16 Criptoanálise
O processo de cifrar é chamado de criptografia, e o de decifrar,
descriptografia. Já a criptoanálise representa o ramo da criptografia que analisa
textos criptografados e tenta decodificá-los mesmo que não se tenha o
conhecimento da chave secreta utilizada na geração do texto criptografado. Existem
algumas técnicas diferentes de criptoanálise que são utilizadas de acordo com o
método implementado durante a criptografia da mensagem, estas técnicas partem
do ponto que o invasor possui conhecimento total sobre os métodos de cifragem e
decifragem utilizados, mas não sobre as chaves.
Abaixo são citadas algumas das técnicas de criptoanálise, definidas por
Faleiros e Sócrates(2008) . Essas técnicas representam as diversas formas que um
invasor pode utilizar para decifrar ou quebrar a codificação das mensagens que
estiverem cifradas.
✗ Ciphertext Only (Ataque do texto cifrado): O invasor tenta deduzir
as chaves utilizadas no processo de cifragem para que possa torna-la
original, ou seja antes do processo de cifragem. O invasor utiliza uma grande
quantidade de mensagens cifradas, mas desconhece as originais e as chaves
utilizadas.
✗ Known Text (ataque do texto conhecido): O invasor tenta deduzir as
chaves utilizadas no processo de cifragem para que possa torná-la
original, ou seja antes do processo de cifragem. O invasor utiliza uma grande
quantidade de mensagens cifradas, e também as mensagens originais e
as chaves utilizadas.
✗ Adaptative-choosen-plaintext (Ataque adaptativo do texto
escolhido): Neste método o objetivo do invasor é descobrir as chaves
utilizadas, ele pode fornecer um pequeno conjunto, analisar os resultados,
59
fornecer outro conjunto e assim por diante.
✗ Choosen-cyphertext (Ataque do texto cifrado escolhido): Nestes
tipo de ataque o invasor pode produzir uma mensagem cifrada específica a
partir dela pode decifra-la, obter o resultado produzido e analisá-lo. O invasor
utiliza uma grande quantidade de mensagens e seus equivalentes cifrados.
✗ Choosen-key (Ataque da chave escolhida): O invasor testa o
sistema com diversas chaves diferentes, ou pode convencer diversos
usuários legítimos do sistema a utilizarem determinadas chaves.
2.4 Métodos de Segurança
2.4.1 Políticas de Segurança
De acordo com o RFC 2196 (The Site Security Handbook), uma política de
segurança consiste num conjunto formal de regras que devem ser seguidas pelos
utilizadores dos recursos de uma organização.
A Política de segurança da informação é como um manual de procedimentos
que contém informações de como os recursos de informática devem ser utilizados.
Grande investimento na área de segurança da informação é feita na parte
técnica, mas para se ter o mínimo de segurança é necessário adotar mudanças
comportamentais, pois sem dúvida alguma o ser humano é muito vulnerável a erros.
A preocupação com a segurança da informação não se restringi mais apenas à sala
dos servidores, e sim até onde os usuários e clientes estão.
De acordo com as últimas pesquisas realizadas pelo CSI (Computer Security
Institute), 71% dos incidentes de segurança são causados por pessoal interno.
Nessa estatística devemos considerar que além dos tão temidos funcionários
insatisfeitos, muitos dos incidentes são ocasionados por erros. Logo, educação e
capacitação é fundamental para evitar erros e acidentes e, também, conscientizar
parceiros, funcionários e terceiros.
60
É preciso então a criação de um conjunto mínimo de regras e normas de
conduta formais, a política de segurança, pois ela estabelece padrões para a
utilização dos recursos de informática, através da atribuição de responsabilidades e
fornecendo regras básicas, guias e definições para todos.
O principal propósito é orientar os usuários que utilizam recursos de
informática sobre suas principais obrigações para a proteção da tecnologia e do
acesso à informação, já que diminuem a probabilidade da ocorrência de incidentes
que provoquem, por exemplo, a indisponibilidade, furto ou perda de informações.
A política de segurança deve ser clara e de fácil compreensão, facilitando sua
aceitação pelos usuários e garantindo uma maior execução por parte dos mesmos.
A política da segurança pode abranger entre outras coisas:
✗ Padrões para utilização de criptografia;
✗ Segurança lógica;
✗ Segurança física;
✗ Regras para utilização do e-mail e acesso à Internet;
✗ Normas para utilização de programas e equipamentos;
✗ Procedimentos para guarda adequada das informações;
✗ Definição de responsabilidades e perímetros de segurança.
Existem tipos diferentes de política, os tipos variam de acordo com o modelo
de negócios e intenção do controle e punição no descumprimento da mesma.
Podem ser citados três tipos mais conhecidos:
✗ Consultiva: Tem como objetivo, sugerir quais ações e métodos devem
ser utilizados para a realização de uma determinada tarefa ou atividade.
✗ Informativa: Seu caráter é somente informativo. Tomada de ações e
medidas não são desejadas e não existem riscos, caso não sejam cumpridas.
✗ Regulatória: É definida como se fosse uma série de especificações
legais. É implementada devido ás necessidades legais que são impostas à
organização.
Existem políticas que servem apenas como marco zero, ou seja, a parte
fundamental para o desenvolvimento de uma política de segurança. Cada empresa,
organização tem suas necessidades e devem ser analisadas na hora de elaborar
uma política, sendo assim, a política deve ser moldada e adaptada à realidade de
61
cada empresa, devem ser observados, a cultura organizacional, os sistemas de
informações utilizados e os requisitos legais.
As políticas precisam sempre ser atualizadas, pois diariamente surgem novas
tecnologias de segurança, e à medida que as vulnerabilidades de segurança
evoluem, as políticas precisam ser modificadas ou suplementadas.
As políticas e os procedimentos de segurança devem estar sempre
disponíveis em local de fácil acesso, isso aumenta a probabilidade de que tais
políticas e procedimentos sejam examinados com mais frequência e permite que os
usuários encontrem rapidamente a resposta para todas as perguntas relacionadas
com a segurança das informações.
As empresas devem fazer auditorias e testes periódicos de penetração e
avaliações de vulnerabilidades, de modo a expor os pontos fracos da política ou a
falta de cumprimento das políticas.
Os elementos da política de segurança que devem ser considerados,
inclusive já citados em seção anterior, são:
✗ A Disponibilidade: o sistema deve estar disponível de forma que
quando o usuário necessitar, possa usar. Dados críticos devem estar
disponíveis ininterruptamente.
✗ A Utilização: o sistema deve ser utilizado apenas para os determinados
objetivos.
✗ A Integridade: o sistema deve estar sempre íntegro e em condições de
ser usado.
✗ A Autenticidade: o sistema deve ter condições de verificar a identidade
dos usuários, e este ter condições de analisar a identidade do sistema.
✗ A Confidencialidade: dados privados devem ser apresentados somente
aos donos dos dados ou ao grupo por ele liberado.
2.4.2 Conscientização
A conscientização é um fator muito importante para o sucesso da segurança,
62
ela abrange a realização de um processo de divulgação e conscientização das
pessoas com relação a segurança da informação, é necessário que as pessoas
saibam o quanto elas fazem parte deste processo e mostrando que o assunto
segurança da informação é de grande importância.
É muito importante conscientizar as pessoas sobre o valor da informação que
elas dispõem e manipulam, seja ela de uso pessoal ou institucional. As pessoas
precisam também saber como age um engenheiro social.
Não basta apenas criar panfletos ou enviar a politica para uma página da
intranet que detalha as políticas de segurança. É necessário um grande esforço para
orientar todos os que trabalham com as informações corporativas ou com os
sistemas de computadores para que eles aprendam e sigam as regras. Além disso,
você deve garantir que todos entendam o motivo de cada política, para que as
pessoas não tentem se desviar da regra por questões de conveniência.
O objetivo central de um programa de conscientização sobre segurança é
influenciar as pessoas para que elas mudem seu comportamento e suas atitudes
motivando cada pessoa a querer entrar no programa e fazer a sua parte para
proteger os ativos de informações.
É necessário tempo para que as pessoas se familiarizem com as políticas e
os procedimentos de segurança e para que participem do programa de
conscientização sobre a segurança.
A conscientização deve levar em consideração o grau de acesso a
informações de cada empregado e seu respectivo nível de acesso a informações.
Por exemplo, os empregados que mudarem de posição dentro de uma organização
para uma função que envolva o acesso a informações confidenciais ou sistemas de
computadores devem, obviamente, fazer um programa de treinamento em
segurança adaptado às suas novas responsabilidades.
Um programa de conscientização deve tratar dos seguintes itens:
✗ As políticas de segurança relacionadas com senhas de computador;
✗ O procedimento de divulgação de informações ou material confidencial;
✗ A política de uso do correio eletrônico, incluindo as medidas para evitar
ataques maliciosos de código, tais com vírus, worms e Cavalos de Tróia;
✗ Os requisitos de segurança física, tais como o uso de crachás;
63
✗ A responsabilidade de questionar as pessoas que estão nas
instalações sem o crachá;
✗ Determinar a classificação das informações e as medidas adequadas
para proteger as informações confidenciais;
✗ A eliminação adequada de documentos confidenciais e mídia de
computador que contenham, ou que já tenham contido material confidencial.
Devem ser realizados testes para que saiba qual o nível de conscientização
da pessoas, os resultados desses testes devem ser utilizados não para punir, mas
para definir a necessidade de treinamentos adicionais de conscientização em
algumas áreas.
Devido à importância de manter as pessoas atualizados sobre o assunto da
defesa contra os ataques da engenharia social, um programa constante de
conscientização é de importância vital, além do mais, a cada dia surgem mais
vulnerabilidades e ameaças.
A lista de possibilidades de um programa constante de conscientização
poderia incluir:
✗ A inclusão de itens informativos nas circulares da empresa: por
exemplo, artigos, lembretes ou quadrinhos;
✗ A colocação de uma foto do Empregado da Segurança do Mês;
✗ Posteres afixados nas áreas dos empregados;
✗ Notas publicadas no quadro de avisos;
✗ O fornecimento de lembretes impressos nos envelopes de pagamento;
✗ O envio de lembretes por correio eletrônico;
✗ Uso de proteções de tela relacionadas com segurança.
2.4.3 Atualizações Frequentes
A cada dia novas ameaças e vulnerabilidades surgem nos sistemas
64
computacionais, softwares de escritório antes inofensivos, agora apresentam
vulnerabilidades, que quando descobertas viram armas na mão de pessoas mal
intencionadas.
O número de vulnerabilidades de softwares caiu no geral em 2009, mas a
quantidade de erros em leitores de documentos e aplicativos de multimídia cresceu
em 50%, de acordo com o relatório anual de riscos e tendências da IBM.
A pesquisa foi feita pelo grupo X-Force, da IBM, e coletou divulgações de
vulnerabilidades e outros dados de ataques feitos na web. Em 2009, a equipe
registrou 6,6 mil novas vulnerabilidades, quantidade 11% menor que a registrada em
2008.
Os desenvolvedores de softwares estão cada vez mais atentos a segurança
da informação, antes de disponibilizar seu sistema no mercado fazem diversos tipos
de testes de vulnerabilidades, e depois que laçam, mantem os softwares em
contante atualização, pois é muito depreciativo ver o seu sistema sendo apontado e
utilizado como método de ataque.
Deve-se manter todo o software de computador atualizado, desde o sistema
operacional a aplicativos de escritório. O antivírus é um software que requer uma
atenção especial quanto a atualizações, pois a cada dia são lançados novas
ameaças como vírus, trojans, worms, e por mais que o antivírus seja bom, ele não
será capaz de detectar essas pragas se as mesmas não estiverem nas definições de
vírus.
2.4.4 Análise e auditoria de logs
Conforme o livro Segurança Máxima, os logs são um conjuntos de software
que residem dentro dos sistemas de importância subestimada que ajudam a
solucionar problemas, detectar anomalias na rede, rastrear os passos de um invasor
ou ajudar a solidificar seu caso em um tribunal caso seja necessário.
O monitoramento dos sistemas por meio de registros de log, trilhas de
auditoria ou outros mecanismos de detecção de invasão são essenciais à equipe de
65
segurança. Na ocorrência de uma invasão, erro ou atividade não autorizada é
importante reunir evidências suficientes para que possam ser tomadas as medidas
corretivas necessárias ao restabelecimento do sistema às suas condições normais,
assim como as medidas administrativas.
Os utilização de arquivos de log é um dos métodos mais simples e mais
difundido de monitoramento. Eles funcionam como trilhas de auditoria que registram
cronologicamente as atividades do sistema e seus usuários. Com os dados dos logs,
pode-se identificar e corrigir falhas da estratégia de segurança.
Ao definir o que será registrado, é preciso levar em conta que quantidades
enormes de registros podem ser inviáveis de serem monitorados. Não adianta ter
um log, se ele não é periodicamente revisado. Arquivos de logs são somente úteis
se eles puderem ser lidos, porque eles registram os acontecimentos depois de um
incidente.
Problemas com arquivos de logs:
✗ Servidores produzem uma quantidade muito grande de informações de
logs;
✗ Analisá-los pode ser uma tarefa entediante que consome muito tempo;
✗ Servidores diferentes possuem diferentes formatos de arquivos de log.
Nenhum sistema é tão seguro de forma que seja impossível sofrer ataques,
não basta simplesmente implantar sistemas seguros para manter um ambiente
realmente protegido. É preciso monitorar o funcionamento do mesmo, não pode-se
supor que os sistemas de segurança protegerão sempre.
Existem softwares especializados disponíveis no mercado específicos para
essa tarefa. As ferramentas coletam dados, fazem o armazenamento destes dados
em logs, analisam os arquivos de log, extraem dados e fazem relatórios, os
programas analisam arquivos de log em texto simples e, com base no que se
encontra (e as regras que o administrador fornece), pode realizar varias ações,
incluindo criar um alerta, executar um programa externo ou mesmo tomar parte dos
dados de log e enviá-los para alimentar comandos ou processos externos.
Ao utilizar ferramentas de analise de logs é necessário se atentar a algumas
questões:
✗ A capacidade de coleta;
66
✗ A capacidade de comprimir e arquivar dados;
✗ As evoluções da ferramenta;
✗ A capacidade da mesma a grandes picos de logs;
✗ Os clientes que a utilizam;
✗ O envolvimento do desenvolvedor da ferramenta com os fabricantes
geradores de logs.
Vários são as situações onde ocorrem problemas relacionados com sistemas
computacionais, como por exemplo, a parada de um servidor, ataque a uma rede,
falha na inicialização de determinado serviço em um servidor, erro na inicialização
de um desktop, em todas estas situações o único ponto comum de informação é a
analise de logs gerados pelos diversos equipamentos e softwares do ambiente de
Informática.
Analisando os logs é possível identificar os dados gerados pelo sistema,
aplicações, rede, atividades dos usuários, entre outros, os logs trazem inúmeras
informações que se transformam em indicadores capazes de medir os níveis de
segurança e de avaliar se medidas de segurança estão surtindo o efeito esperado.
Os arquivos de logs são a melhor forma de verificar a extensão de um incidente de
segurança, identificando que ativo foi violado e que informação foi exposta.
É importante, criar uma boa política de logs e mante-la sempre atualizada,
esta política deve conter:
✗ Os tipos de informação que podem ser registrados;
✗ Os mecanismos para tal registro;
✗ Onde essa tarefa será realizada;
✗ Onde os arquivos de logs serão armazenados.
2.4.5 Desenvolvimento seguro
Atualmente, todas atenções referentes a segurança são comumente
relacionadas a falhas de rede e invasões de hackers. Contudo, um dos maiores
67
problemas relacionados a segurança, é deixado de lado: a segurança em
aplicações.
Conforme documento do Centro de Pesquisas Renato Archer, as
vulnerabilidades de software são divididas em três partes:
✗ Problemas de configuração: Normalmente causado pelo
desconhecimento do sistema, esse tipo de problema é relativamente comum, se o
responsável pela configuração dos sistemas não obtiver a afinidade e experiência
necessárias sobre o mesmo.
✗ Sistemas mal projetados: Alguns sistemas quando projetados de uma
maneira inadequada, podem conter requisitos não funcionais. Desta forma, o mesmo
não agrega utilidade para o funcionamento, embora possa conter falhas passíveis de
exploração por atacantes.
✗ Erros na codificação: Em nível de programação, a maior causa de
falhas é gerada pela falta de conhecimento. Para um desenvolvedor, o amplo
conhecimento sobre a linguagem de programação utilizada para codificação é
essencial, de modo que o mesmo evite falhas que tornem o software vulnerável.
Como já citado anteriormente, na seção a respeito do profissional
programador, a SANS divulgou uma lista referente aos 25 maiores erros de
programação (disponível em http://www.sans.org/top25-programming-errors/#cat3),
separados em 3 categorias:
✗ Interação insegura entre componentes (8 erros): Normalmente é o
nome dado a falhas que ocorre durante o processo de transferência de dados.
Ataque como o XSS, já definido em seção anterior, é um dos responsáveis por erros
desta categoria.
✗ Risco no gerenciamento de recursos (10 erros): Também muito
explorados, assim como nas demais categorias, os erros que causam risco no
gerenciamento de recurso, devem ser corrigidos. O Buffer Overflow, também
definido anteriormente, é um dos ataques responsáveis por erros nesta classe.
✗ Defesa porosa (7 erros): Refere-se a fragilidades e falhas na
68
liberação de recursos, autenticações de acesso, entre outros. A falta de criptografia
na troca de informações é um dos motivos a qual é gerada uma 'defesa porosa'.
2.4.6 Criptografia
O homem sempre teve necessidade de proteger informações, mesmo antes
do surgimento das tecnologias e máquinas que vemos atualmente. Com o avanço e
o surgimento da tecnologia, a transferência de informações na rede passam a ser
comum, e com isso há também a necessidade de sigilo, para assuntos de maior
importância, seja entre determinada empresa, ou mesmo um assunto pessoal de um
usuário de computador.
Para diminuir o risco de uma informação particular vazar e ser obtida por
pessoas indevidas, um dos métodos criados, que é utilizado com grande frequência
até hoje, é a criptografia.
2.4.6.1 O que é
O significado de criptografia é visto da seguinte forma:
“A palavra criptografia é um termo genérico que designa o conjunto das técnicas que permitem codificar mensagens, isto é, que permitem torná-las ininteligíveis sem uma ação específica. O verbo cifrar é por vezes utilizado, mas preferir-se-á o verbo codificar. ”Kretcheu (2009)
A criptologia consiste em alterar determinada mensagem e torná-la impossível
de ler. Todo esse procedimento é baseado na aritmética: a criptografia transforma as
letras de um texto, por exemplo, em números (na forma de bits, no caso da
informática, pois binário22 é a linguagem de funcionamento dos computadores), e
através de cálculos matemáticos, os altera de forma a deixá-los incompreensíveis.
Essa modificação, que condiz em transformar o texto em sua forma inicial
22 Linguagem nativa dos computadores, composta apenas de números 1 e 0
69
(também chamado de plaintext23) em um arquivo não legível (ciphertext24), e
somente o destinatário possuir o código correto para retorná-lo ao texto original,
consiste no processo de criptografia.
O processo de torná-la secreta é chamada codificação. O processo oposto,
que busca retornar a mensagem original, é chamado de decodificação. Para tais
ações, são necessárias chaves, que são a fórmula usada para os processos, de
acordo com as necessidades especificadas no decorrer da mensagem. Estas
chaves são divididas em 2 tipos:
✗ Simétricas: são chaves utilizadas nos 2 casos, tanto para criar o
código a partir da mensagem como para retornar a mensagem a sua forma
inicial. Por isso são chamadas de codificação simétrica ou codificação com
chave secreta.
✗ Assimétricas: são as chaves que trabalham de forma assimétrica,
como propriamente dito. Neste caso, a chave utilizada para codificação se
diferencia da chave utilizada na decodificação.
Existem casos onde o atacante consegue obter a mensagem escondida por
trás do código, que não pela forma legítima. Neste caso usa-se o termo decifrar para
tal ação. “Quando a chave descodificação não é conhecida do atacante, fala-se
então de criptanálise ou criptoanálise.” , define Kretcheu (2009).
O autor define também a criptologia como uma ciência que engloba os
aspectos científicos destas técnicas, o que inclui tanto a criptografia quanto a
criptanálise.
2.4.6.2 Objetivo
O principal objetivo desta ciência é dissimular mensagem aos olhos indevidos.
Hoje essa importância é ainda maior, como citado em tópicos anteriores, pois a
comunicação realizadas na internet transitam entre infraestruturas não confiáveis e
confidenciais, infringindo assim 1 dos 3 pilares da segurança da informação. Com
23 Texto plano, sem códigos ou símbolos. Completamente legível.24 Texto cifrado, com codificação. Desta forma, o mesmo não é possível de ser lido.
70
tais características presentes na rede mundial, a criptografia são somente para
garantir a confidencialidade, mas também a integridade e a autenticidade da
informação.
2.4.6.3 Tipos
Como já informado anteriormente, a criptografia utiliza de meios aritméticos
para o correto funcionamento. Esses códigos são dos mais variados, e possuem
seus respectivos pontos fracos e fortes. As cifragens podem ser realizadas por
métodos de substituição e transposição ou chave privada. Ambos serão citados nos
tópicos posteriores.
2.4.6.3.1 Codificação por substituição
Tem como objetivo substituir determinadas entidades25 por outras, através de
métodos. Estes métodos podem variar da alteração de um carácter por outro, até a
substituição de um carácter por um conjunto de caracteres, previamente calculados.
✗ Codificação César: É dado como um dos códigos de cifragem mais
antigos, pois teria sido utilizado por Júlio César. O seu objetivo é adicionar um
valor constante ao conjunto de caracteres da mensagem. Normalmente esse
valor é adicionado de acordo com a tabela ASCII26, no caso de computadores.
O método é definido da seguinte forma:
Trata-se simplesmente de deslocar o conjunto dos valores dos caracteres da mensagem de um certo número de posições, quer
25 Caracteres, em mensagens de textos, números, ou qualquer tipo de dado, como pixels de uma imagem, por exmplo.
26 Conforme o sítio http://www.tabelaascii.com: “American Standard Code for Information Interchange (ASCII), que em português significa "Código Padrão Americano para Intercâmbio de Informação") é uma codificação de caracteres de sete bits baseada no alfabeto inglês. Os códigos ASCII representam texto em computadores, equipamento de comunicações, entre outros dispositivos que trabalham com texto. Estes dispositivos só percebem números, sendo assim um código ASCII é uma representação numérica de um carácter, tal como um 'a' ou um 't'. A maioria dos actuais esquemas de codificação modernos, com suporte para muitos caracteres, tiveram origem no código ASCII.”
71
dizer, em certa medida substituir cada letra por outra. Por exemplo, deslocando a mensagem “COMMENT CA MARCHE” de 3 posições, obtêm-se “FRPPHQW FD PDUFKH”. Quando a adição do valor dá uma letra que excede a letra Z, é suficiente continuar partindo de A... Kretcheu (2009)
Neste método criptográfico, a chave é dada de acordo com o valor
acrescentado à mensagem para efetuar a cifragem. No caso do exemplo dado por
Kretcheu, a chave é C, porque é a terceira letra do alfabeto, fazendo analogia a
quantidade de casas a serem acrescidas (3).
Dessa forma, a codificação César é um método fácil de se aplicar,
porém é simétrico, de forma a bastar uma subtração para conhecer a
mensagem inicial. Existem evoluções na codificação César, como o cálculo a
partir da frequência das letras na mensagem. Como normalmente algumas
letras são utilizadas com mais frequência que outras, o cálculo pode ser feito
substituindo a letra que mais aparece na cifragem, pela mais frequente no
respectivo alfabeto (no caso do português, a letra E é a mais frequente, por
exemplo).
✗ Codificação ROT13: Funciona em cima da codificação César. Quando
a chave de cifragem é a letra N, a codificação é chamada ROT13 (o número
13, metade de 26, foi escolhido para calcular e decifrar facilmente as
mensagens textuais).
2.4.6.3.2 Cifragem com chave privada
Este tipo de codificação também é conhecida como simétrica, e consiste em
utilizar uma mesma chave para codificação e descodificação, explica Kretcheu
(2009).
A cifragem tem por objetivo aplicar uma operação (um algoritmo) sobre os
dados a serem criptografados, com a ajuda de uma chave privada, para os tornar
ininteligíveis. Dessa forma, por menor que possa ser o algoritmo, o algoritmo torna-
se quase inviolável.
Um problema das chaves secretas dado como um dos principais, é o fato da
72
divulgação das chaves. Por ser necessário a divulgação da chave para as pessoas
que necessitam obter determinado acesso, as vezes perde-se o controle sobre a
chave.
2.4.7 PenTests
A TSA (Tevora South Africa), empresa provedora em soluções de segurança,
e define o PenTest da seguinte maneira:
O teste de penetração é uma avaliação necessária para verificar se realmente a rede da sua empresa está protegida contra uma serie de ataques de diversas fontes externas. Empresas são obrigadas por requerimentos federais e outros padrões da indústria, tais como PCI a conduzir testes de penetração anualmente.
O teste de penetração requer um conhecimento aprofundado de vulnerabilidades existentes, também como uma gama de ferramentas de analises de redes. Nem todas as organizações podem arcar com o custo de ter um analista de segurança full time com o expertise apropriado para conduzir tal testes. (TSA, 2010)
Testes de penetração devem ser ensinados e repetidos, para que possam ser
aplicados em uma ampla gama de circunstâncias, além de terem caráter
exploratório. Mas para que possam ser realizados da maneira adequada, os testes
devem começar a partir de um planejamento, que começa a partir de um
embasamento dos dados disponíveis referente ao software, desde especificações,
até documentações de design. Com tais informações disponíveis, torna-se possível
efetuar um conjuntos de testes a serem realizados, a fim de verificar as devidas
funcionalidades e não funcionalidades de determinado recurso, agregados a
ausência de segurança.
Este tipo de atividade deve ser realizada principalmente por um profissional
em redes de computadores, devido aos conhecimentos necessários para realizar o
procedimento. Isto porque o profissional deve agir de maneira semelhante ao
cracker, buscando falhas no sistema. Para tanto, Ranieri Souza, em artigo a Security
Hacker (página Web com conteúdos ligados a informática), cita alguns tipos de
73
tarefas a serem realizadas por um profissional ao realizar um teste de penetração:
✗ Reconhecimento da rede: A enumeração consiste no reconhecimento da rede e dos sistemas atingíveis. Os resultados esperados são: nomes de domínios, nomes de servidores, informação do ISP27, endereços IP envolvidos e também um mapa da rede. Inclui ainda informação de registros de domínios para os servidores.
Para fazer o reconhecimento da rede, podem ser utilizadas diversas ferramentas e técnicas, conforme o objectivo do ataque.✗ Scanning: Nesta fase de um teste de penetração é a identificação de portas abertas e serviços a correr, na máquina(s) ou rede alvo, chegando assim a enumeração de vulnerabilidades no alvo.
Também nesta fase do teste podemos incluir diversas ferramentas e técnicas, conforme o objectivo do teste e a configuração da máquina/rede alvo. Ferramentas deste tipo foram analisadas no ponto 3 deste mesmo relatório.✗ Teste de vulnerabilidade: Os testes de vulnerabilidades consistem na determinação de que buracos de segurança e vulnerabilidades podem ser aplicadas à rede/máquina alvo. Quem efectuar o teste vai tentar identificar nas máquinas na rede alvo todas as portas abertas, sistemas operativos e aplicações a serem executadas; incluindo o sistema operativo, patches aplicados e service packs aplicados.
Nas etapas anteriores, são identificadas as máquinas que estão ligadas e que portas e serviços têm disponíveis.
Existe, na geral quatro categorias de vulnerabilidades que podem ser encontradas:
• Os bugs específicos do sistema operativo, exploits, vulnerabilidades e buracos de segurança;
• As fraquezas no firewall e routers, entre diversas marcas;
• A exploração de scripts de web server;• As partilhas e confianças exploráveis entre sistemas e
pastas.
O autor acrescenta também ferramentas e técnicas para a execução de cada
uma das fases, como o DIG para utilização no reconhecimento da rede, o NMap
para escaneamento de portas e o Nessus para testes de vulnerabilidade.
Com este tipo de procedimento, elimina-se com base nos testes realizados,
as vulnerabilidades contidas, minimizando assim o risco de uma infiltração no
sistema por um atacante.
27 Sigla de Internet Service Provider, do inglês Provedor de Serviços a Internet, refere-se a empresa que fornece o acesso a internet para a respectiva empresa a qual se busca a informação.
74
2.5 Ferramentas de segurança
O aumento da quantidade de ataques a redes computacionais, acontece
devido a criação e evolução das existentes ferramentas que são disponibilizadas,
com isso a realização de ações maliciosas na rede se tornaram fáceis, pois com o
auxílio dessas ferramentas o nível de conhecimento para se realizar uma atividade
ilícita se reduziu a algumas linhas de comando ou até mesmo a cliques de mouse,
alega Cassa(2010).
Com isso o desenvolvimento de soluções para proteção de redes e sistemas
aumentam de acordo com a necessidade de segurança. Foram implementados
mecanismos de firewall, sistemas de detecção de intrusos (Intrusion Detection
Systems - IDSs), anti-vírus, técnicas de backup e restore, entre outros, na tentativa
de minimizar as chances de um intruso obter sucesso em suas atividades, mantendo
assim a segurança das informações nos sistemas.
2.5.1 Firewall
Firewall é uma ferramenta de segurança com cada vez mais importância no
mundo da computação. O firewall pode ser considerado uma ferramenta
imprescindível na segurança, que ajuda a reduzir os riscos. Segundo informações
contidas no sitio da Microsoft que exemplifica a ideia do firewall:
Conectar-se à Internet sem um firewall é como deixar as chaves do carro no contato, o motor ligado e as portas destravadas enquanto você vai às compras. Embora você possa entrar e sair antes que alguém perceba, também é possível que alguém aproveite a oportunidade. (Microsoft, 2010)
Na internet os chamados hackers utilizam das técnicas de ataque afim de
encontrar uma rede ou computador desprotegido. Sendo assim o firewall auxilia na
75
proteção da sua máquina contra esses e outros ataques à segurança.
Segundo Alecrim, firewall pode ser definido como uma barreira de proteção,
que controla o tráfego de dados entre seu computador e a Internet (ou entre a rede
onde seu computador está instalado e a Internet). Tendo como objetivo gerenciar a
transmissão e recepção de dados, controlar o acesso ao sistema por meio de regras
e a filtragem de dados, deixando assim apenas o trafego de dados autorizados.
Figura 3: Exemplo de Firewall
Quanto ao seu funcionamento existem dois tipos distintos: o que é baseado
em filtragem de pacotes e o que é baseado em controle de aplicações, segundo
Alecrim (2004). Seguem abaixo as definições:
✗ Filtragem de pacotes: Normalmente trabalha em redes de pequenos
ou médios portes. Por meio de um conjunto de regras estabelecidas, esse
tipo de firewall determina que endereços IPs e dados podem estabelecer
comunicação e/ou transmitir/receber dados. Alguns sistemas ou serviços
podem ser liberados completamente, enquanto outros são bloqueados por
76
padrão, por terem riscos elevados (Alecrim, 2004). O problema desse tipo de
firewall, é que em alguns casos pode causar a perda do desempenho da rede
devido as regras aplicadas serem muito complexas. A filtragem de pacotes
trabalha nas camadas TCP/IP, controlando quais pacotes podem ou não ser
transmitidos, essas escolhas são regras baseadas nas informações endereço
IP remoto, endereço IP do destinatário, além da porta TCP usada. Esse tipo
de firewall também é capaz de analisar informações sobre a conexão,
perceber alterações suspeitas, além de analisar o conteúdo dos pacotes.
✗ Firewall de Controle de Aplicação: Trabalha com redes de porte
médio ou grande e exige experiência para sua configuração. As aplicações
(SMTP, FTP, HTTP) geralmente são instaladas em computadores servidores
e são conhecidos como proxy. Este tipo não permite comunicação direta entre
a internet e a rede. O firewall atua como intermediador, ou seja, tudo deve
passar por ele, o proxy faz a comunicação entre ambos os lados por meio da
avaliação do número da sessão TCP dos pacotes. O firewall de aplicação é
mais complexo, porém mais seguro, porque todas as aplicações precisam de
um proxy, na falta simplesmente não funciona a aplicação, nesses casos uma
solução é a criação de um “proxy genérico” que pode ser configurado para
informar que determinadas aplicações usarão certas portas. O mesmo
permite um acompanhamento mais preciso do tráfego entre internet e rede, é
possível contar com ferramentas de log e de auditoria.
Em redes corporativas, o firewall auxilia para evitar que os usuários acessem
serviços ou sistemas indevidos, além de controlar as ações realizadas na rede,
sendo possível até mesmo descobrir quais usuários as efetuaram.
2.5.2 - Sistema de Detecção de Intrusos (IDS)
A função dos Sistemas de Detecção de Intrusos (Intrusion Detection Systems
– IDSs), é monitorar redes, ou hosts28, afim de detectar ações maliciosas, como
28 Qualquer máquina ou computador conectado a uma rede.
77
tentativas de ataques e obtenção de informações. Um IDS apropriado analisa os
pacotes, aponta transmissões de pacotes potencialmente maléficas e as armazena
num registro formatado, acrescentam Araújo, Camões, Vaz (2004).
Uma má configuração do IDS pode acarretar nos seguintes problemas:
✗ Falso Positivo: Quando o trafego legítimo é considerado um ataque.
É considerado um sério problema pois o IDS pode bloquear tráfego legítimo,
parando serviços fundamentais para uma empresa.
✗ Falso Negativo: Quando um ataque não é percebido pelo IDS,
passando como se fosse tráfego legítimo.
Existem duas categorias de IDS, são eles os de rede e os de host , os IDS de
rede, conhecidos como Network IDS (NIDS) são em geral programas que agem
como sensores em pontos estratégicos de uma rede. Estes programas coletam os
dados trafegados, fazem uma análise sobre o conteúdo e detectam ou não uma
atividade suspeita. Os IDSs de host monitoram as atividades no sistema operacional
de um host. Estes programas avaliam logs do sistema, serviços, integridade de
arquivos, módulos carregados, etc. (Araújo, Camões, Vaz - 2004 )
Figura 4: Implantação de um IDS
2.5.2.1 IDS de Rede
78
De acordo com informações contidas no Guia de Segurança Red Hat
Enterprise Linux 4, o sistema de detecção de intrusos baseado em redes tem como
filosofia escanear os pacotes da rede no nível da máquina ou roteador, auditorando
informações de pacotes e registrando quaisquer pacotes suspeitos em um arquivo
de registro especial com informações extras. Baseado nestes pacotes suspeitos, um
IDS baseado em rede pode escanear seu próprio banco de dados de assinaturas de
ataques de rede conhecidos e determinar um nível de severidade para cada pacote.
Se tais níveis forem suficientemente altos, um alerta será enviado aos membros da
equipe de segurança para que eles possam investigar a natureza da anomalia.
Esses tipo de IDSs podem escanear uma grande quantidade de tráfego de
rede, nomeando as transmissões suspeitas, o que é muito útil para a segurança.
Devido à insegurança inerente de protocolos TCP/IP, tornou-se obrigatório o
desenvolvimento de scanners, sniffers e outras ferramentas de auditoria e detecção
de rede para prevenir falhas de segurança devido às atividades maliciosas na rede.
A maioria dos IDSs baseados em rede requerem que o dispositivo de rede do
servidor do sistema seja configurado para o modo promíscuo, que permite o
dispositivo a capturar todos os pacotes que passam na rede.
2.5.2.2 IDS de host
HIDS (Host-Based IDS): Fácil de ser implementado e configurado, é dedicado
a um único host. São baseados em software. É utilizado para monitoramento de logs
(syslog em sistemas UNIX e Linux), faz acesso à portas e cálculo/verificação de
checksums (alguns arquivos tem os seus checksums verificados periodicamente,
para verificar se houve modificações).
Segundo o Guia de Segurança Red Hat Enterprise Linux 4, um IDS baseado
na máquina analisa diversas áreas para determinar o mal-uso ou intrusão.
Consultam diversos tipos de arquivos de registro (kernel, sistema, servidor, rede,
firewall, entre outros) e comparam os registros a um banco de dados interno com
assinaturas comuns de ataques conhecidos. O IDS baseado em host filtra os
79
registros, analisa-os, renomeia as mensagens anômalas com sua própria
classificação de severidade e os agrupa em seu próprio registro especializado para
análise do administrador.
Este tipo de IDS tem como características: Detectar ataques que ocorrem
fisicamente num servidor; capaz de descobrir ataques que utilizam criptografia, pois
o SO primeiro decifra os pacotes, diferentemente dos NIDS ; Independem da
topologia da rede; geram poucos falsos positivos; não necessita de hardware
adicional.
2.5.3 Antivírus
São softwares desenvolvidos especificamente para identificar, tratar,
eliminar os malwares de um modo geral seja ele um simples worm ou um complexo
trojan.
De acordo com informações no sítio Linha Defensiva:
Antivírus é um software responsável pela detecção, desinfecção e remoção de pragas digitais como vírus, trojans (cavalos de tróia), worms e qualquer outro tipo de código malicioso, não se limitando somente aos vírus como o nome sugere. Alguns antivírus também removem adwares e spywares, tarefa antes reservada apenas aos anti-spywares. (LINHA DEFENSIVA, 2009)
Os antivírus possuem uma base de dados contendo as assinaturas dos
vírus29 de que podem eliminar, chamada de lista de definição. Essa lista contém
informações para que o antivírus consiga identificar quais arquivos são bons e quais
são maliciosos, por isso a necessidade de manter sempre atualizado, desta forma,
somente após a atualização de seu banco de dados, os vírus recém-descobertos
podem ser detectados.
Porém existem algumas técnicas que permite um antivírus detecte um vírus
ainda não presente em seu banco de dados, conhecidas genericamente como
Análise heurística. A análise é feita em cima do código de cada programa que esta
sendo executado no computador, pode ser feito também quando disponível no
29 Assinatura é a parte do código do vírus que o identifica digitalmente.
80
antivírus e solicitado pelo usuário uma análise geral. Durante a análise o antivírus
procura nos programas trechos de códigos assembler30 que apontam que tal
programa pode ou não executar, mas se executado afetará o sistema operacional ou
qualquer outro software ou arquivo do computador. Esta técnica porém pode fazer
com que o antivírus emita muitos falsos-positivos, ou seja, quando o programa
antivírus marca arquivos limpos e seguros como infectados.
O Linha Defensiva (2010) cita também que os antivírus tem como
funcionalidades:
✗ Identificar e eliminar a maior quantidade possível de vírus;
✗ Analisar os arquivos que estão sendo obtidos pela Internet; verificar
continuamente os discos de forma transparente ao usuário;
✗ Atualizar a lista de vírus conhecidos, pela rede, de preferência
diariamente; ter funções de auto-atualização.
✗ Permitir a verificação e-mails enviados, podendo detectar e barrar a
propagação por e-mail de vírus e worms.
Alguns anti-vírus, além das funcionalidades acima referidas, ainda verificam o
funcionamento dos programas do seu computador, avisando o utilizador; caso algum
programa comece a apresentar algum comportamento suspeito.
São sugeridos alguns procedimentos para manter o bom funcionamento de
um antivírus, de acordo com o sítio Linha Defensiva (2010):
✗ Mantenha-o sempre atualizado;
✗ Configure-o para verificar automaticamente arquivos anexados aos e-
mails e arquivos obtidos pela Internet;
✗ Configure-o para verificar automaticamente mídias removíveis (DVDs,
Blu Rays, Pen drives, HDs externo);
✗ Configure-o para verificar todo e qualquer formato de arquivo (qualquer
tipo de extensão de arquivo);
✗ Se for possível, crie o disquete de verificação e utilize-o
30 Notação legível por humanos para o código de máquina que uma arquitetura de computador específica usa.
81
esporadicamente, ou quando seu computador estiver apresentando um
comportamento anormal (mais lento, gravando ou lendo o disco rígido fora de
hora, etc.);
Existem muitas opções de antivírus gratuitos (freeware) no mercado,
podemos citar como exemplos: Avira, AVG, Avast , BitDefender, entre outros.
2.5.3.1 Quarentena
Segundo o sitio da Linha Defensiva (2009):
A Quarentena é uma pasta especial onde o antivírus guarda os arquivos maliciosos que não puderam ser desinfectados. Cavalos de tróia e worms geralmente não infectam arquivos, isto é, não vivem como parasitas e portanto não podem ser “desinfectados”. Como o antivírus não consegue determinar isso, ele os move para a Quarentena, onde os códigos maliciosos são desativados. O objetivo disso é possibilitar a recuperação dos arquivos, caso os mesmos precisem ser usados para a recuperação de dados. (LINHA DEFENSIVA, 2009)
A Quarentena também é útil no caso do usuário decidir recuperar os arquivos
por algum motivo pessoal, pois todos os arquivos ali gravados tem a possibilidade
de recuperação. Em qualquer outro caso, os arquivos presentes na quarentena
podem ser seguramente removidos para liberar espaço em disco.
2.5.4 Backup e Restore
Sistemas de backup são métodos de segurança de dados que garante o
acesso às informações, ou seja, fazer uma cópia do arquivo original garantindo a
continuidade do trabalho em caso de perdas, desastres ou falhas dos dispositivos de
armazenamento. Armazenar os dados de forma segura e consistente pode ser vital
para o futuro da empresa e com um plano de ação adequado e procedimentos
corretos de backup e recovery, é possível diminuir e muito o impacto dessas
82
situações. Cabe ressaltar que nenhuma estratégia de backup atende a todos os
sistemas, ou seja, uma estratégia que venha a ser adequada em determinado
sistema pode ser imprópria em outro, sendo assim cabe ao administrador definir o
plano e os procedimentos que melhor se adequarem em cada situação.
Numa politica de backup e recovery é necessário realizar manutenção para
verificar se o trabalho realmente está sendo feito, uma maneira eficaz de se fazer
isso é manter os backups atualizados e métodos de recuperação dos dados
previamente testados.
Convém que copias de segurança de dados e de softwares essenciais ao negócio sejam feitas regularmente. Convém que recursos e instalações alternativos sejam disponibilizados de forma a garantir que todos os dados e sistemas aplicativos essenciais ao negócio possam ser recuperados após um desastre ou problema com mídias. Convém que sejam testados regularmente os backups de sistemas individuais, de maneira a garantir que satisfaçam os requisitos dos planos de continuidade de negócios. (SOBRAL, 2009)
A implementação de uma estratégia de backup e armazenamento deverá
considerar uma série de aspectos tais como: Massa de Dados; Tempo de
armazenamento e dispositivos; Mídia de armazenamento; Implementação de
políticas de armazenamento, utilização e conservação das mídias de
armazenamento; Implementação de políticas de recuperação de desastres que
permitem a reinstalação de um sistema operacional em minutos (disaster recovery);
Replicação incremental de dados para servidores remotos através de linhas
dedicadas de baixa velocidade (replicação de dados).
Anos atrás gravar os dados em fita era a norma para a maioria das empresas,
muito usada por causa da confiabilidade, capacidade e custo das fitas. Atualmente,
o uso de fitas caiu em desuso devido o aparecimento de novas tecnologias de
backup sendo elas:
✗ Através de mídias (CDs, DVDs e discos rígidos removíveis), mais
utilizados em empresas de pequeno e algumas de médio porte.
✗ Serviços automáticos de backup de dados pela Internet, onde os dados
são enviados via upload para servidores dedicados e seguros.
✗ E também uma tecnologia conhecida como backup disco-para-disco
(ou D2D), fácil de gerenciar, permite visualizar, acessar e mudar as suas
83
informações mais rapidamente do que outras formas de backup.
Cada método tem suas vantagens e desvantagens:
MÍDIA SERVIÇO DISCO-PARA-DISCO
CUSTO Barato Caro Caro
VELOCIDADE Lento Lento Rápido
VANTAGEM Testado e Aprovado Fora do local de trabalho
Fácil
Tabela: Características de Backup
Existem dois tipos de backup, sendo eles físicos e lógicos.
Os backups físicos são os locais onde estão guardadas todas as informações do banco de dados. Geralmente essas unidades são chamadas de "fitas de backup", apresentando uma grande capacidade de armazenamento físico, podendo ser reposto a qualquer momento. Já o backup lógico é apenas o "salvamento" dos dados do banco de dados, porém não será armazenado em forma física e sim virtual. (Malima Consultoria, 2004)
O recovery, como o nome já define recuperação, tem como objetivo a
recuperação dos arquivos do sistema, quando o backup foi efetuado, as cópias de
segurança dos dados estão disponíveis em um outro local, seja físico ou virtual.
Então através do recovery os dados são recuperados e repostos no sistema de
forma que o mesmo fique no formato anterior ao problema ou falha ocorrido.
84
3 SISTEMA DE GERENCIAMENTO DE TAREFAS
O software constitui-se em um sistema responsável por um ambiente de
administração de rede de pequeno porte, onde o administrador poderá criar
solicitações de serviços (tarefas) a serem realizados por seus funcionários
(técnicos). Ao ser criada a tarefa, a mesma ficará com estado em aberto, com data
de início e término previstos, para que o técnico responsável possa realizá-la. A
partir de então o administrador deve alterar o status para “em andamento”, obtendo
assim um gerenciamento sobre as mesmas. Tarefas podem ser finalizadas, quando
procedimento houver terminado ou não existir mais necessidade.
3.1 Objetivos do Sistema
O principal objetivo é criar um sistema que seja utilizado para suprir as
necessidades de registros de tarefas relacionadas a gerenciamento da segurança de
computadores. Objetivos secundários como a economia de tempo e a organização
também são visadas como melhorias, com o desenvolver do sistema. Todo modelo
criado visa uma maior interação do técnico com o sistema, de maneira prática e ágil.
Sendo assim pretende-se oferecer um sistema free, ou seja, gratuito que
possa auxiliar e organizar a execução de uma gama de tarefas rotineiras a serem
realizadas na área de suporte a computação em uma empresa, portanto a mesma
ganhará um maior controle não somente de suas tarefas de segurança, mas
também no tempo gerenciado para as ações, pois estarão usufruindo de um meio
automatizado capaz de garantir maior agilidade e aumentar o rendimento do
trabalho.
85
3.2 Softwares relacionados
Pesquisas foram feitas buscando softwares com a mesma funcionalidade,
mas nenhum software foi encontrado. Sendo assim o sistema não foi baseado ou
comparado com qualquer outro software, sendo seu desenvolvimento baseado nas
necessidades relatadas por técnicos de informática responsáveis pela segurança de
redes e de computadores em empresas (CTIS Tecnologia, AMA Sistemas e a GTI -
Gerência de tecnologia da informação do IFF) e segundo métodos e práticas de
segurança da informação.
A existência de aplicativos para gerenciamento de tarefas é evidente.
Entretanto, percebe-se que estes aplicativos normalmente possuem uma estrutura
complexa, como o aplicativo MENTOR. Devido a isto, o SGT visa ser um aplicativo
direcionado a área de segurança, e com uma interface simples e veloz, não
necessitando de muito tempo do operador do sistema.
3.3 Tecnologias Utilizadas
O sistema foi desenvolvido utilizando o Ruby on Rails (ROR), que é uma
tecnologia projetada para desenvolver sistemas web dinâmicos e com suporte a
banco de dados.
O ROR é um framework escrito na poderosa linguagem de programação
Ruby, o que pode explicar a origem do nome, esta é uma linguagem que surgiu na
década de 90, no Japão, criada por Yukihiro Matsumot, conhecido mundialmente
como Matz. É uma linguagem puramente orientada a objetos, pois em Ruby tudo é
considerado um objeto, com tipagem forte, dinâmica e interpretada, tem como uma
de suas principais características a sua expressividade, ou seja, pretende ser muito
simples de ler e ser entendida, facilitando assim o desenvolvimento e manutenção
de sistemas escritos com ela.
O Ruby on Rails foi criado pensando na agilidade e praticidade que ele
proporciona na hora de escrever os aplicativos para web, portanto tem como objetivo
86
permitir o desenvolvimento ágil, com alta produtividade, ou seja, escrevendo poucas
linhas de código e tendo muito resultado como consequência. Para alcançar estes
objetivos o ROR tem como pilares dois conceitos. O Don't Repeat Yourself (DRY),
que prevê a não repetição de código e sim a modularização do mesmo. E o conceito
de Convention of Configuration (COC), que indica a configuração por exceção, ou
seja, o desenvolvedor utiliza os padrões oferecidos pelo Rails, e configura apenas o
que está fora dos padrões.
A arquitetura do sistema é baseada no padrão de projeto arquitetural MVC
(Model, View, Controller), que consiste em separar seus modelos, visualizações e
lógicas nestas três camadas, obtendo assim um ganho de produtividade e facilidade
em mudanças e manutenção.
O Sistema de Gerenciamento de Banco de Dados (SGBD) utilizado, foi o
MySQL, que é gratuito e de código aberto. Além de facilitar a manipulação dos
dados, e ter suporte a várias plataformas.
3.4 Levantamento dos Requisitos
Requisito Descrição
REQ01Sistema deve permitir ao Administrador manter técnico, podendo inserir, consultar, alterar ou excluir. Técnicos são cadastrados com nome, sexo e telefone.
REQ.02
Sistema deve permitir ao Administrador manter tarefa, podendo inserir, consultar, alterar ou excluir. Tarefas são cadastradas com descrição, prioridade, data de inÍcio da tarefa, previsão de tÉrmino, status, técnico responsável, laboratório a ser executada a tarefa e o tipo de tarefa que deve ser um cadastro auxiliar.
REQ.03Sistema deve permitir ao Administrador manter laboratório, podendo inserir, consultar, alterar ou excluir. Laboratórios são cadastrados apenas com o nome.
REQ.04 Sistema deve permitir ao Administrador manter computador, podendo inserir, consultar, alterar ou excluir. Computadores são cadastrados com
87
nome, IP do computador e o laboratório onde ele se encontra.
REQ.05
Sistema deve permitir ao Administrador manter incidente, podendo inserir, consultar, alterar ou excluir. Incidentes são cadastrados com descrição, data de ocorrência do incidente, tipo de incidente que deve ser um cadastro auxiliar, computador e laboratório no qual o incidente ocorreu.
REQ.06 Sistema permite ao Administrador visualizar os itens já cadastrados.
REQ.07 Sistema deve gerar relatório exibindo as tarefas finalizadas.
REQ.08
Sistema deve gerar relatório exibindo os tipos de incidentes ocorridos, com a opção de visualizar os detalhes de todos os incidentes de acordo com a escolha do Administrador.
REQ.09
Sistema deve permitir ao Administrador a visualização das tarefas com status “em Aberto”, com a opção de iniciar a tarefa, trocando assim seu status para “em Andamento”.
REQ.10
Sistema deve permitir ao Administrador a visualização das tarefas com status “em Andamento”, com a opção de finalizar a tarefa, trocando assim seu status para “Finalizada”.
88
3.4 Diagrama de Casos de Uso
Figura 5: Diagrama de Casos de Uso
3.5 Descrição dos Casos de Uso
Caso de Uso: Manter Computador
Atores: Administrador
Pré-condições: O administrador deve estar no sistema
Descrição: O objetivo é cadastrar, alterar, remover e listar computadores no sistema
Fluxo Principal: Cadastrar computador1 – O administrador acessa o link para cadastro do computador;2 – O sistema exibe o formulário com todos os campos necessários;3 – O administrador insere os dados solicitados;4 – Sistema confirma dados informados;5 – Sistema inclui novo computador na base de dados.
Fluxos Alternativos:
89
A1 [P1]: Excluir computador. 1 – O administrador clica no link para exclusão do computador desejado;2 – Sistema solicita confirmação da exclusão;3 – Administrador confirma pergunta;4 – O sistema exclui o computador informado da base de dados. A2 [P1]: Editar Computador 1 – O administrador clica no link para editar computador desejado;2 – Sistema retorna tela com dados do computador;3 – Administrador efetua alterações necessárias;4 – O sistema confirma os dados alterados;5 – O sistema salva as informações na base de dados.
A3 [P1] : Listar Computador1 – O administrador clica no link para listar computadores;2 – Sistema retorna lista com computadores cadastrados na base de dados.
Exceções: E1 [P3]: Dados inválidos1 – Se dado inserido for inválido, sistema indica campo inválido.E2 [A2.4]: Dados inválidos1 – Se dado inserido for inválido, sistema indica campo inválido.
Pós-condições: O computador é cadastrado, alterado, excluído ou listado no sistema, mediante fluxo seguido.
Caso de Uso: Manter Laboratório
Atores: Administrador
Pré-condições: O administrador deve estar no sistema
Descrição: O objetivo é cadastrar, alterar, remover e listar laboratórios no sistema
Fluxo Principal: Cadastrar laboratório1 – O administrador acessa o link para cadastro de laboratório;2 – O sistema exibe o formulário com todos os campos necessários;3 – O administrador insere os dados solicitados;4 – Sistema confirma dados inseridos;5 – Sistema inclui novo laboratório na base de dados.
Fluxos Alternativos:A1 [P1]: Excluir laboratório 1 – O administrador clica no link para exclusão do laboratório desejado;2 – Sistema solicita confirmação da exclusão;3 – Administrador confirma pergunta;4 – O sistema exclui o laboratório informado da base de dados. A2 [P1]: Editar laboratório1 – O administrador clica no link para editar laboratório desejado;
90
2 – Sistema retorna tela com dados do laboratório;3 – Administrador efetua alterações necessárias;4 – O sistema confirma os dados alterados;5 – O sistema salva as informações na base de dados.
A3 [P1] : Listar laboratório1 – O administrador clica no link para listar laboratórios;2 – Sistema retorna lista com laboratórios cadastrados na base de dados;
Exceções:E1 [P3]: Dados inválidos1 – Se dado inserido for inválido, sistema indica campo inválido.E2 [A2.4]: Dados inválidos1 - Se dado inserido for inválido, sistema indica campo inválido.
Pós-condições: O laboratório é cadastrado, alterado, excluído ou listado no sistema, mediante fluxo seguido.
Caso de Uso: Manter Técnico
Atores: Administrador
Pré-condições: O administrador deve estar no sistema
Descrição: O objetivo é cadastrar, alterar, remover e listar técnicos no sistema
Fluxo Principal: Cadastrar técnico1 – O administrador acessa o link para cadastro do técnico;2 – O sistema exibe o formulário com todos os campos necessários;3 – O administrador insere os dados solicitados;4 – Sistema confirma dados informados;5 – Sistema inclui novo técnico na base de dados.
Fluxos Alternativos:A1 [P1]: Excluir técnico 1 – O administrador clica no link para exclusão do técnico desejado;2 – Sistema solicita confirmação da exclusão;3 – Administrador confirma pergunta;4 – O sistema exclui o técnico informado da base de dados. A2 [P1]: Editar técnico1 – O administrador clica no link para editar técnico desejado;2 – Sistema retorna tela com dados do técnico;3 – Administrador efetua alterações necessárias;4 – O sistema confirma os dados alterados;5 – O sistema salva as informações na base de dados.
A3 [P1] : Listar técnico1 – O administrador clica no link para listar técnicos;2 – Sistema retorna lista com técnicos cadastrados na base de dados.
91
Exceções: E1 [P3]: Dados inválidos1 – Se dado inserido for inválido, sistema indica campo inválido.E2 [A2.4]: Dados inválidos1 - Se dado inserido for inválido, sistema indica campo inválido.
Pós-condições: O técnico é cadastrado, alterado, excluído ou listado no sistema, mediante fluxo seguido.
Caso de Uso: Manter Tipo de Incidente
Atores: Administrador
Pré-condições: O administrador deve estar no sistema
Descrição: O objetivo é cadastrar, alterar, remover e listar Tipos de Incidente no sistema
Fluxo Principal: Cadastrar tipo de incidente1 – O administrador acessa o link para cadastro do tipo de incidente;2 – O sistema exibe o formulário com todos os campos necessários;3 – O administrador insere os dados solicitados;4 – Sistema confirma dados informados;5 – Sistema inclui novo tipo de incidente na base de dados.
Fluxos Alternativos:A1 [P1]: Excluir tipo de incidente 1 – O administrador clica no link para exclusão do tipo de incidente desejado;2 – Sistema solicita confirmação da exclusão;3 – Administrador confirma pergunta;4 – O sistema exclui o tipo de incidente informado da base de dados. A2 [P1]: Editar tipo de incidente1 – O administrador clica no link para editar tipo de incidente desejado;2 – Sistema retorna tela com dados do tipo de incidente;3 – Administrador efetua alterações necessárias;4 – O sistema confirma os dados alterados;5 – O sistema salva as informações na base de dados.
A3 [P1] : Listar tipo de incidente1 – O administrador clica no link para listar tipos de incidente;2 – Sistema retorna lista com tipos de incidente cadastrados na base de dados.
Exceções: E1 [P3]: Dados inválidos1 – Se dado inserido for inválido, sistema indica campo inválido.E2 [A2.4]: Dados inválidos1 - Se dado inserido for inválido, sistema indica campo inválido.
Pós-condições: O tipo de incidente é cadastrado, alterado, excluído ou listado no sistema, mediante fluxo seguido.
92
Caso de Uso: Manter Tipo de Tarefa
Atores: Administrador
Pré-condições: O administrador deve estar no sistema
Descrição: O objetivo é cadastrar, alterar, remover e listar Tipos de Tarefa no sistema
Fluxo Principal: Cadastrar tipo de tarefa1 – O administrador acessa o link para cadastro do tipo de tarefa;2 – O sistema exibe o formulário com todos os campos necessários;3 – O administrador insere os dados solicitados;4 – Sistema confirma dados informados;5 – Sistema inclui novo tipo de tarefa na base de dados.
Fluxos Alternativos:A1 [P1]: Excluir tipo de tarefa 1 – O administrador clica no link para exclusão do tipo de tarefa desejado;2 – Sistema solicita confirmação da exclusão;3 – Administrador confirma pergunta;4 – O sistema exclui o tipo de tarefa informado da base de dados. A2 [P1]: Editar tipo de tarefa1 – O administrador clica no link para editar tipo de tarefa desejado;2 – Sistema retorna tela com dados do tipo de tarefa;3 – Administrador efetua alterações necessárias;4 – O sistema confirma os dados alterados;5 – O sistema salva as informações na base de dados.
A3 [P1] : Listar tipo de tarefa1 – O administrador clica no link para listar tipos de tarefa;2 – Sistema retorna lista com tipos de tarefa cadastrados na base de dados.
Exceções: E1 [P4]: Dados inválidos1 – Se dado inserido for inválido, sistema indica campo inválido.E2 [A2.4]: Dados inválidos1 - Se dado inserido for inválido, sistema indica campo inválido.
Pós-condições: O tipo de tarefa é cadastrado, alterado, excluído ou listado no sistema, mediante fluxo seguido.
Caso de Uso: Cadastrar Tarefa
Atores: Administrador
Pré-condições: O administrador deve estar no sistema
Descrição: O objetivo é cadastrar tarefas no sistema
Fluxo Principal: Cadastrar tarefa1 – O administrador acessa o link para cadastro de tarefa;2 – O sistema exibe o formulário com todos os campos necessários;
93
3 – O administrador insere os dados solicitados;4 – Sistema confirma dados informados;5 – Sistema inclui nova tarefa na base de dados.
Exceções: E1 [P4]: Dados inválidos1 – Se dado inserido for inválido, sistema indica campo inválido.
Pós-condições: A tarefa é cadastrada no sistema.
Caso de Uso: Cadastrar Incidente
Atores: Administrador
Pré-condições: O administrador deve estar no sistema
Descrição: O objetivo é cadastrar incidentes no sistema
Fluxo Principal: Cadastrar incidente1 – O administrador acessa o link para cadastro de incidente;2 – O sistema exibe o formulário com todos os campos necessários;3 – O administrador insere os dados solicitados;4 – Sistema confirma dados informados;5 – Sistema inclui nova tarefa na base de dados.
Exceções: E1 [P4]: Dados inválidos1 – Se dado inserido for inválido, sistema indica campo inválido.
Pós-condições: O incidente é cadastrado no sistema.
94
3.6 Diagrama de Classes
Figura 6: Diagrama de Classes
95
3.7 Diagrama de Banco de Dados
Figura 7: Diagrama de Entidade e Relacionamentos (Banco de Dados)
3.8 Telas do Sistema
Seguem abaixo algumas imagens de funcionalidades do sistema, e suas
respectivas descrições:
96
Figura 8: Tela Inicial
Tela inicial do sistema, onde são disponibilizadas informações das tarefas
abertas e em andamento. A esquerda encontra-se o menu para acesso as demais
opções do programa. No centro tem-se a funcionalidade de alterar o status das
tarefas de acordo com a necessidade do administrador.
Figura 9: Cadastro de dados
Na tela de cadastro tem-se os respectivos formulários, para preenchimento
das informações a serem cadastradas pelo sistema. Esta tela se aplica também aos
demais cadastros, sendo diferenciados de acordo com o item a ser cadastrado.
97
Figura 10: Edição de dados
Na tela de edição o administrador pode alterar informações incorretas, assim
como acrescentar novos dados.
98
Figura 11: Listagem dos Elementos
Na tela principal de cada item, tem-se a listagem dos itens cadastrados, com
as opções de visualização dos detalhes, edição (citado anteriormente) e remoção.
Figura 12: Lista de Incidentes
Na tela de incidentes ocorridos, é exibido todos os tipos de incidentes, e um
link com a opção de visualizar o relatório de incidentes de acordo com a escolha do
99
administrador.
Figura 13: Relatório de Incidentes
A tela de relatório de incidente mostra as informações de todos os incidentes
ocorridos, sendo disponibilizada a descrição, laboratório, computador e a data do
incidente de determinado tipo.
CONCLUSÃO
Com base no conteúdo apresentado neste trabalho, vários métodos,
ferramentas e políticas foram mostrados, junto ao desenvolvimento de um sistema
para auxiliar na praticidade de tais ações, visando minimizar, e até impedir falhas de
segurança da informação, em suas diversas áreas, obtendo assim a eficácia
desejada ao responsável pela segurança de uma determinada corporação.
Estas orientações, quando realizadas de maneira adequada, servem para
garantir e prevenir a segurança da informação em corporações, que atualmente são
muito de grande interesse dos atacantes, devido a grande importância da
informação nos dias atuais.
O profissional de segurança, responsável pelas ações defensivas realizadas
na área computacional da empresa, tem de exercer inúmeras atividades
relacionadas ao correto gerenciamento, a fim de garantir a integridade das
informações. Devido a isso, a necessidade de uma ferramenta que possa auxiliar
este profissional vem se tornando visível, para que seja possível uma maior
organização e controle sobre as ações necessárias.
Neste projeto foi acrescentado também a implementação de um software
cujo objetivo é auxiliar este profissional no seu dia-a-dia, através do gerenciamento
de tarefas, bem como a organização necessária para realizar as ações com tempo e
hora previstos.
Este trabalho provê maior eficiência para o profissional ligado a segurança,
pois permite ao mesmo criar e gerenciar suas tarefas diárias, e desta forma obter um
maior conforto, estabilidade, velocidade e controle sobre os afazeres a serem
realizados na corporação.
Além das funções já funcionais existentes no sistema, tem-se a
possibilidade de expansão do mesmo, onde novas funcionalidades serão
incrementadas ao projeto, de forma a detalhar melhor as tarefas, como também
obter maiores informações, não somente referente as tarefas realizadas, mas
também os incidentes confirmados e registrado no sistema. Para isso, funções como
filtragem de relatórios, a fim de obter informações mais detalhadas sobre o
procurado, e ordenação das informações, são fatores que podem vir a ser
101
acrescidos a aplicação, tornando-a mais eficiente e eficaz.
Sendo assim, infere-se que a segurança da informação é um processo
contínuo, que deve ser parte das atividades da empresa, sempre com o objetivo de
atender seus requisitos básicos, que são a integridade, a disponibilidade, e a
confiabilidade. Desta forma, um aplicativo para auxiliar neste trabalho, torna-se
essencial.
REFERÊNCIAS
ABN. Microsoft e Adobe reparam falhas de segurança e pedem usuários para
atualizar os aplicativos de segurança. 2010. Disponível em:
<http://www.abn.com.br/editorias1.php?id=61186>. Acesso em: 09 jun. 2010.
AFRICA, Tevora South. A rede da sua empresa está segura? 2010. Disponível
em: <http://www.tevora.com.br/Teste.aspx>. Acesso em: 08 jun. 2010.
ALECRIM, Emerson. Ataques DoS (Denial of Service) e DDoS (Distributed DoS).
2004. Disponível em: <http://www.infowester.com/col091004.php>. Acesso em: 29
abr. 2010.
ALECRIM, Emerson. Firewall: conceitos e tipos. 2004. Disponível em:
<http://www.infowester.com/firewall.php>. Acesso em: 06 abr. 2010.
ALECRIM, Emerson. Vírus de computador: o que são e como agem. 2003.
Disponível em: <http://www.infowester.com/virus.php>. Acesso em: 09 maio 2010.
ARANHA, Diego de Freitas. Tomando o controle deprogramas vulneráveis a
buffer overflow. 2003. Disponível em:
<http://www.cic.unb.br/~pedro/trabs/buffer_overflow.htm>. Acesso em: 04 jun. 2010.
ARAÚJO, Everson Santos. Introdução à Segurança da Informação. 2008.
Disponível em: <http://everson.com.br/Introducao-Seguranca-da-Informacao>.
Acesso em: 24 mar. 2010.
ARGENTI, Paul A.. O desafio de proteger a reputação. 2005. Disponível em:
<http://www.cegente.com.br/artigos/info_artigo.asp?cod=2021>. Acesso em: 06 abr.
2010.
BARWINSKI, Luísa. O que é rootkit? 2009. Disponível em:
103
<http://www.baixaki.com.br/info/2174-o-que-e-rootkit-.htm>. Acesso em: 11 maio
2010.
BOGO, Kellen Cristina. A História da Internet - Como Tudo Começou... 2000.
Disponível em: <http://www.kplus.com.br/materia.asp?co=11&rv=Vivencia>. Acesso
em: 24 mar. 2010.
CARNEIRO, Paula. LAN MAN WAN. 2004. Disponível em:
<http://redescomputadores.no.sapo.pt/lanmanwan.htm>. Acesso em: 24 mar. 2010.
CARVALHO, João Antônio. Redes de Computadores – Noções Básicas. 2009.
Disponível em: <http://www.algosobre.com.br/informatica/redes-de-computadores-
nocoes-basicas.html>. Acesso em: 25 abr. 2010.
CASSA, Mônica. A importância e a implementação da segurança da informação
no âmbito das atividades de negócios. 2010. Disponível em:
<http://www.techoje.com.br/site/techoje/categoria/detalhe_artigo/221>. Acesso em:
28 mar. 2010.
CIRIACO, Douglas. O que é Keylogger? 2007. Disponível em:
<http://www.baixaki.com.br/info/1016-o-que-e-keylogger-.htm>. Acesso em: 10 maio
2010.
CLARK, Joshua. Como funciona a criptologia quântica. 2010. Disponível em:
<http://informatica.hsw.uol.com.br/criptologia-quantum1.htm>. Acesso em: 29 abr.
2010.
COMPUTE-RS. Como Um Port Scan Works. 2010. Disponível em:
<http://www.compute-rs.com/pt/conselho-733824.htm>. Acesso em: 29 abr. 2010.
COMPUTE-RS. Os diferentes tipos de malware. 2010. Disponível em:
<http://www.compute-rs.com/pt/conselho-2465034.htm>. Acesso em: 09 maio 2010.
104
CONSTATTI. A Política de Segurança da Informação. 2009. Disponível em:
<http://www.constatti.com.br/?p=984>. Acesso em: 09 jun. 2010.
CORESEC. Certificações. 2010. Disponível em:
<http://www.coresec.com.br/certificacoes.asp>. Acesso em: 09 abr. 2010.
DEFENSIVA, Linha. FAQ sobre Antivírus e Anti-Spyware. 2010. Disponível em:
<http://www.linhadefensiva.org/faq/antivirus-antispyware/#antivirus-01>. Acesso em:
05 abr. 2010.
DUARTE, Otto Carlos Muniz Bandeira. Denial of Service - Negação de Serviço.
2009. Disponível em: <http://www.gta.ufrj.br/grad/06_1/dos/intro.html>. Acesso em:
29 abr. 2010.
FALEIROS, Herbert Alexander. Introdução à Criptografia. 2005. Disponível em:
<http://faleiros.eti.br/files/cripto_1.txt>. Acesso em: 17 jun. 2010.
FAUSTINI, Rodrigo. POLÍTICA DE SEGURANÇA DA INFORMAÇÃO. 2010.
Disponível em: <http://www.faustiniconsulting.com/artigo05.htm>. Acesso em: 08 jun.
2010.
FRANZON, Juliana. Brasil lidera ataques web a contas bancárias. 2010.
Disponível em: <http://www.baguete.com.br/noticias/internet/26/03/2010/brasil-lidera-
ataques-web-a-contas-bancarias>. Acesso em: 27 mar. 2010.
GIL, Antonio de Loureiro. Auditoria de Computadores. 1999. f. Livro.
GIL, Antonio de Loureiro. Segurança Máxima. 2001. f. Livro.
GREENEMEIER, Larry. Segurança virtual alerta para 25 maiores falhas de
programação. 2009. Disponível em:
105
<http://www2.uol.com.br/sciam/noticias/seguranca_virtual_alerta_para_25_maiores_f
alhas_de_programacao.html>. Acesso em: 07 jun. 2010.
MEIRELLES, Adriando Aurélio. Cracker. 2010. Disponível em:
<http://www.guiadohardware.net/termos/cracker>. Acesso em: 05 maio 2010.
GUILHERME JUNIOR,. Entendendo o que é Engenharia Social. 2006. Disponível
em: <http://www.vivaolinux.com.br/artigo/Entendendo-o-que-e-Engenharia-Social>.
Acesso em: 09 maio 2010.
GUIMARÃES, Matuzalém. Métodos de Ataque. 2009. Disponível em:
<http://www.vivaolinux.com.br/artigo/SSH-Metodos-e-ferramentas-para-invasao/>.
Acesso em: 29 abr. 2010.
HAT, Red. Red Hat Enterprise Linux 4 - Guia de Segurança. Web. Disponível em:
<http://www.uefs.br/erbase2004/.../Wticgbase2004ArtigoIC005.pdf>. Acesso em: 07
abr. 2010.
KACUTA, Luiz; ROMERO, Luiz; OLIVEIRA, Viviane. Tipos de Ataques. 2010.
Disponível em 03 jun. 2010.
KIOSKEA.NET. Administrador de Redes. 2009. Disponível em:
<http://pt.kioskea.net/contents/metiers-informatique/administrateur-reseau.php3>.
Acesso em: 06 abr. 2010.
KIOSKEA. Introdução aos ataques. 2009 Disponível em:
<http://pt.kioskea.net/contents/attaques/attaques.php3>. Acesso em: 24 maio 2010.
KIOSKEA.NET. O conceito de rede. 2009. Disponível em:
<http://pt.kioskea.net/contents/initiation/concept.php3>. Acesso em: 24 mar. 2010.
KRETCHEU, Paulo. Técnicas Hackers para intrusão e proteção de redes. 2010.
106
Disponível em: <http://www.invasao.com.br/2010/01/09/curso-de-tecnicas-de-
intrusao-hackers/>. Acesso em: 15 abr. 2010.
KOCH, Daniel. Como funciona a cabeça de um hacker. Disponível em:
<http://informatica.hsw.uol.com.br/cabeca-de-hacker.htm>. Acesso em: 15 maio
2010.
LAUREANO, Marcos Aurélio Pchek. Gestão em segurança da Informação. 2010.
Disponível em: 02 de abril de 2010
MAURÉLIO. Backup e Restore. 2004. Disponível em:
<http://www.malima.com.br/article_read.asp?id=33>. Acesso em: 14 jun. 2010.
MEDEIROS, Carlos Diego Russo. Implantação de Medidas e Ferramentas de
Segurança da Informação. 2010.Disponível em 03 de abril de 2010.
MENEZES, Leonardo. Como funcionam os trojans. 2007. Disponível em:
<http://www.guiadohardware.net/dicas/como-funcionam-trojans.html>. Acesso em:
10 maio 2010.
MENEZES, Leonardo. Scanners de porta: o que são e para que servem. 2008.
Disponível em: <http://www.guiadohardware.net/dicas/scanners-porta.html>. Acesso
em: 05 jun. 2010.
MICROSOFT. Por que usar um firewall de computador. 2004. Disponível em:
<http://www.microsoft.com/brasil/athome/security/viruses/fwbenefits.mspx>. Acesso
em: 06 abr. 2010.
MILAGRE, José. Perícia Computacional: Análise e Integridade de Logs em
Sistemas Windows. 2008. Disponível em:
<http://imasters.uol.com.br/artigo/10292/direito/pericia_computacional_analise_e_int
egridade_de_logs_em_sistemas_windows/>. Acesso em: 11 jun. 2010.
107
MORAES, Paulo. PSI - Politica de Segurança da Informação. 2010. Disponível
em: <http://segurancalinux.com/artigo/PSI-Politica-de-Seguranca-da-Informacao?
pagina=2>. Acesso em: 08 jun. 2010.
MOTA, Fernando Antônio; CAVALCANTI, Rodrigo. Um estudo sobre criptografia e
assinatura digital. 2008. Disponível em:
<http://www.di.ufpe.br/~flash/ais98/cripto/criptografia.htm>. Acesso em: 05 jun. 2010.
NG, Paulino. RFC2196: Site Security Handbook: 2. Políticas de Segurança.
2009. Disponível em: <http://www.pucsp.br/~paulino/dicas/rfc2196/polit.html>.
Acesso em: 11 jun. 2010.
NUNES, Paulo. Conceito de WLAN. 2009. Disponível em:
<http://www.knoow.net/ciencinformtelec/informatica/wlan.htm>. Acesso em: 24 mar.
2010.
OLIVEIRA, Wilson. Técnicas para Hackers - Soluções para Segurança. 2010.
Disponível em: <http://www.centroatlantico.pt/titulos/tecnologias/imagens/excerto-ca-
hackerseseguranca-v2.pdf>. Acesso em: 17 jun. 2010.
REAL, Victor Kraide Corte. História da Comunicação. 2008. Disponível em: <http://
www.slideshare.net/realvic/histria-da-comunicao-aula-7-rdio>. Acesso em: 24 mar.
2010.
REIS, Ademar de Souza. Projeto Sniffdet – Detecção remota de Sniffers. 2003.
Disponível em: <www.ademar.org/texts/sniffdet/HTML>. Acesso em: 01 jun. 2010.
ZAPATER, Marcio; SUZUKI, Rodrigo. Segurança da Informação: Um diferencial
determinante na competitividade das corporações. 2005. Disponível em 24 de
março de 2010)
REZENDE, Denis A. Planejamento de Sistemas de Informação e Informática:
108
guia prático para planejar a tecnologia da informação integrada ao planejamento estratégico das organizações. 3ª Ed. São Paulo: Atlas, 2008.
RODRIGUES, Anderson. Método para quebra de senha. 2010. Disponível em:
<http://andersoncbrodrigues.wordpress.com/2010/03/20/metodos-para-quebra-de-
senha/>. Acesso em: 01 jun. 2010.
ROHR, Altieres. Ataques de SQL Injection atingem sites brasileiros. 2008.
Disponível em: <http://www.linhadefensiva.org/2008/05/ataques-de-sql-injection-
atingem-sites-brasileiros/>. Acesso em: 02 maio 2010.
ROHR, Altieres. Conheça os especialistas em ‘brincar’ com a telefonia, os
phreakers. 2010. Disponível em:
<http://g1.globo.com/tecnologia/noticia/2010/05/conheca-os-especialistas-em-
brincar-com-telefonia-os-phreakers.html>. Acesso em: 31 maio 2010.
ROSS, Júlio. Redes de Computadores. 2008. Disponível em:
<http://books.google.com/books?id=mFhCHLDzaPgC&printsec=frontcover&hl=pt-
PT&source=gbs_navlinks_s#v=onepage&q&f=true>. Acesso em: 25 abr. 2010.
SANS. CWE/SANS TOP 25 Most Dangerous Programming Errors. 2010.
Disponível em: <http://www.sans.org/top25-programming-errors/#cat3>. Acesso em:
07 jun. 2010.
SANTANA, Lucas. Como elaborar uma política de segurança da informação.
2009. Disponível em: <http://www.profissionaisti.com.br/2009/06/como-elaborar-
uma-politica-de-seguranca-da-informacao-parte-i/>. Acesso em: 11 jun. 2010.
SANTOS, Alex Clauber Pimentel Dos. Introdução a Gestão de Redes de
Computadores. 2005. Disponível em:
<http://www.juliobattisti.com.br/tutoriais/alexsantos/gestaoredescomputadores001.as
p>. Acesso em: 24 mar. 2010.
109
SHARMA, Kapil. IP Spoofing. 2001. Disponível em: <http://www.gazetadolinux.com/
pr/lg/issue63/sharma.html>. Acesso em: 28 abr. 2010.
SHIREY, R.. Request for Coments: Internet Security Glossary. 2000. Disponível
em: <http://www.ietf.org/rfc/rfc2828.txt>. Acesso em: 26 mar. 2010.
SOARES, Luiz Fernando Gomes. Redes de Computadores - das LANS, MANS e
WANS às redes ATM. 1995. f. Livro.
SOBRAL, Adilson Benevides. Resumo da NBR17799. 2009. Disponível em: <http://
www.webartigos.com/articles/20197/1/SEGURANCA-DA-
INFORMACAO/pagina1.html>. Acesso em: 11 jun. 2010.
SOUSA JUNIOR, Rafael T.; PUTTINI, Ricardo S. Principais aspectos na
segurança de redes de computadores. 2010. Disponível em:
<http://www.redes.unb.br/security/firewall/introducao.html>. Acesso em: 30 mar.
2010.
SOUSA JUNIOR, Rafael T.; PUTTINI, Ricardo S. Principais aspectos na
segurança de redes de computadores. 2010. Disponível em:
http://www.redes.unb.br/security/introducao/aspectos.html. Acesso em: 30 mar.
2010.
SOUZA FILHO, Fernando. Decida seu tipo de Backup. 2009. Disponível em:
<http://pcmag.uol.com.br/conteudo.php?id=1099>. Acesso em: 11 jun. 2010.
SOUZA, Ranieri Marinho de. A importância da segurança física nas empresas.
2009. Disponível em: <http://blog.segr.com.br/2009/08/31/a-importancia-da-
seguranca-fisica-nas-empresas>. Acesso em: 07 abr. 2010.
SOUZA, Ranieri Marinho de. PenTest (Teste de Vulnerabilidade). 2010. Disponível
em: <http://www.securityhacker.org/artigos/320-pentest-teste-de-vulnerabilidade>.
110
Acesso em: 08 jun. 2010.
SYMANTEC. Malware: Como eles atacam. 2010. Disponível em:
<http://www.symantec.com/pt/br/norton/security_response/malware.jsp>. Acesso em:
09 maio 2010.
T. FILHO, Sócrates Arantes. Criptografia. 2010. Disponível em:
<http://socratesfilho.files.wordpress.com/2009/08/aula-0-criptografia-corrigido2.pdf>.
Acesso em: 17 jun. 2010.
Tabela de códigos ASCII. 2010. Disponível em: <http://www.tabelaascii.com/>.
Acesso em: 17 abr. 2010.
TANENBAUN, Andrew S. Redes de Computadores. 1994. f. Livro.
TEIXEIRA, Renata Cicilini. O que é spam? 2010. Disponível em:
<http://www.antispam.br/conceito/>. Acesso em: 22 maio 2010.
RAMOS, Eduardo. Analista de Segurança. 2006. Disponível em:
<http://www.timaster.com.br/revista/raiox/raiox.asp?prof=57&entrevista=nao>.
Acesso em: 04 abr. 2010.
VAZ, Tiago Bortoletto; CAMÕES, Tássia; ARAÚJO, Gorgonio. Sistemas de
Detecção de Intrusão Livres: suas limitações e uma arquitetura proposta sobre
concentração de mensagens e correlacionamento de eventos. 2004. Disponível
em: <http://www.uefs.br/erbase2004/.../Wticgbase2004ArtigoIC005.pdf>. Acesso em:
07 abr. 2010.
VIANA, William. Segurança de Redes. 2010. Artigo. (disponível em 19 de abril de
2010.)
WHITTAKER, James A.. Testes de penetração. 2008. Disponível em:
111
<http://msdn.microsoft.com/pt-br/magazine/cc507646.aspx>. Acesso em: 08 jun.
2010.
YAHOO. Não fale com estranhos (especialmente phishers). 2009. Disponível em:
<http://br.antispam.yahoo.com/phishing>. Acesso em: 11 maio 2010.
ZWICKY, E.; COOPER, S.; CHAPMAN, D.B. Building Internet Firewalls. 2000. f.
Livro.
Top Related