Zephyr Kernel Security Discussion

Slides:



Advertisements
Similar presentations
Slide 3-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 3 3 Operating System Organization.
Advertisements

Chap 4 Multithreaded Programming. Thread A thread is a basic unit of CPU utilization It comprises a thread ID, a program counter, a register set and a.
Chapter 4: Threads. Overview Multithreading Models Threading Issues Pthreads Windows XP Threads.
Day 11 Processes. Operating Systems Control Tables.
CSE 451: Operating Systems Winter 2009 Module 4 Processes Mark Zbikowski Gary Kimura.
Process Management. External View of the OS Hardware fork() CreateProcess() CreateThread() close() CloseHandle() sleep() semctl() signal() SetWaitableTimer()
OS Spring’03 Introduction Operating Systems Spring 2003.
Advanced OS Chapter 3p2 Sections 3.4 / 3.5. Interrupts These enable software to respond to signals from hardware. The set of instructions to be executed.
Operating Systems Lecture # 3. Recap Hardware Operating System Application System Call Trap Hardware Trap Processor.
SMP threads an Introduction to Posix Threads. Technical Definition 1.Independent stream of instructions that can be scheduled to run by an operating system.
Operating Systems Béat Hirsbrunner Main Reference: William Stallings, Operating Systems: Internals and Design Principles, 6 th Edition, Prentice Hall 2009.
CS533 Concepts of Operating Systems Class 3 Integrated Task and Stack Management.
Chapter 6 Implementing Processes, Threads, and Resources.
CPS110: Implementing threads/locks on a uni-processor Landon Cox.
CSI 400/500 Operating Systems Spring 2009 Lecture #2 – Functional Parts of an Operating System Monday January 23, 2009.
Chapter 51 Threads Chapter 5. 2 Process Characteristics  Concept of Process has two facets.  A Process is: A Unit of resource ownership:  a virtual.
Operating Systems CSE 411 CPU Management Sept Lecture 11 Instructor: Bhuvan Urgaonkar.
Slide 6-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 6.
OPERATING SYSTEM OVERVIEW. Contents Basic hardware elements.
Chapter 4: Threads. From Processes to Threads 4.3 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th edition, Jan 23, 2005 Threads.
Multithreading Allows application to split itself into multiple “threads” of execution (“threads of execution”). OS support for creating threads, terminating.
Chapter 4 Processes. Process: what is it? A program in execution A program in execution usually usually Can also have suspended or waiting processes Can.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 13 Threads Read Ch 5.1.
Threads G.Anuradha (Reference : William Stallings)
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
Department of Computer Science and Software Engineering
2 Processor(s)Main MemoryDevices Process, Thread & Resource Manager Memory Manager Device Manager File Manager.
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
Where Testing Fails …. Problem Areas Stack Overflow Race Conditions Deadlock Timing Reentrancy.
Embedded Real-Time Systems
CSCE451/851 Introduction to Operating Systems
WORKING OF SCHEDULER IN OS
Chapter 3: Windows7 Part 5.
Processes and threads.
Operating Systems CMPSC 473
Day 12 Threads.
CS399 New Beginnings Jonathan Walpole.
Operating Systems: A Modern Perspective, Chapter 6
Getting Started with the µC/OS-III Real Time Kernel
Processes A process is a running program.
Process Realization In OS
Intro to Processes CSSE 332 Operating Systems
KERNEL ARCHITECTURE.
Threads and Locks.
Threads & multithreading
Chapter 3: Windows7 Part 5.
Chapter 4 Multithreading programming
ICS 143 Principles of Operating Systems
Threads and Data Sharing
CSE 451: Operating Systems Spring 2012 Module 6 Review of Processes, Kernel Threads, User-Level Threads Ed Lazowska 570 Allen.
Mid Term review CSC345.
CGS 3763 Operating Systems Concepts Spring 2013
CSE 451: Operating Systems Winter 2010 Module 4 Processes
Lecture Topics: 11/1 General Operating System Concepts Processes
Lecture 4- Threads, SMP, and Microkernels
Threads and Concurrency
Operating Systems Lecture 3.
Chapter 3: Processes.
Implementing Processes, Threads, and Resources
CS510 Operating System Foundations
Outline Operating System Organization Operating System Examples
Outline Chapter 2 (cont) Chapter 3: Processes Virtual machines
AGENDA Architecture Microprocessor Communication and Bus Timings
CPU Structure and Function
Implementing Processes, Threads, and Resources
Chapter 3: Process Concept
Processes David Ferry, Chris Gill, Brian Kocoloski
AGENDA Architecture Microprocessor Communication and Bus Timings
Chapter 3: Process Management
CS Introduction to Operating Systems
Presentation transcript:

Zephyr Kernel Security Discussion Jan 11, 2017

Security Levels 5 4 3 2b 2a 1 Application Libraries RNG Secure Storage … … 3 2b Secure OS Subsystems (Logging/FS/) 2a Secure Infrastructure (Security Objects: Key Objects, TEE) Kernel + Thread Separation 1 Not Secure: Kernel without thread separation

Threads “Stack area” Control block (struct k_thread) Stack CRC protection? “Stack area” Control block (struct k_thread) Execution flags Thread state Init data Abort function … Stack Stack pointer (?) Data CRC protection? MMU/MPU

Interrupts ???

Scheduler (struct _kernel) CRC protection? CPU registers Store/load List of threads Current thread Priorities States Locking + Extra Protection for special threads Idle Thread Main Thread, e.g. against DOS (thread starvation) Flow protection CRC protection? Flow protection

Memory Allocation Types Global/per thread? Memory Slabs Memory Pools Heap Memory Pool Global/per thread? MMU/MPU Protected sections

Data Passing Key points for consideration: Key goal(s): Integrity protection Access control (MPU) Key goal(s): Limit accessibility to communicating parties only Add “protected” counter-parts that sacrifice code size/performance for e.g. integrity protection