Android Security GROUP MAY 1208 Alex Frisvold Alex Meyer Nazmus Sakib Eric Van Buren.

Slides:



Advertisements
Similar presentations
NetPay provides best and effective solution for company Managers to maintain their employee scheduling task (including staff in/out details, overtime,
Advertisements

Thomas S. Messerges, Ezzat A. Dabbish Motorola Labs Shin Seung Uk.
1 GP Confidential © GlobalPlatform’s Value Proposition for Mobile Point of Sale (mPOS)
© 2013 Jones and Bartlett Learning, LLC, an Ascend Learning Company All rights reserved. Security Strategies in Linux Platforms and.
Team members: Van Nguyen, Christopher Waters, and William Tran Client: iapp24 Advisor: Govindarasu.
Computer Security: Principles and Practice Chapter 10 – Trusted Computing and Multilevel Security.
Quality Assurance and Testing of J2ME Programs for Mobiles Phones.
Mobile Mobile OS and Application Team: Kwok Tak Chi Law Tsz Hin So Ting Wai.
Copyright © Clifford Neuman - UNIVERSITY OF SOUTHERN CALIFORNIA - INFORMATION SCIENCES INSTITUTE USC CSci599 Trusted Computing Lecture Three.
Fundamentals of Information Systems, Second Edition
Figure 1.1 Interaction between applications and the operating system.
Principles of Information Systems, Sixth Edition 1 Systems Investigation and Analysis Chapter 12.
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Investigation and Analysis Chapter 12.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Testing - an Overview September 10, What is it, Why do it? Testing is a set of activities aimed at validating that an attribute or capability.
Android An open handset alliance project Janice Garcia September 18, 2008 MIS 304.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Android Security GROUP MAY 1208 Alex Frisvold Alex Meyer Nazmus Sakib Eric Van Buren.
Senior Design May AbstractDesign Alex Frisvold Alex Meyer Nazmus Sakib Eric Van Buren Our project is to develop a working emulator for an Android.
SEG Software Maintenance1 Software Maintenance “The modification of a software product after delivery to correct faults, to improve performance or.
Mobile Handset Hardware Architecture
Learning Outcomes At the end of this lesson, students should be able to: State the types of system software – Operating system – Utility system Describe.
Security in the industry H/W & S/W What is AMD’s ”enhanced virus protection” all about? What’s coming next? Presented by: Micha Moffie.
VMM Based Rootkit Detection on Android Class Presentation Pete Bohman, Adam Kunk, Erik Shaw.
Lesson 8 Operating Systems
Trusted Computing BY: Sam Ranjbari Billy J. Garcia.
Trusted Computing Platform Alliance
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Extending user controlled security domain.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
 Explain the role of a system analyst.  Identify the important parts of SRS document.  Identify the important problems that an organization would face.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
Trusted Computing Or How I Learned to Stop Worrying and Love the MPAA.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 7 OS System Structure.
Chapter 7 Applying UML and Patterns Craig Larman
Cosc 4765 Trusted Platform Module. What is TPM The TPM hardware along with its supporting software and firmware provides the platform root of trust. –It.
Client: The Boeing Company Contact: Mr. Nick Multari Adviser: Dr. Thomas Daniels Group 6 Steven BromleyJacob Gionet Jon McKeeBrandon Reher.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Ihr Logo Operating Systems Internals & Design Principles Fifth Edition William Stallings Chapter 2 (Part II) Operating System Overview.
Principles of Information Systems, Sixth Edition Systems Investigation and Analysis Chapter 12.
VMM Based Rootkit Detection on Android Class Presentation Pete Bohman, Adam Kunk, Erik Shaw.
Introducing Software Computer Concepts Unit A. Introducing Software What is an Operating System? OS is the master controller for all the activities that.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Trusted Computing and the Trusted Platform Module Bruce Maggs (with some slides from Bryan Parno)
HardSSH Cryptographic Hardware Key Team May07-20: Steven Schulteis (Cpr E) Joseph Sloan (EE, Cpr E, Com S) Michael Ekstrand (Cpr E) Taylor Schreck (Cpr.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 1.
Class Presentation Pete Bohman, Adam Kunk, Erik Shaw (ONL)
VMM Based Rootkit Detection on Android
By, Rutika R. Channawar. Content Introduction Open Handset Alliance Minimum Hardware Requirements Versions Feature Architecture Advantages Disadvantages.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
THE WINDOWS OPERATING SYSTEM Computer Basics 1.2.
TCS Internal Security. 2 TCS Internal Objective Objective :  Android Platform Security Architecture.
Ms. Tracy  Identify the purpose of an operating system.  Identify different operating systems.  Describe computer user interaction with multiple.
Android Security GROUP MAY 1208 Alex Frisvold Alex Meyer Nazmus Sakib Eric Van Buren.
Language Based Operating Systems by Sean Olson What is a virtual machine? What is managed code? Kernels. Memory and security models. What is a language.
HIERARCHICAL TEMPORAL MEMORY WHY CANT COMPUTERS BE MORE LIKE THE BRAIN?
 System Requirement Specification and System Planning.
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
Introduction to Operating Systems Concepts
Computer System Structures
Android Mobile Application Development
Trusted Computing and the Trusted Platform Module
Classifications of Software Requirements
Trusted Computing and the Trusted Platform Module
Lesson 8 Operating Systems
Chapter 2: The Linux System Part 1
Software Design Lecture : 14.
Presentation transcript:

Android Security GROUP MAY 1208 Alex Frisvold Alex Meyer Nazmus Sakib Eric Van Buren

Advisors  Our project is through The Boeing Company and our advisor is Victor Lukasik, the manager of Boeing’s Cyber Mission Assurance group  Our faculty advisory at Iowa State is George Amariucai

Problem Statement  Attempt a software TPM on Android  TPM-Trusted Platform Module  To safely test the TPM we must have an emulator

The Project  To implement a software stack that allows the emulation of the Android operating system to use the functionality of ARM’s TrustZone  This is a proof of concept project for The Boeing Corporation so they can begin development with TrustZone

TrustZone  ARM’s processor extension that allows for a software TPM implementation  Available on all major ARM cell phone chips  There is limited open source development with TrustZone

System Overview

Application Examples of TrustZone  Secure PIN Entry  Digital Rights Management  e-Ticketing Mobile TV (Netflix)

DRM Example

TPM Overview  A TPM is a chip that resides on the motherboard, and provides 4 basic functionalities 1) Secure storage and reporting of platform configurations 2) Protected private key storage 3) Cryptographic functions 4) Initialization and management functions

TrustZone Implementation  There is no open source emulator for TrustZone making development difficult  We will use 4 different open source components in one modified stack

The Stack

QEMU  Open source hardware emulator used by Android developers  Main release does not contain TrustZone emulation capabilities  Johannes Winter is a computer scientist who modified QEMU for his own research so it can emulate TrustZone

Fiasco Microkernel  Developed by a group at TU-Dreseden  This is the only software that will run in the privileged or secure mode of the processor  Very small for security purposes

L 4 Runtime Environment  Offers a concise set of interfaces for building applications  Comprised of low-level software components that interface directly with the microkernel  Libraries and interfaces are provided and object oriented

L 4 Android  Derived from the L 4 Linux project which is developed at TU-Dresden  Designed specifically to work with Fiasco.OC microkernel  Currently runs as Android version 2.2 (Froyo) or 2.3 (Gingerbread)

Android Application  The highest part of the stack will be a program we write that uses TrustZone’s TPM features  Application will make TrustZone calls to the microkernel

Functional Requirement  The modified FIASCO.OC microkernel will run seamlessly over Mr. Winter’s extended version of QEMU

Functional Requirement  The modified L4 runtime environment will run seamlessly over the modified Fiasco.OC microkernel

Functional Requirement  The L4Android operating system will run seamlessly over the modified L4 runtime environment

Functional Requirement  Our software stack will use the secure world to provide two TPM services:  Random Number Generation  RSA Key Generation

Functional Requirement  An Android application will be able to use the TPM services provided and will be able to perform the following tasks:  encrypt sensitive data using the secure world  decrypt sensitive data using the secure world

Functional Requirement  Modifications made to any of the various components of the software stack should not adversely affect any of the existing functionality of the components

Non-Functional Requirements  The modified software stack should run at a usable speed  The modified software stack should be stable and run reliably  Modifications to QEMU, Fiasco.OC and L4RE should be written in C and C++ programming language on a Debian Linux platform

Testing  Make sure that Fiasco.OC microkernel will run seamlessly over Mr. Winter’s QEMU  Context switching between worlds  Writing an Android application that uses TrustZone

Assumptions  Adequate time to complete our project  Johannes Winter’s experimental QEMU extensions function correctly  The Fiasco microkernel and L4Re will function with Johannes Winter’s QEMU

Constraints  April 2012 is a firm deadline for this project  The experimental nature of Johannes Winter’s QEMU release may lead to problems  There is no documentation for this stack which suggests we may be the first group to attempt this

Risks and Mitigations  Not Possible to Implement  Time constraints  Resources and Documentation

Project Milestones & Schedule  Finding Johannes Winter’s augmented QEMU made this project possible  Creating an early version of the stack

Plan for Next Semester  Work on creating the stack  Modify the Fiasco microkernel to support Johannes Winter’s QEMU  Testing  Writing the Android application

Questions?