Servic¸o de Seguranc¸a de Middlewares
Autor: C´elio Domingues Gonc¸alves1,Orientador: Prof. Dr. Luis Fernando Faina1 1Programa de P´os-Graduac¸˜ao em Ciˆencia da Computac¸˜ao
Universidade Federal do Uberlˆandia (UFU) Uberlˆandia – MG – Brasil
celiodg@gmail.com, faina@facom.ufu.br
N´ıvel: Mestrado
Ano de ingresso no programa: 2008 ´
Epoca esperada de conclus˜ao: Agosto / 2010
Resumo. A preocupac¸˜ao com seguranc¸a de dados surgiu no meio militar, onde
prote-ger as informac¸˜oes era o principal objetivo, pois delas dependiam os resultados das batalhas. Historicamente sabe-se algumas das batalhas durante a segunda guerra mundial devem-se `a criptografia de dados.
Nos dias atuais, as informac¸˜oes trafegadas em uma rede de computadores p´ublica n˜ao s˜ao menos importantes que as militares, e sua interceptac¸˜ao e/ou modificac¸˜ao podem levar a resultados indesej´aveis.
As grades computacionais tem como objetivo prover recursos de baixo custo, conec-tados em rede, normalmente de acesso publico via internet. A implementac¸˜ao de componentes de seguranc¸a para protec¸˜ao desses recursos bem como dos dados trafe-gados, torna-se necess´ario diante a poss´ıvel ocorrˆencia de ataques na grade.
1. Introduc¸˜ao
Com o crescente desenvolvimento de aplicac¸˜oes em ´areas tais como biologia, f´ısica, ma-tem´atica, reconhecimento de imagens e outras; surge a necessidade de ampliac¸˜ao da capaci-dade de computac¸˜ao, ou seja, de recurso computacional. Um recurso computacional pode ser caracterizado pelo conjunto CPU, MEM ´ORIA e Espac¸o em Disco R´ıgido. Estes recursos po-dem estar presentes em uma ´unica m´aquina ou em v´arias m´aquinas dispersas geograficamente e conectadas via rede de computadores, com a utilizac¸˜ao da internet.
A grade computacional proporciona o aumento no n´umero de recursos computacio-nais dispon´ıveis que podem ser dedicados a uma determinada aplicac¸˜ao, sem a necessidade de aquisic¸˜ao, pelo usu´ario, de todo recurso que ´e demandado para execuc¸˜ao de sua aplicac¸˜ao. O conceito de grade computacional ´e an´alogo ao da rede de energia el´etrica que visa fornecer energia el´etrica de forma eficiente, em conformidade com a demanda do usu´ario que necessita dela, desconsiderando sua localizac¸˜ao geogr´afica. ´E importante ´e uma grade que o usu´ario n˜ao necessite ter profundos conhecimentos sobre seu funcionamento, bem como, sobre os recursos aderidos a esta grade.
A Grade VCG (Virtual Community Grid) tem por objetivo oferecer ao sistema nacional de pesquisa um ambiente para execuc¸˜ao distribu´ıda de tarefas computacionais que aproveite recursos de m´aquinas ligadas `a rede da RNP. O ambiente oferecido permite o compartilhamento desses recursos entre os grupos de pesquisa por meio de uma infra-estrutura de grade cuja formac¸˜ao ´e fortemente baseada na colaborac¸˜ao entre esses grupos de pesquisa. Nesse esquema, todos os grupos de pesquisa s˜ao ao mesmo tempo consumidores e provedores de recursos para a execuc¸˜ao de tarefas computacionais.
O VCG ´e um projeto conduzido pelo grupo GT-VCG, apoiado pelo RNP e LNCC. A coordenac¸˜ao do projeto ´e conduzida por: Bruno Schulze - LNCC/MCT - Coord. Geral e Antˆonio Tadeu A. Gomes - LNCC/MCT - Coord. Adjunto; e ´e composto autalmente por duas fases. A primeira fase do projeto (setembro/2006 a outubro/2007) teve como objetivo desenvol-ver o prot´otipo da infra-estrutura da grade computacional, com a parceria das instituic¸˜oes que participaram do Sub-Projeto Giga-InteGridade (UFF, UNICAMP, CBPF e UFRGS) al´em do LNCC, NCSA e PUCRIO. Ainda contou e com o suporte do RNP, GIGA, FINEP, FUNTTEL e Minist´erio da Ciˆencia e Tecnologia.
A Segunda fase do projeto (setembro/2007 a outubro/2008) tem como objetivo implantar esta infra-estrutura da grade computacional e executar testes na mesma e contou com a parceria das seguintes instituic¸˜oes: CBPF, UFF, PUCRIO, UERJ, UNICAMP, UNISANTOS, UFBA, UFC, UFPR, UFRGS, UFU, USP, IME, UFSCar, INPE e UFSC. [GT-VCG 2008].
Os servic¸os da grade s˜ao ofertados pelo portal VCG, e seu acesso ´e regulado por autenticac¸˜ao de usu´ario, que foi previamente cadastrado e certificado por meio do pr´oprio por-tal.
As vantagens potenciais da Computac¸˜ao em Grade tˆem atra´ıdo muita atenc¸˜ao para a ´area. Nos ´ultimos anos, grandes projetos, como Globus, que foram iniciados para materializar a vis˜ao de Grades Computacionais, que teve seu inicio em universidades e institutos de pesquisa, atualmente ganhou o mundo empresarial.
2. Caracterizac¸˜ao do Problema
da grade tem `a sua disposic¸˜ao um ambiente de execuc¸˜ao distribu´ıda de tarefas computa-cionais e seu uso regulado por um modelo de Economia de Grade baseada em troca de cr´editos [Schulze and Gomes 2008].
Ao disponibilizar o uso de v´arios recursos distribu´ıdos, conectados via internet, os quais ser˜ao alocados pelos usu´arios da grade para submiss˜ao de suas tarefas; a seguranc¸a desses recur-sos bem como das informac¸˜oes que s˜ao trafegadas entre os mesmos, ter˜ao maior vulnerabilidade a poss´ıveis ataques.
3. Fundamentac¸˜ao Te´orica
O VCG usa como middlewares de Grade o Globus Toolkit e o Condor, os quais oferecem servic¸os que d˜ao suporte ao ambiente. O Globus ´e um conjunto de servic¸os que facilitam a computac¸˜ao em grades e seus principais servic¸os oferecidos s˜ao apresentados na figura1.
Figura 1. Estrutura do Globus 4
Os servic¸os do globus podem ser usados para submiss˜ao e controle de aplicac¸˜oes, desco-berta de recursos, movimentac¸˜ao de dados e seguranc¸a na grade. Alguns dos principais servic¸os do Globus s˜ao:
• GSI (Globus Security Infrastructure) - Seguranc¸a, autenticac¸˜ao ´unica na grade • GRAM (Globus Resource Allocation Manager) - Submiss˜ao e controle de tarefas • MDS (Monitoring and Discovery Service) - Informac¸ ˜oes sobre os recursos e diret´orios
Os servic¸os dispon´ıveis na grade foram desenvolvidos sob a forma de portais, onde s˜ao agrupadas todas as informac¸˜oes sobre a grade, descritos abaixo:
• Portal de Informac¸˜ao – a principal funcionalidade desse portal ´e criar uma ´area p ´ublica
de acesso `as informac¸˜oes do projeto, assim como, o cadastro das comunidades, projetos e usu´arios, acesso as ´areas restritas, monitoramento das m´aquinas na grade, submiss˜ao e monitoramento das tarefas.
• Portal de Administrac¸˜ao – possui acesso restrito aos gerentes do projeto, que tem por
objetivo gerenciar ao acesso as informac¸˜oes e funcionalidades do portal.
• Portal de Submiss˜ao de tarefas – ´e respons´avel pela submiss˜ao e gerˆencia de tarefas do
portal, tem o intuito de proporcionar uma abstrac¸˜ao dos conceitos de uma grade com-putacional. Esta abstrac¸˜ao tem o objetivo de estimular os usu´arios, a usarem de forma transparente os recursos agregados dentro de uma grade, em particular `a submiss˜ao e gerˆencia de tarefas.
4. Caracterizac¸˜ao do Contribu´ıc¸˜ao
Quando abordamos seguranc¸a em ambientes computacionais, muitos fatores s˜ao envolvidos, entre eles, autenticac¸˜ao, controle de acesso, integridade, privacidade e n˜ao repudio. Esses fato-res s˜ao potencializados em um ambiente de grade.
Os mecanismos de seguranc¸a em grade devem trabalhar com a infra-estrutura das organizac¸˜oes e n˜ao substitu´ı-la. Sistemas em grade podem requerer praticamente todos os padr˜oes de seguranc¸a existentes em virtude da diversidade de cen´arios, como por exem-plo [Licht 2006].
• Acesso Sign-on - um usu´ario ´e autenticado uma ´unica vez quando o processo ´e iniciado
e busca recursos, usa recursos, libera recursos.
• Protec¸˜ao de Credenciais - credenciais de usu´arios (senhas e chaves privadas) devem
obrigatoriamente ser protegidas.
• Interoperabilidade com outras pol´ıticas de seguranc¸a – enquanto soluc¸ ˜oes de seguranc¸a
podem prover mecanismos de acessos entre dom´ınios conhecidos, o acesso a dom´ınios com pol´ıticas de seguranc¸a distinta ´e praticamente invi´avel.
• Exportac¸˜ao do C ´odigo – deseja-se que um c´odigo gerado em um local seja executado
em outro. ´E necess´ario identificar a maneira que o c´odigo deve ser apresentado para que possa ser exportado e executado em outro local.
Analisando o projeto VCG foram encontrados problemas espec´ıficos de seguranc¸a do projeto,em raz˜ao da grande diversidade de cen´arios, pol´ıticas, variac¸˜oes de execuc¸˜ao das tarefas e pontos vulner´aveis existentes. como exemplo citamos a seguinte situac¸˜ao:
• Ao submeter uma tarefa atrav´es da grade VCG, toda informac¸˜ao ´e emitida atrav´es de
um pacote atrav´es da rede. Esta informac¸˜ao inclui o tipo de processador e o sistema operacional da m´aquina que est´a executando os processos. Estas informac¸˜oes ficam expostas nos pacotes que trafegam pela rede.
Diante desse cen´ario, ocorre a possibilidade de ataques maliciosos, tais como:
• Como as informac¸ ˜oes expostas s˜ao simples e de f´acil acesso a um ataque em uma
deter-minada rede, ´e poss´ıvel ao atacante realizar uma varredura em busca destas informac¸˜oes e obter os dados necess´arios para o ataque;
• O atacante poder´a alterar informac¸ ˜oes trafegadas e ainda redirecionar todos os dados
5. Estado Atual do Trabalho
O trabalho ainda encontra-se em fase de pesquisas, por´em, um levantamento bibliogr´afico j´a foi pesquisado para ajudar a concretizar a soluc¸˜ao proposta para as vulnerabilidades do projeto VCG.
6. Soluc¸˜oes Propostas
O objetivo deste trabalho ´e promover a seguranc¸a dos recursos e dados trafegados na grade VCG, afim de dar credibilidade ao cen´ario, motivando os usu´arios a disponibilizar seus recursos. Para ampliar a seguranc¸a na grade podemos fazer o uso certificados digital e criptografia de dados, regulando todos usu´arios com a utilizac¸˜ao de chave privada ´unica para o usu´ario e chave p´ublica para uso pelos usu´arios que foram previamente autenticados no portal.
A criptografia de dados seria obtida pela combinac¸˜ao dessas chaves e o certificado digi-tal. Assim, mesmo quando alguma informac¸˜ao for alterada por uma ac¸˜ao maliciosa, esta poder´a ser identificada e eliminada.
Como parte integrante de um cen´ario de grade computacional seguro, tamb´em ´e ne-cess´ario monitorar m´aquinas e usu´arios instrusos na grade. A detecc¸˜ao de instrusos visa:
• Monitorar e analisar as atividades de usu´arios e do sistema
• Analisar as configurac¸ ˜oes do sistema e as poss´ıveis vulnerabilidades • Avaliar o sistema e a integridade de arquivos
• Habilitar reconhecimento de ataques t´ıpicos
• Identificar violac¸ ˜oes de pol´ıticas de usu´arios [GT-VCG 2008]
Referˆencias
GT-VCG (2008). Virtual Community Grid. Technical report, LNCC-Laborat´orio Nacional de Computac¸˜ao Cient´ıfica.
Licht, F. (2006). Fornecimento Automatizado de Certificados de Curta Durac¸˜ao para Dispositi-vos M´oveis em Grades Computacionais. Technical report, IME.
Pinheiro, J. (2004). Seguranc¸a em Grades Computacionais. Technical report, USP.