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.

Open PDF

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

Tags

DTIC Thesaurus Topics

  • Algorithms
  • Application Software
  • Computations
  • Computer Programs
  • Computers
  • Contracts
  • Contrast
  • Cybersecurity
  • Department Of Defense
  • Digital Information
  • Language
  • Resilience
  • Specifications
  • Standards
  • Students
  • Teamwork
  • Vulnerability

Fields of Study

  • Computer science

Readers

  • Distributed Systems and Data Platform Development
  • Theoretical Analysis.