Moats and Drawbridges: An Isolation Primitive for Reconfigurable Hardware Based Systems Ted Huffmire, Brett Brotherton, Gang Wang, Timothy Sherwood, Ryan.

Slides:



Advertisements
Similar presentations
FPGA (Field Programmable Gate Array)
Advertisements

Hao wang and Jyh-Charn (Steve) Liu
Hardware Support for Trustworthy Systems Ted Huffmire ACACES 2012 Fiuggi, Italy.
1 Hardware Support for Isolation Krste Asanovic U.C. Berkeley MURI “DHOSA” Site Visit April 28, 2011.
Implementation Approaches with FPGAs Compile-time reconfiguration (CTR) CTR is a static implementation strategy where each application consists of one.
1 SECURE-PARTIAL RECONFIGURATION OF FPGAs MSc.Fisnik KRAJA Computer Engineering Department, Faculty Of Information Technology, Polytechnic University of.
HTR: On-Chip Hardware Task Relocation for Partially Reconfigurable FPGAs + Also Affiliated with NSF Center for High- Performance Reconfigurable Computing.
A reconfigurable system featuring dynamically extensible embedded microprocessor, FPGA, and customizable I/O Borgatti, M. Lertora, F. Foret, B. Cali, L.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Hardwired networks on chip for FPGAs and their applications
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
Hardware Support for Trustworthy Systems Ted Huffmire ACACES 2012 Fiuggi, Italy.
EECE579: Digital Design Flows
Preventing Piracy and Reverse Engineering of SRAM FPGAs Bitstream Lilian Bossuet 1,
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
Spring 07, Jan 16 ELEC 7770: Advanced VLSI Design (Agrawal) 1 ELEC 7770 Advanced VLSI Design Spring 2007 Introduction Vishwani D. Agrawal James J. Danaher.
The Spartan 3e FPGA. CS/EE 3710 The Spartan 3e FPGA  What’s inside the chip? How does it implement random logic? What other features can you use?  What.
Define Embedded Systems Small (?) Application Specific Computer Systems.
Configurable System-on-Chip: Xilinx EDK
UCB November 8, 2001 Krishna V Palem Proceler Inc. Customization Using Variable Instruction Sets Krishna V Palem CTO Proceler Inc.
Implementation of DSP Algorithm on SoC. Mid-Semester Presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompaning engineer : Emilia Burlak.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Using FPGAs with Embedded Processors for Complete Hardware and Software Systems Jonah Weber May 2, 2006.
1 A survey on Reconfigurable Computing for Signal Processing Applications Anne Pratoomtong Spring2002.
GallagherP188/MAPLD20041 Accelerating DSP Algorithms Using FPGAs Sean Gallagher DSP Specialist Xilinx Inc.
© 2011 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
General FPGA Architecture Field Programmable Gate Array.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Benefits of Partial Reconfiguration Reducing the size of the FPGA device required to implement a given function, with consequent reductions in cost and.
February 12, 1998 Aman Sareen DPGA-Coupled Microprocessors Commodity IC’s for the Early 21st Century by Aman Sareen School of Electrical Engineering and.
Lecture 2: Field Programmable Gate Arrays September 13, 2004 ECE 697F Reconfigurable Computing Lecture 2 Field Programmable Gate Arrays.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
ISA 562 Internet Security Theory & Practice
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
Ch.9 CPLD/FPGA Design TAIST ICTES Program VLSI Design Methodology Hiroaki Kunieda Tokyo Institute of Technology.
COMPUTER SCIENCE &ENGINEERING Compiled code acceleration on FPGAs W. Najjar, B.Buyukkurt, Z.Guo, J. Villareal, J. Cortes, A. Mitra Computer Science & Engineering.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Automated Design of Custom Architecture Tulika Mitra
Research on Reconfigurable Computing Using Impulse C Carmen Li Shen Mentor: Dr. Russell Duren February 1, 2008.
Threats and Challenges in FPGA Security Ted Huffmire Naval Postgraduate School December 10, 2008.
1 Moore’s Law in Microprocessors Pentium® proc P Year Transistors.
Chameleon Chip. Topics Covered 1.Introduction 2.Multifunction Implementation 3.The General Architecture Of Reconfigurable Processor 4.Architecture 5.Reconfigurable.
Lecture 2 1 ECE 412: Microcomputer Laboratory Lecture 2: Design Methodologies.
J. Christiansen, CERN - EP/MIC
Hardware Support for Trustworthy Systems Ted Huffmire ACACES 2012 Fiuggi, Italy.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
Design Space Exploration for Application Specific FPGAs in System-on-a-Chip Designs Mark Hammerquist, Roman Lysecky Department of Electrical and Computer.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
EE3A1 Computer Hardware and Digital Design
Implementing Memory Protection Primitives on Reconfigurable Hardware Brett Brotherton Nick Callegari Ted Huffmire.
Handling Mixed-Criticality in SoC- based Real-Time Embedded Systems Rodolfo Pellizzoni, Patrick Meredith, Min-Young Nam, Mu Sun, Marco Caccamo, Lui Sha.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
Reconfigurable Embedded Processor Peripherals Xilinx Aerospace and Defense Applications Brendan Bridgford Brandon Blodget.
Evaluating and Improving an OpenMP-based Circuit Design Tool Tim Beatty, Dr. Ken Kent, Dr. Eric Aubanel Faculty of Computer Science University of New Brunswick.
Survey of multicore architectures Marko Bertogna Scuola Superiore S.Anna, ReTiS Lab, Pisa, Italy.
Greg Alkire/Brian Smith 197 MAPLD An Ultra Low Power Reconfigurable Task Processor for Space Brian Smith, Greg Alkire – PicoDyne Inc. Wes Powell.
1 Advanced Digital Design Reconfigurable Logic by A. Steininger and M. Delvai Vienna University of Technology.
Survey of Reconfigurable Logic Technologies
Chapter 11 System-Level Verification Issues. The Importance of Verification Verifying at the system level is the last opportunity to find errors before.
1 Security Architecture and Designs  Security Architecture Description and benefits  Definition of Trusted Computing Base (TCB)  System level and Enterprise.
Programmable Hardware: Hardware or Software?
Hardware Support for Trustworthy Systems
Electronics for Physicists
Anne Pratoomtong ECE734, Spring2002
HIGH LEVEL SYNTHESIS.
Electronics for Physicists
Programmable logic and FPGA
Presentation transcript:

Moats and Drawbridges: An Isolation Primitive for Reconfigurable Hardware Based Systems Ted Huffmire, Brett Brotherton, Gang Wang, Timothy Sherwood, Ryan Kastner, Timothy Levin, Thuy Nguyen, and Cynthia Irvine 23 May 2007

Field Programmable Gate Arrays Design of high-performance systems  Can’t achieve high speed with a standard CPU ASIC chips have been used traditionally  Increasingly expensive Need something in between CPU and ASIC  FPGAs becoming common Raises interesting security questions  How to manage security in FPGA designs Set of security primitives  Foundation for building secure systems on FPGAs

FPGA Systems

FPGA Chip Reconfigurable Hardware SDRAM (off-chip) DRAM Reference Monitor Crypto Core CPU Core AES μPμP μPμP

Tradeoffs Software vs. Hardware  Generality vs. performance  FPGAs are in between ASIC performance comes at a high NRE cost  Fabrication  Verification Security  IP is vulnerable in overseas foundries  Reduce problem of trusting foundry to problem of trusting FPGA CPU ASIC FPGA General-PurposeApplication-Specific

Motivation Ideal: Performance approaching ASIC, cost approaching CPU Problem: Embedded systems designers need security primitives Opportunities:  Spatial mapping of apps to device  Build primitives in reconfigurable hardware

Outline Motivation and Background Security Primitives for FPGAs  Logical isolation  Interconnect tracing  Secure communication architecture  Configuration scrubbing Apply primitives to memory protection  Reference monitor Conclusions and Future Work

Protection on Embedded Systems Separation Kernels DRAM app1 app3 app2 kernel Reconfigurable Protection DRAM app1 app2 app3 Reference Monitor Physical Software SpatialTemporal

Related Work Intellectual Property Theft  Bit-stream encryption [Bossuet 04] [Kean 02]  Fingerprinting and watermarking [Lach 99]  Secure configuration update [Harper 04] Use FPGAs to compose a trusted ASIC system  RC virtual machines provide process isolation on a CMOS processor [Chien 99]  Security Primitive Controller [Gogniat 06]  Implement encryption primitives on an FPGA  FPGA is one component of an embedded system with CPU and other ASIC components

FPGA Systems SDRAM (off-chip) DRAM FPGA chip μPμP μPμP μPμP μPμP SRAM Block BRAM FPGA Fabric

FPGA Applications Mem FPGA App1 App2

FPGA Fabric Switchbox CLB A B Out

Intertwined Cores

Mixed Trust Cores Multiple cores on one chip  Integration onto single device to save $  Cores run “naked” on the device Cores are provided by third parties  Soft IP cores can be distributed as HDL, netlist, or bitstream Sophisticated software tools developed by third parties  Logic synthesis transforms HDL to netlist  Place and route transforms netlist to bitstream

Logical Isolation Motivation Security Primitives for FPGAs  Logical isolation  Interconnect tracing  Secure communication architecture  Configuration scrubbing Apply primitives to memory protection  Reference monitor Conclusions and Future Work

Moats Goal: Physical isolation of cores  Intermingled cores are not safe Opportunity: Divide computation spatially  GP Processor divides temporally Exploit spatial nature of FPGAs to provide isolation  Surround each core with a moat in which routing is disabled

FPGA Chip Moats SDRAM (off-chip) DRAM Reference Monitor Crypto Core CPU Core AES

Moats

Methodology Tradeoff between area and performance  Narrow moats use less area  Restriction to short routing segments hurts both area and performance Use VPR to synthesize 20 largest MCNC benchmark circuits on different routing configurations  Measure effect of constrained routing on area of core and critical path timing

Effective Utilization A Dead areas for moats (Depends on # Cores) B Inflation due to restricted routing (~10%) C Useful logic with no inflation (unrestricted routing) U Eff =C/(A+B+C) 100%

Moat Tradeoffs Dead Space Inflatio n Useful Logic Moat Size = 2 Dead Space Inflatio n Useful Logic Moat Size = 1 Dead Space Useful Logic Moat Size = 6 Inflatio n

Effective Utilization

Interconnect Tracing Motivation Security Primitives for FPGAs  Logical isolation  Interconnect tracing  Secure communication architecture  Configuration scrubbing Apply primitives to memory protection  Reference monitor Conclusions and Future Work

Drawbridges Goal: Ensure that only specified communication is established between cores Opportunity: Spatial isolation Specify legal connections  Location of cores  I/O pins  Valid connections Statically verify these connections

FPGA Chip Interconnect Tracing SDRAM (off-chip) DRAM Reference Monitor Crypto Core CPU Core AES μPμP μPμP X X

Secure Communication Architecture Motivation Security Primitives for FPGAs  Logical isolation  Interconnect tracing  Secure communication architecture  Configuration scrubbing Apply primitives to memory protection  Reference monitor Conclusions and Future Work

Secure Communication Architecture Goal: Secure communication between cores on shared bus  Must prevent snooping on the bus  Must ensure that shared communication medium cannot be used as a covert channel Opportunity: Programmability of FPGAs  Build some logic to enhance the bus Shared memory bus with time division access  Each module gets an equal share of time to use the bus  Arbiter ensures that a core can only access the bus during its scheduled time

FPGA Chip Communication Architecture SDRAM (off-chip) DRAM Arbiter/Reference Monitor Crypto Core CPU Core AES μPμP μPμP

Configuration Scrubbing Motivation Security Primitives for FPGAs  Logical isolation  Interconnect tracing  Secure communication architecture  Configuration scrubbing Apply primitives to memory protection  Reference monitor Conclusions and Future Work

Configuration Scrubbing Goal: Allow FPGA to change its configuration securely at run-time  Ability to swap cores improves system flexibility  Reconfigurable crossbar [Lysaght 04] Opportunity: Use partial reconfiguration to properly erase prior core’s logic Use ICAP interface with an embedded core  Read in a configuration frame  Modify configuration frame  Write back modified frame Bitstream decryption is prohibited when using partial reconfiguration

Memory Protection Motivation Security Primitives for FPGAs  Logical isolation  Interconnect tracing  Secure communication architecture  Configuration scrubbing Apply primitives to memory protection  Reference monitor Conclusions and Future Work

Memory Protection Goal: Allow cores to share memory securely  Embedded systems often lack memory protection mechanisms Opportunity: Leverage the benefits of hardware  Low-overhead stateful reference monitors A reconfigurable reference monitor enforces a policy that specifies the legal sharing of memory  Compiler translates policy specification to hardware description of enforcement module

FPGA Chip Memory Protection SDRAM (off-chip) DRAM Crypto Core CPU Core AES Reference Monitor X X

Conclusions Fabric of computing is changing  G-P uni-processor model  Embedded  Exploit performance of raw hardware  New approach to system design is needed FPGAs are growing in importance  Custom ASIC is 3 generations behind  FPGA starts in 2005: 80,000 Growing to 110,000 by 2010 [Dataquest 05]  ASIC starts in 1997: 11,000 ASIC starts in 2005: 3,000 [Meyers 05]

Future Work Covert Channels  Power, thermal, state of policy Accurate Policies  Higher-level language, policy checker Verify Each Stage of Ref Monitor Design Flow  Output of stage correctly implements input Apply primitives outside RC domain  CMP MLS Information Flow Control  Multilevel data Reconfigurable computing  Swap an entire core

Questions?