Embedded Instruction Kit
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Fill Your Boots: Enhanced Embedded Bootloader Exploits Via Fault Injection and Binary Analysis
IACR Transactions on Cryptographic Hardware and Embedded Systems ISSN 2569-2925, Vol. 2021, No. 1, pp. 56–81. DOI:10.46586/tches.v2021.i1.56-81 Fill your Boots: Enhanced Embedded Bootloader Exploits via Fault Injection and Binary Analysis Jan Van den Herrewegen1, David Oswald1, Flavio D. Garcia1 and Qais Temeiza2 1 School of Computer Science, University of Birmingham, UK, {jxv572,d.f.oswald,f.garcia}@cs.bham.ac.uk 2 Independent Researcher, [email protected] Abstract. The bootloader of an embedded microcontroller is responsible for guarding the device’s internal (flash) memory, enforcing read/write protection mechanisms. Fault injection techniques such as voltage or clock glitching have been proven successful in bypassing such protection for specific microcontrollers, but this often requires expensive equipment and/or exhaustive search of the fault parameters. When multiple glitches are required (e.g., when countermeasures are in place) this search becomes of exponential complexity and thus infeasible. Another challenge which makes embedded bootloaders notoriously hard to analyse is their lack of debugging capabilities. This paper proposes a grey-box approach that leverages binary analysis and advanced software exploitation techniques combined with voltage glitching to develop a powerful attack methodology against embedded bootloaders. We showcase our techniques with three real-world microcontrollers as case studies: 1) we combine static and on-chip dynamic analysis to enable a Return-Oriented Programming exploit on the bootloader of the NXP LPC microcontrollers; 2) we leverage on-chip dynamic analysis on the bootloader of the popular STM8 microcontrollers to constrain the glitch parameter search, achieving the first fully-documented multi-glitch attack on a real-world target; 3) we apply symbolic execution to precisely aim voltage glitches at target instructions based on the execution path in the bootloader of the Renesas 78K0 automotive microcontroller. -
STM32-P103 User's Manual
STM-P103 development board User's manual Document revision C, August 2016 Copyright(c) 2014, OLIMEX Ltd, All rights reserved INTRODUCTION STM32-P103 board is development board which allows you to explore thee features of the ARM Cortex M3 STM32F103RBT6 microcontroller produced by ST Microelectronics Inc. The board has SD/MMC card connector and allows USB Mass storage device demo to be evaluated. The RS232 driver and connector allows USB to Virtual COM port demo to be evaluated. The CAN port and driver allows CAN applications to be developed. The UEXT connector allows access to all other UEXT modules produced by OLIMEX (like MOD-MP3, MOD-NRF24LR, MOD-NOKIA6610, etc) to be connected easily. In the prototype area the customer can solder his own custom circuits and interface them to USB, CAN, RS232 etc. STM32-P103 is almost identical in hardware design to STM32-P405. The major difference is the microcontroller used (STM32F103 vs STM32F405). Another board with STM32F103 and a display is STM32-103STK. A smaller (and cheaper board) with STM32F103 is the STM32-H103. Both boards mentioned also have a version with the newer microcontroller STM32F405 used. The names are respectively STM32-405STK and STM32-H405. BOARD FEATURES STM32-P103 board features: - CPU: STM32F103RBT6 ARM 32 bit CORTEX M3™ - JTAG connector with ARM 2×10 pin layout for programming/debugging with ARM-JTAG, ARM-USB- OCD, ARM-USB-TINY - USB connector - CAN driver and connector - RS232 driver and connector - UEXT connector which allow different modules to be connected (as MOD-MP3, -
Programming-8Bit-PIC
Foreword Embedded microcontrollers are everywhere today. In the average household you will find them far beyond the obvious places like cell phones, calculators, and MP3 players. Hardly any new appliance arrives in the home without at least one controller and, most likely, there will be several—one microcontroller for the user interface (buttons and display), another to control the motor, and perhaps even an overall system manager. This applies whether the appliance in question is a washing machine, garage door opener, curling iron, or toothbrush. If the product uses a rechargeable battery, modern high density battery chemistries require intelligent chargers. A decade ago, there were significant barriers to learning how to use microcontrollers. The cheapest programmer was about a hundred dollars and application development required both erasable windowed parts—which cost about ten times the price of the one time programmable (OTP) version—and a UV Eraser to erase the windowed part. Debugging tools were the realm of professionals alone. Now most microcontrollers use Flash-based program memory that is electrically erasable. This means the device can be reprogrammed in the circuit—no UV eraser required and no special packages needed for development. The total cost to get started today is about twenty-five dollars which buys a PICkit™ 2 Starter Kit, providing programming and debugging for many Microchip Technology Inc. MCUs. Microchip Technology has always offered a free Integrated Development Environment (IDE) including an assembler and a simulator. It has never been less expensive to get started with embedded microcontrollers than it is today. While MPLAB® includes the assembler for free, assembly code is more cumbersome to write, in the first place, and also more difficult to maintain. -
Reconfigurable Embedded Control Systems: Problems and Solutions
RECONFIGURABLE EMBEDDED CONTROL SYSTEMS: PROBLEMS AND SOLUTIONS By Dr.rer.nat.Habil. Mohamed Khalgui ⃝c Copyright by Dr.rer.nat.Habil. Mohamed Khalgui, 2012 v Martin Luther University, Germany Research Manuscript for Habilitation Diploma in Computer Science 1. Reviewer: Prof.Dr. Hans-Michael Hanisch, Martin Luther University, Germany, 2. Reviewer: Prof.Dr. Georg Frey, Saarland University, Germany, 3. Reviewer: Prof.Dr. Wolf Zimmermann, Martin Luther University, Germany, Day of the defense: Monday January 23rd 2012, Table of Contents Table of Contents vi English Abstract x German Abstract xi English Keywords xii German Keywords xiii Acknowledgements xiv Dedicate xv 1 General Introduction 1 2 Embedded Architectures: Overview on Hardware and Operating Systems 3 2.1 Embedded Hardware Components . 3 2.1.1 Microcontrollers . 3 2.1.2 Digital Signal Processors (DSP): . 4 2.1.3 System on Chip (SoC): . 5 2.1.4 Programmable Logic Controllers (PLC): . 6 2.2 Real-Time Embedded Operating Systems (RTOS) . 8 2.2.1 QNX . 9 2.2.2 RTLinux . 9 2.2.3 VxWorks . 9 2.2.4 Windows CE . 10 2.3 Known Embedded Software Solutions . 11 2.3.1 Simple Control Loop . 12 2.3.2 Interrupt Controlled System . 12 2.3.3 Cooperative Multitasking . 12 2.3.4 Preemptive Multitasking or Multi-Threading . 12 2.3.5 Microkernels . 13 2.3.6 Monolithic Kernels . 13 2.3.7 Additional Software Components: . 13 2.4 Conclusion . 14 3 Embedded Systems: Overview on Software Components 15 3.1 Basic Concepts of Components . 15 3.2 Architecture Description Languages . 17 3.2.1 Acme Language . -
Insider's Guide STM32
The Insider’s Guide To The STM32 ARM®Based Microcontroller An Engineer’s Introduction To The STM32 Series www.hitex.com Published by Hitex (UK) Ltd. ISBN: 0-9549988 8 First Published February 2008 Hitex (UK) Ltd. Sir William Lyons Road University Of Warwick Science Park Coventry, CV4 7EZ United Kingdom Credits Author: Trevor Martin Illustrator: Sarah Latchford Editors: Michael Beach, Alison Wenlock Cover: Wolfgang Fuller Acknowledgements The author would like to thank M a t t Saunders and David Lamb of ST Microelectronics for their assistance in preparing this book. © Hitex (UK) Ltd., 21/04/2008 All rights reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical or photocopying, recording or otherwise without the prior written permission of the Publisher. Contents Contents 1. Introduction 4 1.1 So What Is Cortex?..................................................................................... 4 1.2 A Look At The STM32 ................................................................................ 5 1.2.1 Sophistication ............................................................................................. 5 1.2.2 Safety ......................................................................................................... 6 1.2.3 Security ....................................................................................................... 6 1.2.4 Software Development .............................................................................. -
AN1673 Using the PIC16F1XXX High-Endurance Flash (HEF) Block
AN1673 Using the PIC16F1XXX High-Endurance Flash (HEF) Block FLASH VS. HIGH-ENDURANCE Author: Lucio Di Jasio Microchip Technology Inc. FLASH Like most other PIC microcontrollers in Flash technology, the PIC16F1XXX series features a INTRODUCTION single-voltage self-write Flash program memory array. The PIC16F1XXX family of general purpose Flash This means that, without additional external hardware microcontrollers features the 8-bit PIC® MCU support, these devices can modify the contents of their enhanced mid-range core. Carefully trading Flash memory at runtime, under firmware control. functionality versus cost, several members of this As an example, this capability is conveniently used to family, including the PIC16F14XX, PIC16F15XX and implement boot loaders, enabling embedded PIC16F17XX, have made a departure from the usual application that can be reprogrammed in the field via a set of peripherals found in previous models to achieve simple serial connection (UART, SPI, I2C™, USB, etc.) a lower price point while still offering a compelling new and without requiring the use of a dedicated in-circuit set of features. Among the several new peripherals programmer/debugger device. introduced, it is worth noting: This capability can also be used to store and/or update • Configurable Logic Cell – a small set of logic calibration data in program memory (obtained at the blocks (unlike a small PLD) that can help directly end of a production line or after product installation). interconnect various peripherals inputs/outputs However, the main limitation of the self-write Flash without CPU intervention. program memory array lies in the relatively small • Complementary Output Generator – the front end number of possible erase/write cycles. -
32-Bit Microcontroller Families Industry’S Broadest and Most Innovative 32-Bit MCU Portfolio
32-bit Microcontrollers 32-bit Microcontroller Families Industry’s Broadest and Most Innovative 32-bit MCU Portfolio www.microchip.com/32bit World-Class 32-bit Microcontrollers Building on the heritage of Microchip Technology’s world-leading 8- and 16-bit microcontrollers, the 32-bit family offers a wide range of products from the industry’s lowest-power to highest-performance MCUs coupled with novel and easy-to-use soft- ware solutions. With a rich ecosystem of development tools, integrated development environments and third-party partners, Microchip’s families of 32-bit microcontrollers accelerate a vast array of embedded designs ranging from secured Internet of Things (IoT) to Functional Safety applications to general-purpose embedded control. Internet of Things Security Functional Safety Graphics and Touch Ultra-Low Power Digital Audio 5V Appliances Automotive Wearables Connected Lighting Motor Control Metering Broad Portfolio with Smart Peripheral Mix and Multiple Performance Options High Performance SAMS, SAME, SAMV Cortex-M7, 600 DMIPS, 512–2048 KB Flash PIC32MZ EF MIPS M-Class, 415 DMIPS, 512–2048 KB Flash Mid-Range PIC32MZ DA PIC32MK MC/GP MIPS microApv™, 330 DMIPS, 32 MB SDRAM, MIPS microApv, 198 DMIPS, 256–1024 KB Flash 1-2 MB Flash SAMD5/E5, SAM4N/4S/4E/4L, SAMG Cortex-M4/M4F, 150 DMIPS, 128–2048 KB Flash e PIC32MX3/4 MIPS M4K, 131/150 DMIPS, 64–512 KB Flash ormanc PIC32MX5/6/7 rf MIPS M4K, 105 DMIPS, 64–512 KB Flash Pe SAM7, SAM3, AVR32 Baseline Legacy 32-bit PIC32MX1/2/5 (XLP) MIPS M4K, 116 DMIPS, 16–512 KB Flash SAMD, SAML, -
Μc/OS-II™ Real-Time Operating System
μC/OS-II™ Real-Time Operating System DESCRIPTION APPLICATIONS μC/OS-II is a portable, ROMable, scalable, preemptive, real-time ■ Avionics deterministic multitasking kernel for microprocessors, ■ Medical equipment/devices microcontrollers and DSPs. Offering unprecedented ease-of-use, ■ Data communications equipment μC/OS-II is delivered with complete 100% ANSI C source code and in-depth documentation. μC/OS-II runs on the largest number of ■ White goods (appliances) processor architectures, with ports available for download from the ■ Mobile Phones, PDAs, MIDs Micrium Web site. ■ Industrial controls μC/OS-II manages up to 250 application tasks. μC/OS-II includes: ■ Consumer electronics semaphores; event flags; mutual-exclusion semaphores that eliminate ■ Automotive unbounded priority inversions; message mailboxes and queues; task, time and timer management; and fixed sized memory block ■ A wide-range of embedded applications management. FEATURES μC/OS-II’s footprint can be scaled (between 5 Kbytes to 24 Kbytes) to only contain the features required for a specific application. The ■ Unprecedented ease-of-use combined with an extremely short execution time for most services provided by μC/OS-II is both learning curve enables rapid time-to-market advantage. constant and deterministic; execution times do not depend on the number of tasks running in the application. ■ Runs on the largest number of processor architectures with ports easily downloaded. A validation suite provides all documentation necessary to support the use of μC/OS-II in safety-critical systems. Specifically, μC/OS-II is ■ Scalability – Between 5 Kbytes to 24 Kbytes currently implemented in a wide array of high level of safety-critical ■ Max interrupt disable time: 200 clock cycles (typical devices, including: configuration, ARM9, no wait states). -
Tesis De Microcontroladores.Pdf
UNIVERSIDAD DE EL SALVADOR FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE DEPARTAMENTO DE INGENIERÍA Y ARQUITECTURA. TRABAJO DE GRADUACIÓN DENOMINADO: “DISEÑO DE GUÍAS DE TRABAJO Y CONSTRUCCIÓN DE EQUIPO DIDÁCTICO PARA LA IMPLANTACIÓN DE PRÁCTICAS DE LABORATORIO CON MICRO CONTROLADORES EN LA CARRERA DE INGENIERÍA DE SISTEMAS INFORMÁTICOS DE LA FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE.” PARA OPTAR AL GRADO DE: INGENIERO DE SISTEMA INFORMÁTICOS PRESENTAN: FRANCIA ESCOBAR, ROBERTO ANTONIO GARCÍA, JUAN CARLOS UMAÑA ORDOÑEZ, JORGE ARTURO DOCENTE DIRECTOR ING. JOSE FRANCISCO ANDALUZ NOVIEMBRE, 2007. SANTA ANA EL SALVADOR CENTRO AMÉRICA UNIVERSIDAD DE EL SALVADOR RECTOR MÁSTER RUFINO ANTONIO QUEZADA SÁNCHEZ VICERRECTOR ACADÉMICO MÁSTER MIGUEL ÁNGEL PÉREZ RAMOS VICE RECTOR ADMINISTRATIVO MÁSTER ÓSCAR NOÉ NAVARRETE SECRETARIO GENERAL LICENCIADO DOUGLAS VLADIMIR ALFARO CHÁVEZ FACULTAD MULTIDISCIPLINARIA DE OCCIDENTE DECANO LIC. JORGE MAURICIO RIVERA VICE DECANO LIC. ELADIO ZACARÍAS ORTEZ SECRETARIO LIC. VÍCTOR HUGO MERINO QUEZADA JEFE DE DEPARTAMENTO DE INGENIERÍA ING. RENÉ ERNESTO MARTÍNEZ BERMÚDEZ AGRADECIMIENTOS A DIOS TODOPODEROSO Por permitir que llegara hasta el final de la carrera, por no dejarme solo en este camino y siempre levantarme cuando necesite de su apoyo y fuerza para continuar adelante. A MI MADRE ÁNGELA VICTORIA ESCOBAR DE FRANCIA Por su apoyo, paciencia y ser un pilar en mi vida; sin la cual no hubiese podido culminar la carrera., le dedico este triunfo con las palabras con las que siempre me ha dado confianza y fuerza de seguir adelante “se triunfa cuando se persevera”. A MI PADRE JOSÉ ANTONIO FRANCIA ESCOBAR Que su ejemplo formo en mi la idea de siempre mirar más adelante, seguir luchando y creer que siempre es posible superarse cada día más; gracias por su inmenso apoyo desde todos los puntos de mi carrera y mi vida, como padre, docente, asesor y amigo. -
Retrofitting Leakage Resilient Authenticated Encryption To
Retrofitting Leakage Resilient Authenticated Encryption to Microcontrollers Florian Unterstein1∗, Marc Schink1∗, Thomas Schamberger2∗, Lars Tebelmann2∗, Manuel Ilg1 and Johann Heyszl1 1 Fraunhofer Institute for Applied and Integrated Security (AISEC), Germany [email protected], [email protected] 2 Technical University of Munich, Germany, Department of Electrical and Computer Engineering, Chair of Security in Information Technology {t.schamberger,lars.tebelmann}@tum.de Abstract. The security of Internet of Things (IoT) devices relies on fundamental concepts such as cryptographically protected firmware updates. In this context attackers usually have physical access to a device and therefore side-channel attacks have to be considered. This makes the protection of required cryptographic keys and implementations challenging, especially for commercial off-the-shelf (COTS) microcontrollers that typically have no hardware countermeasures. In this work, we demonstrate how unprotected hardware AES engines of COTS microcontrollers can be efficiently protected against side-channel attacks by constructing a leakage resilient pseudo random function (LR-PRF). Using this side-channel protected building block, we implement a leakage resilient authenticated encryption with associated data (AEAD) scheme that enables secured firmware updates. We use concepts from leakage resilience to retrofit side-channel protection on unprotected hardware AES engines by means of software-only modifications. The LR-PRF construction leverages frequent key changes and low data complexity together with key dependent noise from parallel hardware to protect against side-channel attacks. Contrary to most other protection mechanisms such as time-based hiding, no additional true randomness is required. Our concept relies on parallel S-boxes in the AES hardware implementation, a feature that is fortunately present in many microcontrollers as a measure to increase performance. -
2 XII December 2014
2 XII December 2014 www.ijraset.com Volume 2 Issue XII, December 2014 ISSN: 2321-9653 International Journal for Research in Applied Science & Engineering Technology (IJRASET) Overview and Comparative Study of Different Microcontrollers Rajratna Khadse1, Nitin Gawai2, Bagwan M. Faruk3 1Assist.Professor, Electronics Engineering Department, RCOEM, Nagpur 2,3Assist.Professor, E & Tc Engineering Department, JDIET, Yavatmal Abstract—A microcontroller is a small and low-cost computer built for the purpose of dealing with specific tasks, such as displaying information on seven segment display at railway platform or receiving information from a television’s remote control. Microcontrollers are mainly used in products that require a degree of control to be exerted by the user. Today various types of microcontrollers are available in market with different word lengths such as 8bit, 16bit, 32bit, and microcontrollers. Microcontroller is a compressed microcomputer manufactured to control the functions of embedded systems in office machines, robots, home appliances, motor vehicles, and a number of other gadgets. Therefore in today’s technological world lot of things done with the help of Microcontroller. Depending upon the applications we have to choose particular types of Microcontroller. The aim of this paper to give the basic information of microcontroller and comparative study of 8051 Microcontroller, ARM Microcontroller, PIC Microcontroller and AVR Microcontroller Keywords— Microcontroller, Memory, Instruction, cycle, bit, architecture I. INTRODUCTION Microcontrollers have directly or indirectly impact on our daily life. Usually, But their presence is unnoticed at most of the places like: At supermarkets in Cash Registers, Weighing Scales, Video games ,security system , etc. At home in Ovens, Washing Machines, Alarm Clocks, paging, VCR, LASER Printers, color printers etc. -
1. Software Development Tools for ARM Cortex-M Processor Based Devices
1. Software Development Tools for ARM Cortex-M Processor Based Devices Qty : 01 License : Node-Locked Specifications : Sr. Specifications Compliance No. 1 Integrated Development Environment (IDE) with C/C++ Compiler, Linker, Debugger, Run-time libraries, Utilities, CMSIS Tools for ARM Cortex M Series Microcontrollers. 2 Debugger with Simulator : Source level debugger with Single Step, Break Point, JTAG/SWD and ETM Target system support 3 IDE EDITOR with Project Management Support and Dynamic Syntax Checking and Highlighting Syntax. 4 Target File Format : Tool must be capable of generating the Target File Format of executable in BIN or HEX Format. 5 Integrated Analysis Tools must be capable of Analysis of Code and Execution Time, Code and Data Trace. Complete Code Coverage information for program execution with Execution Profiler and Performance Analyzer for analyzing and optimizing your code. 6 Capable of creating the Run -Time Environment for the selected target device. 7 Device Support and Database : Should have Integrated Database to support various devices available in the market. Especially support for ARM Cortex M0/M0+/M1, ARM CORTEX M3/M4/M7, ARM Cortex M23/M33 from various vendors like NXP LPC series, STM32 Series, TI etc. 8 There must be Provision of Incorporating New Cortex -M Series Devises . IDE must be capable to pre-configure the development tools for the selected target device. 9 Software Packs with ready -to -use CMSIS : The tools should provide extensive support for Cortex Microcontroller Software Interface Standard 1/5 (CMSIS) with features of collecting libraries, source modules, configuration and header files and documentation. Generic software pack to support a wide range of devices and applications.