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 desta se torna mais demorada, repetitiva, cara e
propensa a erros – que ainda podem 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 além da 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? Como é 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. Vamos descrever 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 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 – 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 – como 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 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? Como é 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 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 demande pouca, e simples, manutenção para seus aplicativos e serviços hospedados na nuvem.
Isso acontece porque muitos aplicativos de nuvem vão lidar 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 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, além do uso de outras
fontes de informações sobre o sistema que estiverem disponíveis. A segurança é direcionada
principalmente aos modelos funcionais do aplicativo para gerar automaticamente regras técnicas de
autorização 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 mas 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 – que inclui 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 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, somente assim 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

Benefícios
Quando empregada de forma efetiva, a segurança baseada em modelos oferece diversos benefícios:
- Reduz as sobrecargas de administração manual, 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 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 que
entendem melhor os aplicativos e fluxos de trabalho.
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 para 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 já foram
descritos 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,
além da automação de políticas que é integrada à implementação do aplicativo na
nuvem e às plataformas de tempo de execução – que possibilitam a 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). Existe ainda a opção de instalar
junto a ela, para proteger os aplicativos em várias plataformas de
apps de tempo de execução locais – como por exemplo servidores de
aplicativos da Web, como objetivo de 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
- 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 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 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. 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 no parte 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. 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. Ainda é 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 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, segue 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, o software de
cumprimento/monitoramento do provedor de política como serviço e então
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, 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 ainda
não foi implementada, 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,
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).
A ideia é 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, além de 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 como mostra a Figura 4.
Figura 2. Instalação (para provedores de plataforma de nuvem)


Figura 3. Geração automática de políticas (para usuários de PaaS)


Figura 4. Implementação de políticas técnicas (para usuários de PaaS ou integralmente ocultas)

Figura 5. Monitoramento de tempo de execução (usuários e provedor de política como serviço)

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 colocada na prática 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, que você pode conferir na 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


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.
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
-
O OpenPMF da ObjectSecurity
ajuda a desenvolver, operar e manter aplicativos seguros ao facilitar o
gerenciamento de políticas de segurança de aplicativos para controle de
acesso e auditoria. - Pode-se encontrar uma referência exemplar à segurança baseada em modelos em Políticas de acesso para middleware.
- Nos recursos para desenvolvedores de nuvem do developerWorks,
descubra e compartilhe o conhecimento e a experiência dos
desenvolvedores de aplicativos e serviços que estão desenvolvendo os
seus projetos de implementação de nuvem.
Obter produtos e tecnologias
- Consulte as imagens do produto disponíveis no IBM Smart Business Development and Test IBM Cloud.
Discutir
- Leia todos os ótimos blogs sobre nuvem no My developerWorks.
- Leia
e discuta as notícias mais recentes relacionadas à segurança baseada em
modelos, Model Driven Architecture Security e MDA seguro no fórum da
comunidade do blog Model Driven Security .
***
artigo publicado originalmente no developerWorks Brasil, por Ulrich Lang
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.







