42
FACULDADE DE ARACRUZ DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO E INFORMÁTICA POLÍBIO ÍCARO MORO CAPO SISTEMA MULTIAGENTE DE VERIFICAÇÃO, NOTIFICAÇÃO E REAÇÃO CONTRA APLICATIVOS SUSPEITOS ARACRUZ 2008

AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

Embed Size (px)

DESCRIPTION

Este trabalho apresenta um sistema modular para identificação, notificação e reação contra aplicativos suspeitos em execução, adotando a tecnologia de agentes móveis para o seu desenvolvimento.Para maiores informações, [email protected]

Citation preview

Page 1: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

FACULDADE DE ARACRUZ

DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO E INFORMÁTICA

POLÍBIO ÍCARO MORO CAPO

SISTEMA MULTIAGENTE DE VERIFICAÇÃO, NOTIFICAÇÃO E REAÇÃO

CONTRA APLICATIVOS SUSPEITOS

ARACRUZ

2008

Page 2: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

POLÍBIO ÍCARO MORO CAPO

SISTEMA MULTIAGENTE DE VERIFICAÇÃO, NOTIFICAÇÃO E REAÇÃO

CONTRA APLICATIVOS SUSPEITOS

Trabalho de Conclusão de Curso apresentado ao Departamento de Ciência da Computação e Informática da Faculdade de Aracruz – FAACZ, como requisito parcial para obtenção do grau de Bacharel em Ciência da Computação.

Orientador: Ms. Prof. Célio Proliciano Maioli.

ARACRUZ

2008

Page 3: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

Dedico este trabalho aos meus pais pelo

exemplo e ao meu amor Edvana da Silva

Silveira.

Page 4: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

A todos que me apoiaram e estiveram ao

meu lado para conclusão deste trabalho.

A minha família pelo exemplo e

dedicação constantes.

A minha namorada e futura esposa

Edvana da Silva Silveira por ser minha

inspiração e sempre estar me dando

forças.

A todos os Professores.

Page 5: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

RESUMO

Existem diversas técnicas de ataques a computadores, podem ser ataques externos,

pela Internet, ou internos causados por usuários legítimos do sistema. Usuários mal

informados ou mal intencionados podem causar grandes prejuízos; podem expor o

sistema a senhas fracas, fornecer sua senha a terceiros, utilizar programas de

origem duvidosa. Dado o potencial de um usuário executar um software de origem

duvidosa, ou até mesmo com intuito de roubar informações, este trabalho apresenta

um sistema modular para identificação, notificação e reação contra aplicativos

suspeitos em execução, adotando a tecnologia de agentes móveis para o seu

desenvolvimento. Utilizando o método de Pesquisa Explicativa. Do ponto de vista

dos procedimentos técnicos, a Pesquisa Bibliográfica e Experimental. A arquitetura

modular para desenvolvimento, trouxe benefícios para o sistema desenvolvido,

como fácil configuração, escalabilidade e capacidade de extensão. Através dos

resultados gerados pelo sistema, o administrador pode gerar relatórios sobre o

comportamento dos usuários atribuindo a estes as devidas responsabilidades, além

de propor melhorias na gestão de incidentes de segurança e na política de

segurança conforme norma ISO/IEC 27001:2005.

Palavras-chave: Agentes Móveis. Segurança Computacional. Aglets.

Page 6: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

LISTA DE FIGURAS

Figura 1 - Comparativo entre Ambientes de Desenvolvimento........................16

Figura 2 - Servidor Tahiti do Ambiente Aglets da IBM......................................16

Figura 3 - Arquitetura em Camadas proposta por Bernardes...........................21

Figura 4 - Adaptação da Arquitetura Proposta por Bernardes.........................22

Figura 5 - Representação dos Elementos do DFD...........................................23

Figura 6 - Identificação de Serviços Não Permitidos........................................24

Figura 7 - Rede de Computadores Utilizada.....................................................26

Figura 8 - Interface do Agente de Controle.......................................................28

Figura 9 - Tela Inicial do Editor de Perfil...........................................................29

Figura 10 - Novo Perfil......................................................................................30

Figura 11 - Edição de Perfil Existente...............................................................31

Figura 12 - Notificação ao Administrador..........................................................34

Figura 13 - Mensagem ao usuário....................................................................35

Figura 14 - Mensagem ao administrador..........................................................36

Administrador
Text box
A numeração não corresponde a este arquivo!!!
Page 7: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

SUMÁRIO

1INTRODUÇÃO................................................................................................8

2 SEGURANÇA DA INFORMAÇÃO E ATAQUES.........................................10

2.1 NORMA ISO/IEC 27001:2005....................................................................10

2.2 ATAQUES...................................................................................................11

3 AGENTES......................................................................................................13

3.1 AGENTES MÓVEIS....................................................................................13

3.2 AMBIENTES SERVIDORES DE AGENTES MÓVEIS................................14

3.3 AGENTES MÓVEIS E PROBLEMAS DE SEGURANÇA............................17

4 SISTEMAS BASEADOS EM AGENTES MÓVEIS........................................19

4.1 VANTAGENS DA UTILIZAÇÃO DE AGENTES MÓVEIS...........................19

4.2 ARQUITETURA DO SISTEMA PROPOSTO..............................................21

4.3 CENÁRIO DE IDENTIFICAÇÃO DE SERVIÇOS NÃO PERMITIDOS........23

5 FERRAMENTAS PARA IMPLEMENTAÇÃO DO PROTÓTIPO....................25

5.1 LINGUAGEM DE PROGRAMAÇÃO E COMPILADOR...............................25

5.2 REDE DE COMPUTADORES UTILIZADA..................................................26

6 IMPLEMENTAÇÃO DO PROTÓTIPO............................................................27

6.1 AGENTE DE CONTROLE...........................................................................27

6.1.1 Gerenciamento de perfis........................................................................29

Administrador
Text box
A numeração não corresponde a este arquivo!!!
Page 8: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

6.2 AGENTE DA CAMADA DE VIGILÂNCIA.....................................................32

6.3 AGENTE DA CAMADA DE TOMADA DE DECISÃO .................................33

6.4 AGENTE DA CAMADA DE NOTIFICAÇÃO................................................33

6.5 AGENTE DA CAMADA DE REAÇÃO.........................................................35

7 CONCLUSÕES E TRABALHOS FUTUROS.................................................37

7.1 CONCLUSÃO..............................................................................................37

7.2 TRABALHOS FUTUROS.............................................................................38

8 REFERÊNCIAS............................................................................................39

Page 9: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

1 INTRODUÇÃO

Os estudos oriundos da Ciência da Computação podem ser aplicados em qualquer

área do conhecimento humano em que seja possível definir métodos de resolução

de problemas baseados em repetições previamente observadas. A formação

abrange a compreensão do campo científico da computação, a sua aplicação na

solução de problemas da sociedade e no desenvolvimento de conhecimento e

tecnologias que permitam a evolução da computação.

Na computação, raramente vemos computadores trabalhando sozinhos. O mundo

está interligado por redes de computadores, uma rede de computadores consiste de

dois ou mais computadores e outros dispositivos conectados entre si.

Visando o aproveitamento dos recursos para desenvolver as tarefas da instituição e

a segurança do ambiente, alguns administradores impõem limitações quanto à

execução de aplicativos. Apesar das limitações impostas em algumas redes,

usuários podem executar aplicativos diretamente de pen drive, cds. Além disso, em

ambientes sem administração de redes centralizada ou onde existam muitos

usuários com privilégios de administradores, aumenta a possibilidade de programas

serem executados sem as devidas licenças pondo em risco os recursos

computacionais da organização, deixando a rede vulnerável a ataques.

Ataques ocorrem onde existem falhas, segundo Bernardes (1999), falhas podem ser

atribuídas a três causas principais: softwares, administradores e usuários. Usuários

mal informados ou mal intencionados podem causar grandes prejuízos. Podem

expor o sistema através de senhas fracas, podem fornecer sua senha a terceiros,

utilizar programas de origem duvidosa, etc. Segundo Lobo (2008), “[...] 42% das

grandes empresas assumem que os ataques internos são de grande preocupação

[...]”.

Dado o potencial de um usuário executar um software de origem duvidosa, ou até

mesmo com intuito de roubar informações, este projeto tem como objetivo geral

desenvolver um sistema multiagente de verificação, notificação e reação contra

aplicativos suspeitos, adotando a tecnologia de agentes para o seu

desenvolvimento, especificamente agentes móveis. Este sistema visa mitigar

Page 10: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

problemas causados por usuários que, acidental ou intencionalmente, executam

aplicativos não autorizados e acabam causando algum dano à organização.

A tecnologia de agentes móveis possui algumas vantagens sobre sistemas

centralizados. Segundo Bernardes (1999), fácil configuração, eficiência, capacidade

de extensão, resistência à subversão e escalabilidade, são algumas destas

vantagens.

Tendo em vista o objetivo deste projeto, adota-se o método de Pesquisa Explicativa.

Do ponto de vista dos procedimentos técnicos, a Pesquisa Bibliográfica e

Experimental, conforme descrição abaixo.

Segundo Gil (1991 apud SILVA e MENEZES, 2001) a pesquisa explicativa visa

identificar os fatores que determinam ou contribuem para a ocorrência dos

fenômenos. Aprofunda o conhecimento da realidade porque explica a razão, o “por

que” das coisas.

Do ponto de vista dos procedimentos técnicos (GIL, 1991 apud SILVA e MENEZES,

2001):

Pesquisa Bibliográfica: quando elaborada a partir de material já publicado,

constituído principalmente de livros, artigos de periódicos e atualmente com

material disponibilizado na Internet.

Pesquisa Experimental: quando se determina um objeto de estudo,

selecionam-se as variáveis que seriam capazes de influenciá-lo, definem-se

as formas de controle e de observação dos efeitos que a variável produz no

objeto.

O desenvolvimento deste trabalho está dividido nas seguintes seções: Introdução,

Segurança da Informação e Ataques, Agentes, Sistemas Baseados em agentes

móveis, Ferramentas para Implementação do Protótipo, Implementação do

Protótipo, Conclusões e Trabalhos Futuros.

Através dos resultados gerados pelo sistema, o administrador pode gerar relatórios

sobre o comportamento dos usuários atribuindo a estes as devidas

responsabilidades, além de propor melhorias na gestão de incidentes de segurança

e na política de segurança conforme norma ISO/IEC 27001:2005.

Page 11: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

2 SEGURANÇA DA INFORMAÇÃO E ATAQUES

Segundo Bernardes (1999), a segurança está relacionada à necessidade de

proteção contra o acesso ou manipulação, intencional ou não, de informações

confidenciais por elementos não autorizados, e a utilização não autorizada do

computador ou de seus periféricos.

2.1 NORMA ISO/IEC 27001:2005

A norma ISO/IEC 27001 é um padrão para sistema de gerência da segurança da

informação (ISMS - Information Security Management System) publicado em outubro

de 2005 pelo International Organization for Standardization e pelo International

Electrotechnical Commision. Seu nome completo é ISO/IEC 27001:2005, mas

conhecido como "ISO 27001". Na família 27000 são abordados novos segmentos

sob normas que variam de 27000 a 27009 (ISO/IEC-27001, 2005).

A documentação da ISO/IEC-27001:2005 aborda 11 tópicos, dos quais se adota os

que apóiam o sistema proposto:

1. política de segurança. Descreve a importância e relaciona os principais

assuntos que devem ser abordados numa política de segurança.

2. segurança relacionada com as pessoas. Tem como enfoque o risco

decorrente de atos intencionais ou acidentais feitos por pessoas. Também

são abordados aspectos como a inclusão de responsabilidades relativas à

segurança na descrição dos cargos, a forma de contratação e a formação em

assuntos relacionados com a segurança.

3. gestão de incidentes de segurança. Incluída na versão 2005, apresenta dois

itens. Um deles é a notificação de fragilidades e eventos de segurança da

Page 12: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

informação. O outro é a gestão de incidentes de segurança da informação e

melhorias.

O sistema contribuirá para a adequação dos usuários com a política de segurança,

um exemplo seria um cenário no qual se bloqueia a execução de um determinado

software não condizente com a política da organização.

No item 2, em casos onde um usuário executa um aplicativo não permitido, acidental

ou intencionalmente, o sistema informará ao administrador quem é este usuário,

quais são os aplicativos, atribuindo assim a responsabilidade ao usuário.

Quanto à gestão de incidentes, está relacionado com um dos resultados do sistema

que é a notificação de fragilidades visando manter o administrador informado sobre

as falhas. A gestão de incidentes pode ser feita com base nos arquivos de logs

gerados pelo sistema, com essas informações à disposição melhorias podem ser

realizadas na segurança.

Uma vez que a organização não adote medidas de segurança, temos um cenário de

risco. Bernardes (1999) afirma que semanalmente são divulgados relatórios com

novos problemas de segurança nos mais variados sistemas operacionais e

softwares. Segundo o autor, existe certa demora no lançamento de atualizações de

segurança e uma grande dificuldade dos administradores se manterem

constantemente atualizados, portanto, tem-se um cenário com redes potencialmente

vulneráveis a ataques.

2.2 ATAQUES

Existem diversas técnicas de ataques a computadores, podem ser ataques externos,

pela Internet, ou internos causados por usuários legítimos do sistema.

Page 13: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

Tavares (2002), afirma que se considerarmos as diversas formas de ataques, elas

geralmente resultam em violações de quatro propriedades de segurança:

disponibilidade, confidencialidade, integridade e controle. Ele as descreve da

seguinte forma:

Violação da confidencialidade - consiste no acesso aos dados sem

autorização (implícita ou explicita) do proprietário da informação;

Violação da Integridade: Um ataque causa uma violação de integridade se

permitir que o estado do sistema ou de qualquer outro dado residindo ou

trafegando no sistema seja alterado ilegalmente;

Violação da Disponibilidade - um ataque causa uma violação de

disponibilidade se ele não permitir que um usuário autorizado (humano ou

máquina) acesse um recurso particular de sistema quando, onde, e na forma

que for necessário;

Violação do Controle - um ataque causa uma violação de controle se ele

garantir privilégios que violem a política de controle de acesso do sistema.

Estes privilégios habilitam uma violação de confidencialidade, integridade ou

disponibilidade subseqüente.

Conforme Tavares (2002), alguns tipos de ataques são reportados freqüentemente,

são eles: ataques de sondagem (scanning attacks), ataques de comprometimento de

recursos (Denial of Service attacks – DoS, conhecido como negação de serviço), e

ataques de penetração de sistema. Estes ataques podem ser lançados localmente

ou remotamente, utilizando uma rede para acessar o alvo.

Ataques ocorrem onde existir falhas. Segundo Bernardes (1999), falhas podem ser

atribuídas a três causas principais: softwares, administradores e usuários.

softwares: Os softwares em execução no computador podem apresentar

falhas que podem ser exploradas por atacantes. Softwares de origem

duvidosa podem conter códigos maliciosos que roubam informações;

administradores: As falhas mais comuns oriundas de administradores são: a

não instalação de sistemas de proteção e auditoria, não aplicação de patches

de problemas conhecidos e não orientar os usuários;

Page 14: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

usuários: Usuários mal informados ou mal intencionados podem causar

grandes prejuízos. Podem expor o sistema através de senhas fracas, podem

fornecer sua senha a terceiros, utilizar programas de origem duvidosa, etc.

Dado o potencial de um usuário executar um software de origem duvidosa, ou até

mesmo com intuito de roubar informações, este projeto apresenta uma ferramenta

de auxílio para identificação destes programas, adotando a tecnologia de agentes

para o seu desenvolvimento.

3 AGENTES

Conforme o Dicionário Eletrônico Aurélio, versão 5.0, da Língua Portuguesa, a

definição de agente consiste em “Pessoa especializada que trata de negócio por

conta alheia, ou que representa os interesses de seus clientes”.

Existem várias definições de agentes e este problema deve-se, em parte, à falta de coordenação entre as diversas pesquisas paralelas que foram feitas ao longo dos anos. Por outro lado, o termo agente não é propriedade dos pesquisadores da área, sendo usado diariamente no mundo real (agente de viagem, agente econômico, agente de seguros, etc.). (REAMI, 1998 apud BERNARDES, 1999).

Segundo Nwana (1996 apud BERNARDES, 1999), existe tanta chance de se atingir

um consenso sobre a definição de agente, quanto dos pesquisadores de inteligência

artificial têm de chegar sobre uma definição da mesma, ou seja, nenhuma.

Neste trabalho será adotada a definição de Nagamuta (1999) de que, “Agente é uma

entidade de software (um programa) que executa um certo conjunto de tarefas em

nome do usuário que o criou.” (NAGAMUTA, 1999).

3.1 AGENTES MÓVEIS

Page 15: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

Agentes móveis podem ser definidos como:

Agentes que possuem a capacidade de mover-se através da rede. Devem possuir habilidades para executar operações em qualquer máquina preparada para recebê-los dentro da rede, independente da plataforma utilizada, o que motiva a utilização da linguagem Java na implementação dos agentes móveis (PEREIRA FILHO, 2001).

Em modelos baseados em agentes móveis, um agente, que é enviado por um usuário, é responsável por realizar a tarefa desejada, sendo que o agente irá migrar para o servidor interagindo com ele localmente e em seguida retornar os resultados obtidos ao usuário (OYAMADA & ITO, 1998, apud PEREIRA FILHO).

Segundo Pereira Filho (2001) os agentes móveis são constituídos de código, estado

e atributos, onde o código de um agente móvel é o programa que define seu

comportamento. Este código pode ser escrito em uma linguagem interpretada

independente de plataforma, permitindo assim a mobilidade do agente. O estado do

agente é utilizado para que ele possa retomar suas atividades a partir do ponto onde

havia parado após se mover de um servidor para outro, pois o estado mantém

guardado o ponto de execução e as variáveis necessárias para a realização das

tarefas. Já atributos são utilizados para descrever o agente para seus servidores.

Estes atributos incluem um identificador único de cada agente, um endereço para

onde serão enviados os resultados intermediários, mensagens de erro, o tempo e a

história do agente. Além disso, os atributos impõem limitações na mobilidade dos

agentes.

Pereira Filho (2001) afirma que os ambientes servidores de agente têm que oferecer

todo o suporte para os agentes realizarem suas tarefas. Para que isto ocorra, os

agentes devem ser capazes de interagir com os servidores, se comunicarem com

outros agentes e moverem-se através da rede.

Page 16: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

3.2 AMBIENTES SERVIDORES DE AGENTES MÓVEIS

Pereira Filho (2001), avalia diversos ambientes de agentes móveis em seu trabalho.

Conforme o autor, foram encontrados diversos ambientes servidores, comerciais e

acadêmicos, implementados em C++, TCL, PERL, LISP e Java. Ele apresenta

alguns kits de desenvolvimento em linguagem Java. De forma resumida são eles:

Aglet Software Development Kit (IBM, 1998 apud PEREIRA FILHO, 2001) –

Aglets são objetos Java que podem mover-se de um host para outro na rede.

Em cada host deve haver o servidor de Aglets denominado Tahiti. O Tahiti é

uma aplicação Java que permite ao usuário receber, gerenciar, e enviar

Aglets para outros computadores que também estão executando o servidor

Tahiti.

Concórdia (MITSUBISHI, 1997 apud PEREIRA FILHO, 2001) - concebido pela

Mitsubishi constitui-se de um framework para o desenvolvimento e

gerenciamento de agentes móveis podendo ser utilizado por qualquer

dispositivo que suporte Java. O sistema Concórdia é composto de uma JVM

(Máquina Virtual Java), o Concórdia Server e pelo menos um agente e um nó

da rede. Normalmente, o sistema Concórdia consiste em múltiplas máquinas

em uma rede, cada uma com uma JVM, Concórdia Server e agentes móveis.

Grasshopper (IKV, 99a apud PEREIRA FILHO, 2001) – Grasshopper é

completamente desenvolvido em Java. Desta forma, o ambiente pode ser

instalado em qualquer computador que possui uma Máquina Virtual Java.

Além disso, oferece um suporte a segurança e facilidades para

gerenciamento. A proteção oferecida é aplicável aos agentes e ao ambiente

(contra agentes maliciosos).

Gossip e Tryllian Agent Toolkit (TRYLLIAN, 1999 apud PEREIRA FILHO,

2001) – Na Tryllian, desenvolvedora do Gossip, a definição de um agente é

”assistente inteligente móvel”. Todas as informações do usuário, como

interesses e preferências, são armazenadas em um perfil do usuário. Os

agentes criados pela Tryllian demonstram certo nível de inteligência. Eles

Page 17: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

utilizam um laço de sense-reason-act. O laço sense-reason-act é um

mecanismo que controla a interação entre uma entidade inteligente e um

ambiente dinâmico ou desconhecido.

Sense: observa o ambiente e o modela internamente. Reason: atualiza o

estado interno e determina uma ação baseada no estado do ambiente e no seu

estado interno. Act: Realiza a ação proposta.

A Figura 1 demonstra alguns dos resultados obtidos por Pereira Filho (2001), na

qual ele avalia os ambientes nos quesitos, segurança, desempenho e

documentação.

Figura 1 – Comparativo entre Ambientes de Desenvolvimento. Fonte: Pereira Filho (2001).

Dentre as diversas plataformas de agentes móveis apresentadas na Figura 1,

podemos notar que a plataforma Aglets (ASDK) da IBM tem um desempenho

relativamente superior nos quesitos segurança, desempenho e obteve uma média

geral de muito bom a ótimo, o que a torna a escolha adequada para o

desenvolvimento do projeto. A Figura 2 apresenta a interface do ambiente Tahiti,

servidor dos agentes Aglets.

Page 18: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

Figura 2 – Servidor Tahiti do Ambiente Aglets da IBM.

Além dos ambientes servidores, uma outra função de extrema importância dos

sistemas de agentes é a de garantir a segurança, tanto dos servidores quanto dos

agentes neles hospedados. A segurança é um aspecto crítico no processo de

execução de código móvel e em particular na execução de agentes móveis.

3.3 AGENTES MÓVEIS E PROBLEMAS DE SEGURANÇA

Sander e Tschudin (apud BERNARDES, 1999) fornecem um exemplo interessante

de problema de segurança que pode ocorrer durante uma busca por preços de

passagem feita por um agente de compras. Suponha que o objetivo programado

pelo usuário seja visitar os servidores de várias empresas aéreas, encontrar um vôo

disponível e, uma vez determinada a melhor oferta, agendar o vôo. Alguns ataques

possíveis são:

Ao chegar a um servidor A (servidor malicioso), o estado e código do agente

são alterados de forma que ele esqueça os outros servidores já visitados e

opte pela oferta do servidor A;

Page 19: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

Alterar o estado interno do agente e roubar toda moeda eletrônica que ele

esteja levando;

Agente resolve agendar o vôo e, portanto, precisa assinar digitalmente com

sua chave-privada: a chave-privada é roubada.

De forma geral, os problemas mais preocupantes são: proteger um host de um

agente mal intencionado e proteger um agente de um host mal intencionado. O

primeiro problema pode ser tratado através de técnicas convencionais como listas

de controle de acesso e autenticação. Por sua vez, é amplamente aceito que não

existe uma solução que previna a ocorrência do segundo problema, a menos que

haja hardware confiável e a prova de adulteração (CHESS et. al., 1995 apud

BERNARDES, 1999).

Diversas pesquisas têm sido feitas com intuito de criar ambientes de agentes que

possam garantir um mínimo de segurança. Uma delas é o trabalho de Uto (2003), o

qual descreve diversas formas de segurança voltadas a agentes móveis.

Page 20: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

4 SISTEMAS BASEADOS EM AGENTES MÓVEIS

A tecnologia de agentes vem sendo aplicada academicamente nos mais diversos

campos, principalmente em inteligência artificial, sistemas distribuídos e engenharia

de software (PEREIRA FILHO, 2001).

No desenvolvimento de sistemas, a tecnologia de agentes pode ser aplicada nas

seguintes áreas (AGENTBUILDER, 2003 apud KNYCHALA NETO, 2003):

automação de processos e workflow;

comércio eletrônico;

solução de problemas distribuídos;

ensino Colaborativo;

aplicação de Internet.

Além das aplicações citadas por Knychala Neto, diversos autores como Bernardes

(1999), Pereira Filho (2001) e Tavares (2002), propõem a utilização voltada à

segurança computacional, citando algumas vantagens sobre abordagens

centralizadas.

Page 21: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

4.1 VANTAGENS DA UTILIZAÇÃO DE AGENTES MÓVEIS

Tavares (2002) diz que em um sistema centralizado a análise dos dados é realizada

em um número fixo de lugares, independente da quantidade de máquinas sendo

monitoradas. Segundo o autor em um sistema distribuído (neste caso, agentes

móveis) a análise dos dados é realizada em um número de posições proporcional ao

número de máquinas que estão sendo monitoradas.

Conforme Bernardes (1999) uma abordagem centraliza apresenta alguns problemas

práticos, dentre eles, uma preocupação diz respeito à tolerância à falhas, uma vez

que um sistema centralizado apresenta-se como um único ponto de falha e ataques.

Consequentemente, metodologias de ataques, como, ataques Denial of Service, são

proferidos a máquina que hospeda o sistema e comprometem por completo a

integridade do sistema.

Bernardes (1999) destaca algumas vantagens de sistemas baseados em agentes

móveis sobre sistemas centralizados:

fácil configuração - uma vez que é possível ter uma série de pequenos

agentes especializados em tarefas específicas de detecção, o sistema

pode ser configurado da forma mais adequada para cada caso; a adição e

remoção de agentes do sistema são facilitadas;

eficiência - agentes podem ser treinados previamente e otimizados para

que realizem suas tarefas de maneira a gerar a menor sobrecarga

possível no sistema;

capacidade de extensão - um sistema de agentes pode ser facilmente

modificado para operar em rede e permitir migração para rastrear

comportamentos anômalos através da rede, ou mover para máquinas

onde eles possam ser mais úteis;

Page 22: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

resistência à subversão: caso um sistema de defesa seja subvertido, ele

poderá dar a falsa sensação de segurança. Entretanto, com agentes

móveis, isto se torna mais difícil, pois os conhecimentos adquiridos de um

agente não fornecem o conhecimento das operações de outros, visto que

eles desempenham funções diferentes;

escalabilidade: para atuar em sistemas maiores, basta adicionar mais

agentes e aumentar sua diversidade.

Tendo em vista os aspectos citados acima, este projeto apresenta a proposta de

uma abordagem modular baseada em agentes móveis para o desenvolvimento de

um Sistema Multiagente de Verificação, Notificação e Reação contra aplicativos

suspeitos, em execução no ambiente de rede.

4.2 ARQUITETURA DO SISTEMA PROPOSTO

Uma arquitetura para a introdução de agentes móveis em Sistemas Detecção de

Intrusão foi proposta por Bernardes (1999) e é apresentada na Figura 3.

Figura 3 – Arquitetura em Camadas proposta por Bernardes. Fonte: Bernardes (1999).

Page 23: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

As camadas são numeradas a partir da camada de Vigilância (camada 1), e cada uma delas representa um grupo de tarefas específicas desempenhadas por agentes especializados nas funções desta camada. Através do mecanismo de troca de mensagens, um agente em uma camada aciona um ou mais agentes em uma camada superior. Em outras palavras, a camada N utiliza os serviços da camada N-1, desempenha suas funções e fornece serviços para a camada N+1 (BERNARDES, 1999).

Com base na arquitetura apresentada por Bernardes, algumas modificações foram

realizadas para desenvolvimento do sistema proposto, conforme Figura 4.

Figura 4 – Adaptação da Arquitetura Proposta por Bernardes.

Como visto na Figura 3 os agentes da camada de Notificação se comunicavam com

os da camada 4 (Reação), esta comunicação foi retirada visando dar maior controle

ao responsável pela rede, uma vez que este decide a melhor maneira de sanar o

problema identificado.

A introdução de um agente de controle se deu em virtude da necessidade de

gerenciar o envio e recebimento dos agentes, diminuindo o trabalho do

administrador em gerenciar os agentes de vigilância e visualização dos resultados.

A nova arquitetura pode ser descrita, de forma mais específica, da seguinte maneira:

Agente de Controle - controla o envio e recebimento dos agentes. É a

interface entre o administrador da rede e os agentes, possibilita a

visualização dos resultados;

Agentes de Vigilância - responsáveis por verificar os possíveis serviços

em execução não permitidos a determinado usuário, os mesmos se

Page 24: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

comunicam através de mensagens com os Agentes de Tomada de

Decisão;

Agentes de Tomada de Decisão - analisa os resultados do agente de

vigilância e compara com o perfil de usuário, detectando possíveis

serviços suspeitos, uma vez identificados serão enviadas mensagens

aos Agentes de Notificação;

Agentes de Notificação - coletam os resultados dos Agentes de

Tomada de Decisão e notificam o administrador da rede;

Agentes de Reação - com base nos resultados dos Agentes de

Notificação o administrador solicita uma reação, neste caso, fechar o

processo não permitido.

4.3 CENÁRIO DE IDENTIFICAÇÃO DE SERVIÇOS NÃO PERMITIDOS

No processo de modelagem torna-se interessante a representação do cenário de

execução do sistema. Para essa representação, utiliza-se uma ferramenta lógica

conhecida como Diagrama de Fluxo de Dados (DFD), por ser uma ferramenta

simples, de fácil entendimento e bastante utilizada na modelagem de sistemas.

A Figura 5 apresenta os símbolos utilizados e sua representação neste contexto.

Page 25: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

Figura 5 – Representação dos Elementos do DFD. Fonte: Bernardes (1999).

Visando sua compreensão e visualização do relacionamento entre as camadas da

arquitetura proposta, a modelagem do cenário de identificação de serviços não

autorizados é apresentada conforme Figura 6.

Figura 6 – Identificação de Serviços Não Permitidos.

Este sistema consiste de um conjunto de pequenos processos (agentes) que podem

agir independentemente no ambiente. Eles serão desenvolvidos para moverem-se

Page 26: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

pelo ambiente (rede de computadores), observarem os comportamentos dos

aplicativos em execução, cooperarem uns com os outros via passagem de

mensagens, notificarem quando uma ação for considerada suspeita e, se

necessário, executar uma reação.

5 FERRAMENTAS PARA IMPLEMENTAÇÃO DO PROTÓTIPO

Uma vez definidos o ambiente servidor de agentes e a arquitetura, e modelado o

cenário de execução, devemos especificar as tecnologias utilizadas, como

linguagem de programação, compilador para linguagem e definir o ambiente de

rede.

5.1 LINGUAGEM DE PROGRAMAÇÃO E COMPILADOR

Conforme visto na seção 3.2, o ambiente servidor de agentes adotado, Tahiti, utiliza

a linguagem Java como padrão. Isto torna Java a linguagem adequada para

desenvolvimento do sistema proposto.

Page 27: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

O compilador Java traduz programas-fonte Java em um código intermediário e

independente da plataforma, chamado Java Byte Code, que é interpretado por uma

Java Virtual Machine (JVM), o que torna a linguagem independente da plataforma

(Windows, Linux, Mac OS, etc) sendo necessário apenas a JVM adequada ao seu

sistema operacional.

Existem diversos IDEs (Integrated Development Environment), ambientes integrados

para desenvolvimento de software em Java, entre eles foram testados o Eclipse,

versão 3.4, e o NetBeans, versão 5.5.1. O ambiente adotado para desenvolvimento

do sistema foi o NetBeans, pois para desenvolvimento dos agentes o compilador

atendeu de forma satisfatória. Principalmente quanto a interface, este ambiente nos

deu maior flexibilidade e facilidade para desenvolvimento da interface do sistema.

5.2 REDE DE COMPUTADORES UTILIZADA

Como o sistema tem a finalidade de execução em rede, foi montado um ambiente

para implementação e testes do sistema, conforme Figura 7.

Page 28: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

Figura 7: Rede de Computadores Utilizada.

O ambiente é composto por três máquinas, sendo duas físicas e uma virtual

emulada por um software de virtualização.

Page 29: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

6 IMPLEMENTAÇÃO DO PROTÓTIPO

O desenvolvimento do protótipo foi realizado em camadas sendo elas, agente de

controle, agente de vigilância, agente de tomada de decisão, agente de notificação e

agente de reação, conforme seção 4.2, Figura 4.

6.1 AGENTE DE CONTROLE

O Agente de Controle é a interface do sistema com o administrador, responsável

pelo envio e recebimento de agentes, além de possuir um gerenciador de perfis.

De forma específica este agente tem as seguintes características:

Parâmetros: Endereços IP das máquinas de destino (envio de Agentes de

Vigilância), ou Nome do Serviço a ser fechado e o IP Remoto (envio de

Agentes de Reação), Resultados de Notificação;

Função: Interface com o Administrador, Controle de Envio e Recebimento de

agentes, Criar e Editar perfis de usuários;

Agente ativador: Administrador da rede;

Agente a ser ativado: Agente de Vigilância ou Agente de Reação.

Outra característica importante é o ID do agente de controle, este é o identificador

único do agente, como se fosse o C.P.F dos brasileiros. Este identificador é enviado

através de todas as camadas da arquitetura proposta (Figura 4), para que possa ser

feito o controle.

Na Figura 8, apresenta-se a interface do agente de controle com o administrador.

Page 30: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

Figura 8: Interface do Agente de Controle.

Na interface, temos a interação entre administrador e agente. Em “Rede Local”

temos a faixa de endereços IP para ser realizada a verificação (Agentes de

Vigilância). No campo “Fechar Processo” é efetuado o envio do Agente de Reação.

O botão “Limpar” limpa os resultados da tela, “Salvar” tem a finalidade de salvar os

resultados obtidos. Dentre as funcionalidades do agente de controle deve-se

destacar o Gerenciamento de Perfis, cuja função é a edição e criação de novos

perfis de usuário, onde constam os serviços permitidos a este.

Page 31: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

6.1.1 Gerenciamento de perfis

No decorrer do projeto, nota-se a necessidade de ter um gerenciamento de perfis,

pois o perfil de usuário tem papel importantíssimo para funcionamento do sistema,

uma vez que este é usado como parâmetro para a identificação dos serviços não

permitidos.

A seguir é apresentada a interface do gerenciamento de perfis.

Figura 9: Tela Inicial do Editor de Perfil.

Page 32: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

O editor do gerenciamento tem como funcionalidade a criação, edição a remoção de

usuários. Sendo selecionado “Novo Perfil”, será permitido ao administrador introduzir

os serviços permitidos a um novo usuário, conforme Figura 10.

Figura 10: Novo Perfil.

Os processos listados na Figura 10 são os processos utilizados pelo sistema para

sua execução, logo estes deverão ser permitidos a todos os usuários. São eles

java.exe (Máquina Virtual Java), cmd.exe (Prompt de comando do Windows),

tasklist.exe (Gerenciador de tarefas), taskkill.exe (Fecha determinado processo em

execução).

Novos aplicativos podem ser instalados nas máquinas, então a edição do perfil

torna-se essencial, a edição pode ser vista na Figura 11.

Page 33: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

Figura 11: Edição de Perfil Existente.

Depois de selecionado o usuário e a opção de “Abrir”, temos a lista de serviços

permitidos ao usuário, sendo possível editar (remover, adicionar determinados

serviços). É possível apagar o perfil inteiro, removendo assim o usuário.

Como visto o editor de perfil torna-se peça fundamental para execução do sistema,

uma vez que o perfil é base para o funcionamento do sistema.

Page 34: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

6.2 AGENTE DA CAMADA DE VIGILÂNCIA

Agentes de Vigilância têm a função de trafegar pela rede nas máquinas que irão

monitorar, e capturar uma lista com informações dos usuários.

O Agente de Vigilância tem as seguintes características:

Parâmetros - Identificador do Agente de Controle, IP da máquina a ser

monitorada;

Função - Capturar nomes de serviços em execução relacionados aos

usuários “conectados” em determinada máquina;

Agente ativador - Agente de Controle;

Agente a ser ativado - Agente de Tomada de Decisão.

Os parâmetros são passados pelo agente de controle. Conforme Figura 6, tem-se

em “Rede Local” a faixa de endereços IP para os quais serão emitidos os Agentes

de Vigilância. Foi implementada uma verificação “offline”, ou seja, uma verificação

na máquina local, sem a presença de conexão de rede, tendo como parâmetro o IP

127.0.0.1 (Localhost).

Para realizar sua função, foi utilizado um comando do próprio sistema operacional

(Windows XP Professional): o agente executa o comando tasklist.exe, obtendo

informações dos serviços executados pelo usuário que está “on-line” no sistema.

Estas informações são armazenadas em arquivos texto, os quais serão parâmetros

para o agente de tomada de decisão.

Page 35: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

6.3 AGENTE DA CAMADA DE TOMADA DE DECISÃO

O Agente de Tomada de Decisão tem as seguintes características:

Parâmetros - Identificador do Agente de Controle, IP do servidor, IP do

destino, Nome do usuário, Perfil do usuário, Arquivo de Verificação;

Função - Identificar os serviços suspeitos em execução relacionados ao

usuário “conectado” em determinada máquina;

Agente ativador - Agente de Vigilância;

Agente a ser ativado - Agente de Notificação.

Através do IP do servidor e do nome de usuário, o agente de tomada de decisão

busca no servidor (máquina do administrador) o perfil do usuário para realizar a

comparação com o resultado do agente de vigilância. Assim são identificados os

serviços suspeitos, armazenando os resultados em arquivo texto. Depois de realizar

sua tarefa, o agente da camada superior é ativado, Agente de Notificação.

6.4 AGENTE DA CAMADA DE NOTIFICAÇÃO

O Agente de Notificação tem as seguintes características:

Parâmetros - Identificador do Agente de Controle, Arquivo de Decisão, IP do

servidor;

Função - Notificar o administrador;

Agente ativador - Agente de Tomada de Decisão;

Agente a ser ativado - Comunica-se com o agente de controle.

Page 36: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

Este agente é responsável pelo retorno ao servidor de origem. O agente carrega o

arquivo com os resultados finais do processo, passando assim a notificação para a

interface do agente de controle.

A Figura 12 apresenta uma notificação ao administrador sobre possíveis serviços

suspeitos.

Figura 12: Notificação ao Administrador.

Com base na notificação cabe ao responsável pela rede tomar as medidas cabíveis,

sendo possível solicitar uma reação ao Agente de Reação.

Page 37: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

6.5 AGENTE DA CAMADA DE REAÇÃO

O Agente de Vigilância tem as seguintes características:

Parâmetros - IP da máquina de destino, Nome do Serviço;

Função - Fechar serviço suspeito em determinada máquina;

Agente ativador - Agente de Controle;

Agente a ser ativado – Comunica-se com o administrador.

Os parâmetros são enviados pelo agente de controle (Figura 12), na interface temos

o campo “Fechar Processo”, estes são os parâmetros necessários para efetuar a

reação (Nome do serviço suspeito e o IP da máquina remota).

Para realizar sua tarefa, foi utilizado um comando do próprio sistema operacional

(Windows XP Professional). O agente executa o comando taskkill.exe que efetua o

fechamento do processo em execução.

Este agente é o único que se comunica com o usuário conectado ao sistema, uma

vez que este não tem permissão para executar determinado serviço, sendo

necessário que o mesmo fique ciente que está sendo monitorado. Esta comunicação

pode ser vista na Figura 13, onde o usuário não tinha permissão para executar o

aplicativo iexplore.exe (Browser Internet Explorer).

Figura 13: Mensagem ao usuário

Page 38: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

O agente de reação retorna ao servidor e informa ao administrador, se obteve êxito

na sua tarefa, vide Figura 14.

Figura 14: Mensagem ao administrador.

Como visto o agente de reação não tem a função de bloquear o serviço ao usuário,

dando a liberdade ao administrador tomar a decisão cabível que atenda a sua

política de segurança.

Page 39: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

7 CONCLUSÕES E TRABALHOS FUTUROS

7.1 CONCLUSÃO

Neste trabalho foi desenvolvido um sistema multiagente de verificação, notificação e

reação contra aplicativos não permitidos como apoio a segurança do ambiente de

rede. Adotou-se uma arquitetura modular baseado em agentes móveis.

A arquitetura modular para desenvolvimento, trouxe benefícios para o sistema

desenvolvido, como fácil configuração, escalabilidade e capacidade de extensão.

Uma vantagem encontrada foi quanto a ataques de negação de serviço (DoS).

Apesar do agente de controle ser centralizado, a tecnologia de agentes móveis

possibilitou que o sistema fosse utilizado em qualquer máquina da rede, sendo

assim menos suscetível a ataques DoS.

Conforme descrito na seção 2.2 ataques podem ser ocasionados por execução de

aplicativos de origem suspeita e não permitidos. Em testes realizados no ambiente

de rede adotado o sistema atendeu de forma satisfatória, identificando os processos

suspeitos, notificando o administrador e, quando solicitada uma reação, o mesmo

cumpriu com sua tarefa.

Através dos resultados, o administrador pode gerar relatórios sobre o

comportamento dos usuários atribuindo a estes as devidas responsabilidades, além

de propor melhorias na gestão de incidentes de segurança e na política de

segurança conforme norma ISO/IEC 27001:2005.

Em questões de desempenho do sistema na rede, problemas com tráfego de dados

não afetaram o sistema, pois os agentes possuem um tamanho muito pequeno se

comparado à taxa de transmissão da rede. Além do tamanho dos agentes, o sistema

foi construído visando minimizar estes problemas. O único agente que depende do

fluxo da rede e dos resultados dos demais agentes é o agente de controle. Sendo

assim, se uma estação deixar de funcionar o sistema não é afetado de maneira a

comprometer sua execução.

Page 40: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

7.2 TRABALHOS FUTUROS

Durante o desenvolvimento deste projeto foram identificados alguns pontos visando

melhor desempenho, flexibilidade e a introdução de novos recursos ao sistema, bem

como o estudo de alguns aspectos relacionados à metodologia de agentes e ao

ambiente adotado. Sugere-se para trabalhos futuros:

Introdução de novos agentes - por exemplo, agentes de chat visando dar ao

administrador controle e comunicação com o usuário;

Gerenciamento de perfis - propor melhorias no gerenciamento de perfis, via

banco de dados, arquivos binários, arquivos criptografados, visando maior

segurança e mobilidade ao sistema, sendo possível a introdução de um

agente de edição de perfil;

Adaptação do ambiente servidor - visando maior segurança e melhor

desempenho melhorias no ambiente servidor podem ser introduzidas, pois o

mesmo possui código aberto;

Técnicas de segurança ao ambiente e ao sistema - com base no trabalho de

Uto (2003), avaliar as técnicas que se adequariam ao sistema proposto;

Testes de impacto - realizar testes deste tipo de sistema em organizações de

médio a grande porte, com grande tráfego de rede e muitos usuários;

Integração do sistema - integrar o sistema aos mecanismos de segurança

existentes, tais como, firewall, sistemas de detecção de intrusão, etc;

Introduzir módulo de estatísticas - visualização gráfica dos resultados, visando

maior controle e facilidades de administração;

Adaptação para outros sistemas operacionais - o protótipo atual adota apenas

o sistema operacional Windows XP Professional, no entanto, é possível

propor alterações ou até mesmo a introdução de agentes específicos para

cada plataforma;

Proteção das máquinas em “tempo real” - tornar o sistema capaz de executar

suas funções a partir da inicialização do sistema operacional de cada

Page 41: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

máquina, assim dando a possibilidade de identificação dos serviços suspeitos

quando inicializados pelo usuário.

8 REFERÊNCIAS

1 BERNARDES, Mauro César. Avaliação do uso de agentes móveis em

segurança computacional. Dissertação de mestrado apresentada ao

ICMC/USP em dezembro de 1999. Disponível em:

<http://www.teses.usp.br/teses/disponiveis/55/55134/tde-04022002-103542/>

Acesso em: 22 de abr. de 2008.

2 ISO/IEC 27000:2005, Norma. Código de Boas Práticas

da Gestão de Segurança da Informação. Disponível em

<http://www.sinfic.pt/SinficNewsletter/sinfic/Newsletter92/ISO17799.html>

Acesso em: 27 de mai. de 2008.

7 KNYCHALA NETO, Adalberto. Agentes Móveis. Monografia apresentada ao

Centro Universitário do Triangulo – Unit, em dezembro de 2003. Disponível em <

computacao.unitri.edu.br/downloads/monografia/97651129128112.pdf>

Acesso em: 1 de out. de 2008.

8 LOBO, Ana Paula. Segurança da Informação movimentou US$ 370 milhões

no Brasil. Texto disponibilizado em 11 mar. 2008. Disponível em:

<http://www.convergenciadigital.com.br/cgi/cgilua.exe/sys/start.htm?infoid=12772

&sid=18> Acesso em: 26 de nov. de 2008.

9 NAGAMUTA, Vera. Coordenação de Agentes Móveis através do Canal de

Broadcast. Dissertação de mestrado apresentada ao IME/USP em novembro de

1999. Disponível em: <http://www.teses.usp.br/teses/disponiveis/45/45134/tde-

11102005-123304/ > Acesso em: 19 de abr. de 2008.

10 PEREIRA FILHO, Stênio Firmino. Avaliação de ambientes servidores para

agentes móveis. Dissertação de mestrado apresentada ao ICMC/USP em

Page 42: AGENTES MÓVEIS TCC CIÊNCIA DA COMPUTAÇÃO POLÍBIO MORO

dezembro de 2001. Disponível em:

<http://www.teses.usp.br/teses/disponiveis/55/55134/tde-08022002-173805/>

Acesso em: 19 de abr. 2008.

11 SILVA, Edna Lúcia da; MENEZES, Estera Muszkat. Metodologia da pesquisa e

elaboração de dissertação. 3. ed. Florianópolis 2001 Disponível em:

<projetos.inf.ufsc.br/arquivos/Metodologia%20da%20Pesquisa%203a%20edicao.

pdf> Acesso em: 27 mai. 2008.

12 TAVARES, Dalton Matsuo. Avaliação de técnicas de captura para sistemas

detectores de intrusão. Dissertação de mestrado apresentada ao ICMC/USP

em dezembro de 2002. Disponível em:

<http://www.teses.usp.br/teses/disponiveis/55/55134/tde-02122002-015238/>

Acesso em: 16 de abr. 2008.

13 UTO, Nelson. Segurança de Sistemas de Agentes Móveis. Dissertação

apresentada ao Instituto de Computação, UNICAMP. Disponível em:

<www.las.ic.unicamp.br/paulo/teses/trabalhos-relacionados/NelsonUto.pdf>

Acesso em: 19 de abr. 2008.