Documente Academic
Documente Profesional
Documente Cultură
Dissertao de Mestrado
RECIFE
2016
Trabalho apresentado ao Programa de do da Universidade Federal de Pernambuco como requisito parcial para
obteno do grau de Mestre em Cincia da Computao.
RECIFE
2016
Catalogao na fonte
Bibliotecria Monick Raquel Silvestre da S. Portes, CRB4-1217
M528a
BANCA EXAMINADORA
Agradecimentos
Primeiramente agradecer a Deus, por me iluminar e guiar sempre da melhor forma
possvel meu caminho.
Rafaela Arcoverde, pelo dedicao, pacincia, compreenso em minhas ausncias para
realizao deste trabalho.
Agradeo a todos os professores que, de alguma forma, contriburam para a concretizao
da minha ps-graduao.
Ao meu orientador, Vinicius Cardoso Garcia, pela oportunidade oferecida. Muito obrigado.
Agradeo tambm ao Carlo Marcelo pelas ideias trocadas, ajuda e motivao que foram
fundamentais.
Ao Major Santos, Chefe da Subdiviso de Tecnologia da Informao do CINDACTA III,
por autorizar e fornecer toda infraestrutura necessria para meus estudos.
E por fim agradeo a mim mesmo, pela grande persistncia e determinao tida por todas
dificuldades enfrentadas ao longo de minha formao. Sou muito grato por ter conseguido chegar
at aqui.
Resumo
Contexto: A crescente adoo de computao em nuvem ofereceu diversos benefcios,
como escalabilidade, eficincia e lucratividade, mas apresenta novos riscos de segurana que
comprometem a confidencialidade, integridade e disponibilidade dos servios prestados. Neste
contexto, as organizaes militares buscam modelos de nuvens privadas alinhadas com suas
preocupaes envolvendo segurana, conformidade e polticas. Atualmente, a segurana o
maior obstculo para ampla adoo da computao em nuvem.
Objetivo: Com base neste cenrio, o trabalho prope, a partir da anlise das normas e
implementaes de segurana para Web Services, definir uma arquitetura segura para mitigar
as principais ameaas de segurana em ambientes de nuvem, segundo o guia intitulado The
Notorious Nine: Cloud Computing Top Threats in 2013 da Cloud Security Alliance.
Metodologia: Atravs de um estudo na literatura sobre computao em nuvem e segurana neste ambiente, foram utilizadas referncias da rea de pesquisa relacionadas ao problema
identificado. Especificou-se uma arquitetura segura como hiptese de soluo, e posteriormente avaliou-se tal hiptese por meio da implementao de um prottipo, evidenciando-se a
importncia desta soluo.
Resultados: Como resultado obteve-se uma arquitetura de referncia para minimizar os
riscos de segurana na implantao de nuvens privadas nas organizaes militares. Experimentos
de campo contemplaram aquisies a respeito dos mecanismos de segurana aplicados, em particular os padres WS-Policy, WS-Security e SAML, os quais conseguiram oferecer mecanismos
padro de segurana necessrios para realizar o intercmbio seguro de mensagens certificadas
em ambiente de nuvem.
Palavras-chave: Segurana da Informao. Web Services. Organizaes Militares. Computao em Nuvem.
Abstract
Context: The ever increasing adoption of cloud computing has yielded several benefits,
such as scalability, efficiency and profitability. However, it does present new security threats
that compromise confidentiality, integrity and availability of the services offered. In this light,
military organizations search for private cloud models that comply with their concerns about
security, conformity and policies. Nowadays, security is the greatest obstacle for the widespread
adoption of cloud computing.
Objective: In this scenario, the work presented here aims, based on the analysis of the
current security rules and implementations for Web Services, to define a secure architecture to
mitigate the main security threats for cloud environment, as identified by the guide entitled The
Notorious Nine: Cloud Computing Top Threats in 2013 issued by the Cloud Security Alliance.
Method: Through a bibliographical study about cloud computing and security in such
environments, the main references on the problem were identified and used. In the sequel, a
secure architecture was specified as a solution hypothesis. Such hypothesis was then evaluated
through the implementation of a prototype, which has helped us to highlight the importance of
such solution.
Results: The main result of this work was a reference architecture that can be used to
minimize the security threats in the deployment of private clouds in military organizations. Field
experiments have taken into account inputs from the security mechanism patterns used, namely:
WS-Policy, WS-Security e SAML. Such patterns offered the security levels needed for the secure
exchange of certified messages in cloud environments.
Keywords: Information Security. Web Services. Military Organizations. Cloud Computing.
Lista de Ilustraes
2.1
2.2
2.3
2.4
2.5
2.6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
22
23
24
26
30
39
4.1
4.2
4.3
4.4
4.5
4.6
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
49
50
53
54
57
66
5.1
5.2
5.3
5.4
5.5
5.6
5.7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
71
74
76
79
80
81
82
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Lista de Tabelas
3.1
5.1
5.2
5.3
45
73
73
75
Lista de Acrnimos
AD
Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
AWS
API
B2B
business-to-business . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
CaaS
Components as a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
CINDACTA III Terceiro Centro Integrado de Defesa Area e Controle de Trfego Areo . . 55
CN
Computao em Nuvem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
CSA
DoS
Denial of Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
DDoS
Distributed Denial-of-service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
ePING
FTP
HTTP
HTTPS
JSON
IaaS
Infrastructure as a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
IF
Injeo de Falhas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
IBM
IDL
IdP
Provedor de Identidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
IETF
LDAP
MITC
NIST
OASIS
OLDAP
OpenLDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
PaaS
Platform as a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
PKI
QoS
Quality of Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
REST
RPC
SaaS
Software as a Service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
SGC
SAML
SMTP
SOA
Service-Oriented Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
SOAP
SSL
SSO
Single-Sign On . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
TI
Tecnologia da Informao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
TIC
TLS
UDDI
URI
W3C
WS
Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
WSDL
WS-I
WSLA
WSP
WSS
WSSP
X-KRSS
X-KISS
XKMS
XML
Sumrio
Introduo
15
1.1
Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
1.2
Estabelecimento do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
1.3
Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
1.4
Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
1.5
Estrutura da Dissertao . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
Referencial Terico
21
2.1
Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
2.1.1
Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
2.1.2
Normalizao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
2.1.3
23
2.1.4
24
2.1.5
25
2.1.6
26
27
2.2.1
Arquitetura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
27
2.2.2
29
2.2.3
XML Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
33
2.3.1
A Anatomia da SAML . . . . . . . . . . . . . . . . . . . . . . . . . .
33
36
2.4.1
36
2.4.2
37
Computao em Nuvem . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
2.5.1
Modelos de Servio . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
2.5.2
Modelos de Implantao . . . . . . . . . . . . . . . . . . . . . . . . .
40
2.5.3
Ameaas Nuvem . . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
2.5.3.1
Vazamento de Dados . . . . . . . . . . . . . . . . . . . . .
41
2.5.3.2
Perda de Dados . . . . . . . . . . . . . . . . . . . . . . . .
41
2.5.3.3
42
2.5.3.4
Interfaces Inseguras . . . . . . . . . . . . . . . . . . . . . .
43
2.5.3.5
Negao de Servio . . . . . . . . . . . . . . . . . . . . . .
43
Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
2.2
2.3
2.4
2.5
2.6
Trabalhos Relacionados
3.1 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
47
Implementao da Proposta
4.1 Metodologia 4+1 . . . . . . . . . . . . . . . . . . . . . .
4.2 Viso Lgica . . . . . . . . . . . . . . . . . . . . . . . .
4.2.1 Mdulo de Servio . . . . . . . . . . . . . . . . .
4.2.2 Mdulo de Mecanismos de Segurana . . . . . . .
4.2.3 Mdulo de Polticas de Segurana . . . . . . . . .
4.2.4 Mdulo de Gerenciamento de Acesso e Identidade
4.3 Viso Dependncia . . . . . . . . . . . . . . . . . . . . .
4.4 Viso Implementao . . . . . . . . . . . . . . . . . . . .
4.5 Viso Fsica . . . . . . . . . . . . . . . . . . . . . . . . .
4.6 Cenrios . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6.1 Desenvolvimento da Aplicao . . . . . . . . . . .
4.6.2 Experimento de Campo . . . . . . . . . . . . . . .
4.6.2.1 Estudo de Caso 01 . . . . . . . . . . . .
4.6.2.2 Estudo de Caso 02 . . . . . . . . . . . .
4.6.2.3 Estudo de Caso 03 . . . . . . . . . . . .
4.7 Consideraes Finais . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
49
49
50
51
51
52
52
53
54
55
56
56
57
57
60
65
68
.
.
.
.
.
.
.
.
71
71
72
72
72
73
76
78
82
Consideraes Finais
6.1 Contribuies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
83
84
84
Avaliao da Proposta
5.1 Metodologia . . . . . . . . . . . . . . . . . . . . .
5.1.1 Planejamento . . . . . . . . . . . . . . . .
5.1.1.1 Publico alvo e cenrio de atuao
5.1.1.2 Critrio de Avaliao . . . . . .
5.1.2 Definio . . . . . . . . . . . . . . . . . .
5.1.3 Coleta de Dados . . . . . . . . . . . . . .
5.1.4 Anlise dos Resultados . . . . . . . . . . .
5.2 Limitaes da Avaliao . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Referncias
85
Apndice
89
A Certificado Digital
91
15
1
Introduo
O advento da Computao em Nuvem (CN), ou do ingls cloud computing, oferece
vantagens em investimentos operacionais por meio de custos sobre demanda, provido de um
ambiente dinmico e facilmente escalvel. A partir dos novos modelos de negcios estratgicos,
minimizam-se as preocupaes de gerenciamento operacional, trazendo vantagens de mobilidade,
escalabilidade e disponibilidade das informaes e servios de dentro para fora da organizao
(ARMBRUST et al., 2010). Como resultado, esses modelos de servio so oferecidos por um
nmero crescente de provedores em nuvem.
Em contrapartida, esses modelos de servio utilizados em ambiente da CN apresentam
diferentes nveis de riscos se comparados ao ambiente tradicional (CSA, 2011). Segundo o
relatrio The Notorious Nine: Cloud Computing Top Threats in 2013, a Cloud Security
Alliance (CSA) identificou nove ameaas em ambientes de nuvem: vazamento de dados, perda
de dados, sequestro de contas ou de trfego de servios, interfaces inseguras, negao de
servios, usurio mal intencionado, abuso de servios da nuvem, investigao insuficiente e
vulnerabilidades de recursos compartilhados (CSA, 2013).
A crescente insatisfao com a segurana em servios de processamento, transferncia e
armazenamento de dados em nuvens resultado de uma combinao de diversos fatores, dentre
os quais podem ser citados: a falta de padres de interoperabilidade bem definidos (ISO/IEC,
2013); a perda de controle de dados e aplicaes em nuvens computacionais, resultando em
indisponibilidades de servios, vazamento e perda de dados; a falta de conhecimento dos riscos
existentes em ambientes de nuvem. Segundo a CSA (2011), a segurana uma forte barreira
contra a ampla adoo da computao em nuvem.
Esses problemas de segurana so complexos, pois no envolvem apenas questes arquiteturais e tecnolgicas, mas tambm mudanas de processos, em funo dos novos modelos de
computao em nuvem. Organizaes como World Wide Web Consortium (W3C) e Organization
for the Advancement of Structured Information Standards (OASIS) so responsveis pelo conjunto de padres de interoperabilidade e segurana dos Web Services (WS). Empresas como
International Business Machines (IBM) e Amazon Web Services (AWS), lderes do setor de
segurana em ambientes de nuvem, apoiam o desenvolvimento destes padres (CSER, 2014).
16
1. INTRODUO
1.1
Motivao
centro de processamento de dados (CPD) o local onde so concentrados os equipamentos de processamento e armazenamento de dados de uma empresa ou organizao
17
1.2
Estabelecimento do Problema
1.3
Justificativa
18
1. INTRODUO
do modelo de nuvem privada atravs da utilizao da tecnologia de WS, com uma anlise
aprofundada das normas e implementaes de segurana propostas.
1.4
Objetivos
Com objetivo de atender crescente demanda dos servios TIC baseados em computao
em nuvem privada, este trabalho prope especificar, projetar e implementar uma arquitetura de
software guiada por conformidades de segurana para WS em um ambiente de computao em
nuvem privada em uma organizao militar. Para isto, sero implementados experimentos de
campo com objetivo de analisar os mecanismos de segurana utilizados como padro nos WS.
Esta proposta objetiva adotar uma arquitetura de referncia de oferta de servios de
Tecnologia da Informao (TI) e garantir conformidades de segurana com as boas prticas de
segurana da informao.
Os objetivos especficos a serem atingidos incluem:
1. Mitigar as cinco principais ameaas segurana em um ambiente de nuvem, conforme
identificado no relatrio The Notorious Nine: Cloud Computing Top Threats in
2013 da CSA (2013), com ateno especial ao modelo SaaS e anlise de risco
das principais propriedades bsicas da segurana: confidencialidade, integridade,
disponibilidade, autenticidade e no repdio;
2. Estudo da plataforma tecnolgica de WS, com nfase nas normas de segurana em
nvel de servio e de mensagem (LADAN, 2011);
3. Atendimento a Portaria SLTI/MP n 92, de 24 de dezembro de 2014, no que tange as
reas cobertas pela ePING;
4. Implementar e avaliar a arquitetura de referncia atravs de um experimento de
campo com desenvolvimento de um prottipo para anlise da tecnologia de servios
seguros propostos pelas normas WSS, SAML e WSP.
1.5
Estrutura da Dissertao
19
21
2
Referencial Terico
Atravs de cinco Sees esta parte tem como objetivo explanar os conceitos e estudos
utilizados como base para a presente pesquisa. Na primeira seo so apresentados os conceitos
dos WS. A segunda seo discute as noes da extenso WSS e seus mecanismos de segurana.
A terceira fornece detalhes da especificao SAML e a integrao entre os diferentes sistemas
de autenticao e de autorizao. A quarta seo aborda a estrutura do WSP para apoiar na
confeco das polticas de segurana. A quinta e ltima, aborda os conceitos e os principais
benefcios e ameaas da CN.
2.1
Web Services
22
2. REFERENCIAL TERICO
2.1.1
Arquitetura
2.1.2
Normalizao
23
A pilha de protocolos dos WS apresentada na Figura 2.2 abrange normas que suportam a
interao das trs entidades mencionadas. Algumas dessas mais importantes normas de WS so
definidas pelo W3C2 (W3C, 2004).
Figura 2.2: Arquitetura de normas de WS proposta pelo W3C
A seguir, cada um dos padres XML, SOAP, Web Services Description Language
(WSDL) e Universal Description Discovery and Integration (UDDI) que compem a pilha
bsica de protocolos e tecnologia base dos WS so explicados em detalhes.
2.1.3
A XML um formato de texto simples e flexvel, um subconjunto de Standard Generalized Markup Language3 (SGML). Criado em 1996 e formalizado em 1998, se tornou um
importante padro de troca de dados na Web. O padro de XML registrado pelo W3C.
Com o advento do XML, tornou-se simplificada a tarefa de preparar documentos para
troca entre sistemas de diferentes ambientes. A especificao XML contm um conjunto de
regras de sintaxe para descrio de dados que definida por uso de Schemas, norma do W3C, que
contm regras de validao dos elementos e atributos de um documento XML. Outro componente
muito importante so os namespaces, mantido pela W3C. Os namespaces descrevem uma coleo
de nomes, identificados por uma referncia URI, que so usados para definir tipos de elementos e
atributos de um documento XML. O uso de namespaces previne que documentos XML diferentes
tenham elementos como nomes conflitantes. Assim, pode-se atribuir um prefixo ao namespaces.
2 https://www.w3.org/,
3 https://www.w3.org/MarkUp/SGML/,
24
2. REFERENCIAL TERICO
2.1.4
4 rea
2.1.5
25
5 http://www.corba.org,
26
2. REFERENCIAL TERICO
Figura 2.4: Estrutura de um documento WSDL
2.1.6
27
que prover o servio. A disponibilidade dos servios dos WS atravs de UDDI no obrigatria
(OASIS, 2004).
No domnio de informao da UDDI, existem trs tipos de informao que podem ser
consagrados no registro UDDI:
2.2
A Web Service Security ou WS-Security (WSS) suporta, integra e unifica vrios modelos,
mecanismos e tecnologias de segurana, oferecendo mecanismos padro de segurana necessrios
para realizar o intercmbio seguro de mensagens certificadas em um ambiente de WS.
As especificaes de segurana definem um conjunto de padres para extenses de
cabealhos de mensagens SOAP, utilizados para oferecer integridade, confidencialidade e autenticidade. Essas especificaes atendem esses trs requisitos de segurana atravs do uso da
Assinatura XML (XML Signature), da Criptografia XML (XML Encryption) e da Autenticao
e Autorizao XML (SAML) (OASIS, 2012a).
2.2.1
Arquitetura
28
2. REFERENCIAL TERICO
29
2.2.2
6 Conjunto
30
2. REFERENCIAL TERICO
9 https://www.w3.org/TR/xml-c14n,
31
Geralmente estes dados encontram-se na Web. ideal para assinar documentos que
sofrem constantes modificaes.
32
2. REFERENCIAL TERICO
Ainda no documento XML, podemos observar que todos os dados exceto o elemento
Nome foram criptografados. As informaes extremamente importantes, como os elementos
Numero, Limite e Senha so apresentados de forma criptografadas e colocadas entre as tags
<EncryptedData>, preservando a informao confidencial.
O WSS fornece estrutura para uma segurana completa e flexvel s necessidades individuais. Para tanto, essa tecnologia prope um conjunto de extenses de cabealho SOAP, que,
uma vez utilizados, podero conter XML para os padres j analisados anteriormente (XML
Signature, XML Encryption), bem como para os padres que surgiro no futuro (POTTS, 2003).
2.3
33
O propsito tecnolgico SAML dada em OASIS (2008) : . . . definir, melhorar, e manter um framework padro baseado em XML para criao e trocas informaes de autenticao
e autorizao.
Segundo Mello et al. (2006): Uma assero de segurana um conjunto de afirmaes, concedidas por um emissor SAML, sobre determinadas informaes de um principal.
2.3.1
A Anatomia da SAML
So definidos trs tipos de asseres da especificao SAML:
34
2. REFERENCIAL TERICO
35
A XML, comentada acima, exemplifica que a assero de autorizao contida no documento que afirma que o cliente tiad@cindacta3.aer.mil.br est autorizado a consultar a pgina
http://www.cindacta3.aer.mil.br/index.html e que pode submeter o formulrio http://www.cindacta
3.aer.mil.br/cadastrar. As afirmaes foram concebidas pelos atributos Decision do elemento
AuthorizationDecisionStatement informando Deny para negao, Permit para permisso e Indetreminate para indeterminao.
Mesmo prevendo o uso de autoridades responsveis pela emisso dessas asseres, o
modelo de uso SAML no as menciona. No entanto, as especificaes ditam os protocolos que
visam interao com essas autoridades (OASIS, 2008).
Portanto, verifica-se que o TLS/SSL tem capacidade de garantir a segurana necessria
para chamadas de WS simples e nohierrquicas. A SAML por sua vez, sobrepe-se ao
TLS/SSL, pois, apresenta em suas funcionalidades um protocolo de gerao de mensagens
baseado em SOAP com dados estruturados em XML, desta maneira capacitando uma empresa a
dar testemunho dos direitos de identidade, autenticao e atualizao de usurios humanos e de
programa (POTTS, 2003).
Vimos que o SAML permite que domnios da web seguros troquem a autenticao de
usurio e os dados de autorizao. Quando um provedor de servios usa a SAML, ele pode
entrar em contato com um provedor de identidade separado para autenticar usurios que estejam
tentando acessar um contedo seguro.
36
2.4
2. REFERENCIAL TERICO
A WSP uma linguagem para definir polticas de servios, oferecendo uma gramtica
flexvel e extensvel que permite definir como os recursos e restries das normas de segurana
podero ser expressos para o ambiente de WS.
2.4.1
A especificao WSP demasiada abstrata, expressa as capacidades, requisitos e caractersticas gerais de entidades em um WS baseado em XML. Desta forma, mantendo o foco
desse trabalho nas normas de segurana em nvel de segurana de servio e de mensagem, com
37
2.4.2
A WSSP uma especializao da WSP para definir polticas de segurana que descreve
como mensagens devem ser protegidas. A poltica pode aplicar-se a mensagens individuais, a
operaes ou a toda a extremidade do servio. As asseres (ou assertivas) WSSP referem-se s
funcionalidades de segurana de WSS, WS-Trust12 e WS-SecureConversation13 . Podem tambm
referir segurana no transporte, como no protocolo HTTP (OASIS, 2012c).
A especializao WSSP prov flexibilidade nas asseres com respeito a tipos de token,
algoritmos de criptografia e mecanismos usados, incluindo o uso de segurana em nvel de
transporte. Assim, permite que as mensagens requisitadas evoluam ao longo do tempo (OASIS,
2012c). Por exemplo, uma poltica pode especificar que a mensagem seja assinada com uma
chave de certificado digital X.509 e outra pode ditar que a autenticao seja feita com a chave de
um bilhete Kerberos.
A XML a seguir, apresenta a estrutura da WSSP de um servio:
12 http://goo.gl/RHX5SJ,
13 http://goo.gl/ULrS1L,
38
2. REFERENCIAL TERICO
Never: o token nunca pode ser transportado em mensagens, podendo apenas ser
referenciado;
Once: o token deve ser transportado uma vez na primeira mensagem, mas depois
no mais. Esta opo usada para iniciar sesses seguras;
AlwaysToRecipient: o token deve ser enviado sempre que o emissor enviar uma
mensagem para o receptor. O mesmo j no deve acontecer na resposta;
39
AlwaysToInitiator: o token deve ser enviado sempre que o receptor enviar uma
mensagem para o emissor. O mesmo j no deve acontecer na solicitao;
Always: o token deve ser sempre enviado nas mensagens. Podemos destacar a seo
da poltica que tem como objetivo definir a proteo:
Destacamos a especializao do WSP, a WSSP. Essa especializao segue alguns propsitos que podemos destacar: informaes suficientes para que participantes possam determinar
compatibilidade e interoperabilidade; e informaes necessrias para que uma entidade possa
participar em uma troca segura de mensagens SOAP.
2.5
Computao em Nuvem
40
2. REFERENCIAL TERICO
2.5.1
Modelos de Servio
2.5.2
Modelos de Implantao
De acordo com Mell e Grance (2011), h quatro modelos de implantao:
2.5.3
41
Nuvem Hbrida: Uma nuvem hbrida composta por duas ou mais nuvens de
quaisquer tipos mencionados acima. A conexo entre elas oferece benefcios dos
diversos modelos de implantao e permite portabilidade dos programas e dados seja
movidos facilmente de um sistema de implantao para outro.
Ameaas Nuvem
2.5.3.1
Vazamento de Dados
2.5.3.2
Perda de Dados
A ameaa de perda de dados subiu da quinta posio em 2010 para ocupar a segunda
posio em 2013 no Top Threat Ranking (CSA, 2013). Segundo o relatrio Cloud Storage da
Fixya (2012), foram apontados problemas de segurana dos principais provedores do mercado
42
2. REFERENCIAL TERICO
(Google Drive15 , SugarSync16 , iCloud17 , Box18 e Dropbox19 ), tais como abusos com relao
privacidade, vazamento ou perda de dados, violao de direitos autorais, falhas na sincronizao
de arquivos, dentre outros.
Conforme bem colocado pelo relatrio da Fixya (2012), a perda de dados preocupante
tanto para consumidores quanto para provedores. A perda de dados pode ser enquadrada em
dois tipos de perda: acidentais e intencionais. A acidental, como o prprio nome sugere, ocorre
quando um usurio ou uma aplicao apaga, sobrescreve, altera os dados acidentalmente, sem
a inteno de prejudicar o proprietrio das informaes. E por fim, a perda de dados de forma
intencional d-se quando tambm um usurio e uma aplicao apaga, sobrescreve, altera os
dados de forma proposital, motivado para causar algum tipo de dano ao detentor, comprometendo
principalmente a integridade da informao.
2.5.3.3
43
Interfaces Inseguras
Negao de Servio
44
2. REFERENCIAL TERICO
2.6
Consideraes Finais
Nesta parte, foram descritas algumas das mais importantes normas que constitui a
arquitetura dos WS. A extenso WSS e suas tecnologias de segurana, tambm foram descritas,
bem como para os padres que surgiro no futuro (POTTS, 2003). Apresentado a especificao
SAML que permite que domnios da web seguros troquem a autenticao de usurio e os dados
de autorizao.
Tambm descrito a estrutura do WSP, a WSSP. Essa especializao segue alguns propsitos que podemos destacar: informaes suficientes para que participantes possam determinar
compatibilidade e interoperabilidade; e informaes necessrias para que uma entidade possa
participar em uma troca segura de mensagens SOAP. Por fim, uma explanao geral sobre
computao em nuvem foi realizada, destacando as ameaas mais significativas de segurana.
A prxima parte ira apresentar os principais trabalhos relacionados ao tema desta dissertao.
45
3
Trabalhos Relacionados
Para a presente dissertao, no foram encontrados trabalhos diretamente relacionados,
mas sim estudos que abordam: 1) anlise de segurana para WS e CN; 2) utilizao de testes de
segurana; 3) proposta de arquitetura de segurana. Alm disso, a Tabela 3.1 elenca de maneira
sumarizada os trabalhos relacionados e avalia-os de acordo com as solues propostas para
assegurar que as ameaas, descritas na Seo 2.5.3, sejam reduzidas a um nvel aceitvel.
Tabela 3.1: Comparativo entre as solues dos trabalhos relacionados para mitigao das
ameaas
Vazamento
de Dados
Perda
de Dados
Sequestro
de Contas
Interfaces
Inseguras
Negao
de Servios
O
O
O
O
X
X
O
O
O
X
O
X
O
X
X
X
O
46
3. TRABALHOS RELACIONADOS
47
5 http://eping.governoeletronico.gov.br/,
49
4
Implementao da Proposta
A presente parte descreve a soluo proposta e discute as caractersticas bsicas da
arquitetura, seus componentes, funcionalidades e padres, projetados para mitigar as principais
ameaas que impede a ampla adoo da computao em nuvem. E por fim, so analisados os
cenrios de experimentos de campo a partir da utilizao prtica das especializaes WSS, WSP
e SAML.
4.1
Metodologia 4+1
4+1 um modelo de viso projetada por Kruchten (1995), que divide a arquitetura em
5 (cinco) vises: Viso Lgica, Viso Dependncia, Viso de Implementao, Viso Fsica e
Cenrios. Essas vises descrevem o sistema do ponto de vista das diferentes partes, em sua
essncia, so fragmentos que ilustram os elementos significativos em termos de arquitetura dos
modelos. Tambm selecionados os cenrios so utilizados para ilustrar a arquitetura servindo
como a viso mais um, definido o modelo 4+1 visualizaes. Ele composto pelas seguintes
vises:
Figura 4.1: Interao das Vises do Modelo 4+1
50
4. IMPLEMENTAO DA PROPOSTA
4.2
Viso Lgica
4.2.1
51
Mdulo de Servio
4.2.2
Provedor de Servio: O componente Provedor de Servio, estruturado na especializao WSDL, responsvel em definir e especificar as interfaces de servio. Essas
interfaces contm informaes do tipo, localizao do servio, o que o servio pode
fazer e como poder ser chamado, permitindo assim, a interao do servio. Esse
componente responsvel em descrever e publicar os servios que posteriormente
sero consumidos pelos clientes.
52
4. IMPLEMENTAO DA PROPOSTA
chaves criptogrficas que utilizam Infraestrutura de Chaves Pblicas (PKI). Esse
componente auxilia a distribuio de chaves pblicas, que so essenciais para XML
Digital Signature e XML Encryption, possibilitando verificaes de assinaturas e
criptografia em mensagens SOAP. Divide-se em duas especificaes a XML Key
Registration Service Specification (X-KRSS), para o registro de chaves, e o XML
Key Information Service Specification (X-KISS), para requisio e distribuio de
informaes referentes s chaves pblicas registradas (W3C, 2005).
4.2.3
4.2.4
O Mdulo de Gerenciamento de Acesso e Identidade (MGAI), conduzido pela especificao SAML, possui a responsabilidade de proteger os sistemas, dados e aplicativos de acesso
no autorizado. Permite criar, gerenciar usurios e grupo e usar permisses para conceder e
negar acesso aos recursos providos. Os componentes que constitui o MGAI so controlados
pelas funcionalidades da SAML. Este mdulo constitudo por 3 (trs) componentes que sero
escrito a seguir:
1 https://goo.gl/8OaMoZ,
2 http://www.openldap.org/,
53
4.3
Provedor de Identidade: O Provedor de Identidade (IdP) responsvel pela manuteno das informaes sobre os usurios e por sua autenticao. O componente
Provedor de Servio, abordado no mdulo MS, requisita o IdP informando as credencias de acesso passada pelo usurio, por sua vez o IdP encaminhar uma afirmao
SAML, como parte da resposta de autenticao, que gerada para obter credenciais
de segurana temporrias de acesso aos servios providos.
Servio de Token de Segurana: O Servio de Token de Segurana responsvel
por gerenciar as credenciais temporrias de segurana que consistem em uma chave
de acesso e um token de sesso. A chave de acesso consiste em um ID chave de
acesso e uma chave secreta. Usurios (ou um aplicativo que o usurio executa) podem
usar essas credenciais para acessar os servios providos na organizao.
Viso Dependncia
Como pode ser observado na Figura 4.3, o mdulo MPS o mais utilizado. Deve-se
ao fato dos componentes dos mdulos desta Arquitetura de Software estar dependente desse
mdulo, no que lhe concerne das restries de segurana que podero ser expressas. Logo, o
MS depende do MPS relacionado as polticas que pretendem criar um processo para facilitar a
54
4. IMPLEMENTAO DA PROPOSTA
4.4
Viso Implementao
A seguir, sero descritos cada um dos frameworks e tecnologias utilizadas nas camadas
da arquitetura do sistema:
WSDL: Conforme apresentado na Parte 2 na Seo 2.1.5, a WSDL, ser disponibilizada na camada de comunicao, fornecendo as funcionalidades presentes no Web
Service. Essas funcionalidades refletem as interfaces de servios disponibilizadas na
camada de negcio.
Spring Framework3 : Esse framework oferece diversos mdulos que podem ser
utilizados de acordo com as necessidades do projeto, como mdulos voltados para
desenvolvimento Web, inverso de controle e programao orientada a aspectos,
injeo de dependncias, desenvolvimento baseada em POJO e integrao com
tecnologias de persistncia e controle de transaes como Hibernate. Compatibilizase com Spring Cloud Security4 na proteo da transmisso de tokens entre SSO e
aplicaes nas nuvens.
3 https://goo.gl/oED3ey,
4 http://cloud.spring.io/spring-cloud-security/,
4.5
55
Viso Fsica
300 GB de disco
Para executar os testes deste trabalho, a mquina servidora permitiu gerenciar mquinas
virtuais com as seguintes configuraes:
2 processadores
50 GB de disco
5 https://goo.gl/SLtiHm,
6O
56
4. IMPLEMENTAO DA PROPOSTA
Os testes foram realizados utilizando em um Notebook Dell Inspiron 14 Srie 5000 com
cliente de requisio ao servidor de aplicao. As configuraes da mquina do cliente so:
4.6
1TB de disco
Cenrios
Esta Seo visa apresentar alguns dos principais cenrios, descritos em experimentos de
campo, da Arquitetura de Software proposta.
4.6.1
Desenvolvimento da Aplicao
Esta Subseo tem como objetivo demonstrar a utilizao prtica da especializao WSS,
WSP e SAML como parte do trabalho desta dissertao. Demonstra as principais atividades
dos servios oferecidos pela soluo proposta, implementado em um prottipo de um aplicao,
com objetivo de utilizar os principais conceitos relacionados segurana de WS nas mensagens
SOAP apresentados neste trabalho.
Inicialmente, a ferramenta Axis 2, que ser apresentada na prxima parte, gerou um WS
a partir da interface LogonServiceImpl.java do sistema. A interface como o WS gerado possui o
mtodo autenticar passando em dois parmetros: duas string apresentando o usurio e senha
referente as credencias de acesso a aplicao. O WS implementado, no arquivo AccessControl.wsdl, recebeu todos os servios propostos pela aplicao. O mtodo autenticar retorna ao
cliente uma mensagem no console de sucesso, de erro ou de exceo.
O Cliente do WS, por sua vez, implementou o arquivo WSLogonServiceClient.java,
atravs da classe LogonServiceImplStub.java realiza as chamadas aos mtodos da interface
do WS, enviando os dados necessrios para consumir os servios disponibilizados. Aps a
invocao do servio, o cliente recebe uma mensagem de sucesso, confirmando a transao da
operao ou uma mensagem de erro ou de exceo, informando que a transao no foi efetuada
corretamente.
A comunicao entre o cliente e o WS s realizada atravs do acordo entre as definies
das polticas de comunicao, atravs do lado do cliente pelo arquivo policyClient.xml e pelo lado
do WS o arquivo policyService.xml. Ambos definem a segurana desejada da mensagem SOAP
8 https://www.debian.org/,
4.6. CENRIOS
57
4.6.2
Experimento de Campo
Esta Subseo apresenta uma anlise dos padres WSS, WSP e SAML, destacando suas
aplicabilidades atravs de cenrios de experimentos de campo que visa avaliar estes padres
de segurana. A seguir, ser apresentada a parte de maior interesse para o presente trabalho: a
implementao de WS com objetivo de mitigar as cinco ameaas, descritas na Subseo anterior,
em nvel de servios e de transporte de mensagem. A anlise dos resultados foi feita usando-se
as ferramentas SoapUI 9 e Wireshark10 .
4.6.2.1
Estudo de Caso 01
Inicialmente, executamos o programa Wireshark para analisar o trfego da rede INTRAER. Especificamente, aplicamos a expresso de filtro: "http && ip.src = 10.80.8.85", com
objetivo de controlar o trfego de pacotes HTTP enviados pela mquina com o IP "10.80.8.85".
Conforme ilustrado na Figura 4.5, apresenta a requisio de um pacote HTTP, contendo uma mensagem SOAP. Percebe-se que as credenciais de acesso, destacadas em vermelho, so facilmente
obtidas pelo monitoramento da rede INTRAER.
Figura 4.5: Exemplo de pacote HTTP capturado pelo Wireshark
58
4. IMPLEMENTAO DA PROPOSTA
4.6. CENRIOS
59
especificao XML Encryption, pois as credenciais de acesso podem ser interceptadas a qualquer
um que seja capaz de monitorar a mensagem.
A especificao WS-PolicySecurity foi utilizada para definir polticas no esquema de
autenticao e na seleo do protocolo de transporte. O elemento <sp:UsernameToken> contem
o atributo IncludeToken para definir o tipo de fluxo de mensagens especificando a incluso de
token e o elemento <sp:HttpsToken>, aninhada com o elemento <wsp:Policy>, foi declarado
para utilizar o protocolo de transporte seguro, conforme exemplificado no arquivo XML a seguir:
60
4. IMPLEMENTAO DA PROPOSTA
A conexo segura, utilizou o protocolo HTTPS, foi estabelecida a partir das configuraes
realizadas no Apache Tomcat, conforme descrito no Apndice A.
4.6.2.2
Estudo de Caso 02
Este estudo de caso tem como objetivo demonstrar a aplicabilidade das especializaes
XML Digital Signature e XML Encryption, conforme apresentadas nas Subsees 2.2.2 e
2.2.3 respectivamente. O experimento de campo a seguir, baseia-se nas regras para gerar e
validar assinaturas digitais no cabealho da mensagem SOAP e nas encriptaes dos elementos
declarados no corpo da mensagem SOAP.
4.6. CENRIOS
61
62
4. IMPLEMENTAO DA PROPOSTA
Atravs da anlise do cabealho da requisio SOAP, expresso pela XML acima, nota-se
a criao do elemento EncryptedKey definindo a chave que ser usada para cifrar os dados. O
mtodo usado para cifrar a chave o RSA verso 1.5. Outro elemento criado foi o KeyInfo que
possui vrias informaes sobre a chave, como por exemplo, o tipo do certificado utilizado, que
no caso X509v3.
O elemento KeyInfo indica tambm a chave a ser usada para validao da assinatura. O
elemento BinarySecurityToken foi declarado para criao de um token binrio que vai ser usado
na assinatura da mensagem. Aps a criao do token iniciada a criao da assinatura em si
com o elemento Signature. Dentro do elemento Signature, temos vrias configuraes referentes
assinatura, que so:
4.6. CENRIOS
63
64
4. IMPLEMENTAO DA PROPOSTA
4.6. CENRIOS
65
Estudo de Caso 03
66
4. IMPLEMENTAO DA PROPOSTA
Figura 4.6: Diagrama de Sequncia Estudo de Caso 03
4.6. CENRIOS
67
68
4. IMPLEMENTAO DA PROPOSTA
RESPONSE_ID: Uma string de 160 bits contendo um conjunto de caracteres gerados aleatoriamente.
ISSUE_INSTANT: Timestamp indicando a data e hora em que a resposta SAML foi
gerada.
ASSERTION_ID: Atributo da afirmao identificada da assero SAML.
NOT_BEFORE: Timestamp de controle para identificar a data e hora anterior a
resposta SAML considerada invlida.
NOT_ON_OR_AFTER: Timestamp de controle para identificar a data e hora aps
a resposta SAML considerada invlida.
AUTHN_INSTANT: Timestamp indicando a data e hora em que o usurio foi autenticado.
4.7
Consideraes Finais
69
71
5
Avaliao da Proposta
Esta Parte descreve a avaliao da proposta, na busca de analisar as normas de segurana
em nvel de servio e de mensagem para WS. A abordagem dessa avaliao inicia-se pela
descrio da metodologia utilizada, objetivos e componentes necessrios para reproduzir os
experimentos de campo. Em seguida, so descritos os resultados obtidos quanto garantia
das propriedades bsica da segurana. E por fim, so apresentadas as concluses acerca dos
resultados dos estudos de caso.
5.1
Metodologia
72
5.1.1
5. AVALIAO DA PROPOSTA
Planejamento
Critrio de Avaliao
O estudo selecionou as cinco ameaas mais crticas classificadas pelo referido relatrio
da CSA, usado dois critrios: As ameaas classificadas pelo modelo SaaS e pelas propriedades
bsicas de segurana. Tais critrios foram delineados com foco da avaliao dos objetivos deste
trabalho.
Seguindo os critrios anteriormente mencionados, os estudos de caso sero avaliados em
sua completude de garantir as propriedades bsicas de segurana das 5 ameaas selecionadas.
Conforme abordado as ameaas na Subseo 2.5.3, a CSA apresenta a anlise de risco, a partir
da Tabela 5.1 de forma sumarizada, das principais propriedades de segurana afetadas por cada
uma das ameaas.
5.1. METODOLOGIA
73
Confidencialidade
Integridade
Disponibilidade
No Repdio
Autenticao
Perda
de Dados
X
X
X
Sequestro
de Contas
Interfaces
Inseguras
X
X
X
X
X
X
X
Negao
de Servios
X
X
A CSA tambm classificou, em sua anlise de risco, uma srie de ataques que podem
utilizar as ameaas analisadas. Na Tabela 5.2 apresentada de forma sumarizada qual ataque
aplicado a cada ameaa.
Tabela 5.2: Ataques utilizados para cada ameaa
XX
XXX
XXAmeaas
XXX
Ataques
XX
Spoofing
Adulterao de Dados
Divulgao de Informao
Repdio
Negao de Servio
Elevao de Privilgios
Vazamento
de Dados
Perda
de Dados
X
X
X
Sequestro
de Contas
Interfaces
Inseguras
X
X
X
X
X
X
X
Negao
de Servios
X
X
5.1.2
Definio
Na fase de definio deve-se definir os objetivos do GQM, as questes a serem respondidas e definir e refinar as mtricas, seguindo a estrutura conforme ilustrada na Figura 5.2 e
desenvolvido na Tabela 5.3.
Os prottipos desenvolvidos, com base nos estudos de caso, iro disponibilizar servios
que sero consumidos pela ferramenta soapUI, em seguida a ferramenta de monitoramento
Wireshak ir auxiliar na anlise do comportamento de requisio e resposta entre as partes
envolvidas.
74
5. AVALIAO DA PROPOSTA
Figura 5.2: Estrutura da Fase de Definio
5.1. METODOLOGIA
75
Questes
Descrio
Mtricas
Contexto
Escala
Estudo de Caso 01
Subseo 4.6.2.1
0 - No se aplica
1 - Fraco
2 3 - Razovel
4 - Satisfatrio
5 - Excelente
Estudo de Caso 02
Subseo 4.6.2.2
0 - No se aplica
1 - Fraco
2 3 - Razovel
4 - Satisfatrio
5 - Excelente
Estudo de Caso 03
Subseo 4.6.2.3
0 - No se aplica
1 - Fraco
2 3 - Razovel
4 - Satisfatrio
5 - Excelente
Vazamento de Dados
Subseo 2.5.3.1
Perda de Dados
Subseo 2.5.3.2
Sequestro de Contas
Subseo 2.5.3.3
1. XML Signature
2. Security Tokens
3. WS-SecurityPolicy
4. HTTPS
Interfaces Inseguras
Subseo 2.5.3.4
Negao de Servio
Subseo 2.5.3.5
Vazamento de Dados
Subseo 2.5.3.1
Perda de Dados
Subseo 2.5.3.2
Sequestro de Contas
Subseo 2.5.3.3
Interfaces Inseguras
Subseo 2.5.3.4
1. XML Signature
2. XML Encryption
3. WS-Policy
4. Certificado Digital
5. Criptografia
Triple DES
em modo cbc
6. HTTPS
Negao de Servio
Subseo 2.5.3.5
Vazamento de Dados
Subseo 2.5.3.1
Perda de Dados
Subseo 2.5.3.2
Sequestro de Contas
Subseo 2.5.3.3
1. SAML
2. XML Signature
Interfaces Inseguras
Subseo 2.5.3.4
Negao de Servio
Subseo 2.5.3.5
76
5. AVALIAO DA PROPOSTA
5.1.3
Coleta de Dados
A coleta de dados foi realizada com base nas questes e mtricas definidas na seo
Descrio. As mtricas foram obtidas por meio da execuo de Teste Funcionais que tem como
objetivo demonstrar a operacionalidade das funes que foram especificadas. Na Engenharia de
Software, o Teste Funcional realizado olhando-se o software apenas atravs de suas interfaces.
Como o objetivo a mitigao das ameaas, discutidas nas partes anteriores, dos servios
providos, portanto o mtodo de avaliao ser baseado em testes funcionais, tambm conhecidos
como caixa preta.
Os participantes dessa avaliao foram as ferramentas soapUI e Wireshark, que executaram as mtricas para avaliar o comportamentos dos mecanismos de segurana usados como
padro nos WS. Cada tecnologia foi avaliada a partir dos cenrios definidos, tambm foram
avaliadas a combinao das tecnologias de segurana aplicadas nos estudos de caso.
Utilizou-se a ferramenta Apache eXtensible Interaction System 2 (Axis 2) para implementar o prottipo, com necessidade de um mecanismo de processamento SOAP para analisar
sintaticamente as mensagens recebidas e para chamar os mtodos que a mensagem indica.
O Axis 2 um projeto open source da Apache Software Foundation1 e est atualmente
na verso 1.7.0. O Axis 2 trata-se de um projeto desenvolvido pela Apache para proporcionar
muitos recursos no presentes na implementao atual do SOAP Apache. Axis 2 fornece as
ferramentas necessrias para trabalharmos com os Web Services de forma fcil e simplificada.
Utilizou-se, tambm, o mdulo Rampart2 do Apache Axis2 na verso 2.1.4 para fornecer as
implementaes de segurana para o mecanismo de servios da Web do Axis2 referente as
especificaes propostas.
A arquitetura do Apache Axis 2 construda sobre o alicerce de um mecanismo SOAP.
No diagrama exibido na Figura 5.3, ilustra a sequncia numerada das etapas para a consumao
de servios disponibilizado pelo WS.
Figura 5.3: Workflow do ciclo de vida do Apache Axis 2
2 https://axis.apache.org/axis2/java/rampart/,
5.1. METODOLOGIA
77
de entrada para WS alvo seguindo o modelo da arquitetura Axis 2 apresentado na Figura 5.3.
A arquitetura do Axis 2 pode ser facilmente integrada qualquer aplicao web, independente do container. Nas prximos Sees, ser detalhada a arquitetura do Apache Axis2.
O container Apache TomCat foi utilizado como servidor web do prottipo. O WS e o
cliente do prottipo foram implementados atravs das ferramentas Axis 2 e IDE Eclipse3 Mars
4.5 utilizando linguagem de programao Java. As polticas de segurana do prottipo foram
implementadas conforme as especificaes desejadas e de forma autnoma usando a biblioteca
Apache Commons Policy 1.0.
A criao de um cliente teve como objetivo realizar as chamadas dos servios e aplicar
os mecanismos de segurana: WSS, WSP e SAML. Foram criadas definies de polticas tanto
do lado do cliente quanto do lado do WS, policyClient.wsse e policyService.wsse, enfatizado a
WS-SecurityPolicy que especializa a WS-Policy para polticas de segurana. A poltica definida
3 http://www.eclipse.org/,
78
5. AVALIAO DA PROPOSTA
5.1.4
Com base na Tabela 5.3, foram submetidos trs estudos de caso aos testes destes experimentos de campo, com os resultados obtidos pela pelas ferramentas de monitoramento. As
pesquisas publicadas por Goettelmann et al. (2015) e Mohapatra, Gulati e Luthra (2012)
guiaram na interpretao e qualificao das escalas.
Observou-se que em alguns casos a escala foi definido um nvel de qualificao como
"Satisfatrio", outro se estendem at o "Excelente". Os casos como ausncia definio do nvel
refere-se aos ambientes de teste que, devido falta de cenrios prontos e o tempo e esforo para
desenvolv-los, no contemplam todos os aspectos de ameaas descritos no estudo.
Em contrapartida, esses estudos de caso abrangem os comportamentos mais elementares
levantados nesta pesquisa.
Alm disso, todos os aspectos pertinentes s ameaas em CN esto de acordo com os
estudos de casos proposto. Outro fato relevante que os falso positivos no foram considerados
nestes testes, uma vez que o estudo atribui o fator humano responsvel pela correes dos erros
da anlise. Sendo assim os estudos de caso apresentados foram definidos como ameaas reais
aos servios providos. Nesta seo sero descritas as consideraes do estudo realizando com
base nos resultados extrados para as questes citadas na Tabela 5.3.
Resultado da Questo 01
O grfico da Figura 5.4 apresenta a execuo dos mecanismos de segurana utilizados
no Estudo de Caso 01 das especificaes WSS e W SP. Sua validao serviu com base para
identificao do problema de aumento do tempo de resposta durante a sobrecarga do sistema
diante da injeo de ataques, como negao de servio e XML Injection. Assim, a ferramente
SoapUI facilitou todo o processo de criao e depurao dos testes por meio de sua interface
grfica.
Durante a execuo dos testes medido o tempo de resposta em milissegundos de
requisies com tokens vlidos e com tokens invlidos. Assim, o tempo mdio de resposta, para
uma requisio de gerao e validao de token vlido, aproximado de 550 milissegundos. Em
contrapartida, o tempo mdio de resposta, para uma requisio de gerao e validao de token
invlido, aproximadamente de 810 milissegundos.
Conforme observado no grfico d a F igura 5 .4, a d iferena d o t empo d e r esposta
aproximadamente 45% mais rpido que o mesmo cenrio sem a soluo. Essa performance
5.1. METODOLOGIA
79
devido ao uso de credenciais de segurana, mais conhecida como Security Tokens, que comprova
a identidade do emissor e permite acesso aos servios do provedor, sempre e quando o provedor
realiza a validao do passwordDisgest. Por outro lado, a soluo sem segurana no realiza
a validao das credenciais de acesso e faz com que o servidor retorne o status de requisio
"HTTP 400 Bad Request" ou "HTTP 500 Internal Server Error" descrevendo um erro de
sintaxes na resposta.
Figura 5.4: Anlise do aumento do tempo de resposta
Alm disso, a arquitetura proposta proveu segurana fim-a-fim para aplicaes que
necessitam realizar trocas de dados de forma segura, e em conjunto, a especializao WSSecurityPolicy possibilitou a declarao o uso do protocolo HTTPS para conexes seguras. E
por fim, a criao de uma cadeia aleatria (nonce), permitindo rejeitar as mensagens SOAP
manipuladas com intuito de sobrecarregar o sistema. A aplicao manteve um tempo de resposta
para os clientes abaixo de 400 milissegundos.
80
5. AVALIAO DA PROPOSTA
Figura 5.5: Resultados da avaliao da Questo 01
Resultado da Questo 02
Seguindo a anlise das especializaes XML Digital Signature, XML Encryption e
WS-Policy, conforme implementado no estudo de caso 02, obteve-se os resultados ilustrado na
Figura 5.6.
A especializao XML Digital Signature garantiu os atributos de autenticidade, integridade e permitiu suporte para no repdio aos dados assinados. Uma caracterstica fundamental
da XML Digital Signature, permitida no experimento, a capacidade de assinar apenas partes
especficas da mensagem SOAP, essa flexibilidade importante para garantir o atributo de
integridade dessas partes. Outra caracterstica para garantir integridade, desta especializao,
a troca de mensagens assinadas, permitindo a validao do documento a partir da assinatura
includa na mensagem conforme demonstrado neste estudo de caso.
Desta forma, os atributos de autenticidade, integridade e no repdio receberam a classificao de "Excelente", devido as regras de processamento de assinatura digital. A propriedade
no repdio foi assegurada pela utilizao da criptografia assimtrica.
Por sua vez, o padro XML Encryption demonstrou a capacidade de codificar o contedo
do corpo da mensagem SOAP, fornecendo qualidade de proteo atravs de integridade, confidencialidade e autenticao nica de mensagens. Por esse motivo, a propriedade confidencialidade
recebeu a escala quatro de "Satisfatrio".
E por fim, as afirmaes declaradas da especializao WS-Policy permitiram definir
como os servios disponibilizados esto autorizados a interagir com outros usurios e servios.
Portanto, o atributo disponibilidade obteve o grau quatro, "Satisfatrio", na escala.
5.1. METODOLOGIA
81
Figura 5.6: Resultados da avaliao da Questo 02
Resultado da Questo 03
Uma das principais dificuldades de realizar esse cenrio de teste se concentrou na tarefa
de estabelecer a relao de confiana entre o provedor de identidade, pelo protocolo LDAP,
e o provedor de recursos utilizando SAML. Contriburam para essa dificuldade a falta de
experincia com esse protocolo e sua complexidade. Uma vez superada essa etapa, foi necessrio
a configurao do servidor AD apropriado, estabelecendo a relao de confiana entre o provedor
de identidade e o provedor de recursos proposto pelo padro SAML.
Para medir os testes, pode-se avali-lo com base nos resquisitos da arquitetura proposta:
Conforme descrito na Figura 5.7, o framework SAML apresentou um comportamento
excelente na preservao dos atributos de integridade, autenticidade e autorizao. O experimento
analisado no estudo de caso 03, permitiu analisar a criao da soluo SSO, a qual estabeleceu
um crculo de confiana atravs do intercmbio das mensagens SOAP entre as entidades IdP
e SP. A SAML tambm permitiu melhorar a produtividade na redefinio das credenciais de
segurana para uma mesma identidade, garantido assim a propriedade de disponibilidade. A
utilizao dessa abordagem se faz comum em ambiente de nvel INTRANET.
O padro WS-Security permitiu a declarao de um token de segurana, auxiliando a
especializao no suporte autenticao com proteo de integridade em nvel de mensagem.
82
5. AVALIAO DA PROPOSTA
Figura 5.7: Resultados da avaliao da Questo 03
5.2
Limitaes da Avaliao
83
6
Consideraes Finais
Os Web Services firmaram-se no cenrio de comunicao em ambientes de nuvem como
forma de integrao entre organizaes, aplicaes e processos de negcio. O advento do Web
Services quebrou alguns paradigmas de segurana. Existe agora a possibilidade de garantir
segurana dentro do prprio, tal faanha possvel com o uso de padro SOAP e como protocolo
de transporte HTTP.
As tecnologias estudadas e analisadas ofereceram a proteo de mensagens: como
proteger o contedo das mensagens e dos servios, garantindo a proteo necessria para
confidencialidade, integridade, disponibilidade, no-repdio e autenticidade.
No estudo de caso, foi usado a ferramenta Apache Axis 2, que implementou a arquitetura
do prottipo e facilitou o uso dos principais padres de seguranas abordados ao longo deste
trabalho. O prottipo desenvolvido possibilitou demonstrar a aplicao prtica do padro WSSecurity, WS-Police e SAML. Permitiu, ainda, a realizao de uma anlise, atravs da execuo
e observao das mensagens trocadas entre o WS e o cliente, ambos implementados no estudo
de caso deste trabalho.
Mesmo existentes solues de mercado e solues comerciais, devido natureza do
negcio e estratgica como das foras armadas, essas solues podem vir a no atender todas as
necessidades exigidas e demandariam customizaes que, na sua grande maioria, no seriam
atendidas pelos grandes empresas como VMware, IBM e HP, j que que suas solues so
padronizadas Damasceno (2015).
As especificaes de segurana para o ambiente dos Web Services esto alcanando
maturidade notvel. Permitindo a possibilidade de oferecer ao mercado e aos clientes o fator
fundamental da arquitetura de segurana para Web Services. Para oferecer novas aplicaes de
Web Services ao mercado e aumentar a segurana de suas atuais aplicaes de Web Services
necessrio o uso das recomendaes das normas de implementaes e a padronizao do
gerenciamento de polticas, sendo estas uma infraestrutura confivel no ambiente em nuvem
privada segura.
84
6.1
6. CONSIDERAES FINAIS
Contribuies
6.2
Trabalhos Futuros
Como sugesto para trabalhos futuros, um tema no abordado neste trabalho, mas que,
sem dvida, importante ao ponto de ser fonte de inspirao para os mecanismos de segurana
expostos nesta pesquisa, a necessidade de estudar os ataques e vulnerabilidades atravs das
falhas em aplicaes, tratando dos padres de segurana como agente minimizadores de riscos
abordado no artigo de Vieira (2010).
Na continuidade do presente trabalho, poderia ser explorado o estilo REST como mecanismo de suporte para comunicao segura, similar apresentado por Kumari e Rath (2015) em
seu artigo. Alm disso, tambm poderia ser explorado um arquitetura segura que abrangessem
os modelos de servios como Platform as a Service (PaaS) e Infrastructure as a Service (IaaS).
85
Referncias
ABDELRAZIK, A. et al. Adding Speed and Agility to Virtualized Infrastructure with
OpenStack, 2015. Disponvel em: <https://goo.gl/InIokG>. Acesso em: 8 dez. 2015.
APACHE. Apache Axis2 Architecture Guide, 2015. Disponvel em: <https://
ARMBRUST,
M.
et
New
York, US:
BARRY, D.; DICK, D. Cloud Computing. In: WEB services, service oriented
architectures and cloud computing. 2th. Boston: Elsevier, 2013. cap. 4, p. 35 44.
V.;
CALDEIRA,
G.;
CELESTI, A.; TUSA, F.; VILLARI, M.; PULIAFITO, A. Security and cloud computing:
intercloud
identity
management
infrastructure.
In: INTERNATIONAL
WORKSHOP ON ENABLING TECHNOLOGIES: INFRASTRUCTURES FOR
COLLABORATIVE ENTERPRISES (WETICE), 19., 2010, Washington. Anais...
Washington: IEEE Press, 2010. p. 263 265.
CSA. Security Guidance for Critical Areas of Focus in Cloud Computing V3.0, 2011.
CSA. The Notoriuous Nine Cloud Computing Top Threats in 2013, 2013. Disponvel em:
CSER, A. et. al. The Forrester Wave: public cloud platform service providers'
security, q4, 2014. Disponvel em: <https://goo.gl/CvUiYk>. Acesso em: 15 nov. 2015.
DAMASCENO, J. C. UCloud: Uma Abordagem para Implantao de Nuvem Privada
para a Administrao Pblica Federal. 2015. Tese (Doutorado em Cincia da
Computao) Universidade Federal de Pernambuco, Centro de Informtica, Recife. 2015.
171p.
2013.
86
REFERNCIAS
2010. 7p.
KRUCHTEN, P. B. The 4+1 view model of architecture. IEEE Software, 1995. v.12,
n.6, p.4250.
KUMARI, S.; RATH, S. K. Performance comparison of SOAP and REST based web services
for enterprise application integration. In: INTERNATIONAL CONFERENCE ON
LADAN,
SECURITY
LU, Q.; ZHU, L; BASS L.; XU, X.; LI, Z.; WADA. H. Cloud API issues: an empirical
study and impact. In: INTERNATIONAL ACM SIGSOFT CONFERENCE ON
QUALITY OF SOFTWARE ARCHITECTURES (QoSA '13), 9th ed. 2013, New York.
Proceending... New York: ACM, 2013. p. 23-32.
MACEDO, R.; MOZZAQUATRO, B.; NETO, L.; NONES, R. Uma arquitetura de
segurana para mecanismos de controle de acesso baseados em servios web. In: X
SIMPSIO BRASILEIRO DE SEGURANA DE COMPUTADORES E SISTEMAS
COMPUTACIONAIS (SBSEG), 2010, Porto Alegre. Anais... Porto Alegre: SBC,
2010. v. 1, p.114.
MELL, P., GRANCE, T. SP 800-145. The NIST Definition of Cloud Computing. [S.l.]:
National Institute of Standards and Technology, Gaithersburg, 2011.
REFERNCIAS
87
MELLO, E.; WANGHAM, M.; FRAGA, J.; CAMARGO, E. Segurana em servios web.
In: VI SIMPSIO BRASILEIRO DE SEGURANA DA INFORMAO E DE
SISTEMAS COMPUTACIONAIS (SBSEG), 2006, Porto Alegre. Anais... Porto Alegre:
Sociedade Brasileira de Computao, 2006. p. 148.
MICHELIN, R. A. Mitigao de Ataques de Negao de Servio em Rests
Autenticveis na Nuvem. 2015. Dissertao (Mestrado em Cincia da
Computao) Universidade Catlica de Rio Grande do Sul, Porto Alegre, 2015.
MOHAPATRA, K.; GULATI, A.; LUTHRA, R. A novel approach to secured network
selection. International Journal of Computer applications, New York, v.47, n.3, p.7
11, 2012.
OASIS. UDDI Spec Technical Committee Specification Draft. UDDI Version 3.0.2,
OASIS. Web Services Security: soap message security version 1.1.1, 2012. Disponvel
OASIS. Web Services Security Username Token Profile Version 1.1.1, 2012.
WS-SecurityPolicy
1.3,
2012.
Disponvel
em:
<http://goo.gl/bx6Fj9>.
2015.
W3C. Web Services Architecture - W3C Working Group, 2004. Disponvel em:
88
REFERNCIAS
W3C. XML Key Management Specification (XKMS 2.0), 2005. Disponvel em:
<https://www.w3.org/TR/xkms2/>. Acesso em: 15 nov. 2014.
W3C. Web Services Description Language (WSDL) Version 2.0 Part 1: core
language, 2007. Disponvel em: <http://www.w3.org/TR/wsdl20/>. Acesso em: 20
nov. 2013.
W3C. Web Services Policy 1.5 - Framework, 2007. Disponvel em: <https://
www.w3.org/TR/ws-policy/>. Acesso em: 12 nov. 2015.
W3C. SOAP Version 1.2 Part 2 Adjuncts (Second Edition), 2007. Disponvel em:
<https://www.w3.org/TR/soap12-part2/>. Acesso em: 17 jul. 2014.
W3C. XML-Signature Syntax and Processing (Second Edition), 2008. Disponvel em:
W3C. XML Encryption Syntax and Processing Version 1.1, 2013. Disponvel em:
WANG, R.; CHEN, S.; WANG, X. Signing me onto your accounts through facebook
Apndice
91
A
Certificado Digital
O intuito deste apndice apresentar um breve roteiro sobre a utilizao da ferramenta,
de gerenciamento de chaves e certificados, Keytool. Para configurar o Apache Tomcat para se
comunicar atravs de uma conexo segura, dever seguir os seguintes passos abaixo:
1. Criar o keystore do certificado que contm um certificado assinado pessoalmente,
com validade de 365 dias, que gerado por voc, e no est garantido por uma
Autoridade Certificadora:
%JAVA_HOME%\bin\keytool -genkey -alias <nome_alias>
-keyalg RSA -keystore <nome_keystore> -dname
"cn=<[cn]>, ou=<[ou]>, o=<[o]>, l=<[l]>, S=<[S]>,
c=<[c]>" -keypass <senha_keystore> -storepass
<senha_storepass> -validity 365
[cn]
[ou]
[o]
[l]
[S]
Estado. Ex.: PE
[c]
Pas. Ex.: BR
92
93
<Connector port="8443" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" keystoreFile="<caminho_keystore>"
keystorePass="<senha_keystore>" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"/>
Caso esteja usando a verso Apache Tomcat 6.0 ou superior, dever substituir pelas
linhas mostradas abaixo:
<Connector protocol="org.apache.coyote.http11.Http11Protocol"
port="8443" minSpareThreads="5" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100" maxThreads="200" scheme="https"
secure="true" SSLEnabled="true"
keystoreFile="<caminho_keystore>"
keystorePass="<senha_keystore>" clientAuth="false"
sslProtocol="TLS"/>
Reinicie o Tomcat e acesse o endereo que foi informado no passo 1 ou caso foi
informado localhost acesse https://localhost:8443/.