Professional Documents
Culture Documents
ARACRUZ
2008
POLÍBIO ÍCARO MORO CAPO
ARACRUZ
2008
Dedico este trabalho aos meus pais pelo
exemplo e ao meu amor Edvana da Silva
Silveira.
A todos que me apoiaram e estiveram ao
meu lado para conclusão deste trabalho.
A todos os Professores.
RESUMO
A numeração não
corresponde a este
arquivo!!!
SUMÁRIO A numeração não
corresponde a este
arquivo!!!
1INTRODUÇÃO................................................................................................8
2.2 ATAQUES...................................................................................................11
3 AGENTES......................................................................................................13
6 IMPLEMENTAÇÃO DO PROTÓTIPO............................................................27
7.1 CONCLUSÃO..............................................................................................37
8 REFERÊNCIAS............................................................................................39
1 INTRODUÇÃO
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
[...]”.
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):
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.
2 SEGURANÇA DA INFORMAÇÃO E ATAQUES
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
Ataques ocorrem onde existir falhas. Segundo Bernardes (1999), falhas podem ser
atribuídas a três causas principais: softwares, administradores e usuários.
3 AGENTES
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).
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.
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.
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.
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.
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.
4 SISTEMAS BASEADOS EM AGENTES MÓVEIS
comércio eletrônico;
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.
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.
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;
A nova arquitetura pode ser descrita, de forma mais específica, da seguinte maneira:
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.
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.
O ambiente é composto por três máquinas, sendo duas físicas e uma virtual
emulada por um software de virtualização.
6 IMPLEMENTAÇÃO DO PROTÓTIPO
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.
Figura 11: Edição de Perfil Existente.
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.
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.
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.
6.3 AGENTE DA CAMADA DE TOMADA DE DECISÃO
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.
6.5 AGENTE DA CAMADA DE REAÇÃO
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).
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.
7 CONCLUSÕES E TRABALHOS FUTUROS
7.1 CONCLUSÃO
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.
8 REFERÊNCIAS