Anda di halaman 1dari 189

Copyright 2007, ESAB Escola Superior Aberta do Brasil

1











MDULO DE:

ESTRUTURA E FLUXO DA INFORMAO






AUTORIA:

GILBERTO OLIVEIRA





Copyright 2008, ESAB Escola Superior Aberta do Brasil


Copyright 2007, ESAB Escola Superior Aberta do Brasil

2
Mdulo de: Estrutura e Fluxo da Informao
Autoria: Gilberto Oliveira

Primeira edio: 2008




CITAO DE MARCAS NOTRIAS

Vrias marcas registradas so citadas no contedo deste mdulo. Mais do que simplesmente listar esses nomes
e informar quem possui seus direitos de explorao ou ainda imprimir logotipos, o autor declara estar utilizando
tais nomes apenas para fins editoriais acadmicos.
Declara ainda, que sua utilizao tem como objetivo, exclusivamente na aplicao didtica, beneficiando e
divulgando a marca do detentor, sem a inteno de infringir as regras bsicas de autenticidade de sua utilizao
e direitos autorais.
E por fim, declara estar utilizando parte de alguns circuitos eletrnicos, os quais foram analisados em pesquisas
de laboratrio e de literaturas j editadas, que se encontram expostas ao comrcio livre editorial.







Todos os direitos desta edio reservados
ESAB ESCOLA SUPERIOR ABERTA DO BRASIL LTDA
http://www.esab.edu.br
Av. Santa Leopoldina, n 840/07
Bairro Itaparica Vila Velha, ES
CEP: 29102-040
Copyright 2008, ESAB Escola Superior Aberta do Brasil


Copyright 2007, ESAB Escola Superior Aberta do Brasil

3
Apresentao
Este mdulo busca apresentar aos alunos de forma clara, atravs de figuras, grficos e
sistemas, o funcionamento da engenharia de informao, bem como, apresenta modelos de
desenvolvimento de sistemas de informao.
Ao longo das 30 unidades do mdulo, o aluno convidado a compreender o que
engenharia de informao atravs de atividades, exerccios e participao nos fruns.
Bons estudos !

Objetivo
Apresentar ao aluno os conceitos e formas de usar as ferramentas de planejamento em
engenharia de informao.

Ementa
Conhecimento dos aspectos conceituais e prticos sobre informaes aplicadas e Dados
como recurso de informaes da empresa. Interpretao de Sistemas de Informao,
recursos usados e classificao. Engenharia da Informao - modelos de desenvolvimento
de sistemas de informao; planejamento estratgico de informaes; modelagem de dados;
construo, implementao e manuteno de sistemas. Busca de compreenso de quais so
os aspectos de segurana necessrios aos sistemas de informao. Conhecimento da
estrutura de acesso aos dados e as vantagens e desvantagens do banco de dados, das


Copyright 2007, ESAB Escola Superior Aberta do Brasil

4
operaes crticas da manipulao de dados e definio de modelos de dados relacionais.
Conhecimento das estruturas (conceituais e prticas) de Rede Neural e estabelecimentos de
relaes que possam processar informaes com eficincia comparada ao Crebro.

Sobre o Autor
Especialista em Tecnologia e Gesto em Telecomunicaes (MBA Telecomunicaes) e
Informtica Educacional; graduado em Engenharia Eltrica (Bacharel) e Licenciatura Plena
em Informtica, Computao e Mecanografia e Processamento de Dados.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

5
SUMRIO
UNIDADE 1 .............................................................................................................................. 8
A INFORMAO................................................................................................................... 8
UNIDADE 2 ............................................................................................................................ 15
ENGENHARIA DA INFORMAO (EI) ............................................................................... 15
UNIDADE 3 ............................................................................................................................ 20
SISTEMA DE INTELIGNCIA ARTIFICIAL (IA) .................................................................. 20
UNIDADE 4 ............................................................................................................................ 26
REDE NEURAL ARTIFICIAL (RNA).................................................................................... 26
UNIDADE 5 ............................................................................................................................ 33
AGENTES INTELIGENTES EM REDES ............................................................................. 33
UNIDADE 6 ............................................................................................................................ 37
PROTOCOLO TCP/IP ......................................................................................................... 37
UNIDADE 7 ............................................................................................................................ 44
TRANSMISSION CONTROL PROTOCOL (TCP) e USER DATAGRAM PROTOCOL (UDP)
............................................................................................................................................ 44
UNIDADE 8 ............................................................................................................................ 49
PROTOCOLOS DE GERNCIA ......................................................................................... 49
UNIDADE 9 ............................................................................................................................ 55
RELACIONAMENTOS ADMINISTRATIVOS ...................................................................... 55
UNIDADE 10 .......................................................................................................................... 62
DISPOSITIVO REMOTE MONITORING (RMON)............................................................... 62
UNIDADE 11 .......................................................................................................................... 69
SERVIDOR PROXY ............................................................................................................ 69
Exemplo: ............................................................................................................................. 73
UNIDADE 12 .......................................................................................................................... 74
ESTRUTURA DE DADOS ................................................................................................... 74
UNIDADE 13 .......................................................................................................................... 80
LISTAS ENCADEADAS ...................................................................................................... 80


Copyright 2007, ESAB Escola Superior Aberta do Brasil

6
UNIDADE 14 .......................................................................................................................... 88
HASH .................................................................................................................................. 88
UNIDADE 15 .......................................................................................................................... 90
BANCO DE DADOS ............................................................................................................ 90
UNIDADE 16 .......................................................................................................................... 96
DADOS ............................................................................................................................... 96
UNIDADE 17 ........................................................................................................................ 103
RELACIONAMENTOS ...................................................................................................... 103
UNIDADE 18 ........................................................................................................................ 109
ENTIDADE DE RELACIONAMENTO ................................................................................ 109
UNIDADE 19 ........................................................................................................................ 115
MODELO RELACIONAL ................................................................................................... 115
UNIDADE 20 ........................................................................................................................ 122
ATRIBUTOS DE DADOS .................................................................................................. 122
UNIDADE 21 ........................................................................................................................ 130
OPERAES MATEMTICAS E CARTESIANAS ........................................................... 130
UNIDADE 22 ........................................................................................................................ 139
RVORES ......................................................................................................................... 139
UNIDADE 23 ........................................................................................................................ 145
SEGURANA DE INFORMAES .................................................................................. 145
UNIDADE 24 ........................................................................................................................ 151
O INIMIGO ........................................................................................................................ 151
UNIDADE 25 ........................................................................................................................ 156
ENGENHARIA SOCIAL ................................................................................................... 156
UNIDADE 26 ........................................................................................................................ 160
VRUS, WORMS E TROJANS .......................................................................................... 160
UNIDADE 27 ........................................................................................................................ 165
MEDIDAS DE SEGURANA ............................................................................................ 165
UNIDADE 28 ........................................................................................................................ 169
DoS ................................................................................................................................... 169
UNIDADE 29 ........................................................................................................................ 175
SISTEMAS ........................................................................................................................ 175


Copyright 2007, ESAB Escola Superior Aberta do Brasil

7
UNIDADE 30 ........................................................................................................................ 183
SISTEMAS DE DETECO DE INSTRUO DE HOST ................................................ 183
GLOSSRIO ........................................................................................................................ 185
BIBLIOGRAFIA .................................................................................................................... 186





Copyright 2007, ESAB Escola Superior Aberta do Brasil

8
UNIDADE 1
Objetivo: Conceituao de Informao, Fluxo, Dados, Engenharia da Informao, Sistemas,
Poder da Informao.
A INFORMAO
Estamos em plena era da sociedade da informao. Usamos, absorvemos, assimilamos,
manipulamos, transformamos, produzimos e transmitimos informao durante todo tempo,
sendo por isso alterada constantemente. Apesar de no termos uma definio precisa do que
informao, a sabemos intuitivamente, mesmo sem conseguir descrev-la. No contexto
transmite algum significado s pessoas e empresas.

No mundo dos negcios, as empresas de modo geral visam o lucro, o retorno dos capitais
investidos. No mbito competitivo as informaes tm papel fundamental no sucesso
empresarial. A informtica uma importante contribuio no gerenciamento da enorme


Copyright 2007, ESAB Escola Superior Aberta do Brasil

9
quantidade de informaes dirias, sendo necessrios critrios para selecionar e organizar
as que realmente nos interessam. Um sistema de informaes adequado e eficiente permite
que uma maior quantidade de benefcios seja produzida, ou alta quantidade de servios e
clientes sejam atendidos, permitindo a previso de situaes e o planejamento para
manuse-las, fornecendo bases de dados consistentes, seguras e de qualidade, atendendo a
melhor alocao dos recursos.

Fluxo
Pode ser definido como um trfego unidirecional com um conjunto de identificao nico de
variveis. Qualquer fluxo no contendo um pacote no perodo de 64 segundos considerado
ser um fluxo que expirou. Um fluxo no qual um pacote foi examinado no ltimo segundo
considerado um fluxo conhecido. Podem ser:
Fluxos unidirecionais: quando seus dados trafegam de A para B, tendo A e B como pontos
finais, podendo ser uma subdiviso do fluxo bidirecional.
Fluxos bidirecionais: quando seus dados trafegam de A para B e B para A, nos fornecendo
uma percepo do comportamento individual dos protocolos, incluindo problemas que podem
se manifestar nos backbones, mas que so mais difceis de identificar nos pontos finais da
rede.

Dados como Recurso de Informaes da Empresa
Uma empresa informatizada informa e deposita seus dados setoriais e globais, que podem
ser manipulados pelo seu sistema de informaes corporativo e/ou restrito.
Dados Modelados: devero pertencer ao acervo da empresa, mantidos os requisitos de
segurana e privacidade definidos na sua rea de origem. Os dados devero ser estudados
no seu formato, na sua origem, meio, natureza e formao, e no seu relacionamento com
outros dados.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

10
Dados Resguardados: devero apresentar os requisitos bsicos de integridade (garantia de
sua veracidade lgica), segurana (define o seu estado fsico e os seus aspectos de
privacidade), e documentao. Todos so fundamentais nos processos decisrios de alta
competitividade.
Dados Disponibilizados: devero possuir a liquidez de uma boa aplicao financeira, sem os
seus riscos inerentes, ou seja, dever existir um conjunto de ferramentas que permitam o
acesso, a atualizao, a consolidao, tabulao e a simulao de informaes para os
momentos inesperados de tomada de decises.

O Poder da Informao
O poder da informao dentro de uma empresa proporcional a sua capacidade de ser
compartilhada (Robert Buckman, pai da gesto de conhecimento nas empresas). se
tratando bem dos dados que se obtm as melhores informaes. Essas definies nem
sempre so observados em empresas que trocam a qualidade pelo imediatismo.
A crescente evoluo na busca do conhecimento levou cientistas a estudar formas de
raciocnio, memorizao e pensamento (formulao de hipteses) para mquinas, algoritmos
e sistemas, a fim de permitir, de forma integrada, o processamento de quantidades maiores
de informao, liberando o homem de uma srie de tarefas repetitivas como memorizao,
clculos, e, mais recentemente, formulao de hipteses.

Sistemas
um conjunto de componentes que interagem para atingir um objetivo comum. Um sistema
pode ser decomposto em sistemas menores denominados subsistemas. Deve-se considerar:
Os objetivos totais do sistema;
Ambiente do sistema;


Copyright 2007, ESAB Escola Superior Aberta do Brasil

11
Os recursos do sistema;
Os componentes do sistema e suas finalidades;
A administrao do sistema.
Entradas Sadas
Processo de
Transformao
C
o
n
t
r
o
l
e

e
A
v
a
l
i
a

o
Retroalimentao
Objetivos

Componentes de um sistema

Sistemas de Informaes: descreve um sistema automatizado (denominado Sistema de
Informao Computadorizado, incluindo o seu processamento), ou mesmo manual (abrange
pessoas, mquinas, e/ou mtodos organizados para coletar, processar, transmitir e
disseminar dados que representam informao para o usurio).
Sistemas de Informaes Gerenciais (SIG): ferramenta essencial para implementar a
modernizao da gesto da empresa ou instituio, que integra e consolida os dados
operacionais e histricos de todos os demais sistemas corporativos, alimentando o processo
de tomada de decises com informaes gerenciais e estratgicas.
SIG um sistema baseado em computador que faz avaliaes das informaes para
usurios com necessidades similares (MCLEOD, 1993, p. 427). As informaes so
utilizadas por administradores ou no para tomada de decises e para resolver problemas.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

12
um agrupamento organizado de pessoas, procedimentos, banco de dados e
dispositivos usados para oferecer informaes de rotina aos administradores e
tomadores de decises (STAIR, 1998, p. 38).
Os nveis de deciso obedecem hierarquia existente na empresa:
Nvel estratgico;
Nvel ttico;
Nvel operacional.

A deciso que tomada em cada nvel requer um diferente grau de agregao da
informao.
Sistemas de Informaes de Banco de Dados: organizar as informaes em Banco de Dados
que se compe essencialmente de arquivos de dados (data base), conjunto de programas e
linguagem de explorao.




Copyright 2007, ESAB Escola Superior Aberta do Brasil

13

Estrutura de um Sistema
Engenharia da Informao (EI)
um conjunto de tcnicas e lgicas formais que englobam as tcnicas de engenharia de
software de forma diferente. a aplicao de um conjunto interligado de tcnicas formais de
planejamento, anlise, projeto e construo de Sistemas de Informaes (SI) sobre uma
organizao como um todo ou em um dos seus principais setores, com o uso de ferramentas
automatizadas que permitem planejar, analisar, projetar, construir e conjugar sistemas de
processamento de dados, de forma integrada:
Dados: fornece a base de sustentao das informaes necessrias para a
sobrevivncia da empresa e para suas decises gerenciais.
Atividades: nos aspectos funcionais, sustenta os Processos Gerenciais e as atividades
que devem ser exercidas para que a empresa cumpra sua Misso e atinja seus
objetivos, metas e desafios.
Tecnologias: referencia os recursos tecnolgicos e as ferramentas de que a empresa
dispe para tornar permanente a sua existncia e para dar sustentao sua base de
dados e execuo de suas atividades.
Pessoas: relacionada com os recursos humanos disponveis para o desenvolvimento
dos projetos da empresa.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

14

ENGENHARIA DA INFORMAO




Copyright 2007, ESAB Escola Superior Aberta do Brasil

15
UNIDADE 2
Objetivo: Conhecimento das fases e ferramentas de planejamento em Engenharia da
Informao (EI).
ENGENHARIA DA INFORMAO (EI)
As fases da EI responsveis pela execuo e incorporao de tarefas especficas so
coesas, integradas, interativas e seqenciais:
Planejamento Estratgico de Informaes: identifica as informaes necessrias para
suportar seus propsitos, funes e fatores, estabelece o modelo corporativo de dados e o
modelo funcional da empresa, fornecendo parmetros para fixao de prioridades ao
desenvolvimento de sistemas.
Anlise das reas de Negcios: detalha as reas mais carentes de apoio dos sistemas
automatizados. Com a aplicao da Prototipao como recurso permitir uma participao
mais intensa do usurio e a migrao mais slida da anlise para o projeto.
Projeto: analisada a rea de negcios priorizada e identificados os processos gerenciais e as
atividades crticas, iniciamos a fase de Projeto em que se estabelece o sub-modelo de dados
de cada atividade envolvida.
Construo: esgotadas todas as filtragens e refinamentos necessrios na fase de projeto
passamos a executar a construo do sistema enfocado, com a utilizao das ferramentas
disponveis.
Manuteno: se as quatro fases anteriores tenham sido executadas criteriosamente, a
manuteno restringir-se- a ocorrncias eventuais, visto que a estabilidade do modelo de
dados e dos processos vinculados foram bem tratados, e somente mudanas polticas,
econmicas e legislativas do ambiente externo podero teoricamente resultar em alteraes.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

16





Terminologia A importncia da Padronizao: uma forma bsica e essencial para se
manter o dilogo e o entendimento uniforme entre todos os participantes do projeto, desde os
tcnicos de processamento de dados at os dirigentes e usurios envolvidos.
Documentao das fases da Engenharia da Informao: necessrio manter permanente a
documentao atualizada, condio fundamental para pleno conhecimento, anlise e
manuteno do sistema.
Ferramentas CASE (Computer-Aided Software Engineering): voltadas a dar apoio e
possibilitar o desenvolvimento grfico, a interao e a documentao totais ou parciais das
cinco fases anteriores.
Ferramentas de Anlise Esttica;
Ferramentas de Anlise Dinmica;
Ferramentas de Gerenciamento de Testes;
Ferramentas de Testes Cliente/Servidor;
Ferramentas de Reengenharia;
Ferramentas de Engenharia da Informao;
Ferramentas de Gerenciamento e Modelagem de Processo;
Ferramentas de Planejamento de Projeto;


Copyright 2007, ESAB Escola Superior Aberta do Brasil

17
Ferramentas de Anlise de Risco;
Ferramentas de Gerenciamento de Projeto;
Ferramentas de Auditoria de Requisitos (Tracing).
Usurios A necessidade de comprometimento no Projeto: a globalizao e a tecnologia
trazem uma influncia intensa nos hbitos e comportamentos das pessoas. O
comprometimento das pessoas uma jornada permanente, fazer com que se superem a
todo o momento e sejam percebidas de forma positiva. O usurio um perfeito aliado no
desenvolvimento de sistemas voltados para sua rea j que vive diariamente a sua rea de
negcio, conhece profundamente os processos desenvolvidos, a periodicidade de execuo
das tarefas, e as necessidades de informao para gerir as atividades.
Planejamento Estratgico de Informaes: a primeira fase da Engenharia da Informao
onde se estabelecem os propsitos bsicos para implementar sistemas computadorizados
estveis e de apoio tomada de decises.
Para facilitar a comunicao, o analista deve:
Procurar conhecer bem os termos tcnicos e grias empregadas pelos usurios;
Definir cada termo em um Dicionrio de Termos, se possvel;
Anotar os sinnimos;
Iniciar o processo de anlise sem idias prvias de como a Organizao, evitando
pr-conceitos, pois apesar de ser do mesmo ramo de negcio possuem suas
particularidades;
Feito isso, s assim o analista deve traar seu planejamento, visando:
Entrada: problemas ou reas a melhorar na Organizao;
Objetivo: definir informaes necessrias para resolver problemas identificados;
Resultado: conjunto de informaes necessrias para resolver problemas.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

18
Para isso necessrio:
Entrevistas (tcnicas utilizadas): instrumento de pesquisa fundamental no processo de
captao de informaes para a elaborao de um plano que reflita os anseios dos
executivos de uma determinada organizao, atravs do levantamento prvio dos Objetivos,
Fatores Crticos de Sucesso, Problemas, Desafios, Metas, etc.
Questionrios de Apoio s Entrevistas: sugere-se a elaborao e aplicao de um
questionrio objetivo, dirigido e diferenciado, de forma a compatibilizar as informaes
fornecidas pelos usurios durante as entrevistas.
JAD (Join Application Design): substitui as entrevistas individuais de levantamento de dados.
um mtodo especfico de pesquisa desenvolvido pela IBM-Brasil, com o objetivo de extrair
informaes dos usurios (especialistas no negcio) atravs de reunies ou sesses de
trabalho.
Produtos: modelo da organizao, mostrando as funes bsicas da empresa em um
diagrama de decomposio funcional. Deve-se considerar:
Modelo de dados corporativo da empresa;
Anlise dos sistemas atuais;
Estabelecimento de prioridades para o desenvolvimento de sistemas de informaes.
O Modelo de Dados Corporativo dever conter todas as informaes bsicas necessrias
para o negcio da empresa, a fim de cumprir sua misso e os seus objetivos. Para isso, deve
incorporar todos os dados de real valia, identificados a partir das necessidades de
informaes relatadas pelos usurios e registradas nos questionrios de apoio.




Copyright 2007, ESAB Escola Superior Aberta do Brasil

19

Modelo de Dados Corporativo


Faa uma sntese sobre Agentes inteligentes em Redes.
Busque as informaes na Internet e em livros sobre o tema (Redes Neurais Artificiais).




TCP/IP e SUA IMPORTNCIA NO FLUXO DE INFORMAO




Copyright 2007, ESAB Escola Superior Aberta do Brasil

20
UNIDADE 3
Objetivo: Conhecimento dos Componentes de Sistema de Inteligncia Artificial (IA); Origem
da Rede Neural Artificial (RNA).
SISTEMA DE INTELIGNCIA ARTIFICIAL (IA)
Define-se Inteligncia Artificial (IA) como princpios que permitem simular a inteligncia
humana por meio da criao de modelos computacionais de processos cognitivos e
desenvolver sistemas (hardware/software) mais teis com capacidade de deduo e
percepo.
IA simplesmente uma maneira de fazer o computador pensar de maneira inteligente, ou
seja, permite que o computador pense. Imita o processo bsico de aprendizado humano,
onde novas informaes so absorvidas e se tornam disponveis futuramente. Comparado
mente humana, que pode incorporar novos conhecimentos sem alterar seu funcionamento e
sem atrapalhar todos os outros fatos que j esto armazenados no crebro, um programa IA
funciona do mesmo modo. Mostra um mtodo simples e estruturado de projetar programas
complexos de tomada de deciso.
Todos os elementos nos quais consiste o processo humano de tomada de deciso
objetivos, fatos, regras, mecanismos de inferncia devem ser reunidos em um programa de
computador para que ele possa ser realmente qualificado como um programa que possui IA.
Os componentes de um sistema de IA baseado em regras:
Define fatos;
Obtm dados;
Define objetivos;
Define a soluo;


Copyright 2007, ESAB Escola Superior Aberta do Brasil

21
Obtm novos objetivos via regras e inferncias.
Pode-se modificar uma ou mais partes de um projeto sem desarranjar a estrutura do sistema
de raciocnio, pois a mente do computador capaz de atuar uma srie de regras
previamente manipuladas. Se pudermos determinar o que nossas mentes fazem em um
determinado estgio de qualquer processo de tomada de deciso, podemos facilmente
encontrar nesse projeto de programa uma seo que corresponda a um aspecto equivalente
da Inteligncia.

Redes Neurais
O crebro humano considerado o mais fascinante processador baseado em carbono
existente, composto por aproximadamente 10 bilhes neurnios, relacionados a todas as
funes e movimentos do organismo. Os neurnios conectam-se uns aos outros atravs de
sinapses, e juntos formam uma grande rede (rede neural). As sinapses transmitem estmulos
por todo o corpo humano atravs de diferentes concentraes de sdio (Na
+
) e potssio (K
+
).
Esta grande rede proporciona uma fabulosa capacidade de processamento e
armazenamento de informao.
O sistema nervoso formado por um conjunto extremamente complexo de neurnios, nos
quais a comunicao realizada atravs de impulsos. Quando um impulso recebido, o
neurnio o processa, e passado um limite de ao, dispara um segundo impulso que produz
uma substncia neurotransmissora o qual flui do corpo celular para o axnio (que por sua
vez pode ou no estar conectado a um dendrito de outra clula). O neurnio que transmite o
pulso pode controlar a freqncia de pulsos aumentando ou diminuindo a polaridade na
membrana ps-sinptica. Eles tm um papel essencial na determinao do funcionamento,
comportamento e do raciocnio do ser humano.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

22

Ao contrrio das redes neurais artificiais, as redes neurais naturais no transmitem sinais
negativos, sua ativao medida pela freqncia com que emite pulsos, contnuos e
positivos. As redes naturais no so uniformes, apresentando uniformidade apenas em
alguns pontos do organismo. Seus pulsos no so sncronos ou assncronos, devido ao fato
de no serem contnuos.
Com o desenvolvimento da IA da informtica surgiu a idia de representar por meio de
determinados programas o funcionamento do processo de aprendizagem do crebro
humano. A tentativa de simular a rede neural do crebro deu origem Rede Neural Artificial
(RNA), que so sistemas no-lineares.
Uma rede neural pode possuir uma ou mltiplas camadas. Com trs camadas, poderamos
ter a camada de entrada (onde as unidades recebem os padres, possuindo uma unidade
especial conhecida como bias), a camada intermediria (onde feito processamento e a
extrao de caractersticas), e a camada de sada (que conclui e apresenta o resultado final).
Tecnicamente, o nmero de camadas define a capacidade de representao das relaes
entre o espao de entrada e de sada. Quanto maior o nmero de camadas, melhor a
capacidade de aprendizado. A inexistncia da camada intermediria, caracterstica do
modelo Perceptrons, representa somente relaes linearmente independentes. A existncia


Copyright 2007, ESAB Escola Superior Aberta do Brasil

23
de camadas intermedirias, caracterstica do modelo Perceptron de Mltipla Camada (MLP),
retira tal limitao. Se houver apenas uma camada intermediria, o MLP pode representar
qualquer funo contnua. Duas ou mais camadas, ampliam o universo de representao a
qualquer funo contnua ou no.
Os trabalhos sobre redes neurais se iniciaram na dcada de 40, na Universidade de Illinois,
com o neurofisiologista McCulloch e o matemtico Walter Pitts, publicadas no artigo A
Logical Calculus of the Ideas Immanent in Nervous Activity (1943). Os autores estabeleceram
uma analogia entre o processo de comunicao das clulas nervosas vivas e o processo de
comunicao por transmisso eltrica e propuseram a criao de neurnios formais. Em
1947 eles conseguiram demonstrar que era possvel conectar os neurnios formais e formar
uma rede capaz de executar funes complexas.
As redes neurais possuem diferentes denominaes:
redes neuronais, modelos de redes neurais artificiais,
modelos conectistas e sistemas neuromrficos. Assim,
como o crebro humano composto de clulas
biolgicas, a rede neural possui um neurnio artificial
semelhante, pois ainda no possvel copiar totalmente
o sistema de processamento paralelo existente nas
clulas biolgicas. O objetivo da neurocomputao o
aprendizado da mquina baseado em modelos que
possam ser implementados para desempenhar funes
prprias do crebro humano.
As pesquisas em RNA tentaram simular o crebro humano quanto a sua capacidade de
aprender e se adaptar a eventuais mudanas. Portanto, tm como principal objetivo simular a
capacidade de aprendizado e de generalizao do crebro humano podendo executar
tarefas que os programas convencionais no conseguiam realizar, pois no tinham essa
caracterstica de aprendizagem e adaptabilidade.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

24
O psiclogo Donald Hebb (1949) elaborou uma teoria baseada no processo de
aprendizagem que ocorre no crebro humano, servindo de base para a aprendizagem das
redes neurais. O processo de aprendizado geralmente um processo interativo de
adaptao aplicado aos parmetros da rede (pesos e thresholds) onde os conhecimentos
so armazenados aps cada interao.
Em 1956, Nathaniel Rochester desenvolveu um modelo de RNA no qual era simulado a
interconexo de centenas de neurnios e um sistema para verificar o comportamento da rede
diante dos estmulos externos.

No entanto, a Rede Perceptron criada por Frank Rosenblat (1957) se tornou mais popular.
Porm, recebeu severas crticas por Mavin Minsky e Seymour Papert no livro Perceptron, em
1969, argumentando que os Perceptrons apresentavam limitaes em suas aplicaes, no
possuam capacidade de aprendizado para resolver problemas simples e no possuam
adequada sustentao matemtica.
A primeira rede capaz de imitar o crebro humano utilizando processadores paralelos (ao
invs de um nico processador) surgiu com Widrow e Hoff, em 1959, com a estruturao da
Rede ADALINE, (ADAptative LInear Element) mais tarde denominada MADALINE (Many
ADALINE).


Copyright 2007, ESAB Escola Superior Aberta do Brasil

25
Apesar de terem surgido trabalhos significativos na dcada de 60 e 70, como os de Werbos,
Anderson, Grossberg, as pesquisas com as redes neurais s voltaram a recuperar sua
credibilidade (em 1982) com os trabalhos do fsico e bilogo John Hopfield.

As RNA podem ser entendidas como conjuntos bem estruturados de unidades de
processamentos, interligados por canais de comunicao, cada qual tendo um determinado
peso correspondente a um valor numrico. Consistem de vrias unidades de processamento
(neurnios artificiais) interconectados entre si formando uma determinada disposio
estrutural de camadas (entrada, intermedirias e sada) e conexes entre elas.


REDES NEURAIS: Sistema de Inteligncia Artificial




Copyright 2007, ESAB Escola Superior Aberta do Brasil

26
UNIDADE 4
Objetivo: Conhecimento dos tipos de redes mais comuns, dificuldades, algoritmos,
aplicaes.
REDE NEURAL ARTIFICIAL (RNA)
Atualmente existem dezenas de modelos de redes neurais estruturados para as mais
diversas aplicaes.


Os mais conhecidos so:
Rede neural de mcculloch-pitts (mcp): representa o neurnio como uma unidade de limite
binrio que pode executar operaes lgicas bsicas (NOT, OR e AND), por meio do ajuste
adequado dos pesos. Apesar de cada neurnio possuir apenas uma entrada e uma sada, a
interligao de vrias unidades forma uma rede capaz de executar aes complexas.
Perceptron de camada simples: desenvolvida por Frank Rosemblatt (1958) so utilizadas
para reconhecimento e classificao de padres e resoluo de problemas lgicos que
envolvem os conectivos AND e OR.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

27

MLP (Multi Layer Perceptron) ou MLFF (Multi Layer Feed Forward): desenvolvida por
Minsky e Papert (1969) realizam operaes lgicas complexas, reconhecimento,
classificao de padres, controle de robs e processamento da fala.
Redes BPN (Back Propagtion Network): desenvolvida por E. Rumelhart, G. E. Hilton e R.
J. Williams (1986) utilizada na previso anual de aparecimentos de manchas solares, em
operaes lgicas complexas, classificao de padres e anlise da fala.
Rede de hopfield: desenvolvida por J. J. Hopfield (1982) utilizada para reconhecimento de
imagens.
Redes de kohonen: desenvolvida pelo Prof. Teuvo Kohonen (1987) utilizada para
classificao de padres, otimizao de problemas e simulaes.
Rede neural adalanie (adaptive linear neuron): desenvolvida por Widrow e Hoff (1959),
rede de uma camada com backpropagation utilizada para reconhecimento de padres, mas
s reconhece os padres nos quais foi treinada (Regra de Widrow-Hoff). Quando transposta
para uma rede de backpropagation de multicamadas denominada de MADALINE
(Multilayer ADALINE) e apresenta um alto grau de tolerncia a falhas.
ART (ADAPTATIVE RESONANCE THEORY) de GROSSBERG: representa um nico
neurnio artificial que recebe input de vrias outras unidades semelhantes. um programa


Copyright 2007, ESAB Escola Superior Aberta do Brasil

28
que tem por base caractersticas da teoria da ressonncia adaptativa, que consiste na
habilidade de se adaptar diante de novos inputs. utilizada para reconhecimento de sinais
de radar e processamento de imagens.
CNM (COMBINATORIAL NEURAL MODEL): utilizada no processamento de
reconhecimento, anlise e classificao de dados.
SOM (SELF ORGANIZING MAP) de KOHONEN: uma rede competitiva com a habilidade
de fazer mapeamentos entre dados de input e output. Capaz de equilibrar um basto
aplicando foras na sua base, o objetivo da rede estabelecer um mapeamento entre as
variveis do estado do basto e a fora ideal para manter o equilbrio.
CPN (COUTERPROPAGATION NETWORK): uma rede competitiva desenhada para
funcionar como uma tabela de consulta auto-programvel com a habilidade de interpolar
dados de entrada. Pode determinar a rotao angular de um objeto na forma de foguete que
lhe apresentada como um padro bitmap. O desempenho da rede limitado pela resoluo
do bitmap.
BAM (BIDIRECTIONAL ASSOCIATIVE MEMORY): possui uma memria associativa
bidirecional capaz de fornecer o nmero do telefone associado ao nome que lhe foi fornecido
e vice-versa. Permite certo grau de tolerncia a erros, quando os dados fornecidos possuem
um padro corrompido.
NEOCOGNITRON: uma rede que possui mltiplas camadas com conexes parciais entre
as unidades das vrias camadas. Foi desenvolvida para reconhecer caracteres alfabticos
escritos a mo. de treinamento difcil, mas possui boa tolerncia a erros, pois reconhece os
caracteres mesmo com certa inclinao na escrita ou pequenas distores na imagem.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

29


Aplicaes das Redes Neurais:
Anlise de assinaturas;
Anlise de caractersticas demogrficas para marketing;
Anlise do grau de satisfao de um cliente;
Controle de processos industriais;
Deteco de cartes de crdito falsos;
Monitoramento para manuteno de motores;
Previso da bolsa de valores e cotao de moedas;
Previso do mercado financeiro;
Reconhecimento de caracteres e impresses digitais;
Reconhecimento tico de caracteres.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

30
Algoritmo de Aprendizado:
um conjunto de regras bem definidas que so utilizadas para solucionar um determinado
problema de aprendizado. Podemos encontrar diferentes algoritmos de aprendizado
agrupados em quatro categorias:
Aprendizado por correo de erro;
Hebbiano;
Competitivo;
De Boltzmann.
Quanto ao tipo de treinamento para aprendizado as redes apresentam:
Aprendizado Supervisionado: exige a presena de um agente externo (tutor) que avalia e
informa rede sobre a sua performance. O tutor adquire conhecimento da rede na forma de
mapeamentos (padres) de entrada-sada.
Aprendizado no-Supervisionado: no possui um tutor (crtico). A rede autnoma,
trabalha com os dados que lhes so apresentados e aprende a refletir sobre as suas
propriedades no seu output. Esse tipo de aprendizado pode ser utilizado com um algoritmo
competitivo ou hebbiano.
Aprendizado por Reforo: possui um crtico externo que avalia as respostas fornecidas
pela rede e direciona o ajuste dos pesos. O aprendizado on-line, feito por um processo de
tentativas e erros, que visa maximizar um dado ndice de desempenho, denominado de sinal
de reforo.
Vantagens da Utilizao das Redes Neurais Artificiais:
Inferncia de mltiplas variveis;
Grande tolerncia a falhas;
Modelamento direto do problema;


Copyright 2007, ESAB Escola Superior Aberta do Brasil

31
Paralelismo inerente.
Caractersticas que definem uma rede neural artificial:
Arquitetura;
Capacidade de aprendizado;
Habilidade Funcional;
Vantagens da Utilizao das Redes Neurais Artificiais;
Inferncia de mltiplas variveis;
Grande tolerncia a falhas;
Modelamento direto do problema;
Paralelismo inerente.
Dificuldades das Redes Neurais: As redes neurais artificiais trabalham com um nmero
reduzido (centenas) de neurnios artificiais, enquanto as redes neurais biolgicas trabalham
com milhes de neurnios.
A modelagem de uma rede neural depende da anlise consistente de um sistema complexo,
implicando em dificuldades para definir qual arquitetura melhor responde s necessidades do
problema proposto, e na escolha de quais dados so verdadeiramente relevantes para o
processamento. Alm da entrada, tambm devemos definir de forma ideal os parmetros de
aprendizagem, os pesos sinpticos e os nveis de tendncia, os quais so de grande
importncia para o processo de aprendizado. Outra dificuldade encontrada seria a extrao
de regras que justifiquem as decises tomadas pela rede, as quais representariam o
conhecimento adquirido durante o treinamento. Por este motivo, as redes neurais so
apelidadas de Caixas Pretas.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

32

Contudo, pesquisadores vm tentando minimizar as dificuldades da implementao das
redes neurais atravs de algoritmos que possam extrair regras (como o algoritmo KBANN
Knowledge Base Neural Networks) e do uso de sistemas hbridos, combinando, por exemplo,
uma rede neural com algoritmos genticos. Isso poder definir melhor as taxas de
aprendizado, pesos sinpticos e nvel tendencioso.

Dicas de leitura:
Esteganografia




Copyright 2007, ESAB Escola Superior Aberta do Brasil

33
UNIDADE 5
Objetivo: Conhecimento de Agentes Inteligentes em redes e aplicaes.
AGENTES INTELIGENTES EM REDES
Agente uma entidade de software persistente dedicada a um propsito
especfico. O fato do agente ser persistente o distingue das sub-rotinas, pois os
agentes tem suas prprias idias sobre como resolver os seus problemas, ou
como organizar sua prpria agenda. Propsitos especiais os diferenciam das
aplicaes multifuncionais, j que os agentes so tipicamente menores (SMITH
et al apud ITO, 1999).
Agente uma entidade cognitiva, ativa e autnoma, ou seja, que possui um
sistema interno de tomada de decises. Agindo sobre o mundo e sobre os
outros agentes que o rodeiam, e, por fim, que capaz de funcionar sem
necessitar de algo ou de algum para gui-lo (tem mecanismos prprios de
percepo do exterior).
River (1995) associa aos agentes inteligentes a posse de uma ou mais caractersticas:
Uma base de conhecimento pr-definida e um mecanismo de inferncia;
Um sistema de aquisio de conhecimento;
Um mecanismo de aprendizagem neuronal.
Nissen (1995) apresenta cinco componentes da infra-estrutura necessria atuao dos
agentes inteligentes:
Recursos de execuo;
Recursos de comunicao;


Copyright 2007, ESAB Escola Superior Aberta do Brasil

34
Recursos de transporte;
Recursos de empacotamento;
Segurana integrada.
Agentes Inteligentes Cooperando para Gerenciamento de Servios em uma Rede de
Comunicao: uma comunidade aberta de diferentes sistemas de computadores (agentes)
coopera para solucionar uma variedade de problemas em um sistema de gerenciamento de
redes de telecomunicaes complexo. Os agentes so chamados a entrar ou sair da
comunidade que eles formam. Tm como funes estabelecimento e restaurao de rotas
em uma rede fsica e satisfazer as necessidades do cliente. O planejamento do fornecimento
e restaurao do servio realizado em um contexto de conhecimento incompleto.
Processos de alto nvel so descritos para soluo destes problemas, tendo como
caracterstica ser distribudo e flexvel a falhas. Este sistema de controle distribudo suporta a
possibilidade de melhorar o desempenho sobre o sistema centralizado e o escopo de
reduo da quantidade total de dados passados para um ponto central, e a flexibilidade de
permitir ao sistema distribudo uma degradao mais suave.
Agentes Inteligentes em Logstica e Simulao: um sistema de planejamento e controle
para automatizao de uma clula de trabalho est sendo desenvolvido para fornecer um
melhor desempenho em trabalhos relativos logstica e simulao. Para lidar com a
complexidade dinmica de um ambiente de produo o sistema de planejamento necessita
de habilidades de adaptao dinmica e autocontrole. Para alcanar esta habilidade, a tarefa
de planejamento distribuda a vrios agentes inteligentes virtuais, cada qual suporta uma
tarefa especfica e possui suas prprias estratgias de soluo e capaz de solicitar servios
de outros agentes. A simulao desempenha um papel crucial no sistema de planejamento e
usada por outros agentes para revisar suas estratgias de planejamento e para determinar
as conseqncias futuras de suas decises.




Copyright 2007, ESAB Escola Superior Aberta do Brasil

35
Aplicaes de Agentes Inteligentes na Internet:
Agentes Inteligentes so entidades autnomas dotadas de uma base de conhecimento e
capazes de interagir com o meio em que esto tomando decises que iro auxiliar ou
substituir o trabalho de um agente humano.

Applets so conjuntos de cdigo de programa que podem ser descarregados, instanciados e
executados em WEB browsers.
Aglet um agente para Internet com a capacidade adicional de ser transportado pela rede.
So objetos Java que podem mover-se de um host ao outro, parar a execuo, despachar-se
para um host remoto e executar-se l autonomamente, traando seu prprio itinerrio. Para
implementar um Aglet pode ser usada a plataforma IBM Aglet Workbench para programao
de agentes mveis. Trata-se de um ambiente para Windows destinado programao de
aglets em Java, linguagem utilizada por permitir a criao de aplicativos (applets, servlets e
aglets) independentes da plataforma em que sero executados, facilitando a movimentao
de um sistema de um computador a outro.




Copyright 2007, ESAB Escola Superior Aberta do Brasil

36
Agentes de Correio Eletrnico:
Maxims, implementado em Macintosh Commom Lisp, comunica com o pacote comercial de
e-mails EUDORA usando Apple Events. um agente que ajuda o usurio com seu e-mail.
Ele aprende a priorizar, deletar, responder, organizar e arquivar mensagens de e-mail
recebido pelo usurio. Tem como principal tcnica de aprendizado o raciocnio baseado em
memrias. Se o usurio realiza uma ao, o agente memoriza toda a situao gerada, por
exemplo, se o usurio salva uma mensagem particular aps t-la lido, o agente adiciona a
descrio desta situao e a ao tomada pelo usurio em sua memria de exemplos.
Quando uma nova situao ocorre, o agente compara-a com seu banco de memria e
verifica qual ao tomar.


Faa uma sntese sobre SGBD
Busque as informaes na Internet e em livros sobre o tema (Banco de Dados).




Copyright 2007, ESAB Escola Superior Aberta do Brasil

37
UNIDADE 6
Objetivo: Conceituao de Transmission Control Protocol (TCP) e Internet Protocol (IP) e sua
importncia no fluxo de informao; Definio de classes e endereos.
PROTOCOLO TCP/IP
Hoje, as redes de computadores baseadas em protocolos Transmission Control
Protocol/Internet Protocol (TCP/IP), como a Internet cresce assustadoramente, pelo fato
destes protocolos serem de fcil implementao e manuteno, alm de permitirem a
interligao de redes locais atravs de outras redes de longa distncia, com um desempenho
considervel. Atualmente possvel ter-se uma implementao local de redes TCP/IP, sem
conect-las a outras redes, caracterizando uma rede Intranet, muito utilizada para
implementar redes locais em empresas. Porm um grande problema surge para os
administradores de rede, pois necessrio monitorar e controlar o funcionamento,
crescimento e os parmetros dessas redes, garantindo o seu correto desempenho.
Um esquema de gerenciamento de rede deve ser capaz de detectar e corrigir possveis erros
que venham a ocorrer durante as transmisses. Este mesmo esquema deve estar apto a
estabelecer procedimentos para a previso de problemas futuros. Fazendo uma monitorao
do trfego da rede possvel detectar qual mquina na rede est gerando maior trfego e
pode-se prever alguma forma de controle deste trfego.
O gerenciamento da rede realizado pelo protocolo Simple Network Management Protocol
(SNMP) permite que uma ou mais mquinas na rede sejam designadas gerentes da rede.
Esta mquina recebe e processa informaes de todas as outras mquinas da rede
(agentes), gerenciando toda a rede e detectando facilmente problemas ocorridos.
As informaes coletadas pela mquina gerente esto armazenadas nas prprias mquinas
da rede, em uma base de dados conhecida como Management Information Base (MIB).
Nesta base de dados esto gravadas todas as informaes necessrias para o


Copyright 2007, ESAB Escola Superior Aberta do Brasil

38
gerenciamento deste dispositivo, atravs de variveis que so requeridas pela estao
gerente.
Entretanto, em uma interligao de diversas redes locais, pode ser que uma rede local esteja
funcionando perfeitamente, mas sem conexo com as outras redes, e, conseqentemente,
sem conexo com a mquina gerente. O ideal implementar em alguma mquina, dentro
desta rede local, um protocolo para gerenciamento que permita um trabalho off-line, isto ,
que a rede local possa ser gerenciada, ou pelo menos tenha suas informaes de
gerenciamento coletadas, mesmo que estas informaes no sejam enviadas
instantaneamente estao gerente.
O protocolo Remote Monitoring (RMON) permite uma implementao neste sentido, devendo
ser implementado em diversas mquinas ao longo da rede. possvel, ainda, que uma
estao com implementao RMON, envie dados estao gerente apenas em uma
situao de falha na rede. Isto contribuiria para reduo do trfego de informaes de
controle na rede (overhead).

A instalao de um servidor Proxy diminui o trfego na rede facilitando seu gerenciamento,
servindo como cache dos documentos acessados por uma rede local. Pode tambm
restringir o acesso a alguns documentos ou a utilizao de algum protocolo, garantindo
segurana rede.
O desenvolvimento da arquitetura Internet Transmission Control Protocol/Internet Protocol
(TCP/IP) foi patrocinado pela Defense Advanced Research Projects Agency (DARPA). O
TCP/IP (Conjunto de Protocolos Internet) foi desenvolvido para permitir que computadores


Copyright 2007, ESAB Escola Superior Aberta do Brasil

39
compartilhem recursos dentro de uma rede. Por serem os mais conhecidos, comum se
referir o TCP e IP para referenciar toda a famlia de protocolos. Alguns deles, como TCP, IP
e User Datagram Protocol (UDP), provm funes de baixo nvel, necessrias a diversas
aplicaes. Os outros protocolos so execuo de tarefas especficas, como transferncia de
arquivos entre computadores, envio de mensagens.
Os servios TCP/IP mais importantes so [Hedrick88]:
Transferncia de Arquivos (File Transfer Protocol FTP): permite a um usurio em um
computador copiar arquivos de outro computador, ou enviar arquivos para outro
computador. A segurana garantida requerendo-se que o usurio especifique um
username e uma senha, para acesso ao outro computador.
Login Remoto (Network Terminal Protocol TELNET): permite que um usurio se log
(tenha uma seo de trabalho) em outro computador da rede. A seo remota
iniciada especificando-se o computador em que se deseja conectar. At que a seo
seja finalizada, tudo o que for digitado ser enviado para o outro computador. O
programa de TELNET faz com que o computador requisitante seja totalmente invisvel,
tudo enviado diretamente ao computador remoto.
Eletronic Mail: permite ao usurio enviar mensagens para usurios em outro
computador. Deve ser mantido um arquivo de mail para cada usurio onde ser
adicionado novas mensagens. Para que um usurio possa enviar um mail, o programa
espera ser capaz de manter uma conexo com o computador destino.
O protocolo TCP/IP baseado em um modelo que pressupe a existncia de um grande
nmero de redes independentes conectadas atravs de gateways. Um usurio pode ter
acesso a computadores ou outros recursos em qualquer uma destas redes. As mensagens,
muitas vezes, passam por uma grande quantidade de redes para atingirem seus destinos. O
roteamento destas mensagens deve ser completamente invisvel para o usurio. Assim, para
ter acesso a um recurso em outro computador o usurio deve conhecer o endereo Internet
deste computador. Atualmente este endereo um nmero de 32 bits, escrito como 4
nmeros decimais, cada um representando 8 bits de endereo.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

40
Internet Protocol (IP)
Protocolo de Internet, usado entre duas ou mais mquinas em rede para encaminhamento
dos dados, enviados em blocos (como pacotes ou datagramas). No IP nenhuma definio
necessria antes do host tentar enviar pacotes para um host com o qual no comunicou
previamente.

O IP o elemento comum encontrado na internet pblica dos dias de hoje. descrito no
RFC 791 da IETF, publicado pela primeira vez em Setembro de 1981. Este documento
descreve o protocolo da camada de rede mais popular e atualmente em uso. Esta verso do
protocolo designada de verso 4, ou IPv4. O IPv6 tem endereamento de origem e destino
de 128 bits, oferecendo mais endereamentos que os 32 bits do IPv4.

O IP, padro para redes Internet, baseado em um servio sem conexo. Sua funo
transferir blocos de dados (datagramas) da origem para o destino, hosts identificados por
endereos IP. Este protocolo tambm fornece servio de fragmentao e remontagem de
datagramas longos, para que estes possam ser transportados em redes onde o tamanho
mximo permitido para os pacotes pequeno.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

41
Como o servio fornecido pelo protocolo IP sem conexo, cada datagrama tratado como
uma unidade independente que no possui nenhuma relao com qualquer outro datagrama.
A comunicao no-confivel, pois no so utilizados reconhecimentos fim-a-fim ou entre-
ns intermedirios, nem empregados mecanismos de controle de fluxo e de controle de
erros. Apenas uma conferncia simples do cabealho realizada, para garantir que as
informaes nele contidas, usadas pelos gateways para encaminhar datagramas, esto
corretas. O IP oferece um servio de datagramas no-confivel (chamado de melhor
esforo), ou seja, o pacote vem quase sem garantias, podendo chegar desordenado ou
duplicado se comparado com outros pacotes enviados entre os mesmos hosts, ou podem ser
perdidos por inteiro. Se a aplicao precisa de confiabilidade, esta adicionada na camada
de transporte.
Os roteadores so usados para reencaminhar datagramas IP atravs das redes
interconectadas na segunda camada. A falta de qualquer garantia de entrega significa que o
desenho da troca de pacotes feito de forma mais simplificada. Se a rede cai, reordena ou
de outra forma danifica um grande nmero de pacotes, o desempenho observado pelo
utilizador ser pobre, logo a maioria dos elementos de rede tentam arduamente no fazer
este tipo de coisas melhor esforo. Contudo, um erro ocasional no ir produzir nenhum
efeito notvel.
Endereos IP: pode ser considerado como um conjunto de nmeros que representa o local
de um determinado equipamento (normalmente computadores) em uma rede privada ou
pblica. Para um melhor uso dos endereos de equipamentos em rede pelas pessoas,
utiliza-se a forma de endereos de domnio, tal como www.wikipedia.org. Cada endereo de
domnio convertido em um endereo IP pelo DNS. Este processo de converso
conhecido como resoluo de nomes de domnio.
O endereo IP, na verso 4 (IPv4), um nmero de 32 bits escrito com quatro octetos e no
formato decimal (128.6.4.7). A primeira parte do endereo identifica uma rede especfica na
inter-rede, a segunda identifica um host dentro dessa rede. Um endereo IP no identifica
uma mquina individual, mas uma conexo inter-rede. Assim, um gateway conectando n
redes tem n endereos IP diferentes, um para cada conexo.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

42
O IP utiliza trs classes diferentes de endereos pelo fato do tamanho das redes que esto
interligadas variar muito, indo desde redes locais de computadores a redes pblicas
interligando milhares de hosts [Soares97].

Examinando os primeiros bits de um endereo, o software do IP consegue determinar
rapidamente qual a classe, e logo, a estrutura do endereo.
Classe A: primeiro bit 0 (zero), o mais significativo, os outros 7 bits do primeiro octeto
identificam a rede, e os 24 bits restantes definem o endereo local. Essa classe usada para
redes de grande porte, seus endereos variam de 1 a 126, e cada rede tem capacidade de
enderear cerca de 16 milhes de hosts.
Classe B: primeiros dois bits so 10 (um, zero). Usa dois octetos para o endereo da rede e
dois para endereos de hosts, que variam na faixa de 128.1 at 191.255 (os nmeros 0 e
255 do segundo octeto, e 127 do primeiro octeto so usados para funes especiais e
testes), e cada rede pode interligar cerca de 65 mil hosts.
Classe C: primeiros trs bits so 110 (um, um, zero). Utilizam trs octetos para identificar a
rede e apenas um octeto para o host. Os endereos de rede situam-se na faixa de 192.1.1
at 223.254.254 (os endereos acima de 223 no primeiro octeto foram reservados para uso
futuro), e cada rede pode enderear 254 hosts.
Classe D (endereo multicast): primeiros quatro bits so 1110 (um, um, um, zero).


Copyright 2007, ESAB Escola Superior Aberta do Brasil

43
Classe E (endereo especial reservado): primeiros cinco bits so 11110 (um, um, um, um,
zero).
Tabela 1: Intervalo das classes de endereos IPs.
Classe Gama de Endereos N Endereos por Rede
A 1.0.0.0 at 127.255.255.255 16 777 216
B 128.0.0.0 at 191.255.255.255 65 536
C 192.0.0.0 at 223.255.255.255 256
D 224.0.0.0 at 239.255.255.255 multicast
E 240.0.0.0 at 247.255.255.255 uso futuro


Faa uma sntese sobre DDoS Distributed Denial-of-Services Attacks
Busque as informaes na Internet e em livros sobre o tema (Ataques a Redes).




Copyright 2007, ESAB Escola Superior Aberta do Brasil

44
UNIDADE 7
Objetivo: Definio e caracterstica de TCP e UDP.
TRANSMISSION CONTROL PROTOCOL (TCP) e USER DATAGRAM PROTOCOL (UDP)
Transmission Control Protocol (TCP)
Atualmente um dos protocolos sob os quais assenta o ncleo da Internet. Adequado para
redes globais por verificar se os dados so enviados de forma correta pela rede, na
seqncia apropriada e sem erros, sendo verstil e robusto. O TCP um protocolo do nvel
da camada de transporte (camada 4) do Modelo OSI e sobre o qual assentam a maioria
das aplicaes cibernticas, como o SSH, FTP, HTTP - a World Wide Web (www).
Caractersticas fundamentais do TCP:
Orientado conexo: envia um pedido de conexo para o destino, usando-o para
transferir dados.
Ponto a ponto: sua conexo estabelecida entre dois pontos.
Confiabilidade: usa vrias tcnicas para proporcionar entrega confivel dos pacotes de
dados, grande vantagem em relao ao UDP, e motivo do seu uso extensivo nas
redes de computadores. Permite eliminar pacotes duplicados, recuperar pacotes
perdidos, dados corrompidos, e a ligao em caso de problemas no sistema e na
rede.
Full duplex: possibilita transferncia simultnea em ambas as direes (cliente-
servidor) durante toda a sesso.
Handshake: mecanismo de estabelecimento e finalizao de conexo a trs e quatro
tempos, respectivamente, o que permite a autenticao e encerramento de uma


Copyright 2007, ESAB Escola Superior Aberta do Brasil

45
sesso completa, com garantia de que todos os pacotes foram bem recebidos que no
final da conexo.
Entrega ordenada: a aplicao faz a entrega ao TCP de blocos de dados com um
tamanho arbitrrio num fluxo (ou stream) de dados, tipicamente em octetos. O TCP
parte estes dados em segmentos de tamanho especificado pelo valor MTU, garantindo
a reconstruo do stream no destinatrio mediante os nmeros de seqncia, caso a
circulao dos pacotes ao longo da rede (utilizando um protocolo (IP) de
encaminhamento, na camada inferior) no cheguem ordenados.
Controle de fluxo: usa o campo janela (window) para controlar o fluxo. O receptor, a
medida que recebe os dados, envia mensagens ACK (acknowledgement),
confirmando a recepo de um segmento; como funcionalidade extra, estas
mensagens podem especificar o tamanho mximo do buffer no campo (janela) do
segmento TCP, determinando a quantidade mxima de bytes aceita pelo receptor. O
transmissor pode transmitir segmentos com um nmero de bytes que dever estar
confinado ao tamanho da janela permitido: o menor valor entre sua capacidade de
envio e a capacidade informada pelo receptor.

Descrio do funcionamento do TCP:
O TCP especifica trs fases durante uma conexo:
1. estabelecimento da ligao: feito em trs passos;
2. transferncia da ligao;
3. trmino da ligao: feito em quatro passos.
Inicialmente so ativados alguns parmetros, como o Sequence Number (nmero de
seqncia), para garantir a entrega ordenada e robustez durante a transferncia.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

46
O TCP interage de um lado com processos das aplicaes e de outro com o protocolo da
camada de rede da arquitetura Internet. A interface entre o protocolo e a camada superior
consiste em um conjunto de chamadas, como para abrir e fechar conexes, para enviar e
receber dados em conexes estabelecidas. J a interface entre o TCP e a camada inferior
define um mecanismo atravs do qual as duas camadas trocam informaes
assincronamente.
Este protocolo capaz de transferir uma cadeia (stream) contnua de octetos, nas duas
direes, entre seus usurios, decidindo o momento de parar de agrupar os octetos e de
transmitir o segmento formado por esse agrupamento. Porm, caso seja necessrio, o
usurio do TCP pode requerer a transmisso imediata dos octetos que esto no buffer de
transmisso, atravs da funo push.
O TCP no exige um servio de rede confivel para operar, mas responsabiliza-se pela
recuperao de dados corrompidos, perdidos, duplicados ou desordenados pelo protocolo de
rede. Isto feito associando-se cada octeto a um nmero de seqncia. O nmero de
seqncia do primeiro octeto dos dados contidos em um segmento transmitido junto com o
segmento (nmero de seqncia do segmento). Os segmentos carregam "de carona"
(piggybacking) um reconhecimento.

User Datagram Protocol (UDP)
Protocolo de datagramas de utilizador (ou usurio) faz entrega de mensagens
independentes, designadas por datagramas, entre aplicaes ou processos, em sistemas
host, podendo ser desordenada ou at perdida. A integridade dos dados pode ser gerida por
um checksum (campo no cabealho de checagem por soma).
O UDP d s aplicaes acesso direto ao servio de entrega de datagramas, como o IP.
pouco confivel para conexo, ou seja, no h tcnicas para confirmar que os dados
chegaram ao destino corretamente. O UDP usa nmero de porta de origem e de destino de
16 bits na Word 1 do cabealho da mensagem.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

47
Os pontos de acesso do UDP so designados portas de protocolo, portas ou portos, em
que cada unidade de transmisso de dados UDP identifica o endereo IP e o nmero de
porta do destino e da fonte da mensagem. Os nmeros podendo ser diferentes em ambos os
casos.

O UDP o protocolo irmo do TCP. A diferena que o TCP um protocolo orientado
conexo, que inclui vrios mecanismos para iniciar e encerrar a conexo, negociar tamanhos
de pacotes e permitir a retransmisso de pacotes corrompidos. No TCP tudo isso feito com
muito cuidado, para garantir que os dados realmente cheguem inalterados, apesar de todos
os problemas que possam existir na conexo. O lema transmitir com segurana. J UDP
transmite dados pouco sensveis, como streaming de udio e vdeo, sem checagens, sem
confirmao, e apenas uma vez, incluindo apenas um frgil sistema de CRC. Os pacotes que
chegam corrompidos so simplesmente descartados, sem que o emissor sequer saiba do
problema.
A idia transmitir dados com o maior desempenho possvel, eliminando dos pacotes quase
tudo que no sejam dados em si. Apesar da pressa, o UDP tem seus mritos, pois impede


Copyright 2007, ESAB Escola Superior Aberta do Brasil

48
que quadros fantasmas sejam exibidos no meio de um vdeo, sem considervel perda de
desempenho.
Em geral, os programas que utilizam portas UDP recorrem tambm a uma porta TCP para
enviar as requisies de dados e tambm para checar periodicamente se o cliente ainda est
online. Na Internet, O UDP um protocolo de transporte que presta um servio de
comunicao no orientado a conexo e sem garantia de entrega. Portanto, as aplicaes
que utilizam este tipo de protocolo devem ser responsveis pela recuperao dos dados
perdidos.
Cabealho UDP:
extremamente simples, contendo apenas os nmeros de porta, comprimento da
mensagem e o checksum. O cabealho dos datagramas UDP, muito menor que o inserido
pelo TCP, colocado a seguir ao cabealho IP.

Descrio do funcionamento do UDP:
O UDP opera no modo sem conexo e fornece um servio de datagrama no confivel,
sendo, portanto, uma simples extenso do protocolo IP. Recebe os pedidos de transmisso
de mensagens entregues pelos processos de aplicao da estao de origem e os
encaminha ao IP, responsvel pela transmisso. Na estao de destino, o processo inverso
ocorre. O protocolo IP entrega as mensagens (datagramas) recebidas ao UDP que as
entrega aos processos de aplicao, sem nenhuma garantia.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

49
UNIDADE 8
Objetivo: Conhecimento do modelo, operao e aplicao de Protocolos de Gerncia.
PROTOCOLOS DE GERNCIA
Simple Network Management Protocol (SNMP)
Protocolo de Gerncia Simples de Rede um protocolo de gerncia tpica de redes TCP/IP,
da camada de aplicao designada para facilitar a troca de informaes (intercmbio) de
gerenciamento entre dispositivos de rede, como placas e comutadores (switches).
O SNMP possibilita os administradores de rede gerenciar o desempenho da rede, encontrar
e solucionar eventuais problemas e planejar com mais preciso uma possvel expanso da
rede.

O software de gerncia de redes segue o modelo cliente-servidor convencional: uma
aplicao servidora na mquina cliente e uma aplicao cliente no dispositivo de rede a ser
analisado ou monitorado. Para evitar confuso com outras aplicaes de rede, os sistemas


Copyright 2007, ESAB Escola Superior Aberta do Brasil

50
de gerncia de redes usam gerente para a aplicao servidora e agente para a aplicao
cliente que roda no dispositivo de rede.

O SNMP um protocolo relativamente simples, porm suficientemente poderoso para
resolver difceis problemas apresentados quando se tenta gerenciar redes heterogneas.
um protocolo de requisio/resposta simples. Os NMS podem enviar mltiplas requisies
sem receber uma resposta.
Aplicaes de gerenciamento que utilizam o SNMP [Oda94b]:
Fazer polling nos dispositivos de rede e coletar dados estatsticos para anlise em
tempo real.
Receber um conjunto limitado de notificaes de eventos significativos ou mensagens
trap.
Reconfigurar dispositivos de rede.
Operaes definidas no SNMP [Cisco96]:
get-request: solicitao de recuperao do valor de uma ou um conjunto de variveis
informados na solicitao.
get-next-request: solicitao de recuperao do valor de uma ou um conjunto de
variveis que sucedem lexicograficamente quelas informaes na solicitao.
get-response: resposta s operaes get-request, get-next-request e set-request.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

51
trap: envio de um evento no solicitado para uma ou vrias estaes de
gerenciamento. Tipo de traps definidos no RFC 1215: cold start, warm start, link down,
link up, authentication failure, egp neighbor loss e enterprise specific.

Os pacotes de mensagem do SNMP so divididos em duas partes. A primeira parte contm a
verso e o nome comunitrio, e a segunda contm o protocolo de unidade de dados (PDU)
do SNMP especificando a operao que ser realizada (get, set e outros) e a instncia de
objetos envolvida na operao.

O modelo de gerenciamento da Internet
Como o TCP/IP, o SNMP um protocolo Internet. Ele uma parte da arquitetura de
gerenciamento da Internet, que baseada na interao de diversas entidades:
Elementos de rede: ou dispositivos gerenciados, so dispositivos de hardware, como
computadores, roteadores e servidores de terminais que esto conectados rede.
Agentes: so mdulos de software que residem nos elementos de rede. Coletam e
armazenam informaes de gerenciamento como o nmero de pacotes de erros recebidos
pelo elemento de rede. So eles que respondem s solicitaes dos gerentes.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

52
Objeto gerenciado: qualquer elemento que possa ser gerenciado, como uma lista dos
circuitos TCP atualmente ativos em um host particular.
MIB (Management Information Base): uma coleo de objetos gerenciados residentes em
um armazenamento virtual de informaes, definidos em mdulos especficos da MIB.

Notao sinttica: a linguagem usada para descrever os objetos gerenciados da MIB em
um formato independente da plataforma. Um uso consistente da notao sinttica permite
que diferentes tipos de computadores compartilhem informaes. Sistemas de
gerenciamento Internet usam um subconjunto Open System Interconnection (OSI) Abstract
Syntax Notation 1 (ASN.1) da International Organization for Standardization's (ISO) para
definir tanto os pacotes que so trocados pelo protocolo de gerenciamento quanto os objetos
que ele deve gerenciar.
Structure of Management Information (SMI): define as regras para descrever as informaes
de gerenciamento, usando ASN.1.
Network Management Stations (NMS): ou consoles, executam aplicaes de gerenciamento
para monitorar e controlar elementos de rede. Fisicamente, os NMS so usualmente
Workstations com CPU velozes, monitores coloridos de alta definio, memria substancial e
um grande espao em disco.
Protocolo de gerenciamento: usado para transportar informaes de gerenciamento entre
agentes e NMS. O SNMP o protocolo de gerenciamento padro da comunidade Internet.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

53

O SNMP foi construdo para minimizar a quantidade e a complexidade das funes
necessrias para gerenciar um agente. O paradigma funcional de controle e monitorao do
protocolo foi definido de maneira extensiva, para poder absorver mais facilmente novos
aspectos das operaes de rede e gerenciamento. Alm disto, esta arquitetura totalmente
independente da plataforma dos elementos da rede e dos NMS [Case90].
Os processos que implementam as funes de gerenciamento Internet atuam ou como
agentes ou como gerentes. Os agentes coletam junto aos dispositivos gerenciados as
informaes relevantes ao gerenciamento da rede. O gerente processa essas informaes
com o objetivo de detectar falhas no funcionamento dos elementos da rede, para que
possam ser tomadas providncias no sentido de contornar os problemas que ocorrem como
conseqncia das falhas.
Um objeto gerenciado representa um recurso e pode ser visto como uma coleo de
variveis cujo valor pode ser lido ou alterado. O gerente envia comandos aos agentes. Para
monitorar os dispositivos gerenciados, o gerente solicita ao agente uma leitura no valor das
variveis mantidas por estes dispositivos, atravs do comando Get, e o agente responde
atravs do comando Response. Para controlar os dispositivos gerenciados, o gerente
modifica o valor das variveis armazenadas nos dispositivos gerenciados, atravs do
comando Put. Isto pode ser usado para disparar indiretamente a execuo de operaes nos
recursos associados aos objetos gerenciados. Um reboot do elemento de rede pode ser


Copyright 2007, ESAB Escola Superior Aberta do Brasil

54
facilmente implementado, basta que o gerente modifique o parmetro que indica o tempo at
uma reinicializao do sistema.
Gerente pode ainda determinar que varivel um dispositivo gerenciado suporta e colher
informaes de forma seqencial, das tabelas de variveis (como as tabelas de roteamento
IP) nos dispositivos gerenciados. Para isto, ele utiliza as operaes transversais (transversal
operations). Em alguns casos necessrio que a troca de informaes seja em sentido
inverso, isto , o agente tem de passar informaes para o gerente. O SNMP define a
operao Trap para que um agente informe ao gerente a ocorrncia de um evento especfico
[Cisco96].

Filho, Edson Costa de Barros Carvalho., Modelagem, Aplicaes e Implementaes de
redes Neurais. Anais da IV Escola Regional de Informtica da SBC Regional Sul, 21 a 27 de
abril de 1996. Pginas 36 - 53.




Copyright 2007, ESAB Escola Superior Aberta do Brasil

55
UNIDADE 9
Objetivo: Conhecer a implementao de dispositivo Remote MONitoring (RMON), poltica
Proxy e relacionamentos administrativos.
RELACIONAMENTOS ADMINISTRATIVOS
Definio dos Relacionamentos Administrativos
A arquitetura SNMP admite uma variedade de relacionamentos administrativos entre
entidades que participam do protocolo. As entidades residentes nas estaes gerenciadas e
os elementos de rede que se comunica com outro elemento usando SNMP so chamados de
entidades de aplicao SNMP. O processo que implementa e suporta as entidades de
aplicao SNMP chamado protocolo de entidades. A juno de um agente SNMP com
algum conjunto arbitrrio de entidades de aplicao SNMP chamada de comunidade
SNMP, cada qual nomeada atravs de uma cadeia de octetos. Uma mensagem SNMP,
originada por uma entidade de aplicao SNMP que de fato pertence a comunidade SNMP
referenciada pela mensagem, chamada mensagem SNMP autntica. O conjunto de regras
existentes para que uma mensagem seja identificada como uma mensagem SNMP autntica
para uma comunidade SNMP qualquer chamado de esquema de autenticao. A
implementao de uma funo que identifica mensagens autnticas de acordo com um ou
mais esquemas de autenticao chamado servio de autenticao.
Um efetivo gerenciamento das relaes administrativas entre entidades de aplicao SNMP
requer que os servios de autenticao (pelo uso de criptografia ou outra tcnica) sejam
capazes de identificar mensagens autnticas com um alto grau de confiabilidade.
Para qualquer elemento da rede, um subconjunto de objetos na MIB chamado de viso da
MIB SNMP. Um elemento do conjunto (READ-ONLY, READ-WRITE) chamado de modo de
acesso SNMP. A juno do modo de acesso SNMP com a viso da MIB chamada de perfil
da comunidade SNMP, que representa um privilgio de acesso especfico para variveis em


Copyright 2007, ESAB Escola Superior Aberta do Brasil

56
uma MIB especfica. A unio da comunidade SNMP com o perfil da comunidade chamada
de poltica de acesso SNMP. Uma poltica de acesso representa um perfil de comunidade
especfico proporcionado por um agente SNMP de uma comunidade para outros membros
desta comunidade. Todos os relacionamentos administrativos entre entidades de aplicao
SNMP so definidos em termos das polticas de acesso. Para toda poltica de acesso SNMP,
se o elemento de rede em que o agente SNMP especificado pela comunidade SNMP reside
no contm a viso MIB que o perfil especifica ento esta poltica chamada poltica de
acesso Proxy SNMP. O agente associado com a poltica de acesso Proxy chamado de
agente Proxy.
A poltica Proxy usualmente definida de duas maneiras:
Permite a monitorao e o controle dos elementos de rede que no so endereveis
usando o protocolo de gerenciamento e o protocolo de transporte. Um agente Proxy
prov uma funo de converso de protocolo permitindo a uma estao de
gerenciamento aplicar um gerenciamento consistente em todos os elementos da rede,
incluindo dispositivos como modems e multiplexadores, e outros que suportam
diferentes estruturas de gerenciamento.
Protege os elementos da rede de elaboradas polticas de controle de acesso. Um
agente Proxy pode implementar sofisticados controles de acesso, fazendo com que
diversos subconjuntos de variveis dentro de uma MIB se tornem acessveis para
diferentes estaes de gerenciamento da rede, sem aumentar a complexidade do
elemento de rede.

Remote Monitoring Protocol (RMON)
O SNMP no adequado para ambientes de redes corporativas constitudas de diversas
redes locais conectadas atravs de outra de longa distncia. Esses enlaces de rede de longa
distncia por operarem a taxas de transmisso inferiores as LAN que a interconectam,
passam a ter grande parte da sua banda de transmisso ocupada para informaes de


Copyright 2007, ESAB Escola Superior Aberta do Brasil

57
gerenciamento. Uma soluo encontrada para dirimir este problema foi o Remote MONitoring
(RMON).
O RMON oferece suporte implementao de um sistema de gerenciamento distribudo,
atribuindo funo de monitor remoto aos diferentes elementos, como estaes de trabalho,
hubs, switches ou roteadores, das redes locais remotas [Waldbusser91, Carvalho97]. Cada
elemento RMON tem como tarefa, coletar, analisar, tratar e filtrar informaes de
gerenciamento da rede e apenas notificar estao gerente os eventos significativos e
situaes de erro. Se existirem mltiplos gerentes, cada elemento RMON deve determinar
quais informaes de gerenciamento devem ser encaminhados para cada gerente.

Objetivos do RMON:
Reduzir a quantidade de informaes trocadas entre a rede local gerenciada e a
estao gerente conectada a uma rede local remota.
Possibilitar o gerenciamento contnuo de segmentos de redes locais, mesmo quando a
comunicao entre o elemento RMON e a estao gerente estiver, temporariamente,
interrompida.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

58
Permitir o gerenciamento pr-ativo da rede, diagnosticando e registrando eventos que
possibilitem detectar o mau funcionamento e prever falhas que interrompam sua
operao.
Detectar, registrar e informar estao gerente condies de erro e eventos
significativos da rede.
Enviar informaes de gerenciamento para mltiplas estaes gerentes, permitindo,
no caso de situaes crticas de operao da rede gerenciada, que a causa da falha
ou mau funcionamento da rede possa ser diagnosticada a partir de mais de uma
estao gerente.
Os dispositivos de monitoramento remoto de rede (RMON) so instrumentos que existem
com o propsito de gerenciar uma rede. Uma organizao pode dispor de diversos destes
dispositivos, um por segmento de rede, para gerenciar sua rede Internet. A especificao
RMON uma definio de uma MIB. O objetivo, contudo, definir padres de monitorao e
interfaces para a comunicao entre agentes/gerentes SNMP.
Objetivos da implementao de um dispositivo RMON [Waldbusser91]:
Operao Off-Line: a condio em que a estao gerenciadora no est em contato
constante com o dispositivo RMON. Presta-se para desenhar redes de baixo custo de
comunicao (acesso discado ou conexes com World Area Networks WAN) ou
para acidentes onde as falhas na rede afetam a comunicao entre a estao
gerenciadora e os dispositivos RMON. Desta forma, o monitor configurado para
coletar estatsticas, fazer diagnsticos continuamente, mesmo se a conexo com o
gerente no for possvel ou apresentar falhas, e notificar a estao de gerenciamento
se eventos excepcionais ocorrerem.
Monitoramento Preemptivo: se o monitor tiver recursos disponveis podero ser
usados para executar diagnsticos continuamente e para analisar o desempenho da
rede. Quando uma falha ocorrer, o monitor pode notificar a estao de gerenciamento


Copyright 2007, ESAB Escola Superior Aberta do Brasil

59
e armazenar o histrico estatstico referente falha, com o objetivo de se fazer um
estudo mais profundo e permitir a deteco e reparo da falha.
Deteco de Problemas e Gerao de Relatrios: o monitor pode ser configurado para
reconhecer certas situaes como condies de erro e checar continuamente por elas.
Quando uma destas situaes ocorrer, o monitor pode registr-la e report-la
estao de gerenciamento.
Anlise de Dados: por ser um dispositivo dedicado exclusivamente ao gerenciamento
de rede e por estar localizado diretamente no segmento monitorado da rede, os
dispositivos RMON podem fazer uma anlise significativa dos dados que coletam,
como determinar qual host gera maior trfego ou mais erros na rede.
Mltiplos Gerentes: uma configurao de rede pode ter mais de uma estao gerente
para dar mais confiabilidade, executar funes diferentes e prover capacidades de
gerncia para unidades diferentes dentro da organizao. A qualquer tempo acessos
concorrentes so permitidos para um recurso disponvel em um agente. Esta uma
caracterstica potencial para conflitos e pode gerar resultados inesperados.
No caso de agentes RMON compartilhados podem surgir as seguintes dificuldades:
Requisies concorrentes podem exceder a capacidade do monitor para fornecer
estes recursos.
Uma estao gerente pode capturar e ocupar recursos de monitor por um longo
perodo de tempo, prevenindo seu uso por outras funes gerente desejadas por
outras estaes gerentes.
Recursos podem ser designados para uma estao gerente onde ocorreu uma falha e
os recursos no foram liberados.
Para proceder com esses problemas, uma combinao de caractersticas de resoluo e
preveno necessria. Ela pretende que uma simples caracterstica na MIB RMON suporte


Copyright 2007, ESAB Escola Superior Aberta do Brasil

60
estes requerimentos. Associado com cada tabela de controle est um objeto do tipo registro
que identifica o proprietrio de um registro particular da tabela e de funes associadas.
O rtulo proprietrio pode ser usado das seguintes formas:
Uma estao gerente pode reconhecer recursos prprios.
Um operador pode identificar a estao gerente que seja proprietria de um recurso
em particular ou funo e negociar para serem acessveis para todos.
Um operador pode ter autoridade para liberar recursos que outro operador tenha
reservado.
A especificao sugere que o rtulo proprietrio contenha um ou mais dos atributos:
endereo IP, nome da estao gerente, nome do gerente de rede, localizao ou telefone.
Apesar do rtulo ser proveitoso, importante ressaltar que o rtulo no tem ao como uma
senha ou mecanismo de controle de acesso.
Se mltiplo gerente de rede tem acesso tabela de controle, uma maior eficincia pode ser
alcanada pelo compartilhamento. Quando uma estao gerente quer utilizar certa funo no
monitor, ela precisa verificar a tabela de controle relevante para ver que funo, tem sido
definida por outra estao gerente. Neste caso, a estao gerente pode compartilhar a
funo simplesmente observando os registros de dados read-only associados com o registro
de controle. Contudo, a estao gerente que seja proprietria de uma tabela de controle
pode modificar ou apagar aquele registro a qualquer hora.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

61

Freqentemente, um monitor ser configurado com um conjunto padro de funes que
sero setadas quando ele for inicializado. Os registros que definem estas funes so
propriedades do monitor. Cada rtulo relevante configurado com uma cadeia de nome
"monitor".

Gorni, Antnio Augusto, Redes Neurais Artificiais - Uma Abordagem revolucionria
em Inteligncia Artificial. Revista MicroSistemas edio 133 pginas 14 a 25 e edio
134 pginas 14 a 17, Ano XII



Antes de dar continuidades aos seus estudos fundamental que voc acesse sua
SALA DE AULA e faa a Atividade 1 no link ATIVIDADES.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

62
UNIDADE 10
Objetivo: Conhecer a implementao de dispositivo Remote MONitoring (RMON), poltica
Proxy e relacionamentos administrativos (continuao).
DISPOSITIVO REMOTE MONITORING (RMON)
O dispositivo Remote MONitoring (RMON) um monitor remoto que pode ser configurado
como uma funo disponvel em um sistema ou como um dispositivo dedicado. Configurado
como dispositivo dedicado, o monitor capaz de efetuar operaes mais complexas. A
definio da MIB RMON contm caractersticas que suportam controle extensivo da estao
de gerenciamento. Estas caractersticas dividem-se em duas categorias:
1. Configurao: um monitor remoto necessitar ser configurado para coletar dados em
tipo e forma. A MIB organizada em grupos funcionais, cada qual ter uma ou mais e
tabelas de dados e tabelas de controle (que contm parmetros que descrevem o
dado na tabela de dados, somente para leitura). Assim, a estao gerente envia os
parmetros apropriados para configurar o monitor remoto para coletar os dados
desejados. Os parmetros so configurados pela adio de um novo registro na tabela
ou alterando uma existente. Desse modo, funes para serem executadas pelo
monitor so definidas e implementadas na tabela. Uma tabela controle pode conter
objetos que especifiquem a origem dos dados coletados, tipos de dados. Para
modificar qualquer parmetro na tabela de controle necessrio primeiro invalidar a
entrada, retirando-a daquela entrada e de todos os registros associados em tabelas de
dados. A estao gerente pode ento criar um novo registro controle com os
parmetros modificados. O mesmo mecanismo usado para apenas desabilitar uma
coleo de dados. Quando um registro da tabela de controle apagado, os registros
das tabelas de dados associadas so apagados, e os recursos usados pelos registros
so recuperados.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

63
2. Invocao de Ao: o SNMP providencia mecanismos no especficos para emitir um
comando para um agente executar uma ao. SNMP tem apenas capacidade de ler
valores de objetos e setar valores de objetos com viso MIB. Contudo, isto possvel
para usar o conjunto de operaes SNMP para emitir um comando. Um objeto pode
ser usado para representar um comando, assim que uma ao especfica alcanada
se o objeto setado para um valor especfico. Um nmero desses objetos includo
na MIB RMON. Em geral, estes objetos representam estados, e uma ao
executada se a estao gerente trocar o estado (pela troca do valor do objeto).
RMON1 e RMON2: so dois padres bsicos de protocolo RMON, funcionalmente
complementares.

O RMON1 opera somente na camada Media Access Control (MAC) e oferece recursos ao
administrador da rede para monitorar o trfego e coletar informaes estatsticas da
operao de um segmento de rede local, alm de realizar o diagnstico remoto de falhas e
erros ocorridos no segmento de rede a partir de funcionalidades de um analisador de
protocolo suportadas pelo correspondente elemento RMON [Carvalho97]. Segundo
[NetScout96] o fato do RMON1 s trabalhar na camada MAC significa que somente
apresenta estatsticas para trfego agregado, porm no apresenta estatsticas para
camadas diferentes de vrias pilhas de protocolos (IP, FTP, IPX). Significa tambm que, por
no serem capazes de monitorar a camada de rede, os dispositivos RMON1 no distinguem
o trfego neste segmento originado atravs de um roteador, o que uma grande deficincia.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

64
Assim, muitas aplicaes usuais como uma medio do tempo de resposta cliente/servidor
ou uma proviso de estatstica para as sete camadas, no possvel atravs deste protocolo
unicamente. O RMON2 opera no nvel da camada de rede e camadas superiores,
complementando o RMON1, possibilitando coletar informaes estatsticas e monitorar a
comunicao fim-a-fim e o trfego gerado por diferentes tipos de aplicao.


Remote Monitoring Management Information Base (RMON-MIB)
A implementao das funes do protocolo RMON somente vivel mediante o suporte de
uma base de dados de gerenciamento (RMON-MIB) associada a cada elemento RMON da
rede.

Grupos da RMON1-MIB:
Para a RMON1-MIB, foram especificados nove grupos bsicos de variveis [Carvalho97]:
1. Estatstico: mantm estatsticas de utilizao, trfego e taxas de erros ocorridos em
um segmento de rede.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

65
2. Histrico: permitem controlar o processo de amostragem (definio dos intervalos) de
informaes do grupo estatstico e registra-as, empregadas na anlise do
comportamento de uma rede e que oferecem subsdios para um gerenciamento pr-
ativo.
3. Alarmes: possibilitam estabelecer condies limites de operao de uma rede que
deve provocar a gerao de alarmes.
4. Hosts: contm informaes relativas ao trfego gerado e recebido pelos hosts
conectados atravs da referida rede.
5. Classificao de n hosts (top n hosts): permite classificar os hosts segundo critrios
pr-definidos, como determinar quais os hosts conectados atravs da rede que geram
maior trfego em um dado perodo do dia.
6. Matriz: contm informaes de utilizao da rede e taxa de erros na forma de matriz,
associando pares de endereos MAC de elementos de rede.
7. Filtro: define condies associadas a pacotes trafegados pela rede, que uma vez
satisfeitas implicam captura de tais pacotes pelo elemento RMON ou no registro de
estatsticas baseadas nos mesmos.
8. Captura de Pacotes: determina como devem ser capturados os dados dos pacotes
trafegados pela rede a serem enviados aos gerentes. Como default, so capturados
os cem primeiros bytes dos pacotes filtrados pelo elemento RMON.
9. Evento: define todos os eventos que implicam a criao de registros (logs) de eventos
e o envio de informaes pertinentes do elemento RMON aos gerentes.
A implementao de todos os grupos opcional, embora exista uma relao de dependncia
entre alguns deles, como o caso do grupo de classificao de n hosts em relao ao
grupo de hosts.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

66
Grupos da RMON2-MIB:
Para a RMON2-MIB, foram especificados oito grupos bsicos de variveis:
1. Grupo Protocol Directory (protocolDir): lista os protocolos que o probe tem capacidade
de monitorar e permite a adio, remoo e configurao das entradas nesta lista.
2. Grupo Protocol Distribution (protocolDist): coleta as quantidades relativas de octetos e
pacotes para os diferentes protocolos detectados no segmento da rede.
3. Grupo Address Map (addressMap): lista endereos MAC para endereos de rede
descobertos pelo probe e em qual interface eles estavam na ltima utilizao.
4. Grupo Network Layer Matrix (nlMatrix): calcula a quantidade de trfego enviado entre
cada par de endereo de rede descoberto pelo probe. Embora hlMatrixControlTable
tambm tenha objetos que controlam alMatrixTable, a implementao da
alMatrixTable no necessria para a implementao total desse grupo.
5. Grupo Application Layer Host (alHost): calcula a quantidade de trfego, por protocolo,
enviado de e para cada endereo de rede descoberto pelo probe. Implementaes
desse grupo requerem a implementao do grupo Network Layer Host.
6. Grupo Application Layer Matrix (alMatrix): calcula a quantidade de trfego, por
protocolo, enviado de cada par de endereo de rede descoberto pelo probe.
Implementaes desse grupo requerem a implementao do grupo Network Layer
Matrix.
7. Grupo User History Collection (usrHistory): combina mecanismos usados nos grupos
alarm e history para prover um mecanismo de histria especificado pelo usurio
utilizando trs tabelas adicionais: duas de controle e uma de dados. Esta funo tem
sido feita tradicionalmente por aplicaes NMS, via polling peridico. O grupo
userHistory permite que essa tarefa seja descarregada em um probe RMON. Os
dados so coletados da mesma maneira que qualquer tabela de dados history
(etherHistoryTable) exceto que o usurio especifica as instncias MIB a serem


Copyright 2007, ESAB Escola Superior Aberta do Brasil

67
coletadas. Os objetos so coletados em bucket-groups, com o intuito de que todas as
instncias MIB no mesmo bucket-group sejam coletadas da forma mais atmica
possvel pelo probe RMON.
8. Grupo Probe Configuration (probeConfig): permite controlar a configurao de vrios
parmetros operacionais do probe. As entradas de usrHistoryObject associadas com
outra usrHistoryControlTable no precisam estar ativas antes da entrada de controle
estar ativada.

WWW Proxy Server
Um servidor de Proxy World Wide Web (WWW), ou simplesmente servidor de Proxy Web,
um servidor Hyper-Text Transfer Protocol (HTTP) especializado. A utilizao primria desse
servidor permitir acesso Internet para clientes que estejam por trs de um firewall 1,
podendo acessar completamente a Internet passando por um host firewall com o mnimo de
esforo e sem comprometer a segurana.
O servidor Proxy espera pelas requisies dos clientes de dentro do firewall e repassa estas
requisies para um servidor Internet remoto, fora do firewall. O servidor Proxy recebe as
respostas do servidor externo e envia-as de volta ao cliente interno.
Todos os clientes dentro de uma mesma sub-rede usam o mesmo servidor de Proxy, o que
permite ao Proxy fazer cache 2 eficiente de todos os documentos que so requisitados por
um certo nmero de clientes. Os clientes sob os servidores Proxy sentem-se como se
estivessem recebendo os documentos diretamente do servidor remoto.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

68

Servidor Proxy est rodando em um host com firewall e faz conexes com servidores
externos usando o software firewall.
A habilidade que o Proxy tem no uso do cache torna-o atrativo para aqueles que no esto
dentro do firewall. Configurar um servidor Proxy fcil e os mais populares programas
clientes Web j tem suporte a essa ferramenta, tornando simples a tarefa de configurar um
grupo de trabalho inteiro para usar o servio de cache do Proxy. Isto reduz os custos com
trfego de rede porque muitos documentos que so requisitados so lidos do cache local.
Clientes sem Domain Name Service (DNS) tambm podem usar a Web. O endereo IP do
Proxy a nica informao realmente necessria. Organizaes usando endereos, por
exemplo, classe A (como 10.*.*.*), em suas redes particulares, podem ainda acessar a
Internet contanto que o Proxy seja visvel tanto para a rede particular como para a Internet
[Process97].
Muitos servidores Proxy so implementados atravs de um mtodo de acesso simples.
Porm, alguns podem aceitar ou no as requisies Internet, de acordo com o protocolo
destas requisies. Em alguns casos, o servidor Proxy pode permitir chamadas de servidores
File Transfer Protocol (FTP) enquanto recusa chamadas de servidores HTTP.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

69
UNIDADE 11
Objetivo: Conhecer as aplicaes de servidor Proxy; Comunicao atravs de um Servidor
HTTP; Controle de acesso seletivo a Internet.
SERVIDOR PROXY
utilizado com diversos objetivos:
Permitir e restringir o acesso de clientes Internet baseado no endereo IP do cliente.
Cache de documentos para documentos muito acessados pelos clientes.
Controle seletivo de acesso Internet e s sub-redes, baseado na Uniform Resource
Location (URL).
Prover acesso Internet para companhias usando redes privativas.
Converso de dados para o formato Hyper-Text Markup Language (HTML), tornando-
os acessveis atravs de um navegador.
Acesso Internet: Algumas mquinas de uma rede local podem no estar habilitadas para
acessar os recursos da Internet diretamente por estarem rodando em sistemas sob um
firewall de proteo. Neste caso, o servidor Proxy pode enviar os documentos solicitados por
estes navegadores. O servidor recebe a requisio do navegador em formato de URL,
analisa a informao requisitada, converte-a para o formato HTML e a envia para o
navegador dentro do firewall. O servidor pode manejar todas as requisies da rede, se ele
for a nica mquina diretamente conectada Internet.





Copyright 2007, ESAB Escola Superior Aberta do Brasil

70
Cache de Documentos:
Os clientes dentro de uma mesma sub-rede acessam a um mesmo servidor Proxy. Alguns
servidores mantm um cache de documentos Internet para clientes dentro de uma rede local.
Cache de documentos significa manter uma cpia local de um documento Internet, evitando
que o servidor requisite este documento mais vezes. O cache mais efetivo se realizado em
um servidor Proxy do que no sistema cliente. Isto minimiza o espao de disco utilizado, uma
vez que apenas uma cpia do documento feita. O cache de documentos no servidor Proxy
permite que documentos muitas vezes referenciados por mltiplos navegadores possam ser
disponibilizados atravs desse servidor com maior eficincia.
Atravs do acesso ao cache possvel acessar a Internet mesmo que o servidor HTTP ou a
rede externa estejam com problemas e fora de funcionamento. O acesso s informaes
mantidas no servidor Proxy, possibilita uma melhoria na utilizao dos recursos da rede,
como o acesso a servidores FTP que normalmente esto fora de funcionamento ou muito
cheios, mais que podem ter seus arquivos armazenados localmente.
Existem muitos problemas que necessitam ser resolvidos quando o uso do cache
introduzido: qual o tempo mximo de armazenamento de um documento e como decidir
quais documentos vale a pena ser colocados no cache. A especificao do tempo de vida de
documentos foi prevista pelo protocolo HTTP que contm um objeto especificando a data em
que o documento j no ser mais vlido. Entretanto, existem muito poucos servidores que
atualmente fornecem essa informao, sendo necessrio confiar em estimativas heursticas
e grosseiras do tempo de vida do documento.

Controle Seletivo do Acesso Internet:
Quando se utiliza um servidor Proxy possvel filtrar as transaes dos clientes no nvel de
protocolo, controlar o acesso aos servios para mtodos individuais, hosts e domnios.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

71
Alguns servidores Proxy permitem:
Decidir quais requisies sero respondidas e quais sero descartadas.
Especificar as URL ou a URL Mask (mscara de rede) dos hosts da rede que no
sero atendidos pelo servidor Proxy.
Especificar quais protocolos os clientes podem utilizar, baseado nos endereos IP. Por
exemplo, pode ser permitido que um cliente faa requisies HTTP, mas no permitir
que ele utilize o protocolo FTP.

Comunicao Atravs de um Servidor HTTP:
Muitos clientes tm um endereo IP prprio e uma conexo direta com a Internet. Quando
uma requisio HTTP normal feita por um cliente, o servidor identifica somente o path e a
poro chave da URL requisitada. Outras partes da URL, como o especificador de
protocolo http: e o nome do servidor so claros para o servidor HTTP remoto. O path
requisitado especifica um documento ou um script CGI no sistema de arquivos local do
servidor ou ainda algum outro recurso disponvel daquele servidor.

Exemplo:
Quando um usurio digita: http://www.empresaX.com.br/documentos/Proxy.html
O navegador converte para: GET/documentos/Proxy.html
O navegador conecta-se ao servidor rodando no endereo www.empresaX.com.br, envia o
comando e espera por uma resposta. O navegador fez uma requisio a um servidor HTTP


Copyright 2007, ESAB Escola Superior Aberta do Brasil

72
especificando o recurso requisitado. No h especificao de protocolo ou nome de host na
requisio.
A requisio especificou o path (diretrio de dados) da informao e o documento Proxy.html
localizado no diretrio de dados. A resposta um documento ou uma mensagem de erro.

Comunicao Atravs de um Servidor Proxy
O servidor Proxy atua tanto como um sistema servidor quanto um sistema cliente. Ele um
servidor quando aceita uma requisio HTTP de um navegador, e age como um cliente
quando se conecta ao servidor remoto para requerer um documento. Este servidor usa o
campo cabealho da requisio passada pelo navegador, quando ele vai se conectar ao
servidor remoto. Isto significa que o navegador no perde sua funcionalidade quando est
conectado atravs de um Proxy.
Um servidor Proxy completo deve ser capaz de se comunicar com todos os protocolos Web
(HTTP, FTP, Gopher e WAIS). Proxies que trabalham com apenas um protocolo Internet
(HTTP) so possveis, porm o navegador Web pode acessar outros servidores Proxy para
utilizar todos os protocolos Internet. Quando um navegador envia uma requisio, estando
sob um servidor Proxy, o navegador sempre usa o protocolo HTTP para as transaes com o
servidor Proxy. Isto acontece mesmo quando o navegador quer acessar o servidor remoto
usando outro protocolo, como o FTP.
Ao invs de especificar apenas o diretrio de dados e o documento requerido ao servidor
Proxy, o navegador deve especificar toda a URL. Deste modo o servidor Proxy tem toda a
informao necessria para fazer a requisio ao servidor remoto especificado na URL
requisitada, utilizando o protocolo especificado. A nica diferena entre uma transao HTTP
normal e uma utilizando Proxy que a transao usando o servidor Proxy requer a URL
completa do documento. Quando utilizamos um servidor Proxy como um sistema cliente, ele
age como um navegador nas transaes de documentos.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

73

Exemplo:
Quando um usurio digita: http://www.empresaX.com.br/documentos/Proxy.html
O navegador converte a URL: GET http://www.empresaX.com.br/documentos/Proxy.html
O navegador ento se conecta ao servidor Proxy e este prov a conexo com a Internet. O
servidor Proxy converte a requisio para: GET /documentos/Proxy.html
O servidor Proxy conecta-se ao servidor rodando em www.empresax.com.br, envia o
comando e espera por uma resposta. Quando recebe a resposta, o Proxy repassa-a ao
cliente.

Aprendizagem por Reforo para Emergncia de Comportamentos em Navegao
Autnoma de Rob Dotado de Viso (Edivaldo de Araujo Pereira).pdf
http://www.din.uem.br/arquivos/pos-graduacao/mestrado-em-ciencia-da-
computacao/dissertacoes/Aprendizagem%20por%20Reforco%20para%20Emergencia
%20de%20Comportamentos%20em%20Navegacao%20Autonoma%20de%20Robo%
20Dotado%20de%20Visao%20%28Edivaldo%20de%20Araujo%20Pereira%29.pdf/vie




Copyright 2007, ESAB Escola Superior Aberta do Brasil

74
UNIDADE 12
Objetivo: Conhecer os tipos de Dados; Caractersticas Gerais e aplicaes dos Ponteiros.
ESTRUTURA DE DADOS
Um dos temas fundamentais da cincia da computao, aplicado com os mais diferentes
propsitos nas mais diversas reas do conhecimento. Sabe-se que algoritmos manipulam
dados. Quando estes dados esto organizados (dispostos) de forma coerente, caracteriza
uma forma (estrutura) de dados. So a organizao e os mtodos que manipulam esta
determinada estrutura que lhes conferem singularidade.
As estruturas de dados so chamadas tipos de dados compostos e se dividem em dois:
Estruturas homogneas (vetores e matrizes): so conjuntos de dados formados pelo mesmo
tipo de dado primitivo.
Estruturas heterogneas (registros): so conjuntos de dados formados por tipos de dados
primitivos diferentes (campos do registro) em uma mesma estrutura.

A escolha de uma estrutura de dados apropriada pode tornar um problema complicado em
uma soluo bastante trivial. O estudo das estruturas de dados est em constante


Copyright 2007, ESAB Escola Superior Aberta do Brasil

75
desenvolvimento (assim como o de algoritmos), mas, apesar disso, existem certas estruturas
clssicas que se comportam como padres.

Consideraes Gerais
A automatizao de tarefas um aspecto marcante da sociedade moderna e na cincia da
computao houve um processo de desenvolvimento simultneo e interativo de mquinas
(hardware) e dos elementos que gerenciam a execuo automtica (software) de uma tarefa.
Nesta grande evoluo do mundo computacional, um fator de relevante importncia a
forma de armazenar as informaes, j que, informtica a cincia da informao, aliando o
grande desenvolvimento do hardware e do software com a forma de armazenamento e
tratamento da informao. Por isso a importncia das estruturas de dados, que so formas
otimizadas de armazenamento e tratamento das informaes eletronicamente.
As estruturas de dados foram espelhadas em formas naturais de armazenamento do nosso
dia-a-dia, ou seja, a transformao de uma forma de armazenamento j conhecida e
utilizada no nosso mundo para o mundo computacional. Por isso, cada tipo de estrutura de
dados possui vantagens e desvantagens e cada uma delas tem sua rea de atuao (massa
de dados) tima.
O objetivo deste captulo introduzir quele que j possua um conhecimento da linguagem
Pascal, no mundo das estruturas de dados, a teoria (conceitos) e a prtica (implementao)
das estruturas de dados mais utilizadas no dia-a-dia do profissional de informtica. Se
somente teve contato com estruturas de dados estticas (vetores e matrizes) e est
familiarizado com suas facilidades e dificuldades de uso, agora novas estruturas de dados
dinmicas sero apresentadas, ou seja, crescem e diminuem de acordo com a necessidade,
sendo necessrias vrias rotinas que controlam esta dinamicidade das estruturas.




Copyright 2007, ESAB Escola Superior Aberta do Brasil

76
Tipo Apontador (Ponteiro)
Um das caractersticas mais marcantes do Pascal permitir a criao e destruio de
variveis que possibilita a implementao das estruturas de dados dinmicos durante a
execuo do programa, chamadas variveis dinmicas. Uma varivel dinmica no
declarada na parte de declarao de variveis porque esta ainda no existe antes do seu
tempo de execuo, ela no possui sequer um nome, ficando a cargo dos ponteiros
desempenharem esta funo de nome. Uma varivel dinmica sempre referenciada
indiretamente por um apontador, ou seja, para cada varivel dinmica criada deve existir um
apontador, que literalmente aponta para ela, permitindo a sua manipulao.
A principal funo dos ponteiros permitir a criao e a manipulao das variveis
dinmicas, as quais iro compor as estruturas de dados dinmicas.

Caractersticas Gerais:
Os apontadores so declarados como as demais variveis, seguindo a sintaxe da linguagem
de programao utilizada. So variveis que armazenam o endereo de memrias de outras
variveis, funcionando assim, como meio de referenciar uma varivel dinmica, permitindo o
acesso a essa varivel. Outra caracterstica que na sua declarao deve ser indicado qual
o tipo de varivel este ir armazenar o endereo.

Ponteiros no Pascal
Declarao: a sintaxe de declarao de um tipo ponteiro o seguinte:
type identificador = ^ tipo ; {onde o smbolo ^ indica que o identificador um ponteiro}, isso
indica que teremos um ponteiro com o nome de identificador com a capacidade de
armazenar o endereo de memria de uma varivel desse tipo.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

77
Como os ponteiros so utilizados para implementar as estruturas de dados dinmicas, o mais
comum que seja criado um tipo do ponteiro desejado (type) e depois declaramos (var) as
variveis ponteiros deste tipo.
Exemplo:
type
Nome: string[35];
PontNome : ^Nome;
var
nome1,nome2,nome3 : PontNome;
Inicializao: como os ponteiros armazenam endereos de memria, assim que eles so
declarados o seu contedo um valor desconhecido (como as demais variveis), ou seja,
no podemos prever para qual rea de memria este est apontando, por isso, a linguagem
Pascal permite que um ponteiro seja inicializado da seguinte forma:
identificador: = nil; {nil um valor constante pode ser armazenado em uma varivel do tipo
apontador para indicar que a varivel no contm endereo de memria de nenhuma
varivel dinmica }
Criao de uma varivel dinmica: para criao de uma varivel dinmica necessrio que
exista uma varivel do tipo apontador para o tipo da varivel que se deseja criar, e ento
utilizar-se o procedimento new, cuja sintaxe a seguinte:
new(identificador); {onde, identificador deve ser uma varivel do tipo ponteiro para o tipo de
varivel a ser criada}
Observao: quando uma varivel dinmica criada atravs do procedimento NEW, um
espao de memria do tamanho da varivel criada alocado na memria heap e este
espao ficar alocado at ser liberado.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

78
Destruio de uma varivel dinmica: para que o espao de memria heap seja liberado
necessrio que a varivel dinmica seja destruda, isso pode ser feito atravs do
procedimento dispose, utilizando a seguinte sintaxe:
dispose (identificador);
Referncia a uma varivel dinmica: quando uma varivel dinmica criada atravs de um
ponteiro, este pode ser utilizado para referenci-la, permitindo a manipulao (leitura,
atribuio, escrita, etc.) desta varivel como outra varivel qualquer, para isso devemos
utilizar o smbolo ^ aps o nome da varivel do tipo ponteiro:
identificador^
Marcao e liberao de uma rea no heap mark (ponteiro) e release (ponteiro)
Exemplo:
program ManipulacaoVariaveisDinamicas;
type
nome = string[30];
ponteiro = ^nome;
var
p1, p2 : ponteiro;
begin
new(p1);
new(p2);
readln(p1^);
p2^ := 'Jos Maria';


Copyright 2007, ESAB Escola Superior Aberta do Brasil

79
p1^:= p1^ + ' ' + p2^;
writeln(p1^);
end.

Revista da Sociedade Brasileira de Redes Neurais
http://www.sbrn.org.br/




Copyright 2007, ESAB Escola Superior Aberta do Brasil

80
UNIDADE 13
Objetivo: Diferenciar os tipos de Listas Encadeadas, Pilhas, Deck e Filas.
LISTAS ENCADEADAS
Listas Encadeadas
Esta classe de estruturas de dados foi inspirada numa forma de armazenamento bastante
comum no cotidiano, pois o homem utiliza-se da idia de listar coisas com o objetivo de
melhor organiz-las. Baseado nesse conceito a estrutura de dados lista foi concebida, onde
cada elemento da lista armazena uma informao til e uma, ou mais, referncia para outro
elemento (limitao do mundo computacional) e assim por diante. Desta forma, com o auxlio
dos ponteiros, pode-se acrescentar ou retirar elementos conforme a necessidade.

Arranjo da memria de uma lista encadeada
Listas encadeadas geralmente so utilizadas para criar vetores de extenso de memria
desconhecida, pela sua caracterstica dinmica, permitindo que o vetor (lista) tenha sempre o
tamanho necessrio.
Listas Simplesmente Encadeadas
Este tipo de lista o mais simples.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

81
Segue as seguintes regras:
Deve existir um ponteiro que aponte para o primeiro elemento da lista (incio da lista);
Cada elemento, ou n, da lista aponta para o prximo sucessivamente (da o nome
listas encadeadas);
O ltimo elemento deve apontar para NIL, indicando o final da lista.
Estrutura bsica de um n da lista:
Declarao:
type
apontador = ^no;
InfoType = record
campos do registro;
end;
no = record
info : InfoType;
prox : apontador;
end;
Onde: n um registro com dois campos: info e prox, sendo que info um tipo registro do
tipo infotype contendo as informaes (variveis) teis e prox um ponteiro capaz de
armazenar o endereo de memria de um registro do tipo n (elemento da lista).


Copyright 2007, ESAB Escola Superior Aberta do Brasil

82

Onde: INICIO um ponteiro que guarda o endereo de memria do primeiro elemento da
lista.
Aplicao: so utilizadas quando h necessidade de criar vetores com tamanho varivel
(dinmico). Sua limitao somente permitir o caminhamento unidirecional na lista, pois,
como as referncias iniciam no primeiro elemento da lista e seguem unidirecionalmente at o
ltimo elemento, no possvel regressar no caminhamento atravs da lista. Mesmo com
esta limitao, as listas so largamente utilizadas, pela sua simplicidade de implementao
fornecendo um bom ndice entre custo/benefcio, na gerencia, em memria, de conjuntos de
dados no muito extensos.

Operaes Bsicas (Incluso, Pesquisa, Alterao e Excluso):
Como toda estrutura de armazenamento de dados, as listas simplesmente encadeadas
devem suportar as operaes de cadastro das informaes. Uma particularidade o fato de
apresentar uma pequena variao no cdigo de incluso e excluso. De acordo com o local
onde o novo elemento dever ser inserido (no incio, meio ou fim), e ainda assim, esta
variao pode ocorrer de acordo com os mecanismos de controle utilizados na gerncia da
lista, tais como, utilizao de um nico ponteiro apontando para o inicio da lista, ou dois
ponteiros, um para o incio e outro para o final.
As operaes de cadastro sobre listas devem ter o cuidado de analisar se o valor do ponteiro
para o incio diferente de NIL, pois, se for igual a lista est vazia e certamente as rotinas
devero efetuar procedimentos especiais.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

83
Incluso: levando em considerao o uso de um nico ponteiro para o incio:
procedure InsereLista (var inicio : ponteiro ; info : InfoType);
No incio
No fim
No meio
Incluso: levando em considerao o uso de dois ponteiros (incio e fim):
procedure InsereLista (var inicio, fim : ponteiro; info : InfoType);
No incio
No fim
No meio (ordenada)
Pesquisa: normalmente, usa-se uma funo que, se encontrar, retornar o endereo
do n, caso contrrio, retornar o valor NIL:
Function PesquisaLista (inicio : ponteiro ; info : InfoType) : ponteiro;
Alterao: utilizando a funo de pesquisa, obtm-se o endereo do n a ser alterado
e de posse deste endereo, altera-se os dados deste n.
procedure AlteraLista (inicio : ponteiro ; info : InfoType);
Excluso: usa-se um procedimento recebendo o incio da lista e os dados do n ser
excludo, ento, atravs do campo identificado (chave) efetua-se uma pesquisa e
localiza-se o n anterior ao n a ser excludo, e ento devemos liberar o espao
alocado para o n excludo e fazer o seu anterior apontar para o posterior.
procedure Exclui Lista (inicio : ponteiro ; info : InfoType);
No incio


Copyright 2007, ESAB Escola Superior Aberta do Brasil

84
No meio
No fim

Listas Duplamente Encadeadas
uma lista encadeada, onde cada elemento contm um ponteiro para o n anterior e um
ponteiro para o n posterior, permitindo o caminhamento nos dois sentidos da lista,
diferentemente, da lista simplesmente encadeada, que s permitia em um nico sentido.

Aplicao: semelhante s listas simplesmente encadeadas, mas aquela mais apropriada,
quando h a necessidade de caminhamento em ambos os sentidos, isso faz com que, novas
sub-rotinas sejam utilizadas nas listas duplamente encadeadas, tais como Anterior, Posterior.

Operaes Bsicas (Incluso, Pesquisa, Alterao, Excluso, Anterior e Posterior):
Anterior: dever retornar o endereo do n anterior ou NIL, caso no exista anterior:
function Anterior (Endereo No : ponteiro) : ponteiro;

Posterior: dever retornar o endereo do n posterior ou NIL, caso no exista posterior:
function Posterior (Endereo No : ponteiro) : ponteiro;



Copyright 2007, ESAB Escola Superior Aberta do Brasil

85
Filas
Uma fila uma lista linear de informao que acessada na seguinte ordem: o primeiro que
entra, primeiro que sai (FIFO First In First Out). Uma fila no permite acesso a um
elemento que no seja o primeiro.
Aplicao: so utilizadas na administrao de recursos compartilhados, impondo uma
prioridade por ordem de chegada, como as filas de impresso, onde, cada documento espera
sua vez para ser impresso.

Operaes Bsicas (Incluso e Excluso):
Existem, basicamente, duas operaes bsicas a serem implementadas nos filas: adicionar e
remover. comum a utilizao de um ponteiro para o incio e outro para o fim do fim,
facilitando assim as operaes.
Adicionar:
procedure adiciona (ver inicio : ponteiro ; info : InfoType);
Remover:
function remove (ver inicio : ponteiro) : InfoType;




Copyright 2007, ESAB Escola Superior Aberta do Brasil

86
Pilhas
Anlogo a estrutura fila, a estrutura pilha pr-define a posio de insero e remoo dos
elementos, sendo que, a estratgia ltimo que entra, primeiro que sai (LIFO Last In First
Out).
Aplicao: um bom exemplo da aplicao das pilhas a gerencia das chamadas as sub-
rotinas utilizadas pela maioria dos compiladores das linguagens de programao.

Operaes Bsicas (Incluso e Excluso):
Por raches histricas, as duas operaes primrias de pilha insero e retirada so
normalmente chamadas de push e pop, respectivamente.

Para implementar uma pilha so necessrias duas funes:
PUSH: coloca um elemento no topo da pilha:
procedure push (var inicio : ponteiro; info : InfoType);
POP: retira um elemento do topo da pila:
function pop (var inicio : ponteiro) : InfoType;

Deck
uma unio das pilhas e filas, ou seja, s permitido, manipular os elementos das
extremidades.




Copyright 2007, ESAB Escola Superior Aberta do Brasil

87
Operaes Bsicas (Incluso e Excluso):
Pode-se inserir e retirar no incio e no fim.

Faa uma agenda eletrnica que utilize os seguintes campos: cdigo, nome,
endereo, telefone e uma observao, que permita todas as operaes de cadastro
(incluso, consulta, alterao e excluso). Esta agenda dever utilizar listas
simplesmente encadeadas, onde, as informaes, devero ser carregadas e salvas
em arquivos, da seguinte maneira, quando o programa agenda for carregado, este
dever carregar o arquivo em disco para uma lista em memria, e quando o programa
for encerrado, a lista dever ser descarregada no arquivo em disco.



Utilizando a agenda criada anteriormente, acrescente a possibilidade de navegao
(para frente e para traz) na rotina de pesquisa.




Copyright 2007, ESAB Escola Superior Aberta do Brasil

88
UNIDADE 14
Objetivo: Conhecer funo de hashing.
HASH
Hash largamente utilizada para organizao dos arquivos em discos nos banco de dados.
Particularidade: utilizada em memria para melhorar o tempo de busca de elementos
armazenados em listas encadeadas.
A idia bsica criar uma srie de sub-listas no lugar de uma nica lista maior. A partir da
aplicao de uma determinada funo (chamada funo de hashing
1
) sobre a chave de
busca do elemento, decide-se em qual das sub-listas o elemento deve ser ou estar
armazenado. Procede-se, ento, uma busca na sub-lista determinada. Portanto, ao invs de
realizar a busca em toda a lista, faz-se uma busca num subconjunto da lista, conseguindo
fazer uma busca eficiente. Embora os elementos no fiquem dispostos ordenadamente, o
hash permite uma melhora na eficincia da localizao individual dos elementos em relao
s listas.
Por existir uma variedade enorme nas funes de hashing, a questo principal escolher
uma funo adequada para garantir uma distribuio uniforme dos elementos nas sub-listas.
Os ponteiros iniciais de cada sub-lista so dispostos num vetor. O nmero de sub-listas
(dimenso deste vetor) define o tamanho da chamada tabela de hash.

1
Tem como objetivo resolver duas questes importantes:
Garantir a integridade do documento recebido;
Agilizar a decifrao do documento, pois a criptografia assimtrica muito lenta na
decifragem, no deixando de ser eficiente.
- Ao aplicar a funo de hashing ao documento gerado um resumo que chamado de cdigo
hash. Este deve ter duas caractersticas fundamentais:
- Deve ser nico para cada documento;
- No deve ser possvel recompor o documento a partir do cdigo hash.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

89
A forma mais comum da funo hashing a aplicao, no campo-chave de ordenao, da
funo mdulo pelo tamanho da hash table e o resultado desta operao indica qual a sub-
lista do elemento. Caso o campo-chave de ordenao no seja numrico, pode-se utilizar
artifcios para transform-lo em um campo numrico e, ento, aplicar a funo hashing.
O hash utilizado para buscar uma melhor eficincia na busca de elementos. Este tipo de
hash em memria muito utilizado nas implementaes das tabelas de smbolos dos
compiladores das linguagens de programao.

Projetos de Redes Neurais
http://www.di.ufpe.br/~compint/projetos-rn.html




Copyright 2007, ESAB Escola Superior Aberta do Brasil

90
UNIDADE 15
Objetivo: Diferenciar Banco de Dados e Processamento Tradicional de Arquivos;
Caracterizao de Administrador de Banco de Dados; Utilizao de SGBD.
BANCO DE DADOS
A tecnologia aplicada aos mtodos de armazenamento de informaes vem crescendo e
gerando um impacto cada vez maior no uso de computadores, em qualquer rea em que os
mesmos podem ser aplicados.
Define-se banco de dados como um conjunto de dados devidamente relacionados.
Dados so fatos conhecidos que podem ser armazenados e que possuem um significado
implcito. Porm, o significado do termo banco de dados mais restrito que a definio
dada acima.
Um banco de dados possui as seguintes propriedades:
uma coleo lgica coerente de dados com um significado inerente; uma disposio
desordenada dos dados no pode ser referenciada como um banco de dados;
projetado, construdo e populado com dados para um propsito especfico; um
banco de dados possui um conjunto pr-definido de usurios e aplicaes;
Representa algum aspecto do mundo real, o qual chamado de mini-mundo ;
qualquer alterao efetuada no mini-mundo automaticamente refletida no banco de
dados.
Um banco de dados pode ser criado e mantido por um conjunto de aplicaes desenvolvidas
especialmente para esta tarefa ou por um Sistema Gerenciador de Banco de Dados
(SGBD), que permite aos usurios criar e manipular bancos de dados de propsito gerais. O


Copyright 2007, ESAB Escola Superior Aberta do Brasil

91
conjunto formado por um banco de dados mais as aplicaes que manipulam o mesmo
chamado de Sistema de Banco de Dados.
Abordagem: Banco de Dados X Processamento Tradicional de Arquivos
Auto Informao: Uma caracterstica importante da abordagem Banco de Dados que o
SGBD mantm os dados e a forma como so armazenados, contendo uma descrio
completa do banco de dados. Estas informaes so armazenadas no catlogo do SGBD
(Meta Dados), o qual contm informaes como a estrutura de cada arquivo, o tipo e o
formato de armazenamento de cada tipo de dado, restries, etc. No processamento
tradicional de arquivos, o programa que ir manipular os dados deve conter este tipo de
informao, ficando limitado a manipular as informaes que o mesmo conhece. Utilizando a
abordagem banco de dados, a aplicao pode manipular diversas bases de dados diferentes.

Ambiente de Sistema de Banco de Dados

Separao entre Programas e Dados
No processamento tradicional de arquivos, a estrutura dos dados est incorporada ao
programa de acesso. Desta forma, qualquer alterao na estrutura de arquivos implica na


Copyright 2007, ESAB Escola Superior Aberta do Brasil

92
alterao no cdigo fonte de todos os programas. J na abordagem banco de dados, a
estrutura alterada apenas no catlogo, no alterando os programas.
Abstrao de Dados: o SGBD deve fornecer ao usurio uma representao conceitual dos
dados, sem fornecer muitos detalhes de como as informaes so armazenadas. Um
modelo de dados uma abstrao de dados que utilizada para fornecer esta
representao conceitual utilizando conceitos lgicos como objetos, suas propriedades e
seus relacionamentos. A estrutura detalhada e a organizao de cada arquivo so descritas
no catlogo.
Mltiplas Vises de Dados: como um conjunto de informaes pode ser utilizado por um
conjunto diferenciado de usurios, importante que estes usurios possam ter vises
diferentes da base de dados. Uma viso definida como um subconjunto de uma base de
dados, formando deste modo, um conjunto virtual de informaes.
Usurios: Para um grande banco de dados, existe um grande nmero de pessoas
envolvidas, desde o projeto, uso at manuteno.

Administrador de Banco de Dados (DBA)
Em um ambiente de banco de dados, o recurso primrio o banco de dados e secundrio o
SGBD e os softwares relacionados, cabendo ao Administrador de Banco de Dados a
responsabilidade pela autorizao de acesso ao banco de dados e pela coordenao e
monitorao de seu uso.
Projetista de Banco de Dados: responsvel pela identificao dos dados que devem ser
armazenados no banco de dados, escolhendo a estrutura correta para representar e
armazenar dados. Atuam como staff do DBA, assumindo outras responsabilidades aps a
construo do banco de dados. Tem tambm a funo de avaliar as necessidades de cada
grupo de usurios para definir as vises que sero necessrias, integrando-as, fazendo com
que o banco de dados seja capaz de atender a todas as necessidades dos usurios.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

93
Usurios Finais:
Existem basicamente trs categorias de usurios finais do banco de dados, fazendo
consultas, atualizaes e gerando documentos:
Usurios casuais: acessam o banco de dados casualmente, mas que podem
necessitar de diferentes informaes a cada acesso; utilizam sofisticadas linguagens
de consulta para especificar suas necessidades;
Usurios novatos ou paramtricos: utilizam pores pr-definidas do banco de dados,
utilizando consultas preestabelecidas que j foram exaustivamente testadas;
Usurios sofisticados: so usurios que esto familiarizados com o SGBD e realizam
consultas complexas.

Analistas de Sistemas e Programadores de Aplicaes.
Os analistas determinam os requisitos dos usurios finais e desenvolvem especificaes
para transaes que atendam estes requisitos, e os programadores implementam estas
especificaes como programas, testando, depurando, documentando e dando manuteno
no mesmo. importante que, tanto analistas quanto programadores, estejam a par dos
recursos oferecidos pelo SGBD.

Vantagens e desvantagens do uso de um SGBD:
Controle de Redundncia: no processamento tradicional de arquivos, cada grupo de usurios
deve manter seu prprio conjunto de arquivos e dados. Desta forma, acaba ocorrendo
redundncias que prejudicam o sistema com problemas como:
Toda vez que for necessrio atualizar um arquivo de um grupo, todos os grupos devem ser
atualizados para manter a integridade dos dados no ambiente como um todo;


Copyright 2007, ESAB Escola Superior Aberta do Brasil

94
A redundncia desnecessria de dados leva ao armazenamento excessivo de informaes,
ocupando espao que poderia estar sendo utilizado com outras informaes.
Compartilhamento de Dados: um SGBD multiusurio deve permitir que mltiplos usurios
acessem o banco de dados ao mesmo tempo. Este fator essencial para que mltiplas
aplicaes integradas possam acessar o banco. Deve manter o controle de concorrncia
para assegurar que o resultado de atualizaes seja correto. Um banco de dados
multiusurios deve fornecer recursos para a construo de mltiplas vises.
Restrio a Acesso no Autorizado: um SGBD deve fornece um subsistema de autorizao e
segurana, o qual utilizado pelo DBA para criar contas e especificar as restries destas
contas; o controle de restries se aplica tanto ao acesso aos dados quanto ao uso de
softwares inerentes ao SGBD.
Representao de Relacionamentos Complexos entre Dados: um banco de dados pode
incluir uma variedade de dados que esto inter-relacionados de vrias formas. Um SGBD
deve fornecer recursos para se representar uma grande variedade de relacionamentos entre
os dados, bem como, recuperar e atualizar os dados de maneira prtica e eficiente.
Tolerncia a Falhas: um SGBD deve fornecer recursos para recuperao de falhas tanto de
software quanto de hardware.

Quando no Utilizar um SGBD:
Em algumas situaes, o uso de um SGBD pode representar uma carga desnecessria aos
custos quando comparado abordagem processamento tradicional de arquivos como:
Alto investimento inicial na compra de software e hardware adicionais;
Generalidade que um SGBD fornece na definio e processamento de dados;
Sobrecarga na proviso de controle de segurana, controle de concorrncia,
recuperao e integrao de funes.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

95
Problemas adicionais podem surgir caso os projetistas ou administradores de banco de
dados no elaborem os projetos corretamente ou se as aplicaes no so implementadas
de forma apropriada. Se o DBA no administrar o banco de dados de forma apropriada, tanto
a segurana quanto a integridade dos sistemas podem ser comprometidas. A sobrecarga
causada pelo uso de um SGBD e a m administrao justificam a utilizao da abordagem
processamento tradicional de arquivos em casos como:
O banco de dados e as aplicaes so simples, bem definidas e no se espera
mudanas no projeto;
A necessidade de processamento em tempo real de certas aplicaes, que so
terrivelmente prejudicadas pela sobrecarga causada pelo uso de um SGBD;
No haver mltiplo acesso ao banco de dados. Conceitos e Arquiteturas de um
SGBD.


O que Phishing?
Phishing uma tentativa fraudulenta, feita geralmente atravs de email, para
roubar suas informaes pessoais.




Copyright 2007, ESAB Escola Superior Aberta do Brasil

96
UNIDADE 16
Objetivo: Conhecer Nveis, Arquitetura e Modelagem de Dados; Possveis Linguagens para
Manipulao de Dados
DADOS
Modelos de Dados
Uma das principais caractersticas do banco de dados que fornece alguns nveis de
abstrao de dados omitindo ao usurio final, detalhes de como estes dados so
armazenados. Um modelo de dados um conjunto de conceitos que podem ser utilizados
para descrever a estrutura lgica e fsica de um banco de dados. Por estrutura podemos
compreender o tipo dos dados, os relacionamentos e as restries que podem recair sobre
os dados.
Os modelos de dados podem ser basicamente de dois tipos:
1. Alto nvel: ou modelo de dados conceitual, fornece uma viso mais prxima do modo
como os usurios visualizam os dados realmente;
2. Baixo nvel: ou modelo de dados fsico, fornece uma viso mais detalhada do modo
como os dados esto realmente armazenados no computador.

Esquemas e Instncias
Em qualquer modelo de dados utilizado, importante distinguir a descrio do banco de
dados do banco de dados por si prprio. A descrio de um banco de dados chamada de
esquema de um banco de dados e especificada durante o projeto do banco de dados.
Geralmente, poucas mudanas ocorrem no esquema do banco de dados.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

97
Os dados armazenados em um banco de dados em um determinado instante do tempo
formam um conjunto chamado de instncia do banco de dados. A instncia altera toda vez
que uma alterao no banco de dados feita.
O SGBD responsvel por garantir que toda instncia do banco de dados satisfaa ao
esquema do banco de dados, respeitando sua estrutura e suas restries. O esquema de um
banco de dados tambm pode ser chamado de intenso de um banco de dados e a
instncia de extenso de um banco de dados.
A Arquitetura Trs Esquemas: tem como meta separar as aplicaes do usurio do banco de
dados fsico.
Os esquemas podem ser definidos como:
1. Nvel interno: ou esquema interno, descreve a estrutura de armazenamento fsico do
banco de dados; utiliza um modelo de dados e descreve detalhadamente os dados
armazenados e os caminhos de acesso ao banco de dados;
2. Nvel conceitual: ou esquema conceitual, descreve a estrutura do banco de dados
como um todo; uma descrio global do banco de dados, que no fornece detalhes
do modo como os dados esto fisicamente armazenados;
3. Nvel externo: ou esquema de viso, descreve as vises do banco de dados para um
grupo de usurios; cada viso descreve quais pores do banco de dados um grupo
de usurios ter acesso.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

98

Arquitetura Trs Esquemas

Independncia de Dados
Pode ser definida como a capacidade de alterar um esquema em um nvel em um banco de
dados sem ter que alterar um nvel superior.
Existem dois tipos de independncia de dados:
Independncia de dados lgica: a capacidade de alterar o esquema conceitual sem
ter que alterar o esquema externo ou as aplicaes do usurio;
Independncia de dados fsica: a capacidade de alterar o esquema interno sem ter
que alterar o esquema conceitual, o esquema externo ou as aplicaes do usurio.




Copyright 2007, ESAB Escola Superior Aberta do Brasil

99
As Linguagens para Manipulao de Dados
Para definir os esquemas conceituais e internos pode-se utilizar uma linguagem chamada
DDL (Data Definition Language Linguagem de Definio de Dados). O SGBD possui um
compilador DDL que permite a execuo das declaraes para identificar as descries dos
esquemas e para armazen-las no catlogo do SGBD.
A DDL utilizada em SGBDs onde a separao entre os nveis interno e conceitual no
muito clara. Quando so bem claras, utilizada outra linguagem, a SDL (Storage Definition
Language Linguagem de Definio de Armazenamento) para a especificao do esquema
interno. A especificao do esquema conceitual fica por conta da DDL.
Em um SGBD que utiliza a arquitetura trs esquemas so necessrios a utilizao de mais
uma linguagem para a definio de vises, a VDL (Vision Definition Language Linguagem
de Definio de Vises). Uma vez que o esquema esteja compilado e o banco de dados
esteja populado, usa-se uma linguagem para fazer a manipulao dos dados, a DML (Data
Manipulation Language Linguagem de Manipulao de Dados).
Os Mdulos Componentes de um SGBD: um SGBD um sistema complexo, formado por um
conjunto muito grande de mdulos.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

100

Estrutura de um Sistema Gerenciador de Banco de Dados

Classificao dos SGBDs: tem como critrio principal o modelo de dados no qual baseado.
A grande maioria dos SGBDs contemporneos baseado no modelo relacional, alguns em
modelos conceituais e alguns em modelos orientados a objetos:
Usurios: um SGBD pode ser mono-usurio, comumente utilizado em computadores
pessoais ou multiusurios, utilizado em estaes de trabalho, mini-computadores e mquinas
de grande porte;


Copyright 2007, ESAB Escola Superior Aberta do Brasil

101
Localizao: um SGBD pode ser localizado ou distribudo; se ele for localizado, ento todos
os dados estaro em uma mquina (ou em um nico disco) ou distribudo, onde os dados
estaro distribudos por diversas mquinas (ou diversos discos);
Ambiente: ambiente homogneo o ambiente composto por um nico SGBD e um ambiente
heterogneo o ambiente compostos por diferentes SGBDs.

Modelagem de Dados Utilizando o Modelo Entidade Relacionamento (ER)
O modelo Entidade-Relacionamento um modelo de dados conceitual de alto nvel, cujos
conceitos foram projetados para estar o mais prximo possvel da viso que o usurio tem
dos dados, no se preocupando em representar como estes dados estaro realmente
armazenados. utilizado principalmente durante o processo de projeto de banco de dados.

Fases do Projeto de um Banco de Dados


Copyright 2007, ESAB Escola Superior Aberta do Brasil

102
Entidades e Atributos: O objeto bsico tratado pelo modelo ER a entidade, que pode ser
definida como um objeto do mundo real, concreto ou abstrato e que possui existncia
independente. Cada entidade possui um conjunto particular de propriedades que a descreve
chamado atributos que pode ser dividido em diversas sub-partes com significado
independente entre si, recebendo o nome de atributo composto. Um atributo que no pode
ser subdividido chamado de atributo simples ou atmico. Os atributos que podem
assumir apenas um determinado valor em uma determinada instncia so denominados
atributo simplesmente valorado, e um atributo que pode assumir diversos valores em uma
mesma instncia denominado multi valorado. Um atributo que gerado a partir de outro
atributo chamado de atributo derivado.

Tipos Entidade, Conjunto de Valores, Atributo Chave:
Um banco de dados costuma conter grupos de entidades que so similares, possuindo os
mesmos atributos, porm, cada entidade com seus prprios valores para cada atributo. Este
conjunto de entidades similares define um tipo entidade, identificado por seu nome e pelo
conjunto de atributos que definem suas propriedades. A descrio do tipo entidade
chamada de esquema do tipo entidade, especificando o nome do tipo entidade, o nome de
cada um de seus atributos e qualquer restrio que incida sobre as entidades.
Uma restrio muito importante em uma entidade de um determinado tipo entidade a
chave. Um tipo entidade possui um atributo cujos valores so distintos para cada entidade
individual, chamado atributo chave e seus valores podem ser utilizados para identificar cada
entidade de forma nica. Muitas vezes, uma chave pode ser formada pela composio de
dois ou mais atributos. Uma entidade pode tambm ter mais de um atributo chave. Cada
atributo simples de um tipo entidade est associado com um conjunto de valores
denominado domnio, o qual especifica o conjunto de valores que podem ser designados
para este determinado atributo para cada entidade.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

103
UNIDADE 17
Objetivo: Conceituar e conhecer os tipos e Instncias de relacionamentos; Diferenciao de
Entidades.
RELACIONAMENTOS
Tipos e Instncias de Relacionamento: um tipo relacionamento R entre n entidades E1, E2,
..., En, um conjunto de associaes entre entidades deste tipo. Cada instncia de
relacionamento r1 em R uma associao de entidades que inclui exatamente uma entidade
de cada tipo entidade participante no tipo relacionamento. Isto significa que estas entidades
esto relacionadas de alguma forma no mini-mundo. A figura abaixo mostra um exemplo
entre dois tipos entidade (empregado e departamento) e o relacionamento entre eles
(trabalha para). Para cada relacionamento, participam apenas uma entidade de cada tipo
entidade, porm, uma entidade pode participar de mais do que um relacionamento.

Exemplo 1: Relacionamento




Copyright 2007, ESAB Escola Superior Aberta do Brasil

104
Grau de um Relacionamento:
O grau de um tipo relacionamento o nmero de tipos entidade que participam do tipo
relacionamento. No exemplo da figura 5, temos um relacionamento binrio. O grau de um
relacionamento ilimitado, porm, a partir do grau 3 (ternrio), a compreenso e a
dificuldade de se desenvolver a relao corretamente se tornam extremamente complexas.

Relacionamentos como Atributos:
Algumas vezes conveniente pensar em um relacionamento como um atributo.
Considerando o exemplo dado acima, podemos pensar departamento como sendo um
atributo da entidade empregado, ou empregado, como um atributo multivalorado da entidade
departamento. Se uma entidade no possuir existncia muito bem definida, talvez seja mais
interessante para a coesividade do modelo lgico que ela seja representada como um
atributo.

Nomes de Papis e Relacionamentos Recursivos:
Cada tipo entidade que participa de um tipo relacionamento desempenha um papel
particular no relacionamento. Papel representa o que uma entidade de um tipo entidade
participante desempenha no relacionamento. No exemplo 1 temos o papel empregado ou
trabalhador para o tipo entidade EMPREGADO e o papel departamento ou empregador para
a entidade DEPARTAMENTO. Nomes de papis no so necessariamente importantes
quando todas as entidades participantes desempenham papis diferentes. Algumas vezes, o
papel torna-se essencial para distinguir o significado de cada participao. Isto muito
comum em relacionamentos recursivos. Um relacionamento recursivo um relacionamento
entre entidades do mesmo tipo entidade.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

105

Exemplo 2: Relacionamento Recursivo
No exemplo 2 temos um relacionamento entre o tipo entidade EMPREGADO, onde um
empregado pode supervisionar outro empregado e um empregado pode ser supervisionado
por outro empregado.

Restries em Tipos Relacionamentos:
Geralmente, os tipos relacionamentos sofrem certas restries que limitam as possveis
combinaes das entidades participantes, derivadas de restries impostas pelo estado
destas entidades no mini-mundo.

Exemplo 3: Relacionamento EMPREGADO gerencia DEPARTAMENTO
No exemplo 3 temos um empregado que pode gerenciar apenas um departamento, enquanto
que um departamento pode ser gerenciado por apenas um empregado. A este tipo de
restrio, ns chamamos cardinalidade, que indica o nmero de relacionamentos dos quais


Copyright 2007, ESAB Escola Superior Aberta do Brasil

106
uma entidade pode participar. A cardinalidade pode ser: 1:1, 1:N, M:N. A cardinalidade do
exemplo 3 1:1, pois cada entidade empregada pode gerenciar apenas um departamento e
um departamento pode ser gerenciado por apenas um empregado. No exemplo 2, o
relacionamento EMPREGADO Trabalha Para DEPARTAMENTO 1:N, pois um empregado
pode trabalhar em apenas um departamento, enquanto que um departamento pode possuir
vrios empregados.

Exemplo 4: Relacionamento
No exemplo 4 temos um relacionamento com cardinalidade N:M, onde um empregado pode
trabalhar em vrios projetos enquanto que um projeto pode ter vrios empregados
trabalhando.
Outra restrio muito importante a participao, que define a existncia de uma entidade
atravs do relacionamento, podendo ser parcial ou total. No exemplo 3 a participao do
empregado parcial, pois nem todo empregado gerencia um departamento, porm a
participao do departamento neste relacionamento total, pois todo departamento precisa
ser gerenciado por um empregado. Desta forma, todas as entidades do tipo entidade
DEPARTAMENTO precisam participar do relacionamento, mas nem todas as entidade do
tipo entidade EMPREGADO precisam participar do relacionamento. No exemplo 1 ambas
participaes so totais, pois todo empregado precisa trabalhar em um departamento e todo
departamento tem que ter empregados trabalhando nele.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

107
Estas restries so chamadas de restries estruturais. Algumas vezes, torna-se necessrio
armazenar um atributo no tipo relacionamento. No exemplo 3, pode-se querer saber em que
dia o empregado passou a gerenciar o departamento. difcil estabelecer a qual tipo
entidade pertence atributo, pois o mesmo definido apenas pela existncia do
relacionamento. Quando temos relacionamentos com cardinalidade 1:1, podemos colocar o
atributo em uma das entidades, de preferncia, em uma cujo tipo entidade tenha participao
total. No caso, o atributo poderia ir para o tipo entidade departamento. Isto porque nem todo
empregado participar do relacionamento. Caso a cardinalidade seja 1:N, podemos colocar o
atributo no tipo entidade com participao N. Porm, se a cardinalidade for N:M, o atributo
dever mesmo ficar no tipo relao. No exemplo 4, caso queiramos armazenar quantas
horas cada empregado trabalhou em cada projeto, ento este dever ser um atributo do
relacionamento.

Tipos Entidades Fracas
Alguns tipos entidade podem no ter um atributo chave por si s. Isto implica que no
poderemos distinguir algumas entidades por que as combinaes dos valores de seus
atributos podem ser idnticas. So as entidades fracas, que precisam estar relacionadas com
uma entidade pertencente ao tipo entidade proprietria. Este relacionamento chamado de
relacionamento identificador.

Exemplo 5: Relacionamento com uma Entidade Fraca (Dependente)


Copyright 2007, ESAB Escola Superior Aberta do Brasil

108
O tipo entidade DEPENDENTE uma entidade fraca, pois no possui um mtodo de
identificar uma entidade nica. O EMPREGADO no uma entidade fraca, pois possui um
atributo para identificao (atributo chave). O nmero do RG de um empregado identifica um
nico empregado. Porm, um dependente de 5 anos de idade no possui necessariamente
um documento, sendo tipo entidade fraca. Um tipo entidade fraca possui uma chave parcial,
que juntamente com a chave primria da entidade proprietria forma uma chave primria
composta. Neste exemplo: a chave primria do EMPREGADO o RG. A chave parcial do
DEPENDENTE o seu nome, pois dois irmos no podem ter o mesmo nome. Desta forma,
a chave primria desta entidade fica sendo o RG do pai ou me mais o nome do dependente.
Todos os exemplos vistos acima foram para relacionamentos binrios, ou seja, entre dois
tipos entidades diferentes ou recursivos. Porm, o modelo entidade relacionamento no se
restringe apenas a relacionamentos binrios, pois o nmero de entidades que participam de
um tipo relacionamento irrestrito e armazenam muito mais informaes do que diversos
relacionamentos binrios. Considerando o exemplo: um motorista pode efetuar uma viagem
para uma localidade dirigindo um determinado caminho em uma determinada data.
Se efetuarmos trs relacionamentos binrios, no teremos estas informaes de forma
completa como se crissemos um relacionamento ternrio.

Exemplo 6: Relacionamento Ternrio



Copyright 2007, ESAB Escola Superior Aberta do Brasil

109
UNIDADE 18
Objetivo: Conhecer a Modelagem de Entidade de Relacionamento.
ENTIDADE DE RELACIONAMENTO
Diagrama Entidade Relacionamento (ER)
composto por um conjunto de objetos grficos que visa representar todos os objetos do
modelo Entidade Relacionamento, tais como entidades, atributos, atributos chaves,
relacionamentos, restries estruturais, etc. O diagrama ER fornece uma viso lgica do
banco de dados, fornecendo um conceito mais generalizado de como esto estruturados os
dados de um sistema.
Objetos que compem o diagrama ER:



Copyright 2007, ESAB Escola Superior Aberta do Brasil

110
Objetos que Compem o Diagrama ER
Modelagem Entidade Relacionamento Estendido (ERE)
Os conceitos do modelo ER so suficientes para representar logicamente a maioria das
aplicaes de banco de dados. Porm, com o surgimento de novas aplicaes, surgiu
tambm a necessidade de novas semnticas para a modelagem de informaes mais
complexas. O modelo ERE visa fornecer esta semntica para permitir a representao de
informaes complexas. Embora trate classes e subclasses, no possui a mesma semntica
de um modelo orientado a objetos. O modelo ERE engloba todos os conceitos do modelo ER
mais os conceitos de subclasse, superclasse, generalizao e especializao e o conceito de
herana de atributos.
Subclasses, Superclasses e Especializaes: O primeiro conceito do modelo ERE que ser
abordado o de subclasse de um tipo entidade. Como j visto, um tipo entidade utilizado
para representar um conjunto de entidades do mesmo tipo. Em muitos casos, um tipo
entidade possui diversos subgrupos adicionais de entidades que so significativas e
precisam ser representadas explicitamente devido ao seu significado aplicao de banco
de dados. Considere o exemplo: Para um banco de dados de uma empresa temos o tipo
entidade empregado, o qual possui as seguintes caractersticas: nome, rg, cic, nmero
funcional, endereo completo (rua, nmero, complemento, cep, bairro, cidade), sexo, data de
nascimento e telefone (ddd e nmero); caso o(a) funcionrio(a) seja um(a) engenheiro(a),
ento deseja-se armazenar as seguintes informaes: nmero do CREA e especialidade
(Civil, Mecnico, Eltro/Eletrnico); caso o(a) funcionrio(a) seja um(a) secretrio(a), ento
deseja-se armazenar as seguinte informaes: qualificao (bi ou tri lngue) e os idiomas no
qual possui fluncia verbal e escrita.
Representando as informaes nmero do CREA, especialidade, tipo e idiomas no tipo
entidade empregado representando informaes de um conjunto limitado de entidades
empregado para os todos os funcionrios da empresa. Neste caso, podemos criar duas
subclasses do tipo entidade empregado: engenheiro e secretria, as quais iro conter as


Copyright 2007, ESAB Escola Superior Aberta do Brasil

111
informaes acima citadas. Alm disso, engenheiro e secretria podem ter relacionamentos
especficos.
Uma entidade no pode existir meramente como componente de uma subclasse. Antes de
ser componente de uma subclasse, uma entidade deve ser componente de uma superclasse.
Isto leva ao conceito de herana de atributos, ou seja, a subclasse herda todos os atributos
da superclasse. Isto porque a entidade de subclasse representa as mesmas caractersticas
de uma mesma entidade da superclasse. Uma subclasse pode herdar atributos de
superclasses diferentes.

Exemplo 7: Representao de Superclasse e Subclasses
Especializao
o processo de definio de um conjunto de classes de um tipo entidade, chamado de
superclasse da especializao. O conjunto de subclasses formado baseado em alguma
caracterstica que distinguia as entidades entre si.
No exemplo 7 temos uma especializao, a qual podemos chamar de funo. No exemplo 8
temos a entidade empregado e duas especializaes.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

112

Exemplo 8: Duas Especializaes para Empregado: Funo e Categoria Salarial
Como j visto uma subclasse pode ter relacionamentos especficos com outras entidades ou
com a prpria entidade que a sua superclasse. Veja o exemplo 9.

Exemplo 9: Relacionamentos Entre Subclasses e Entidades
O processo de especializao nos permite:
Definir um conjunto de subclasses de um tipo entidade;
Associar atributos especficos adicionais para cada subclasse;
Estabelecer tipos relacionamentos especficos entre subclasses e outros tipos
entidades.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

113
Generalizao
A generalizao pode ser pensada como um processo de abstrao reverso ao da
especializao, no qual so suprimidas as diferenas entre diversos tipos entidades,
identificando suas caractersticas comuns e generalizando estas entidades em uma
superclasse.

Exemplo 10: Tipos Entidades Engenheiro e Secretria


Exemplo 11: Generalizao Empregado para os Tipos Entidades Engenheiro e Secretria
Na especializao podemos notar que a ligao entre a superclasse e as subclasses feita
atravs de um trao simples, indicando participao parcial por parte da superclasse.
Analisando o exemplo 7 observado que um empregado no obrigado a ser um
engenheiro ou uma secretria. Na generalizao a ligao entre a superclasse e as
subclasses feita atravs de um trao duplo, indicando participao total por parte da


Copyright 2007, ESAB Escola Superior Aberta do Brasil

114
superclasse. Analisando o exemplo 11 observa-se que um empregado obrigado a ser um
engenheiro ou uma secretria.
A letra d dentro do crculo que especifica uma especializao ou uma generalizao significa
disjuno, que uma disjuno em uma especializao ou generalizao indica que uma
entidade do tipo entidade que representa a superclasse pode assumir apenas um papel
dentro da mesma. Analisando o exemplo 8 temos duas especializaes para a superclasse
Empregado, as quais so restringidas atravs de uma disjuno. Neste caso, um empregado
pode ser um engenheiro ou uma secretria e o mesmo pode ser horista ou mensalista.
Alm da disjuno podemos ter um overlap, representado pela letra o. No caso do overlap
uma entidade de uma superclasse pode ser membro de mais que uma subclasse em uma
especializao ou generalizao. Analisando a generalizao no exemplo 12, suponha que
uma pea fabricada em uma tornearia pode ser manufaturada ou torneada ou ainda, pode ter
sido manufaturada e torneada.

Exemplo 12: - Uma Generalizao com Overlap



Copyright 2007, ESAB Escola Superior Aberta do Brasil

115
UNIDADE 19
Objetivo: Diferenciar Domnios, Tuplas, Atributos e Relaes; Conhecer o Mapeamento do
Modelo Entidade Relacionamento para o Modelo Relacional.
MODELO RELACIONAL
Lattice ou Mltipla Herana
Uma subclasse pode ser definida atravs de um lattice, ou mltipla herana, ou seja, ela
pode ter diversas superclasses, herdando caractersticas de todas. Leve em considerao o
seguinte exemplo: Uma construtora possui diversos funcionrios, os quais podem ser
engenheiros ou secretrias. Um funcionrio pode tambm ser assalariado ou horista. Todo
gerente de departamento da construtora deve ser um engenheiro e assalariado.

Exemplo 13: Um Lattice com a Subclasse Gerente Compartilhada
Neste caso ento, um gerente ser um funcionrio que alm de possuir as caractersticas
prprias de Gerente, herdar as caractersticas de Engenheiro e de Mensalista.




Copyright 2007, ESAB Escola Superior Aberta do Brasil

116
O Modelo Relacional
Foi criado por Codd em 1970 e tem por finalidade representar os dados como uma coleo
de relaes, onde cada relao representada por uma tabela, ou falando de uma forma
mais direta, um arquivo. Porm, um arquivo mais restrito que uma tabela. Toda tabela pode
ser considerada um arquivo, porm, nem todo arquivo pode ser considerado uma tabela.
Quando uma relao pensada como uma tabela de valores, cada linha nesta tabela
representa uma coleo de dados relacionados. Estes valores podem ser interpretados como
fatos descrevendo uma instncia de uma entidade ou de um relacionamento. O nome da
tabela e das colunas desta tabela utilizado para facilitar a interpretao dos valores
armazenados em cada linha da tabela. Todos os valores em uma coluna so
necessariamente do mesmo tipo.
Na terminologia do modelo relacional, cada tabela chamada de relao; uma linha de uma
tabela chamada de tupla, o nome de cada coluna chamado de atributo; o tipo de dado
que descreve cada coluna chamado de domnio.

Domnios, Tuplas, Atributos e Relaes
Um domnio D um conjunto de valores atmicos, sendo que por atmico, podemos
compreender que cada valor do domnio indivisvel. Durante a especificao do domnio
importante destacar o tipo, o tamanho e a faixa do atributo que est sendo especificado.
Coluna Tipo Tamanho Faixa
RG Numrico 10,0
03000000-
25999999
Nome Carcter 30 a-z, A-Z
Salrio Numrico 5,2 00100,00-12999,99


Copyright 2007, ESAB Escola Superior Aberta do Brasil

117
Um esquema de relao R, denotado por R(A 1 , A 2 , ... , A n), onde cada atributo A i o
nome do papel desempenhado por um domnio D no esquema relao R, onde D chamado
domnio de A i e denotado por dom(A i). O grau de uma relao R o nmero de atributos
presentes em seu esquema de relao.
A instncia r de um esquema relao denotado por r(R) um conjunto de n-tuplas
r = [t 1 , t 2 , ... , t n] onde os valores de [t 1 , t 2 , ... , t n] devem estar contidos no domnio D .
O valor nulo tambm pode fazer parte do domnio de um atributo e representa um valor no
conhecido para uma determinada tupla.

Atributo Chave de uma Relao
Uma relao pode ser definida como um conjunto de tuplas distintas. Isto implica que a
combinao dos valores dos atributos em uma tupla no pode se repetir na mesma tabela.
Existir sempre um subconjunto de atributos em uma tabela que garantem que no haver
valores repetidos para as diversas tuplas da mesma, garantindo que t1[SC] t2[SC].
SC chamada de superchave de um esquema de relao. Toda relao possui ao menos
uma superchave o conjunto de todos os seus atributos. Uma chave C de um esquema de
relao R uma superchave de R com a propriedade adicional que removendo qualquer
atributo A de K, resta ainda um conjunto de atributos K ' que no uma superchave de R.
Uma chave uma superchave da qual no se podem extrair atributos. Por exemplo, o
conjunto: (RA, Nome, Endereo) uma superchave para estudante, porm, no uma
chave, pois se tirarmos o campo Endereo continuaremos a ter uma superchave. J o
conjunto (Nome da Revista, Volume, N o da Revista) uma superchave e uma chave, pois
qualquer um dos atributos que retirarmos, deixaremos de ter uma superchave, ou seja,
(Nome da Revista, Volume) no identifica uma nica tupla.
Em outras palavras, uma superchave uma chave composta, ou seja, uma chave formada
por mais que um atributo.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

118
Exemplo:
Tabela DEPENDENTES
RG
Responsvel
Nome
Dependente
Dt. Nascimento Relao Sexo
10101010 Jorge 27/12/86 Filho Masculino
10101010 Luiz 18/11/79 Filho Masculino
20202020 Fernanda 14/02/69 Cnjuge Feminino
20202020 ngelo 10/02/95 Filho Masculino
30303030 Fernanda 01/05/90 Filho Feminino

Quando uma relao possui mais que uma chave (no confundir com chave composta),
como RG e CIC para empregados, cada uma destas chaves so chamadas de chaves
candidatas. Uma destas chaves candidatas deve ser escolhida como chave primria. Uma
chave estrangeira CE de uma tabela R1 em R2 ou vice-versa, especifica um relacionamento
entre as tabelas R 1 e R 2.

Tabela DEPARTAMENTO
Nome Nmero RG Gerente
Contabilidade 1 10101010
Engenharia Civil 2 30303030
Engenharia Mecnica 3 20202020



Copyright 2007, ESAB Escola Superior Aberta do Brasil

119
Tabela EMPREGADO
Nome RG Depto.
RG
Supervisor
Salrio
Joo Luiz 10101010 11111111 1 NULO 3.000,00
Fernando 20202020 22222222 2 10101010 2.500,00
Ricardo 30303030 33333333 2 10101010 2.300,00
Jorge 40404040 44444444 2 20202020 4.200,00
Renato 50505050 55555555 3 20202020 1.300,00

Mapeamento do Modelo Entidade Relacionamento para o Modelo Relacional:
Segue oito passos bsicos:
1. Para cada entidade E no modelo ER criada uma tabela T1 no Modelo Relacional que
inclua todos os atributos simples de E; para cada atributo composto, so inseridos
apenas os componentes simples de cada um; um dos atributos chaves de E deve ser
escolhida como a chave primria de T1;
2. Para cada entidade fraca EF com entidade proprietria E no modelo ER, criada uma
tabela T1 no Modelo Relacional incluindo todos os atributos simples de EF; para cada
atributo composto, so inseridos apenas os componentes simples de cada um; a
chave primria desta relao T ser composta pela chave parcial da entidade fraca EF
mais a chave primria da entidade proprietria E;
3. Para cada relacionamento regular com cardinalidade 1:1 entre entidades E1 e E2 que
geraram as tabelas T1 e T2 respectivamente, devemos escolher a chave primria de
uma das relaes (T1, T2) e inseri-la como chave estrangeira na outra relao; se um
dos lados do relacionamento tiver participao total e outro parcial, ento


Copyright 2007, ESAB Escola Superior Aberta do Brasil

120
interessante que a chave do lado com participao parcial seja inserido como chave
estrangeira no lado que tem participao total;
4. Para cada relacionamento regular com cardinalidade 1:N entre entidades E1 e E2
respectivamente e que geraram as tabelas T1 e T2 respectivamente, deve-se inserir a
chave primria de T1 como chave estrangeira em T2;
5. Para cada relacionamento regular com cardinalidade N:N entre entidades E1 e E2 ,
cria-se uma nova tabela T1, contendo todos os atributos do relacionamento mais o
atributo chave de E1 e o atributo chave de E2; a chave primria de T1 ser composta
pelos atributos chave de E1 e E2;
6. Para cada atributo multivalorado A1, cria-se uma tabela T1, contendo o atributo
multivalorado A1, mais o atributo chave C da tabela que representa a entidade ou
relacionamento que contm A1 ; a chave primria de T1 ser composta por A1 mais
C; se A1 for composto, ento a tabela T1 dever conter todos os atributos de A1;
7. Para cada relacionamento n-rio, n > 2, cria-se uma tabela T1, contendo todos os
atributos do relacionamento; a chave primria de T1 ser composta pelos atributos
chaves das entidades participantes do relacionamento;
8. Converta cada especializao com m subclasses {S1 , S2 , ..., Sm} e superclasse SC,
onde os atributos de SC so {c, a1 , a2 , ..., an } onde c a chave primria de SC, em
tabelas utilizando uma das seguintes opes:
9. Crie uma tabela T para SC com os atributos A(T) = {c, a1 , a2 , ..., an} e chave C(T) =
c; crie uma tabela Ti para cada subclasse Si, 1 m, com os atributos;
10. A(Ti ) = {c} A(Si ), onde C(T) = c;
11. Crie uma tabela T i para cada subclasse S i , 1 m, com os atributos
A(Ti ) = A(Si ) {c, a 1 , a 2 , ..., a n} e C(Ti ) = c ;


Copyright 2007, ESAB Escola Superior Aberta do Brasil

121
12. Crie uma tabela T com os atributos A(T) = {c, a 1 , a 2 , ..., a n} (1) ... A(Sm)
{t} e C(T) = c, onde t um atributo tipo que indica a subclasse qual cada tupla
pertence, caso isto venha a ocorrer;
13. Crie uma tabela T com atributos A(T) = {c, a1 , a2 , ..., an } A(S1) ... (Sm) {t1
, t2 , ..., tm} e C(T) = c; esta opo para generalizaes com overlapping, e cada ti ,
1 , um atributo booleano indicando se a tupla pertence ou no subclasse
Si; embora funcional, esta opo pode gerar uma quantidade muito grande de valores
nulos.




Copyright 2007, ESAB Escola Superior Aberta do Brasil

122
UNIDADE 20
Objetivo: Conhecer a lgebra Relacional, Seqencialidade de Operaes, Dependncia
Funcional e Normalizao.
ATRIBUTOS DE DADOS
Dependncia Funcional e Normalizao
Dependncia Funcional: uma restrio entre dois conjuntos de atributos de uma base de
dados. Suponha que o esquema de uma base de dados R possua n atributos A 1, A 2 , ..., A
n; pense em R = {A1 , A2 , ... , An} como a representao universal da base de dados. Uma
dependncia funcional, representada por X < > Y entre dois conjuntos de atributos X e Y que
so subconjuntos de R especificam uma restrio nas tuplas que podem compor uma
instncia relao r de R. A restrio estabelece que para qualquer par de tuplas t 1 e t 2 em r
de forma que t 1 . [X] = t2. [X], obrigado a existir t1. [Y] = t2. [Y]. Isto significa que os
valores do componente Y em uma tupla em r depende de, ou determinada pelos valores do
componente X. Para X < > Y l-se: Y funcionalmente dependente de X, u X infere sobre Y.
Para a base de dados do apndice A exemplifica-se as seguintes dependncias funcionais:
RG < > {Nome, CIC, Depto., RG_Supervisor, Salrio}
Nmero_Projeto < > {Nome_Projeto, Localizao}
{RG_Empregado, Nmero_Projeto} < > Horas
alm de outras.
A dependncia 1 implica que o nmero de um RG define de forma nica o nome do
empregado e o CIC do empregado. A dependncia 2 implica que o nmero do projeto define
de forma nica o nome do projeto e sua localizao e a dependncia 3 implica que o RG do
empregado mais o nmero do projeto definem de forma nica o nmero de horas que o


Copyright 2007, ESAB Escola Superior Aberta do Brasil

123
empregado trabalhou no projeto. A especificao das inferncias deve ser elaborada pelo
projetista de banco de dados em conjunto com o analista de sistemas, pois os mesmos
devero ter conhecimento da semntica da base de dados.
Normalizao: processo no qual so eliminados esquemas de relaes (tabelas) no
satisfatrios, decompondo-os, atravs da separao de seus atributos em esquemas de
relaes menos complexas, mas que satisfaam as propriedades desejadas.
Proposto inicialmente por Codd, o processo de normalizao conduz um esquema de relao
atravs de uma bateria de testes para certificar se o mesmo est na 1, 2 e 3 Formas
Normais, baseadas em dependncias funcionais dos atributos do esquema de relao:
1 Forma Normal: prega que todos os atributos de uma tabela devem ser atmicos
(indivisveis), ou seja, no so permitidos atributos multivalorados, atributos compostos ou
atributos multivalorados compostos.
Considere:
CLIENTE
Cdigo
{Telefone}
Endereo: (Rua, Nmero, Cidade)
Gera a tabela resultante:
Telefone 1 Endereo
Cliente Cdigo Telefone n Rua No Cidade

Sendo que a mesma no est na 1 Forma Normal, pois seus atributos no so atmicos.
Para que fique na 1 a Forma Normal temos que eliminar os atributos no atmicos, gerando
as seguintes tabelas como resultado:


Copyright 2007, ESAB Escola Superior Aberta do Brasil

124
Cliente Cdigo Rua Nmero Cidade
Cliente_Telefone Cdigo_Cliente Telefone_Cliente

2 Forma Normal: prega o conceito da dependncia funcional total. Uma dependncia
funcional X Y total se removemos um atributo A qualquer do componente X e desta
forma, a dependncia funcional deixa de existir. A dependncia funcional X Y uma
dependncia funcional parcial se existir um atributo A qualquer do componente X que pode
ser removido e a dependncia funcional X < > Y no deixa de existir.
Como j visto, a dependncia funcional {RG_Empregado, Nmero_Projeto} < > Horas uma
dependncia funcional total, pois se removermos o atributo RG_Empregado ou o atributo
Nmero_Projeto, a dependncia funcional deixa de existir.
Uma tabela T est na 2 Forma Normal se estiver na 1 Forma Normal e todo atributo que
no compem a chave primria C for totalmente funcionalmente dependente da chave
primria C. Se uma tabela no est na 2 a Forma Normal a mesma pode ser normalizada
gerando outras tabelas cujos atributos que no faam parte da chave primria sejam
totalmente funcionalmente dependente da mesma, ficando a tabela na 2 Forma Normal.
3 Forma Normal: prega o conceito de dependncia transitiva. Uma dependncia funcional X
< > Y em uma tabela T uma dependncia transitiva se existir um conjunto de atributos Z
que no um subconjunto de chaves de T e as dependncias X < > Z , Z < > Y , so vlidas.

Considere:
Empregado RG Nome N o _Departamento Nome_Depto RG_Ger_Depto

onde temos a seguinte dependncia transitiva:


Copyright 2007, ESAB Escola Superior Aberta do Brasil

125
RG < > { Nome_Depto, RG_Ger_Depto}
RG < > N o _Departamento
N o _Departamento < > {Nome_Depto, RG_Ger_Depto}
Porm, verifique o caso da tabela abaixo:
Empregado RG CIC Nome N o _Funcional

Neste caso, a dependncia transitiva:
RG < > {Nome, N o _Funcional}
RG < > CIC
CIC < > {Nome, N o _Funcional}
no valida pois o atributo CIC uma chave candidata.

Uma tabela est na 3 Forma Normal se estiver na 2 Forma Normal e no houver
dependncia transitiva entre atributos no chave.

A lgebra Relacional
uma coleo de operaes cannicas que so utilizadas para manipular as relaes,
utilizadas para selecionar tuplas de relaes individuais e para combinar tuplas relacionadas
de relaes diferentes para especificar uma consulta em um determinado banco de dados. O
resultado de cada operao uma nova operao, a qual tambm pode ser manipulada pela
lgebra relacional. Todos os exemplos envolvendo lgebra relacional implicam na utilizao
do banco de dados descrito no apndice A.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

126
A Operao Select: utilizada para selecionar um subconjunto de tuplas de uma relao que
devem satisfazer uma condio de seleo. A forma geral de uma operao select : s
<condio de seleo> (<nome da relao>). A letra grega s utilizada para representar a
operao de seleo; <condio de seleo> uma expresso booleana aplicada sobre os
atributos da relao e <nome da relao> o nome da relao sobre a qual ser aplicada a
operao select.
Exemplo:
consulta1 = s salrio < 2.500,00 (EMPREGADO)
Gera a seguinte tabela como resultado:
Tabela consulta1
Nome RG CIC Depto.
RG
Supervisor
Salrio
Ricardo 30303030 33333333 2 10101010 2.300,00
Renato 50505050 55555555 3 20202020 1.300,00

consulta2 = s (relao = Filho) .and. (sexo = Feminino) (DEPENDENTES)
Gera a seguinte tabela como resultado:
Tabela consulta2
RG
Responsvel
Nome
Dependente
Dt. Nascimento Relao Sexo
30303030 Andrea 01/05/90 Filho Feminino



Copyright 2007, ESAB Escola Superior Aberta do Brasil

127
As operaes relacionais que podem ser aplicadas na operao select so < , > , , , =, ,
alm dos operadores booleanos: and , or , not
A operao select unria, ou seja, s pode ser aplicada a uma nica relao. No
possvel aplicar a operao sobre tuplas de relaes distintas.
A Operao Project: seleciona um conjunto determinado de colunas de uma relao. Tem a
forma geral: p <lista de atributos> (<nome da relao>). A letra grega p representa a
operao Project, <lista de atributos> representa a lista de atributos que o usurio deseja
selecionar e <nome da relao> representa a relao sobre a qual a operao Project ser
aplicada.
Exemplo:
consulta3 = p Nome, Dt. Nascimento (DEPENDENTES)
Gera a seguinte tabela como resultado:
Tabela consulta3
Nome Dependente Dt. Nascimento
Jorge 27/12/86
Luiz 18/11/79
Fernanda 14/02/69
ngelo 10/02/95
Andrea 01/05/90





Copyright 2007, ESAB Escola Superior Aberta do Brasil

128
Seqencialidade de Operaes:
As operaes Project e select podem ser utilizadas de forma combinada, permitindo que
apenas determinadas colunas de determinadas tuplas possam ser selecionadas. A forma
geral de uma operao sequencializada :
p <lista de atributos> ( s <condio de seleo> (<nome da relao>) )
Exemplo:
consulta4 = p nome, depto., salrio ( s salrio < 2.500,00 (EMPREGADO) )
Produz a tabela a seguir como resultado:
Tabela consulta4
Nome Depto. Salrio
Ricardo 2 2.300,00
Renato 3 1.300,00

A consulta4 pode ser reescrita da seguinte forma:
consulta5 = s salario < 2.500,00 (EMPREGADO)
Tabela consulta5
Nome RG CIC Depto.
RG
Supervisor
Salrio
Ricardo 30303030 33333333 2 10101010 2.300,00
Renato 50505050 55555555 3 20202020 1.300,00



Copyright 2007, ESAB Escola Superior Aberta do Brasil

129
consulta6 = p nome, depto., salario (CONSULTA5)
Tabela consulta6
Nome Depto. Salrio
Ricardo 2 2.300,00
Renato 3 1.300,00
Porm mais elegante utilizar a forma descrita na consulta4.

Conhecendo os Bancos de Dados
http://www.sobresites.com/bancodedados/bancodedados.htm



Antes de dar continuidades aos seus estudos fundamental que voc acesse sua
SALA DE AULA e faa a Atividade 2 no link ATIVIDADES.




Copyright 2007, ESAB Escola Superior Aberta do Brasil

130
UNIDADE 21
Objetivo: Conhecer as Operaes Matemticas e Cartesianas.
OPERAES MATEMTICAS E CARTESIANAS
Operaes Matemticas
Considerando que as relaes podem ser tratadas como conjuntos, podemos ento aplicar
um conjunto de operaes matemticas sobre as mesmas. Este conjunto de operaes no
unitrio, ou seja, podem ser aplicadas sobre mais de uma tabela, porm, existe a
necessidade das tabelas possurem tuplas exatamente do mesmo tipo.
As operaes so:
Unio ( );
Interseco ( );
Diferena ( ).
Estas operaes podem ser definidas da seguinte forma:
Unio: o resultado desta operao representada por R S uma relao T que inclui
todas as tuplas que se encontra em R e todas as tuplas que se encontra em S;
Interseco: o resultado desta operao representada por R S uma relao T que
inclui as tuplas que se encontra em R e em S ao mesmo tempo;
Diferena: o resultado desta operao representada por R - S uma relao T que
inclui todas as tuplas que esto em R, mas no esto em S.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

131
Leve em considerao a seguinte consulta: Selecione todos os empregados que trabalham
no departamento nmero 2 ou que supervisionam empregados que trabalham no
departamento nmero 2.
Primeiramente selecionar todos os funcionrios que trabalham no departamento
nmero 2:
consulta7 = s depto = 2 (EMPREGADOS)
Tabela consulta7
Nome RG CIC Depto.
RG
Supervisor
Salrio
Fernando 20202020 22222222 2 10101010 2.500,00
Ricardo 30303030 33333333 2 10101010 2.300,00
Jorge 40404040 44444444 2 20202020 4.200,00

Agora selecionar os supervisores dos empregados que trabalham no departamento nmero
2:
consulta8 = p rg_supervisor (CONSULTA7)
Tabela consulta8
RG Supervisor
10101010
20202020




Copyright 2007, ESAB Escola Superior Aberta do Brasil

132
Vamos projetar apenas o rg dos empregados selecionados:
consulta9 = p rg (CONSULTA7)
Tabela consulta9
RG
20202020
30303030

Finalmente, vamos unir as duas tabelas, obtendo o resultado final:
consulta10 = consulta8 consulta9
Tabela consulta10
RG
20202020
30303030
40404040
10101010

Considere a prxima consulta: Selecione todos os empregados que desenvolvem algum
projeto e que trabalham no departamento nmero 2:
Primeiramente, selecionar todos os empregados que trabalham em um projeto:
consulta11 = p rg_empregado (EMPREGADO/PROJETO)


Copyright 2007, ESAB Escola Superior Aberta do Brasil

133
Tabela consulta11
RG_Empregado
20202020
30303030
40404040
50505050

Agora selecionar todos os empregados que trabalham no departamento 2:
consulta12 = p rg ( s depto = 2 (EMPREGADOS) )
Tabela consulta12
RG
20202020
30303030
40404040







Copyright 2007, ESAB Escola Superior Aberta do Brasil

134
Obtemos ento todos os empregados que trabalham no departamento 2 e que desenvolvem
algum projeto:
consulta13 = consulta11 consulta12
Tabela consulta13
RG
20202020
30303030
40404040

Considere a seguinte consulta: Selecione todos os usurios que no desenvolvem projetos:
consulta14 = p rg_empregado (EMPREGADO/PROJETO)
Tabela consulta14
RG Empregado
20202020
30303030
40404040
50505050






Copyright 2007, ESAB Escola Superior Aberta do Brasil

135
consulta15 = p rg (EMPREGADOS)
Tabela consulta15
RG
10101010
20202020
30303030
40404040
50505050

consulta16 = CONSULTA15 - CONSULTA14
Tabela consulta16
RG
10101010

Produto Cartesiano
uma operao binria que combina todas as tuplas de duas tabelas. Diferente da operao
unio, o produto cartesiano no exige que as tuplas das tabelas possuam exatamente o
mesmo tipo. O produto cartesiano permite ento a consulta entre tabelas relacionadas
utilizando uma condio de seleo apropriada. Seu resultado uma nova tabela formada
pela combinao das tuplas das tabelas sobre as quais se aplicou a operao.
O formato geral do produto cartesiano entre duas tabelas R e S R S


Copyright 2007, ESAB Escola Superior Aberta do Brasil

136
Considere a seguinte consulta: Encontre todos os funcionrios que desenvolvem projetos em
Campinas:
consulta16 = EMPREGADO/PROJETO C PROJETO
Tabela consulta16
RG
Empregado
Nmero
Projeto
Nome Nmero Localizao
20202020 5 Financeiro 1 5 So Paulo
20202020 5 Motor 3 10 Rio Claro
20202020 5 Prdio Central 20 Campinas
20202020 10 Financeiro 1 5 So Paulo
20202020 10 Motor 3 10 Rio Claro
20202020 10 Prdio Central 20 Campinas
30303030 5 Financeiro 1 5 So Paulo
30303030 5 Motor 3 10 Rio Claro
30303030 5 Prdio Central 20 Campinas
40404040 20 Financeiro 1 5 So Paulo
40404040 20 Motor 3 10 Rio Claro
40404040 20 Prdio Central 20 Campinas
50505050 20 Financeiro 1 5 So Paulo
50505050 20 Motor 3 10 Rio Claro


Copyright 2007, ESAB Escola Superior Aberta do Brasil

137
50505050 20 Prdio Central 20 Campinas

Agora vamos selecionar as tuplas resultantes que esto devidamente relacionadas que so
as que possuem o mesmo valor em nmero do projeto e nmero e cuja localizao seja
Campinas':
consulta17 = p rg_empregado, nmero ( s (nmero_projeto = nmero) .and.
(localizao = Campinas') (CONSULTA16) )
Tabela consulta17
RG Nmero
40404040 20
50505050 20

A operao produto cartesiano no muito utilizada por no oferecer um resultado
otimizado. Veja o item seguinte:
Operao Juno: atua de forma similar operao produto cartesiano, porm, a tabela
resultante conter apenas as combinaes das tuplas que se relacionam de acordo com uma
determinada condio de juno. A forma geral da operao juno entre duas tabelas R e S
a seguinte:
Operao Juno
R <condio de juno> S
Considere a consulta a seguir: Encontre todos os funcionrios que desenvolvem projetos em
Campinas:


Copyright 2007, ESAB Escola Superior Aberta do Brasil

138
consulta18 = EMPREGADOS/PROJETOS nmero_projeto = nmero
PROJETOS
Tabela consulta18
RG_Empregado Nmero_Projeto Nome Nmero Localizao
20202020 5 Financeiro 1 5 So Paulo
20202020 10 Motor 3 10 Rio Claro
30303030 5 Financeiro 1 5 So Paulo
40404040 20 Prdio Central 20 Campinas
50505050 20 Prdio Central 20 Campinas

consulta19 = s localizao = Campinas' (CONSULTA18)
Tabela consulta18
RG_Empregado Nmero_Projeto Nome Nmero Localizao
40404040 20 Prdio Central 20 Campinas
50505050 20 Prdio Central 20 Campinas



Copyright 2007, ESAB Escola Superior Aberta do Brasil

139
UNIDADE 22
Objetivo: Conhecer Estruturas de Dados dinmicas.
RVORES
So estruturas de dados essencialmente dinmicas, permitindo a insero, pesquisa e
destruio de elementos. Trazem, implicitamente, a idia de hierarquia, por isso so
estruturas de dados muito utilizadas em gerenciamento de arquivos e validao de
expresses. Uma rvore pode ser definida de vrias formas. Talvez, a maneira mais natural
defini-las recursivamente. Assim, uma rvore composta por um conjunto de ns. Existe
um n denominado raiz, que contm zero ou mais sub-rvores e cada sub-rvore pode ser
considerada uma rvore.
DESENHO RVORE GENRICA (listas de filhos):
Estrutura do n (com grau pr-definido e com grau indeterminado)
Nomenclatura:
Raiz - o n de mais alto nvel da rvore (primeiro n da rvore).
Nvel - o nmero de ns que vai da raiz at um determinado n.
Grau - o nmero de sub-rvores de um n
Folha - n com grau igual a zero
Altura - nvel mais alto da rvore
Pai - a raiz de uma sub-rvore pai das razes de suas sub-rvores
Filho - os ns razes de uma sub-arvores filho da raiz da rvore


Copyright 2007, ESAB Escola Superior Aberta do Brasil

140
Irmo - ns razes das sub-rvores so irmos.

raiz ={c}
ancestrais de j={e,c}
descendentes de j={i,k}
pai de j=e
filhos de j={i,k}
nvel de j=2
altura da rvore =3
folhas={b,i,k,f,h,d}
irmos={j,f,g}
rvores Binrias: so rvores onde cada n tem no mximo dois filhos (grau mximo 2). Com
isto, obtm-se uma estrutura apropriada para busca binria. Outra rea onde estas estruturas
so muito utilizadas na validao de expresses. Isto porque um operador relaciona
apenas um ou dois operandos. Uma propriedade importante de rvores binrias que
possuem profundidade (altura) bastante inferior ao nmero de ns (comentar insero em
ordem).

Aplicao:
A aplicao mais importante das rvores binrias seu uso em busca binria. A cada n da
rvore associa-se uma chave que permite a realizao de uma ordenao. A Construo da
rvore deve ser de tal forma que na sub-rvore esquerda de uma dada raiz s existam ns
com chaves menores que a chave da raiz. E a sub-rvore direita s pode conter ns com
chaves maiores que a da raiz. Com esta estruturao, a busca de um determinado n na
rvore torna-se trivial, atravs do uso da recursidade.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

141
Operaes Bsicas (Incluso, Pesquisa, Alterao, Excluso, transformao e
Caminhamentos):




Copyright 2007, ESAB Escola Superior Aberta do Brasil

142


Alterao: efetua-se uma pesquisa e em seguida faz-se a alterao.
Excluso: para a remoo de um n de uma rvore deve-se levar em considerao
que seus filhos devem continuar na rvore e esta dever continuar ordenada (menor a
esquerda maior a direita). E ento camos em trs possibilidades que devem ser
tratadas separadamente, a fim de manter a estrutura da rvore binria.
1. Quando o n a ser excludo no contenha filhos;
2. Quando o n a ser excludo contenha somente um dos filhos;
3. Quando o n a ser excludo contenha os dois filhos.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

143



Copyright 2007, ESAB Escola Superior Aberta do Brasil

144



Copyright 2007, ESAB Escola Superior Aberta do Brasil

145
UNIDADE 23
Objetivo: Conhecer as necessidades de infra-estrutura de segurana, estudos de risco;
Como pesquisar solues para comrcio eletrnico.
SEGURANA DE INFORMAES
A segurana de informaes so utilizadas como meios de comunicao (usando em
universidades e por empregados em algumas empresas para compartilhar). Agora, milhes
de corporaes, empresas, instituies e usurios domsticos esto usando a Internet para
fazer transaes bancrias, comrcio eletrnico, etc. Portanto, segurana hoje, um
problema potencialmente crtico.
Iremos discutir segurana de redes de vrios ngulos diferentes, falaremos sobre ameaas,
contramedidas, ferramentas, algoritmos, protocolos e gerncia de segurana, a fim de tornar
os sistemas e a redes mais seguras. Primeiramente, necessrio aprender os termos
utilizados na rea de segurana de redes e sistemas. Muitas, seno todas, as palavras
definidas (Glossrio) sero utilizadas no decorrer deste captulo.

Necessidade de uma infra-estrutura de segurana
Vulnerabilidades e ataques existem e crescem a cada dia, tanto em quantidade quanto em
qualidade. Uma infra-estrutura de segurana no s necessria como obrigatria, devendo
existir, alm de um investimento especfico, um planejamento, uma gerncia e uma
metodologia bem definida.
Salienta-se que os seres humanos so o elo mais fraco dessa corrente. Voc pode ter os
mais perfeitos produtos de segurana, mas eles no sero nada se voc no tiver
conscincia que eles sero gerenciados e utilizados por pessoas, isto nos faz refletir sobre a
necessidade de uma infra-estrutura de segurana e forma de como mont-la. A modelagem


Copyright 2007, ESAB Escola Superior Aberta do Brasil

146
de ameaa a primeira etapa em qualquer soluo de segurana. Quais so as ameaas
reais contra o sistema? Se voc no souber disso, como saber quais tipos de
contramedidas ir empregar? A modelagem de ameaa algo difcil de ser feito, ela envolve
pensar sobre um sistema e imaginar o vasto panorama de vulnerabilidade.

Avaliao de Risco
No suficiente apenas listar um punhado de ameaas, voc precisa saber o quanto deve
se preocupar com cada uma delas. Ao projetar um sistema de segurana, vital fazer esse
tipo de modelagem de ameaa e avaliao de risco. Muitos projetistas de sistemas pensam
no projeto de segurana como um livro de receitas: misture contramedidas especficas
criptografia e firewalls so bons exemplos e magicamente voc estar seguro, isso nunca
Inicialmente, conheceremos as vulnerabilidades e depois nossos inimigos, ento
conheceremos as ferramentas de defesa e as tecnologias, depois disso sim, teremos uma
noo bem melhor de como devemos nos proteger e elaborar um projeto de segurana.
Alguns conceitos sero definidos, so pilares de um sistema seguro, sendo que alguns esto
intimamente ligados ao estudo da criptografia, arte de guardar mensagens seguras, ou
transmiti-las de forma segura, garantindo a privacidade e trazendo outros benefcios
segurana, tais como:
Integridade: possibilita ao receptor de uma mensagem verificar se esta foi alterada
durante o trnsito;
Autenticao: possibilita ao receptor de uma mensagem, verificar corretamente sua
origem, um intruso no pode se fazer passar (personificar) o remetente desta
mensagem;
No-repdio ou irrevogabilidade: o remetente de uma mensagem no deve ser capaz
de negar que enviou a mensagem.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

147

A disponibilidade se refere ao sistema estar sempre pronto a responder requisies de
usurios legtimos, isto envolve o uso de sistemas redundantes, no-breaks e mecanismos
contra ataques de Denial of Service.

Oportunidades e Riscos: Vulnerabilidades
Oportunidades no faltam na vasta gama de servios disponveis hoje na Internet,
comeando pelo nmero de usurios que temos na Internet, o qual praticamente
impossvel de se mensurar, e ainda pelo fato dela ser a maior compradora e vendedora do
mundo. Ela tambm tem o potencial para ser a maior projetista, a maior desenvolvedora, a
maior fabricante e a maior distribuidora.
Algumas vulnerabilidades so semelhantes ao mundo no virtual (fora da Internet):
pornografia, jogos de azar, falta de privacidade e assdio sexual, so apenas algumas. As
ameaas especficas da Internet seriam os vrus, worms, trojans e o hacker de computador.
Sem dvida o tipo de ameaa mais comentada o hacker de computador. No s pelo
carter interessante do fato, mas tambm pela quantidade de problemas que um hacker mal
intencionado (cracker) pode causar. Os pontos vulnerveis decorrem de fatores mais
tcnicos que dependendo do caso podem ser extremamente complexos. Os hackers
conhecem estes fatores e sua complexidade, ns, que desejamos proteger nossas redes
tambm temos que conhecer tanto quanto eles, e por isso, temos que entender as
vulnerabilidades do ponto de vista tcnico.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

148
Dentre as coisas terrveis que podem acontecer podemos apontar:
Suas senhas podero ser roubadas e sua conta modificada;
Suas linhas de comunicao podem ser grampeadas e informaes secretas de sua
empresa podero ser comprometidas;
Sua rede poder ser inundada de informaes e entrar em colapso;
Sua propriedade intelectual poder se roubada;
Voc poder estar violando controles de exportao de tecnologia;
Seus funcionrios podero ser pegos transportando pornografia;
Suas finanas podero ser alteradas;
Pode haver falsificao de dinheiro;
Algum poder se passar por voc e efetuar transaes financeiras em seu nome.
Quando uma vulnerabilidade divulgada, isto , algum a descobriu e a divulgou, o
descobridor ir pertencer a um destes trs grupos:
Hackers;
Crackers;
Fabricantes de software ou hardware.
Como estar informado tecnicamente sobre as vulnerabilidades? Esta uma pergunta muito
fcil de responder: pela prpria Internet. Assine listas de discusso especficas e visite sites
de segurana todos os dias: BUGTRAQ (pertence SecurityFocus) e BOS-BR (Brasileira
pertence Securenet).




Copyright 2007, ESAB Escola Superior Aberta do Brasil

149
Alguns sites:
http://www.securityfocus.com
http://packetstorm.securify.com
http://ciac.llnl.gov
http://www.lockabit.coppe.ufrj.br
http://www.securenet.com.br
importante verificar tambm continuamente os sites dos fabricantes dos softwares que sua
empresa utiliza, normalmente eles possuem uma seo dedicada segurana.

Comrcio Eletrnico
O comrcio eletrnico, a compra e venda de mercadorias e servios atravs de um meio
eletrnico, esta ser uma das mais importantes maneiras de se fazer negcio no futuro. Nos
ltimos tempos, porm, o progresso tem sido mais lento devido a falta de mecanismos
seguros para efetuar pagamentos eletronicamente na Internet. Mesmo com tecnologias j
amadurecidas, ainda temos problemas com o fator humano que nega a confiar em tais
tecnologias. As pessoas acham, s vezes erroneamente, que esto mais seguras usando o
carto de crdito numa loja onde o atendente leva seu carto e volta minutos depois do que
na Internet.
Como pesquisar solues para comrcio eletrnico? Enquanto estiver analisando protocolos
e tecnologias de pagamento, essencial manter-se atualizado, recorra prpria Internet
para obter as informaes mais recentes. Tambm recomendamos que sua empresa ou
organizao faa parte de grupos de trabalho para padronizao de tecnologias. Se a
participao direta no for possvel, pelo menos se mantenha a par dos novos
desenvolvimentos. A maioria destes grupos possui sites e/ou grupos de discusso dos quais
voc pode participar.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

150
ETF (Internet Engineering Task Force)
Comits ANSI do NIST
W3C (World Wide Web Consortium)
CommerceNet
FSTC (Financial Services Technology Consortium)
Smart Card Forum

Introduo a Banco de dados - Modelo Relacional
http://www.cos.ufrj.br/~marta/BdRel.pdf




Copyright 2007, ESAB Escola Superior Aberta do Brasil

151
UNIDADE 24
Objetivo: Conhecendo o inimigo em Segurana de acesso e de dados
O INIMIGO
Conhecendo o inimigo
Muitos problemas de segurana so causados por pessoas maliciosas tentando ganhar
algum tipo de benefcio, seja ele monetrio, poltico, intelectual, etc.
Considere a seguinte tabela que mostra alguns adversrios que um profissional em
segurana ter que enfrentar:
Adversrios Objetivos
Estudante Divertir-se vasculhando E-mails, roubando senhas, etc..
Hacker Cracker Testar a segurana de sistemas, roubar informaes.
Homens de Negcios Descobrir planos e estratgias de Marketing do concorrente.
Ex. Empregados Vingar-se por ter sido despedido.
Espio Conhecer a tecnologia do inimigo.
Terrorista Roubar e utilizar segredos polticos.

Outro problema grave a quantidade de informaes existente na Internet hoje abordando
falhas de segurana e tcnicas de invaso. Muitos manuais e ferramentas esto disponveis,
distribudas por grupos de hackers e at por organizaes dedicadas a segurana.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

152
Alguns sites de grupos de hackers:
http://www.ussrback.org
http://www.destroy.net
http://www.insecure.org
http://www.hackershomepage.com
http://www.hackerslab.com
http://packetstorm.securify.com
http://www.rootshell.com
http://www.securityportal.com
http://www.technotronic.com
http://unsekurity.virtualave.net
http://www.phrack.com
http://www.bufferoverflow.org

Segurana de acesso e de dados
Distinguir estes dois tipos de segurana muito importante. Temos que ter em mente que
um hacker mal intencionado ir descobrir falhas ou usar de qualquer artifcio para conseguir
quebrar um ou o outro tipo, e ele quebrar uma das duas, conseqentemente quebrar as
duas! necessrio trancar bem a periferia de sua rede ou sistema, mas para fazer voc
tem que conhec-la bem, saber que tipos de dados trafegam.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

153
Lembre-se que voc nunca estar 100% seguro (e isso verdade):
Em aprender a pensar como um hacker em usar criptografia;
Em usar senhas fortes e jamais informar uma senha ou detalhes do seu sistema;
Em desconfiar de tudo (e de todos).
Ferramentas de segurana: um dos itens mais importantes est s ferramentas, mas no so
as nicas necessrias.

Itens importantes para a segurana:
Investimento;
Plano de Segurana;
Pessoal qualificado;
Interao na organizao e entre fornecedor e cliente;
Ferramentas de segurana.

Ameaas: problemas mais comuns:
M configurao dos hosts: a m configurao pode ocorrer devido aos problemas em
especial:
Configurao default do sistema deixa muito a desejar em segurana;
Instalao de um sistema sem um mnimo de preocupao com a instalao default:
Daemons do UNIX, Registros do NT;
Instalao e/ou habilitao de servios de forma indiscriminada.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

154
Falhas inerentes dos sistemas: a culpa sempre colocada sempre nos fabricantes, por que
seus sistemas possuem vulnerabilidade e falhas, quando no deveriam ter. Bugs so
naturais em softwares Os bugs, falhas, e vulnerabilidades sempre iro existir, ento, cabe a
ns, nos manter atualizados quanto ao lanamento de correes, patches, updates, etc.
Deficincia na reposta dos fabricantes: um problema causado pelo fabricante, quando este
deixa de manter um controle de qualidade de seu software, e o que pior, no alerta os
usurios e nem lana correes para tais problemas. Portanto, antes de adquirir um
software, verifique, alm de sua funcionalidade, se existe uma rea de suporte ativa que
cuide das atualizaes e tenha preocupao com a segurana do produto.
Pobre educao em segurana: um dos primeiros problemas que devem ser atacados na
implementao de um plano de segurana. Nada adianta termos os melhores profissionais
na administrao, os melhores produtos, se nossos funcionrios no esto cientes da real
necessidade de segurana, e como se deve proceder. No que seja necessrio deixar para
no cometer erros que possam comprometer a segurana de todo o sistema.
Script Kiddies: Eles no procuram pela maneira mais fcil possvel. Fazem isto utilizando um
pequeno nmero de portas, ento eles procuram pela Internet inteira, at que conseguem
mquina que seja vulnervel (cedo ou tarde isto certamente acontecer), deixam para trs as
sofisticadas. Alguns no tm a mnima idia do que est fazendo. Uma maneira de voc se
proteger executar somente os servios que so necessrios. Se voc no precisa de um
servio, desligue-o. Se voc precisa do servio, verifique se voc possui a ltima verso ou
se voc tem todos os patches/fixes instalados.
Os servidores DNS so muito usados para construir bases de dados dos sistemas que
podem ser testados/escaneados. Limite os sistemas que podem fazer a transferncia de
zona dos seus Servidores de DNS. altamente recomendado atualizar para a ltima verso
do BIND, que voc pode encontrar em http://www.isc.org/bind.html. E por ltimo, observe se
os seus sistemas sofrem ataques de scanning.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

155
O script kiddie uma ameaa a todos os sistemas, eles no tm nenhum preconceito,
escaneiam qualquer sistema, em qualquer lugar do mundo, independente do valor do
sistema. Cedo ou tarde seu sistema ser testado/escaneado.

Algoritmos e Estrutura de Dados
http://www.eduardostefani.eti.br/bennett/algoritmos2/algoritmos-estrutura-dados.pdf




Copyright 2007, ESAB Escola Superior Aberta do Brasil

156
UNIDADE 25
Objetivo: Conhecer a Engenharia Social.
ENGENHARIA SOCIAL
Os Administradores de Sistemas e Analistas de Segurana tm a tarefa de garantir que a
rede e os sistemas estejam disponveis, operacionais e ntegros, utilizando as ltimas
ferramentas e tecnologias disponveis para atingir esses objetivos. Infelizmente no importa
quanto dinheiro em equipamentos ou programas forem investidos na segurana, sempre
haver um elemento desprezado: o elemento humano. Muitos atacantes com conhecimentos
medocres de programao podem vencer ou ultrapassar a maioria das defesas utilizando
uma tcnica designada como Engenharia Social.
Na segurana da informao a Engenharia Social a aquisio de alguma informao ou
privilgios de acesso inapropriado por algum do lado de fora, baseado na construo de
relaes de confiana inapropriadas com as pessoas de dentro de uma organizao. Ou
seja, a arte de manipular pessoas a fazer aes que elas normalmente no fazem. O
objetivo da Engenharia Social, como tcnica de ataque segurana, enganar alguma
pessoa para que ela diretamente fornea informaes, ou facilite o acesso a essas
informaes. Essa tcnica baseada nas qualidades da natureza humana, como a vontade
de ajudar, a tendncia em confiar nas pessoas e o medo de se meter em problemas. O
resultado de uma ao de Engenharia Social bem sucedida o fornecimento de informaes
ou acesso a invasores sem deixar nenhuma suspeita do que eles esto fazendo.
A Engenharia Social um problema srio. Uma organizao deve pregar uma poltica que
possa proteg-la contra essa ameaa, sendo que essa poltica deve ser repassada para toda
a organizao. No adianta implementar as mais modernas ferramentas de segurana se os
funcionrios fornecem a chave da porta para todos que pedirem.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

157
Existe algum mtodo mais rpido e eficiente de se descobrir uma senha?
Que tal simplesmente perguntar? Por mais extraordinrio que possa parecer, o mtodo mais
simples, mais usado e talvez mais eficiente de se recolher informaes simplesmente
chegar e perguntar. Voc tambm poderia subornar, mas dependendo da situao, isto pode
lhe custar muito caro, ento por que no tentar enganar e obter tais informaes? De fato,
este mtodo bastante utilizado, e existem hackers que sabem us-lo com grande destreza,
como o famoso hacker Kevin Mitnick que era um expert em fazer tais vigarices.
Esta arte de fazer com que outras pessoas concordem com voc e atendam aos seus
pedidos ou desejos, mesmo que voc no tenha autoridade para tal. Pode-se dizer que
engenharia social simplesmente a arte de se contar uma mentira bastante convincente.
Dentro da rea de segurana podemos definir engenharia social como a aquisio de
informaes preciosas ou privilgios de acesso por algum de fora, baseado em uma
relao de confiana estabelecida, inapropriadamente, com algum de dentro. Profissionais
utilizam este tipo de aproximao para adquirir informaes confidenciais, como
organogramas de organizaes, nmeros de cartes de crdito e telefone, senhas de
acesso, diagrama da rede, etc. com o objetivo de avaliar as vulnerabilidades de uma
organizao para futuros ataques. Geralmente este tipo de aproximao envolve muito mais
do que simples raciocnio rpido e uma variedade de frases na ponta da lngua. Engenharia
social pode envolver muito trabalho de aquisio de informao antes de uma real ao de
qualquer tipo.
Para se iniciar um ataque, a maior parte do trabalho est na preparao, muito mais que no
prprio ataque. Dizem que o nico computador totalmente seguro aquele desligado da
tomada. A arte da engenharia social concentra-se no elo mais fraco da corrente da
segurana de computadores: os seres humanos. O simples fato de que se pode facilmente
convencer uma pessoa a ligar o computador, torna vulnervel, at mesmo, os computadores
desligados.
Na medida em que a parte humana de um sistema de segurana a mais essencial, no
existe computador na face da Terra que no necessite de seres humanos. Isso significa que


Copyright 2007, ESAB Escola Superior Aberta do Brasil

158
essa uma fraqueza universal, independente de plataforma, software, tipo de conexo de
rede ou idade do equipamento. Qualquer pessoa com acesso a qualquer parte do sistema,
fsica ou remota, pode ser uma falha de segurana em potencial. Qualquer informao
adquirida pode ser utilizada para outro ataque de engenharia social. Isso significa que
qualquer pessoa, mesmo que no seja considerada integrante da poltica de segurana pode
servir como uma porta de entrada.
O primeiro mtodo tambm o mais bvio. Um pedido simples e direto, onde se solicita ao
indivduo alvo que se execute uma determinada tarefa. Embora este mtodo seja o menos
provvel a trazer um resultado positivo, com certeza o mais simples, onde o indivduo sabe
exatamente o que voc quer que ele faa. O segundo criar uma situao onde o indivduo
apenas uma parte dela. Com muito mais fatores que um simples pedido, o indivduo
preocupado estar bem mais predisposto a ser persuadido. Isso no significa que as
situaes propostas devam ser fictcias. Quanto menos voc faltar com a verdade melhor.
Isso requer muito mais trabalho por parte de quem faz o ataque e com certeza envolve um
recolhimento de informao e conhecimento prvio do alvo.
Se a situao proposta, real ou imaginria possuir certas caractersticas, o indivduo alvo
estar mais propenso a concordar com o seu pedido.

Estas caractersticas incluem:
Difuso da responsabilidade: fazer com que o alvo acredite que ele no o nico
responsvel por suas aes e pelas informaes que ele possa divulgar.
Manter a responsabilidade: longe do alvo.
Troca de favores: permitir que o alvo acredite que esta prestando um favor a voc e
que voc extremamente grato. As pessoas geralmente mostram-se mais dispostas a
cooperar quando acreditam que podero obter alguma vantagem no futuro, como se
voc ou o chefe ficassem devendo um favor.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

159
Dever moral: quando o alvo coopera, pois acha que a coisa certa a fazer. seu
dever moral. Parte disso culpa. As pessoas procuram evitar o sentimento de culpa e
faro o possvel para evitar esse sentimento.
Escolha: procure escolher seu alvo levando em considerao seu envolvimento, sua
experincia e tempo de trabalho junto ao sistema alvo. Alunos, estagirios, secretrias
e profissionais iniciantes mostram-se sempre mais dispostos a cooperar. Isto se deve
ao fato de que estes indivduos possuem ainda pouco conhecimento e pouca
experincia a respeito do sistema alvo e desejam mostrarem-se teis. Eles querem
mostrar servio.
Quanto menos conflito com o alvo melhor. muito mais fcil ganhar a confiana do alvo
sendo gentil. Utilizar um tom de voz calmo e ser gentil um bom comeo para que o alvo
coopere.
Como um ataque de engenharia social pode revelar muitas informaes, como se pode
tornar um sistema de computadores mais seguro?
Educao e difuso da informao, explicando aos empregados e pessoas ligadas direta ou
indiretamente ao sistema a importncia de uma poltica de segurana, evitando assim o
ataque de pessoas que podero tentar manipul-los para ganhar acesso a informaes
privadas. Isto j um excelente comeo para tornar segura sua rede ou sistema.


O que PhishTank?
PhishTank um centro de limpeza colaborativo para dados e informao sobre
phishing no Internet. Tambm, PhishTank fornece um API aberto para
colaboradores e investigadores para integrar dados anti-phishing em suas
aplicaes sem nenhum custo.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

160
UNIDADE 26
Objetivo: Conhecer as pragas virtuais.
VRUS, WORMS E TROJANS
Vrus, Worms e Trojans
Batizadas genericamente de Malware, as pragas virtuais tm ganhado terreno nos ltimos
anos no que diz respeito aos prejuzos encarados por empresas.
Como se defender com eficincia contra as pragas? Pergunta freqente na mente de
administradores, gestores de segurana e empresrios, cada vez mais preocupados com as
perdas que enfrentam ao ingressar nesse admirvel mundo novo chamado Internet. Se
houvesse apenas uma resposta para essa dvida, de como aproveitar todos os recursos
trazidos pela rede sem sofrer com os riscos, estariam todos satisfeitos. Infelizmente, a
experincia mostra que lidar com ameaas virtuais exige uma srie de cuidados que no se
restringe ao uso de antivrus.
Anualmente, os vrus causam muitos prejuzos ao redor do mundo. A Internet o meio ideal
para transmisso destas pestes virtuais. Na dcada de oitenta, transmitir um vrus tinha
poucos recursos, sendo transmitido de mquina em mquina atravs de disquetes, o que
tornava a contaminao bastante lenta. Atualmente as coisas so bem diferentes, atravs da
Internet a contaminao muito mais rpida e atinge facilmente nvel mundial. Alm disso,
surgiram conceitos novos como vrus de macro, worms e trojans.
Abordaremos os vrus e suas variantes no ambiente Windows. Existem vrus nos ambiente
UNIX, mas a proporo infinitamente menor. Alm disso, os conceitos abordados aqui se
aplicam em ambos os casos. A seguir, um pequeno esclarecimento sobre as diferenas entre
os vrios invasores que podem vir a nos incomodar:


Copyright 2007, ESAB Escola Superior Aberta do Brasil

161
Vrus: so programas esprios inseridos em computadores contra vontade do usurio e
desempenham funes indesejadas. Alguns vrus tm a capacidade de se reproduzir e
infectar outros dispositivos por toda a rede. J outros no se reproduzem, mas so
distribudos em falsos programas na rede ou em CDs vendidos em publicaes.
Suponha que um vrus contamine o COMMAND.COM, arquivo executvel carregado pelo
computador toda vez que se liga o micro. Desta forma, o programador que fez o vrus sabe
que sua criatura sempre vai ser carregada na memria. J se fosse um arquivo de dados
como, por exemplo, MYFILE.TXT, nada aconteceria, pois o micro em princpio no executa
arquivos com extenso TXT.

Alguns vrus:
TROJAN (Cavalos de Tria): nome foi baseado na clssica pea da mitologia grega onde os
soldados do pas conseguem se infiltrar na cidade de Tria escondidos dentro de um imenso
cavalo de madeira. Os Cavalos-de-tria so programas projetados para assumir controle de
um servidor ou estao de trabalho de maneira furtiva, sem que o administrador de rede ou
usurio se d conta.
Para que o invasor descubra quem possui a parte servidor do software ele faz uma varredura
de endereos na Internet. Quem estiver infectado pelo cavalo-de-tria responder
varredura.
Os Trojans so cdigos maliciosos, geralmente camuflados como programas inofensivos
que, uma vez instalados no computador da vtima, podem permitir que o criador da praga
obtenha o controle completo sobre a mquina infectada, que passa a ser chamada de
zumbi. Os programas para ataques Denial-of-Service (DoS) geralmente so Trojans.
Alguns tipos de Trojans conhecidos, como o BO e o Netbus, permitem acesso ao
computador, deixando vulnerveis arquivos do sistema e senhas gravadas no disco e na
memria. Neste caso, um usurio de Internet banking infectado pela praga pode estar
fornecendo sem saber o passaporte para a sua conta corrente.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

162
Para evitar a infeco por cavalos-de-tria, muitos sites visados pelos invasores
disponibilizam arquivos para download com esquemas de verificao de integridade como
verificao de soma, PGP, entre outros.
Vrus de Macro: Macro uma VBA Visual Basic Application (linguagem script desenvolvida
pela Microsoft), que interpretada pelo MS OFFICE (Word, Excel, Access, Power Point), ou
seja, podemos fazer pequenos programas que nos ajudem a trabalhar no Office. Como por
exemplo, criar um boto na barra de ferramentas do Word que permita abrir diretamente a
calculadora do Windows. No entanto, nas mos erradas, se torna uma arma poderosa capaz
de causar muitos prejuzos. Um Vrus de Macro um programa escrito em VBA. No
momento que abrimos um documento do Word contaminado, este macro ativado, podendo
apagar documentos importantes.
Worms: so trojans ou vrus que fazem cpias do seu prprio cdigo e as enviam para outros
computadores, seja por e-mail ou via programas de bate-papo, dentre outras formas de
propagao pela rede. Tem se tornado cada vez mais comuns e perigosos porque o seu
poder de propagao muito grande.
Do lado dos servidores, os worms mais recentes exploram vulnerabilidades dos servios ou
programas instalados no servidor para se infiltrar e fornecer acesso ao atacante. Alm disso,
uma vez instalados eles comeam a procurar novos endereos vulnerveis para atacar. J
do lado das estaes, os worms mais comuns exploram vulnerabilidades dos programas de
recebimento de e-mail para se infiltrarem e se propagarem para todos os endereos
cadastrados no cliente de e-mail, alm de se anexarem automaticamente em todas as
mensagens enviadas.
Os worms so uma das pragas mais perigosas atualmente, se unem ao conceito de vrus e
trojan utilizando a Internet para se propagarem automaticamente.
Port Scanning: o processo de verificao de quais servios esto ativos em um
determinado host, podendo verificar redes inteiras, apontando quais hosts esto ativos e
quais so os seus servios de rede em funcionamento. Alm disso, as ferramentas mais


Copyright 2007, ESAB Escola Superior Aberta do Brasil

163
modernas inclusive podem informar qual o sistema operacional do host verificado. Hosts
podem ser considerados como estaes, servidores ou equipamentos ligados em rede.
Geralmente essa a primeira tcnica utilizada por hackers para se obter informaes sobre o
seu alvo. Sabendo quais so os servios disponveis e qual o sistema operacional, eles
podem buscar por vulnerabilidades nesses sistemas. Para realizar um trabalho obscuro,
muitas das ferramentas de Port Scanning utilizam tcnicas como Spoofing para ocultar
origem da sua ao, e possuem um tipo de scanning chamado Stealth, que dificilmente
pode ser detectado. A tcnica de Port Scanning tambm pode ser utilizada pelos
administradores de sistemas para realizar uma auditoria nos servios ativos da rede. Dessa
maneira, pode-se identificar e eliminar quaisquer servios que estejam rodando sem
necessidade, auxiliando na manuteno da segurana.
O Port Scanning muito til, tanto para os administradores de sistemas quanto para os
Hackers. Atualmente, existem ferramentas que podem identificar e reagir contra essa
tcnica, devendo ser utilizadas com precauo, pois os invasores podem estar utilizando
endereos falsos. Assim, uma reao poderia estar sendo realizada contra o host errado.
Antivrus: os vrus formam uma grande indstria de antivrus, que agem de forma
semelhante. Existem dois mtodos bsicos usados para combater vrus. O primeiro consiste
em manter nos antivrus de dados onde ficam registradas todas as assinaturas (parte do
vrus que o caracteriza) de vrus conhecidos. Da a importncia de manter seu antivrus
atualizado, pois a cada dia surgem centenas de novos vrus. Assim, quando scaneamos o
sistema, na verdade o que estamos fazendo comparar cada arquivo nosso com a
assinatura dos vrus registrados. A segunda forma de proteo conhecida como
inoculao, que nada mais que a criao de um banco de dados contendo as principais
informaes (tamanho, data de criao e data da ultima alterao) sobre os arquivos
inoculados. Assim, cada vez que scaneamos o sistema o programa antivrus compara as
informaes do banco de dados criado com as que esto no disco. Se houver alguma
diferena emitido um alerta. Mas no qualquer arquivo que deve ser inoculado, uma vez
que arquivos de dados sempre so alterados. Os arquivos executveis, DLLs e arquivos de


Copyright 2007, ESAB Escola Superior Aberta do Brasil

164
sistema so exemplos de arquivos que devem ser inoculados, pois so as principais vtimas
de vrus e no mudam seu contedo com freqncia.

Portal da Segurana
http://www.jseg.net/cms/index.php?option=com_content&task=view&id=1566&Itemid=
148




Copyright 2007, ESAB Escola Superior Aberta do Brasil

165
UNIDADE 27
Objetivo: Conhecer os tipos de Ataques e Medidas de Segurana.
MEDIDAS DE SEGURANA
Algumas Medidas de Segurana
Nenhuma empresa est livre de ataques de vrus. Existem algumas medidas que ao menos
podem diminuir o risco de contaminao. Primeiramente muito importante que haja uma
conscientizao por parte dos funcionrios sobre as normas de segurana, a fim de evitar
problemas futuros. Nada adianta uma equipe super treinada em segurana se os
funcionrios insistirem em baixar arquivos de origem duvidosa na Rede externa, ou inserirem
discos inseguros nos micros.
Um dos pontos mais importante do processo de conscientizao dos funcionrios a
questo do e-mail, pois este o principal trampolim dos vrus atualmente.
Medidas simples podem evitar muita dor de cabea futura:
No abrir e-mails de pessoas desconhecidas;
No abrir arquivos executveis anexados a e-mails, mesmo que venham de pessoas
conhecidas;
No abrir documentos do Office contendo macros, se abrir, desabilitar os macros;
No baixar programas de sites da Internet;
No usar disquetes de dentro da empresa em computadores de segurana duvidosa.
Apesar de tudo, o ideal tambm ter uma equipe preparada para agir em caso de
contaminao, e que se mantenha atualizada se tratando tratar de contaminaes e de
segurana do site em geral.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

166
Algumas atribuies bsicas de uma equipe de segurana:
Manter o antivrus sempre atualizado;
Fazer backups peridicos;
Configurar os clientes de e-mail para no interpretarem HTML ou qualquer script;
Configurar o Office para no executar macros sem permisso;
Atualizar o Office periodicamente (cada dia que passa descobrem-se novas falhas,
que podem ser exploradas).

Distribute DoS
O DoS tem sido usado por profissionais de segurana como ferramenta para avaliar a
capacidade de sua rede. Por outro lado, do mundo todo tm trazido muitos problemas a
pequenos e at grandes sites, como Yahoo redes. O poder de sobrecarga desses ataques
aumenta quando eles vm de vrias mquinas para um alvo, ou seja, o envio de pacotes
parte de vrios pontos.
DDoS Distributed Denial-of-Services Attacks: ao longo de 1999 e 2000, diversos sites
sobre segurana da informao (como o CERT, SANS e SecurityFocus) comearam a
anunciar uma nova categoria de ataques de rede que acabou se tornando bastante
conhecida: o ataque distribudo. Para iniciar um ataque so utilizados centenas ou at
milhares de computadores desprotegidos e ligados na Internet para lanar coordenadamente
o ataque. A tecnologia distribuda no completamente nova, no entanto, vem
amadurecendo e se sofisticando de tal forma que at mesmo vndalos curiosos e sem muito
conhecimento tcnico podem causar danos srios.
Os ataques DDoS so resultados de se conjugar dois conceitos: negao de servio e
intruso distribuda, e podem ser definidos como ataques DoS diferentes partindo de vrias


Copyright 2007, ESAB Escola Superior Aberta do Brasil

167
origens, disparados simultnea e coordenadamente sobre um ou mais alvos. De uma
maneira simples, so ataques DoS em larga escala.
Os primeiros ataques DDoS documentados surgiram em agosto de 1999 [CERT00:web], no
entanto, esta categoria se firmou como a mais nova ameaa na Internet na semana de 7 a 11
de Fevereiro de 2000, quando vndalos cibernticos deixaram inoperantes por algumas
horas sites como o Yahoo, EBay, Amazon e CNN. Uma semana depois, teve-se notcia de
ataques DDoS contra sites brasileiros, tais como: UOL, Globo On e IG, causando com isto
uma certa apreenso generalizada.
Para realizao de um ataque DDoS so envolvidos os seguintes personagens:
Atacante: quem efetivamente coordena o ataque.
Master: mquina que recebe os parmetros para o ataque e comanda os agentes.
Agente: mquina que efetivamente concretiza o ataque DoS contra uma ou mais
vtimas, conforme for especificado pelo atacante. Geralmente um grande nmero de
mquinas que foram invadidas para ser instalado o programa cliente.
Vtima: alvo do ataque; mquina que "inundada" por um volume enorme de pacotes,
ocasionando um extremo congestionamento da rede e resultando na paralisao dos
servios oferecidos por ela.
Daemon: processo que roda no agente, responsvel por receber e executar os
comandos enviados pelo cliente.
Cliente: aplicao que reside no master e que efetivamente controla os ataques
enviando comandos aos daemons.
Os ataques DDoS amplificam o poder de ao dos ataques DoS utilizando computadores
comprometidos, os agentes, onde os daemons foram instalados indevidamente devido a
vulnerabilidades exploradas pelos atacantes. A partir do momento que o master envia o
comando de incio para os agentes, o ataque vtima se inicia em grande escala. Esse tipo
de ataque mostra como a segurana de qualquer equipamento Internet importante,


Copyright 2007, ESAB Escola Superior Aberta do Brasil

168
qualquer host vulnervel pode ser utilizado como recurso para um ataque. A idia instalar
programas para ataque DoS em diferentes hosts. Este computador central, esses Zumbis
comeam a enviar o mximo de pacotes ao alvo, sendo que na primeira est o cracker na
ltima camada as mquinas s quais iro enviar diretamente os pacotes que iro causar o na
vtima.
Antes de existirem ferramentas que automatizassem esse ataque, era necessrio usar para
disparar o ataque. Usando telnet ou SSH, o hacker dispararia o comando para causar o na
mquina vtima. Para isso, ele poderia usar, por exemplo, o ping do UNIX nos hosts.
Vulnerabilidades do TCP/IP so a chave para o desenvolvimento de novos programas, cada
vez mais poderosos nesses ataques. Uma delas o Stream Attack, descoberta por Tim
Yardley. Esta categoria de ataque funciona da seguinte maneira: na conexo, pacotes so
enviados com os indicadores (flags) ACK e SYN ligados ou apenas o ACK ligado. Devido a
estes flags no fazerem parte de uma primeira etapa da conexo, a mquina alvo ficar
confusa e levar algum tempo para processar tais dados. Imagine ento o Stream Attack
partindo de vrias hosts (modo distribudo), isto ocasionaria uma sobrecarga utilizando-se um
menor nmero de hosts (Zumbis) que o DDoS padro.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

169
UNIDADE 28
Objetivo: Diferenciar os Ataques, Metodologia empregada e tcnicas de ataque a senhas.
DoS
Tipos de Ataques de DoS:
Consumo de Largura de Banda: neste tipo de ataque, existem pelo menos duas
possibilidades:
1. O atacante possui uma largura de banda maior que a da vtima, o que facilita a
inundao.
2. O atacante agrega outros computadores para que juntos, disparem o ataque,
amplificando seu efeito e consumindo a largura de banda do computador vtima.
Consumo dos Recursos: a idia esgotar os recursos do sistema, tais como memria, CPU,
quotas de disco, etc., o que pode ocasionar travamento dos processos, entupimento de
discos, indisponibilizao de recursos.
Ataques a Servidores de Nomes de Domnios (DNS) e a Roteadores: o ataque baseado em
roteamento, o atacante manipula a tabela de roteamento com a finalidade de negar servio a
quem consult-la, explorando falhas dos protocolos de roteamento, como o Protocolo de
Informaes de Roteamento (RIP) e o Protocolo de Gateway de Fronteira (BGP). Com isso,
o atacante pode direcionar todo trfego para a mquina dele, ou mesmo para uma rede que
no existe, o que chamamos de buraco negro. Assim como nos ataques baseados em
roteamento, o ataque a DNS permite direcionar o trfego. Porm, esses ataques, em sua
maioria, consistem em armazenar endereos falsos no cache do servidor da vtima.




Copyright 2007, ESAB Escola Superior Aberta do Brasil

170
Exemplos de Ataques DoS:
Ataque de Senhas: a utilizao de senhas seguras um dos pontos fundamentais para uma
estratgia efetiva de segurana [CLIFF01:web], garantindo que somente as pessoas
autorizadas tero acesso a um sistema ou rede, o que nem sempre realidade. As senhas
geralmente so criadas e implementadas pelos prprios usurios que utilizam os sistemas ou
a rede. Palavras, smbolos ou datas fazem com que as senhas tenham algum significado
para os usurios, permitindo que eles possam facilmente lembr-las. Neste ponto que
existe o problema, pois muitos usurios priorizam a convenincia ao invs da segurana,
escolhendo senhas relativamente simples. Enquanto isso permite que possam lembrar
facilmente das senhas, tambm facilita o trabalho de quebra dessas senhas por hackers, e
invasores em potencial esto sempre testando as redes e sistemas em busca de falhas para
entrar. O modo mais notrio e fcil a ser explorado a utilizao de senhas inseguras. A
primeira linha de defesa, a utilizao de senhas, pode se tornar um dos pontos mais falhos.
Parte da responsabilidade dos administradores de sistemas garantir que os usurios
estejam cientes da necessidade de utilizar senhas seguras. Isto leva a dois objetivos a serem
alcanados: primeiro, educar os usurios sobre a importncia do uso de senhas seguras; e
segundo, implementar medidas que garantam que as senhas escolhidas pelos usurios so
efetivamente adequadas. Para alcanar o primeiro objetivo, a educao do usurio o ponto
chave. J para alcanar o segundo objetivo, necessrio que o administrador de sistemas
esteja um passo frente, descobrindo senhas inseguras antes dos atacantes. Para fazer isso
necessria a utilizao das mesmas ferramentas utilizadas pelos atacantes.

Duas principais tcnicas de ataque a senhas [CLIFF01:web]:
Ataque de Dicionrio: so utilizadas combinaes de palavras, frases, letras, nmeros,
smbolos, ou qualquer outro tipo de combinao geralmente que possa ser utilizada na
criao das senhas pelos usurios. Os programas responsveis por realizar essa tarefa
trabalham com diversas permutaes e combinaes sobre essas palavras. Quando alguma
dessas combinaes se referir senha, ela considerada como quebrada (Cracked).


Copyright 2007, ESAB Escola Superior Aberta do Brasil

171
Geralmente as senhas esto armazenadas criptografadas utilizando um sistema de
criptografia HASH. Dessa maneira os programas utilizam o mesmo algoritmo de criptografia
para comparar as combinaes com as senhas armazenadas, ou seja, eles adotam a mesma
configurao de criptografia das senhas, e ento criptografam as palavras do dicionrio e
comparam com senha.
Fora-Bruta: enquanto as listas de palavras, ou dicionrios, do nfase a velocidade, o
segundo mtodo de quebra de senhas se baseia simplesmente na repetio. Fora-Bruta
uma forma de se descobrir senhas que compara cada combinao e permutao possvel de
caracteres at achar a senha. Este um mtodo muito poderoso para descoberta de senhas,
no entanto extremamente lento porque cada combinao consecutiva de caracteres
comparada, como por exemplo, aaa, aab, aac ..... aaA, aaB, aaC... aa0, aa1, aa2, aa3... aba,
aca, ada...

Outras tcnicas de ataque a senhas:
SMURF: um dos mais temidos, envolvendo vtima, atacante e uma rede auxiliar. Funciona
da seguinte maneira: so enviados pacotes ICMP echo a rede auxiliar, de origem falsificada
como sendo o endereo da vtima e quando os pacotes chegam a rede auxiliar, eles sero
multiplicados e, portanto, a vtima ser inundada com quantos pacotes forem ecoados na
rede.
SYN FLOOD: para entendermos este ataque precisamos ver como funciona uma conexo
TCP entre duas mquinas A e B, que realizada em 3 etapas. Primeiramente, a mquina A
envia um pacote SYN. A mquina B ento responde com outro pacote SYN/ACK que ao
chegar a mquina A, reenvia um pacote ACK e ento a conexo estabelecida. A
vulnerabilidade explorada que a maioria dos sistemas aloca uma quantidade finita de
recursos para cada conexo potencial. Mesmo que um servidor seja capaz de atender muitas
conexes concorrentes para uma porta especfica (porta 80), o que o atacante explora que
apenas cerca de 10 conexes potenciais so tratveis. Iniciando o ataque, o cracker envia
um pacote SYN com origem falsificada (buraco negro), o que deixar a vtima procurando por


Copyright 2007, ESAB Escola Superior Aberta do Brasil

172
algum tempo (que varia de acordo com o sistema) a origem para enviar o pacote SYN/ACK.
Sendo assim, esta possvel conexo fica alocada na fila, que bastante limitada.

Detectando e evitando
DDoS gera dois tipos de trfego: trfego de controle (entre cliente e servidor) e trfego flood
(entre servidor DDoS e a vtima). Para habilitar uma eficiente deteco deve-se procurar por
sinais gerais (assinaturas), alguns bvios, outros pelo volume de trfego e que causam
suspeita. Ainda no existe uma soluo para bloquear um ataque DoS/DDoS. O que se pode
fazer tentar minimizar seu impacto, para fazer isso temos que primeiro identificar
corretamente um ataque de DoS e depois criar solues para escoar o fluxo de pacotes,
seja atravs de um firewall na fronteira ou algum esquema de alterao de endereamento
IP ou DNS.

Metodologia dos ataques:
Footprinting (Coletando informaes do alvo): arte de obter informaes sobre um sistema
alvo usando tticas seguras, sem perigo de deteco e, que pode dar informaes sobre
ele, como visitar o site da empresa em que se quer invadir e ler as seces para ver se
encontra algo diferente.
Antes da diverso real do Hacker comear, trs passos especiais, e s vezes rduos,
precisam ser executados. Primeiramente, a aquisio de alvos (footprinting), e coleta
informaes do alvo. Por exemplo, quando um ladro decide roubar um banco ele no entra
simplesmente no banco e comea a exigir o dinheiro (pelo menos, no os expertos). Em vez
disso, eles fazem grandes esforos para obter informaes sobre o banco as rotas dos
carros-fortes e horrios de entrega de dinheiro, as cmeras de vdeo, o nmero de caixas,
etc. O mesmo se aplica a invasores bem-sucedidos. Eles precisam colher uma grande
quantidade de informaes para executar um ataque cirrgico e bem direcionado (um que
no seja descoberto imediatamente). Como resultado, um atacante ir coletar o mximo de


Copyright 2007, ESAB Escola Superior Aberta do Brasil

173
informaes sobre todos os aspectos de segurana de uma organizao. Eles acabaro
obtendo um footprint (perfil) nico de sua presena na Internet.
Seguindo uma metodologia estruturada, atacantes podem juntar sistematicamente
informaes de uma grande variedade de fontes e compilar esse footprint crtico de qualquer
organizao. Embora haja diferentes tcnicas de footprinting, seu objetivo primrio
descobrir informaes relacionadas a tecnologias de Internet, intranet, acesso remoto e
extranet.
Mtodos e Ferramentas de Segurana: as ferramentas de segurana podem ser
classificadas inicialmente quanto ao seu escopo:

Ferramentas de segurana de hosts
So voltadas para anlise, correo, implementao de novos controles em sistemas
computacionais, como o crack para verificao de senhas;
Ferramentas de segurana de rede;
Esto direcionadas para a verificao e implementao de controles sobre o trfego de uma
rede, como os filtros de pacotes;

Outra categorizao referente funo:
Verificao da integridade e vulnerabilidade;
Compreende programas que analisam ou controlam a situao de um ou mais sistemas,
relacionando os servios disponveis, os erros de permisso em arquivos, mudanas em
programas, acesso a servios, etc.;
Autenticao.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

174
Uma vez conhecidas as principais ameaas e tcnicas utilizadas contra a segurana da
Informao, podem-se descrever as principais medidas e ferramentas necessrias para
eliminar essas ameaas e garantir a proteo de um ambiente computacional.
Segurana Fsica: medidas de proteo fsica, como servios de guarda, uso de no-breaks,
alarmes e fechaduras, circuito interno de televiso e sistemas de escuta, so realmente uma
parte da segurana da informao. As medidas de proteo fsica so freqentemente
citadas como segurana computacional, visto que tm um importante papel tambm na
preveno.
Salienta-se as ameaas sempre presentes, mas nem sempre lembradas, como incndios,
desabamentos, relmpagos, alagamentos, problemas na rede eltrica, acesso indevido de
pessoas aos servidores ou equipamentos de rede, treinamento inadequado de funcionrios,
etc.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

175
UNIDADE 29
Objetivo: Conhecer Sistemas de Deteco de Intruso, tcnicas de reconhecimento de
ataque e programas para Identificao de Intrusos atravs de Rede.
SISTEMAS
Instalao e Atualizao
A maioria dos sistemas operacionais, principalmente as distribuies Linux, vem
acompanhada de muitos aplicativos que so instalados opcionalmente no processo de
instalao do sistema. Temos como exemplo a distribuio Shrike RedHat Linux, que na sua
verso mais atual (9) vem acompanhada de dois CDs com mais de 3000 aplicativos. Muitas
vezes a instalao desses aplicativos no focaliza a segurana, mas sim a facilidade de uso.
Sendo assim, torna-se necessrio que vrios pontos sejam observados para garantir a
segurana desde a instalao do sistema, dos quais podemos destacar:
Seja minimalista: instale somente os aplicativos necessrios, pois aplicativos com
problemas podem facilitar o acesso de um atacante;
Devem ser desativados todos os servios de sistema que no sero utilizados: muitas
vezes o sistema inicia automaticamente diversos aplicativos que no so necessrios,
e que podem facilitar a vida de um atacante;
Deve-se tomar um grande cuidado com as aplicaes de rede: problemas nesse tipo
de aplicao podem deixar o sistema vulnervel a ataques remotos que podem ser
realizados atravs da rede ou Internet;
Use parties diferentes para os diferentes tipos de dados: a diviso fsica dos dados
facilita a manuteno da segurana;


Copyright 2007, ESAB Escola Superior Aberta do Brasil

176
Remova todas as contas de usurios no utilizadas: contas de usurios sem senha,
ou com a senha original de instalao, podem ser facilmente exploradas para obter-se
acesso ao sistema.

Grande parte das invases na Internet acontece devido falhas conhecidas em aplicaes
de rede, as quais os administradores de sistemas no foram capazes de corrigir a tempo
[CERT00]. Afirma-se facilmente pelo simples fato de que quando uma nova vulnerabilidade
descoberta, um grande nmero de ataques realizado com sucesso. Por isso,
extremamente importante que os administradores de sistemas se mantenham atualizados
sobre os principais problemas encontrados nos aplicativos utilizados, atravs dos sites dos
desenvolvedores ou especficos sobre segurana da Informao. As principais empresas
comerciais desenvolvedoras de software e as principais distribuies Linux possuem boletins
peridicos informando sobre as ltimas vulnerabilidades encontradas e suas devidas
correes. Alguns sistemas chegam at a possuir o recurso de atualizao automtica,
facilitando ainda mais o processo. O ponto-chave que as tcnicas de proteo de dados
por mais sofisticadas que sejam no tm serventia nenhuma se a segurana fsica no for
garantida.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

177
Sistemas de Deteco de Intruso (IDS)
As tecnologias de infra-estrutura, de servios e protocolos para redes de computadores
evoluem com velocidades impressionantes e tornam-se cada vez mais complexas. Podemos
citar novos protocolos, o SSL (Secure Socket Layers), o IPSec (extenses de segurana
para o protocolo IP) utilizado na implementao de VPNs. Como exemplos de novas
tecnologias de interconexo e infra-estrutura, temos as redes comutadas, redes de altas
velocidades etc. Estas novas tecnologias, algumas criadas com o objetivo de oferecer maior
segurana nas comunicaes digitais, acabam por criar dificuldades na implantao de
sistemas de deteco de intrusos (IDS Intrusion Detection System). Tais dificuldades
incluem a limitao de anlise de trfego dos atuais IDSs em redes com taxas de
transmisso maior que 100 Mbps e a falta de suporte a tecnologias como ATM. Para a
implementao adequada de um IDS, muitas vezes so necessrias alteraes estruturais
na topologia destas redes, mas, sobretudo, necessrio o completo conhecimento do
ambiente em questo. Uma das solues para os problemas apresentados acima e outros
descritos ao longo deste artigo a utilizao de IDSs baseados na monitorao individual
dos sistemas, conhecidos como host-based IDS (ou IDSs hbridos), que agregam checagens
do trfego de rede.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

178
Uma das reas de maior expanso, pesquisa e investimento na segurana em redes de
computadores a deteco de Intruso. Com o grande crescimento da interconexo de
computadores em todo o mundo, materializado pela Internet, verificado um conseqente
aumento nos tipos e no nmero de ataques a esses sistemas, gerando uma complexidade
muito elevada para a capacidade dos tradicionais mecanismos de preveno. Para maioria
das aplicaes atuais, desde redes corporativas simples at sistemas de e-commerce ou
aplicaes bancrias, praticamente invivel a simples utilizao de mecanismos que
diminuam a probabilidade de eventuais ataques.
Um ataque fora, em casos extremos, causa interrupes totais dos servios para que um
lento e oneroso processo de auditoria e de posterior restaurao manual seja feito. Isso
justifica todo o investimento feito visando a criao de mecanismos que ultrapassem a
barreira da simples preveno, garantindo aos sistemas um funcionamento contnuo e
correto mesmo na presena de falhas de segurana, principal objetivo dos chamados
Sistemas de Deteco de Intruso (IDS Intrusion Detection Systems) (CAMPELO et al,
2001:25).
Define-se IDS como uma ferramenta inteligente capaz de detectar tentativas de invaso em
tempo real. Esses sistemas podem atuar de forma a somente alertar as tentativas de
invaso, como tambm em forma reativa, aplicando aes necessrias contra o ataque. Ou
seja, IDS um sistema de configuraes e regras que tem como objetivo gerar alertas
quando detectar pacotes que possam fazer parte de um possvel ataque.
Existem diversos tipos de ferramentas IDS para diferentes plataformas, porm as
ferramentas IDS trabalham basicamente de modo parecido, ou seja, analisando os pacotes
que trafegam na rede e comparando-os com assinaturas j prontas de ataques,
identificando-os de forma fcil e precisa qualquer tipo de anomalia ou ataque que possa vir a
ocorrer em sua rede/computador.
Uma ferramenta IDS serve basicamente para nos trazer informaes sobre nossa rede,
informaes como:
Quantas tentativas de ataques sofreram por dia;


Copyright 2007, ESAB Escola Superior Aberta do Brasil

179
Qual tipo de ataque foi usado;
Qual a origem dos ataques.
Enfim, a partir dele, voc vai tomar conhecimento do que realmente se passa em sua rede e
em casos extremos, poder tomar as medidas cabveis para tentar solucionar qualquer
problema.
Em funo das tcnicas com que o IDSs reconhecem um ataque, eles podem ser divididos
em dois tipos:
Sistemas Baseados em Regras (Rule-based systems): baseado em bibliotecas ou bases de
dados que contenham assinaturas dos ataques. Quando algum trfego coincide com um
critrio ou regra, ele marcado como sendo uma tentativa de intruso. A desvantagem a
necessidade de se manter a base de dados constantemente atualizada, e alm de que essa
tcnica somente identifica os ataques conhecidos. Alm disso, s vezes pode existir uma
relao inversa entre a especificao da regra e sua taxa de acerto. Isto , se uma regra for
muito especfica, ataques que sejam similares, mas no idnticos, no sero reconhecidos.
Sistemas Adaptveis (Adaptive Systems): emprega tcnicas mais avanadas, incluindo
inteligncia artificial, para reconhecer novos ataques e no somente ataques conhecidos
atravs de assinaturas. As principais desvantagens dos sistemas adaptveis so o seu custo
muito elevado e a dificuldade no seu gerenciamento, que requer um grande conhecimento
matemtico e estatstico.
Alm da diviso pelas tcnicas de reconhecimento de ataque, os IDSs podem ser tambm
classificados em dois tipos principais: NIDS e HIDS.
NIDS (Sistemas de Deteco de Intruso de Rede): grande parte dos sistemas comerciais de
deteco de intruso baseada em rede. Nesse tipo de IDS os ataques so capturados e
analisados atravs de pacotes de rede.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

180

Em um segmento de rede, o NIDS pode monitorar o trfego afetando mltiplas estaes que
esto conectadas ao segmento de rede, assim protegendo essas estaes. Os NIDSs
tambm podem consistir em um conjunto de sensores ou estaes espalhados por vrios
pontos da rede. Essas unidades monitoram o trfego da rede, realizando anlises locais do
trfego e reportando os ataques a um console central. As estaes que rodam esses
sensores devem estar limitadas a executar somente o sistema de IDS, para se manterem
mais seguras contra ataques. Muitos desses sensores rodam num modo chamado stealth,
de maneira que torne mais difcil para o atacante determinar as suas presenas e
localizaes.

Vantagens do IDS baseados em rede:
A implementao de um NIDS tem pouco impacto sobre a performance da rede, pois
geralmente ficam em modo passivo, apenas escutando o trfego da rede sem interferir no
seu funcionamento;
NIDs bem posicionados podem monitorar uma grande rede;


Copyright 2007, ESAB Escola Superior Aberta do Brasil

181
Os IDSs baseados em rede podem ser muito seguros contra a maioria dos ataques, alm de
ficarem invisveis aos atacantes.

Exemplo de programas para Identificao de Intrusos atravs de Rede (NIDS):
SNORT: sistema capaz de analisar o trfego da rede em tempo real, tendo base de
dados para identificar os ataques usando uma linguagem flexvel para determinao
das regras que descrevem o trfego que deve ser analisado ou ignorado, oferece um
mecanismo de deteco modular atravs de plugins, tem potencialidade de gerar
alertas em tempo real enviando mensagens ao syslog, alertas em arquivos ou outros
meios.
NESSUS: ao contrrio do SNORT que somente monitora e alerta as tentativas de
invaso, identifica as vulnerabilidades dos sistemas, verificando a segurana do
sistema. Seu funcionamento baseado num conjunto de regras que definem aes a
serem realizadas para identificar as vulnerabilidades, possui uma arquitetura cliente-
servidor, onde o servidor realiza os testes e o cliente apenas comanda as aes e
recebe os resultados.
Apesar de ambos serem IDS de Rede (NIDS), os sistemas no se excluem. O SNORT
capaz de identificar e alertar os ataques durante a sua execuo, enquanto o NESSUS
permite realizar busca de vulnerabilidades nos hosts da rede.
Vantagens:
Monitoramento para mltiplas plataformas;
Detecta ataques de rede: ip spoofing, port scanning, smurf;
Pode monitorar atividades especficas em portas conhecidas;
Trabalha em tempo real: deteco e alerta;
Detecta ataques e tambm tentativas;


Copyright 2007, ESAB Escola Superior Aberta do Brasil

182
difcil apagar rastros com um NDIS na rede;
transparente ao hacker;
No causa impacto no desempenho da rede.
Desvantagens:
Perda de pacotes em redes saturadas (rede que possua um grande trfego de dados);
Dificuldade compreenso de protocolos de aplicao especficos, como o SMB
(Microsoft);
No capaz de monitorar trfego cifrado;
Dificuldade de utilizao em redes segmentadas: Taps, Hubs, Espelhamento de porta,
etc.
Geralmente precisa de hardware especfico.
A maioria dos NIDSs no pode reconhecer se um ataque foi bem sucedido, apenas apontam
que um ataque foi iniciado, apenas detectam um ataque, sendo que o administrador de
sistemas deve verificar se o host apontado foi atacado.
A maioria dos switchs no tem um sistema de monitoramento de portas limitando o NIDS
apenas analisar uma estao. Mesmo que o switch possua o recurso de monitoramento,
apenas uma porta no poder receber todo o trfego passando pelo equipamento.
Alguns IDSs baseados em rede tm problemas em lidar com pacotes de dados
fragmentados. Esses tipos de pacotes podem at tornar um NIDs instvel ou mesmo travar o
seu funcionamento.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

183
UNIDADE 30
Objetivo: Conhecer os Sistemas de Deteco de Instruo de Host.
SISTEMAS DE DETECO DE INSTRUO DE HOST
HIDS (Sistemas de Deteco de Instruo de Host): operam sobre informaes coletadas em
computadores individuais, podendo analisar as atividades das estaes com confiana e
preciso, determinando exatamente quais processos e usurios esto envolvidos em um tipo
particular de ataque no sistema operacional. Alm disso, ao contrrio dos sistemas baseados
em rede, os baseados em host (estao) podem ver as conseqncias de uma tentativa de
ataque, como eles podem acessar diretamente e monitorar os arquivos e processos do
sistema usualmente alvos de ataques.
Alguns HIDSs suportam um gerenciamento centralizado e relatrios que podem permitir que
um apenas um console possa gerenciar vrias estaes. Outros geram mensagens em
formatos que so compatveis com os sistemas de gerenciamento de redes.
Vantagens:
Atividades especficas do sistema podem ser monitoradas detalhadamente;
Ataques fsicos ao servidor (keyboard attack) podem ser detectados;
Ataques que utilizam criptografia podem ser descobertos;
Independe da topologia de rede;
Gera poucos falsos positivos;
No precisa de hardware especfico;


Copyright 2007, ESAB Escola Superior Aberta do Brasil

184
Quando o IDS de host opera em nvel de sistema operacional, ele pode ajudar a
detectar Trojan Horses ou outros tipos de ataques que envolvam problemas de
integridade nos programas;
Tem a capacidade de monitorar eventos locais de um host, podendo detectar ataques
que no poderiam ser detectados por um IDS de rede.
Desvantagens:
Difcil de gerenciar e configurar (exige muita customizao) e especfico por hosts;
Dependente do Sistema Operacional;
No detecta ataques de rede (smurf, scanning, etc);
Caso o servidor seja invadido, as evidncias podem ser removidas;
Necessidade de espao de armazenamento adicional;
Diminui o desempenho do host monitorado;
Como as informaes utilizadas para anlise do HIDS esto armazenadas no host, um
atacante pode invadir o sistema e desabilitar essas funcionalidades;
IDS baseado em host consome recursos de processamento do host monitorado,
influenciando na sua performance.
Assim, enceramos o estudo deste mdulo. Muito obrigado.

Antes de dar incio sua Prova Online fundamental que voc acesse sua SALA
DE AULA e faa a Atividade 3 no link ATIVIDADES.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

185
GLOSSRIO
Caso haja dvidas sobre algum termo ou sigla utilizada, consulte o link glossrio em sua sala
de aula, no site da ESAB.



Copyright 2007, ESAB Escola Superior Aberta do Brasil

186
BIBLIOGRAFIA
BERTALANFFY, L. V. Teoria geral dos sistemas. 3 ed. Petrpolis: Vozes, 1977.
HIGA, W.; NETO , A. F.; FURLAN, J. D., Engenharia da Informao: Metodologia, Tcnicas e
Ferramentas. Editora Mc Graw Hill, p. 18-52, 1996.
JENSEN, B. O Desafio da Simplicidade, HSM Management, p. 24-30, 1998.
LAUDON, K. C., LAUDON, J.P. Sistemas de informao gerenciais. 5. ed. So Paulo:
Person Brasil, 2003.
LEMMANN, M., Palavras ao Vento, Revista Exame, p. 36-40, 2000.
Mathias, Carlos Alberto. Disponvel em: <http://www.inclusao.com.br/projeto_textos_29.
htm>. Acesso em: 10/04/2008.
MCLEOD JR., Raymond. Management information System: a study of computer-base
information system. United States of America: Macmillian Publishing Company, 1993.
NAKAGAWA, M. Introduo controladoria: conceitos, sistemas e implementao. 2. ed.
So Paulo: Atlas, 1993.
OLIVEIRA, D. P. R. Sistemas de informaes gerenciais: estratgias, tticas, operacionais. 2.
ed. So Paulo: Atlas, 1993
POSNER, M. (Ed.). Foundations of Cognitive Science. MIT Press, 1989.
REZENDE, Denis Alcides. Sistemas de informaes organizacionais: Guia Prtico para
Projetos em Cursos de Administrao, Contabilidade, Informtica. 2. ed. So Paulo: Atlas,
2007. 112 p.
_____; ABREU, Aline Franca. Tecnologia da informao Aplicada a Sistemas de Informao
Empresariais. 5. ed. So Paulo: Atlas, 2008.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

187
STAIR, Ralph M. Princpios de Sistemas de Informao: uma abordagem gerencial. Rio de
Janeiro: LTC, 1998.
BARRETO, Jorge M. Introduo s Redes Neurais Artificiais. Anais V Escola Regional de
Informtica da SBC Regional Sul, 5 a 10 de maio, 1997. p. 41-71.
CARVALHO FILHO, Edson Costa de Barros. Modelagem, Aplicaes e Implementaes de
redes Neurais. Anais da IV Escola Regional de Informtica da SBC Regional Sul, 21 a 27 de
abril, 1996. p. 36-53.
FREEMAN, James A.; SKAPURA, David M. Neural Networks: Algorithms, Applications and
Programming Techniques. Loral Space Information Systems and Adjunct Faculty, School of
Natural and Applied Sciences University of Houston at Clear Lake.
GORNI, Antnio Augusto. Redes Neurais Artificiais: Uma Abordagem revolucionria em
Inteligncia Artificial. Revista Micro-Sistemas, edio 133, p. 14-25, edio 134, p. 14-17,
Ano XII.
GUPTA, Madan M.; RAO, Dandina H. Neuro-Control Systems: Um volume selecionado
reeditado. IEEE Neural Networks Council, Sponsor.
HAYKIN, S. Redes Neurais: Princpios e Prtica. 2. ed. Bookman Companhia Editora, 2001.
HECHT-NIELSEN, Robert. Neurocomputing. HNC, Inc. and University of California, San
Diego.
KOVCS, Zsolt L. Redes Neurais Artificiais. 2. ed., editora Collegium Cognitio, 1996.
NISSEN, Mark. Intelligent Agents: A Technology and Business Application Analysis.
Disponvel em: http://haas.berkeley.edu/~heilmann/agents, 1995.
RIVER, Charles. Intelligent Agents. Disponvel em: http://www.opensesame.com/webpages/
corp/background.html, 1996.
RUSSELL, S.; NOVIG, P. Inteligncia Artificial, 1. ed., Elsevier Editora Ltda., 2004.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

188
YOSHIDA, Keila M. Redes Neurais e suas aplicaes em Inteligncia Artificial. Trabalho de
graduao. 1996
Disponvel em: http://arquivos.coinfo.cefetpb.edu.br/~candido/ed-apostila.pdf.
CELES, Waldemar; CERQUEIRA, Renato; RANGEL, Jose Lucas. Estrutura de Dados. So
Paulo: Campus.
DROZDEK, Adam. Estrutura de dados e algorithmo C++, normal. So Paulo: Pioneira.
ESAKOV, Jeffrey & WEISS, Tom. Data Strutures: An advanced Approach usibg C.
GODRICH, Michael & TAMASSIA, Roberto.
LAGES, G. Algoritmos e Estruturas de Dados. So Paulo: LTC, 1988.
SILVA, Osmar Quirino da. Fundamentos e Aplicaes. Cincia Moderna, 2007. 472 p.
TENENBAUM, Aaron M., et alli. Estruturas de Dados usando C.
CATELL, R. G. Objest Data Management. Addison-Wesley, 2. Ed., 1994.
ELMASRI & NAVATHE. Fundamentals of Database Systems. Benjamin-Cummings. 3. ed.,
2000.
KIM, W. "Modern Database Systems" ACM Press, 1995.
KOSHAFIAN, S. Object-oriented Database Systems. Morgan Kaufmann, 1993.
TAKAI, O. K.; FERREIRA, J. E. Introduo a Banco de Dados. Disponvel em:
http://www.ime.usp.br/~jef/apostila.pdf. Acesso em: 30/04/2008.
CARUSO, Carlos. Segurana em Informtica e de Informaes. 3. ed., SENAC, 2006.
Disponvel em: http://www.projetoderedes.com.br/apostilas/arquivos/segurancadedados. zip.
Acesso em: 30/04/2008.
Disponvel em: http://www.malima.com.br/article_read.asp?id=18. Acesso em: 30/04/2008.


Copyright 2007, ESAB Escola Superior Aberta do Brasil

189
Disponvel em: http://www.projetoderedes.com.br/apostilas/arquivos/seguranca_de_
informacoes.zip. Acesso em: 30/04/2008.

Anda mungkin juga menyukai