Circuit CAD Tools as a Security Threat University of Michigan † and Rice University ‡ June 9, 2008 Jarrod A. Roy †, Farinaz Koushanfar ‡ and Igor L. Markov.

Slides:



Advertisements
Similar presentations
Smart Card Security Xufen Gao CS 265 Spring, 2004 San Jose State University.
Advertisements

Digital Integrated Circuits© Prentice Hall 1995 Design Methodologies Design for Test.
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
CS 483 – SD SECTION BY DR. DANIYAL ALGHAZZAWI (3) Information Security.
ECE454/CS594 Computer and Network Security Dr. Jinyuan (Stella) Sun Dept. of Electrical Engineering and Computer Science University of Tennessee Fall 2011.
Ensuring Operating System Kernel Integrity with OSck By Owen S. Hofmann Alan M. Dunn Sangman Kim Indrajit Roy Emmett Witchel Kent State University College.
1 CIS 5371 Cryptography 5b. Pseudorandom Objects in Practice Block Ciphers.
Trusted Design In FPGAs Steve Trimberger Xilinx Research Labs.
Software Certification and Attestation Rajat Moona Director General, C-DAC.
Linear Obfuscation to Combat Symbolic Execution Zhi Wang 1, Jiang Ming 2, Chunfu Jia 1 and Debin Gao 3 1 Nankai University 2 Pennsylvania State University.
1 Topic 1 – Lesson 3 Network Attacks Summary. 2 Questions ► Compare passive attacks and active attacks ► How do packet sniffers work? How to mitigate?
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
1 Counter-measures Threat Monitoring Cryptography as a security tool Encryption Digital Signature Key distribution.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 71 Lecture 7 Fault Simulation n Problem and motivation n Fault simulation algorithms n Serial n Parallel.
19.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 19: Security The Security Problem Authentication Program Threats.
 Stream ciphers o Encrypt chars/bits one at a time o Assume XOR w the key, need long key to be secure  Keystream generators (pseudo-random key) o Synchronous.
It’s always better live. MSDN Events Security Best Practices Part 2 of 2 Reducing Vulnerabilities using Visual Studio 2008.
Copyright 2001, Agrawal & BushnellDay-1 PM Lecture 4b1 Design for Testability Theory and Practice Lecture 4b: Fault Simulation n Problem and motivation.
CMSC 414 Computer and Network Security Lecture 7 Jonathan Katz.
Hash functions a hash function produces a fingerprint of some file/message/data h = H(M)  condenses a variable-length message M  to a fixed-sized fingerprint.
DARPA Scalable Simplification of Reversible Circuits Vivek Shende, Aditya Prasad, Igor Markov, and John Hayes The Univ. of Michigan, EECS.
Lecture 5 Fault Simulation
EEC 693/793 Special Topics in Electrical Engineering Secure and Dependable Computing Lecture 5 Wenbing Zhao Department of Electrical and Computer Engineering.
Computer Networking Lecture 21: Security and Cryptography Thanks to various folks from , semester’s past and others.
Lecture 23 Symmetric Encryption
BIST vs. ATPG.
Feb 19, 2002Mårten Trolin1 Previous lecture Practical things about the course. Example of cryptosystem — substitution cipher. Symmetric vs. asymmetric.
INTERNET THREATS AND HOW TO PROTECT YOUR COMPUTER -BRIAN ARENDT.
Chapter 8.  Cryptography is the science of keeping information secure in terms of confidentiality and integrity.  Cryptography is also referred to as.
Cryptography and Network Security Chapter 11 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Secure Embedded Processing through Hardware-assisted Run-time Monitoring Zubin Kumar.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
CSCI 5857: Encoding and Encryption
COEN 350 Mobile Security. Wireless Security Wireless offers additional challenges: Physical media can easily be sniffed. War Driving Legal? U.S. federal.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
1 Higher Computing Topic 8: Supporting Software Updated
LOGO Hardware side of Cryptography Anestis Bechtsoudis Patra 2010.
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
Cryptography Wei Wu. Internet Threat Model Client Network Not trusted!!
Random Number Generators 1. Random number generation is a method of producing a sequence of numbers that lack any discernible pattern. Random Number Generators.
SEC835 Runtime authentication Secure session management Secure use of cryptomaterials.
European Test Symposium, May 28, 2008 Nuno Alves, Jennifer Dworak, and R. Iris Bahar Division of Engineering Brown University Providence, RI Kundan.
Feb 17, 2003Mårten Trolin1 Previous lecture Practical things about the course. Example of cryptosystem — substitution cipher. Symmetric vs. asymmetric.
Description of a New Variable-Length Key, 64-Bit Block Cipher (BLOWFISH) Bruce Schneier BY Sunitha Thodupunuri.
QuickCheck: A Lightweight Tool for Random Testing of Haskell Programs By Koen Claessen, Juhn Hughes ME: Mike Izbicki.
Lecture 23 Symmetric Encryption
Exam 1 Review CS461/ECE422 Fall Exam guidelines A single page of supplementary notes is allowed  8.5x11. Both sides. Write as small as you like.
Identification Authentication. 2 Authentication Allows an entity (a user or a system) to prove its identity to another entity Typically, the entity whose.
Cryptographic Hash Functions Prepared by Dr. Lamiaa Elshenawy
Symmetric Encryption Lesson Introduction ●Block cipher primitives ●DES ●AES ●Encrypting large message ●Message integrity.
PRNGs Pseudo-random number generation. Randomness and Cryptography Randomness and pseudo-randomness are useful in cryptography: –To generate random and.
Information Leaks Without Memory Disclosures: Remote Side Channel Attacks on Diversified Code Jeff Seibert, Hamed Okhravi, and Eric Söderström Presented.
DES Analysis and Attacks CSCI 5857: Encoding and Encryption.
DATA & COMPUTER SECURITY (CSNB414) MODULE 3 MODERN SYMMETRIC ENCRYPTION.
Detecting Hardware Trojans in Unspecified Functionality Using Mutation Testing Nicole Fern K.-T. Tim Cheng UC Santa Barbara 1.
FEV And Netlists Erik Seligman CS 510, Lecture 5, January 2009.
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
Real-life cryptography Pfeiffer Alain.  Types of PRNG‘s  History  General Structure  User space  Entropy types  Initialization process  Building.
 Encryption provides confidentiality  Information is unreadable to anyone without knowledge of the key  Hashing provides integrity  Verify the integrity.
Cryptography services Lecturer: Dr. Peter Soreanu Students: Raed Awad Ahmad Abdalhalim
Speaker: Nansen Huang VLSI Design and Test Seminar (ELEC ) March 9, 2016 Simulation-Based Equivalence Checking.
@Yuan Xue Announcement Project Release Team forming Homework 1 will be released next Tuesday.
Overview on Hardware Security
Hardware Verification
VLSI Testing Lecture 6: Fault Simulation
ECE 553: TESTING AND TESTABLE DESIGN OF DIGITAL SYSTES
VLSI Testing Lecture 6: Fault Simulation
ADVANCED ENCRYPTION STANDARDADVANCED ENCRYPTION STANDARD
SOHAIL SHAHUL HAMEED Dr. BHARGAVI GOSWAMI
Presentation transcript:

Circuit CAD Tools as a Security Threat University of Michigan † and Rice University ‡ June 9, 2008 Jarrod A. Roy †, Farinaz Koushanfar ‡ and Igor L. Markov † June 9, 2008 Jarrod A. Roy †, Farinaz Koushanfar ‡ and Igor L. Markov †

Trusted Computing Breaches of hardware security increasing Cell-phone tapping of Greek officials Kinko’s key logger Compromised weapons systems Electronic voting irregularities Push for open-source EDA Easy to spoof binaries and libraries Emerging technology must be tamper-resistant Smart cards, RFIDs, e-cash, … Demand for trusted computing increasing Key logger sold by ThinkGeek

Software vs. Hardware Exploitation Both target unauthorized control of a system, but … Software exploits are well-studied Anti-virus and anti-malware programs effective, quickly updated for new threats Removal usually possible Complete system reinstall as a last resort Compromised hardware more challenging Can be designed to resist modern detection techniques Removal may not be possible Post-silicon fixes slow, expensive May need to completely replace

Anatomy of a Hardware Trojan Trigger: activates the exploit Special input sequence Time Payload: performs the intended action Replace logic Dump sensitive data Inject faults Memory: storage for the exploit Trigger patterns Compromised data Side channel buffer Detection avoidance

Avoiding Detection Trojans can be considered design errors Can standard verification techniques catch them? Bounded Model Checking (BMC) Simulate circuit for several cycles, check output against golden model Defeated by: add binary counter and trigger exploit after several days or weeks Design for Test (DFT) Test circuit after manufacture Use scan chains and automatic test pattern generation (ATPG) Defeated by: insert before ATPG –Trojan is now fault-tested!

Injecting Trojan Horses Designs can be altered at nearly any flow stage By compromised tools Logic synthesis tools can add payload logic Routers can introduce shorts, opens Or the scripts that run them Preprocess Verilog Postprocess gate-level netlist First step of injection is target detection Pattern-matching in text files, e.g., Verilog Pattern-matching distinctive circuits Combinational equivalence checking

Case Study: Compromising Crypto Circuits Cryptographic circuits have many unique elements: Large quantities of XOR gates, bit shifts and bit permutations Distinctive “magic” constants Changing one constant can disable randomness, for example Application“Magic” constants or formulas Linear congruential PRNG Mersenne twister MT19937 algorithm 397, 624, , , , MD5 hash 0x , 0x , 0x98BADCFE, 0xEFCDAB89 SHA-256 hash 0x1F83D9AB, 0x3C6EF372, 0x510E527F, 0x5BE0CD19, 0x6A09E667, 0x9B05688C, 0xA54FF53A, 0xBB67AE85 x n+1 = × x n mod x n+1 = × x n mod

Compromising Crypto Circuits Identifying bit permutations DES uses at least six distinctive 32-bit permutations Carefully crafted attack on DES could remove permutations, exposing plaintext Substitution functions Easily identified by magic constants or equivalence checking AES uses several S-boxes Compromised with standard fault injection techniques

Countermeasures Attackers can defeat static testing techniques Leverage short avg. test time, difficulty of 100% verification Solution: dynamic verification The DIVA approach [Weaver & Austin 2001] Add simple circuit to verify in real-time Small enough to be known correct On error, begin analysis and recovery Or shut down completely for data security Verifier Error? Inputs and Outputs

Conclusions High demand for trusted computing Military, medicine, voting, … Attackers can modify CAD tool flows to inject Trojans Automatically recognize certain circuit types Magic numbers, permutations, substitution functions, … Inject targeted changes/faults Trivially resistant to modern test techniques Dynamic verification helps Verify all outputs of untrusted circuits Will slow but not necessarily stop attacks Total solution an open challenge

Questions?