Você está na página 1de 189

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

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

presentao

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 !

O E

bjetivo

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

menta

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 3

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.

obre 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

UMRIO

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 5

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 6

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

Copyright 2007, ESAB Escola Superior Aberta do Brasil

NIDADE

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 8

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 9

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;
10

Copyright 2007, ESAB Escola Superior Aberta do Brasil

Os recursos do sistema; Os componentes do sistema e suas finalidades; A administrao do sistema.


Objetivos

Entradas

Retroalimentao

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.

Controle e Avaliao

Processo de Transformao

Sadas

Copyright 2007, ESAB Escola Superior Aberta do Brasil

11

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

12

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

13

ENGENHARIA DA INFORMAO

Copyright 2007, ESAB Escola Superior Aberta do Brasil

14

NIDADE

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

15

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

16

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 17

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

18

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

19

NIDADE

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 20

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

21

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
22

Copyright 2007, ESAB Escola Superior Aberta do Brasil

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

23

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

24

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

25

NIDADE

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

26

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 27

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

28

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.
29

Copyright 2007, ESAB Escola Superior Aberta do Brasil

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 30

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

31

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

32

NIDADE

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 33

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

34

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

35

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

36

NIDADE

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 37

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
38

Copyright 2007, ESAB Escola Superior Aberta do Brasil

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 39

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 40

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 entrens 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 41

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

42

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

43

NIDADE

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 (clienteservidor) 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

44

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

45

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.
46

Copyright 2007, ESAB Escola Superior Aberta do Brasil

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

47

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

48

NIDADE

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 49

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

50

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

51

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.
52

Copyright 2007, ESAB Escola Superior Aberta do Brasil

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
53

Copyright 2007, ESAB Escola Superior Aberta do Brasil

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

54

NIDADE

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 55

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
56

Copyright 2007, ESAB Escola Superior Aberta do Brasil

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

57

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

58

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

59

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

60

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

61

NIDADE

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

62

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

63

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

64

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 prativo. 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

65

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
66

Copyright 2007, ESAB Escola Superior Aberta do Brasil

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

67

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

68

NIDADE

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), tornandoos 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

69

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

70

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 71

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

72

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-dacomputacao/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

73

NIDADE

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

74

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

75

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

76

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

77

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

78

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

79

NIDADE

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

80

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

81

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

82

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
83

Copyright 2007, ESAB Escola Superior Aberta do Brasil

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

84

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

85

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 subrotinas 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

86

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

87

U
HASH

NIDADE

14

Objetivo: Conhecer funo de hashing.

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 hashing1) 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.

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.
88

Copyright 2007, ESAB Escola Superior Aberta do Brasil

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 sublista 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

89

NIDADE

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

90

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 91

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

92

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

93

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.
94

Copyright 2007, ESAB Escola Superior Aberta do Brasil

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

95

NIDADE

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

96

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

97

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

98

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

99

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

100

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

101

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

102

NIDADE

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

103

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

104

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 105

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

106

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 107

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

108

NIDADE

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

109

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

110

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

111

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

112

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
113

Copyright 2007, ESAB Escola Superior Aberta do Brasil

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

114

NIDADE

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

115

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 0300000025999999 a-z, A-Z 00100,00-12999,99

RG

Numrico

10,0

Nome Salrio

Carcter Numrico

30 5,2

Copyright 2007, ESAB Escola Superior Aberta do Brasil

116

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

117

Exemplo: Tabela DEPENDENTES RG Responsvel 10101010 10101010 20202020 20202020 30303030 Nome Dependente Jorge Luiz Fernanda ngelo Fernanda

Dt. Nascimento Relao

Sexo

27/12/86 18/11/79 14/02/69 10/02/95 01/05/90

Filho Filho Cnjuge Filho Filho

Masculino Masculino Feminino Masculino 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 Contabilidade Engenharia Civil Engenharia Mecnica Nmero 1 2 3 RG Gerente 10101010 30303030 20202020

Copyright 2007, ESAB Escola Superior Aberta do Brasil

118

Tabela EMPREGADO RG Supervisor NULO 10101010 10101010 20202020 20202020

Nome

RG

Depto.

Salrio

Joo Luiz Fernando Ricardo Jorge Renato

10101010 20202020 30303030 40404040 50505050

11111111 22222222 33333333 44444444 55555555

1 2 2 2 3

3.000,00 2.500,00 2.300,00 4.200,00 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 119

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

120

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

121

NIDADE

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 122

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 Cliente Cdigo Telefone n Endereo 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 123

Cliente Cliente_Telefone

Cdigo

Rua Cdigo_Cliente

Nmero

Cidade 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:


124

Copyright 2007, ESAB Escola Superior Aberta do Brasil

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

125

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 RG Supervisor 10101010 20202020

Nome

RG

CIC

Depto.

Salrio

Ricardo Renato

30303030 50505050

33333333 55555555

2 3

2.300,00 1.300,00

consulta2 = s (relao = Filho) .and. (sexo = Feminino) (DEPENDENTES) Gera a seguinte tabela como resultado: Tabela consulta2 RG Responsvel 30303030 Nome Dependente Andrea

Dt. Nascimento

Relao

Sexo

01/05/90

Filho

Feminino

Copyright 2007, ESAB Escola Superior Aberta do Brasil

126

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 Jorge Luiz Fernanda ngelo Andrea Dt. Nascimento 27/12/86 18/11/79 14/02/69 10/02/95 01/05/90

Copyright 2007, ESAB Escola Superior Aberta do Brasil

127

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 Ricardo Renato Depto. 2 3 Salrio 2.300,00 1.300,00

A consulta4 pode ser reescrita da seguinte forma: consulta5 = s salario < 2.500,00 (EMPREGADO) Tabela consulta5 RG Supervisor 10101010 20202020

Nome

RG

CIC

Depto.

Salrio

Ricardo Renato

30303030 50505050

33333333 55555555

2 3

2.300,00 1.300,00

Copyright 2007, ESAB Escola Superior Aberta do Brasil

128

consulta6 = p nome, depto., salario (CONSULTA5) Tabela consulta6 Nome Ricardo Renato Depto. 2 3 Salrio 2.300,00 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

129

NIDADE

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

130

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 nmero 2: consulta7 = s depto = 2 (EMPREGADOS) Tabela consulta7 RG Supervisor 10101010 10101010 20202020 selecionar todos os funcionrios que trabalham no departamento

Nome

RG

CIC

Depto.

Salrio

Fernando Ricardo Jorge

20202020 30303030 40404040

22222222 33333333 44444444

2 2 2

2.500,00 2.300,00 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

131

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

132

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

133

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

134

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

135

Considere a seguinte consulta: Encontre todos os funcionrios que desenvolvem projetos em Campinas: consulta16 = EMPREGADO/PROJETO C PROJETO Tabela consulta16 RG Empregado 20202020 20202020 20202020 20202020 20202020 20202020 30303030 30303030 30303030 40404040 40404040 40404040 50505050 50505050 Nmero Projeto 5 5 5 10 10 10 5 5 5 20 20 20 20 20

Nome

Nmero

Localizao

Financeiro 1 Motor 3 Prdio Central Financeiro 1 Motor 3 Prdio Central Financeiro 1 Motor 3 Prdio Central Financeiro 1 Motor 3 Prdio Central Financeiro 1 Motor 3

5 10 20 5 10 20 5 10 20 5 10 20 5 10

So Paulo Rio Claro Campinas So Paulo Rio Claro Campinas So Paulo Rio Claro Campinas So Paulo Rio Claro Campinas So Paulo Rio Claro

Copyright 2007, ESAB Escola Superior Aberta do Brasil

136

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 40404040 50505050 Nmero 20 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

137

consulta18 PROJETOS Tabela consulta18

EMPREGADOS/PROJETOS

nmero_projeto

nmero

RG_Empregado Nmero_Projeto 20202020 20202020 30303030 40404040 50505050 5 10 5 20 20

Nome Financeiro 1 Motor 3 Financeiro 1 Prdio Central Prdio Central

Nmero 5 10 5 20 20

Localizao So Paulo Rio Claro So Paulo Campinas Campinas

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

Copyright 2007, ESAB Escola Superior Aberta do Brasil

138

NIDADE

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

139

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 140

Operaes

Bsicas

(Incluso,

Pesquisa,

Alterao,

Excluso,

transformao

Caminhamentos):

Copyright 2007, ESAB Escola Superior Aberta do Brasil

141

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 142

Copyright 2007, ESAB Escola Superior Aberta do Brasil

143

Copyright 2007, ESAB Escola Superior Aberta do Brasil

144

NIDADE

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 145

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

146

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

147

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

148

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 149

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

150

NIDADE

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 Estudante Hacker Cracker Homens de Negcios Ex. Empregados Espio Terrorista Objetivos Divertir-se vasculhando E-mails, roubando senhas, etc.. Testar a segurana de sistemas, roubar informaes. Descobrir planos e estratgias de Marketing do concorrente. Vingar-se por ter sido despedido. Conhecer a tecnologia do inimigo. 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

151

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

152

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

153

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

154

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

155

NIDADE

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

156

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 157

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

158

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

159

NIDADE

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

160

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.
161

Copyright 2007, ESAB Escola Superior Aberta do Brasil

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

162

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

163

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

164

NIDADE

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 165

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

166

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 167

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

168

U
DoS

NIDADE

28

Objetivo: Diferenciar os Ataques, Metodologia empregada e tcnicas de ataque a senhas.

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

169

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 170

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 171

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 172

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

173

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

174

NIDADE

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

175

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

176

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

177

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 178

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

179

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

180

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 clienteservidor, 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 181

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

182

NIDADE

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

183

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

184

LOSSRIO

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

185

IBLIOGRAFIA

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 186

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

187

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

188

Disponvel

em:

http://www.projetoderedes.com.br/apostilas/arquivos/seguranca_de_

informacoes.zip. Acesso em: 30/04/2008.

Copyright 2007, ESAB Escola Superior Aberta do Brasil

189

Você também pode gostar