Virtual Smart Phones in the Cloud
The Secure Virtual Mobile Platform is a free and open source system for running virtual smartphones in the cloud. It helps solve many of the problems of secure containers and “bring your own device” by treating a user’s physical phone as a terminal for remotely accessing a virtual smartphone running off-the-shelf smartphone apps. These virtual devices, operating safely in a datacenter, then provide a secure bastion for accessing sensitive apps and data.
The core of the platform is an OS image based on the Android Open Source Project that we have optimized for running on top of virtualization and cloud platforms such as KVM and OpenStack. Also included are front-end client applications for Android and iOS that can log into the remote desktop of the virtual device. Unlike traditional remote desktop applications designed for keyboard and mouse input, SVMP lets users interact naturally with remote applications using native mobile inputs like multi-touch, location, and sensors. Thanks to WebRTC technology, this all works seamlessly even over 3G and 4G cellular networks.
It is designed to be easily deployable as an application on top of existing virtualization systems and public/private clouds like OpenStack.
Uses
There are many possible use cases for SVMP. We built and released it here so it can become the foundation for whole new class of mobile capabilities. We would love to hear what novel ideas the community invents with these building blocks. Here are some we have thought of:
- Run mobile applications without the resource contraints of fitting on a smartphone
- Keep sensitive data off of easily lost and stolen phones
- Segregate different classes of data and workloads into isolated virtual environments (either business apps on a personal phone or personal apps on a business phone)
- Offload expensive security monitoring and analysis from resource constrained smartphones
- Provide better visibility into network and data usage
- Streaming backup & rapid reconstitution
- Application testing, portability, and delivery
Features
- A virtual smartphone VM based on AOSP
- Client applications for Android and iOS
- Rich input forwarding
- Full multi-touch
- Screen rotation
- Sensor forwarding
- GPS location
- Integration of remote apps
- Cross-network intent broadcasting
- Notification push
- Transparent “single-app” mode (coming soon)
Platform Requirements
SVMP is tested to run on the following platforms. Let us know if you get it working reliably on others.
Client
- Android 4.0+
- iOS 7.1
Server
- Node.js 0.10.2+
- MongoDB 2.0+
Virtual Device VM
- Linux KVM
- VirtualBox
- VMware ESX, Workstation, Fusion, & Player
Public & Private Clouds
- OpenStack Havana (Essex or newer should work, but not tested recently)
- Amazon EC2
What’s New
SVMP 2.0.0 Released — 09/30/14
SVMP 1.5.0 Released — 07/16/14
Introducing Single-app Mode — 07/15/14
SVMP 1.4.1 Released — 05/29/14
SVMP 1.4.0 Released — 05/16/14
Credits & Notices
SVMP is released under the Apache License, Version 2.0.
Originally developed under the MITRE IR&D program. Code and site content approved for public release, distribution unlimited under cases 13-1256 & 13-4271.
Site built with Jekyll using the Apache Buildr site template and theme.