Professional Documents
Culture Documents
RESUMO
Este artigo aborda conceitos e aspectos de segurana relativos aos Web Services, uma nova
arquitetura de sistemas que permite que programas ofertem suas funcionalidades a outros
programas atravs da Internet. O fato de todas as suas operaes estarem baseadas na Internet
torna os Web Services muito sensveis quanto segurana: agentes no-autorizados podem
interceptar e modificar dados em trfego pela rede, interromper o funcionamento de servios,
utilizar recursos sem permisso. Por esse motivo, conceitos, mecanismos e padres de
implementao de segurana devem ser aplicados, para que a arquitetura de Web Services seja
considerada confivel no que tange segurana da informao.
Palavras-chave: segurana, web services, sistemas distribudos.
15
INTRODUO
Informao vem se tornando cada dia mais importante e imprescindvel no cotidiano da
sociedade moderna em diversas reas e de inmeras maneiras. A quantidade de novas
informaes cresce constantemente, impulsionada pelos avanos tecnolgicos que causam o
barateamento e maior acessibilidade a novos meios de comunicao, fazendo com que pessoas
e empresas possam interagir entre si mais rpida e facilmente do que antes.
Os sistemas de software tambm vm se adequando a esse novo panorama de
interatividade global, proporcionando solues acessveis de qualquer parte do mundo a
qualquer instante, muitas vezes possuindo uma arquitetura distribuda, portvel, escalonvel e
ainda tendo capacidade de prover e requisitar servios, ou seja, troca de informaes entre
aplicaes.
Dentro desse novo cenrio surgiram tecnologias de computao que se propem ao
suporte de todos esses requisitos. Web Services uma dessas propostas. Mas esse panorama
tambm traz algumas novas preocupaes para os desenvolvedores de aplicaes. A principal
delas relativa segurana dos sistemas, pois toda a funcionalidade dos Web Services feita
on-line, e, portanto, sujeita a tentativas de ataques e outras prticas ilcitas do mundo virtual.
SEGURANA DA INFORMAO
A segurana da informao um dos mais vastos, complexos e recorrentes temas
dentro da tecnologia da informao por envolver diversos componentes e preocupaes
diferentes durante sua implantao e produo em um ambiente computacional (Moreira,
2001). Nessas fases desejvel a ocorrncia da menor quantidade possvel de vulnerabilidades
e imprescindvel o gerenciamento constante de como e por quem est sendo feito o acesso aos
recursos disponibilizados aos usurios que esto cobertos pelo sistema de segurana
(Nakamura, 2001).
Outro importante fator na aplicao da segurana da informao o prvio
conhecimento do que est sendo protegido e quanto custa proteg-lo. Se os gastos com
segurana forem maiores do que uma possvel perda dos recursos protegidos, talvez no seja
uma boa idia a adoo de medidas de segurana to rgidas ou custosas (Wadlow, 2000).
Basicamente, a segurana da informao est fundamentada em sete conceitos que
trabalham em conjunto para promover segurana a um sistema (ONeill, 2003):
16
WEB SERVICES
A arquitetura orientada a servios dos Web Services permite construir aplicaes
modulares e independentes que so distribudas facilmente em qualquer estrutura de redes
TCP/IP, atravs da criao de servidores e clientes que independem da linguagem de
programao e do sistema operacional em que so implementados. Os servidores descrevem
seus prprios servios atravs de uma linguagem pr-definida e, dessa forma, os clientes
podem facilmente obter informaes sobre estes servidores, tais como: estrutura, mtodos e
parmetros exigidos, e, assim, usar seus servios (Rosenberg, 2004).
A iniciativa para o desenvolvimento da lgica de Web Services um grande esforo
conjunto de gigantes da rea de informtica como IBM, Microsoft, Oracle, Sun, Novell, HP,
entre outros, que tenta resolver alguns problemas que tecnologias de sistemas distribudos
como CORBA e COM+ possuem, como passagem por firewalls, complexidade dos protocolos
e integrao entre plataformas heterogneas (Basiura, 2003).
Mas o grande poder existente na arquitetura dos Web Services que, com sua
implementao e infra-estrutura, possvel alavancar muitos dos recursos j existentes e
funcionais na Internet, como protocolos de segurana e de transporte de pacotes, evitando
assim a complexidade existente nos protocolos de outras tecnologias de sistemas distribudos
(Hartman, 2003).
XML
o padro utilizado para serializao e descrio dos dados enviados e recebidos pelos
Web Services em um formato de texto plano estruturado, que permite aos documentos no ter
a complexidade de um formato de codificao binria usado por CORBA e COM+, alm de
ser mais extensvel e legvel (Basiura, 2003).
SOAP
O protocolo SOAP foi criado como um meio de transmitir mensagens no formato
XML sobre protocolos-padro de transporte na Internet como HTTP e SMTP. A prpria
estrutura de uma mensagem SOAP definida com o uso de XML (Rosenberg, 2004).
17
18
estrutura lgica e sinttica do Web Service, o consumidor pode criar um proxy e um cliente
para acessar a interface (5) e, finalmente, chamar algum mtodo do Web Service (6). Todas as
operaes so feitas utilizando o formato XML (Basiura, 2003).
19
3. Abstrair a segurana da rede subjacente A segurana aos Web Services no pode ser
fixada nos mecanismos de segurana Web existentes atualmente. Deve ser flexvel e
dinmica o bastante para se adaptar a qualquer novo protocolo de troca de mensagem que
venha a surgir (ONeill, 2003).
Como toda a comunicao com Web Services feita atravs do protocolo SOAP em
formato XML, suas mensagens so perfeitamente legveis. Alm disso SOAP no implementa
segurana por questes de manuteno da simplicidade e portabilidade do protocolo. Ento
para que a comunicao seja segura implementaes de segurana devem ser feitas ao nvel de
sistema (nas camadas de rede e de transporte) e ao nvel de aplicao (atravs de processos e
configuraes personalizadas e pela aplicao de padres de segurana em XML) (Scribner,
2001).
Segurana na camada de rede
A segurana nessa camada se reflete atravs dos mecanismos de comunicao e de
segregao das redes interna e externa de uma organizao (Ferreira, 2005).
1. Firewall Conseguem bloquear ou liberar acessos partindo de determinados
computadores ou aplicaes aos Web Services, mas no possuem capacidade de anlise da
integridade do contedo das mensagens SOAP (Ferreira, 2005).
2. VPN Permite proteger a confidencialidade e integridade dos dados trafegados e
estabelecer permetros que podem definir conjuntos de clientes confiveis que tm acesso
aos mtodos dos Web Services. Por outro lado, uma VPN no controla o consumo
inadvertido de Web Services por aplicaes disparadas de computadores de dentro de seu
domnio (Ferreira, 2005).
Segurana na camada de transporte
Dentro da camada de transporte a segurana de Web Services pode ser aplicada atravs da
implementao de protocolos e mecanismos de segurana j existentes (Ferreira, 2005).
1. Certificados digitais Validaes digitais atribudas por empresas certificadoras
independentes e confiveis a clientes web, sites ou usurios finais, atravs do uso de
chaves de criptografia, para que possam ser autenticados em outras entidades da Internet
(Basiura, 2003).
2. PKI uma implementao do conceito de criptografia assimtrica baseada em pares de
chaves, uma pblica, outra privada. A chave privada armazenada no lado servidor e a
chave pblica est disponvel no lado cliente. O servidor envia dados na forma codificada
usando sua chave privada e o cliente recebe os dados e os decodifica usando sua chave
pblica. Se algum entre o cliente e o servidor apanhar os dados, no conseguir decifrlos sem a chave pblica da chave privada codificada. Da mesma maneira, o cliente envia
os dados codificados usando a chave pblica e o servidor a decodifica usando sua chave
privada. Ningum no meio do caminho pode decodificar os dados sem a chave privada
(Basiura, 2003).
3. SSL Permite a transmisso de dados com garantia da proteo de sua integridade e
confidencialidade atravs de criptografia PKI e da autenticao de usurios e servidores
por meio de certificados digitais. Essa segurana obtida atravs da abertura de um canal
Holos, Ano 21, dezembro 2005
20
de comunicao seguro pelo cliente que o utiliza para trocar mensagens SOAP. Mas o
grande problema existente em SSL que no fornece uma segurana fim-a-fim. Em
sistemas onde o servidor que armazena as informaes sigilosas diferente do servidor
onde esto os Web Services, a vulnerabilidade alta (Ferreira, 2005).
Segurana na camada de aplicao
Na camada de aplicao possvel levar a segurana ao nvel da anlise de integridade de
cada mensagem SOAP enviada ou recebida por um Web Service, alm do reconhecimento do
usurio responsvel por cada uma delas, atravs da autenticao de credenciais, certificados ou
outras informaes contidas nas mensagens (Ferreira, 2005).
1. Nativa em sistemas operacionais Atravs da poltica de segurana nativa de um sistema
operacional pode-se autorizar os privilgios de uma conta ou grupo de usurio em relao
a um Web Service ou a seu diretrio (Basiura, 2003).
2. IP e DNS Restries feitas sobre IP e DNS permitem ceder ou negar acesso requisitado
ao Web Service a partir de um endereo IP especfico e de nomes DNS simples ou
mltiplos (Basiura, 2003).
3. HTTP
a. Basic Authentication O cliente de um Web Service deve fornecer ao servidor web
as credenciais de um usurio autorizado. Os pontos positivos desse tipo de
autenticao so a facilidade de implementao, a compatibilidade com a maioria
dos servidores web e navegadores, a rapidez da autenticao e o suporte por todos
os proxies e firewalls. Os aspectos negativos so a forma no segura de envio das
credenciais, a necessidade de reenvio dessas credenciais a cada solicitao feita e a
impossibilidade do uso em conjunto com uma autorizadora certificadora
personalizada (Basiura, 2003).
b. Basic Authentication com SSL O problema do envio de nome e senha de usurio
em formato no seguro existente em Basic Authentication pode ser corrigido
atravs do uso de um canal seguro SSL (Basiura, 2003).
c. Digest Authentication Tem as mesmas caractersticas da Basic Authentication,
mas transmite as credenciais de uma maneira diferente e mais segura, atravs de
um processo chamado hashing de via nica. Nesse processo so acrescentadas
outras informaes a senha com a finalidade de impedir a captura e posterior
reutilizao da senha hash por um agente no autorizado. As vantagens so as
mesmas da Basic Authentication, alm do nome do usurio e da senha nunca serem
enviados como texto limpo. Porm s suportada pelo Windows 2000 com Active
Directory, IIS 5, Internet Explorer 4, Netscape 4 (e suas verses posteriores) e
tambm no pode ser usada com uma autorizadora certificadora personalizada
(Basiura, 2003).
d. Integrated Windows Authentication Similar a Digest Authentication, utiliza um
hashing mais sofisticado, atravs do suporte ao protocolo de autenticao Kerberos
V5 (se o Active Directory estiver instalado e o navegador for compatvel) ou do
protocolo challenge/response. Os pontos positivos so os mesmos da Basic e
Digest Authentication, com a vantagem da senha nunca ser enviada na mesma
mensagem. Porm s suportada pelo navegador Internet Explorer, no funciona
com servidores proxy, necessita da abertura de portas TCP adicionais no firewall e
Holos, Ano 21, dezembro 2005
21
22
CONCLUSO
Em mecanismos de segurana nativos de sistemas operacionais, como permisses de
usurios e grupos e controle de acesso por IP e DNS, a soluo de segurana fica totalmente
dependente do sistema operacional e somente a autorizao de acesso para usurios pode ser
implementada.
Na segurana aplicada ao protocolo HTTP e sobre o ASP.NET existem problemas de
incompatibilidade com alguns servidores web, navegadores e sistemas operacionais, alm de
s permitirem a implementao de autenticao e autorizao.
Padres de segurana baseados na camada de transporte sobre protocolos j
estabelecidos, como SSL e PKI, fornecem confiabilidade na transmisso das mensagens,
atravs de segurana bsica ponto-a-ponto entre um cliente e um servidor, mas no garantem a
integridade de uma comunicao fim-a-fim, nem provm recursos para autenticao e
autorizao.
Nos padres baseados em XML no existe o problema de dependncia de plataforma,
servidores web ou navegadores, pois XML um padro aberto e totalmente compatvel com
os Web Services. Alm disso, os padres de segurana baseados em XML oferecem segurana
fim-a-fim, fornecendo mecanismos para confidencialidade e integridade do contedo das
mensagens e capacidade de autenticao e autorizao de usurios, o que possibilita uma
soluo completa para comunicao segura entre consumidor, intermedirios e provedor.
23
REFERNCIAS
Basiura, Russ et al. Professional ASP.NET Web Services. 1. ed. So Paulo: Pearson
Education, 2003. 701p.
Ferreira, Lucas de Carvalho. Relatrio Tcnico Segurana de Web Services. 1. ed. Rio de
Janeiro: Cipher Segurana da Informao, 2005. 12p.
Hartman, Bret et al. Mastering Web Services Security. 1. ed. Indianapolis: Wiley, 2003. 436p.
Moreira, Nilton Stringasci. Segurana Mnima: uma viso corporativa da segurana de
informaes. 1. ed. Rio de Janeiro: Axcel, 2001. 211p.
Nakamura, Rodolfo Reijiro. E-commerce na Internet: fcil de entender. 1. ed. So Paulo:
rica, 2001. 240p.
ONeill, Mark et al. Web Services Security. 1. ed. Berkeley: McGraw-Hill, 2003. 312p.
Potts, Stephen et al. Aprenda em 24 horas Web Services. 1. ed. Rio de Janeiro: Campus, 2003.
367p.
Rosenberg, Jothy; REMY, David L. Securing Web Services with WS-Security. 1. ed.
Indianapolis: Sams, 2004. 408p.
Scribner, Kenn; STIVER, Mark C. Applied SOAP: implementing .NET XML Web Services.
1. ed. Indianapolis: Sams, 2001. 432p.
Wadlow, Thomas A. Segurana de Redes: projeto e gerenciamento de redes seguras. 1. ed.
Rio de Janeiro: Campus, 2000. 269p.
24