130 likes | 248 Views
Architectures for Secure Systems. David Evans University of Virginia. Systems-Level Issues. Many scientific and engineering issues appear between layers Combining secure primitives is not always secure Functionality and performance Policy
E N D
Architectures for Secure Systems David Evans University of Virginia
Systems-Level Issues • Many scientific and engineering issues appear between layers • Combining secure primitives is not always secure • Functionality and performance • Policy • Techniques for enforcing policies on untrusted systems • Need to understand what policies work for real systems
Traditional Model Data Client Once your data has left the building, all control is lost.
Client-in-Field Scenario Client Server When is it safe to send data to a possibly-compromised client? How can we securely control what is done with that data? Data Secure Data Center
Client-in-Field Scenario Client Server When is it safe to trust data from a possibly-compromised client? How can we securely track provenance of data? Data Secure Data Center
Cloud Scenario Producer Code Data Consumer Data
Distributed Trust Cloud Scenario Producer 1 Code Data Data Policy Policy Producer 2 Code
End-to-End Web Systems Java Script Renderer Browser Kernel Data Policy Security Kernel Network TPM Validator Client Server
Bootstrapping Trust Java Script Renderer Browser Kernel Data Policy Security Kernel TPM Validator Server Client TPM attests to valid Security Kernel Security Kernel enforces policy
Data-Oriented Computing • Bind data with a policy: across server and client • Policy constrains what code can operate on data • Platform enforces policy constraints • Binary rewriting, hardware mechanisms • Cryptographic mechanisms ensure integrity of data+policy across systems • No reliance on OS for protection: only on security kernel to ensure rewriting
Research Directions: Web Systems • System design • Trusted external host validates client • Producers and consumers validate cloud • Validating hosts • Minimizing the trusted base: verify the rewriter • Attestation approaches: • Late launch: new security and browser kernel • Continuous validation: external host models client, sends repeated challenges
Research Directions: Data-Oriented Computing • Data-oriented security policies • Fine-grained types: enforceable by SVA • Richer policies: enforceable by binary-rewriting • Support throughout tool-chain • Automate production of information flow policies from source code • Identify code fragments that manipulate critical data: • Restrict data to be modified by that code • Rearrange code to minimize critical code size