IP Library Granted Patent US 8,955,142
Granted Patent B2
US 8,955,142 · App. 13/052,973 · Granted Feb 10, 2015

Secure execution of unsecured apps on a device

Inventors: James Blaisdell (Novato, CA); Jean-Max Vally (San Francisco, CA)
Assignee: Mocana Corporation
G06F21/53G06F21/54H04W12/08
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,955,142
App. No.
13/052,973
Granted
Feb 10, 2015
Kind
B2
Abstract

Devices are pre-deployed with an app security mechanism to ensure that apps that are downloaded onto the device do not cause data loss, data leakage, or other harm to the device. A user can start using the device and downloading apps in a conventional or typical manner and be assured that security measures are being taken to minimize potential harm for unsecured and secured apps. An app security enforcement layer or engine operates with, for example, a Type 2 hypervisor on the device, and ensures that any calls by the apps to the operating system of the device are generally safe. Measures such as enhancing or modifying the call, obfuscating the call, or terminating the app may be taken to protect the operating system. These actions are taken based on a policy that may be either interpreted or compiled by the enforcement engine with respect to app execution. The security measures are generally transparent to the user of the device.

Claims (36)

1. A method of securing an unsecured app for execution on a device having an operating system, the method comprising:

executing the unsecured app on the device;

determining whether there is an app security policy on the device for the unsecured app;

disassembling app object code of the unsecured app, thereby obtaining executable object code which includes class files;

generating class files for an app security program based on the app security policy;

replacing the class files of the unsecured app with the generated class files of the app security program, wherein operating system class files of the unsecured app are wrapped with the generated class files of the app security program such that the unsecured app becomes a secure app and thereby provides a bridge between the secure app and the device operating system;

performing a security check on a call made by the secure app to the operating system, said security check made in an app enforcement layer operating above a hypervisor in the device; and

based on said security check and said app security policy, performing one of

(a) allowing the call to pass to the operating system;

(b) enhancing the call;

(c) blocking the call; and

(d) terminating the secure app.

2. The method as recited in claim 1 wherein terminating the secure app further comprises: automatically deleting the secure app from the device.

3. The method as recited in claim 1 wherein the app security policy may include one or more of limiting app execution time on the device, limiting the total number of apps on the device; limiting geographical physical area where the secure app may execute; and preventing two apps by the same author or creator from executing at the same time.

4. The method as recited in claim 1 wherein the secure app has one or more associated policies.

5. The method as recited in claim 1 further comprising: obtaining a default policy from the secure app.

6. The method as recited in claim 1 further comprising: ensuring that the unsecured app has an associated policy before the secure app executes.

7. The method as recited in claim 1 wherein the app enforcement layer on the device is created by an app security service provider for implementation on the device.

8. The method as recited in claim 7 wherein the app enforcement layer has no knowledge of privileges relating to the secure app.

9. The method as recited in claim 1 further comprising: interpreting the app security policy on the device.

10. The method as recited in claim 1 further comprising: compiling the app security policy on the device.

11. The method as recited in claim 1 wherein the secure app and one or more other unsecured apps can execute at the same time.

12. The method as recited in claim 1 wherein execution of the secure app continues after enhancing the call and after blocking the call.

13. The method as recited in claim 1 wherein blocking the call further comprising: performing one of providing an obfuscated response to the call and providing partial data in response to the call such that any classified data is kept confidential.

14. A mobile device for executing an unsecured app, the device having an operating system comprising:

means for executing the unsecured app on the device;

means for determining whether there is an app security policy on the device for the unsecured app;

means for disassembling app object code of the unsecured app, thereby obtaining executable object code which includes class files;

means for generating class files for an app security program based on the app security policy;

means for replacing the class files of the unsecured app with the generated class files of the app security program, wherein operating system class files of the unsecured app are wrapped with the generated class files of the app security program such that the unsecured app becomes a secure app and thereby provides a bridge between the secure app and the device operating system;

means for performing a security check on a call made by the secure app to the operating system, said security check including:

(a) allowing the call to pass to the operating system;

(b) enhancing the call;

(c) blocking the call; and

(d) terminating the secure app.

15. The mobile device as recited in claim 14 further comprising: means for providing an obfuscated response to the call and means for providing partial data in response to the call such that any classified data is kept confidential.

Assignments (3)
SECURITY INTEREST Recorded Jul 30, 2019
From: BLUE CEDAR NETWORKS, INC.
To: KREOS CAPITAL VI (UK) LIMITED
Reel/Frame 049909/0314 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2016
From: MOCANA CORPORATION
To: BLUE CEDAR NETWORKS, INC.
Reel/Frame 039744/0142 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2011
From: BLAISDELL, JAMES; VALLY, JEAN-MAX
To: MOCANA CORPORATION
Reel/Frame 026196/0095 →
Continuity (1)
Related Publication 20120246731A1 · Sep 27, 2012