This research presents a hierarchical formal model capable of providing adjustable levels of service and quality of assurance, which is especially suitable for multi-core processor systems. The multi-layered architecture supports multiple levels of fault detection, masking, and dynamic load balancing. Unlike traditional fault-tolerant architectures that treat service requirements uniformly, each layer of the assured architecture implements a different level of services and information assurances. The system achieves load balancing by moving between layers of different complexity. Functionalities at different layers range from essential services necessary to satisfy the most stringent requirements for information assurance and system survivability at the lowest layer, to increasingly sophisticated functionalities with extended capabilities and complexity at higher layers. Low-layer functionalities can be used to monitor the behavior of high-layer functionalities.
At each layer of the assured architecture, N-variant implementations make efficient use of multi-core hardware. The degree of the introduced redundancy in each layer determines the mix of faults that can be tolerated. The use of hybrid fault models allows us to consider fault types ranging from benign faults to Byzantine faults. Our framework extends recent work in N-variant systems for intrusion detection, which are demonstrated to be special cases. Furthermore, it allows the movement in a tradeoff space between (1) the levels of assurance provided at different layers, (2) the levels of redundancy used at specific layers, which determine the fault types that can be tolerated, and (3) the desired run-time overhead.
[1]
Jack W. Davidson,et al.
Security through redundant data diversity
,
2008,
2008 IEEE International Conference on Dependable Systems and Networks With FTCS and DCC (DSN).
[2]
Dhiraj K. Pradhan,et al.
Consensus With Dual Failure Modes
,
1991,
IEEE Trans. Parallel Distributed Syst..
[3]
Michael Franz,et al.
Multi-variant Program Execution: Using Multi-core Systems to Defuse Buffer-Overflow Vulnerabilities
,
2008,
2008 International Conference on Complex, Intelligent and Software Intensive Systems.
[4]
Algirdas A. Avi.
The Methodology of N-Version Programming
,
1995
.
[5]
Renato J. O. Figueiredo,et al.
Towards Byzantine Fault Tolerance in Many-Core Computing Platforms
,
2007,
13th Pacific Rim International Symposium on Dependable Computing (PRDC 2007).
[6]
Roger M. Kieckhafer,et al.
Exploiting Omissive Faults in Synchronous Approximate Agreement
,
2000,
IEEE Trans. Computers.
[7]
Philip M. Thambidurai,et al.
Interactive consistency with multiple failure modes
,
1988,
Proceedings [1988] Seventh Symposium on Reliable Distributed Systems.
[8]
David Evans,et al.
N-Variant Systems: A Secretless Framework for Security through Diversity
,
2006,
USENIX Security Symposium.