Post on 17-Apr-2015
Plataforma para efetivação de múltiplas políticas de controle de acesso em ambientes de grade computacional
Leonardo Mattes, Leonardo C. Militelli, João Antonio Zuffo
Laboratório de Sistemas IntegráveisLSI-USP
Introdução Trabalhos relacionados Arquitetura GridMultiPolicy Implementando Políticas Teste operacional Conclusões
Sumário
Grade computacionais:
Compartilhamento de recursos e serviços de forma integrada e dinâmica entre múltiplos domínios lógicos e tecnológicos.
Um típico cenário de grade computacional envolve VO (Organizações Virtuais).
Introdução
Organizações Virtuais domínios sobre domínios
Introdução
Ao oferecer maior integração e flexibilidade entre domínios heterogêneos, grades computacionais aumentam também a possibilidade de riscos e vulnerabilidade.
Desafio de segurança para grades computacionais é o oferecimento de um serviço integrado aos diferentes modelos de políticas e mecanismos existentes nos sítios de uma VO;
Introdução
Introdução
Desafios de grade computacional Permitir a integração de políticas de domínios
autônomos; Oferecer serviços de segurança de forma integrada
com os mecanismos pré-existentes; Oferecer suporte ao princípio de privilégio mínimo; Manter compatibilidade com as aplicações legadas.
Trabalhos Relacionados
infra-estruturas distribuídas e flexíveis de controle de acesso para controlar serviços de rede (CAS, PERMIS e Shibboleth ) ;
Instanciação remota de tarefas: Gerenciamento e mapeamento de contas remotas; Máquinas virtuais
Os trabalhos produzidos seguem duas orientações distintas:
GridMultiPolicy
Modelo de controle de acesso flexível, que oferece:
Suporte e gerenciamento a múltiplos formatos de linguagens de políticas;
Abrangência necessária para para exercer controle, tanto no oferecimento de serviços, como no ambiente de execução das aplicações;
Estabelecimento dinâmico de múltiplos mecanismos de segurança;
Políticas de segurança especificas para cada contexto de execução;
Criação dinâmica de pontos de efetivação de políticas.
GridMultiPolicy- modelo de autorização
Recurso alvo
PDP
Aplicação
PEP
Poíticas
• Modelo de Autorização da especificacão AAA• PEP (Policy Enforcement Point -Ponto de Efetivação de
Política)• PDP (Policy Decision Point- Ponto de Decisão de Política)
GridMultiPolicy – Arquitetura
JMPE (Java Multi Policy Environment) MPMS (Multi Policy Manager Service)
MPMS
Sítio da VO
Recursos do sistema
Aplicação
JMPE PDPsPEPs Políticas
Uso integrado de duas entidades:
GridMultiPolicy - MPMS
Módulo principal (XACML) Módulos secundários (formato próprio)
Política Principal
Módulo 1
...Escopo
Políticas
Módulo 2
Escopo
Políticas
Módulo n
Escopo
Políticas
Módulo Principal
GridMultiPolicy - MPMS
Escopo (XACML), define a atuação de uma política secundária em relação:
Ações; Regras para definir o contexto de atuação de
uma políticas (sítios, recursos, perfis); PDP correlacionado, mecanismo capaz de
efetivar as políticas correlacionada; Informações sobre os PEPs necessários
GridMultiPolicy - MPMS
Interface de comunicação PDP principal e secundário
Parâmetros para gerar políticas secundárias especificas a contexto de execução: Descrição da tarefa ou serviço por meio de um arquivo
no formato RSL; Dados do usuário objeto “VOuser”
public interface PolicyInterface public byte[] createPolicy(RSL Description, VOUser user);
GridMultiPolicy - JMPE
Tem como objetivo a criação de um ambiente de execução customizado para fazer cumprir as múltiplas políticas estabelecidas;
Estabelecimento dinâmico dos PDPs, PEPs e políticas necessários.
GridMultiPolicy – JMPE
JMPE
Descritor detarefas (RSL)
JMPE
Lista de PDPs
PDP 1 PDP 2 PDP n...
inicialização
Ambienteconfigurado
Processo de estabelecimento dos PDPs
GridMultiPolicy - JMPE
Estabelecimento dos PEPs
Granularidade básica fornecida pelo gerente de segurança Java.
Granularidade estendida modificações em tempo de execução de bibliotecas para a inserção dos PEPs.
GridMultiPolicy - JMPE
Processo de criação dinâmica dos PEPs: Com base no escopos dos módulos secundários se estabelece a
lista de instruções para inserção de PEP; Em tempo de execução as classes são carregadas e modificadas:
JVM
AplicaçãoJMPECLassLoader
Arquivosbinários
Java
Lista deinstruções
3
12
4
5
GridMultiPolicy - JMPE
GridMultiPolicy - JMPE
Efetivação de Políticas de segurança:
Analisa a ação e os parâmetros de utilização para verificar quais os PDPs possuem escopos de atuação compatíveis;
coleta as decisões dos PDPs para a dada ação; em caso de conflito das decisões, aplica o
algoritmo de resolução de conflito; autoriza ou nega a ação; algoritmos de resolução de conflitos do XACML:
“deny-overrides”, “allow-overrides”, “first-applicable” e “only-one-applicable”.
GridMultiPolicy
Integração com GT4
Usuário daVO
MPMS
1 -
re
ceb
e a
cre
de
nci
al
WS-GRAM
2- submissão de tarefaJMPE
5 tarefa acabada
Sítio
Implementando políticas
LeastPrivilege, controle de acesso a: Arquivos locais; conexões TCP/IP; Web Services.
<Action> File_write /tmp/* write</Action><Action>Socket/lsi.usp.br:7</Action><Action>WS/lsi.usp.br/axis:</Action>
Implementando políticas
Instrução para PEP de web service
<PEP action="webServiceInvoke" grain="webService" classtarget="org.apache.axis.client.Call" > Method="org.apache.axis.client.Call" <Method name="invoke">
<property name="host" value="transport.url"/><property name="service" value="operationName.getNamespaceURI()"/><property name="port" value="perationName.getLocalPart()"/>
</Method></PEP>
Implementando políticas
IDS_Control promove a integração com sistema IDS local
O PDP “br.usp.lsi.IDSControl“ armazena dados sobre acessos;
GER (Grid Event Receiver) recebe informações de ataque da central de gerenciamento de IDS e compara com os acessos realizados.
Implementando políticas
InternalNetwork
IDS Sensor #1
IDS Sensor #2
IDS ManagementCentral
Internet
Grid Host
GER
JMPE
IDS_Control PDE
PDE #2
...
PDE #2
Teste operacional
Uso do LeastPrivilege e IDS_Control; Realiza duas séries de ações e simula um ataque a
um servidor web; Cadastrado no IDS o acesso em
http://lsi.usp.br/axis como ataque.
Teste operacional
Resultado primeira série de ações: Obteve acesso aos recursos previstos pelas
políticas LeastPrivilege.
******************** first round !***********Write in /tmp/GridClientefail to write /bin/malicioso Connected to 192.168.0.77:7 !fail to Connect to 192.168.0.22:1024 .fail WS “admin” in http://lsi.usp.br/testWS “ test” in http://lsi.usp.br/axis
Teste operacional
Resultado segunda série de ações: Depois de detectado o ataque, todas as ações
são bloqueadas.
*************** second round !*********fail to write /tmp/GridCliente2fail to write /bin/malicioso2fail to conect to 192.168.0.77:7fail to conect to 192.168.0.22:1024 .fail WS “admin” in http://lsi.usp.br/axisfail to WS “test” in http://lsi.usp.br/axisEnd of the test!
Conclusões
Modelo de autorização flexível para a próxima geração de plataformas de grade computacional, com as seguintes características: Permitir que administradores e usuários possam
estabelecer suas próprias políticas; Oferece serviço de distribuição de políticas de
segurança de múltiplos formatos; Utiliza um ambiente de execução flexível, que
permite o estabelecimento de múltiplos mecanismos;
Implementa de forma dinâmica e em tempo de execução os pontos de efetivação de políticas necessários;
Perguntas?
Laboratório de Sistemas IntegráveisLSI-USP