KEEP IT SYNPLE STUPID



Similar documents
Keep your tentacles off my bus: Introducing Die Datenkrake. REcon 2013, Montréal Dmitry Nedospasov, Thorsten Schröder

Digital Systems. Role of the Digital Engineer

Master Specialization in Digital Design: Design and Programming of Embedded Systems

Hardware Trojans Detection Methods Julien FRANCQ

Aims and Objectives. E 3.05 Digital System Design. Course Syllabus. Course Syllabus (1) Programmable Logic

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

7a. System-on-chip design and prototyping platforms

Eli Levi Eli Levi holds B.Sc.EE from the Technion.Working as field application engineer for Systematics, Specializing in HDL design with MATLAB and

Rapid System Prototyping with FPGAs

Best Practises for LabVIEW FPGA Design Flow. uk.ni.com ireland.ni.com

Embedded Systems Engineering Certificate Program

University of St. Thomas ENGR Digital Design 4 Credit Course Monday, Wednesday, Friday from 1:35 p.m. to 2:40 p.m. Lecture: Room OWS LL54

High-Level Synthesis for FPGA Designs

Echtzeittesten mit MathWorks leicht gemacht Simulink Real-Time Tobias Kuschmider Applikationsingenieur

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

INDUSTRIAL CONTROL TECHNOLOGY. A Handbook for Engineers and Researchers. Peng Zhang. Beijing Normal University, People's Republic of China

ON SUITABILITY OF FPGA BASED EVOLVABLE HARDWARE SYSTEMS TO INTEGRATE RECONFIGURABLE CIRCUITS WITH HOST PROCESSING UNIT

MEng, BSc Applied Computer Science

Introduction to Programmable Logic Devices. John Coughlan RAL Technology Department Detector & Electronics Division

Serial port interface for microcontroller embedded into integrated power meter

MAJORS: Computer Engineering, Computer Science, Electrical Engineering

EEM870 Embedded System and Experiment Lecture 1: SoC Design Overview

Hardware and Software

Quartus II Software Design Series : Foundation. Digitale Signalverarbeitung mit FPGA. Digitale Signalverarbeitung mit FPGA (DSF) Quartus II 1

MEng, BSc Computer Science with Artificial Intelligence

White Paper 40-nm FPGAs and the Defense Electronic Design Organization

System-on. on-chip Design Flow. Prof. Jouni Tomberg Tampere University of Technology Institute of Digital and Computer Systems.

Reviving smart card analysis

Seeking Opportunities for Hardware Acceleration in Big Data Analytics

What is a System on a Chip?

Architectures and Platforms

System-on-Chip Design with Virtual Components

NIOS II Based Embedded Web Server Development for Networking Applications

RAPID PROTOTYPING OF DIGITAL SYSTEMS Second Edition

International Workshop on Field Programmable Logic and Applications, FPL '99

FACULTY OF POSTGRADUATESTUDIES Master of Science in Computer Engineering The Future University

VON BRAUN LABS. Issue #1 WE PROVIDE COMPLETE SOLUTIONS ULTRA LOW POWER STATE MACHINE SOLUTIONS VON BRAUN LABS. State Machine Technology

Chapter 12. Development Tools for Microcontroller Applications

FPGA-based MapReduce Framework for Machine Learning

Test Driven Development of Embedded Systems Using Existing Software Test Infrastructure

All Programmable Logic. Hans-Joachim Gelke Institute of Embedded Systems. Zürcher Fachhochschule

Introduction to Digital System Design

Electronic system-level development: Finding the right mix of solutions for the right mix of engineers.

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Microsemi Security Center of Excellence

The Changing Threat Surface in. Embedded Computing. Riley Repko. Vice President, Global Cyber Security Strategy

Ingar Fredriksen AVR Applications Manager. Tromsø August 12, 2005

B.Eng. (Computer Engineering) Content of Subjects Applicable to Students Matriculating in 2011 or later

Digital Systems Design! Lecture 1 - Introduction!!

BUILD VERSUS BUY. Understanding the Total Cost of Embedded Design.

Fondamenti su strumenti di sviluppo per microcontrollori PIC

PUF Physical Unclonable Functions

Virtualization System Vulnerability Discovery Framework. Speaker: Qinghao Tang Title:360 Marvel Team Leader

Academic year: 2015/2016 Code: IES s ECTS credits: 6. Field of study: Electronics and Telecommunications Specialty: -

Programming NAND devices

Peach Fuzzer Platform

ELEC 5260/6260/6266 Embedded Computing Systems

Value Paper Author: Edgar C. Ramirez. Diverse redundancy used in SIS technology to achieve higher safety integrity

SDLC Controller. Documentation. Design File Formats. Verification

Digital Systems. Syllabus 8/18/2010 1

Verification of Triple Modular Redundancy (TMR) Insertion for Reliable and Trusted Systems

Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip

1. Fault Attacks for Virtual Machines in Embedded Platforms. Supervisor: Dr Konstantinos Markantonakis,

M.S. Computer Science Program

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Visual Programming of Logic, Motion, and Robotics

CTI Higher Certificate in Information Systems (Engineering)

9/14/ :38

FIPS Non Proprietary Security Policy: Kingston Technology DataTraveler DT4000 Series USB Flash Drive

Advanced ANDROID & ios Hands-on Exploitation

MICROPROCESSOR. Exclusive for IACE Students iacehyd.blogspot.in Ph: /422 Page 1

AC : PRACTICAL DESIGN PROJECTS UTILIZING COMPLEX PROGRAMMABLE LOGIC DEVICES (CPLD)

Pre-tested System-on-Chip Design. Accelerates PLD Development

Systems on Chip Design

Hardware Security Modules for Protecting Embedded Systems

That Point of Sale is a PoS

Information Technology Hardware Technician

Bricata Next Generation Intrusion Prevention System A New, Evolved Breed of Threat Mitigation

The Open Cyber Challenge Platform *

White Paper FPGA Performance Benchmarking Methodology

IMPLEMENTATION OF FPGA CARD IN CONTENT FILTERING SOLUTIONS FOR SECURING COMPUTER NETWORKS. Received May 2010; accepted July 2010

Virtualization Technologies (ENCS 691K Chapter 3)

Von der Hardware zur Software in FPGAs mit Embedded Prozessoren. Alexander Hahn Senior Field Application Engineer Lattice Semiconductor

Medical Device Design: Shorten Prototype and Deployment Time with NI Tools. NI Technical Symposium 2008

Chapter 2 Addendum (More on Virtualization)

OPTIGUARD: A SMART METER ASSESSMENT TOOLKIT

A Second Undergraduate Course in Digital Logic Design: The Datapath+Controller-Based Approach

A First Course in Digital Design Using VHDL and Programmable Logic

CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing

Figure 1 FPGA Growth and Usage Trends

Certifications and Standards in Academia. Dr. Jane LeClair, Chief Operating Officer National Cybersecurity Institute

Horst Görtz Institute for IT-Security

MOMENTUM - A MEMORY-HARD PROOF-OF-WORK VIA FINDING BIRTHDAY COLLISIONS. DANIEL LARIMER dlarimer@invictus-innovations.com Invictus Innovations, Inc

Reconfigurable System-on-Chip Design

Security IC Platform Protection Profile

數 位 積 體 電 路 Digital Integrated Circuits

Designing an efficient Programmable Logic Controller using Programmable System On Chip

Challenges in Industrial IT-Security Dr. Rolf Reinema, Head of Technology Field IT-Security, Siemens AG Siemens AG All rights reserved

Transcription:

Utilizing Programmable Logic for Analyzing Hardware Targets Dmitry Nedospasov <dmitry@h.rdw.re> SHORT DESCRIPTION Hardware security analysis differs from software security analysis primarily in the tools and techniques required for the task at hand. However, many security researchers overestimate the learning curve required to begin successfully performing embedded hardware analysis. This training is specifically designed for security researchers who wish to improve their familiarity with hardware security and hardware implementations in particular. The training is built as a set of Capture the Flag (CTF) style assignments designed to familiarize students with common flaws in hardware implementations. In this training, students will learn to develop custom hardware implementations utilizing programmable logic, i.e. Field-Programmable Gate Arrays (FPGAs) and Complex Programmable Logic Devices (CPLDs). Students will thoroughly understand the advantages of building tools based on programmable logic, understand how hardware implementations are realized and exploit several common hardware security flaws.

FULL DESCRIPTION Until recently the tool of choice for security professionals working in the area of hardware security was expensive test and measurement equipment designed for engineers. However, in large part due to the recent Open Source Hardware revolution many hardware analysis platforms are now freely available for a reasonable price. Nevertheless, these platforms are generally quite limited in terms of scope and also have inherent deficiencies due to their implementations. As a result, it is often necessary for security professionals to design custom hardware analysis tools for successfully analyzing hardware targets. One of the most powerful tools for implementing custom analysis platforms are Field-Programmable Gate Arrays (FPGAs) and Complex Programmable Logic Devices (CPLDs). FPGAs and CPLDs provide a predictable timing behavior and substantially better timing resolution than microcontrollers based analysis platforms. They also offer a level of parallelism that is normally absent in microcontroller architectures. Moreover, since custom hardware implementations can be realized on programmable logic platforms it is even possible to perform real-time analysis of proprietary algorithms. This training is organized like a Capture the Flag (CTF) event with sufficient assignments for any skill level, i.e. complete novices to experienced hardware security professionals. During the course, students will be provided the necessary test and measurement equipment, a programmable logic platform as well as the target platform with a vulnerable hardware implementation. Each day features a common class of hardware vulnerability and varying levels of difficulty. Students will need to isolate and identify the vulnerability on the target platform, design a custom implementation capable of exploiting the vulnerability and successfully exploit the hardware platform to advance to the next level. By experiencing the development workflow and designing their own hardware implementations, students will also become well aware of the kinds of hardware errata that may exist in a target platform. DAY 1: INTRODUCTION Theory/Basics Recommended literature Machine-To-Machine Communication Logic 101 Combinatorics Sequential & combinatorial logic Finite State machines (FSM) Logical functions & arithmetic computation Logic optimization!2

Verilog 101 UART FSM HDL equivalent for FSM Testing and verification of RX/TX Hardware Logic Implementation Electronics 101 ASICs, TTL-Logic FPGAs, CPLDs Hard vs. Soft Macros I/O, Tristates FPGA/ASIC Development Workflow 1. Behavioral simulation 2. Synthesis 3. Place and Route 4. Timing simulation Gotchas Design constraints Optimization Best practices Safety and electronics DAY 1 ASSIGNMENT: GLITCHING The goal of this assignment is to teach students that the security of the target platform can be compromised by manipulating the operating state of the target. The target is realized as a system requiring that a valid pin be entered on a pin pad for access. Students will have to identify ways in which the operating state of the device can be determined and change it accordingly. 1. Identify and analyze the communications protocol. 2. Design a hardware implementation capable of brute forcing the system PIN. 3. Identify valid triggers for the operating state of the system. 4. Modify the hardware implementation to be able to cope with a penalty for 3 consecutive invalid PIN entries. 5. Cope with a penalty flag hardware flag being set in Non Volatile Memory (NVM)!3

DAY 2 ASSIGNMENT: TIMING ANALYSIS The goal of this assignment is to familiarize students with the advantages of utilizing programmable logic platforms for their predictable timing behavior. Students must implement a hardware implementation capable of sending the target platform a password and measuring the response time. 1. Identify and analyze the communications protocol. 2. Design a hardware implementation capable of sending a password and measuring the response time. 3. Perform adaptive timing analysis against the target platform. 4. Perform adaptive timing analysis against an optimized implementation. 5. Perform adaptive timing analysis against a system which uses hashes instead. TOPICS COVERED DURING THE COURSE Common hardware vulnerabilities, HDL development, FPGA implementation and debugging, Glitching, Fuzzing, Protocol sniffing CLASS REQUIREMENTS A notebook capable of running a VMware image. Participants should have some familiarity with scripting languages, i.e. Python. This course is suitable for people that are new to hardware security and electronics. All the theory and concepts related to electronics, HDL and debugging will be explained during course. MINIMUM SOFTWARE TO INSTALL VMware Player, VMware Workstation, VMware Fusion or Virtualbox. Please ensure that your virtualization solution supports USB in the Virtual Machine.!4

TRAINER BIO Dmitry Nedospasov studied Computer Engineering (CE) and recently finished his PhD in the field of Security of Integrated Circuit (IC) at the Berlin University of Technology (TU Berlin). Dmitry's research includes several novel physical attacks against ICs and embedded systems. The techniques were primarily developed to cope with modern manufacturing and packaging techniques of current and future generation semiconductor devices. This included adapting several Failure Analysis techniques to ensure device function throughout the analysis process. Dmitry has also been involved in studying modern IC countermeasures and obfuscation techniques. As part of this research several techniques were developed for correctly identifying and circumventing defensive mechanisms on modern ICs. Most recently, Dmitry was involved in identifying vulnerabilities in next-generation protection mechanisms known as Phyiscally Unclonable Functions (PUFs). Due to the nature of these techniques Dmitry has been involved in developing several hardware tools to facilitate IC analysis. Together with Thorsten Schroder, Dmitry created Die Datenkrake (DDK) an open-source hardware platform for hardware reverse-engineering. Website: http://nedos.net!5