Segurança de Nuvem Baseada em Modelos

Use a automação das políticas de segurança do aplicativo em nuvem para melhorar a segurança da nuvem

Converter manualmente a política de segurança em uma implementação técnica é um processo difícil, caro e propenso a erros, principalmente quando é implementado na camada de aplicativo. As ferramentas de segurança de nuvem precisam se tornar mais automatizadas, para a obtenção de uma economia de custo maior em termos de investimento de tempo e dinheiro. A automação dessas ferramentas também é necessária para que a tarefa de gerenciamento da segurança da nuvem seja mais fácil, permitindo que o administrador da nuvem possa se focar nas questões de segurança mais importantes.

Este artigo detalha os desafios da automação efetiva da política de segurança de aplicativos, explica os benefícios que a segurança baseada em modelos oferece à automação das políticas de segurança e, em seguida, demonstra como realizar a automação da política de segurança de aplicativos em nuvem.

Ulrich Lang, CEO, Object Security

Ulrich Lang photoO Dr. Ulrich Lang é cofundador e CEO da ObjectSecurity. O produto OpenPMF da ObjectSecurity torna a segurança do aplicativo gerenciável por meio da automação. Ulrich é um renomado líder influente, escritor e palestrante sobre segurança baseada em modelos e políticas de segurança, segurança de nuvem/SOA/middleware/aplicativo e tem mais de 15 anos de experiência em segurança de informações. Obteve o título de Ph. D pelo Laboratório de Informática da University of Cambridge (Grupo de Segurança), voltado para aspectos conceituais da segurança de middleware em 2003, depois de obter o mestrado com louvor em Segurança de Informações pelo Royal Holloway College (University of Londres) em 1997.



23/Fev/2011

A segurança é necessária para a adoção da nuvem, e a falta de segurança muitas vezes impede a adoção. No entanto, devido ao aumento da complexidade da conformidade e da política de segurança, da complexidade e agilidade da TI, a tarefa de converter políticas de segurança na implementação da segurança se torna mais demorada, repetitiva, cara e propensa a erros, e pode facilmente ser a maior parte do esforço de segurança para as organizações do usuário final. A automação pode ajudar as organizações de usuário final (e provedores de nuvem) a reduzir o esforço e melhorar a precisão da implementação da política. Este artigo aborda um tópico particularmente interessante, desafiador e, muitas vezes, esquecido: a automação da política de segurança para a camada de aplicativo.

Automação da segurança de aplicativos em nuvem

A automação da política de segurança de aplicativos está relacionada à automação do processo de transformar requisitos de segurança compreensíveis aos usuários — como políticas de segurança corporativa, regulamentos de conformidade e boas práticas — em regras técnicas de política de segurança e configurações impostas à camada de aplicativo. Para fechar o loop, também inclui a automação da auditoria; por exemplo, a coleta de alertas da camada de aplicativo e o mapeamento desses alertas com os requisitos de conformidade e segurança compreensíveis aos usuários, a fim de avaliar a situação da segurança de forma contínua.

Anatomia das políticas de segurança de aplicativos em nuvem

Frequentemente, as políticas de segurança de aplicativos são particularmente complexas para panoramas de aplicativos interconectados, que mudam dinamicamente, como as arquiteturas orientadas a serviços (SOAs), mashups de aplicativos em nuvem e outros ambientes de aplicativos "plug and play". Estes ambientes de aplicativos são adotados por diversas razões empresariais, e a segurança precisa suportar estas razões com o esforço geral de manutenção mais baixo possível. Portanto, a automação é fundamental.

A automação da segurança é especialmente importante para a computação em nuvem, pois os usuários da nuvem exigem suporte ao gerenciamento da política de conformidade regulamentar por parte dos provedores de nuvem, mas, ao mesmo tempo, avaliam os benefícios com as mesmas medidas com as quais avaliam a computação em nuvem em geral (a redução dos gastos de capital inicial e o esforço de manutenção manual a ser realizado internamente).

Em geral, "a segurança da camada de aplicativo" é muito mais ampla do que os aspectos da automação de políticas abordados neste artigo, e também inclui tarefas como varredura de vulnerabilidade, firewalls da camada de aplicativo, gerenciamento de configuração, monitoramento e análise de alertas e análise do código de origem. O gerenciamento de acesso e identidade é uma tarefa estreitamente relacionada à política de segurança da camada de aplicativo. Embora se considere frequentemente que essa tarefa tem mais ligação com o gerenciamento de identidade do usuário do que com a segurança de aplicativos, o gerenciamento de acesso e identidade está, na verdade, estreitamente relacionado à segurança da camada de aplicativo. Isso se dá devido ao fato que, quando os usuários acessam aplicativos e autenticam, é necessário zelar pelo cumprimento da política de autorização, o que, frequentemente, depende em grande medida do aplicativo específico que é acessado.

Neste ponto, surgem as perguntas difíceis: de onde vem esta política de autorização? Quem escreve e mantém essa política? Como ela é imposta? Com é auditorada? Estas questões justificam o uso da automação das políticas de segurança de aplicativos juntamente com o gerenciamento de acesso e identidade, para tornar o gerenciamento das políticas menos demorado, repetitivo, caro e propenso a erros.

Implementações de automação das políticas de segurança de aplicativos em nuvem hoje

A automação da política de segurança em geral e, especificamente, para nuvem, ainda se encontra em um estágio relativamente incipiente. Trata principalmente da identidade/autenticação como um serviço (por exemplo, conexão ao Facebook). Existem também alguns serviços de segurança baseados em nuvem (antivírus, varredura de e-mails, sistema de detecção de intrusão (IDS), gerenciamento de log), alguns dos quais estão indiretamente relacionados a aplicativos.

Este artigo aborda a automação das políticas de segurança de aplicativos como um serviço e, atualmente, só existem algumas implementações de adotantes iniciais: primeiramente, a ObjectSecurity integrou o OpenPMF — seu produto de automação de políticas de segurança baseada em modelos — a uma nuvem privada de platform as a service (PaaS) (Intalio Cloud com Intalio BPMS), que oferece automação de políticas totalmente integrada para mashups de nuvem. Outra implementação em estágio inicial que envolve o OpenPMF é a da Marinha dos EUA, que se encontra em uma zona indefinida entre a nuvem privada e a SOA. Envolve política como serviço para serviços de TI virtualizados em um ambiente de alta garantia. Os dois estudos de caso são abordados mais adiante na seção Casos de referência .

Há também diversas outras implementações de automação de políticas de segurança, mas não para nuvem, e a maioria não envolve política como serviço.


Os desafios da automação de políticas de segurança de aplicativos

Infelizmente, na maioria dos casos, muito se fala e pouco se faz em relação à automação de políticas de segurança. Esta seção descreve os motivos dessas dificuldades na obtenção da automação das políticas de segurança de aplicativos.

A dificuldade de implementação e automação aumenta à medida que as políticas se tornam mais significativas para as pessoas e organizações

Atualmente, muitas ferramentas de segurança oferecem certo grau de automação (livre de manutenção) em detrimento da relevância, correção e automação: em alguns casos, as ferramentas automatizadas são desenvolvidas com a suposição de que o fornecedor sabe quais políticas de segurança padrão a organização do usuário final deseja implementar. Em outros casos, os produtos são desenvolvidos para que possam aprender as políticas investigativamente ao longo do tempo. A desvantagem de ambas as abordagens é a probabilidade de implementação de políticas não pretendidas, irrelevantes ou incompletas, mesmo quando os mecanismos de segurança propriamente ditos funcionam.

Tal automação de segurança convencional tende a funcionar melhor para ferramentas de segurança mais genéricas, que não requerem políticas específicas para a organização, e são voltadas às camadas inferiores da pilha de tecnologia (por exemplo, a rede ou a camada do sistema operacional), como antivírus, anti-malware, sistemas de detecção de intrusão de redes pré-configuradas e varredura genérica de vulnerabilidades de aplicativos.

A automação da segurança se torna mais difícil quando o comportamento da organização, dos usuários e dos aplicativos deve ser levado em conta para zelar pelo cumprimento das e auditorar as políticas de segurança. Por exemplo, para uma organização que processa pagamentos por cartão de crédito, é conveniente implementar políticas como "nenhuma informação de cartão de crédito pode sair da organização descriptografada" e "as informações de cartão de crédito deverão ser excluídas quando não forem mais usadas". Outro exemplo seria uma organização de assistência médica para a qual é conveniente implementar políticas como "médicos e enfermeiros só podem acessar as fichas médicas de seus pacientes atuais , e somente se tiverem um motivo válido para acessá-las, sem que um log de auditoria de alarme seja criado". Essas políticas complexas e contextuais dependem das políticas de segurança, processos de negócios aplicativos e interações de aplicativos específicos da organização. Com frequência, essas políticas complexas e contextuais são implementadas devido ao fato de que as organizações dos usuários finais devem cumprir regulamentos específicos do segmento de mercado (PCI Data Security Standard- PCI DSS e Health Insurance Portability and Accountability Act - HIPAA).

A implementação e automatização das políticas estão se tornando mais difíceis à medida em que tornam-se mais numerosas, complexas, ricas em recursos, com baixa granularidade e contextuais

O "gerenciamento de autorização" convencional, que hoje é frequentemente classificado como parte do gerenciamento de acesso e identidade, ilustra estes desafios: as políticas se tornam impossíveis de gerenciar quando os sistemas e participantes são numerosos, quando aplicativos interconectados evoluem dinamicamente ("agilidade") e quando as políticas se tornam ricas em recursos, com baixa granularidade e contextuais. Há simplesmente regras técnicas de segurança em quantidade excessiva, e complexas demais para gerenciar, por isso, as políticas de autorização podem se tornar impossíveis de especificar ou de gerenciar, e a confiança na política imposta pode ser comprometida. Conforme mencionado acima, as perguntas que devem ser respondidas são: de onde vem essa política de autorização? Quem escreve e mantém essa política? Como ela é imposta? Com é auditorada?

A automação de políticas se torna mais difícil à medida que os panoramas de TI tornam-se mais ágeis e interconectados (especialmente no caso dos mashups de nuvem)

Para suportar a lógica de adoção por trás dos ambientes de aplicativos ágeis como a nuvem e a SOA, o gerenciamento de autorização deve ser, pelo menos, igualmente ágil e também automatizado, gerenciável, com baixa granularidade e contextual. Infelizmente, criar e manter políticas de segurança técnicas consistentes e corretas em uma situação de mudanças frequentes em sistemas dinâmicos é um grande desafio. Isso acontece porque as mudanças dinâmicas (por exemplo, dos mashups de nuvem) podem fazer com que as políticas técnicas implementadas sejam ineficientes e porque, muitas vezes, as políticas de segurança de aplicativos são muito complexas para os panoramas de aplicativos interconectados que mudam dinamicamente, como SOAs, mashups de aplicativos em nuvem e outros ambientes de aplicativos "plug and play". Independentemente dessas deficiências, o gerenciamento de autorização forma um bloco de desenvolvimento técnico fundamental para zelar pelo cumprimento e auditorar as políticas de autorização de aplicativos para todos os recursos protegidos. Ele desempenha um papel fundamental na segurança de aplicativos em nuvem, e é ainda mais importante para os mashups de nuvem, pois atores diferentes (usuários ou aplicativos em nuvem) só devem ser capazes de chamar os serviços uns dos outros se estão autorizados a fazer isso em uma situação específica com base nas políticas de segurança. O eXtensible Access Control Markup Language (XACML) OASIS é um padrão importante de gerenciamento de autorização.

A conformidade regulamentar é um requisito relacionado à política e, portanto, também deve ser suportado pela automação, tanto quanto possível

É inevitável que os usuários de nuvem corporativa exijam um suporte para conformidade que seja que demande pouca, e simples, manutenção (automatizado) para seus aplicativos e serviços hospedados na nuvem. Isso acontece porque muitos aplicativos de nuvem lidarão com informações regulamentadas (privacidade, informações sobre saúde, informações sobre pagamento) que frequentemente cruzam as fronteiras organizacionais e precisam ser auditoradas. A auditoria de conformidade não pode ser a única responsabilidade do usuário da nuvem, pois a visibilidade do usuário em relação à nuvem é limitada (principalmente no que se refere ao PaaS e ao software como serviço, mas também no que se refere à Infraestrutura como Serviço). A conformidade regulamentar (assim como o gerenciamento da política de segurança e o monitoramento de incidentes) terá que ser parcialmente integrada à plataforma de nuvem.

A política baseada em lista de desbloqueio é necessária, já que a lista de bloqueio já não é boa o bastante

Como um lembrete, com a lista de bloqueio, você oferece acesso a todos os que não estão na lista. Com a lista de desbloqueio, você oferece acesso somente aos que estão na lista.


O componente de segurança baseado em modelos

Para obter a automação, algum "algoritmo" deve ser capaz de entender os requisitos da política de segurança e tudo o que está relacionado à mesma (usuários, aplicativos, interconexões de aplicativos e fluxos de trabalho de aplicativos), e gerar automaticamente a implementação de política de segurança correspondente. A segurança baseada em modelos facilita esse nível necessário de automação das políticas de segurança, aplicando ao gerenciamento de políticas de conformidade e segurança o raciocínio que está por trás das abordagens do desenvolvimento de software baseado em modelos.

Segurança baseada em modelos

Essencialmente, a segurança baseada em modelos pode gerar automaticamente regras técnicas de autorização (e outras regras) ao analisar o aplicativo com todas as suas interações e aplicar os requisitos genéricos de segurança a ele. A segurança baseada em modelos é um processo suportado por ferramentas, que envolve a modelagem dos requisitos de segurança em um alto nível de abstração, e o uso de outras fontes de informações sobre o sistema que estiverem disponíveis, principalmente os modelos funcionais do aplicativo (produzidos por outros interessados) para gerar automaticamente regras técnicas de autorização (e outras regras) com baixa granularidade e contextuais. As entradas para a segurança baseada em modelos são expressas em Domain Specific Languages (DSL), usando linguagens de modelagem genéricas (como a Linguagem de Modelagem Unificada - UML) ou Enterprise Architecture Frameworks (EA Frameworks) (por exemplo, Department of Defense Architecture Framework - DODAF, Ministry of Defense Architecture Framework - MODAF e NATO Architecture Framework - NAF).

A captura dos requisitos de segurança não deve ser feita necessariamente por meio de um editor gráfico; também pode ser feita com um editor de modelo textual (por exemplo, em uma ferramenta de modelagem como o Eclipse). Em seguida, esses requisitos são transformados automaticamente em regras de segurança executáveis (regras de controle de acesso e monitoramento), ao analisar as informações sobre os aplicativos com todas as suas interações.

O tempo de execução da segurança baseada em modelos suporta o cumprimento, no tempo de execução, da política de segurança ao longo de todos os aplicativos protegidos de TI, das atualizações de políticas automáticas e do monitoramento integrado das violações de política. Na primeira etapa da segurança baseada em modelos, os regulamentos e normas de governança são modelados (ou selecionados a partir de modelos pré-desenvolvidos) como uma política de segurança de alto nível em uma ferramenta de segurança baseada em modelos. Em seguida, este modelo de política de segurança é aplicado aos modelos funcionais dos sistemas constituintes, mapeando os agentes do modelo da política de segurança e limitando o comportamento desses agentes de sistema de acordo com o modelo da política de segurança.

Do ponto de vista técnico, esses modelos (funcionais e de segurança) são convertidos automaticamente em políticas de segurança contextuais, de baixo nível e baixa granularidade, e são impostos a toda a orquestração da nuvem, mashup da nuvem ou ambiente de SOA (por exemplo, por meio de pontos locais de cumprimento integrados ao middleware ou no limite de um domínio). Os pontos de cumprimento locais também lidam com o monitoramento de eventos relevantes para a conformidade da segurança. E sempre que o aplicativo de SOA (ou sua configuração de interação) é alterado, a segurança baseada em modelos consegue atualizar automaticamente o cumprimento e monitoramento da segurança.

Resumindo, o processo da segurança baseada em modelos pode ser dividido nas seguintes etapas: modelagem da política, geração automática de política, cumprimento da política, auditoria da política e atualização automática. Vamos examinar como cada uma dessas etapas funciona no contexto dos aplicativos de nuvem.

Arquitetura de segurança baseada em modelos

O diagrama da Figura 1 ilustra a arquitetura básica: a parte superior esquerda mostra o ambiente de desenvolvimento e mashup baseado em nuvem (serviços da Web orquestrados pelo Business Process Management System (BPMS). Também mostra que os componentes de segurança baseada em modelos devem ser instalados (pelo provedor de nuvem) na cadeia de ferramentas de desenvolvimento/mashup para automatizar a geração de políticas.

A parte superior direita mostra o serviço de segurança de nuvem, que fornece ao PaaS o complemento de segurança baseado em modelos para as ferramentas de desenvolvimento com atualizações regulares de políticas de uma forma genérica; também mostra a funcionalidade de gerenciamento do tempo de execução (monitoramento/análise/relatórios) oferecida pelo serviço de segurança de nuvem.

A parte inferior mostra alguns serviços de nuvem implementados em servidores de aplicativos (e o restante da pilha de tempo de execução da nuvem) com pontos de Policy Enforcement (PEP) + Pontos de Monitoramento que devem ser instalados (pelo provedor de nuvem) com a pilha de tempo de execução.

Quando um aplicativo é desenvolvido e integrado, a segurança baseada em modelos analisa automaticamente o aplicativo e os modelos de política, e gera regras técnicas que são automaticamente enviadas por push aos pontos relevantes de PEP/Monitoramento. Sempre que uma mensagem passa entre qualquer um dos serviços protegidos, a segurança baseada em modelos avalia e automaticamente zela pelo cumprimento da política técnica e, — se necessário, — envia por push um alerta de incidente ao recurso de gerenciamento de políticas de segurança em tempo de execução do serviço de segurança da nuvem.

Figura 1. Visão geral da arquitetura: automação de políticas de segurança baseada em modelos usando PaaS para nuvem
Architecture overview: Model-driven security policy automation using PaaS for cloud

Benefícios

Quando empregada de forma efetiva (consulte Casos de referência), a segurança baseada em modelos oferece diversos benefícios:

  • Reduz as sobrecargas de administração manual, e poupa custo/tempo por meio da automação (geração, cumprimento, monitoramento, atualização) de políticas, — principalmente para aplicativos de software agile.
  • Também reduz os riscos de segurança e aumenta a garantia, ao minimizar a possibilidade de erro humano e assegurar que a implementação de segurança esteja sempre alinhada aos requisitos de negócios e ao comportamento funcional do sistema, melhorando, assim, tanto a segurança quanto a proteção do sistema.
  • Além disso, unifica a política de forma consistente nos vários silos de segurança (por exemplo, plataformas diferentes de tempo de execução de aplicativos).
  • Por fim, faz parte de uma abordagem ao credenciamento de agile baseada em modelos, e mais automatizada.

Desvantagens

Às vezes, a adoção da segurança baseada em modelos ainda é desafiada por diversas razões:

  • Dependência de especificações de aplicativos e de um Software Development Life Cycle - SDLC razoavelmente bem definido; entretanto, a modelagem de aspectos do sistema interconectado (principalmente das interações do mashup de nuvem) é uma parte importante do PaaS e dos mashups mais avançados, e também faz parte do projeto de sistemas robustos.
  • Esforço de modelagem de sistemas e políticas de segurança. Entretanto, a modelagem de sistemas com a granularidade correta (por exemplo, modelos de mashup de nuvem), na verdade, não aumenta o custo total do gerenciamento de políticas. Isso acontece porque, se os administradores de segurança têm que especificar manualmente regras técnicas detalhadas de segurança, porque suas ferramentas não suportam a segurança baseada em modelos, eles estão especificando efetivamente os aspectos relacionados à segurança da especificação do aplicativo dentro da ferramenta de administração de políticas. Na prática, isso é impossível para sistemas não triviais, especialmente durante a totalidade do ciclo de vida do sistema. A segurança baseada em modelos simplesmente reutiliza essas informações (que frequentemente correspondem à maior parte das regras de política de segurança), a partir de modelos especificados por especialistas (e/ou ferramentas) que entendem melhor os aplicativos e fluxos de trabalho (desenvolvedores/integradores de aplicativos e modeladores de processos).

Com base nas experiências práticas, mesmo depois de um tempo curto em operação, a segurança baseada em modelos pode reduzir bastante os custos do esforço de proteger o sistema, e melhorar a segurança e a proteção, em comparação com a definição e o gerenciamento de políticas realizados de forma tradicional e manual.


Obtendo a automação da política de segurança de aplicativos

Com o surgimento do PaaS de nuvem, é lógico mover para a nuvem, total ou parcialmente, a arquitetura de segurança baseada em modelos que foi descrita, para proteger e auditorar aplicativos e mashups de nuvem com o máximo de automação. Especificamente, os modelos de política de segurança são fornecidos como um serviço de nuvem para as ferramentas de implementação e desenvolvimento de aplicativos (política como serviço), e a automação de políticas é integrada à implementação do aplicativo na nuvem e às plataformas de tempo de execução (geração/atualização, cumprimento e monitoramento automatizado de políticas).

Diversos cenários de implementação de nuvem são possíveis; por exemplo, os recursos de segurança das ferramentas de desenvolvimento e da plataforma de aplicativo são hospedados no mesmo serviço de nuvem, como parte de um fornecimento de PaaS, ou são hospedados separadamente (especialmente a configuração e o monitoramento de políticas). Isso é diferente das implementações locais que não são em nuvem, nas quais a segurança baseada em modelos é instalada convencionalmente dentro de uma ferramenta de desenvolvimento instalada localmente (como o Eclipse), ou junto a ela, para proteger os aplicativos em várias plataformas de aplicativos de tempo de execução locais (por exemplo, servidores de aplicativos da Web), e para suportar o monitoramento e a emissão de informes de maneira local.

Conforme descrito anteriormente, o processo geral de segurança baseada em modelos pode ser dividido nas seguintes etapas: modelagem da política, geração automática de política, cumprimento da política, auditoria da política e atualização automática. Vamos examinar como cada uma dessas etapas funciona no contexto dos aplicativos de nuvem. No contexto da nuvem, as cinco etapas da segurança baseada em modelos serão descritas abaixo.

Configuração de políticas na nuvem (política como serviço)

Na versão na nuvem da segurança baseada em modelos, as configurações de política podem ser fornecidas como um serviço de nuvem baseado em assinatura para as ferramentas de desenvolvimento de aplicativos. O oferecimento de especificação, manutenção e atualização de modelos de política como um serviço de nuvem para os desenvolvedores de aplicativos e especialistas em segurança proporciona benefícios significativos: o mais importante é que, em vez de ter que especificar (ou comprar e instalar) e manter os modelos de política usados para a segurança baseada em modelos de forma contínua, os desenvolvedores de aplicativos e especialistas em segurança agora podem simplesmente subscrever-se aos tipos de feeds de política de que precisam, sem necessidade de conhecer os detalhes dos modelos.

O provedor de política como serviço (que normalmente não é o provedor de nuvem) cuida da modelagem, manutenção e atualização das políticas. Além disso, não é necessário que a organização do usuário final seja especialista em segurança e conformidade, pois os modelos de política atualizados serão fornecidos a ela como um feed contínuo; a barreira do custo inicial é minimizada graças ao modelo de assinatura, e não há necessidade de que a organização do usuário final monitore continuamente os regulamentos e boas práticas para procurar por mudanças.

No caso de políticas mais complexas, talvez sejam necessárias algumas configurações simples e, possivelmente, o uso de tags em informações importantes para a segurança; por exemplo, no caso de uma assinatura de modelo de política PCI DSS, talvez seja necessário aplicar tags às interfaces relacionadas a informações de pagamento, juntamente com os modelos de mashup de aplicativos. Quanto mais os módulos de nuvem pré-empacotados estão integrados à nuvem, são necessárias menos tags, pois os módulos de nuvem podem possuir tags prévias, aplicadas pelo provedor de nuvem (por exemplo, tags relevantes para PCI para os módulos do processamento de pagamentos).

Em geral, o modelo de terceirização descrito não é novo. Ele vem sendo usado há anos para outros aspectos da segurança, como antivírus e antispyware. Os usuários simplesmente assinam um feed de política a partir do provedor de antivírus, e deixam que o cliente do software antivírus faça cumprir a política automaticamente (mas, diferentemente do antivírus, este artigo ilustra o modelo de terceirização aplicado à segurança do aplicativo de nuvem).

Embora seja natural questionar a fidelidade e confiabilidade de um serviço de gerenciamento de políticas de autorização baseado em nuvem (principalmente em ambientes de missão crítica), as implicações de um cenário de implementação desse tipo devem ser consideradas tendo em vista o nível inerente de fidedignidade e confiabilidade dos aplicativos de nuvem protegidos. Se os serviços de nuvem protegidos propriamente ditos são acessíveis pela Internet, muitos dos ataques ao serviço de gerenciamento de políticas (por exemplo, negação de serviço) também podem ser direcionados aos serviços protegidos — neste caso, o gerente de política baseado em nuvem não aumenta o risco. Se há necessidade de mais fidelidade e confiabilidade; por exemplo, para uma nuvem privada com qualidade de serviço (QoS) habilitada; seria necessária uma infraestrutura reforçada tanto para o gerenciador de políticas quanto para os serviços protegidos. Resumindo, o gerenciamento de políticas de segurança baseado em nuvem é a opção correta para muitos serviços prestados para muitas organizações, mas não para todas elas.

Geração automática de políticas técnicas na nuvem

O recurso de geração automática de políticas oferecido pela segurança baseada em modelos é integrado às ferramentas de desenvolvimento, implementação e mashup (para obter acesso às informações funcionais dos aplicativos). Ele consome o feed de política descrito na seção anterior. A PaaS, às vezes, inclui ferramentas de desenvolvimento e mashup hospedadas na nuvem, e uma plataforma de aplicativos de tempo de execução hospedada na nuvem. Neste caso, a geração automática de políticas técnicas usando a segurança baseada em modelos também pode ser movida para a nuvem, para que as políticas técnicas de segurança possam ser geradas automaticamente aos aplicativos durante o processo de desenvolvimento, implementação e/ou mashup hospedado na nuvem. Esse é o caso, especificamente, das ferramentas de mashup, pois é mais provável que estas ferramentas sejam hospedadas na nuvem, ferramentas as quais são frequentemente gráficas e/ou baseadas em modelos, e lidam com interações e fluxos de informações entre serviços de nuvem. Se as ferramentas de desenvolvimento não estão hospedadas na nuvem de PaaS, o recurso de geração automática de políticas técnicas de segurança baseada em modelos deve ser integrado às ferramentas de desenvolvimento locais.

Cumprimento automático das políticas de segurança na nuvem

O cumprimento de políticas deve estar, logicamente, integrado à plataforma de aplicativos de PaaS, para que as políticas técnicas geradas sejam cumpridas automaticamente sempre que os serviços de nuvem forem acessados. Conforme descrito na seção anterior, as políticas são geradas na nuvem usando a segurança baseada em modelos e as ferramentas de desenvolvimento de PaaS hospedadas ou são transferidas por upload, a partir da segurança baseada em modelos e das ferramentas de desenvolvimento locais.

O modo de desenvolver os pontos de cumprimento de políticas na plataforma de aplicativos de PaaS depende do fato de a plataforma de aplicativos de PaaS permitir (ou não) a instalação de um ponto de cumprimento de políticas (por exemplo, várias plataformas de PaaS de software livre, consulte Casos de referência); suportar um ponto de cumprimento de políticas baseado em normas (por exemplo, OASIS XACML) ou suportar um ponto de cumprimento de políticas patenteado.

Monitoramento automático de políticas na nuvem

Os pontos de cumprimento de políticas normalmente geram alertas de tempo de execução relacionados à segurança, principalmente sobre incidentes ligados a chamadas que foram bloqueadas. A coleta, análise e representação visual desses alertas também podem ser movidas para a nuvem. Isto oferece diversos benefícios: os incidentes podem ser analisados centralmente para diversos serviços de nuvem, juntamente com outras informações (como a detecção de intrusão na rede); além disso, pode-se fornecer uma representação visual integrada da situação de segurança ao longo de diversos serviços de nuvem; é possível armazenar informações integradas sobre os incidentes para fins de auditoria, e as ferramentas de suporte à decisão relacionadas à conformidade podem ser oferecidas como um serviço de nuvem.

Atualização automática

A abordagem baseada em modelos descrita permite atualizações automáticas do cumprimento de políticas técnicas de segurança e auditoria sempre que os aplicativos e, principalmente, suas interações, mudam. A mesma automação é possível quando os requisitos da política de segurança são alterados.

Como as organizações de usuários finais e provedores de nuvem podem usar a automação de políticas de segurança

A abordagem de política como serviço que foi descrita elimina boa parte da carga das organizações de usuários finais, e também dos provedores de nuvem:

  • Os profissionais de segurança das organizações de usuários finais somente precisam assinar a opção de segurança "política como serviço" com sua assinatura de nuvem, adotar, possivelmente, alguns recursos simples de tags de segurança (ou orientar seus desenvolvedores), e verificar os relatórios de conformidade regularmente. Entretanto, antes disso, os profissionais de segurança têm a tarefa importante de exigir dos provedores de nuvem (especialmente de nuvens privadas) a automação das políticas.
  • Os desenvolvedores/integradores de aplicativos das organizações de usuários finais somente precisam usar as ferramentas aprimoradas de mashup/desenvolvimento da política como serviço fornecidas pelo provedor de nuvem e adotar, possivelmente, alguns recursos simples de tags de segurança.
  • Os provedores de nuvem de PaaS possibilitarão toda essa simplicidade para a organização de usuários finais, ao cumprir as etapas a seguir, para implementar a automação de políticas: primeiramente, configurarão uma assinatura e um acordo de nível de serviço com o provedor da política como serviço. Em seguida, terão que obter o software de automação de segurança baseada em modelos, e o software de cumprimento/monitoramento do provedor de política como serviço, e instalá-los em suas ferramentas de mashup/desenvolvimento de PaaS e na plataforma de tempo de execução, respectivamente. Também terão que fornecer às organizações de usuários finais as opções relevantes de assinatura de segurança, os manuais e o acesso aos relatórios de conformidade criados pelo provedor de política como serviço. Em curto prazo, será mais provável que os provedores de nuvem privada ofereçam serviços deste tipo (veja o caso de referência abaixo), e não os provedores de nuvem pública, pois as nuvens privadas são mais empregadas em usos de missão crítica.

O conceito é novo ou já foi usado?

Algumas ferramentas de segurança estão disponíveis como serviços de nuvem (segurança como serviço), por exemplo, para o teste de aplicativos da Web. Entretanto, a segurança baseada em modelos para o gerenciamento de autorização como um serviço de nuvem (política como serviço) ainda não foi implementada (até o conhecimento do autor), devido principalmente à adoção lenta de normas, especialmente no caso dos PEPs. O autor evitou esse problema na implementação de referência do OpenPMF (consulte Casos de referência), colaborando diretamente com o provedor de nuvem. Deste modo, foi possível desenvolver pontos de integração adequados em sua infraestrutura.


Casos de referência

Agora iremos examinar alguns casos.

Automação das políticas de segurança de aplicativos para uma nuvem privada

O OpenPMF da ObjectSecurity implementa automação de políticas de segurança de aplicativos para diversas tecnologias diferentes. Na instalação convencional, o OpenPMF é usado como um complemento da ferramenta local de desenvolvimento, orquestração e conformidade, que reside em uma ferramenta de desenvolvimento instalada localmente ou junto com a mesma (por exemplo, Eclipse, Intalio BPMS), para proteger os aplicativos em diversas plataformas (vários servidores de aplicativos da Web, Java EE, Data Distribution Service-DDS, CORBA/CORBA Component Model-CCM). Com o surgimento da PaaS, seguindo a lógica, o próprio OpenPMF foi disponibilizado on demand como um serviço de nuvem.

Por exemplo, para a automação da política de segurança de aplicativos para uma nuvem privada, o movimento descrito, da automação de políticas local para a automação de políticas baseada na nuvem, foi integrado a uma nuvem da Intalio. A nuvem da Intalio é uma oferta de nuvem de software livre com uma pilha completa que inclui os pré-requisitos para a automação de políticas, inclusive desenvolvimento e integração de aplicativos usando a modelagem de processos de negócios (veja as figuras a seguir), e uma plataforma de tempo de execução baseado em um serviço da Web. A integração técnica atual da OpenPMF é feita para o desenvolvimento (Intalio BPMS/Eclipse), tempo de execução (Apache Axis2) e autenticação/criptografia (Secure Sockets Layer-SSL/Transport Layer Security-TLS). A Figura 3 mostra os recursos de automação de políticas integrados à ferramenta de orquestração do serviço da Web de BPM (menu OpenPMF > Generate Security Policy). Ao clicar, as regras técnicas detalhadas de segurança referentes ao aplicativo específico são geradas automaticamente (Figura 4).

Figura 2. Instalação (para provedores de plataforma de nuvem)
Installation (for cloud platform providers)
Figura 3. Geração automática de políticas (para usuários de PaaS)
Automatic policy generation (for PaaS users)
Figura 4. Implementação de políticas técnicas (para usuários de PaaS ou integralmente ocultas)
Technical policy deployment (for PaaS users, or full hidden)
Figura 5. Monitoramento de tempo de execução (usuários e provedor de política como serviço)
Runtime monitoring (users and policy-as-a-service provider)

Implementação de segurança baseada em modelos para nuvem e SOA

A automação de políticas de segurança baseada em modelos está, atualmente, sendo implementada em uma implementação operacional concreta para a Marinha dos EUA, realizada pela ObjectSecurity, fornecedora de automação de políticas de segurança de aplicativos, e a contratada principal Promia, fornecedora de tecnologias de proteção para o governo e para segmentos de mercado. A implementação é muito mais abrangente do que o descrito neste artigo, pois lida com todas as camadas da SOA e da nuvem, especialmente aplicativos, middleware, máquinas virtuais, sistema operacional e rede. O projeto fornece um meio efetivo de gerenciar eficientemente a garantia de informações para aplicativos de nuvem e SOA interconectados e que mudam dinamicamente; e, especificamente, um recurso para agilizar mudanças ágeis, certificação e credenciamento rápidos e gerenciamento de políticas flexível.

As tecnologias usadas (veja a Figura 6) incluem: segurança baseada em modelos com o OpenPMF da ObjectSecurity; monitoramento da segurança de aplicativos e gerenciamento de políticas; detecção de intrusão, monitoramento, auditoria e recursos de troca de informações em XML da Promia Raven; nuvem com segurança aprimorada e ferramentas de implementação e desenvolvimento de SOA que zelam pelo cumprimento de um ciclo de vida de desenvolvimento seguro; Authorization Based Access Control (ZBAC) escalável para distribuir autorizações; uma plataforma de tempo de execução reforçada e confiável com proteção para toda a pilha que hospeda aplicativos de SOA/nuvem e proteção; e um sistema de gerenciamento com gerenciamento global de políticas para a pilha completa, automação, relatórios, automação de credenciamento e suporte para decisões, configuração, versões, varredura e testes.

Figura 6. Implementação de automação de políticas de segurança baseada em modelos
Implementation of model-driven security policy automation

Conclusão

Para concluir, este artigo mostra que o gerenciamento de políticas de conformidade e segurança para panoramas de aplicativos agile distribuídos, como mashups de nuvem, deve ser automatizado e baseado em modelos, para que possa ser agile, gerenciável, confiável e escalável. Isso envolve dois conceitos principais: primeiramente, a configuração de políticas é fornecida como um serviço de nuvem baseado em assinaturas para ferramentas de desenvolvimento de aplicativos (política como serviço); em segundo lugar, a geração, cumprimento, auditoria e atualização de políticas técnicas são integrados às plataformas de desenvolvimento de aplicativos e tempo de execução na nuvem. Ao mover a automação das políticas de conformidade e segurança para aplicativos de nuvem e mashups para a nuvem, esses aplicativos e mashups são protegidos de forma mais integrada dentro da lógica global que está por trás da adoção da nuvem. Isso também melhora e simplifica o ciclo de vida de desenvolvimento de software seguro para aplicativos em nuvem.

Estas são algumas recomendações concretas com relação às próximas etapas, para que comece a usar a automação de segurança baseada em modelos:

  • Experimente
    Os provedores de nuvem devem tentar incorporar a automação de políticas de segurança em suas plataformas (por exemplo, obter uma versão de testes grátis do ObjectSecurity para Eclipse, para começar). Para os usuários de nuvem: experimentem a automação de políticas de segurança baseada em modelos se estão criando aplicativos em nuvem em nuvens de IaaS ou PaaS que suportam automação de mashups e políticas baseadas em modelos, ou pelo menos gerenciamento de autorização (por exemplo, obtenham uma versão de testes grátis da ferramenta da ObjectSecurity para a nuvem da Intalio).
  • Planeje e venda a visão
    Se você está nos estágios de planejamento da adoção da nuvem, deve planejar a arquitetura para suportar a automação de políticas, mesmo se não irá implementá-la desde o início. As ferramentas de mashup baseado em modelos são particularmente eficientes no suporte para a automação de políticas, e você pode usar o argumento "a soma é maior do que as suas partes" ao vender ferramentas de mashup e automação de políticas para a sua gerência.
  • Se possível, exija dos provedores de nuvem a automação de políticas
    Mostre para o provedor de nuvem que há tecnologias e abordagens disponíveis, e como elas podem ajudá-lo a lidar com a segurança da nuvem com um custo mais reduzido. Por padrão, os provedores de nuvem parecem propor ofertas de nuvem do tipo "pegar ou largar", que não ajudam os profissionais de segurança a trabalhar melhor. Infelizmente, alguns provedores de nuvem (especialmente PaaS) não abrem a infraestrutura; portanto, a integração do seu próprio produto de automação de políticas pode ser um desafio. Os profissionais de segurança devem fazer as perguntas corretas para mover os provedores de nuvem na direção certa ou escolher um provedor de nuvem mais aberto.
  • Integre a política como serviço de terceiros quando for adequado
    Se você implementa nuvens privadas para organizações grandes, considere a hipótese de usar produtos de automação de políticas de segurança de aplicativos em nuvem de terceiros baseados em normas; dessa forma, é possível assinar a política como serviço de um especialista em segurança de terceiros, enquanto a imposição de camada de aplicativo é realizada pelos recursos baseados em normas do provedor de nuvem (por exemplo, eXtensible Access Control Markup Language (XACML)).
  • Integre o monitoramento de incidentes de terceiros e serviços de análise quando for adequado
    O mesmo se aplica ao monitoramento — se o seu provedor de nuvem não fornece o que você precisa, certifique-se de que é possível exportar alertas em um formato padrão (por exemplo, syslog) para processamento posterior realizado por produtos de terceiros.

Recursos

Aprender

Obter produtos e tecnologias

Discutir

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Cloud computing
ArticleID=629183
ArticleTitle=Segurança de Nuvem Baseada em Modelos
publish-date=02232011