1 / 19

SNU EE Shin Jin Woo

Enabling Trusted Software Integrity. SNU EE Shin Jin Woo. 2005. 11. 28. Table of Contents. Motivation What is SPEF? Preliminaries Installation Mode Flowchart of SPEF system Implementation of SPEF Experimental Results Future Works. 1. Motivation. Security Attacks. Module 1.

crwys
Télécharger la présentation

SNU EE Shin Jin Woo

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Enabling Trusted Software Integrity SNU EE Shin Jin Woo 2005. 11. 28

  2. Table of Contents • Motivation • What is SPEF? • Preliminaries • Installation Mode • Flowchart of SPEF system • Implementation of SPEF • Experimental Results • Future Works

  3. 1. Motivation Security Attacks Module 1 • Installation of distrusted software • Redirection of execution flow to malicious code ex) buffer overflow (stack smashing)

  4. 1. Motivation Existing Techniques Module 1 • Intrusion Detection • Scan system resources • Detect the activity of intrusive agents • Formal Verification • Set a formally defined methods • Do a static analysis on the code to ensure security A New Approach Intrusion Prevention

  5. 2. What is SPEF? SPEF(Secure Program Execution Framework) Module 1 • What is it? • An demonstration of an intrusion prevention system • A framework of architectural and compilation mechanisms • What does it do? • Force an adversary to solve an intractable task • Install S/W binary by encoding a set of constraints • Is the system secure now? • Force the trusted user to inject intrusive S/W • The best we can hope!!

  6. 2. What is SPEF? SPEF(Secure Program Execution Framework) Module 1 • How do we encode constraints into binary? • Store a secret key inside processor H/W we need special installation mode • Only S/W installer can access the key • Used the key to setup constraints • Embed the constraints into the binary • Verify the binary at run-time

  7. 3. Preliminaries Processor-Unique Identifier Module 1 • R/O register with unique secret key for each CPU Software Delivery store/execute in working copy form CPU ID augmented binary compiled binary installation process master copy working copy

  8. 4. Installation Mode Installation Mode Module 1 • Only let the installer access the CPU ID • Secure atomic installation without interrupts • Do not write to CPU ID or disclose ID off chip • Before completion, overwrite on-chip memory • Disable Context Switching • Disable all H/W & S/W interrupts • Store and call the installer in BIOS-like fashion

  9. 5. Flowchart of SPEF system Components and Procedures I-block (Instruction Block) Most of the time, I-block = basic block if basic block is too large, parse it

  10. 5. Flowchart of SPEF system Constraint Encoding • Domain ordering • Assign a unique identifier to each component • Must be invariant under transformation ex) sorting instructions with preserved dependencies • Transformation-Invariant Hash (TI-hash) • A sequence of bits used to generate constraints • Must be invariant under transformation ex) control-flow graphs, instruction types, constant value • Constraint Embedding • Constraints are embedded into I-block using bit-stream ex) modify the orders of the instruction in the I-block

  11. 5. Flowchart of SPEF system Program Execution • Verification Process • consists of same three steps • instead of embedding, analyze the matching - if complete match, execute the I-block - else, send abort signal to OS to terminate the process

  12. 6. Implementation of SPEF Implementation Specification • Use ARM instruction sets • simplistic RISC-type • availability of tools that support additional logic • test the result using Mediabench (MPEG, JPEG..) • Use of Intel’s x86 • sophisticated super-scalar pipelined ALUs • variable length instructions They have shown this work in a paper published in 2004

  13. 6. Implementation of SPEF Requirements for Constraint Types • High degree of freedom • need a large number of distinct representation of I-block • Functional transparency • transformation must not alter program’s funtionality • Transformation invariance • constraints encoding must be the same before/after • Effective implementation • constraint verifier must be fast and require few gates • Low performance overhead • should have minimal performance overhead

  14. 6. Implementation of SPEF Degree of Freedom the number of ways the I-block can be transformed such that the functionality of the I-block is preserved Instruction Reordering • Reorder the instructions within I-block • a technique in optimized compilation • Domain Ordering • sort the instructions with • Compute Random Bitstring • using TI-hash and encryption method • Constraint Embedding

  15. 6. Implementation of SPEF Instruction Reordering

  16. 6. Implementation of SPEF More Constraint Types • Basic Block Reordering • Permuted Register Assignment • Conditional Branch Selection • Filling Unused Instruction Fields • Toggling the Signs of Imme. Operands Combinations of these types can greatly improve DOF

  17. 7. Experimental Results DOF of Instruction Scheduling DOF of Instruction Scheduling Cummulative DOF

  18. 7. Experimental Results DOF of Instruction Scheduling Effective CPI

  19. 8. Future Works DOF of Instruction Scheduling A H/W-S/W Platform for Intrusion Prevention

More Related