CS 153 Design of Operating Systems Spring 2015 Lecture 24: Android OS.

Slides:



Advertisements
Similar presentations
Operating Systems Manage system resources –CPU scheduling –Process management –Memory management –Input/Output device management –Storage device management.
Advertisements

MOOC on M4D 2013 I NTRODUCTION TO THE A NDROID P LATFORM Ashish Agrawal Indian Institute of Technology Kanpur.
ECOS: Leveraging Software-Defined Networks to Support Mobile Application Offloading Aaron Gember, Christopher Dragga, Aditya Akella University of Wisconsin-Madison.
Aurasium: Practical Policy Enforcement for Android Applications R. Xu, H. Saidi and R. Anderson Presented By: Rajat Khandelwal – 2009CS10209 Parikshit.
Aurasium: Practical Policy Enforcement for Android Applications R. Xu, H. Saidi and R. Anderson.
Mobile Application Development
Figure 1.1 Interaction between applications and the operating system.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
Operating Systems.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
ADVANCED LINUX SECURITY. Abstract : Using mandatory access control greatly increases the security of an operating system. SELinux, which is an implementation.
OPERATING SYSTEMS AND SYSTEMS SOFTWARE. SYSTEMS SOFTWARE Systems software consists of the programs that control the operations of the computer and its.
Introduction to Android Platform Overview
Case study 2 Android – Mobile OS.
Presentation By Deepak Katta
Programming mobile devices Part II Programming Symbian devices with Symbian C++
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
VMM Based Rootkit Detection on Android Class Presentation Pete Bohman, Adam Kunk, Erik Shaw.
PowerPoint Presentation to Accompany Chapter 5 System Software Visualizing TechnologyCopyright © 2014 Pearson Education, Inc. Publishing as Prentice Hall.
Introduction to Android Swapnil Pathak Advanced Malware Analysis Training Series.
Should We Believe the Hype? Stephen Fast Lead, Cyber Innovation Strategy Cyber Innovation Division Applied Research Laboratory The Pennsylvania State University.
Android Introduction Based on slides made by
All Your Droid Are Belong To Us: A Survey of Current Android Attacks 단국대학교 컴퓨터 보안 및 OS 연구실 김낙영
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
01. Introduction to Android Prof. Oum Saokosal Master of Engineering in Information Systems, South Korea
Computer and Information Sciences
LINUX System : Lecture 2 OS and UNIX summary Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University Acknowledgement.
Chapter 2 – Software Part A. Definition Computer is made up of two components Hardware Physical components Software Instructions for the computer Two.
Android for Java Developers Denver Java Users Group Jan 11, Mike
1 Company Proprietary and ConfidentialThe document name can go here Android OS Security Omar Alaql July 8, 2013 Kent State University Android OS Security.
Android Security Auditing Slides and projects at samsclass.info.
ADV. NETWORK SECURITY CODY WATSON What’s in Your Dongle and Bank Account? Mandatory and Discretionary Protections of External Resources.
VMM Based Rootkit Detection on Android Class Presentation Pete Bohman, Adam Kunk, Erik Shaw.
ANDROID BY:-AANCHAL MEHTA MNW-880-2K11. Introduction to Android Open software platform for mobile development A complete stack – OS, Middleware, Applications.
COP 4610 Introduction to Operating Systems. Chapter 1 - Introduction OS - Layer between the hardware and user programs (Figure 1.1) OS - The ultimate.
Android System Security Xinming Ou. Android System Basics An open-source operating system for mobile devices (AOSP, led by Google) – Consists of a base.
 Android OS: Java  iOS: Objective C NSArray * foo = [[NSArray alloc]
Unix Security Assessing vulnerabilities. Classifying vulnerability types Several models have been proposed to classify vulnerabilities in UNIX-type Oses.
Wireless and Mobile Security
Speaker: Xiaojiang Du Authors: Xiali Hei, Xiaojiang Du and Shan Lin Temple University.
Chapter 9: Networking with Unix and Linux. Objectives: Describe the origins and history of the UNIX operating system Identify similarities and differences.
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
Lecture 1: Network Operating Systems (NOS) An Introduction.
Copyright © 2015 McGraw-Hill Education. All rights reserved. No reproduction or distribution without the prior written consent of McGraw-Hill Education.
Dynamic Vetting Android Applications for Privilege-escalation Risks Jiaojiao Fu 1.
VMM Based Rootkit Detection on Android
“Google Chrome OS is an open source, lightweight operating system that will initially be targeted at netbooks" and "most of the user experience takes.
System Programming Basics Cha#2 H.M.Bilal. Operating Systems An operating system is the software on a computer that manages the way different programs.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
Java & The Android Stack: A Security Analysis Pragati Ogal Rai Mobile Technology Evangelist PayPal, eBay Java.
Android and IOS Permissions Why are they here and what do they want from me?
Operating System Structure Lecture: - Operating System Concepts Lecturer: - Pooja Sharma Computer Science Department, Punjabi University, Patiala.
Presented by: Saurabh Kumar Sinha (MRT07UGBIT 186) IT VII Semester, Shobhit University Meerut.
Introduction to Operating Systems Concepts
Module 51 (Mobile Device Fundamentals - Android)
Introduction to Operating Systems
Lecture 1-Part 2: Operating-System Structures
Android System Security
Android Runtime – Dalvik VM
Chapter 2: Operating-System Structures
Operating System Structure
Who owns your phone? Who feels that they have the right to use your phone for their purposes or on your behalf?
MOBILE DEVICE OPERATING SYSTEM
CS490 Windows Internals Quiz 2 09/27/2013.
What is an Operating System?
Introduction to Operating Systems
Chapter 2: System Structures
Distrustful Decomposition
Sai Krishna Deepak Maram, CS 6410
Chapter 10. Mobile Device Security
Presentation transcript:

CS 153 Design of Operating Systems Spring 2015 Lecture 24: Android OS

OS Abstractions 2 Operating System Hardware Applications CPUDiskRAM ProcessFile systemVirtual memory Network I/O Devices

Smartphones 3 ==

…in

What is the difference between a mobile OS and a desktop/server OS? 5

Differences l Size / form-factor u UI system design? l Resource-constrained (e.g., battery, memory) u Optimized OS (what would you do?) l Cellular and other hardware components l User has no root access u Unless OS has vulnerabilities l Security threats u App is fully sandboxed and cannot easily attack other apps 6

Android 7

Based on Linux Linux on ARM Drivers and architecture support How to port Android to a new device? Using Linux vs. Writing a new OS from scratch? Do all Linux kernel implementations work well on mobile devices? 8

Android 9

Android 10

Android 11

Differences l Size / form-factor l Resource-constrained (e.g., battery, memory) u Optimized OS (what would you do?) l Cellular and other hardware components l User has no root access u Unless OS has vulnerabilities l Security threats u Malware is fully sandboxed and cannot easily attack other apps 12

Offloading of Computation Naive offloading Speech-to-text, OCR, Apple’s Siri More sophisticated offloading - fine-grained offloading MAUI: Making Smartphones Last Longer with Code Offload Running two versions of the app on the mobile device and a powerful server Decide when/what to offload on the fly 13

Differences l Size / form-factor l Resource-constrained (e.g., battery, memory) u Optimized OS (what would you do?) l Cellular and other hardware components l User has no root access u Unless OS has vulnerabilities l Security threats u Malware is fully sandboxed and cannot easily attack other apps 14

Disk I/O FlashHard Disk Drive Random access~0.1ms5-10ms File fragment impactNoGreatly impacted Total power1/2 to 1/3 of HDDup to 15+ watts ReliabilityReliable Less reliable due to mechanical parts Write longevity Limited number of writes Less of a problem Capacity<= 1TB4TB Price$0.4 / GB$0.04 / GB 15

New Capabilities l Cellular u Make phone calls u Send/Recv SMS l GPS u Tracking l Phone number u Identification... l How to secure them? 16

Android Security 17

Android Sandbox l UID separation to protect apps from each other 18

Android Permission l Apps need permissions when they attempt to u access sensitive resource or u perform sensitive operations 19

Device-related permission 20

Non-device-related permission l Enforced in kernel through uid l Kernel code in net/ipv4/af_inet.c: #include static inline int current_has_network(void) { return in_egroup_p(AID_INET) || capable(CAP_NET_RAW); } 21

Differences l Size / form-factor l Resource-constrained (e.g., battery, memory) u Optimized OS (what would you do?) l Cellular and other hardware components l User has no root access u Unless OS has vulnerabilities l Security threats u Malware is fully sandboxed and cannot easily attack other apps 22

Android Root l No app can run with root privilege in Android u even if the user desires l Restrictions set by Google, Vendors, and Carriers u Result: bloatware, power inefficiency, lost freedom/functionality, etc. l How do we gain root back? 23

Background: Symbolic Link l On most file systems, symbolic link is supported to point to the same file content without having to copy the content l “ln –s /home/zhiyunq/ /shortcut” l /shortcut  /home/zhiyunq 24

File Permission Vulnerabilities l Works on certain Android devices u Customized by vendors such as Motorola or Samsung l Goal: Write to /data/local.prop u Add line ro.kernel.qemu=1 u But permission denied to normal app l Exploit: u rm /data/local/logs/log.txt (accessible to anyone) u ln -s /data/local.prop /data/local/logs/log.txt u What is the vulnerability? 25

Programming Model Each application is running in its own process An application can have one or more components: activities, services, broadcast receivers and content providers A task (an “application” from user’s point of view) consists of several activities from one or multiple applications An application keeps running until the system kills it because of memory shortage 26

Summary l Android OS vs. Traditional OS l Security architecture of Android l Android root exploit through file permission vulnerability 27