Agentes Inteligentes X Segurança Rodrigo Elia Assad Prof.: Flavia de Almeida Barros 12/1999 - [email protected] Conteúdo • Objetivos • Redes de Computadores • Agentes seguros – Multi-agentes – Mobilidade • Agentes para segurança • Conclusão • Bibliografia Objetivos Explorar aspectos de segurança quando estamos tratando de: – sistemas multiagentes – sistemas constituídos por agentes móveis – agentes para segurança de redes. Cada um destes três aspectos será discutido e apresentado uma solução elaborada com agentes para o problema. Redes de Computadores • Criadas para facilitar o compartilhamento de periféricos e dados • Tiveram uma explosão em sua utilização quando criado a ARPANET e protocolos abertos como TCP/IP • Permitiram o surgimento uma maior interação entre pessoas do mundo todo Segurança - Histórico • Kelvim Pulsen – primeiro grande hacker da Internet – Invadiu, entre outros, • a marinha americana, • diversas Universidades, como UCLA – A partir daí, criou-se a lei americana contra “invasões” em redes – Trabalhou posteriormente para o governo americano Segurança - Histórico • Robert Tappan – O programa principal consistia em menos de 100 linhas de código em C – 6.000 computadores infectados, só nos EUA, em 24 horas – Efeitos: – Infecção – Sobrecarga – Incapacitação Segurança de Redes • AS REDES SÃO VULNERÁVEIS - foi a conclusão obtida !!!!!!!!!!!!! • Precisamos definir como defender as redes (decisão tomada) • Desde já: Será que agentes não são vulneráveis também ?????? Segurança de Redes • Serviços: – Programas que geralmente são servidores e ficam escutando determinadas portas para realizar transações. – São eles os mais atacados – Ex.: SNMP, SMTP, POP, HTTP(s), SSH, FTP, TELNET, NIS, NFS, ... Segurança de Redes • Sistemas Operacionais – onde os serviço rodam – Ex.: Linux, SCO, Solaris, RuWindow$, NT, AIX, Digital , ... • Para possibilitar a interoperabilidade entre serviços e SOs, definem-se padrões – Request for comments - RFCs Segurança de Redes • Topologia E xte rio r ro ute r B as tio n hos t Interne t S e rver P erime tral Netwo rk Interio r ro ute r Interna l Netwo rk De s kto p c om pu te r S e rver W o rks tati on Ma c in tos h Segurança de Redes • Firewalls – Mecanismos que permitem um controle do que entra e sai de sua rede. São filtros. • • • • Analisadores de LOG’s Programas para controle de acesso Programas para Auditoria Softwares robustos Segurança de Redes • Tudo isso, mais administradores não preparados, teremos: Tipos de Ataques Mais Comuns • Existem três classificações preliminares: – Vulnerabilidades introduzidas por usuários do sistema – Vulnerabilidades existentes em aplicações para o SO, e na programação da pilha TCP/IP – Vulnerabilidades causadas por falhas na configuração do SO. Tipos de Ataques Mais Comuns • Em aplicações – Buffer Overflow: • estouro de uma área de armazenamento auxiliar causando alteração no fluxo de controle de execução do sistema – Race Condition: • Arquivos temporários do administrador do sistema são tomados por um usuário comum, e a partir daí ele passa a ter “poderes” administrativos Tipos de Ataques Mais Comuns – Passagem de Parâmetros: • um programa cliente tenta passar parâmetros a um servidor a fim de alterar sua forma normal de funcionamento – Spoofing: • tentativa de incluir uma máquina remota na rede local tornado essa máquina confiável e válida Tipos de Ataques Mais Comuns – Flood: • envio de vários pacotes de SYN para conexão • com isso, a máquina destino fica ocupada somente respondendo aos SYN e para de funcionar – Capturar a seqüência de pacotes TCP • com isso, um usuário qualquer poderá reproduzir o comportamento da máquina a ser atacada, permitindo burlar firewalls e facilitar spoofing e flood. Tipos de Ataques Mais Comuns • Em configurações: – Tabela de Partições: • problemas quando um usuário instala todo SO em uma única partição, facilitando condições de race condition – Permissão dos arquivos: • quando um usuário tem permissão para : ler, escrever e alterar, arquivos que normalmente não deveria Tipos de Ataques Mais Comuns – Flags: • programas inicializados com permissões erradas permitindo a um invasor acessos a dados do sistema – Recursos: • às vezes, administradores permitem que serviços fiquem rodando na máquina quando não estão sendo utilizados • com isso, na maioria das vezes, tais programas não são atualizados. Segurança x Agentes • Sistemas multiagentes ou constituídos por agentes móveis sofrem dos mesmos males descritos ate aqui ? • E agora, o que fazer ? • Isso, já se foi pensado ? Segurança x Agentes • Será que os sistemas em funcionamento até ao hoje quando projetados tais características foram pensadas ? • Não se pode cometer os erros já conhecidos na administração das redes com com agentes Agentes seguros • O que é necessário para garantir a integridade de um agente ? – Esta pergunta motivou este trabalho. • Tentaremos especificar o que deve ser observado ao se projetar um sistema multiagente ou constituído por agentes móveis. Agentes seguros Sistemas Multiagentes • Sistemas multiagentes são constituídos por vários agentes que se comunicam entre si. • A forma mais recomendada para a comunicação é através da troca de Strings (cadeias de caracteres). Agentes seguros Sistemas Multiagentes • Problemas: – Alterações no protocolo enviado podem causar falha em uma negociação que poderia ser concretizada com êxito; – Não se tem garantia de que a “conversa” está sendo realizada com um agente “sadio”; – O monitoramento das transações pode trazer informações úteis. – Pode-se tentar alterar os dados enviados Agentes seguros Sistemas Multiagentes • Solução: – Um mecanismo de autenticação para agentes, de forma que um agente tenha a certeza de que está conversando com o agente correto, e não com mais um agente malicioso (inimigo) – Uma verificação da corretude do protocolo recebido, para não passar dados incorretos para frente, causando perdas. • Uma “verificação inteligente” seria bem aplicada. Agentes seguros Sistemas Multiagentes – Criptografia dos dados: • para garantir que mesmo que se monitore os dados que estão trafegando, não haverá um entendimento imediato do seu conteúdo • tem-se um trabalho ainda maior para descobrir como os dados foram criptografados. Agentes seguros Sistemas Multiagentes Interface Agent 1 Attendant Facilitator Humanoid Buyer Agent 1 Buyer Agents Facilitator Autonomous Buyer Agent 1 Humanoid Seller Agent 1 Seller Agents Facilitator Autonomous Seller Agent 1 Agentes seguros Agentes móveis • Agentes móveis: – além dos problemas dos sistemas multi-agentes, agentes móveis ainda trazem um problema a mais, pois cada agente móvel traz em si os dados coletados até o momento – isso significa dizer que, se alguém conseguir obter as informações levadas pelo agente, conseguirá também “viciar” as respostas por ele trazidas Agentes seguros Agentes móveis • Solução sugerida – o agente não deve mais carregar consigo as informações sobre cada site já visitado. – Deve, ao invés, enviá-las para um outro agente que fica no servidor e é o responsável por receber e as vezes armazenar os dados. • Os dados deverão ser enviados sempre criptografados. Agentes seguros Agentes móveis • Caso para estudo: um agente para fazer reserva de um hotel. O usuário informa quanto está disposto a gastar e características do hotel. Agentes para Segurança de Sistemas • A tecnologia de agentes inteligentes para ajudar na detecção de intrusão foi muito pouco explorada até agora • A utilização de agentes para este fim trará ainda muitos avanços para a área • Grandes empresas, como HP e IBM, já estão colocando esta tecnologia em seus softwares de gerência de rede (HU-OpenView e IMBTivoli) Agentes para Segurança de Sistemas • Agentes poder ser implementados de duas formas: – Agentes que ficam auditando o estado do sistema e, quando algo sai do “normal”, avisos são gerados e em alguns casos atitudes são tomadas. • Ex .: Uma agente que, monitorando o sistema, descobre que um processo que nunca executou um “su” para ninguém agora está tentando fazer isso. Agentes para Segurança de Sistemas – Agente que monitora o tráfego de chegada na rede, comparando os pacotes de chegada com o que normalmente é esperado chegar e com uma base de conhecimento de tipos de ataques – com isso, ao chegarem os pacotes que contêm o ataque, ele pode tomar suas decisões na hora. • Ex.: Agente que funcione no roteador -firewall de entrada na rede, alterando as regras de acordo com ataques sofridos. Agentes para Segurança de Sistemas Conclusão • Segurança em agentes inteligentes ainda se encontra em um estado inicial. Mas já existem pessoas preocupadas com este assunto • A aplicação de agentes inteligentes para a detecção de intrusão será um mecanismo muito poderoso para a área de segurança Bibliografia • Agentes Inteligentes na Detecção de Intrusão, Evandro Curvelo Hora, Disciplina de Gaentes 1999.1 • Linux-Groove, tese de mestrado Campina Grande DSC • Building Internet Firewalls: O’Reilly Associations, 1 Ed 1995 • Pratical Unix And Internet Security: O’Reilly Associations, 2 Ed 1996 • Active Defence of a Computer Networks using Autonomous Agents COAST Group 1996 • Artificial intelligence and intrusion Detection: current and Future Division of Computer Science, University of California