Lecture 4 L4android: a Generic Operating System Framework for Secure Smartphones

Lecture 4 L4android: a Generic Operating System Framework for Secure Smartphones

Lecture 4 L4Android: A Generic Operating System Framework for Secure Smartphones Matthias Lange, Adam Lackorzynski et al. Operating Systems Practical 23 October, 2013 OSP Lecture 4, L4Android 1/36 Contents Context Proposed solution Fiasco.OC L4Re L4Android Evaluation Keywords Questions OSP Lecture 4, L4Android 2/36 Outline Context Proposed solution Fiasco.OC L4Re L4Android Evaluation Keywords Questions OSP Lecture 4, L4Android 3/36 Context I Ubiquity of smartphones I Need for secure apps I Near Field Communication I SIM cards I Inherent lack of security in smartphone software OSP Lecture 4, L4Android 4/36 Security issues: delayed updates I Mainline Android development: done by Google I Phone vendors deploy customized Android versions I \Maintenance nightmare": I Provide periodic updates that fix vulnerabilities I Or no updates at all (that would cost too much) OSP Lecture 4, L4Android 5/36 Security issues: Linux kernel I Monolithic kernels are difficult to verify I Device drivers run with full privileges I Kernel components aren't isolated I Device manufacturers develop custom (often proprietary) drivers OSP Lecture 4, L4Android 6/36 Security issues: rooted phones I Root privileges allow full access to: I all the user data I manufacturer settings I the kernel I \Rooted" phones are more vulnerable I Android phones don't allow root access by default I Root access can be obtained I manually by the user I by malicious software (via exploits) OSP Lecture 4, L4Android 7/36 Security issues: Android permission system I Permissions in Android I based on Mandatory Access Control (MAC) I \all or nothing" paradigm I too coarse-grained I e.g.: grant access to Internet and Address Book I ! software can send user Address Book to any remote location OSP Lecture 4, L4Android 8/36 Outline Context Proposed solution Fiasco.OC L4Re L4Android Evaluation Keywords Questions OSP Lecture 4, L4Android 9/36 A solution I Isolate OS inside a virtual machine I Run secure apps outside the OS I Use a microkernel-based framework I "extended hardware" I small Trusted Computing Base (TCB) I drivers as userspace services OSP Lecture 4, L4Android 10/36 A solution: L4Android I Framework for developing secure smartphone apps I Components: I microkernel: Fiasco.OC µkernel I services: L4Re runtime environment 4 I kernel: L Android I userspace: Android libraries, apps, ::: OSP Lecture 4, L4Android 11/36 Outline Context Proposed solution Fiasco.OC L4Re L4Android Evaluation Keywords Questions OSP Lecture 4, L4Android 12/36 Fiasco.OC: Overview I Based on Jochen Liedtke's L4 microkernel I Implements basic OS primitives I Address Spaces I Threads I Scheduling I Inter-Process Communication I Interrupt Delivery (via Asynchronous IPC) OSP Lecture 4, L4Android 13/36 Fiasco.OC: Protection Domains I Protection Domains: I equivalent to Linux namespaces/containers I run as tasks on top of the microkernel I provide isolation I among virtual machines I between VMs and the TCB OSP Lecture 4, L4Android 14/36 Fiasco.OC: Capabilities I Capabilities provide access to: I kernel objects I address spaces I threads I communication channels I interrupts I Fine-grained control over resources OSP Lecture 4, L4Android 15/36 Fiasco.OC: Verification I Microkernel exposes minimal interface I small number of system calls I Code base is small (∼20,000 lines of code) I Kernel is formally verifiable OSP Lecture 4, L4Android 16/36 Outline Context Proposed solution Fiasco.OC L4Re L4Android Evaluation Keywords Questions OSP Lecture 4, L4Android 17/36 L4 Runtime Environment I Software layer on top of the microkernel I Simplifies development in microkernel userspace I Consists of: I basic functionality: allocators, data structures etc. I user libraries: C, C++, pthread etc. I servers providing access to I/O devices OSP Lecture 4, L4Android 18/36 Outline Context Proposed solution Fiasco.OC L4Re L4Android Evaluation Keywords Questions OSP Lecture 4, L4Android 19/36 L4Android 4 I L Linux: Linux kernel modified to run paravirtualized I on top of Fiasco.OC + L4Re I with fine-grained access to devices via I/O servers 4 I an L Linux instance can run without any access to peripherals I or it can be used as a driver provider 4 I L Android Kernel 4 I based on L Linux I contains Android patches (wakelocks, binder etc.) I therefore it is able to run the Android user stack OSP Lecture 4, L4Android 20/36 Outline Context Proposed solution Fiasco.OC L4Re L4Android Evaluation Keywords Questions OSP Lecture 4, L4Android 21/36 Evaluation: Overview I Four proposed scenarios I Software Smartcard I Mobile Rootkit Detection I Hardware Abstraction Layer I Unified Corporate and Private Phone I Last scenario implemented as a demo I Runnable on ARM and x86 architectures I Freescale iMX.51 (Cortex-A8) I Aava Mobile developer phone (Moorestown) OSP Lecture 4, L4Android 22/36 Evaluation: Software Smartcard I Smartcard: I processor and memory integrated on a plastic card I cryptographic coprocessor smarcards for: I mobile phones (SIM, NFC) I credit cards I USB tokens I \Software smartcard": I performing the same computations in software I cheaper and more flexible than a physical smartcard I usually unfeasible due to high security demands OSP Lecture 4, L4Android 23/36 Evaluation: Software Smartcard (2) I the Fiasco.OC provides a secure computing base I the smartcard operations run on top of the microkernel I L4Re and microkernel syscalls offer a trusted interface 4 I isolation from the L Android domain is achieved I timing attacks are deflected by secure scheduling I vendors can implement various virtual smartcard configurations OSP Lecture 4, L4Android 24/36 Evaluation: Software Smartcard Possible Smartcard setup: OSP Lecture 4, L4Android 25/36 Evaluation: Hardware Abstraction Layer I HAL: proposed L4-based development model for Linux drivers I move driver logic to a layer between L4Re and the guest kernel I develop generic driver stub in the guest OS I easier to port drivers to new kernel versions I by updating the Linux-HAL interface I driver faults are isolated from the rest of the system OSP Lecture 4, L4Android 26/36 Evaluation: Hardware Abstraction Layer OSP Lecture 4, L4Android 27/36 Evaluation: Dual Android Phone I Corporate smartphones contain sensitive information I Employees routinely carry two smartphones: I a company-provided smartphone configured according to the company's security policy I a personal, unrestricted phone OSP Lecture 4, L4Android 28/36 Evaluation: Dual Android Phone (2) I Solution: a single phone running two Android virtual machines I private Android: can even be rooted I secure Android: implements corporate security policies I User can easily switch between instances at runtime OSP Lecture 4, L4Android 29/36 Evaluation: Dual Android Phone (3) I Access to devices is multiplexed between instances I Stub drivers in the guest kernels I Driver servers in the L4 Runtime Environment I Virtualization requirements: I secure GUI server I virtual Ethernet interfaces I mobile telephony, hardware graphics/sound acceleration I drivers are binaries in the Linux kernel or Android userspace I difficult to virtualize OSP Lecture 4, L4Android 30/36 Evaluation: Dual Android Phone OSP Lecture 4, L4Android 31/36 Outline Context Proposed solution Fiasco.OC L4Re L4Android Evaluation Keywords Questions OSP Lecture 4, L4Android 32/36 Keywords I smartphones I Trusted Computing Base I operating system security I paravirtualization I Mandatory Access Control I microkernel I protection domain I L4 I capability I I/O server OSP Lecture 4, L4Android 33/36 Resources I http://l4android.org I http://l4linux.org I http://os.inf.tu-dresden.de/L4/ I http://users.sec.t-labs.tu-berlin.de/~steffen/ papers/spsm03-lange.pdf I Jochen Lietdke: On µ-Kernel Construction OSP Lecture 4, L4Android 34/36 Outline Context Proposed solution Fiasco.OC L4Re L4Android Evaluation Keywords Questions OSP Lecture 4, L4Android 35/36 Questions ? OSP Lecture 4, L4Android 36/36.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    36 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us