moving hardware from security through obscurity to secure
play

Moving Hardware from Security through Obscurity to Secure by Design - PowerPoint PPT Presentation

Moving Hardware from Security through Obscurity to Secure by Design Profe fess ssor or Ryan Kastner er Dept. of Computer ter Science e and Engineer ineering ing Unive vers rsity ity of Californi ornia, a, San Diego


  1. Moving Hardware from “Security through Obscurity” to “Secure by Design” Profe fess ssor or Ryan Kastner er Dept. of Computer ter Science e and Engineer ineering ing Unive vers rsity ity of Californi ornia, a, San Diego kastner.ucs er.ucsd.e .edu

  2. Classic System Design Software is OS Software and applications Hardware is simple, Processor unchanging, correct, and secure

  3. Classic View of System Security Applications Programming Software Language Compiler/OS/Firmware Instruction Set Processor Microarchitecture Functional Units Logic Gates Transistors

  4. Modern View of System Security Applications Boot VMM Apps Programming Language OS RTOS Lib Compiler/OS/Firmware Secure Instruction Set NoC Debug Resources Microarchitecture L2 Radio Functional Units L1 L1 Crypto Mem Logic Gates CPU CPU I/O Transistors

  5. Modern View of System Security Many Stakeholders: With different goals and objectives Boot VMM Apps Distributed Authority: Multiple OS, VM, OS RTOS Lib VMM, Access Control Secure HW/SW Coupling: NoC Debug Resources Hardware Accelerators, SW/FW Managed Resources L2 Radio Shared Resources: IP Cores, Memories, L1 L1 Crypto Mem Communication, I/O CPU CPU I/O

  6. Hardware Security Vulnerabilities Malicious code Design flaws Boot VMM Apps case 1: … OS RTOS Lib case 2: … … S ecure NoC Debug Res ources case n: … L2 Radio Untrusted IP L1 L1 Mem Crypto Crypto CPU CPU I/ O Timing channel Power EM radiation channel

  7. Design Complexity Hardware Design # Transistors Lines of Verilog Similar SW: LOC Intel 4004 2.3K 1.25K Simple App: 10K Centaur Media Unit 430K 570K Space Shuttle: 400K Intel Pentium 4 41M 1M F22 Raptor: 1.7M MIT Raw 100M 34K Pacemaker: 80K Oracle SPARC M7 10B ??? nVidia Pascal 15B ??? Xilinx Virtex Ultrascale 20B ???

  8. Security is Expensive  ~1 defect/error per 10 lines of code.  The Art of Good Design , Mike Keating, Synopsys  RedHat Linux: Best Effort Safety (EAL 4+)  $30-$40 per LOC  Integrity RTOS: Design for Formal Evaluation (EAL 6+)  $10,000 per LOC  More evaluation of process, not end artifact

  9. Hardware Security Proof Techniques Proof by Obfuscation Proof by Intimidation Proof by Exhaustion Proof by Handwaving

  10. Our Research  Develop a secure hardware design flow that  Formally specifies security properties ,  Identifies security vulnerabilities , and  Quantifies security threats .  Focus on security properties related to confidentiality, integrity, isolation, separation, and side channels . Source: Intel & Tortuga Logic

  11. Confidentiality Hardware Block System Resources: Radio Secure Resources Untrusted App Secret Data Debug (Crypto Key) Input Output

  12. Integrity Hardware Block System Resources: Untrusted 3 rd Radio Party IP Core Secure Resources Untrusted App Debug Input Output

  13. Availability (Timing Channels) Hardware Block System Resources: Untrusted 3 rd Radio (DoS) Party IP Core Secure Resources Untrusted App Debug Input Output

  14. Mixed-Trust Domains Hardware Block System Resources: Untrusted 3 rd Radio (DoS) Party IP Core Secure Resources Mixed Trust Resources Untrusted App Trusted IP Debug Core Input Output

  15. CIA + Mixed-Trust Confidentiality Integrity Hardware Block Hardware Block System System Resources: Resources: Untrusted Radio Radio 3 rd Party IP Core Secure Secure Resources Resources Untrusted Untrusted App App Secret Data Debug Debug (Crypto Key) Input Input Output Output Availability Mixed-Trust Hardware Block System Hardware Block System Resources: Resources: Untrusted Radio (DoS) Untrusted 3 rd 3 rd Party IP Radio (DoS) Party IP Core Secure Core Secure Mixed Trust Resources Resources Resources Untrusted Untrusted App App Trusted IP Debug Debug Core Input Output Input Output Information flow analysis solves all of these problems

  16. Noninterference “ One group of users, using a certain set of commands, is noninterfering with another group of users if what the first group does with those commands has no effect on what the second group of users can see ” [Goguen & Meseguer’ 82] . HIGH LOW

  17. Information Flow: Inverter 0/U 0/T a o 0 1 0 1 1 0 1/T 1/U 0 0

  18. Gate Level Information Flow Tracking Partial Truth Table GLIFT AND a b o 0 T 1 T 0 T a o b 0 U 1 U 0 U 0 U 1 T 0 U o t a t Affects? 0 T 1 U 0 T b t Trusted/ Untrusted? 0 U/T : Untrusted /Trusted ‘0’ 1 U/T : Untrusted /Trusted ‘1’ The output is marked as “untrusted” when at least one “untrusted” input can influence the output

  19. Does this low level tracking help? Simple assumption that “bad inputs” always leads to “bad outputs” is overly conservative 1-bit Counter D Q 010101… RESET CLK

  20. Safely Resetting the Counter Simple assumption that “bad inputs” always leads to “bad outputs” is overly conservative 1-bit Counter D Q 010101… RESET CLK

  21. Formalizing GLIFT “Original” Logic GLIFT Analysis Logic Automatically generate a b a b b a t t logic that tracks labels Tracking logic is compositional Captures timing channels, o and real time constraints Security constraints can be expressed as hardware assertions o t [ASPLOS09, DAC10, TCAD11, TIFS12, … ]

  22. GLIFT Logic Composition a b s b b s s a a s t t t t s o a b s o o t [DAC10]

  23. GLIFT Logic Generation Flow Automatic synthesis from HDL

  24. Hardware Security Design Flow * Speaker has significant financial interest

  25. Crypto Core Does my key leak? Key Add Round Sub Key Expand Key Bytes Cipher text Message Mix Columns Shift Rows Control outputs Control Inputs Control Logic

  26. Crypto Core in Verilog Does my key leak? module crypto ( clk, reset, load_i, decrypt_i, data_i, key_i, ready_o, data_o ); input [127:0] data_i; input [127:0] key_i; output [127:0] data_o; input clk, reset, load_i, decrypt_i; output ready_o; How do we express this and test it? assert iflow ( key_i =/=> data_o ); assert iflow ( key_i =/=> ready_o );

  27. Crypto Core Does my key leak? YES Key Add Round Sub Key Expand Key Bytes Cipher text Message Mix Columns Shift Rows Control outputs Control Inputs Control Logic How severe is the problem?

  28. Quantitative Information Flow Tracking 1,1 information and average success of attack Entropy 1,0 Normalized entropy, average mutual Mutual information 0,9 Success of attack 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0,0 R-to-L L-to-R L-to-R always Power ladder Montgomery Constant RSA architectures (1 ~ 6) [ICCAD15] Baolei Mao, Wei Hu, Alric Althoff, Janarbek Matai, Jason Oberg, Dejun Mu, Timothy Sherwood, and Ryan Kastner “ Quantifying Timing-Based Information Flow in Cryptographic Hardware “

  29. Challenges + Opportunities: Joint Analysis  Gate Level Information Flow Tracking (GLIFT)  Proving non-interference  Identifying possible flows  Quantitative measure  Numerous statistical & information theoretic metrics  Precise measurement of information flow  Detecting harmful flows and security vulnerabilities Key Add Sub Key Expan Round Bytes Cipher d Key text Message Shift Mix Columns Rows Yes Control outputs Control 31.6 bits Inputs Control Logic

  30. Challenges + Opportunities: Joint Analysis GLIFT: Boot VMM Apps assert iflow(key =/=> control); Fail Mutual Information: mi(key, control) = 31.6; OS RTOS Lib GLIFT: Secure NoC Debug Resources assert iflow(secure_resources =/=> io); Fail L2 Radio Mutual Information: mi(secure_resources, io) = 0.1 L1 L1 Crypto Mem Core0 Core1 I/O GLIFT: assert iflow(apps =/=> secure_resources); Pass Mutual Information: mi(apps, secure_resources) = 0;

  31. Challenges + Opportunities: Measurement  Methods for efficiently calculating security metrics  Achieve a more accurate estimation of security metrics while collecting as few samples as possible.  Density estimation  Multivariate estimation  Hardware accelerated techniques

  32. Challenges + Opportunities: Language  Languages for specifying security properties  A security specification language for describing the security properties about the hardware design  What variables are important to secure?  What locations are easily visible?  What is your risk tolerance? AES interconnect Key Mem

  33. Challenges + Opportunities: Language Assertion: Key only flows through AES assert iflow (key =/=> $all_outputs ignoring aes.$all_outputs)  If assertion holds, key only flows to outputs through AES first  Real design: 10M gates AES interconnect Key Mem

  34. Challenges + Opportunities: Language Assertion: Key only flows through AES assert iflow (key =/=> $all_outputs ignoring aes.$all_outputs)  If assertion holds, key only flows to outputs through AES first  Real design: 10M gates AES interconnect Key Mem

  35. Challenges + Opportunities: Language Assertion: Key only flows through AES assert iflow (key =/=> $all_outputs ignoring aes.$all_outputs)  If assertion holds, key only flows to outputs through AES first  Real design: 10M gates AES interconnect Key Mem

Recommend


More recommend