Lecture 11 - Mobile and Sandboxing Flashcards
Dalvik Virtual Machine (DVM)
Optimized for embedded environments, runs .dex files, relies on Linux kernel
Activity Manager
Responsible for starting applications, includes Reference Monitor
Package Manager
Installs new applications, manages permissions and apps
Application Isolation
VMs and Sandboxing ensure apps are isolated
Application Access Control
Permission framework at middleware layer, DAC at Linux kernel level
Application Distribution
Apps vetted before upload to official app market
Process Level
Each app runs in a dedicated process with unique UID
Filesystem Level
Each app has a dedicated data directory for read/write access
Permission escalation attack
Non-privileged app accesses components of a more privileged app
Android Software Stack
Includes Middleware, Android Runtime, and Application Framework
Middleware Layer - Native Libraries
Includes C/C++ system libraries exposed to developers
Middleware Layer - Android Runtime
Involves Dalvik Virtual Machine optimized for embedded environments
Middleware Layer - Application Framework
Provides API to basic functionalities and services for developers
Application Layer
Apps written in Java, executed in their own Dalvik VM instance
Sandboxing
confines software within a controlled environment to prevent system resource access and unauthorized actions.