Please use this identifier to cite or link to this item: https://hdl.handle.net/10316/79733
Title: Security Benchmarking for Web Service Frameworks
Authors: Oliveira, Rui André Correia de 
Orientador: Laranjeiro, Nuno
Vieira, Marco
Keywords: web services; serviços Web; frameworks; security; segurança; vulnerabilities; vulnerabilidades; security testing; testes de segurança; benchmarking
Issue Date: 7-Mar-2018
Citation: OLIVEIRA, Rui André Correia de - Security benchmarking for web service frameworks. Coimbra : [s.n.], 2018. Tese de doutoramento. Disponível na WWW: http://hdl.handle.net/10316/79733
Place of publication or event: Coimbra
Abstract: As the business needs of organizations evolve, software applications and data must be integrated to deliver higher value services. Service Oriented Architectures (SOAs) appeared as an approach for system integration, attracting the attention of researchers and developers. A SOA is essentially an architectural style that can be built using many different technologies and platforms, including messaging services, remote method invocation middleware, and web services. Due to its characteristics, web services technology has become, by far, the most popular option for implementing a SOA and is of crucial importance in business-critical environments. SOAP Web Services (WS) are a platform-independent technology consisting of self-describing software components, which enables business processes to be accessible worldwide. Once coded and deployed, services are accessible to consumers that can send requests and receive the respective responses. A web service is usually deployed on top of a web server and additional middleware, including a web service framework. This framework, besides supporting the deployment, performs crucial functions at runtime, namely handling client requests, parsing messages, performing error checking (e.g., compliance with the SOAP protocol), and building object representations of the requests that are then passed to the service code. Web service frameworks are mature software components, benefiting from years of research, development, and deployment in production systems. Thus, developers tend to focus on the quality of their code and assume that the middleware supporting their applications is secure, which is not always the case. In fact, industry reports have shown that frameworks are not more secure than other network-related systems. Due to their on-line exposure and presence in business-critical scenarios, web services are frequently the target of attacks that try to take advantage of the WS specifications to exploit vulnerabilities potentially present in the deployment platforms. A successful attack on a production system may result in infrastructure damage, financial losses, or irrecoverable reputation losses. To have secure service deployments, it is essential to provide developers and researchers with tools and techniques for assessing the security of their platforms, which are currently scarce and insufficient. These evaluation tools should also allow comparing frameworks in terms of their security, so that service providers can select the framework that best fits their security needs. Benchmarks have emerged as a standardized tool for assessing and comparing systems according to particular characteristics, such as performance or dependability. The problem is that benchmarking security is a complex problem and is usually much more dependent on aspects that are unknown about the system (e.g., unknown vulnerabilities) and about the potential attackers, than on what is known about them. This thesis first presents a tool that allows testing the security of web service frameworks. WSFAggressor is a security testing tool, built on top of an existing tool named WS-Attacker, and integrates two distinctive features. In practice, we specialized the original tool by adding support for the implementation of a wide range of Denial of Service (DoS) attacks. In addition to a few other changes, we also added support for integration with the different stages of a security assessment approach, which in general includes at least a part involving the execution of regular requests and another involving malicious interactions. The thesis proposes an approach for evaluating the security of web service frameworks based on exposing the frameworks under testing to malicious requests that target the exhaustion of the resources to deny service to legitimate clients. The approach includes observing typical system parameters, including memory allocation or CPU usage, and the services response to detect failures and anomalous behaviors. The proposal is demonstrated against a set of widely used frameworks, disclosing severe failures and a few dubious behaviors. The thesis continues with an approach to assess the performance of web service frameworks when handling both security attacks and regular requests. This allows characterizing, from the perspective of legitimate clients that try to use the services supported by the frameworks, how the performance is affected by attacks. A set of experiments is carried out using several popular frameworks. Results show clear discrepancies in the performance of the frameworks under attack. Finally, the thesis proposes a benchmark that allows assessing and comparing the security of web service frameworks. The benchmark includes two main phases: security qualification and trustworthiness evaluation. In the security qualification, the goal is to identify frameworks that have unacceptable vulnerabilities and that should thus be disqualified from the evaluation. The remaining frameworks qualify to the trustworthiness evaluation phase where we apply multi-criteria decision making techniques to compute a trustworthiness score that can be used to rank the frameworks. We demonstrate the benchmark by assessing and comparing seven frameworks, which are ranked according to the behavior observed during the tests.
À medida que as necessidades empresariais evoluem, aplicações e dados devem ser integrados para que seja possível oferecer serviços de valor superior. As Arquiteturas Orientadas a Serviços (SOAs) são uma abordagem apelativa para a integração de sistemas, e atraem a atenção de investigadores e programadores. Uma SOA é um estilo arquitetural baseado em muitas tecnologias e plataformas diferentes, incluindo serviços de mensagens, middleware de invocação de métodos remotos e serviços web. A tecnologia de serviços web tornou-se a implementação mais popular de uma SOA e é crucial em ambientes críticos de negócio. Os serviços web (WS) são uma tecnologia multi-plataforma que permite que processos de negócios obtenham exposição mundial. Uma vez codificados e instalados, os serviços ficam acessíveis a clientes que podem então enviar pedidos e receber respostas. Um serviço web é geralmente instalado num servidor web, que inclui uma framework. Esta framework, além de suportar a instalação de serviços, desempenha funções cruciais em tempo de execução, em particular a receção de pedidos, o processamento de mensagens, a verificação de erros e a criação de representações dos pedidos, que são entregues ao código do serviço. As frameworks de serviços Web são componentes de software maduros, resultantes de anos de desenvolvimento e instalação em sistemas de produção. Como consequência, os programadores de serviços tendem a concentram-se na qualidade de seu código e assumem que o middleware que o suporta é seguro. Contudo, estudos anteriores mostram que as frameworks não são mais seguras do que outros sistemas distribuídos. Devido à sua exposição, os serviços web são alvo frequente de ataques resultando em graves danos financeiros, reputacionais e ao nível da infraestrutura. De modo a ter instalações seguras de serviços, é essencial disponibilizar aos programadores e investigadores ferramentas e técnicas para avaliar a segurança das suas plataformas, que são atualmente escassas e insuficientes. Estes meios de avaliação devem também permitir comparar as frameworks em termos de segurança, para que os fornecedores de serviços possam selecionar a que melhor se ajusta às suas necessidades. As benchmarks surgiram como uma ferramenta padronizada para avaliar e comparar sistemas de acordo com características específicas, como desempenho ou confiabilidade. A questão é que avaliação de segurança é um problema bastante complexo e é geralmente muito mais dependente de aspetos que são desconhecidos do sistema (e.g., vulnerabilidades desconhecidas) e sobre os potenciais atacantes, do que sobre o que é conhecido. Esta tese começa por apresentar uma ferramenta que permite testar a segurança das frameworks de serviços web. WSFAggressor é uma ferramenta de testes de segurança, construída com base na ferramenta WS-Attacker, e inclui duas funcionalidades distintivas. Na prática, especializámos a ferramenta original, adicionando suporte para a implementação de uma ampla gama de ataques de negação de serviço (DoS). Além de outras mudanças, também adicionámos suporte para a integração com as diferentes etapas de uma abordagem de avaliação de segurança, que em geral inclui pelo menos uma fase de execução de pedidos legítimos e outra que envolve interações maliciosas. A tese propõe uma abordagem para avaliação de segurança de frameworks para serviços web, que se baseia em expor as frameworks sob teste a pedidos maliciosos que visam consumir os recursos de sistema de modo a negar o serviço a clientes legítimos. A abordagem inclui a observação de parâmetros de sistema, incluindo alocação de memória ou utilização de CPU, e das respostas dos serviços para detetar falhas e comportamentos dúbios. A abordagem é demonstrada sobre um conjunto de frameworks, revelando falhas graves e alguns comportamentos duvidosos. A tese prossegue com uma abordagem para avaliar o desempenho de frameworks de serviços web, na presença simultânea de ataques e pedidos legítimos. Esta abordagem caracteriza como o desempenho é afetado por ataques, na perspetiva dos clientes legítimos que tentam usar os serviços suportados pelas frameworks. Foram executados um conjunto de experiências usando várias frameworks de serviços web. Os resultados mostram discrepâncias no desempenho das frameworks sob ataque. Por fim, a tese propõe uma benchmark que permite avaliar e comparar a segurança de frameworks para serviços web. A benchmark inclui duas fases principais: qualificação de segurança e avaliação de confiança. Na qualificação de segurança, o objetivo é identificar claramente as frameworks que possuem vulnerabilidades evidentes e que, portanto, devem ser desqualificadas da avaliação. As restantes frameworks qualificam para a fase de avaliação de confiança onde aplicamos técnicas de tomada de decisão multicritério, para calcular uma pontuação de confiança que pode ser usada para ordenar as frameworks. Demonstramos a benchmark de segurança avaliando e comparando sete frameworks para serviços web, que são ordenados de acordo com o comportamento observado durante os testes.
Description: Tese de doutoramento em Ciências e Tecnologias da Informação, apresentada ao Departamento de Informática da Faculdade de Ciências e Tecnologia da Universidade de Coimbra
URI: https://hdl.handle.net/10316/79733
Rights: embargoedAccess
Appears in Collections:FCTUC Eng.Informática - Teses de Doutoramento

Files in This Item:
File Description SizeFormat
Security Benchmarking for Web Service Frameworks.pdf3.41 MBAdobe PDFView/Open
Show full item record

Page view(s)

292
checked on Apr 16, 2024

Download(s)

62
checked on Apr 16, 2024

Google ScholarTM

Check


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.