vations in the case study. Nevertheless, we have made
our approach available as open-source, which facili-
tates the replication of the study.
6 CONCLUSION
We presented a novel methodology for identifying
the full set of entity CRUD operations needed for
each endpoint in microservices-based systems. Such
CRUD operations are fundamental to ensuring any
proper endpoint access control. While the system
may initially have had correct access rights on all end-
points, its distributed evolution can easily cause them
to be outdated, requiring periodic verification of all
applied access rights to prevent vulnerability. Our
three-step solution generates a mapping of endpoint
methods to their needed CRUD operations. It then
identifies the call paths present within a system and
synthesizes the preceding outputs to generate a map-
ping of all endpoint calls to the full set of implied
entity CRUD operations that are needed to call this
endpoint. We have approached the problem in a gen-
eralizable manner using ReSSA methodology simpli-
fying the extension to accommodate new platforms
by analyzing a unified intermediate program repre-
sentation. We tested the proposed approach against
the TrainTicket testbed, a Java microservice system
built on the Spring-Boot framework, and verified
the results against a manually-reconstructed ground
truth. This yielded promising accuracy for identify-
ing CRUD operations for each endpoint.
In future work, we will statically analyze busi-
ness rules from the system source code and combine
these two solutions to generate an authorization ser-
vice enforcing authorization throughout the system
uniformly. Such a service would allow the cross-
cutting concern of authorization to be factored out
and handled in an automated fashion by stopping any
CRUD operation mismatches between an endpoint
and what it executes before becoming a security vul-
nerability.
ACKNOWLEDGEMENTS
This material is based upon work supported by
the National Science Foundation under Grant No.
1854049 and a grant from Red Hat Research,
https://research.redhat.com.
REFERENCES
Bogner, J., Fritzsch, J., Wagner, S., and Zimmermann,
A. (2021). Industry practices and challenges for the
evolvability assurance of microservices. Empirical
Software Engineering, 26(5):104.
Cerny, T., Svacina, J., Das, D., Bushong, V., Bures, M.,
Tisnovsky, P., Frajtak, K., Shin, D., and Huang, J.
(2020). On code analysis opportunities and challenges
for enterprise systems and microservices. IEEE Ac-
cess, pages 1–22.
Das, D., Walker, A., Bushong, V., Svacina, J.,
ˇ
Cern
´
y, T.,
and Matyas, V. (2021). On automated rbac assessment
by constructing a centralized perspective for microser-
vice mesh. PeerJ Computer Science, 7:e376.
Le, H. T., Nguyen, C. D., Briand, L., and Hourte, B.
(2015). Automated inference of access control poli-
cies for web applications. In Proceedings of the 20th
ACM Symposium on Access Control Models and Tech-
nologies, SACMAT ’15, page 27–37, New York, NY,
USA. ACM.
Schiewe, M., Curtis, J., Bushong, V., and Cerny, T.
(2022). Advancing static code analysis with language-
agnostic component identification. IEEE Access,
10:30743–30761.
Son, S., McKinley, K. S., and Shmatikov, V. (2011). Role-
cast: Finding missing security checks when you do
not know what checks are. In Proceedings of the
2011 ACM International Conference on Object Ori-
ented Programming Systems Languages and Appli-
cations, OOPSLA ’11, pages 1069–1084, NY, USA.
ACM.
Son, S., McKinley, K. S., and Shmatikov, V. (2013). Fix
me up: Repairing access-control bugs in web applica-
tions. In 20th Annual Network and Distributed System
Security Symposium, NDSS 2013, San Diego, Califor-
nia, USA, February 24-27, 2013. The Internet Society.
Srivastava, V., Bond, M. D., McKinley, K. S., and
Shmatikov, V. (2011). A security policy oracle: De-
tecting security holes using multiple api implementa-
tions. SIGPLAN Not., 46(6):343–354.
Wohlin, C., Runeson, P., H
¨
ost, M., Ohlsson, M., Regnell,
B., and Wessl
´
en, A. (2000). Experimentation in Soft-
ware Engineering: An Introduction. The Kluwer In-
ternational Series In Software Engineering. Springer,
Germany.
Xiang, C., Wu, Y., Shen, B., Shen, M., Huang, H., Xu, T.,
Zhou, Y., Moore, C., Jin, X., and Sheng, T. (2019). To-
wards continuous access control validation and foren-
sics. In Proceedings of the 2019 ACM SIGSAC Con-
ference on Computer and Communications Security,
CCS ’19, page 113–129, New York, NY, USA. Asso-
ciation for Computing Machinery.
Zhou, X., Peng, X., Xie, T., Sun, J., Xu, C., Ji, C., and
Zhao, W. (2018). Benchmarking microservice sys-
tems for software engineering research. In Chaudron,
M., Crnkovic, I., Chechik, M., and Harman, M., edi-
tors, Proceedings of the 40th International Conference
on Software Engineering: Companion Proceeedings,
ICSE 2018, Gothenburg, Sweden, May 27 - June 03,
2018, pages 323–324. ACM.
Towards Security-Aware Microservices: On Extracting Endpoint Data Access Operations to Determine Access Rights
23