Abstract
Effective security measures are crucial for modern Microservice Architecture (MSA)-based applications as many IT companies rely on microservices to deliver their business functionalities. Security smells may indicate possible security issues. However, detecting security smells and devising strategies to resolve them through refactoring is difficult and expensive, primarily due to the inherent complexity of microservice architectures.
This paper proposes a Model-driven approach to resolving security smells in MSA. The proposed method uses LEMMA as a concrete approach to model microservice applications. We extend LEMMA’s functionalities to enable the modeling of microservices’ security aspects. With the proposed method, LEMMA models can be processed to automatically detect security smells and recommend the refactorings that resolve the identified security smells.
To test the effectiveness of the proposed method, the paper introduces a proof-of-concept implementation of the proposed LEMMA-based, automated microservices’ security smell detection and refactoring.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
This contribution extends our approach described in [36] by providing an extended version of the microservice security smell resolution process including Software Architecture Reconstruction (cf. Sect. 2.3) and LEMMAs Microservice Reconstruction Framework (cf. Sect. 4.1). Additionally, we introduced the Foot to Go Restaurant software system as a case study to validate our extended approach (cf. Sect. 3 and Sect. 5). To include the results from our extended approach, we adapted Sect. 5 to include all detected security smells and Sect. 6 and Sect. 8 to include new results of our research.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
References
Arcelli, D., Cortellessa, V., Pompeo, D.D.: Automating performance antipattern detection and software refactoring in UML models. In: Wang, X., Lo, D., Shihab, E. (eds.) 2019 International Conference on Software Analysis, Evolution and Reengineering, SANER 2019, pp. 639–643. IEEE Computer Society (2019)
Arcelli Fontana, F., et al.: Arcan: a tool for architectural smells detection. In: Malavolta, I., Capilla, R. (eds.) 2017 IEEE International Conference on Software Architecture Workshops, ICSA 2017 Workshops, pp. 282–285. IEEE Computer Society (2017)
Balalaie, A., Heydarnoori, A., Jamshidi, P.: Microservices architecture enables DevOps: migration to a cloud-native architecture. IEEE Softw. 33(3), 42–52 (2016)
Balalaie, A., Heydarnoori, A., Jamshidi, P., Tamburri, D.A., Lynn, T.: Microservices migration patterns. Softw. Pract. Experience 48(11), 2019–2042 (2018). https://doi.org/10.1002/spe.2608
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 3rd edn. Addison-Wesley Professional (2012)
Bogner, J., Fritzsch, J., Wagner, S., Zimmermann, A.: Microservices in industry: insights into technologies, characteristics, and software quality. In: 2019 IEEE International Conference on Software Architecture Companion (ICSA-C), pp. 187–195. IEEE (2019)
Combemale, B., France, R.B., Jézéquel, J.M., Rumpe, B., Steel, J., Vojtisek, D.: Engineering Modeling Languages: Turning Domain Knowledge into Tools, 1st edn. CRC Press (2017)
Di Francesco, P., Lago, P., Malavolta, I.: Migrating towards microservice architectures: an industrial survey. In: 2018 IEEE International Conference on Software Architecture (ICSA), pp. 29–38. IEEE (2018)
Garcia, J., Popescu, D., Edwards, G., Medvidovic, N.: Identifying architectural bad smells. In: Winter, A., Ferenc, R., Knodel, J. (eds.) Proceedings of the 2009 European Conference on Software Maintenance and Reengineering, CSMR 2009, pp. 255–258. IEEE Computer Society, USA (2009). https://doi.org/10.1109/CSMR.2009.59
Granchelli, G., Cardarelli, M., Francesco, P.D., Malavolta, I., Iovino, L., Salle, A.D.: Towards recovering the software architecture of microservice-based systems. In: 2017 IEEE International Conference on Software Architecture Workshops (ICSAW), pp. 46–53. IEEE (2017)
Hardy, N.: The confused deputy: (or why capabilities might have been invented). ACM SIGOPS Operating Syst. Rev. 22(4), 36–38 (1988)
Haselböck, S., Weinreich, R., Buchgeher, G.: Decision models for microservices: design areas, stakeholders, use cases, and requirements. In: Lopes, A., de Lemos, R. (eds.) ECSA 2017. LNCS, vol. 10475, pp. 155–170. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-65831-5_11
Hassan, S., Ali, N., Bahsoon, R.: Microservice ambients: an architectural meta-modelling approach for microservice granularity. In: 2017 IEEE International Conference on Software Architecture (ICSA), pp. 1–10. IEEE (2017)
JHipster: JHipster Domain Language (JDL) (2023). https://www.jhipster.tech/jdl/intro
Kapferer, S., Zimmermann, O.: Domain-driven service design. In: Dustdar, S. (ed.) SummerSOC 2020. CCIS, vol. 1310, pp. 189–208. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-64846-6_11
Knoche, H., Hasselbring, W.: Drivers and barriers for microservice adoption – a survey among professionals in Germany. Enterp. Model. Inf. Syst. Archit. 14(1), 1–35 (2019)
Morris, K.: Infrastructure as Code. O’Reilly Media (2020)
Neri, D., Soldani, J., Zimmermann, O., Brogi, A.: Design principles, architectural smells and refactorings for microservices: a multivocal review. SICS Softw.-Intensive Cyber-Phys. Syst. 35(1), 3–15 (2020). https://doi.org/10.1007/s00450-019-00407-8
Newman, S.: Building Microservices: Designing Fine-Grained Systems. O’Reilly (2015)
Pigazzini, I., Fontana, F.A., Lenarduzzi, V., Taibi, D.: Towards microservice smells detection. In: Proceedings of the 3rd International Conference on Technical Debt, TechDebt 2020, pp. 92–97. Association for Computing Machinery, New York, NY, USA (2020). https://doi.org/10.1145/3387906.3388625
Ponce, F., Soldani, J., Astudillo, H., Brogi, A.: Should microservice security smells stay or be refactored? Towards a trade-off analysis. In: Gerostathopoulos, I., et al. (eds.) Software Architecture, ECSA 2022. LNCS, vol. 13444, pp. 131–139. Springer, Cham (2022). https://doi.org/10.1007/978-3-031-16697-6_9
Ponce, F., Soldani, J., Astudillo, H., Brogi, A.: Smells and refactorings for microservices security: a multivocal literature review. J. Syst. Softw. 192, 111393 (2022). https://doi.org/10.1016/j.jss.2022.111393
Rademacher, F.: A Language Ecosystem for Modeling Microservice Architecture. Ph.D. thesis, University of Kassel (2022)
Rademacher, F., Sachweh, S., Zündorf, A.: Deriving microservice code from underspecified domain models using DevOps-enabled modeling languages and model transformations. In: 2020 46th Euromicro Conference on Software Engineering and Advanced Applications (SEAA), pp. 229–236. IEEE (2020).https://doi.org/10.1109/SEAA51224.2020.00047
Rademacher, F., Sachweh, S., Zündorf, A.: A modeling method for systematic architecture reconstruction of microservice-based software systems. In: Nurcan, S., Reinhartz-Berger, I., Soffer, P., Zdravkovic, J. (eds.) BPMDS/EMMSAD -2020. LNBIP, vol. 387, pp. 311–326. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-49418-6_21
Rahman, A., Parnin, C., Williams, L.: The seven sins: security smells in infrastructure as code scripts. In: 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE), pp. 164–175 (2019). https://doi.org/10.1109/ICSE.2019.00033
Richardson, C.: Microservices Patterns. Manning Publications (2019)
Sanchez, A., Barbosa, L.S., Madeira, A.: Modelling and verifying smell-free architectures with the Archery language. In: Canal, C., Idani, A. (eds.) SEFM 2014. LNCS, vol. 8938, pp. 147–163. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-15201-1_10
Soldani, J., Muntoni, G., Neri, D., Brogi, A.: The \(\mu \)TOSCA toolchain: mining, analyzing, and refactoring microservice-based architectures. Softw. Pract. Experience 51(7), 1591–1621 (2021). https://doi.org/10.1002/spe.2974
Soldani, J., Tamburri, D.A., Heuvel, W.J.V.D.: The pains and gains of microservices: a systematic grey literature review. J. Syst. Softw. 146, 215–232 (2018)
Sorgalla, J., Wizenty, P., Rademacher, F., Sachweh, S., Zündorf, A.: Applying model-driven engineering to stimulate the adoption of DevOps processes in small and medium-sized development organizations: the case for microservice architecture. SN Comput. Sci. 2(6), 459 (2021)
Taibi, D., Lenarduzzi, V.: On the definition of microservice bad smells. IEEE Softw. 35(3), 56–62 (2018). https://doi.org/10.1109/MS.2018.2141031
Taibi, D., Lenarduzzi, V., Pahl, C.: Microservices anti-patterns: a taxonomy. Microserv. Sci. Eng., 111–128 (2020)
Terzić, B., Dimitrieski, V., Kordić, S., Milosavljević, G., Luković, I.: Development and evaluation of MicroBuilder: a model-driven tool for the specification of REST microservice software architectures. Enterp. Inf. Syst. 12(8–9), 1034–1057 (2018)
Vidal, S., Vazquez, H., Diaz-Pace, J.A., Marcos, C., Garcia, A., Oizumi, W.: JSpIRIT: a flexible tool for the analysis of code smells. In: Marín, B., Soto, R. (eds.) 34th International Conference of the Chilean Computer Science Society, SCCC 2015, pp. 1–6. IEEE Computer Society (2015)
Wizenty., P., et al.: Towards resolving security smells in microservices, model-driven. In: Proceedings of the 18th International Conference on Software Technologies - ICSOFT, INSTICC, pp. 15–26. SciTePress (2023). https://doi.org/10.5220/0012049800003538
Acknowledgments
This work was partially supported by ANID under grant PIA/APOYO AFB180002, Instituto de tecnología para la innovación en salud y bienestar, facultad de ingeniería (Universidad Andrés Bello, Chile), and by the project hOlistic Sustainable Management of distributed softWARE systems (OSMWARE, UNIPI PRA_2022_64), funded by the University of Pisa, Italy.
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2024 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Wizenty, P. et al. (2024). Model-Driven Security Smell Resolution in Microservice Architecture Using LEMMA. In: Fill, HG., Domínguez Mayo, F.J., van Sinderen, M., Maciaszek, L.A. (eds) Software Technologies. ICSOFT 2023. Communications in Computer and Information Science, vol 2104. Springer, Cham. https://doi.org/10.1007/978-3-031-61753-9_3
Download citation
DOI: https://doi.org/10.1007/978-3-031-61753-9_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-61752-2
Online ISBN: 978-3-031-61753-9
eBook Packages: Computer ScienceComputer Science (R0)