IEEE Access (Jan 2023)
μVerum: Intrusion Recovery for Microservice Applications
Abstract
Microservice architectures allow complex applications to be developed as a collection of loosely coupled components. The heterogeneous architecture of these applications makes the process of recovering from intrusions especially complex, error-prone, and time-consuming. Although there are several recovery mechanisms for monolithic applications, applying such mechanisms in microservices would not work due to the distribution of the components, the different technologies used by each service, and their scale. Moreover, it can be difficult to trace the services affected by an intrusion and which actions to revert. We propose $\mu $ Verum, a framework for recovering microservices from intrusions that corrupt the application state. Our approach allows recovery of large-scale microservice applications by logging user requests and the operations that are propagated through several microservices. When a system administrator detects a faulty request, $\mu $ Verum can execute compensating operations in each of the affected microservices. We implemented, evaluated, and made the code of $\mu $ Verum available. Our experiments show that $\mu $ Verum is able to revert the effects in an intrusion in one second while the application is running.
Keywords