View
326
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
Charles Christian Miers (UDESC) – [email protected] Guilherme Piegas Koslovski (UDESC) – [email protected]
Marcos Antonio Simplicio Jr. (USP) – [email protected] Tereza Cristina Melo de Brito Carvalho (USP) - [email protected]
Fernando Frota Redígolo (USP) – [email protected] Bruno Bastos Rodrigues(USP) – [email protected] Bruno Medeiros de Barros (USP) – [email protected] Nelson Mimura Gonzalez (USP) – [email protected]
Marco Antonio Torrez Rojas (USP) – [email protected] Leonardo Horn Iwaya (USP) – [email protected]
Análise de Segurança para Soluções de Computação em Nuvem
XXXII – Simpósio Brasileiro de Redes de Computadores
Objetivos do minicurso
� Objetivo geral: apresentar preocupações e soluções de segurança inerentes aos recursos dentro de nuvens computacionais, utilizando como estudo de caso a plataforma OpenStack Havana
� Objetivos específicos: � Entendimento dos conceitos básicos envolvidos � Elencar as principais questões de segurança
relacionadas a nuvens computacionais � Análise inicial da plataforma OpenStack Havana
2
Agenda
3
� Conceitos básicos de computação em nuvem
� Guias de segurança para computação em nuvem
� Guias de segurança para virtualização
� Segurança em nuvens computacionais
� Estudo de caso API OpenStack Havana
Conceitos básicos de computação em nuvem
Data center e utility computing Definição de computação em nuvem Principais características Modelos de serviço Modelo de implantação Arquitetura de referência NIST
4
Conceitos básicos: Data centers
5
� Data centers fornecem uma grande capacidade computacional, porém com demanda limitada � Exemplo: Entrega do Imposto de Renda
� A maioria das declarações são entregues no último dia � Caso seja contratado processamento de um provedor:
� Os servidores ficarão ociosos parte do tempo � Cluster deverá ser manualmente reconfigurado para atender a
demanda final � Faltarão recursos para a aplicação
� Alternativa: como seria se estes recursos computacionais fossem similares a forma como água e luz são consumidas?
Conceitos básicos: Utility computing
6
� Utility computing ou computação sob demanda: � Recursos Computacionais são:
� Fornecidos automaticamente conforme a necessidade � Tarifados de acordo com o consumo
� Exemplos de uso: � Oferecer serviços sem precisar comprar
infraestrutura � Baixo custo de investimento para novas empresas de
serviços � Atender de forma automática picos em demanda
� Pensem no último dia de submissão do Imposto de Renda
Conceitos básicos: Utility computing vs. Data center
7
� Data Centers fornecem utility computing “limitado”: � Data centers tradicionais: “Eu recebo o que pago” � Utility computing: “Eu pago o que recebo”
� Data centers geralmente não possuem mecanismos para alocar automaticamente recursos para os usuários conforme a demanda � Alocação é comumente realizada manualmente e
em geral é estática
Conceitos básicos: Serviço sob demanda
8
Conceitos básicos: Evolução
9
Conceitos básicos: Computação em nuvem
10
� Paradigma no qual os recursos computacionais residem em data centers distribuídos, sendo oferecidos como serviços de forma escalável e elástica e utilizados de forma transparente de qualquer lugar � Recursos podem ser aplicações, armazenamento,
middleware, processamento, etc.
Conceitos básicos: Composição das nuvens computacionais
11
� Nuvens computacionais são compostas por diversos elementos, alguns deles já utilizados há várias décadas: � Máquinas virtuais
� E.g., Xen, VMware, KVM, etc. � Sistemas operacionais
� E.g., GNU/Linux, MS-Windows, BSD, etc. � Aplicações
� E.g., Apache, NFS, etc. � Protocolos de comunicação
� E.g., HTTP, Web Services, Rest, etc.
� Inovação está no modo de integrar e gerenciar todos estes elementos � Novos recursos e abordagens de integração
Conceitos básicos: Definição: Computação em nuvem
12
� Não há uma definição única na literatura
� Termo guarda-chuva para se referir a serviços e desenvolvimento de software baseado na Internet
� Definição mais aceita é a do NIST: � “Cloud computing is a model for enabling ubiquitous,
convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction.”
Conceitos básicos: Características: Computação em nuvem
13
� Cinco características essenciais (NIST):
� On-demand self-servisse
� Pool de recursos com independência de localização
� Acesso via rede
� Elasticidade
� Serviço mensurável
Conceitos básicos: Modelos: Computação em nuvem
Modelo de Aquisição Baseado em serviço
Modelo de Negócios Baseado em uso
Modelo de Acesso Internet, Intranet
Modelo Técnico Dinâmico, flexível
“Quero pagar pelo que eu uso, como um serviço sob demanda”
“Me interessam apenas os resultados, não como as instalações de TI são implementadas”
“Quero acessar serviços de qualquer lugar, usando qualquer dispositivo”
“Quero aumentar ou reduzir a capacidade alocada, conforme necessidade”
14
Conceitos básicos: Classificações: Computação em nuvem
15
� Nuvens chegaram ao mercado antes de uma padronização � Resultado: Nomes de produtos vs. tipos
� Taxonomia mais aceita é a proposta do NIST: � Modelo SPI � Modelos de implantação � Arquitetura de referência
Conceitos básicos: Classificações: Computação em nuvem
16
� Modelo NIST/SPI – Software/Platform/Infrastructure: � SaaS (Software as a Service)
� PaaS (Platform as a Service)
� IaaS (Infrastructure as a Service)
Conceitos básicos: Classificações: Computação em nuvem
17
Conceitos básicos: Classificações: Computação em nuvem
18
� SaaS, PaaS, IaaS (SPI): nomenclatura NIST
� Outros *aaS também existem na literatura: � Storage as a Service (STaaS): espaço de armazenamento � Security as a Service (SECaaS): serviços como autenticação,
antivirus e detecção de intrusão � Data as a Service (DaaS): semelhante ao SaaS, mas com
foco em aplicações cujo principal atrativo são os dados � Exemplo: informações geográficas
� Desktop as a Service (DaaS): virtualização de desktop � ...
� Nem sempre a classificação é “óbvia”, por mais abrangente que seja a taxonomia usada
Conceitos básicos: Classificações: Computação em nuvem
19 Fonte: “A Taxonomy Model for Cloud Computing Services”, CLOSER (2011)
Conceitos básicos: Classificações: Computação em nuvem
20
� Modelo de implantação (NIST): � Nuvem Privada � Nuvem Comunitária � Nuvem Pública � Nuvem Híbrida
Conceitos básicos: Classificações: Computação em nuvem
21
� Cada abordagem de implantação possui seus benefícios de acordo com os objetivos de quem está contratando o serviço de nuvem: � Nuvens privadas garantem uma maior segurança e controle
sobre os ativos armazenados � Nuvem é mantida em uma rede particular
� Nuvens públicas oferecem uma eficiência maior para recursos compartilhados � Estão expostas ao público geral, carregam consigo maiores
preocupações com segurança
� Nuvens comunitárias podem ser entendidas como uma nuvem de nuvens � Cada parte sendo acessível pelas organizações que compartilham as
infraestruturas que compõem a nuvem completa
� Nuvens híbridas podem combinar as características de duas ou mais abordagens de implantação
Conceitos básicos: Classificações: Computação em nuvem
22
Modelo Implantação
Gerência Propriedade Localização Segurança
Pública Terceiros Terceiros Externa ou Interna
Baixa
Privada Própria Própria ou Terceiros
Interna Alta
Comunitária Própria ou Terceiros
Própria ou Terceiros
Externa ou Interna
Média
Híbrida Própria ou Terceiros
Própria ou Terceiros
Externa ou Interna
Média
Conceitos básicos: Visão geral: Computação em nuvem
23
Conceitos básicos: Modelo de referência NIST
24
Guias de segurança para computação em nuvem
NIST CSA ENISA Comparativo: NIST vs. CSA vs. ENISA
25
Guias de segurança: específicos para computação em nuvem
26
� A computação em nuvem já possui materiais de referência que cobrem os aspectos gerais de segurança, providos na forma de documentos, guias e padrões
� Principais guias foram elaborados por: � CSA – Cloud Security Alliance
� https://cloudsecurityalliance.org/ � ENISA - European Network and Information Security Agency
� https://www.enisa.europa.eu/ � NIST - National Institute of Standards and Technology
� http://www.nist.gov/itl/cloud/
Guias de segurança em nuvem: NIST
27
� Em resposta a um pedido do governo dos Estados Unidos para acelerar a adoção governamental da computação em nuvem, o NIST elaborou um guia voltado para segurança e privacidade � “SP 800-144: Guidelines on security and privacy in
public cloud computing” � Afirma que as organizações que utilizam uma abordagem
de computação em nuvens privadas possuem um maior nível de controle sobre os dados
� Documento é focado em abordagens de computação em nuvens públicas
Guias de segurança em nuvem: NIST
28
Guias de segurança em nuvem: NIST
29
Guias de segurança em nuvem: NIST: Governança e Conformidade
30
� O termo governança refere-se ao conjunto de políticas, funções, responsabilidades e processos que devem ser estabelecidos para orientar, direcionar e controlar como a organização usa tecnologias para atingir as metas corporativas � Conjunto de normas estabelecidas para atingir um
determinado objetivo
� A conformidade indica se a organização atende às normas, leis e regulamentos em questão
Guias de segurança em nuvem: NIST
31
Guias de segurança em nuvem: NIST: Confiança
32
� Ameaças internas (usuários internos ou inquilinos maliciosos) as quais representam um risco sobre os dados hospedados na nuvem
� Propriedade dos dados na nuvem e potenciais problemas de violação de propriedade intelectual
� Dificuldade em gerenciar a visibilidade dos inquilinos sobre os controles de segurança utilizados na nuvem � Ao mesmo tempo que tal visibilidade é essencial para que
usuários avaliem os riscos aos quais seus sistemas hospedados na nuvem estão expostos, ela também facilita ataques por inquilinos maliciosos
� Questões relativas aos dados “adicionais” que surgem quando uma entidade adota o serviço de nuvem � Exemplo: informações bancárias usadas no pagamento pelos
serviços do provedor de nuvem, as quais também devem ser protegidas
Guias de segurança em nuvem: NIST
33
Guias de segurança em nuvem: NIST: Arquitetura
34
� Segurança sobre os sistemas de software utilizados na nuvem
� Introdução de hypervisors aumenta a superfície de ataque na computação em nuvem, comparando com data centers tradicionais
� O tráfego de dados que fica restrito a redes virtuais pode não ser visível para ferramentas de segurança tradicionais de rede (e.g., firewalls, IDS/IPS, etc.) potencialmente reduzindo sua efetividade
Guias de segurança em nuvem: NIST: Arquitetura
35
� Necessidade do uso de ferramentas especialmente adaptadas para monitorar redes virtuais e recursos virtualizados
� Dados sobre as imagens de máquinas virtuais e serviços da nuvem podem conter informações relevantes para atacantes � Necessidade de cuidados especiais
� Levanta aspectos de segurança do navegador web do cliente, a ferramenta básica para acesso aos serviços da nuvem
Guias de segurança em nuvem: NIST: Arquitetura
36
Dados das imagens precisam ser transmitidos do local de armazenamento para o local de
execução (e.g., hypervisor)
Guias de segurança em nuvem: NIST
37
Guias de segurança em nuvem: NIST: Gerenciamento de identidade e acesso
38
� Foco no uso de autenticação: � SAML (Security Assertion Markup Language)
� http://saml.xml.org/saml-specifications
� Foco no controle de acesso: � XACML (eXtensible Access Control Markup Language)
� http://docs.oasis-open.org/xacml/3.0/xacml-3.0-core-spec-os-en.pdf
� Descreve uma linguagem para políticas de acesso e um formato para mensagens de requisição e resposta
Guias de segurança em nuvem: NIST
39
Guias de segurança em nuvem: NIST: Isolamento de software
40
� Ameaças derivadas diretamente do fato das nuvens apresentarem a característica de multi-tenancy � Diversos usuários compartilhando o mesmo equipamento
físico
� Principais problemas em decorrência de interferências negativas entre VMs � Especialmente se uma VM for capaz de escapar ao
ambiente a ela reservado pelo monitor de máquinas virtuais
Guias de segurança em nuvem: NIST
41
Guias de segurança em nuvem: NIST: Proteção dos dados
42
� Diferenças entre: � Modelo multi-tenancy: dados de diferentes usuários são
colocados em um único repositório � Modelo multi-instâncias no qual cada usuário usa e
administra um repositório de dados separado
� Exclusão segura dos dados � Eliminação lógica e física � Essencial para garantir a confidencialidade e a
privacidade dos dados dos usuários da nuvem
Guias de segurança em nuvem: NIST
43
Guias de segurança em nuvem: NIST: Disponibilidade
44
� Ameaças indiretas provenientes do compartilhamento de um mesmo fornecedor de nuvem com uma organização que tem um grande potencial de sofrer ataques de negação de serviço (Denial of Service - DoS)
� Ataques de DoS podem afetar a qualidade dos serviços providos na nuvem � Pode impactar em todos os inquilinos da nuvem atacada
Guias de segurança em nuvem: NIST
45
Guias de segurança em nuvem: NIST: Resposta a incidentes
46
� Ressalta o papel fundamental do provedor de nuvem em detectar a ocorrência de ataques e agir de acordo
� Necessidade do provedor de nuvem de fornecer acesso a dados detalhados de incidentes para permitir que os inquilinos afetados também possam participar deste processo
Guias de segurança em nuvem: NIST: Recomendações
47
� Agrupadas de acordo com as questões discutidas: � Governança:
� Estender práticas organizacionais para englobar políticas, procedimentos e padrões utilizados para o desenvolvimento de aplicações
� Provisionamento de serviços na nuvem � Uso de ferramentas de auditoria para aferir
provisionamento
Guias de segurança em nuvem: NIST: Recomendações
48
� Agrupadas de acordo com as questões discutidas: � Conformidade:
� Entender os diversos tipos de leis e regulamentações de segurança e privacidade que se aplicam à organização, � Identificar impactos nas iniciativas de migração de
serviços para a nuvem � Verificar aspectos legais para que não apresentam
conflitos com o contrato firmado com o provedor de nuvem ou com os aspectos operacionais
Guias de segurança em nuvem: NIST: Recomendações
49
� Agrupadas de acordo com as questões discutidas: � Confiança:
� Garantir que os acordos de serviço firmados incluam visibilidade suficiente sobre os processos de controle de privacidade e segurança � Permitir o monitoramento de seu desempenho
� Estabelecer claramente os direitos de propriedade sobre os dados
� Instituir um programa de gerenciamento de riscos que seja flexível o suficiente para adaptar-se constantemente ao ciclo de vida do sistema hospedado na nuvem
� Monitorar continuamente a segurança do sistema de informação para dar suporte às decisões resultantes do processo de gerenciamento de riscos
Guias de segurança em nuvem: NIST: Recomendações
50
� Agrupadas de acordo com as questões discutidas: � Arquitetura:
� Compreender as tecnologias de camadas inferiores que a nuvem utiliza para provisionar serviços � Especialmente relacionado ao seu impacto sobre a
segurança e privacidade do sistema, sobre o seu ciclo de vida e sobre seus componentes
� Gerenciamento de identidade e acesso: � Garantir que existem medidas adequadas para prover
segurança aos processos de autenticação, autorização, controle de acesso e de identidades
Guias de segurança em nuvem: NIST: Recomendações
51
� Agrupadas de acordo com as questões discutidas: � Isolamento de Software:
� Entender a virtualização e outras técnicas lógicas de isolamento que o provedor da nuvem utiliza em sua arquitetura para dar suporte a múltiplos inquilinos
� Avaliar os riscos envolvidos para a organização
� Proteção dos Dados: � Avaliar a adequação de soluções de gerenciamento de
dados e de chaves criptográficas fornecidas pelo provedor de nuvem para gerenciar os dados organizacionais hospedados na nuvem
� Avaliar a capacidade de prover acesso aos dados e protegê-los durante todo o seu ciclo de vida
� Ponderar sobre os riscos de se hospedar os dados no mesmo ambiente em que organizações que podem ser alvos preferenciais de ataques
Guias de segurança em nuvem: NIST: Recomendações
52
� Agrupadas de acordo com as questões discutidas: � Disponibilidade:
� Compreender os itens previstos no contrato com relação a disponibilidade, backup e recuperação de desastres,
� Garantir que os itens previstos estejam de acordo com os planos de contingência e continuidade de negócios da organização
Guias de segurança em nuvem: NIST: Recomendações
53
� Agrupadas de acordo com as questões discutidas: � Resposta a Incidentes:
� Compreender os itens previstos no contrato relativos à responsabilidade sobre incidentes � Garantir que os procedimentos descritos estejam de
acordo com os requisitos da organização � Assegurar que o provedor tenha um processo transparente
de resposta a incidentes � Mecanismos suficientes para disponibilizar informações
antes e durante o incidente � Garantir que a organização e o provedor são capazes de
responder a incidentes de forma coordenada � Conforme as suas devidas responsabilidades sobre o
ambiente de nuvem
Guias de segurança em nuvem: CSA
54
� A CSA é uma organização sem fins lucrativos, fundada no final de 2008 em uma iniciativa para reforçar a segurança da computação em nuvem
� Membros fundadores são principalmente representantes industriais, corporações e associações � DMTF, ITU, OWASP, Dell, Ericsson, HP, Oracle, Orange,
Red Hat, RSA, Amazon, Dropbox, eBay, Salesforce, ... � https://cloudsecurityalliance.org/membership/corporate/
Guias de segurança em nuvem: CSA
55
� Elaboração do guia “Security guidance for critical areas of focus in cloud computing v3.0”
� Principal objetivo é incentivar a adoção de boas práticas para promover a segurança nos ambientes de computação em nuvem
� Dividido em três seções: o Arquitetura da nuvem o Governança da nuvem o Operações na nuvem
� Identifica treze questões de segurança
Guias de segurança em nuvem: CSA
56
Guias de segurança em nuvem: CSA
57
Guias de segurança em nuvem: CSA
58
Guias de segurança em nuvem: CSA:
59
� Governança e Gerenciamento de Risco Empresarial (questão 1): � Zelo com os processos organizacionais da
segurança da informação � Destaca os acordos de níveis de serviço (SLAs)
� Requisitos de segurança devem ser especificados nesse documento e reforçadas por um contrato
� Gerenciamento de risco deve avaliar o fornecedor da nuvem e terceiros com quem o provedor está envolvido
Guias de segurança em nuvem: CSA:
60
� As questões 2 e 3 discutem a conformidade com regulamentações governamentais, normas da própria organização, aspectos legais � Exemplo: propriedade intelectual, responsabilidades, ... � Estabelece como estas regras podem influenciar a segurança
interna da organização
� A questão 4 descreve diversos aspectos relacionados à manipulação dos dados, como segurança, localização, gerenciamento da informação � Estabelece modos nos quais os dados devem ser
gerenciados para evitar vulnerabilidades que possam expor os dados armazenados
Guias de segurança em nuvem: CSA
61
Guias de segurança em nuvem: CSA
62
Guias de segurança em nuvem: CSA:
63
� Portabilidade e interoperabilidade (questão 5) � Especifica as possíveis razões para migrar os dados para o
modelo de nuvem
� Ressalta que a computação em nuvem ainda carece de uma padronização de diversos fatores � Dificuldade para a interoperabilidade de serviços � Dificuldade de migrar serviços de um provedor de nuvem para outro
� Reconhece a contribuição das plataformas de nuvem Open Source para mitigar esse problema � Contribuem para o aumento da interoperabilidade entre provedores
através da divulgação de seus códigos e adoção de interfaces padronizadas
� Exemplos: Open Cloud Computing Interface – OCCI e Virtual Infrastructure Modeling Language - VXDL
Guias de segurança em nuvem: CSA:
64
� Segurança tradicional, continuidade de negócios e recuperação de desastres (questão 6) � Reforça que um SLA por si só não é suficiente para garantir
que os serviços do usuário estarão seguros na nuvem � Necessidade da verificação constante dos pilares da segurança:
confidencialidade, integridade e disponibilidade
� Operações de data centers (questão 7) � Questões que devem ser consideradas no momento da
escolha do provedor de nuvem � Atenção aos seguintes pontos: auditoria, disponibilidade,
desempenho, gerenciamento de atualizações, compartimentalização e suporte
Guias de segurança em nuvem: CSA:
65
� Responsabilidade sobre incidentes, notificações e correções (questão 8) � Informa sobre ferramentas de detecção de incidentes � Reforça a análise para obtenção de informações das
ferramentas para a prevenção de incidentes
� Aplicações seguras (questão 9) � Descrição do ciclo de desenvolvimento de aplicações,
técnicas para garantir a segurança da informação � Incluindo mecanismos de autenticação, autorização e verificação
de conformidade, gerenciamento de identidades, entre outros � Avaliação de vulnerabilidades através de testes de
penetração periódicos � Fornece maiores garantias sobre a segurança da aplicação
Guias de segurança em nuvem: CSA
66
Guias de segurança em nuvem: CSA
67
Guias de segurança em nuvem: CSA:
68
� Gerenciamento de chaves e cifragem (questão 10): � Ênfase para a segurança da comunicação entre
hosts � Destaque à comunicação interna na rede do provedor. � Característica de multi-tenancy da nuvem torna o
gerenciamento de chaves complexo
Guias de segurança em nuvem: CSA:
69
� Identidade e gerenciamento de acesso (questão 11) � Reforça a verificação de identidades na nuvem
� Identifica aspectos que devem ser levados em consideração ao implementar um mecanismo de identidades para esse ambiente
� Provisionamento de identidades, autenticação, entre outros, dando-se ênfase à dificuldade de construir soluções escaláveis no modelo em nuvem � Grande número e diversidade de identidades e atributos
nesse ambiente (de usuários, organizações, dispositivos, etc.
Guias de segurança em nuvem: CSA:
70
� Virtualização (questão 12): � Aspectos de segurança da virtualização em si,
considerando elementos como as máquinas virtuais, o hypervisor, entre outros
� Segurança como serviço (questão 13): � Realça a diferenciação do modelo de segurança da
computação em nuvem em relação ao modelo tradicional de data centers
� Abordados aspectos como práticas de implementação, benefícios de se implementar a “segurança como serviço” e a variedade de serviços que podem ser assim categorizados
Guias de segurança em nuvem: CSA: Recomendações
71
� Agrupadas de acordo com as questões discutidas: � Governança e Gerenciamento de Risco Empresarial:
� Reinvestir o capital economizado com a adoção da nuvem em ferramentas que permitam verificar a segurança do provedor de nuvem � Implantação de controles de segurança � Realização de vistorias e auditorias
� Levar em consideração aspectos de segurança no processo de escolha de um provedor de nuvem � Considerar controles estabelecidos, capacidade de
desenvolvimento de um processo colaborativo de governança e obrigações previstas em contratos de SLA
� Adoção de métricas e padrões para medir o desempenho e a efetividade do gerenciamento de segurança da informação na nuvem
Guias de segurança em nuvem: CSA: Recomendações
72
� Agrupadas de acordo com as questões discutidas: � Aspectos Legais: Contratos e descoberta
eletrônica: � Não são disponibilizadas recomendações específicas no
documento porque a legislação envolvida sofre mudanças de país para país
� Conformidade e Auditoria: � Utilizar auditores especializados no modelo de nuvem para
verificar a aplicabilidade de controles (novos ou existentes) a esse ambiente
� Contratos de SLA devem ser revisados por terceiros para garantir conformidade com requisitos legais e regulamentações vigentes
Guias de segurança em nuvem: CSA: Recomendações
73
� Agrupadas de acordo com as questões discutidas: � Gerenciamento de Informação e Segurança dos
Dados: � Compreender a arquitetura de armazenamento de dados
adotada pelo provedor � Preferir soluções com dispersão de dados quando
disponíveis � Monitorar bases de dados na nuvem para identificar a
exposição de dados sensíveis ou violações de políticas de segurança no seu tratamento
� Cifrar dados sensíveis durante todo o seu ciclo de vida, da criação ao descarte
Guias de segurança em nuvem: CSA: Recomendações
74
� Agrupadas de acordo com as questões discutidas: � Interoperabilidade e portabilidade:
� Interoperabilidade: � Recomenda a adoção de soluções de segurança
padronizadas e abertas, as quais devem ser bem compreendidas
� Virtualizar na medida do possível (máquinas virtuais, redes virtuais, etc.) para evitar diversos (embora não todos) os problemas em nível hardware.
� Portabilidade: � Considerar aspectos diversos que impactam na migração
de serviços, como os SLAs, arquiteturas físicas e lógicas, mecanismos de segurança disponíveis, etc.
� Recomendações específicas para os diferentes modelos de serviço em nuvem (SPI)
Guias de segurança em nuvem: CSA: Recomendações
75
� Agrupadas de acordo com as questões discutidas: � Segurança Tradicional, Continuidade de Negócios e
Recuperação de Desastres: � Consumidores de nuvem não devem depender de um único
provedor � Preferencialmente estabelecer contratos com múltiplos
fornecedores e possuir ferramentas para rápida recuperação em caso de incidentes em um (ou alguns) deles
� Exigir transparência com relação à postura de segurança da nuvem � Permitindo avaliações dos planos de contingência do
provedor contra desastres, da segurança física da infraestrutura, etc.
Guias de segurança em nuvem: CSA: Recomendações
76
� Agrupadas de acordo com as questões discutidas: � Operações de data center:
� Gerenciamento deve envolver processos, boas práticas e software que permitam entender e lidar com a tecnologia e recursos nele presentes de forma ágil e com elevada disponibilidade
� Compreender a missão das ferramentas sendo executadas dentro do data center e como elas se adequam aos requisitos de segurança do ambiente
� Estabelecer as partes responsáveis por garantir conformidade com requisitos de segurança e o papel de cada uma delas na sua avaliação
Guias de segurança em nuvem: CSA: Recomendações
77
� Agrupadas de acordo com as questões discutidas: � Resposta a incidentes, notificações e correções:
� Consumidores de nuvem devem compreender como provedores definem os eventos de interesse no tocante à detecção de incidentes de segurança e quais eventos/incidentes são reportados aos usuários
� Consumidores devem possuir um meio de comunicação com o provedor em caso de incidentes
� Aplicações seguras: � Realizar análises de risco para as aplicações � Garantir uma vistoria detalhada dos vetores de ataque e
riscos no ambiente de nuvem � Procurar desenvolver e manter uma arquitetura de software
segura
Guias de segurança em nuvem: CSA: Recomendações
78
� Agrupadas de acordo com as questões discutidas: � Gerenciamento de chaves e criptografia:
� Empregar boas práticas de gerenciamento de chaves � Empregar “soluções de prateleira” de fontes reconhecidas � Utilizar algoritmos padronizados de cifração considerados
seguros atualmente
� Identidade e gerenciamento de acesso: � Todos os atributos utilizados devem possuir um nível de
confiança a eles atribuídos e devem ser associados a uma identidade
� Desenvolvedores devem garantir que os serviços sejam capazes de importar/ exportar dados seguindo padrões como XACML
Guias de segurança em nuvem: CSA: Recomendações
79
� Agrupadas de acordo com as questões discutidas: � Virtualização:
� Consumidores devem identificar o tipo de virtualização que o provedor utiliza
� Desenvolvedores devem cifrar imagens de VMs quando as mesmas não estiverem em uso
� Configurações padrões das VMs devem respeitar os requisitos mínimos de segurança estabelecidos
� Segurança como serviço: � Desenvolvedores devem garantir o estabelecimento de um
canal de comunicação seguro entre os inquilinos da nuvem � Fornecedores devem prover notificação automática de
incidentes de segurança � Consumidores devem requisitar a presença de terceiros para
intermediar a negociação da SLAs e auditar serviços
Guias de segurança em nuvem: ENISA
80
� A ENISA é uma organização que visa aumentar a capacidade da União Europeia, dos estados membros da União Europeia e da comunidade de negócios em prevenir, tratar e responder a problemas de segurança da informação e redes
� Elabora diversos documentos guias e boas práticas relacionadas a segurança da informação
Guias de segurança em nuvem: ENISA
81
� “Cloud Computing: Benefits, Risks and Recommendations for Information Security” (2011)
� Especificação dos benefícios de computação em nuvem sob o prisma da segurança
� Descrição de um processo de análise e avaliação de riscos com base em três cenários de caso de uso: o Computação em nuvem em pequenas e médias
empresas o Impacto da computação em nuvem na resiliência de
serviço o Computação em nuvem para administração pública
(eGovernment) � Define as questões de segurança especificamente
o Não há subtópicos
Guias de segurança em nuvem: ENISA
82
Guias de segurança em nuvem: ENISA
83
Guias de segurança em nuvem: ENISA
84
Guias de segurança em nuvem: ENISA: Questões políticas e organizacionais
85
� Lock-in (questão 1): � Relata a situação de falta de portabilidade entre fornecedores
de nuvem em cada categoria de serviço na nuvem (IaaS, PaaS e SaaS)
� Governança (questão 2) e Conformidade (questão 3): � Ameaças indiretas causadas por inquilinos que estão
utilizando um mesmo fornecedor (questão 4) são discutidas � Destacados que os desafios de disponibilidade podem ser
resultado de problemas dentro do próprio provedor da nuvem (questões 5 e 6) ou terceiros em que o provedor confia (questão 7)
Guias de segurança em nuvem: ENISA
86
Guias de segurança em nuvem: ENISA
87
Guias de segurança em nuvem: ENISA: Questões técnicas
88
� Ameaças resultantes da exaustão de recursos (questão 8) como a incapacidade de fornecer recursos (estabelecidos no SLA ou adicionais) aos clientes, indisponibilidade de serviços, entre outros
� A questão 9 (isolamento de falhas) trata de falhas nos mecanismos que isolam recursos compartilhados entre usuários (falhas no hypervisor)
� São listados os tipos de vulnerabilidades que causam ou podem vir a causar ameaças internas: � Funções e responsabilidades mal definidas � Vulnerabilidades no sistema operacional � Procedimentos de segurança física inadequados � ...
Guias de segurança em nuvem: ENISA: Questões técnicas
89
� Alguns dos riscos podem ser agrupados mais amplamente: � Gerenciamento de interface (questão 11) e comprometimento
de motor de serviços (questão 19) que tratam da segurança de aplicações, listando vulnerabilidades no software do provedor
� A interceptação de dados em trânsito na rede (questão 12) também é análoga ao vazamento de dados em operações de upload e download � A interceptação pode ser causada por vulnerabilidades na
infraestrutura do fornecedor da nuvem ou no enlace com o usuário
Guias de segurança em nuvem: ENISA: Questões técnicas
90
� As ameaças de negação de serviço (DoS) são apresentadas como dois riscos: � Negação de serviço distribuída (questão 15, Distributed Denial
of Service - DDoS): ataque causa problemas de disponibilidade
� Negação de serviço econômica (questão 16): requisições maliciosas de serviço aumentam o tráfego na rede e acabam causando uma amplificação no custo dos serviços para o usuário da nuvem
� Detecção de varreduras maliciosas (questão 19) internas à infraestrutura da nuvem
� Esforços insuficientes do consumidor para garantir a segurança da nuvem (questão 20)
Guias de segurança em nuvem: ENISA
91
Guias de segurança em nuvem: ENISA
92
Guias de segurança em nuvem: ENISA: Questões legais
93
� Procedimentos para responder a processos de descoberta eletrônica e intimações judiciais (questão 21) � Exemplo: o governo pode requisitar, por algum motivo, algum
dado armazenado na nuvem
� As questões 22, 23 e 24 descrevem preocupações relativas a manipulação dos dados � Conformidade de localização (questão 22) � Proteção (questão 23) dos dados armazenados na
nuvem � Riscos provenientes da perda de propriedade intelectual
dos mesmos (questão 24)
Guias de segurança em nuvem: Comparativo
94
Questões políticas, organizacionais e legais Subtópicos NIST CSA ENISA
1 - Governança e Gerenciamento de Risco Abordado Abordado Abordado
2 - Conformidades e Auditoria 2.1 - Conformidades de Leis e Regulamentos Abordado Abordado Abordado
2.2 - Conformidades de Localização dos Dados Abordado Abordado Abordado
3 - Aspectos legais Abordado Abordado Abordado 4 - Ameaças Internas Abordado Abordado Abordado
5 - Tratamento dos Dados
5.1 - Proteção dos Dados a respeito dos Usuários Abordado n.a. n.a.
5.2 - Propriedade Intelectual Abordado Abordado Abordado 5.3 - Disponibilidade dos Dados p/ Análise Forense Abordado Abordado Abordado
6 - Relatórios de Acidentes Abordado Abordado Abordado 7 - Gerenciamento de Patch Abordado Abordado Abordado
8 - Vistorias 8.1 - Vistoria do Provedor Abordado Abordado Abordado
8.2 - Vistoria das Dependências do Provedor Abordado Abordado Abordado
Guias de segurança em nuvem: Comparativo
95
Questões Técnicas Subtópicos NIST CSA ENISA
1 – Disponibilidade
1.1 - Interrupções Abordado Abordado Abordado 1.2 - Exaustão de recursos n.a. Abordado Abordado 1.3 - Ameaças de disponibilidades por ataques de DoS Abordado n.a. Abordado 1.4 - Ameaças por compartilhamento de dados Abordado Abordado Abordado
2 – Portabilidade 2.1 - Portabilidade de fados Abordado Abordado Abordado 2.2 - Portabilidade de imagens de VMs n.a. Abordado Abordado 2.3 - Portabilidade de aplicações Abordado Abordado Abordado
3 - Gerenciamentos de dados
3.1 – Isolamento Abordado Abordado Abordado 3.2 - Backup e recuperação Abordado Abordado Abordado 3.3 – Exclusão Abordado Abordado Abordado 3.4 – Cifração/cifragem Abordado Abordado Abordado 3.5 - Gerenciamento de chaves Abordado Abordado Abordado 3.6 - Verificação de integridade Abordado Abordado n.a.
4 - Identidade e gerenciamento de acesso
4.1 - Provisionamento e desprovisionamento de identidade n.a. Abordado Abordado 4.2 - Federação de identidade Abordado Abordado Abordado 4.3 - Autenticação Abordado Abordado Abordado 4.4 - Autorização e controle de acesso Abordado Abordado Abordado
5 - Segurança de aplicação
5.1 - Proteção do cliente Abordado Abordado Abordado 5.2 - Proteção do servidor Abordado Abordado Abordado 5.3 - Proteção da imagem da VM Abordado Abordado Abordado 5.4 - Proteção dos arquivos de log n.a. Abordado Abordado
6 – Virtualização 6.1 - Proteção do hypervisor Abordado Abordado Abordado 6.2 - Proteção do sistema operacional visitante Abordado Abordado Abordado 6.3 - Proteção da rede virtual Abordado Abordado Abordado
Guias de segurança para virtualização
Conceitos básicos de virtualização Guias de segurança específicos para virtualização NIST PCI Red Hat Comparativo NIST vs. PCI vs. Red Hat
96
Virtualização
97
Tipos de Virtualização
98
Importância dos Guias de segurança em virtualização
99
� Fornecem uma visão geral da segurança em virtualização
� Identificam as principais questões de segurança relacionadas
� Estabelecem normas, prioridades e medidas de prevenção
� Virtualização é um componente essencial de muitas soluções de computação em nuvem � Especialmente para IaaS e PaaS
Principais guias de virtualização
100
� NIST – SP 800-125. Guide to Security for Full Virtualization Technologies (2011)
� PCI (Payment Card Industry) Security Standards Council – Data Security Standards (DSS) Virtualization Guideline (2011)
� Red Hat – Virtualization Security Guide (2013)
Guias de virtualização: NIST
101
� Complementar ao guia para computação em nuvens públicas
� Subdivide as recomendações em quatro grupos: � Segurança do hypervisor � Segurança dos guests/convidados � Segurança da infraestrutura virtualizada � Segurança na virtualização de desktops
� Fornece um ciclo de planejamento e utilização para uma virtualização segura: � Inicialização � Planejamento e projeto � Implementação � Operação e Manutenção � Descarte
Guias de virtualização: NIST: Recomendações por grupo
102
� Segurança do hypervisor: � Instalar atualizações de segurança � Restringir acesso administrativo � Sincronizar a infraestrutura com um servidor de tempo (NTP)
confiável � Desabilitar serviços não utilizados � Monitoramento e análise de logs
� Segurança dos guests � Seguir recomendações práticas para gerenciamento de SO � Instalar atualizações de segurança � Backup de drivers virtuais regularmente � Utilizar diferentes soluções de autenticação
Guias de virtualização: NIST: Recomendações por grupo
103
� Segurança da infraestrutura virtual: � Isolamento de rede � Isolamento de armazenamento � Isolamento de instruções
� Virtualização de desktops: � Única diferença para virtualização de servidores é a
capacidade de gerenciamento de imagens � Servidores -> gerenciamento de imagens restrito � Desktop -> responsabilidade é do usuário
Guias de virtualização: NIST: Fases de planejamento e utilização segura da virtualização
104
Fases de planejamento e utilização segura da virtualização
Inicialização -Tarefas de organização - Ident. de requisitos - Ident. de plataformas - Ident. de Aplicações, etc.
Planejamento e projeto - Especificar características/ componentes relacionados - Métodos de autenticação - Mecanismos de cifragem, etc.
Implementação - Configuração dos equipamentos e componentes
Operação e manutenção - Revisão de logs - Detecção de ataques - Monitoramento constante
Descarte/Remoção - Preservação das informações - Exclusão apropriada de dados - Descarte apropriado de equipamentos, etc.
1 2 3 4 5
Guias de virtualização: Red Hat
105
� Subdivide as recomendações em três grupos: � Segurança do host/hypervisor � Segurança do guest/convidado � Segurança de rede no ambiente virtualizado
� Apresenta diversas recomendações específicas para o Red Hat Enterprise Linux (RHEL)
Guias de virtualização: Red Hat: Recomendações por grupo
106
� Segurança do host/hypervisor: � Executar apenas serviços recomendados � Limitar acesso apenas à usuários com necessidade
de gerenciar o sistema � Garantir que seja possível realizar auditorias � Utilizar canais seguros de comunicação
� SSL/TLS � Criar rede isolada de gerenciamento
Guias de virtualização: Red Hat: Recomendações por grupo
107
� Segurança do guest/convidado: � Utilização de canais seguros de comunicação � Garantir a segurança das aplicações � Cifragem de dados para que não sejam acessados
fora do escopo de segurança dos guests
� Segurança de Rede: � Utilização de protocolos seguros de comunicação � Firewalls � Políticas � Isolamento da rede de administradores dos guests
Guias de virtualização: PCI Security Standards
108
� Subdivide suas seções em três grupos: � Visão geral de virtualização � Riscos para ambientes virtualizados � Recomendações
Guias de virtualização: PCI: Recomendações por grupo
109
� Visão geral de virtualização: � Conceitos de virtualização (tipos/classes) � Componentes da virtualização
� Riscos para ambientes virtualizados: � Vulnerabilidades no ambiente físico aplicado em um ambiente
virtual � Vulnerabilidades proporcionadas pelo hypervisor � Aumento da complexidade dos sistemas virtualizados e redes � Mais de uma função por sistema físico
Guias de virtualização: PCI: Recomendações por grupo
110
� Recomendações sobre: � Não misturar de VMs de diferentes níveis de
confiança � Falta de separação de funções � VMs em estado de espera � Imagens e snapshots � Imaturidade das funções de monitoramento � Vazamento de informações entre segmentos virtuais
de rede
111
Aspectos NIST Red Hat PCI
1 – Segurança do hypervisor (Monitoramento/logs/ Configuração/ restrições de acesso administrativo)
Abordado Abordado Abordado
2 – Segurança da infraestrutura virtual Abordado Abordado Abordado
3 - Mistura de VMs de diferentes níveis de confiança no mesmo host
n.a. n.a. Abordado
4 - Segurança em virtualização de servidores Abordado Abordado Abordado
5 - Segurança em virtualização de desktops Abordado n.a. Abordado
Guias de segurança para virtualização: Comparativo
Guias de segurança para virtualização: Comparativo
112
Aspectos NIST Red Hat PCI
6 - Vazamento de informações entre segmentos virtuais de rede Abordado n.a. Abordado
7 - Imaturidade das funções de monitoramento n.a. n.a. Abordado
8 – Segurança na geração de imagens e snapshots n.a. n.a. Abordado
9 – Isolamento de rede Abordado Abordado Abordado
10 – Proteção da imagem da VM Abordado n.a. Abordado
11 – Segurança dos dados da VM Abordado Abordado Abordado 12 - Segurança das APIs do hypervisor n.a. n.a. n.a.
Guias de segurança para virtualização: Comparativo
113
� O documento que aborda mais tópicos é o da PCI, seguido pelo NIST � Red Hat é mais básico devido ao foco no RHEL
� Os pontos críticos em comum abordados pelos guias são os de maior importância na virtualização � Segurança do hypervisor � Segurança dos guests � Segurança da infraestrutura virtual
� O hypervisor é destacado nos documentos como um componente fundamental na virtualização � Função de coordenar as VMs e permitir acesso destas ao
hardware físico � Se for comprometido, a chance de todas as VMs naquele host
também o serem é considerável
Análise de segurança para nuvens computacionais
Elementos envolvidos Fronteiras da nuvem Responsabilidades vs. Consequências Identificação de pontos-chave Modelo organizacional
114
Análise de segurança para nuvens: Elementos envolvidos
115
� Grande parte das tecnologias utilizadas para viabilizar a computação em nuvem não foi desenvolvida especificamente para o modelo de nuvens computacionais � Adaptadas para sua utilização visando a maximização dos
recursos disponíveis (Exemplo: Xen, KVM, etc.)
� Esta união de diferentes paradigmas, que por si só já possuem vulnerabilidades intrínsecas, proporciona o surgimento de novas vulnerabilidades decorrentes de sua associação
� Esta insegurança é um grande entrave para a adoção da computação em nuvem por várias organizações
Análise de segurança para nuvens: Fronteiras da nuvem
116
� Quando é utilizado um modelo computacional de larga escala que atende múltiplos consumidores ao mesmo tempo, deve existir um balanço entre a segurança e as facilidades proporcionadas pelos mesmos
� Cada modelo de serviço possui características distintas: � Diferentes requisitos de segurança
� As fronteiras da nuvem delimitam as responsabilidades do provedor e consumidor dos serviços de nuvem quanto à segurança oferecida � Elucidam até que ponto é obrigação do provedor garantir a
segurança de um determinado serviço
Análise de segurança para nuvens: Fronteiras da nuvem
117
Análise de segurança para nuvens: Fronteiras da nuvem
118
Análise de segurança para nuvens: Fronteiras da nuvem
119
� SaaS: infraestrutura é geralmente compartilhada por uma larga escala de usuários na nuvem � Controle da segurança e o seu escopo são negociados no
contrato de serviço com o provedor � A maior parte das responsabilidades cabe ao provedor no
SaaS
� PaaS: a responsabilidade é mais proporcional entre o provedor e o consumidor � A segurança deve ser avaliada por meio de uma combinação de
fatores � Exemplo: SLA e ferramentas disponibilizadas para que o
consumidor gerencie a segurança dos seus dados
Análise de segurança para nuvens: Fronteiras da nuvem
120
� IaaS: ainda há uma pequena parcela de responsabilidade na segurança por parte do provedor, mas ela é menor do que no PaaS e SaaS � O consumidor possui maior controle sobre os recursos
compartilhados � No modelo de serviço IaaS o consumidor é o maior
responsável por garantir e gerenciar a segurança do ambiente
Análise de segurança para nuvens: Responsabilidades vs. Consequências
121
� Apesar das diferenças entre os modelos de serviço de nuvem, em todos eles o principal mecanismo de segurança é o contrato de nível de serviço (SLA) � O SLA é um contrato estabelecido entre o provedor
e o consumidor de um determinado serviço � Projetado para criar um entendimento comum sobre
qualidade de serviço, prioridades, responsabilidades entre outros aspectos inerentes ao serviço ou produto fornecido
Análise de segurança para nuvens: Responsabilidades vs. Consequências
122
� Sec-SLA é um subconjunto de um SLA que lida especificamente com métricas relacionadas à segurança ao invés de métricas tradicionais de telecomunicações como vazão, atraso, perda de pacotes e outras métricas similares
Análise de segurança para nuvens: Responsabilidades vs. Consequências
123
� O surgimento de Sec-SLAs está diretamente relacionado às modificações nos paradigmas tradicionais de computação distribuída trazidos com a nuvem � Levou à necessidade de reforço na segurança dos SLAs
tradicionais
� Uma organização transfere parte da responsabilidade da segurança para o provedor de nuvem toda vez que faz o outsourcing de parte de seus serviços computacionais � Necessidade de Sec-SLA para transferir responsabilidades de
segurança
Análise de segurança para nuvens: Responsabilidades vs. Consequências
124
� Um SecSLA de computação em nuvem deve considerar tanto requisitos gerais provenientes do modelo de nuvem quanto requisitos específicos propiciados pela necessidade de segurança de cada consumidor � Deve incluir a variação no nível de segurança exigida pelos
mesmos � Cada requisito identificado deve possuir um mecanismo de
segurança equivalente, de modo que a nuvem satisfaça o acordo estabelecido no Sec-SLA e não sofra penalidades
Análise de segurança para nuvens: Identificação de pontos-chave
125
� Os guias do NIST, CSA e ENISA são guias gerais para segurança em computação em nuvem
Organização Publicação Ano NIST The NIST definition of cloud computing 2011 NIST NIST Cloud Computing Reference Architecture 2011 NIST Guidelines on security and privacy in public cloud computing 2011 NIST NIST Cloud Computing Standards Roadmap 2011 NIST Guide to Security for Full Virtualization Technologies 2011 NIST NIST Cloud Computing Security Reference Architecture 2013 CSA Top Threats to Cloud Computing V1.0 2010 CSA Security Guidance for Critical Areas of Focus in Cloud Computing V3.0 2011 CSA The Notorious Nine Cloud Computing Top Threats in 2013 2013 CSA Cloud Computing Vulnerability Incidents: A Statistical Overview 2013
ENISA Cloud Computing Benefits, risks and recommendations for information security 2011 ENISA ENISA Threat Landscape 2013: Overview of current and emerging cyber-threats 2013 Gartner Assessing the security risks of cloud computing 2008 Gartner Gartner: Seven cloud-computing security risks 2008
Análise de segurança para nuvens: Identificação de pontos-chave
126
� Destaca-se “The Notorious Nine Cloud Computing Top Threats in 2013” - CSA (final do ano de 2013) � Expressa as principais preocupações da indústria ao
considerar a adoção desse novo paradigma tecnológico como (parte de) sua infraestrutura de TI
Análise de segurança para nuvens: Identificação de pontos-chave
127
� Destaca-se o documento “The Notorious Nine Cloud Computing Top Threats in 2013”, CSA (final do ano de 2013) � O documento traz um ranking das nove principais ameaças de
segurança no cenário de computação em nuvem: � 1 – Violação de dados � 2 – Perda de dados � 3 – Captura de serviços � 4 – APIs e interfaces não seguras � 5 – Negação de serviços � 6 – Usuário autorizado malicioso � 7 – Abusos dos serviços de nuvem � 8 – Insuficiência por falta de diligência � 9 – Tecnologias de compartilhamento
Análise de segurança para nuvens: Modelo Organizacional
128
Análise de segurança para nuvens: Modelo Organizacional
129
� Modelo permite identificar os diferentes aspectos de segurança a serem analisados em uma solução de computação em nuvem � Organização proposta auxilia a busca de referências para
fundamentar essa análise
� Divisão clara de responsabilidades sobre a resolução dos problemas de segurança na nuvem entre provedores de serviço e seus consumidores � Divisão está intimamente relacionada com o modelo de
serviço oferecido
Análise de segurança para nuvens: Modelo Organizacional
130
Análise de segurança para nuvens: Modelo Organizacional
131
Modelo Requisitos de Segurança SaaS - Privacidade em ambiente multiusuário - Proteção contra a exposição de dados (incluindo dados remanescentes) - Controle de acesso - Proteção da comunicação - Segurança de software - Disponibilidade de serviço PaaS - Controle de acesso - Segurança de aplicações - Segurança de dados (armazenados, em trânsito ou remanescentes) - Segurança da comunicação IaaS - Controle de acesso - Segurança de dados (armazenados, em trânsito ou remanescentes) - Segurança no controle de gerenciamento da nuvem - Arquivos das instâncias virtuais seguras (e.g., imagem de VM) - Proteção da camada de virtualização - Segurança da comunicação - Segurança contra abusos dos serviços de computação em nuvem - Segurança do Hardware - Confiabilidade do hardware - Proteção dos meios de comunicação
Análise de segurança para nuvens: Modelo Organizacional
132 Security Guidance for Critical Areas of Focus in Cloud Computing v 30 (CSA)
Análise de segurança para nuvens: Modelo Organizacional
133 Assessing the Security Risks of Cloud
Computing (Gartner)
Análise de segurança para nuvens: Modelo Organizacional
134 The Notorious Nine Cloud Computing
Threats in 2013 (CSA)
Estudo de caso: OpenStack Havana
Contexto Componentes Ciclo de vida de uma VM Funcionamento APIs e interfaces de comunicação Segurança das APIs
135
Estudo de Caso: OpenStack Havana: Contexto
136
� OpenStack é um projeto de computação em nuvem criado em julho de 2010, fruto de uma iniciativa entre a RackSpace e a NASA
� Serviço de computação em nuvem que possa ser executado em hardware de servidores padrão
� Atualizações e correções em períodos curtos de tempo � A partir da quinta versão do OpenStack ficou estabelecido o
período de seis meses
� Modelo de Serviço: IaaS � Modelo de implantação: variado, depende do consumidor � Licença: Apache 2.0 � https://www.openstack.org/
Estudo de Caso: OpenStack Havana: Contexto
137
� O projeto OpenStack é uma coleção de componentes de código aberto utilizados por organizações para configurar e gerenciar nuvens de computação
� Projeto visa construir uma comunidade Open Source com pesquisadores, desenvolvedores e empresas, que compartilham um objetivo comum: � Criar uma nuvem simples de ser implementada,
altamente escalável e com vários recursos avançados
� Versão anterior: Havana – 17/Outubro/2013 � Versão atual: IceHouse – 18/Abril/2014
Estudo de Caso: OpenStack Havana: Componentes
138
Serviço Codinome Descrição
Armazenamento de objetos
Swift Permite armazenar/recuperar arquivos que não estejam montados em um diretório. Armazenamento a longo prazo para dados permanentes ou estáticos.
Painel de Controle / dashboard
Horizon Fornece uma interface web modular para todos os componentes do OpenStack, gerenciamento direto a partir de um navegador web comum.
Gerenciamento de nuvem
Nova É o software que controla a infraestrutura de IaaS, alocando ou liberando recursos computacionais, como rede, autenticação, entre outros.
Serviço de imagens
Glance Fornece um catálogo e repositório para imagens de disco virtuais. Essas imagens são manipuladas pelo Nova, responsável pelo gerenciamento das mesmas.
Armazenamento de blocos
Cinder Fornece um armazenamento de blocos às VMs.
Serviço de rede Neutron Provisiona serviços de rede para os componentes que são gerenciados pelo Nova.
Serviço de identidade
Keystone Fornece autenticação e autorização para todos os serviços do OpenStack.
Contabilidade Ceilometer Monitora e mede o OpenStack para efetuar cobranças, medição de desempenho, escalabilidade e geração de estatísticas.
Orquestração Heat Orquestra a nuvem, permitindo o gerenciamento dos demais componentes por meio de uma interface única.
Estudo de Caso: OpenStack Havana: Componentes
139
Estudo de Caso: OpenStack Havana: Ciclo de vida VM
140
� O modelo de serviço da plataforma OpenStack tem por objetivo fornecer uma IaaS para o consumidor � O fornecimento dessa infraestrutura envolve a
disponibilização de diversos componentes: � Serviços de rede, � Serviço de armazenamento � Serviço de processamento � ...
� Entender os estados e etapas para a criação de uma máquina virtual é vital para entender o funcionamento da plataforma
� O ciclo de vida de uma máquina virtual é guiado pelo Nova � O Nova controla toda a infraestrutura de VMs da nuvem, nas
etapas de criação, utilização e exclusão de uma máquina virtual
Estudo de Caso: OpenStack Havana: Ciclo de vida VM
141
Estudo de Caso: OpenStack Havana: Ciclo de vida VM
142
Estudo de Caso: OpenStack Havana: Ciclo de vida VM
143
Estudo de Caso: OpenStack Havana: Ciclo de vida VM
144
Estudo de Caso: OpenStack Havana: Ciclo de vida VM
145
Estudo de Caso: OpenStack Havana: Ciclo de vida VM
146
Estudo de Caso: OpenStack Havana: Ciclo de vida VM
147
Estudo de Caso: OpenStack Havana: APIs e interfaces
148
� Todos os serviços oferecidos pelo OpenStack podem ser configurados e manipulados por meio de APIs: � Block Storage Service API: para gerenciamento de volumes e snapshots � Compute API: utilizada para inicializar VMs a partir de um snapshot ou de
imagens armazenadas em volumes persistentes � Identity Service API: lida com tokens de autenticação que permitem o acesso
à Compute API � Image Service API: permite a criação, edição e exclusão de metadados
associados a uma imagem, bem como o compartilhamento das imagens entre usuários
� Networking API: provê os serviços de redes virtuais entre dispositivos gerenciados pelo nó de computação / criação de redes e sub-redes, alocação de blocos de IP, e demais configurações das redes do Neutron
� Object Storage API: utilizada para gerenciar contas, containers e objetos do sistema Object Storage
� Orchestration API: provê uma linguagem modelo para orquestração dos serviços do OpenStack.
� Telemetry API: gerencia as operações de telemetria da nuvem
Estudo de Caso: OpenStack Havana: APIs e interfaces
149
� Um usuário primeiramente se autentica por meio do serviço de identidade (Keystone)
� Após sua autenticação, o usuário pode criar e gerenciar recursos na nuvem OpenStack � Um exemplo é a inicialização de instâncias de
imagens e a associação de metadados por meio da Compute API � Acessíveis através de ferramentas de linha de comando ou
clientes REST acessíveis via navegador web, que executam as chamadas para APIs por meio de mensagens HTTP(S)
Estudo de Caso: OpenStack Havana: Funcionamento
150
Estudo de Caso: OpenStack Havana: Coleta, análise e testes
151
� Utilizado o caso de uso de criação de uma VM
� Monitoramento dos dados gerados pela comunicação entre os componentes observados (APIs) � Coleta dos dados da autenticação do usuário no
Keystone e a requisição de uma imagem de VM no Glance
� Verificação da segurança padrão da comunicação interna
Estudo de Caso: OpenStack Havana: Coleta, análise e testes
152
� Uma operação básica para a criação de uma VM consiste nas seguintes etapas: � Adição da VM em um grupo de segurança: consiste em
verificar quais grupos de segurança estão disponíveis na plataforma, criando ou personalizando um � Os grupos de segurança permitem associar regras de rede
para um grupo de VMs ligadas a um projeto ou tenant � Proporcionando maneiras de impor restrições ao acesso
das VMs � Exemplo: habilitação dos protocolos SSH e ICMP
� Associação de um par de chaves: criar/associar um par de chaves criptográficas à VM
Estudo de Caso: OpenStack Havana: Coleta, análise e testes
153
� Uma operação básica para a criação de uma VM consiste nas seguintes etapas (cont.): � Verificação dos tipos e imagens das VMs: as VMs no
OpenStack podem ser de diferentes tipos, variando em termos de poder computacional de acordo com a necessidade do usuário � Uma vez determinado o tipo da VM, é necessário determinar a
imagem a ser utilizada � Por padrão, o OpenStack disponibiliza a imagem Cirros para a
criação de VMs
� Criação da VM: uma vez que as etapas anteriores tenham sido concluídas, a criação da VM é feita via API do Nova, � Passagem como argumento de tipo da VM, identificador da
imagem, par de chaves e grupo de segurança
Estudo de Caso: OpenStack Havana: Coleta, análise e testes
154
Estudo de Caso: OpenStack Havana: Coleta, análise e testes
155
Estudo de Caso: OpenStack Havana: Coleta, análise e testes
156
� Após a criação da VM, o resultado do tráfego gerado pela comunicação entre os componentes foi analisado via Wireshark
� O monitoramento foi realizada nos componentes Keystone e Glance, que estão por padrão nas portas :5000 e :9292
� Por padrão, a plataforma utiliza o protocolo HTTP para a comunicação interna entre os componentes � HTTP não é um protocolo seguro para o tráfego de dados
sensíveis como credenciais do usuário e da imagem requisitada no Glance
� HTPPS corrigido (sem a vulnerabilidade do Heartbleed) é recomendado
Estudo de Caso: OpenStack Havana: Coleta, análise e testes
157
Estudo de Caso: OpenStack Havana: Coleta, análise e testes
158
� Resultado similar pode ser observado na requisição de autenticação do Glance para o Keystone, que envia a senha “semsenha” para o endereço do Keystone (192.168.0.100:5000/v2.0)
Estudo de Caso: OpenStack Havana: Coleta, análise e testes
159
� Conclusão: toda requisição e confirmação de autenticação é realizada com o nome de usuário e sua senha sendo enviados às claras � Possibilita que qualquer usuário interno malicioso possa
capturar credenciais de outros usuários na nuvem.
� O OpenStack Havana fornece suporte à conexão segura entre os componentes: � Cifrar os metadados das imagens no Glance
� Realizado via API do Glance por meio da utilização da biblioteca AES
� Cifração da comunicação na plataforma � Utilização do protocolo HTTPS com os protocolos
criptográficos � SSL/TLS
� Basta configurar na instalação ou pós-instalação!
Estudo de Caso: OpenStack Havana: Coleta, análise e testes
160
� Olhando o código e entendendo como as coisas acontecem: � Armazenamento das senhas dos usuários na plataforma pelo
Keystone é realizado usando simplesmente a função de hash SHA-2 com uma saída de 384 bits
� Hashes não são “temperados” (salted) e o roubo do arquivo facilita o descobrimento das senhas por ataques de dicionário � Recomenda-se o uso de esquemas de derivação de chaves, e.g., PBKDF2
Considerações
161
� Os guias de segurança relacionados a nuvens computacionais e VMs indicam que já há um bom nível de conhecimento sobre aspectos de segurança essenciais para se levar em consideração no contexto de computação em nuvem
� A diversidade de serviços de nuvem e contextos específicos de consumidor/provedor aliados aos diferentes modelos de serviço e abordagens de implantação tornam a execução da análise de segurança nesses ambiente uma tarefa complexa
Considerações
162
� As questões de segurança oriundas de elementos não específicos da nuvem usualmente já apresentam alguma abordagem de tratamento, antes mesmo de sua incorporação a soluções de nuvem
� Questões intrínsecas da nuvem exigem o início de novos estudos de segurança
Considerações
163
� OpenStack possui um grupo muito bem estruturado para trabalhar com aspectos de segurança � Soluções Open Source tendem a ter suas
vulnerabilidades reveladas mais rapidamente e também corrigidas rapidamente
� Soluções proprietárias tem análise de segurança dificultada em certos aspectos pela inacessibilidade (obscuridade) aos recursos para testes, além de não poder avaliar o código fonte
� É essencial que consumidores da nuvem preocupem-se não apenas com a escolha e verificação de recursos de segurança da nuvem, mas também em habilitá-los e usá-los corretamente quando incorporem a nuvem em seus ambientes
Agradecimentos
164
� Agradecemos o Centro de Inovação, Ericsson Telecomunicações S.A., Brasil pelo suporte e financiamento do projeto correlacionado ao tema desse documento.
� Este trabalho foi parcialmente financiado pelo Conselho Nacional de Desenvolvimento Científico e Tecnológico (CNPq) por meio da bolsa de produtividade 305350/2013-7.
� Agradecemos a Universidade do Estado de Santa Catarina (UDESC) pelo suporte e financiamento do projeto correlacionado ao tema deste trabalho.
Agradecimentos
165
� Ewerton Rodrigues Andrade (LARC/USP)
Segurança em Computação em Nuvem
166
167
� Estes slides possuem direitos autorais por uma licença Creative Commons: � http://creativecommons.org/licenses/by-sa/4.0/
Backup slides
168
Estudo de Caso: OpenStack Havana: Plataformas de Virtualização
169
� O OpenStack divide as plataformas em três grupos: � Grupo A: os drivers são totalmente suportados
� Hypervisors: libvirt qemu/KVM em x86 � Grupo B: os drivers não foram totalmente testados
� Hypervisors: XenAPI em x86 � Grupo C: os drivers foram minimamente testados
ou não foram testados � Hypervisors: VMWare, baremetal, docker, Microsoft Hyper-
V, libvirt (LXC, Xen), PowerVM e ARM
Hypervisors mais poulares no OpenStack
170
Arquitetura Xen
Adaptado de: (MENEZES, 2008)
171
Xen no OpenStack Havana
172
Arquitetura KVM
Adaptado de: (HABBIB, 2008) 173
KVM no OpenStack Havana
174
Arquitetura VMWare
Adaptado de: www.vmware.com 175
Hypervisors no OpenStack Havana
176
Instalação do OpenStack
177
� Abordagem para desenvolvedores � Instalação por scripts
� Multi-node, Single-node, em VM
� Não recomendada para uso em produção! � Scripts facilitam a instalação porém limitam a
personalização de configurações
Configuração do DevStack
178
� Hypervisor utilizado pelo DevStack: � Qemu � Abordagem multi-node
Compute
Controller
� Muitas vezes a segurança da plataforma depende da sua configuração adequada � As configurações de segurança não são habilitadas
por padrão tanto para o DevStack e a para instalação tradicional
� Habilitar o protocolo SSL/TLS proporciona segurança na comunicação interna na plataforma
Observações
179