journal article·2024Open access

RESTlogic: Detecting Logic Vulnerabilities in Cloud REST APIs

Ziqi Wang, Weihan Tian, Baojiang Cui

Computers, Materials & Continua· Volume 78· Issue 2

Abstract

The API used to access cloud services typically follows the Representational State Transfer (REST) architecture style. RESTful architecture, as a commonly used Application Programming Interface (API) architecture paradigm, not only brings convenience to platforms and tenants, but also brings logical security challenges. Security issues such as quota bypass and privilege escalation are closely related to the design and implementation of API logic. Traditional code level testing methods are difficult to construct a testing model for API logic and test samples for in-depth testing of API logic, making it difficult to detect such logical vulnerabilities. We propose RESTlogic for this purpose. Firstly, we construct a test group based on the tree structure of the REST API, adapt a logic vulnerability testing model, and use feedback based methods to detect code document inconsistency defects. Secondly, based on an abstract logical testing model and resource lifecycle information, generate test cases and complete parameters, and alleviate inconsistency issues through parameter inference. Once again, we propose a method of analyzing test results using joint state codes and call stack information, which compensates for the shortcomings of traditional analysis methods. We will apply our method to testing REST services, including OpenStack, an open source cloud operating platform for experimental evaluation. We have found a series of inconsistencies, known vulnerabilities, and new unknown logical defects.
Source: openalex_inverted_index · Quality: baseline

Research context

OpenAlex topics: Network Security and Intrusion Detection · Cloud Data Security Solutions · Web Application Security Vulnerabilities

SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.

References (57)

Show source-provided references
1. Scope of machine learning applications for addressing the challenges in next-generation wireless networks10.1049/cit2.12114 ↗
2. Reverse-engineering the design rules for cloud-based big data platforms
3. Amazon, “Shared responsibility model,” [Online]. Available: https://aws.amazon.com/compliance/shared-responsibility-model/?nc1=h_ls (accessed on 16/08/2022).
4. R. T. Fielding, “Architectural styles and the design of network-based software architectures,” Ph.D. dissertation, University of California, Irvine, 2000.
5. Checking security properties of cloud service REST APIs
6. Stratosphere: Finding vulnerable cloud storage buckets
7. An improved fast and secure CAMEL based authenticated key in smart health care system
8. Devils in the guidance: Predicting logic vulnerabilities in payment syndication services through automated documentation analysis
9. Restler: Stateful rest api fuzzing
10. Intelligent REST API data fuzzing
11. Differential regression testing for REST APIs
12. RESTful API automated test case generation with EvoMaster10.1145/3293455 ↗
13. Swagger, “swagger-codegen,” [Online]. Available: https://github.com/swagger-api/swagger-codegen (accessed on 16/08/2022).
14. Resttestgen: Automated black-box testing of restful apis
15. Adaptive hypermutation for search-based system test generation: A study on rest apis with evomaster
16. Deriving semantics-aware fuzzers from web api schemas
17. RESTest: Automated black-box testing of RESTful web APIs
18. Openstack, [Online]. Available: https://github.com/openstack/openstack (accessed on 16/08/2022).
19. An overview of openstack architecture
20. OpenStack: Toward an open-source solution for cloud computing10.5120/8738-2991 ↗
21. Toward automated detection of logic vulnerabilities in web applications
22. DetLogic: A black-box approach for detecting logic vulnerabilities in web applications10.1016/j.jnca.2018.01.008 ↗
23. LogicScope: Automatic discovery of logic vulnerabilities within web applications
24. Discovering logical vulnerabilities in the Wi-Fi handshake using model-based testing
25. Detecting logic vulnerabilities in E-commerce applications
26. A survey of the host hypervisor security issues presented in public IAAS environments and their solutions
27. R. Stultiens, “Compliant but vulnerable: fixing gaps in existing AWS security frameworks,” M.S. thesis, Eindhoven University of Technology, Netherlands, 2020.
28. Stratosphere: Finding vulnerable cloud storage buckets
29. Marforio · Technical Report · 724
30. Detecting missing-check bugs via semantic- and context-aware criticalness and constraints inferences
31. Shoshitaishvili · NDSS · 2015 · 1 · 1.1
32. Automated analysis of inter-parameter dependencies in web APIs
33. Resource and dependency based test case generation for RESTful Web services10.1007/s10664-020-09937-1 ↗
34. Morest: Model-based RESTful API testing with execution feedback
35. QuickREST: Property-based test generation of OpenAPI-described RESTful APIs
36. Automated test generation for rest apis: No time to rest yet
37. Microsoft, “Best practices for cloud applications,” [Online]. Available: https://learn.microsoft.com/en-us/azure/architecture/best-practices/api-design (accessed on 16/08/2022).
38. Combinatorial testing of restful apis
39. OAI, “Openapi-specification,” [Online]. Available: https://github.com/OAI/OpenAPI-Specification (accessed on 16/08/2022).
40. L. Dusseault and J. Snell, “PATCH Method for HTTP,” RFC 5789, 2010. [Online]. Available: https://www.rfc-editor.org/info/rfc5789 (accessed on 16/08/2022).
41. R. Fielding and J. Reschke, “Hypertext transfer protocol (HTTP/1.1): Semantics and content, RFC 7231,” RFC 7231, 2014. [Online]. Available: https://www.rfc-editor.org/info/rfc7231 (accessed on 16/08/2022).10.17487/rfc7231 ↗
42. P. E. Black, “trie,” [Online]. Available: https://www.nist.gov/dads/HTML/trie.html (accessed on 16/08/2022).
43. R. Fielding, M. Nottingham, J. Reschke and H. T. T. P. Semantics, “HTTP Semantics,” RFC 9110, 2022. [Online]. Available: https://www.rfc-editor.org/info/rfc9110 (accessed on 16/08/2022).10.17487/RFC9110 ↗
44. Python, “Pep 318,” [Online]. Available: https://peps.python.org/pep-0318 (accessed on 16/08/2022).
45. Opentracing,” [Online]. Available: https://opentracing.io (accessed on 16/08/2022).
46. Opentracing api,” [Online]. Available: https://github.com/opentracing (accessed on 16/08/2022).
47. Jaeger,” [Online]. Available: https://github.com/jaegertracing/jaeger (accessed on 16/08/2022).
48. PortSwigger, “Insecure direct object references (idor),” [Online]. Available: https://portswigger.net/web-security/access-control/idor (accessed on 16/08/2022).
49. Vitalik, “django-ninja,” [Online]. Available: https://github.com/vitalik/django-ninja (accessed on 16/08/2022).
50. Microsoft, “Restler-fuzzer,” [Online]. Available: https://github.com/microsoft/restler-fuzzer (accessed on 16/08/2022).
51. ExpDev07, “Coronavirus-tracker-api,” [Online]. Available: https://github.com/ExpDev07/coronavirus-tracker-api (accessed on 16/08/2022).
52. Robert Clark, IBM, “Nova metadata service should not be used for sensitive information,” [Online]. Available: https://wiki.openstack.org/wiki/OSSN/OSSN-0074 (accessed on 16/08/2022).
53. Artificial intelligence and applications10.37965/jait.2022.0102 ↗
54. Foundations of artificial intelligence and applications10.37965/jait.2022.01 ↗
55. Datamining and its applications10.37965/jait.2022.0125 ↗
56. Network anomaly detection using deep learning techniques10.1049/cit2.12078 ↗
57. Abnormal event detection by a weakly supervised temporal attention network10.1049/cit2.12068 ↗