Novel Methods of Augmenting High Performance Processors with Security Hardware
Novel Methods of Augmenting High Performance Processors with Security Hardware
description
Transcript of Novel Methods of Augmenting High Performance Processors with Security Hardware
1
Novel Methods of Augmenting High Performance Processors with Security Hardware
Jonathan ValamehrPhD Proposal, UC Santa Barbara
May 10, 2012
Committee:Prof. Timothy Sherwood (chair)
Prof. Fred ChongProf. Peter Michael Meliar-Smith
Prof. Theodore Huffmire
2
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
Modern MicroprocessorsIntro/Motivation
Commercial Processors
(high speed)
High Assurance Processors
(secure)
Commercial CPU tradeoffs:PerformancePowerAreaCost
Security is often ignored or overlooked
3
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
Modern Microprocessors
Flurry of hardware attacksSide channel attacks (Kocher 1996, Percival 2005, Bernstein 2005)
Power draw (Kocher et al. 1999, Jasper 2011)
EM analysis (Gandolfi et al. 2001 , Agrawal et al. 2002)
Physical tamperMemory remanence (Soden et al. 1995, Halderman et al. 2008)
Intro/Motivation
4
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
Modern MicroprocessorsIntro/Motivation
High Assurance Processors
(secure)
High Assurance CPUsSmall market shareHigh development costsTime-consuming to
design Commercial hardware
still outperforms by 100x (and growing…)
5
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
Modern MicroprocessorsIntro/Motivation
Commercial Processors
(high speed)
High Assurance Processors
(secure)
The solution
6
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
Thesis Statement
The functionality of a processor can be extended after making minimal changes to its design. We introduce several novel methods of adding security to processors, including the use of 3D Integration, resulting in secure processors that retain high performance.
Intro/Motivation
7
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
Outline
Intro/Motivation 3D Security 3D Crypto Work in Progress Timeline Conclusion
3D-Security
8
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D-Sec: Current Trends
Ideal: Fast and affordable high assurance systemsResilient against attacks Low costHigh performance
3D-Security
9
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
New Technology – 3D Integration
3D Integration2 or more dies stacked as one systemFoundry level option
Base Processor
CPUCPU
CPUCPU
L2 Cache(1x
SRAM)
L1
L1
Second die
3D-Security
10
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D-Sec: Idea
Past Work: 3D Passive Monitors (Mysore et al. 2006)
Analyze data from base processor
Our Contribution – 3D Active Monitors (Valamehr et al. 2010)
Information flow controlArbitration of communicationPartitioning of resources
3D-Security
11
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D-Sec: Idea
Benefits with 3D Integration
3D-Security
Security Architecture Performance Access to internal signals
Security separate
Off-chip coprocessor Low No Yes
On-chip High Yes No
3D layer High Yes Yes
12
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D-Sec: Idea
ChallengeNormal operation if 3D layer absentSecurity functions if 3D layer present
3D-Security
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
13
3D Security Layer – Circuit Level Primitives
Circuit-level primitives for an active monitor
(a) Tapping (b) Re-routing (c) Overriding (d) Disabling= 3D layer connections = Signal flow
3D-Security
14
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Security Layer – Tapping
Tapping sends requested signal to the 3-D control plane
Tapping
3D-Security
15
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Security Layer – Disabling
Disabling effectively blocks the transmission of signals
Disabling
3D-Security
X
16
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Security Layer – Disabling
Theoretical 3-D Application: Mutual Trust Shared Bus Protocols
Shared L2 $
Core 1
L1 $
Core 0
L1 $
Shared Bus
= Post to the 3-D control plane
= Signal flow
... …
3D-Security
17
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Security Layer – Re-routing
Re-routing sends requested signals to 3-D plane, and blocks their original transmission
Re-routing
3D-Security
X
18
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Security Layer – Re-routing
Theoretical 3-D Application: Crypto Co-processor
Standard Execution Pipeline
AES3-D
Control Plane
1. Crypto Instruction 2. Result
Reg File
L1 $
Crypto Control Unit
1.
2.
Computation Plane
RSA DES … …
… …
3D-Security
INST
19
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Security Layer – Overriding
Overriding blocks transmission of signal, while simultaneously injecting a new value
Overriding
3D-Security
20
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
Gate-level primitives
3D Security Layer – Gate Level Primitives3D-Security
in outin
out
inout
in out
Tapping Rerouting
DisablingOverriding
21
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Security Layer – General Primitive
General primitive
3D-Security
22
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Security
Area overhead of general primitive(s)
3D-Security
Design Area of design (90nm Library Area Units)
1 General Primitive 84.1
128 General Primitives 10764.8
5-Stage MIPS Pipelined Processor 240,000
4.5% increase
23
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
Background – Side-Channel Attacks
Access-driven cache attack (Percival 2005)
Victim Process
Shared Cache
Attacker Process
3D-Security
24
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Security Layer – Example Application
3-D Cache Eviction MonitorKeep trusted process cache lines lockedMaintain secrecy of the private key
3D-Security
25
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Security Layer – Example Application
3D Cache Eviction Monitor
3D-Security
26
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Security Layer – Example Application
Cache Performance
3D-Security
27
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
Outline
Intro/Motivation 3D Security 3D Crypto Work in Progress Timeline Conclusion
3D-Crypto
28
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Crypto - Motivation
Current Crypto Co-processorsOff-die co-processor, or utilizing core in CMPsProne to tamper, vulnerable to side-channels Lower performance
Ideal Crypto Co-processorsHigh integrity of data being processedTamper-proof and immune to attacksHigh performance
3D-Crypto
29
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Crypto Co-processor
Main Processor
CPUCPU
CPUCPU
L2 Cache(1x
SRAM)
L1
L1
Crypto Co-processor
Dedicated Crypto
Memory
Crypto Control
AESRSA
RNGD-HDESMD5
RC4
3D-Crypto
30
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Crypto – Security Ramifications
Threat Models (Valamehr et al. 2011)
Physical tamperMemory remanenceAccess-driven cache side-channel attacksTime-driven cache side-channel attacksFault analysisElectromagnetic analysisPower analysisThermal analysis
3D-Crypto
31
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Crypto – Future work 3D-Crypto
Potential cost savings with 3DUse of older technologies
Relationship between:PerformancePowerCost
32
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
Outline
Intro/Motivation 3D Security 3D Crypto Work in Progress Timeline Conclusion
Work in Progress
33
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
MACS – MicroArchitectural Context Switches
Shared L2 $
L1 $
VM 1
L1 $
VM 2
L1 $
VM 3
L1 $
Old VM
New VM
BPBPBPBP
Work in Progress
TrendsMultiple VMs on
same chip Idle cores are utilized
Problems that ariseSide-channelsData remanence
34
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
MACS – Initial Experiment
State clearing sensitivitySimplescalar simulator Implemented “Clear” function
Clear L1 and L2 caches every X cyclesSPEC2K benchmarksHow much is performance affected?
Work in Progress
35
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
MACS – Simulation Parameters
Single superscalar processorModeled after AMD Shanghai CPU64KB L1 I-cache64KB L1 D-cache512KB L2 cache
Work in Progress
36
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
MACS – Simulations
10^3 10^4 10^5 10^6 10^7 10^8 10^9 base0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
Benchmark performance while clearing L1/L2 caches (Int)
craftygziptwolfbzipmcf
Clearing every X cycles
IPC
Work in Progress
37
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
MACS – Simulations
10^3 10^4 10^5 10^6 10^7 10^8 10^9 base0
0.2
0.4
0.6
0.8
1
1.2
1.4
Benchmark performance while clearing L1/L2 caches (FP)
equakegalgelapplumgridammp
Clearing every X cycles
IPC
Work in Progress
38
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
MACS – Potential Directions
Is clearing enough?Do we need to pack/unpack?Best way to clear lots of state?
More frequent switching applicationsFine-grain VMsMobile devicesReal-time systems
Work in Progress
39
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Extensible ISAs - Idea
3D layer that implements new instructionsConnects to control unit on existing processorMay have new functional unitsExtends the ISA of processorAllows reuse of fast processor
ExamplesMultimediaCrypto
Work in Progress
40
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Extensible ISAs - Approach
Design Control unit with free opcodesSet aside a set of opcodes as available – NoOPs on
base layerMake every instruction explicit with controls – Any
instruction not specified will be a NoOP Find hook points
What data does the 3D layer need?Which signals does the 3D need to change?
Work in Progress
41
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Extensible ISAs – Hook Points
Base Layer Control unit
Read opcode and register addresses (Tap)
If opcode isn’t covered: NoOP
Read register values if shared with 3-D layer (Tap)
Replace data (Override)
Work in Progress
42
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Extensible ISAs – Implementation
How to connect modulesOn a fabbed chip, use 3D primitives
In HDL, use gate-level primitives
Tap Re-route Overwrite
Work in Progress
43
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
3D Extensible ISAs – To do list
Integrate Simple CPU with AES/ECCFind hook pointsFigure out connection logicFigure out timing issues
Crypto instructions into benchmarks Insert them into benchmarks as assemblyCompileRun through processor/crypto combo
Work in Progress
44
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
Outline
Intro/Motivation 3D Security 3D Crypto Work in Progress Timeline Conclusion
Timeline
45
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
Timeline
Spring 20123D-Crypto3D-Extensible ISAs
Fall 20123D-Extensible ISAsMACSAnother project
Winter/Spring 2013ThesisDefense
Timeline
46
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
Outline
Intro/Motivation 3D Security 3D Crypto Work in Progress Timeline Conclusion
Timeline
47
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
PublicationsConclusion
• Inspection Resistant Memory: Architectural Support for Security from Physical ExaminationJonathan Valamehr, Andrew Putnam, Daniel Shumow, Melissa Chase, Seny Kamara, Vinod Vaikuntanathan, and Timothy Sherwood. Proceedings of the International Symposium of Computer Architecture. (ISCA), June 2012. Portland, Oregon.
• A Qualitative Security Analysis of a New Class of 3-D Integrated Crypto Co-processorsJonathan Valamehr, Ted Huffmire, Cynthia Irvine, Ryan Kastner, Cetin Kaya Koc, Timothy Levin, and Timothy Sherwood. Festschrift Jean-Jacques Quisquater, to appear, D. Naccache, editor, LNCS Nr. 6805, Springer, 2011.
• Crafting a Usable Microkernel, Processor, and I/O System with Strict and Provable Information Flow SecurityMohit Tiwari, Jason Oberg, Xun Li, Jonathan Valamehr, Timothy Levin, Ben Hardekopf, Ryan Kastner, Frederic T Chong, and Timothy Sherwood. in Proceedings of the International Symposium of Computer Architecture (ISCA), June 2011. San Jose, CA.
• Hardware Assistance for Trustworthy Systems through 3-D IntegrationJonathan Valamehr, Mohit Tiwari, and Timothy Sherwood, Ryan Kastner, Ted Huffmire, Cynthia Irvine and Timothy Levin. Proceedings of the Annual Computer Security Applications Conference (ACSAC), December 2010. Austin, Texas.
• Hardware Trust Implications of 3-D IntegrationTed Huffmire, Timothy Levin, Michael Bilzor, Cynthia Irvine, Jonathan Valamehr, Mohit Tiwari, Timothy Sherwood, and Ryan Kastner. Workshop on Embedded Systems Security (WESS), October 2010. Scottsdale, Arizona.
• A Small Cache of Large Ranges: Hardware Methods for Efficiently Searching, Storing, and Updating Big Dataflow TagsMohit Tiwari, Banit Agrawal, Shashidhar Mysore, Jonathan Valamehr, and Timothy Sherwood. Proceedings of the International Symposium on Microarchitecture (Micro), November 2008. Lake Como, Italy.
• Designing Secure Systems on Reconfigurable HardwareTed Huffmire, Brett Brotherton, Nick Callegari, Jonathan Valamehr, Jeff White, Ryan Kastner, and Tim Sherwood. ACM Transactions on Design Automation of Electronic Systems (TODAES) Vol 13 No 3, July 2008.
• Trustworthy System Security through 3-D Integrated HardwareTed Huffmire, Jonathan Valamehr, Timothy Sherwood, Ryan Kastner, Timothy Levin, Thuy D. Nguyen, and Cynthia Irvine. Proceedings of the 2008 IEEE International Workshop on Hardware-Oriented Security and Trust (HOST-2008) June 2008. Anaheim, CA.
• High-Assurance System Support through 3-D IntegrationTheodore Huffmire, Tim Levin, Cynthia Irvine, Thuy Nguyen, Jonathan Valamehr, Ryan Kastner, and Tim Sherwood. NPS Technical Report NPS-CS-07-016, November 2007.
48
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
PublicationsConclusion
• Opportunities and Challenges of using Plasmonic Components in Nanophotonic Architectures Hassan Wassel, Daoxin Dai, Luke Theogarajan, Jennifer Dionne, Mohit Tiwari, Jonathan Valamehr, Frederic Chong, and Timothy Sherwood. IEEE Journal on Emerging and Selected Topics in Circuits and Systems (JETCAS) To appear
• Towards Chip-Scale Plasmonic InterconnectsHassan M. G. Wassel, Mohit Tiwari, Jonathan Valamehr, Luke Theogarajan, Jennifer Dionne, Frederic T. Chong, and Timothy Sherwood. Workshop on the Interaction between Nanophotonic Devices and Systems (WINDS) December 2010. Atlanta, Georgia.
49
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
AcknowledgementsConclusion
Labmates Committee members Collaborators at NPS, UCSD, MSR, GA Tech Janet Kayfetz
50
3-D Security
Thank you!
51
Intro/Motivation 3D-Security 3D-Crypto Work in Progress Timeline Conclusion
Thesis Statement
The functionality of a processor can be extended after making minimal changes to its design. We introduce several novel methods of adding security to processors, including the use of 3D Integration, resulting in secure processors that retain high performance.
Intro/Motivation