Algorithm Diversity for Resilent Systems
Abstract
Diversity can increase the resilience of systems, by reducing the prevalence of shared vulnerabilities. This project explores the use of diversity to detect attacks that, directly or indirectly, cause incorrect changes to a program's state during execution. Specifically, the project aims to develop techniques to introduce algorithm-level diversity, in contrast to existing work on execution-level diversity. Algorithm-level diversity can introduce larger differences between variants than execution-level diversity and hence can provide greater resilience. Our approach to creating algorithm-level diversity is to start from a high-level executable specification and generate different algorithms that satisfy it. This approach builds on our extensive prior work on a systematic approach to generating efficient implementation from specifications, based on the fundamental principle of incremental computation. Many choices need to be made during a derivation; different choices lead to different algorithms. The generated algorithms may differ in fundamental ways involving both control structures and data structures.
Document Details
- Document Type
- Technical Report
- Publication Date
- Jun 27, 2016
- Accession Number
- AD1012068
Entities
People
- Scott D. Stoller
- Yanhong Liu
Organizations
- Research Foundation for the State University of New York