atividade interdisciplinar 5º semestre

Upload: grupofine

Post on 10-Jul-2015

521 views

Category:

Documents


1 download

TRANSCRIPT

SISTEMA DE ENSINO PRESENCIAL CONECTADO ANLISE E DESENVOLVIMENTO DE SISTEMAS FGNER ADALGISO MORAIS DOS SANTOS

ATIVIDADE INTERDISCIPLINAR 5 SEMESTRE

Esplanada 2011

FGNER ADALGISO MORAIS DOS SANTOS

ATIVIDADE INTERDISCIPLINAR 5 SEMESTRE

Trabalho apresentado ao Curso Anlise e Desenvolvimento de Sistemas da UNOPAR Universidade Norte do Paran, para a atividade interdisciplinar 5 semestre. Prof. verson Morais Marco Hisatomi Paulo Nishitani Polyanna P. Gomes Reinaldo B. Nishikawa

Esplanada 2011

Sumario1. Introduo......................................................................................................4 2. Projetos de Sistemas.....................................................................................5 3. Sistemas Operacionais...............................................................................7 4. Segurana da Informao.........................................................................14 5. Redes de Computadores...........................................................................21

1. Introduo

Bom nesse trabalho irei falar um pouco sobre as disciplinas vistas nesse semestre. Procurarei falar um pouco do que aprendir nas tele-aulas nos livros didaticos e em pesquisas.

2. Projetos de Sistemas

Diagrama de Seqncia O diagrama de seqncia uma ferramenta que deve ser utilizada sempre em funo dos casos de uso. Um diagrama de seqncia captura o comportamento de um nico caso de uso, ou seja, mostra a interao entre os objetos ao longo do tempo, apresentando os objetos que participam da interao e a seqncia das mensagens trocadas. NOTAO: O diagrama composto por: Objeto: uma caixa na parte superior de uma linha tracejada verticalmente. A linha vertical chamada de linha da vida do objeto, e representa a vida do objeto durante a interao. Mensagem: representada por uma flecha entre as linhas de vida de dois objetos. Cada mensagem deve ter um nome, comum incluir os argumentos e algumas informaes de controle. Veja o exemplo abaixo:

Diagrama de Atividades Utilizado para descrever a seqncia de atividades, utilizando comportamento condicional e paralelo. composto por: Incio: Representado por um crculo preenchido. Estado de Atividade ou Atividade: Representado por um retngulo com bordas arredondadas. Atividade um estado de estar fazendo algo. Desvio(Branch): Representado por um losango. Intercalao(Merge): Tambm representado por um losango, utilizada para marcar o final de um comportamento condicional iniciado por um desvio, ou seja, tem mltiplas entradas e uma nica sada.

Separao(Fork): Representado por um trao horizontal, quando temos comportamento paralelo, ou seja, temos uma entrada e vrias transies de sada que so executadas em paralelo. Juno(Joins): Representado por um trao horizontal, utilizamos para completar a separao, ou seja, quando temos um processamento paralelo, precisamos sincronizar. Veja o exemplo abaixo:

3. Sistemas Operaciomais Para usar os primeiros computadores era preciso conhecer profundamente o seu

funcionamento, pois a programao era feita em painis, atravs de fios. Com a evoluo da informtica tornou-se bvio que o antigo sistema era muito pouco eficiente e causava muitos erros. Os primeiros sistemas operacionais surgiram justamente para tentar automatizar o uso dos computadores. A partir da, os SOs (sistemas operacionais) evoluram rapidamente at chegar ao que so hoje. Um sistema operacional um programa como todos os outros. O sistema operacional toma conta do computador e facilita a vida do usurio, deixando que ele se preocupe com coisas mais teis e produtivas que endereos de memria, segmentos e interrupes. Quantos sistemas operacionais existem? Provavelmente centenas. A grande maioria dos computadores tem pelo menos um SO escrito especialmente para ele. Para o PC (chips Intel): DOS e Windows (ambos da Microsoft), o BeOS (da Be), o Linux (este totalmente grtis e est ligado GNU), o FreeDOS (uma verso grtis do DOS, no da Microsoft). Para o Machintosh: o System 7.x (tambm chamado de MacOS, da Apple) e o BeOS (da Be). Os SO citados no so os nicos: tem milhares de pessoas em todo o mundo desenvolvendo todo tipo de sistema operacional para todo tipo de computador. Como feito um Sistema operacional? Criar um SO a partir do zero extremamente complicado e trabalhoso. O planejamento do S.O. muito importante. Linguagens visuais (como Visual Basic ou Delphi) ou pouco poderosas (ex: Basic ou Clipper) no servem para fazer sistemas operacionais porque elas no tm o controle do computador que um SO precisa. Assembler e C so linguagens muito usadas para esse tipo de coisa. O que um sistema operacional tem que fazer? Um SO tem fazer com que o computador (e os perifricos) possa ser usado sem problemas por algum que no conhea os detalhes do sistema. Ele tem que possibilitar que o usurio crie e acesse arquivos, use programas, acesse a Internet, jogue e todas as coisas que podem ser feitas com computadores. Alm disso, o SO tem que executar os programas e ajud-los a acessar os recursos do sistema de uma forma simples e organizada. Um sistema operacional possui as seguintes funes: 1. 2. 3. 4. gerenciamento de processos; gerenciamento de memria; sistema de arquivos; entrada e sada de dados.

Gerenciamento de processos O sistema operacional multitarefa preparado para dar ao usurio a iluso que o nmero de processos em execuo simultnea no computador maior que o nmero de processadores instalados. Cada processo recebe uma fatia do tempo e a alternncia entre vrios processos to rpida que o usurio pensa que sua execuo simultnea. So utilizados algoritmos para determinar qual processo ser executado em determinado momento e por quanto tempo. Os processos podem comunicar-se, isto conhecido como IPC (Inter-Process Communication). Os mecanismos geralmente utilizados so:

sinais; pipes; named pipes; memria compartilhada; soquetes (sockets); trocas de mensagens.

O sistema operacional, normalmente, deve possibilitar o multiprocessamento (SMP ou NUMA). Neste caso, processos diferentes e threads podem ser executados em diferentes processadores. Para essa tarefa, ele deve ser reentrante e interrompvel, o que significa que pode ser interrompido no meio da execuo de uma tarefa. Gerenciamento de memria O sistema operacional tem acesso completo memria do sistema e deve permitir que os processos dos usurios tenham acesso seguro memria quando o requisitam. Vrios sistemas operacionais usam memria virtual, que possui 3 funes bsicas: 1. assegurar que cada processo tenha seu prprio espao de endereamento, comeando em zero, para evitar ou resolver o problema de relocao (Tanenbaum, 1999); 2. prover proteo da memria para impedir que um processo utilize um endereo de memria que no lhe pertena; 3. possibilitar que uma aplicao utilize mais memria do que a fisicamente existente.

Swapping Dentro de gerenciamento de memria, pode no ser possvel manter todos os processos em memria, muitas vezes por no existir memria suficiente para alocar aquele processo. Para solucionar esse problema existe um mecanismo chamado swapping, onde a gerncia de memria reserva uma rea do disco para o seu uso em determinadas situaes, e um processo completamente copiado da memria para o disco; este processo retirado da fila do processador e mais tarde ser novamente copiado para a memria; Ento, o processo ficar ativo na fila novamente. O resultado desse revezamento no disco que o sistema operacional consegue executar mais processos do que caberia em um mesmo instante na memria. Swapping impe aos programas um grande custo em termos de tempo de execuo, pois necessrio copiar todo o processo para o disco e mais tarde copiar novamente todo o processo para a memria. Em sistemas onde o usurio interage com o programa durante sua execuo, o mecanismo de swapping utilizado em ltimo caso, quando no se possvel manter todos os processos na memria, visto que a queda no desempenho do sistema imediatamente sentida pelo usurio.[4] Sistema de arquivos A memria principal do computador voltil, e seu tamanho limitado pelo custo do hardware. Assim, os usurios necessitam de algum mtodo para armazenar e recuperar informaes de modo permanente. Um arquivo um conjunto de bytes, normalmente armazenado em um dispositivo perifrico no voltil (p.ex., disco), que pode ser lido e gravado por um ou mais processos.

1 - Os

Processos Concorrentes E Deadlock

Deadlock um problema significativo que pode surgir at mesmo numa comunidade que coopera ou compete por processos. Ele uma falha e no um erro, ocorre quando mais de um processo requer um determinado recurso ao mesmo tempo. O deadlock cria uma situao em que um ou mais processos nunca correro para concluso sem recuperao. Dijkstra introduz deadlock como: "Efeito colateral de estratgias de sincronizao, porque dois processos ao atualizar duas variveis compartilhadas, usam uma lock flag, um para requisitar valores de uma varivel, o outro para atualizar valor da varivel".

Situaes semelhantes ocorrem periodicamente num conjunto de processos que esto a compartilhar recursos. Memria, os drives de uma impressora, um drive de disquetes so todos exemplos de recursos. Um processo pode bloquear quando pedido qualquer um desses recursos e os mesmos esto ocupados, assim qualquer um pode contribuir para entrar na situao Deadlock.

2. DefinioSegundo Tanenbaum, deadlock pode ser formalmente definido como: "Um conjunto de processos estar em situao de deadlock se todo processo pertencente ao conjunto estiver esperando por um evento que somente um outro processo desse mesmo conjunto poder fazer acontecer". (pag. 120) Para um melhor entendimento podemos afirmar que deadlock um termo empregado para traduzir um problema que ocorre quando um grupo ou conjunto de processos competem entre si. O aparecimento do mesmo depende das caractersticas de dois ou mais programas diferentes e dos respectivos processos a executar pelos diferentes programas ao mesmo tempo. Esses programas podem ser executados de forma repetitiva usando diferentes processos sem que ocorra a situao de deadlock, porm, basta um nico processo padro complicado para se entrar em deadlock. Dijkstra explica a situao de deadlock atravs da seguinte ilustrao: Figura 1. Trs processos em deadlock. Fonte: Dijkstra Ou seja, o Processo 1 reserva para si o Recurso 1, por sua vez o Processo 2 e o Processo 3 reservam respectivamente para si o Recurso 2 e o Recurso 3. Por exemplo se um dos outros processos necessitar de um dos recursos anteriormente reservados por outros processos, como acontece no diagrama da figura anterior entramos numa situao de Deadlock. Nenhum dos processos pode continuar, porque para isso acontecer, os mesmos necessitariam que os recursos reservados fossem disponibilizados. A no ser que um dos processos detecte a situao e abandonando o pedido do recurso anteriormente reservado por outro processo, e liberte ao mesmo tempo o recurso por si reservado. Com isso, h a possibilidade de pelo menos um processo correr. Podemos citar como exemplo de situao de deadlock, no relacionado a computao, mas que facilita o entendimento do que seja uma situao de deadlock, dois carros seguindo em direo oposta numa pista que permite apenas a passagem de um veculo. Nesse caso os dois ficam impedidos de continuar seu percurso. Um deadlock, em computao, ocorre normalmente com recursos como dispositivos, arquivos, memria, entre outros. Existem algumas condies para que possa ter uma ocorrncia de deadlock. So elas:

Condio de excluso mutua - Em um determinado instante, cada recurso esta em uma de duas situaes: ou associado a um processo ou disponvel. Condio de posse e espera - Processos que, em um determinado instante, retm recursos concedidos anteriormente podem requisitar novos recursos. Condio de no preempo - Recursos concedidos previamente a um processo no podem ser forosamente tomados desse processo eles devem ser explicitamente libertados pelo processo que os retm. Condio de espera circular - Deve existir um encadeamento circular de dois ou mais processos; cada um deles encontra-se espera de um recurso que est sendo utilizada pelo membro seguinte dessa cadeia. Todas estas condies devem estar presentes para que ocorra um deadlock. Se alguma delas falhar, ento no ocorrer um deadlock.

3. Estratgias para Tratar o DeadlockAs situaes de deadlock podem ser tratadas ou no em um sistema, os desenvolvedores devem avaliar o custo/benefcio que essas implementaes podem trazer. Normalmente, as estratgias usadas para detectar e tratar as situaes dedeadlocks, geram grande sobrecarga, podendo at causar um dano maior que a prpria ocorrncia do deadlock, sendo, s vezes, melhor ignorar a situao. Existem trs estratgias para tratamento de deadlocks: Deteco e Recuperao, Evitar Deadlock e Preveno. 3.1. Deteco e Recuperao O sistema permite que ocorra o deadlock e depois executa o procedimento de recuperao, que se resume na deteco da ocorrncia e na recuperao posterior do sistema. Para deteco do deadlock, deve-se implementar no sistema uma estrutura de dados que armazene as informaes sobre os processos e os recursos alocados a eles e essas reflitam a situao de cada processo/recurso no sistema. Porm, importante ressaltar que o simples procedimento de atualizao dessas estruturas gera sobrecarga no sistema, pois toda vez que o processo aloca, libera ou requisita um recurso , elas precisam ser atualizadas. Algumas das tcnicas de deteco utilizadas so: Deteco de deadlocks com um recurso de cada tipo Se tem apenas um recurso de cada tipo (somente uma impressora, ou um CD,...). Existe um algoritmo para detectar se existem ciclos no grafo dos processos e recursos;

Deteco de deadlocks com mltiplos recursos de cada tipo O algoritmo baseia-se em um ambiente que possui vrios recursos do mesmo tipo e os processos solicitam apenas pelo tipo de recursos, no especificando qual recurso desejam utilizar. Uma vez que o algoritmo de deteco de deadlocks bem sucedido, o que se far em seguida a recuperao do sistema da situao de deadlock e coloc-lo novamente em condio de funcionamento normal. As tcnicas utilizadas para recuperao, so: Recuperao por meio de preempo - Retirar o recurso a um processo e d-lo a outro sem que o processo proprietrio do recurso se aperceba. Recuperao por meio de reverso de estado - O sistema operativo, ao longo da execuo dos processos vai guardando imagens dos estados do processo, para que fique como que um posto de fiscalizao do processo. No guarda apenas os estados dos processos, como guarda tambm os recursos associados ao processo no momento em que criado o posto de fiscalizao. O sistema no sobrepe um posto de fiscalizao novo a um j guardado anteriormente. Ele cria sempre uma imagem nova. Depois que o algoritmo de deteco de deadlocks detecta um deadlock os processos includos no deadlock voltam a estados anteriores. Recuperao por meio de eliminao de processos - A maneira mais grosseira, mas tambm a mais simples matar um ou mais processos envolvidos no deadlock. Com um pouco de sorte os outros processos podero ser capazes de prosseguir.

3.2. Evitar DeadlockO deadlock pode ser evitado, mas s quando certas informaes estiverem disponveis. O Sistema Operacional que adota esta estratgia, procura evitar a ocorrncia de deadlocks por meio de alocao cuidadosa de recursos. O sistema deve ser capaz de saber e decidir se liberar um recurso seguro ou no. Abordaremos a seguir alguns processos que objetivam evitar deadlocks. Trajetria dos recursos a figura abaixo demonstra o funcionamento desse processo:Figura 2. Trajetria dos recursos de dois processos. Fonte: Sistemas Operacionais Modernos pg. 129.

Algo importante a ser visto neste exemplo o ponto t, onde B estar requisitando um recurso. O sistema deve decidir se lhe d o direito de uso ou no. Se o direito de uso for concedido, o sistema entrar em uma regio insegura e acabar por entrar em deadlock. Para evitar o deadlock, B dever ser suspenso at A requisitar e liberar o plotter.

Estados seguros e no seguros considerado um estado segurose ele no esta em situao de deadlock e se existe alguma ordem de escalonamento na qual todo o processo possa ser executado at sua concluso, mesmo se de repente, todos eles requisitarem, de uma s vez, o mximo possvel de recursos. Um estado no seguro no uma situao de deadlock. um estado em que a partir do mesmo, o sistema no pode dar a garantia de que o processo vai acabar. Algoritmo de banqueiro - Usado para determinar se um processo pode executar de maneira segura ou no. Todos os processos declaram o mximo de recursos que vo usar durante a execuo. A execuo permitida se a soma dos recursos requisitados menor que os recursos disponveis no sistema. O algoritmo verifica se a libertao de uma requisio pode levar a um estado no seguro. Em caso positivo, a requisio negada. Se a libertao de uma requisio levar a um estado seguro, ento ela atendida. Evitar deadlocks , em sua essncia, impossvel, pois como j dito,requer informaes sobre pedidos futuros.

3.3. Preveno de DeadlockComo j visto no ponto 3.3, evitar deadlock praticamente impossvel. Por isso, a preveno de deadlock tenta garantir que pelo menos uma das condies para ocorrncia de deadlock, no acontea. Sabendo que so quatro as condies para que possa ocorrer uma situao de deadlock simultaneamente, a preveno procura eliminar pelo menos uma delas utilizando as seguintes tcnicas: 1.Condio de excluso mtua O processo solicita o recurso para uso de forma mutuamente exclusiva. Essa condio eliminada se o processo solicita todos os recursos que necessita em uma nica vez. 2.Condio de posse e espera Os processos devem pedir os recursos antes de iniciarem a sua execuo. 3.Condio de no preempo Elimina-se essa condio se os recursos forem ordenados e os processos devem requisitar os recursos em uma seqncia que respeite esta ordem. 4.Condio de espera circular Pode ser eliminada se for construdo um grafo e se for verificado, para cada requisio, se o atendimento no levar o sistema a um estado no seguro. As requisies que levarem o sistema a um estado no seguro ou de deadlock no devero ser atendidas. Estas estratgias so fceis de implementar em certos sistemas, porm a avaliao de custo/benefcio deve ser levada em considerao.

4. Segurana da informaoScanners so programas de varredura utilizados para detectar possveis vulnerabilidades em sistemas. Em outras palavras, eles so programas procuram por certas falhas de segurana que podem permitir ataques e at mesmo invases. Mesmo que voc tenha apenas um nico micro conectado Internet, pode estar sujeito a ataques, sobretudo relacionados a vrus e trojans, j que a cada dia surgem novas dessas pragas virtuais, muitas delas indetectveis pelos antivrus. Existem ainda possveis bugs em aplicativos, que podem expor o seu micro a ataques. Por esse motivo, indispensvel que voc atualize com freqncia o antivrus e demais aplicativos, principalmente os que utilizam a conexo com a Internet, incluindo o prprio sistema operacional. Se voc utiliza alguma verso Windows, pode baixar atualizaes atravs do Windows Update. Se voc usa alguma distribuio Linux, verifique a disponibilidade de uma ferramenta de atualizao de pacotes e mantenha-se atualizado com relao s atualizaes disponibilizadas pelos desenvolvedores. A partir do momento que voc interliga os micros em rede e compartilha a conexo entre eles, os cuidados devem ser redobrados. Falhas nas configuraes da rede ou mesmo desconhecimento por parte dos usurios podem tornar sua rede um prato cheio para os invasores. O risco maior em redes corporativas e em sistemas bancrios, onde o invasor pode obter vantagens mais diretas. Os scanners servem justamente para checar as condies de segurana de um ou mais micros, de modo que voc corrija eventuais falhas antes que algum mal intencionado tenha chance de explor-las, obtendo alguma vantagem ou causando prejuzo. Assim como os demais, estes programas tambm precisam ser atualizados com frequncia, de modo a corrigir falhas descobertas mais recentemente. Temos vrios scanners disponveis para download, alguns freewares, outros carssimos. Entre os mais conhecidos e utilizados temos o Languard, o Project R3x e Shadow Security Scanner, todos eles bem recomendados.

Na verdade, o R3x mais antigo e deu lugar ao atual Languard Network Security Scanner, mas no deixa de ser uma tima pedida, seja pela sua rapidez e leveza, seja pela eficincia em descobrir informaes e compartilhamentos. Utiliz-los bem simples. Uma vez instalados (com exceo do R3x que no necessita instalao), voc define um endereo ou uma faixa de endereos IP e inicia a varredura. Este processo pode demorar um pouco, aumentando exponencialmente de acordo com o nmero de endereos a serem verificados. Se voc possui uma rede, poder checar as vulnerabilidades de todos os micros de uma s vez, indicando uma faixa contendo todos os endereos. Terminada a verificao, exibido um relatrio contendo os resultados. O relatrio no difcil de se interpretar, mas para entend-lo, voc deve ter o mnimo de conhecimento sobre redes e protocolos, sobretudo com relao ao TCP/IP. Os resultados mais comuns so: portas abertas utilizadas por servios de sistema, portas abertas por trojans e compartilhamentos de pastas, unidades de disco e impressoras. Caso voc encontre alguma porta aberta e no exista nenhum servio ou programa utilizando esta porta, sugiro que voc a feche. Mas, claro, no saia por a "fechando todas as portas", seno seu micro se tornar incomunicvel e a melhor sugesto seria ento, desconect-lo da Internet. Muitos aplicativos precisam de determinadas portas para funcionar, como os compartilhadores de arquivos, por exemplo. Na verdade eles utilizam portas randmicas, ou seja, s so abertas durante o uso do programa. Se voc instalar um programa deste tipo, nunca deixe o firewall bloque-lo, caso contrrio o programa no conseguir abrir a porta para que o seu correto funcionamento acontea. Alguns scanners permitem salvar os relatrios obtidos em formato html, permitindo assim que voc v acompanhando os resultados obtidos a cada varredura efetuada. Isso muito interessante, pois assim ser possvel verificar se as falhas encontradas nas varreduras passadas j foram corrigidas, ou se apareceu uma nova vulnerabilidade. A Internet nada mais do que a unio de inmeras sub-redes espalhadas pelo mundo, conectadas entre si. Essas sub-redes podem ser formadas por alguns ou vrios micros conectados atravs de cabos e demais equipamentos de rede. Alm destes dispositivos, que conectam fisicamente os micros, necessrio que cada micro da rede possua um protocolo comum instalado, como o TCP/IP, que o protocolo padro da Internet. justamente o protocolo TCP/IP que permite que usurios de todo o mundo acessem sites, troquem informaes, disputem jogos, entre tantos outros atrativos. E tambm por esse mesmo protocolo que ataques hacker vindos de qualquer ponto do globo terrestre tornam-se possveis.

Um usurio que acessa a Internet de casa dificilmente estar vulnervel. O principal fator causador de ataques a usurios comuns a engenharia social. Veja uma definio exata para o termo: "...prticas utilizadas para obter acesso informaes importantes ou sigilosas em organizaes ou sistemas por meio da enganao ou explorao da confiana das pessoas. Para isso, o golpista pode se passar por outra pessoa, assumir outra personalidade, fingir que um profissional de determinada rea, etc. uma forma de entrar em organizaes que no necessita da fora bruta ou de erros em mquinas. Explora as falhas de segurana das prprias pessoas que, quando no treinadas para esses ataques, podem ser facilmente manipuladas." (fonte: Wikipedia.org) Quando se trata de engenharia social, no h nenhum programa que possa corrigir a falha de segurana, j que ela no est no sistema e sim no prprio operador. A nica sugesto neste caso evitar executar programas vindos de pessoas e/ou sites desconhecidos e prestar ateno com aqueles links que aparentemente apontam para determinado destino mas que iniciam misteriosamente o download de algum arquivo (muito comum em sites de relacionamento, como o Orkut). No s a engenharia social pode causar estragos, mas muitas vezes a prpria falta de conhecimento ou treinamento por parte dos administradores de rede. Utilizar bons antivrus e firewalls nem sempre suficiente, ainda mais quando estes no so atualizados. Pragas como trojans, que podem passar muitas vezes desapercebidas por antivrus, dificilmente no sero detectadas por um scanner. A grande vantagem em utiliz-lo, justamente a possibilidade de se descobrir portas abertas, que podem ser causadas justamente pelos trojans. Talvez o programa no detecte a praga em si, mas certamente detectar a porta aberta por ela. Project R3x Seria impossvel eu abordar aqui as funcionalidades de cada scanner, j que existem centenas deles disponveis na Internet. Vou utilizar como exemplo o programa Project R3x, que pode ser facilmente encontrado em sites de busca. Tenha este tutorial apenas como um modelo e se preferir pesquise outros programas com a mesma funo. Uma vez baixado e descompactado, abra o arquivo R3x.exe. Para iniciar uma varredura indique um ou uma faixa de endereos IP. Veja no exemplo abaixo que o scanner procurar vulnerabilidades em 254 micros diferentes numa mesma rede, visto que a mscara de sub-rede 255.255.255.0, o que significa que apenas o ltimo octeto do endereo mutvel. Por utilizar uma faixa de endereos de rede local, este exemplo s pode ser considerado caso o scan seja lanado a partir de um micro que faz parte da rede:

Fora da rede local, s possvel escanear micros diretamente conectados Internet. Micros que acessam atravs de uma conexo compartilhada via NAT ficam fora da lista, j que nesse caso o nico diretamente conectado o gateway da rede. Voc deve estar se perguntando: mas se no possvel escanear um micro que esteja localizado dentro de uma rede privada, como pode ocorrer um ataque vindo "do lado de fora da rede"? Realmente seria impossvel invadir diretamente um PC com um endereo interno, pois no h como acess-lo a partir de seu endereo IP, que acessvel apenas dentro da rede local. Por outro lado, existe a possibilidade de acess-lo por conexo reversa, o que fora o micro alvo a se conectar ao micro invasor. Alguns trojans conhecidos, como o Beast e o Prorat, na poca em que ainda no eram detectados pelos antivrus, permitiam realizar a conexo quase que instantaneamente aps a vtima executar o arquivo malicioso. A conexo reversa no utilizada necessariamente para invases. Pode tambm ser muito til quando voc quiser controlar um computador remotamente, mas que este esteja em uma rede interna. Um bom programa com essa funo o Real VNC, que permite acesso tanto direto quanto reverso. A partir da verso 0.6 do R3x, o programa passou a implementar o uso do SNMP (Simple Network Management Protocol, ou protocolo simples de gerenciamento de

rede), que permite obter informaes detalhadas sobre contas de usurios, equipamentos de rede, portas e servios abertos. Ao mesmo tempo que pode ser uma ferramenta til para os administradores de rede, afim de obter informaes , gerenciar o desempenho da rede e encontrar possveis problemas, o protocolo em questo pode tambm, em muitos casos, facilitar a obteno de informaes por parte do invasor. Uma sugesto desabilitar o servio SNMP, caso voc possua um nico micro conectado Internet. No Windows XP voc pode fazer isso entrando na seo Servios (no executar digite services.msc). Ao passar por l aproveite tambm para verificar se o servio de Registro remoto est ativo. Este servio permite que usurios remotos modifiquem configuraes do registro no computador. Caso esteja ativo, a sugesto que voc o desabilite, at porque um servio que raramente utilizado, salvo excees. Veja algumas das vulnerabilidades possveis, que podem ser detectadas pelos scanners: -Portas abertas: 65 535 o nmero de portas TCP que podem estar abertas por servios ou programas. Veja alguns exemplos: Porta 21 - Esta a porta padro utilizada pelo servio de FTP (File Transfer Protocol, ou protocolo de transferncia de arquivos). Este protocolo permite a transferncia de arquivos entre computadores. Utilizando este servio possvel baixar arquivos ou fazer uploads. O computador que disponibiliza este servio deve estar com o mdulo servidor ativado. Caso voc queira segurana ao transferir seus arquivos, desabilite o logon annimo e use uma senha difcil de ser quebrada. Porta 23 - Porta padro do Telnet, que permite acesso remoto sistemas, como se estivesse operando localmente. A ativao do mdulo servidor pode ser feita na seo de servios no Windows. Uma vez ativado, muito simples, abra o prompt de comando e digite o seguinte: telnet IP (ex.: telnet 201.92.48.146) Aps isto, entre com o nome de usurio e senha. As limitaes ou privilgios na operao remota do sistema dependero simplesmente da conta utilizada no logon, restrita ou de administrador. Porta 80 - Utilizada pelo protocolo HTTP (Hyper Text Transfer Protocol), responsvel pelo compartilhamento de informao na Internet. Atravs dele possvel transmitir textos, documentos, imagens e multimdia. A maior preocupao em se manter portas abertas justamente em relao utilizao senhas fracas ou falta delas. Alm das portas padres, utilizadas por determinados servios, e das portas randmicas, utilizadas por alguns programas, existem determinadas pragas virtuais que tambm podem abrir uma ou algumas portas, afim de expor o micro invases. No tenha dvidas, uma invaso s pode ser bem sucedida caso haja pelo menos uma porta aberta que a viabilize. -Compartilhamentos: comum o uso de compartilhamento de arquivos e, at mesmo de unidades de armazenamento, em algumas redes, principalmente em empresas que queiram centralizar alguns arquivos a serem disponibilizados para

vrios funcionrios. Se existe algum compartilhamento ativo em um computador, muito provvel que os scanners o detectem. Mais uma vez torna-se fundamental a utilizao de senhas seguras. Veja agora o exemplo de um escaneamento de um micro qualquer conectado Internet.

Vale lembrar que as imagens acima so meramente ilustrativas, servindo apenas como exemplo. Entre as informaes verificadas na imagem acima podemos destacar: Sistema operacional: Windows Vista Home Premium 6.0 Nome de usurio: DANUBIA Portas abertas: 21 - FTP; 110 - Pop3; A informao que chama mais a ateno neste caso a porta 21 aberta, utilizada pelo servio de FTP e que permite, portanto, a transferncia de arquivos. Caso no haja nenhuma senha, ou a senha seja fraca, possvel com um simples navegador, como o Internet Explorer, obter acesso aos arquivos, ou ainda digitar no prompt de comando ftp endereo-IP. Se durante um escaneamento voc quiser procurar por compartilhamentos em um micro, clique nele com o boto direito do mouse e escolha Gather Intelligence. Para checar as possveis portas abertas escolha Port Scanning.

Assim como outros programas parecidos, o Project R3x permite salvar os relatrios obtidos em documentos no formato html. Para salvar clique em File > Save results (HTML). Assim voc pode acompanhar com o tempo se houve ou no melhorias na segurana, ou se apareceram novas vulnerabilidades. Veja como fica o relatrio salvo:

Um detalhe importante que o Project R3x no varre todas as portas. No menu "View > Portscan.txt" constam todas as portas indicadas juntamente com os seus servios correspondentes. O programa ainda traz mais algumas funes alm da varredura. No menu Tools h duas opes interessantes: DNS lookup e Traceroute. A primeira opo permite traduzir o nome de algum domnio em endereo IP (o mesmo que voc teria ao abrir o prompt e digitar "ping url-do-site"). Esta opo muito til caso voc queira verificar as vulnerabilidades de algum site, mas lembre-se que esta funo s se aplica a sites que possuam domnio prprio. A segunda permite traar uma rota, indicando todo o caminho que liga o seu micro ao outro especificado. Esta funo corresponde ao comando tracert do prompt de comando. Existem inmeros outros scanners e manuais e vale a pena experimentar alguns deles. O exemplo de programa que usei meramente didtico e existem outros scanners com mais eficincia. Como voc viu a utilizao bem simples e algumas funcionalidades variam de um programa para outro.

5 - Redes de ComputadoresTCP/IP e OSI: O padro aberto tcnico e histrico da Internet, o Transmission Control Protocol/Internet Protocol (TCP/IP), surgiu de uma necessidade especfica do Departamento de Defesa dos Estados Unidos. O modelo de referncia TCP/IP e a pilha de protocolos TCP/IPtornam possvel a comunicao de dados entre dois computadores quaisquer, em qualquer parte do mundo, a aproximadamente a velocidade da luz. Devido ao sugimento de um grande nmero de redes de computadores, a International Organization for Standardization (ISO) realizou uma pesquisa sobre esses vrios esquemas de rede. Viu-se ento, a necessidade de se criar um modelo de rede para ajudar os desenvolvedores a implementar redes que poderiam comunicar-se e trabalhar juntas (interoperabilidade). Assim, a ISO lanou em 1984 o modelo de referncia OSI. MODELO OSI: O modelo de referncia OSI o modelo fundamental para comunicaes em rede. Embora existam outros modelos, a maior parte dos fabricantes de rede, hoje, relaciona seus produtos ao modelo de referncia OSI, especialmente quando desejam instruir os usurios no uso de novos produtos. Eles o consideram a melhor ferramenta disponvel para ensinar s pessoas a enviar e receber dados atravs de uma rede. No modelo de referncia OSI, existem sete camadas numeradas e cada uma ilustra uma funo particular da rede. Essa separao das funes da rede chamadadiviso em camadas. Dividir a rede nessas sete camadas oferece as seguintes vantagens: 1. Decompe as comunicaes de rede em partes menores e mais simples. 2. Padroniza os componentes de rede, permitindo o desenvolvimento e o suporte por parte de vrios fabricantes. 3. Possibilita a comunicao entre tipos diferentes de hardware e de software de rede. 4. Evita que as modificaes em uma camada afetem as outras, possibilitando maior rapidez no seu desenvolvimento. 5. Decompe as comunicaes de rede em partes menores, facilitando sua aprendizagem e compreenso.

O problema de transferir informaes entre computadores dividido em sete problemas menores e mais gerenciveis no modelo de referncia OSI. Cada um dos sete problemas menores representado por sua prpria camada no modelo(Estaremos futuramente comentando cada camada). As sete camadas do modelo de referncia OSI so: Camada 7: A camada de aplicao Camada 6: A camada de apresentao Camada 5: A camada de sesso Camada 4: A camada de transporte Camada 3: A camada de rede Camada 2: A camada de enlace Camada 1: A camada fsica. MODELO TCP/IP: J o modelo TCP/IP tem importncia histrica, assim como os padres que permitiram que as indstrias de telefonia, energia eltrica, estradas de ferro e videotape se desenvolvessem. O Departamento de Defesa dos Estados Unidos (DoD) desenvolveu o modelo de referncia TCP/IP porque queria uma rede que pudesse sobreviver a qualquer condio, mesmo a uma guerra nuclear. Imaginem um mundo em guerra, entrecruzado por diferentes tipos de conexes: cabos, microondas, fibras ticas e links de satlite, e ainda a necessidade de trafegar informaes/dados, independentemente da condio de qualquer n ou rede particular na internetwork (que, nesse caso, pode ter sido destruda pela guerra). Foi dentro desse complexo problema de projeto que levou criao do modelo TCP/IP e que tornou-se, desde ento, o padro no qual a Internet se desenvolveu. Diferentemente do modelo OSI( com sete camadas), o modelo TCP/IP tem quatro camadas, so elas: Camada 4: A camada de Aplicao Camada 3: A camada de Transporte Camada 2: A camada de Internet Camada 1: A camada de Rede importante notar que algumas das camadas do modelo TCP/IP tm o mesmo nome das camadas no modelo OSI. Mas no se iluda, as camadas dos dois modelos tm funes e protocolos caractersticos que podem induzir ao erro.

MODELO OSI x TCP/IP: SEMELHANAS E DIFERENAS. Algumas semelhanas:

ambos so divididas em camadas; ambos tm camadas de aplicao, embora incluam servios muito diferentes; ambos tm camadas de transporte e de rede comparveis; a tecnologia de comutao de pacotes (e no comutao de circuitos) presumida por ambos; os profissionais da rede precisam conhecer ambos.

Algumas diferenas:

o TCP/IP combina os aspectos das camadas de apresentao e de sesso dentro da sua camada de aplicao; o TCP/IP combina as camadas fsica e de enlace do OSI em uma camada ; o TCP/IP parece ser mais simples por ter menos camadas; os protocolos do TCP/IP so os padres em torno dos quais a Internet se desenvolveu, portanto o modelo TCP/IP ganha credibilidade apenas por causa dos seus protocolos; Em contraste, nenhuma rede foi criada em torno de protocolos especficos relacionados ao OSI, embora todos usem o modelo OSI para guiar os estudos.