Internet of Things Hide the Details of the Hardware Resources from the Users

Total Page:16

File Type:pdf, Size:1020Kb

Internet of Things Hide the Details of the Hardware Resources from the Users Embedded Operating Systems { Basic notions of Operating Systems Objectives of an Operating System Make the computer system convenient to use in an efficient manner. Internet of Things Hide the details of the hardware resources from the users. Embedded Operating Systems Provide users a convenient interface to use the computer system. Act as an intermediary between the hardware and its users, Ioannis Chatzigiannakis making it easier for the users to access and use other resources. Sapienza University of Rome Manage the resources of a computer system. Department of Computer, Control, and Management Engineering (DIAG) Keep track of who is using which resource, granting resource requests, and mediating conflicting requests from different Lecture 3: programs and users. Embedded Operating Systems Provide efficient and fair sharing of resources among users and programs. 1 / 36 2 / 36 Embedded Operating Systems { Basic notions of Operating Systems Embedded Operating Systems { Basic notions of Operating Systems Main elements of an Operating System Main services of an Operating System Operating System (OS) Operating System (OS) A collection of software that manages the hardware resources and A collection of software that manages the hardware resources and provides various service to the users. provides various service to the users. 1 Processor 1 Process management. Performs the data processing functions. Load into main memory, execute programs. Controls the operation of the computer. 2 Resource Allocation 2 Main Memory 3 Memory Management volatile storage. Allocate/de-allocate memory. 3 I/O Modules Virtual memory. non volatile storage, 4 File System communications, 5 Communication terminals. Interprocess communication, across Computer Networks. 4 System Bus 6 Error detection and response. communication among components. 7 Authentication, Authorization, Accounting. 3 / 36 4 / 36 Embedded Operating Systems { Basic notions of Operating Systems Embedded Operating Systems { Basic notions of Operating Systems Interacting with the Operating System Type of Operating Systems Kernel mode: 1 Batch systems: jobs entered as a whole and in sequence. has complete access to all Purpose specific. the hardware 2 Interactive systems: allow multiple jobs Purpose specific or General purpose. can execute any instruction Turnaround: Faster than batch { slower than real-time. that a machine is capable of 3 Hybrid systems { combination of batch and interactive. executing 4 Network operating systems { for network devices. has high privileged (rights) 5 Real-time systems Purpose specific { reliability is critical. User mode: Used in time-critical environments { fixed time constraints. can execute only subset Hard vs Soft: Hard: total failure if deadline missed (few) of the machine Soft: suffer performance degradation due to a missed deadline. instructions 6 Embedded systems { single machine / purpose specific. has less privileged (rights) 7 Wireless sensor systems { multiple nodes / purpose specific. 8 Smart card operating systems 5 / 36 6 / 36 Embedded Operating Systems { Operating Systems for IoT Embedded Operating Systems { Operating Systems for IoT Software platforms for IoT Operating systems for IoT Memory: Kilobytes instead of Gigabytes. CPU: Megahertz instead of Gigahertz. TinyOS { statically linked applications. Energy: Milliwatt instead of Watt. ContikiOS { dynamic linking of binaries, no thread support. Potentially limited storage capabilities. FreeRTOS { real-time operating system. Probably without direct connectivity to Internet. RIOT { focuses on constrained devices + interoperability. Diverse hardware peripherals that can be connected. ARM mbed { targeting ARM Cortex M series. no standard platform to develop applications. Zephyr { real-time on constrained devices. 7 / 36 8 / 36 Embedded Operating Systems { STM32 Nucleo Development Process Embedded Operating Systems { ARM MBed ARM Mbed OS STM32 family provides wide range of devices with limited resources: Memory as low as 16KB. Some may have direct connectivity to Internet. Arm Mbed OS is a free, open-source embedded operating system designed specifically for the Applications can be "things" in the Internet of Things. It includes all developed by tools: the features you need to develop a connected 1 STM32CubeMX product based on an Arm Cortex-M 2 Middleware microcontroller (32 bit). 3 IDE 9 / 36 10 / 36 Embedded Operating Systems { ARM MBed Embedded Operating Systems { ARM MBed Main Features Modular - Ease of Use With a modular library structure, the necessary underlying support for your application will be automatically included on your device. By using the Mbed OS API, your application code can remain clean, portable and simple. End to End Security It addresses security in device hardware, software, communication. Open Source https://github.com/ARMmbed/mbed-os Community Big community support and Forum. Possibility to use drivers and libraries developed by third party. 11 / 36 12 / 36 Embedded Operating Systems { ARM MBed Embedded Operating Systems { ARM MBed Toolchains and IDE ARM MCU to Cloud Two possibilities: Offline toolchains, (Arm Online IDE, no setup and Compiler 6, GCC and IAR) that easiest way to get started. support Arm Mbed CLI. 13 / 36 14 / 36 Embedded Operating Systems { ARM MBed Embedded Operating Systems { ARM MBed ARM MBED Cloud Platform 15 / 36 16 / 36 Embedded Operating Systems { Zephyr OS Embedded Operating Systems { Zephyr OS Zephyr OS Main Features Provide an OS that runs best on MCUs for wearable and IoT devices, where the cost of the silicon is minimal. Highly Configurable. Kernel mode only Zephyr OS is a scalable, real-time operating Nanokernel { Limited functionality targeting small footprint system (RTOS) for embedded devices. (below 10k) Microkernel (superset of nanokernel): with additional Open source. functionality and features. Cross-architecture with broad SoC and No user space and no dynamic runtimes development board support. Memory and Resources are typically statically allocated Cross architecture (IA32, ARM, ARC) 17 / 36 18 / 36 Embedded Operating Systems { Zephyr OS Embedded Operating Systems { Zephyr OS Native Execution Native vs Normal Build Zephyr as native Linux application Enable large scale simulation of network or Bluetooth tests without involving HW Improve test coverage of application layers Use any native tools available for debugging and profiling Develop GUI applications entirely on the desktop Optionally connect to real devices with TCP/IP, Bluetooth, and CAN Reduce requirements for HW test platforms during development 19 / 36 20 / 36 Embedded Operating Systems { Zephyr OS Embedded Operating Systems { Zephyr OS Zephyr Architecture Highly Configurable, Highly Modular Cooperative and Preemptive Threading Memory and Resources are typically statically allocated Integrated device driver interface Memory Protection: Stack overflow protection, Kernel object and device driver permission tracking, Thread isolation Bluetooth Low Energy (BLE 5.1) with both controller and host, BLE Mesh 802.15.4 OpenThread Native, fully featured and optimized networking stack 21 / 36 22 / 36 Embedded Operating Systems { Zephyr OS Embedded Operating Systems { Zephyr OS Zephyr Ecosystem Zephyr Project Governance 23 / 36 24 / 36 Embedded Operating Systems { RIOT Embedded Operating Systems { RIOT Goals for IoT Operating Systems Interoperability Goal Driven by a grassroots community Modular structure, adaptive to diverse hardware instead from the hardware providers/manufacturers. Micro-kernel architecture (contrary to Linux) Linux-like approach. minimal requirements around 1kB RAM Open source + Free licensed under LGPLv2.1. 2.8kB RAM, 3.2kB ROM on 32-bit Cortex-M Less garbage with less IoT device lock-down support for 50+ different IoT boards/devices. Functionalities of a full-fledged operating system. Efficient Hardware Abstraction Layer (HAL) Needed memory & energy efficiency to fit IoT devices. minimized hardware-dependent code. Faster innovation by spreading IoT software dev. costs support for 8/16/32 bit, ARM, AVR, MIPS. Setting Privace & Security at core: Supported vendors: Microchip, NXP, STMicroelectronics, 1 Long-term IoT software robustness & security Nordic, TI, ESP, RISC-V, etc. 2 Trust, transparency & protection of IoT users' privacy Large list of sensors and actuators supported (e.g drivers) native board: run RIOT as process on your computer +100 boards supported Compliance with common system standards POSIX sockets, pthreads standard C, C++ application coding 25 / 36 26 / 36 Embedded Operating Systems { RIOT Embedded Operating Systems { RIOT Hardware Abstraction Layer Modular Operating System Features are libraries ! only build what's required 3 blocks: boards, cpus, drivers CPUs are organized as follows: xtimer { high-level timer subsystem architecture (ARM) ! family (stm32) ! type (stm32l4) ! Full abstraction from the model (stm32l476rg) hardware timer Can set callbacks, put a Generic API for cpu peripherals thread to sleep, etc (gpio, uart, spi, pwm, etc) shell { interactive command same API for all architectures line Only based on vendor header files Others: crypto, fmt, math, (CMSIS) etc less code duplication, more efficient but more work Also: External packages provided and maintained by third parties. One application ! one board ! one cpu model 27 / 36 28 / 36 Embedded Operating Systems { RIOT Embedded Operating Systems { RIOT Core: Real-time scheduler Core: Multi-Threading and IPC Tickless scheduler { energy efficient. Fixed priorities { deterministic. Separate thread contexts with separate
Recommended publications
  • Comparison of Contemporary Real Time Operating Systems
    ISSN (Online) 2278-1021 IJARCCE ISSN (Print) 2319 5940 International Journal of Advanced Research in Computer and Communication Engineering Vol. 4, Issue 11, November 2015 Comparison of Contemporary Real Time Operating Systems Mr. Sagar Jape1, Mr. Mihir Kulkarni2, Prof.Dipti Pawade3 Student, Bachelors of Engineering, Department of Information Technology, K J Somaiya College of Engineering, Mumbai1,2 Assistant Professor, Department of Information Technology, K J Somaiya College of Engineering, Mumbai3 Abstract: With the advancement in embedded area, importance of real time operating system (RTOS) has been increased to greater extent. Now days for every embedded application low latency, efficient memory utilization and effective scheduling techniques are the basic requirements. Thus in this paper we have attempted to compare some of the real time operating systems. The systems (viz. VxWorks, QNX, Ecos, RTLinux, Windows CE and FreeRTOS) have been selected according to the highest user base criterion. We enlist the peculiar features of the systems with respect to the parameters like scheduling policies, licensing, memory management techniques, etc. and further, compare the selected systems over these parameters. Our effort to formulate the often confused, complex and contradictory pieces of information on contemporary RTOSs into simple, analytical organized structure will provide decisive insights to the reader on the selection process of an RTOS as per his requirements. Keywords:RTOS, VxWorks, QNX, eCOS, RTLinux,Windows CE, FreeRTOS I. INTRODUCTION An operating system (OS) is a set of software that handles designed known as Real Time Operating System (RTOS). computer hardware. Basically it acts as an interface The motive behind RTOS development is to process data between user program and computer hardware.
    [Show full text]
  • 1921 Tulsa Race Riot Reconnaissance Survey
    1921 Tulsa Race Riot Reconnaissance Survey Final November 2005 National Park Service U.S. Department of the Interior CONTENTS INTRODUCTION 1 Summary Statement 1 Bac.ground and Purpose 1 HISTORIC CONTEXT 5 National Persp4l<live 5 1'k"Y v. f~u,on' World War I: 1896-1917 5 World W~r I and Postw~r ( r.: 1!1t7' EarIV 1920,; 8 Tulsa RaCR Riot 14 IIa<kground 14 TI\oe R~~ Riot 18 AIt. rmath 29 Socilot Political, lind Economic Impa<tsJRamlt;catlon, 32 INVENTORY 39 Survey Arf!a 39 Historic Greenwood Area 39 Anla Oubi" of HiOlorK G_nwood 40 The Tulsa Race Riot Maps 43 Slirvey Area Historic Resources 43 HI STORIC GREENWOOD AREA RESOURCeS 7J EVALUATION Of NATIONAL SIGNIFICANCE 91 Criteria for National Significance 91 Nalional Signifiunce EV;1lu;1tio.n 92 NMiol\ill Sionlflcao<e An.aIYS;s 92 Inl~ri ly E~alualion AnalY'is 95 {"",Iu,ion 98 Potenl l~1 M~na~menl Strategies for Resource Prote<tion 99 PREPARERS AND CONSULTANTS 103 BIBUOGRAPHY 105 APPENDIX A, Inventory of Elltant Cultural Resoun:es Associated with 1921 Tulsa Race Riot That Are Located Outside of Historic Greenwood Area 109 Maps 49 The African American S«tion. 1921 51 TI\oe Seed. of c..taotrophe 53 T.... Riot Erupt! SS ~I,.,t Blood 57 NiOhl Fiohlino 59 rM Inva.ion 01 iliad. TIll ... 61 TM fighl for Standp''''' Hill 63 W.II of fire 65 Arri~.. , of the Statl! Troop< 6 7 Fil'lal FiOlrtino ~nd M~,,;~I I.IIw 69 jii INTRODUCTION Summary Statement n~sed in its history.
    [Show full text]
  • Performance Study of Real-Time Operating Systems for Internet Of
    IET Software Research Article ISSN 1751-8806 Performance study of real-time operating Received on 11th April 2017 Revised 13th December 2017 systems for internet of things devices Accepted on 13th January 2018 E-First on 16th February 2018 doi: 10.1049/iet-sen.2017.0048 www.ietdl.org Rafael Raymundo Belleza1 , Edison Pignaton de Freitas1 1Institute of Informatics, Federal University of Rio Grande do Sul, Av. Bento Gonçalves, 9500, CP 15064, Porto Alegre CEP: 91501-970, Brazil E-mail: [email protected] Abstract: The development of constrained devices for the internet of things (IoT) presents lots of challenges to software developers who build applications on top of these devices. Many applications in this domain have severe non-functional requirements related to timing properties, which are important concerns that have to be handled. By using real-time operating systems (RTOSs), developers have greater productivity, as they provide native support for real-time properties handling. Some of the key points in the software development for IoT in these constrained devices, like task synchronisation and network communications, are already solved by this provided real-time support. However, different RTOSs offer different degrees of support to the different demanded real-time properties. Observing this aspect, this study presents a set of benchmark tests on the selected open source and proprietary RTOSs focused on the IoT. The benchmark results show that there is no clear winner, as each RTOS performs well at least on some criteria, but general conclusions can be drawn on the suitability of each of them according to their performance evaluation in the obtained results.
    [Show full text]
  • Operating in a New Environment
    EMBEDDED DESIGN OPERATING SYSTEMS lthough the concept of the IoT was Ioated around the turn of the Millennium, it is A only recently that the approach has gathered significant momentum. But, because it is a blanket term, IoT is not only being applied to large and small applications alike, it is also being applied in a wide range of end markets. With such a spread, it will come as no surprise to discover that one size does not fit all when it comes to operating systems. At the high end of the market, companies like Intel are vying to provide a complete solution. Alongside its processor technology, Intel can integrate Wind River’s VxWorks operating system and McAfee security software to create a system capable of handling high levels of complexity. But those developing wearable devices, for example, may not want to take advantage of such a system; they may well be looking for an OS that runs in a very small footprint but, nonetheless, offers a range of Operating in a new necessary features while consuming minimal amounts of power. ARM has had its eyes on the sector for some time and, last year, rolled out environment a significant extension to its mbed programme. Previously, mbed was an embedded development community The Internet of Things is posing challenges to OS developers. with ambitions similar to those of Arduino and Raspberry Pi. But mbed How are they responding? By Graham Pitcher. now has a much bigger vision – the IoT. As part of this approach, it is creating mbed OS (see fig 1).
    [Show full text]
  • RIOT: an Open Source Operating System for Low-End Embedded Devices in the Iot Emmanuel Baccelli, Cenk Gundo¨ Gan,˘ Oliver Hahm, Peter Kietzmann, Martine S
    This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/JIOT.2018.2815038, IEEE Internet of Things Journal 1 RIOT: an Open Source Operating System for Low-end Embedded Devices in the IoT Emmanuel Baccelli, Cenk Gundo¨ gan,˘ Oliver Hahm, Peter Kietzmann, Martine S. Lenders, Hauke Petersen, Kaspar Schleiser, Thomas C. Schmidt, and Matthias Wahlisch¨ Abstract—As the Internet of Things (IoT) emerges, compact low-end IoT devices. RIOT runs on minimal memory in the operating systems are required on low-end devices to ease devel- order of ≈10kByte, and can run on devices with neither MMU opment and portability of IoT applications. RIOT is a prominent (memory management unit) nor MPU (memory protection free and open source operating system in this space. In this paper, we provide the first comprehensive overview of RIOT. We cover unit). The goal of this paper is to provide an overview of the key components of interest to potential developers and users: RIOT, both from the operating system point of view, and from the kernel, hardware abstraction, and software modularity, both an open source software and ecosystem point of view. conceptually and in practice for various example configurations. We explain operational aspects like system boot-up, timers, power Prior work [28], [29] has surveyed the space of operating management, and the use of networking. Finally, the relevant APIs as exposed by the operating system are discussed along systems for low-end IoT devices.
    [Show full text]
  • Soft Tools for Robotics and Controls Implementations
    Soft Tools for Robotics and Controls Implementations A Thesis Submitted to the Faculty of Drexel University by Robert M. Sherbert in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering June 2011 c Copyright 2011 Robert M. Sherbert. All rights reserved. ii Dedications To the parents who placed me on my path, to the mentors who guided me along its many turns, and to the friends who made the long journey swift. iii Acknowledgments There are a number of people to whom I owe a great deal of thanks in completing this document. While the labor has been my own, the inspiration for it and the support to finish it have come from the community around me. In creating this work I have taken on the role of toolsmith and, as tools are worthless without their users, it is to these individuals that I am especially indebted. I would like to thank Dr. Oh for lending his vision of robotics testing and prototyping which inspired this work. You have taught me more than I realized there was to know about the modern practice of science. I would also like to thank Dr. Chmielewski for lending his experience, insight, and enthusiasm to the project. Having these ideas weighed against and improved by your practical knowledge has provided a very important validation for me. Above all I would like to thank my friends at DASL, without whom the entirety of this project would have been consigned to the dust bin long ago. You have given me not only critical feedback and suggestions but also the support and encouragement that has helped me carry this to completion.
    [Show full text]
  • Kinetis SDK V.1.3.0 Release Notes
    Freescale Semiconductor Document Number: KSDK130RN Release Notes Rev. 0, 09/2015 Kinetis SDK v.1.3.0 Release Notes Contents 1 Overview 1 Overview....................................................................1 2 What Is New..................................... .........................1 These are the release notes for the Freescale Kinetis Software Development Kit (KSDK) 1.3.0. The core of the Kinetis SDK 3 Development Tools................................................... 2 is a set of drivers architected in two layers: the Hardware 4 Supported Development Systems..............................3 Abstraction Layer (HAL) and the Peripheral Driver Layer. 5 Release Contents....................................................... 6 The HAL abstracts the hardware register accesses into a set of stateless functional primitives which provide the building 6 Kinetis SDK Release Overview.................................7 blocks for high-level Peripheral Drivers or applications. The 7 Known Issues.......................................................... 11 Peripheral Driver Layer implements use-case driven drivers by utilizing one or more HAL layer components, system services, 8 Change Log............................................................. 13 and possibly other Peripheral Drivers. 9 Revision History......................... ............................ 15 The Kinetis SDK includes a set of example applications demonstrating the use of the Peripheral Drivers and other integrated software modules such as a Real-Time Operating System (RTOS) through an RTOS abstraction layer. The Kinetis SDK also integrates middleware such as the Freescale USB stack to provide an easy-to-use Software Development Kit for Kinetis microcontroller (MCU) product families. For the latest version of this and other Kinetis SDK documents, see the Kinetis SDK homepage KINETIS-SDK: Software Development Kit for Kinetis MCUs . 2 What Is New © 2015 Freescale Semiconductor, Inc. Development Tools This section describes the major changes and new features implemented in this release.
    [Show full text]
  • A Comparative Study Between Operating Systems (Os) for the Internet of Things (Iot)
    VOLUME 5 NO 4, 2017 A Comparative Study Between Operating Systems (Os) for the Internet of Things (IoT) Aberbach Hicham, Adil Jeghal, Abdelouahed Sabrim, Hamid Tairi LIIAN, Department of Mathematic & Computer Sciences, Sciences School, Sidi Mohammed Ben Abdellah University, [email protected], [email protected], [email protected], [email protected] ABSTRACT Abstract : We describe The Internet of Things (IoT) as a network of physical objects or "things" embedded with electronics, software, sensors, and network connectivity, which enables these objects to collect and exchange data in real time with the outside world. It therefore assumes an operating system (OS) which is considered as an unavoidable point for good communication between all devices “objects”. For this purpose, this paper presents a comparative study between the popular known operating systems for internet of things . In a first step we will define in detail the advantages and disadvantages of each one , then another part of Interpretation is developed, in order to analyze the specific requirements that an OS should satisfy to be used and determine the most appropriate .This work will solve the problem of choice of operating system suitable for the Internet of things in order to incorporate it within our research team. Keywords: Internet of things , network, physical object ,sensors,operating system. 1 Introduction The Internet of Things (IoT) is the vision of interconnecting objects, users and entities “objects”. Much, if not most, of the billions of intelligent devices on the Internet will be embedded systems equipped with an Operating Systems (OS) which is a system programs that manage computer resources whether tangible resources (like memory, storage, network, input/output etc.) or intangible resources (like running other computer programs as processes, providing logical ports for different network connections etc.), So it is the most important program that runs on a computer[1].
    [Show full text]
  • Firmware Pro Robotické Vozítko
    VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF CONTROL AND INSTRUMENTATION FIRMWARE PRO ROBOTICKÉ VOZÍTKO FIRMWARE FOR THE ROBOTIC VEHICLE DIPLOMOVÁ PRÁCE MASTER'S THESIS AUTOR PRÁCE Bc. LUKÁŠ OTAVA AUTHOR VEDOUCÍ PRÁCE Ing. PAVEL KUČERA, Ph.D. SUPERVISOR BRNO 2013 ABSTRAKT Tato práce je zaměřena na vytvoření firmware pro robotické vozítko, založené na ar- chitektuře ARM Cortex-M3, který využívá operační systém reálného času. Úvodní část obsahuje informace o dostupných operačních systémech reálného času pro malé vestavné systémy, popis architektury ARM Cortex-M3 a hardwarového řešení řídicího systému. Praktická část se zabývá výběrem a měřením zvolených operačních systémů reálného času. Výsledkem práce je firmware složený z programových modulů, které slouží kovlá- dání jednotlivých HW prvků. Je vytvořena také ukázková aplikace, která umožňuje na dálku ovládat pohyb robota a ukládat provozní data robota. KLÍČOVÁ SLOVA ARM, Cortex M3, LM3S8962, reálný čas, RTOS, FreeRTOS, CooCox, CoOS, uC/OSIII, absolutní časování, přepnutí kontextu, DC motor, akcelerometr, FreeRTOS+TRACE, synchronizace, regulátor, SLIP, diagnostika RTOS ABSTRACT This thesis is focused on a firmware for robotic vehicle based on the ARM Cortex- M3 architecture that is running a real-time operating system (RTOS). Theoretical part describes available solutions of embedded RTOS and concrete HW implementation of the robotic vehicle. There is also comparison of the three selected RTOS with their measurements. Result of this thesis is base firmware compounded by a program modules that controls HW parts. There is also a sample PC and firmware application that extends base firmware.
    [Show full text]
  • Mastering the Freertos™ Real Time Kernel
    Mastering the FreeRTOS™ Real Time Kernel This is the 161204 copy which does not yet cover FreeRTOS V9.0.0, FreeRTOS V10.0.0, or low power tick-less operation. Check http://www.FreeRTOS.org regularly for additional documentation and updates to this book. See http://www.FreeRTOS.org/FreeRTOS-V9.html for information on FreeRTOS V9.x.x. See https://www.freertos.org/FreeRTOS-V10.html for information on FreeRTOS V10.x.x. Applications created using FreeRTOS V9.x.x onwards can allocate all kernel objects statically at compile time, removing the need to include a heap memory manager. This text is being provided for free. In return we ask that you use the business contact email link on http://www.FreeRTOS.org/contact to provide feedback, comments and corrections. Thank you. i ii iii Mastering the FreeRTOS™ Real Time Kernel A Hands-On Tutorial Guide Richard Barry iv Pre-release 161204 Edition. All text, source code, and diagrams are the exclusive property of Real Time Engineers Ltd. unless otherwise noted inline. © Real Time Engineers Ltd. 2016. All rights reserved. http://www.FreeRTOS.org http://www.FreeRTOS.org/plus http://www.FreeRTOS.org/labs FreeRTOS™, FreeRTOS.org™ and the FreeRTOS logo are trademarks of Real Time Engineers Ltd. OPENRTOS® and SAFERTOS® are trademarks of WITTENSTEIN Aerospace and Simulation Ltd. All other brands or product names are the property of their respective holders. v vi To Caroline, India and Max. vii viii Contents Contents .................................................................................................................................
    [Show full text]
  • KINTSUGI Identifying & Addressing Challenges in Embedded Binary
    KINTSUGI Identifying & addressing challenges in embedded binary security jos wetzels Supervisors: Prof. dr. Sandro Etalle Ali Abbasi, MSc. Department of Mathematics and Computer Science Eindhoven University of Technology (TU/e) June 2017 Jos Wetzels: Kintsugi, Identifying & addressing challenges in embed- ded binary security, © June 2017 To my family Kintsugi ("golden joinery"), is the Japanese art of repairing broken pottery with lacquer dusted or mixed with powdered gold, silver, or platinum. As a philosophy, it treats breakage and repair as part of the history of an object, rather than something to disguise. —[254] ABSTRACT Embedded systems are found everywhere from consumer electron- ics to critical infrastructure. And with the growth of the Internet of Things (IoT), these systems are increasingly interconnected. As a re- sult, embedded security is an area of growing concern. Yet a stream of offensive security research, as well as real-world incidents, contin- ues to demonstrate how vulnerable embedded systems actually are. This thesis focuses on binary security, the exploitation and miti- gation of memory corruption vulnerabilities. We look at the state of embedded binary security by means of quantitative and qualitative analysis and identify several gap areas and show embedded binary security to lag behind the general purpose world significantly. We then describe the challenges and limitations faced by embedded exploit mitigations and identify a clear open problem area that war- rants attention: deeply embedded systems. Next, we outline the cri- teria for a deeply embedded exploit mitigation baseline. Finally, as a first step to addressing this problem area, we designed, implemented and evaluated µArmor : an exploit mitigation baseline for deeply em- bedded systems.
    [Show full text]
  • Operating Systems & Virtualisation Security Knowledge Area
    Operating Systems & Virtualisation Security Knowledge Area Issue 1.0 Herbert Bos Vrije Universiteit Amsterdam EDITOR Andrew Martin Oxford University REVIEWERS Chris Dalton Hewlett Packard David Lie University of Toronto Gernot Heiser University of New South Wales Mathias Payer École Polytechnique Fédérale de Lausanne The Cyber Security Body Of Knowledge www.cybok.org COPYRIGHT © Crown Copyright, The National Cyber Security Centre 2019. This information is licensed under the Open Government Licence v3.0. To view this licence, visit: http://www.nationalarchives.gov.uk/doc/open-government-licence/ When you use this information under the Open Government Licence, you should include the following attribution: CyBOK © Crown Copyright, The National Cyber Security Centre 2018, li- censed under the Open Government Licence: http://www.nationalarchives.gov.uk/doc/open- government-licence/. The CyBOK project would like to understand how the CyBOK is being used and its uptake. The project would like organisations using, or intending to use, CyBOK for the purposes of education, training, course development, professional development etc. to contact it at con- [email protected] to let the project know how they are using CyBOK. Issue 1.0 is a stable public release of the Operating Systems & Virtualisation Security Knowl- edge Area. However, it should be noted that a fully-collated CyBOK document which includes all of the Knowledge Areas is anticipated to be released by the end of July 2019. This will likely include updated page layout and formatting of the individual Knowledge Areas KA Operating Systems & Virtualisation Security j October 2019 Page 1 The Cyber Security Body Of Knowledge www.cybok.org INTRODUCTION In this Knowledge Area, we introduce the principles, primitives and practices for ensuring se- curity at the operating system and hypervisor levels.
    [Show full text]