Architecture for diversity in the implementation of dependable and secure services using the state machine replication approach. (3rd February 2020) - Costa, Caio Yuri Da Silva; Alchieri, Eduardo
The dependability and security properties of a system could be impaired by a failure or by an opponent that exploits its vulnerabilities. State Machine Replication (SMR) is a technique widely used to implement fault-tolerant systems, mitigating these risks. Unfortunately, the proposed SMR solutions do not implement diversity and all replicas execute the same software. Consequently, the same attack or software bug could compromise the whole system. This work proposes an architecture to allow diversity in the implementation of dependable and secure services using the SMR approach. The goal is not to implement different versions of a SMR library, but to use an underlying SMR library and provide means to implement and execute service replicas (the application code) in different programming languages. The main problems addressed are twofold: communication among different languages; and data representation. The proposed architecture was integrated in BFT-SMaRt and a set of experiments showed its practical feasibility.