IP Library Granted Patent US 10,827,349
Granted Patent B2
US 10,827,349 · App. 16/410,347 · Granted Nov 3, 2020

SEALANT: security for end-users of android via light-weight analysis techniques

Inventors: Jae Young Bang (Los Angeles, CA); Youn Kyu Lee (Los Angeles, CA); Nenad Medvidovic (Los Angeles, CA); Daye Nam (Los Angeles, CA); Gholamreza Safi (Los Angeles, CA); Arman Shahbazian (Los Angeles, CA); Peera Yoodee (Los Angeles, CA); Yixue Zhao (Los Angeles, CA)
Assignee: UNIVERSITY OF SOUTHERN CALIFORNIA
H04W12/0023G06F21/577G06F2221/033
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 10,827,349
App. No.
16/410,347
Granted
Nov 3, 2020
Kind
B2
Abstract

A system for providing increased security in a mobile operating system includes at least one mobile device and a remote computing device that is remote from the mobile device. The remote computing device receives a list of two or more applications that are currently installed or intended to be installed on the mobile device's operating system. The remote computing device identifies vulnerable inter-component communication (ICC) paths by analyzing files associated with each of the two or more applications. A list of the vulnerable ICC paths is stored in memory of the mobile device. The mobile processor compares the list of the vulnerable ICC paths to intents sent by the components of the two or more applications and identifies a potential unsecure intent that matches one of the list of the vulnerable ICC paths. Unsecured intents can then be blocked by the user.

Claims (34)

1. A system for providing increased security in a mobile operating system on a mobile device, the system comprising:

a mobile device comprising a mobile processor, an input component, and an output component, the mobile device executing a mobile operating system, where a remote computing device or the mobile device is operable to receive or identify two or more applications that are currently installed or intended to be installed on the mobile operating system, the remote computing device or the mobile device is operable to identify vulnerable inter-component communication (ICC) paths between components of the two or more applications installed on the mobile operating system by analyzing files associated with each of the two or more applications,

wherein a list of the vulnerable ICC paths is stored in memory of the mobile device; and

wherein the mobile processor compares the list of the vulnerable ICC paths to intents sent by the components of the two or more applications and identifies a potential unsecure intent that matches one of the list of the vulnerable ICC paths, the output component outputting output data requesting confirmation that the potential unsecure intent is authorized, the input component receiving user input confirming or denying authorization of the potential unsecure intent such that the mobile processor blocks the potential unsecure intent when the user input denies the authorization of the potential unsecure intent wherein the user input includes a selection of one of a single time authorization of the potential unsecure intent, a single time denial of the authorization, a permanent authorization of the potential unsecure intent, or a permanent denial of the authorization.

2. The system of claim 1 wherein a choice database including previous potential unsecure intents and whether each of the previous potential unsecure intents corresponds to the permanent authorization of the potential unsecure intent or the permanent denial of the authorization is stored in memory, the mobile processor being operable to identify that a new intent matches an entry in the choice database and blocking the new intent when the entry corresponds to the permanent denial of the authorization.

3. The system of claim 2 wherein the mobile processor is further operable to allow the output component to output the output data when the entry corresponds to the permanent authorization of the potential unsecure intent.

4. The system of claim 1 wherein vulnerable ICC paths are identified by identifying a path that is vulnerable to at least one of intent spoofing, unauthorized intent receipt, or privilege escalation.

5. The system of claim 1 wherein the remote computing device or the mobile device is further operable to identify that a new application has been installed on the mobile operating system, to identify additional vulnerable ICC paths between new components of the new application and the components of the two or more applications; and to store the additional vulnerable ICC paths in memory of the remote computing device or in memory of the mobile device.

6. The system of claim 1 wherein a vulnerable ICC path is defined as a path between a component of one of the two or more applications and a sensitive method.

7. The system of claim 1 wherein the mobile operating system includes a module that manages routing of intents among components of the two or more applications.

8. The system of claim 7 wherein the remote computing device or the mobile device is operable to identify the vulnerable ICC paths by analyzing files packaged according to mobile app container formats.

9. The system of claim 7 wherein the remote computing device or the mobile device is operable to visualize potential ICC paths and vulnerable ICC paths.

10. A method for providing increased security in a mobile operating system on a mobile device, the method comprising:

receiving or identifying, by a remote processor that is remote from the mobile device or by the mobile device, two or more applications that are currently installed or intended to be installed on the mobile operating system;

identifying, by the remote processor or by the mobile device, vulnerable inter-component communication (ICC) paths between components of the two or more applications installed on the mobile operating system by analyzing files associated with each of the two or more applications;

storing, in a memory of the mobile device, a list of the vulnerable ICC paths;

comparing, by a mobile processor of the mobile device, the list of the vulnerable ICC paths to intents sent by the components of the two or more applications;

identifying, by the mobile processor, a potential unsecure intent that matches one of the list of the vulnerable ICC paths;

outputting, by an output component of the mobile device, output data requesting confirmation that the potential unsecure intent is authorized;

receiving, by an input component of the mobile device, user input confirming or denying authorization of the potential unsecure intent; and

blocking, by the mobile processor, the potential unsecure intent when the user input denies the authorization of the potential unsecure intent wherein the user input includes a selection of one of a single time authorization of the potential unsecure intent, a single time denial of the authorization, a permanent authorization of the potential unsecure intent, or a permanent denial of the authorization.

11. The method of claim 10 further comprising:

storing, in the memory of the mobile device, a choice database including previous potential unsecure intents and whether each of the previous potential unsecure intents corresponds to the permanent authorization of the potential unsecure intent or the permanent denial of the authorization;

determining, by the mobile processor, that a new intent matches an entry in the choice database; and

blocking, by the mobile processor, the new intent when the entry corresponds to the permanent denial of the authorization.

12. The method of claim 11 further comprising allowing, by the mobile processor, the output component to output the output data when the entry corresponds to the permanent authorization of the potential unsecure intent.

13. The method of claim 10 wherein identifying the vulnerable ICC paths includes identifying a path that is vulnerable to at least one of intent spoofing, unauthorized intent receipt, or privilege escalation.

14. The method of claim 10 further comprising:

identifying, by the remote processor or by the mobile device, that a new application has been installed on the mobile operating system;

identifying, by the remote processor or by the mobile device, additional vulnerable ICC paths between new components of the new application and the components of the two or more applications; and

storing, in the memory of the remote computing device or in the memory of the mobile device, the additional vulnerable ICC paths.

15. The method of claim 10 wherein a vulnerable ICC path is defined as a path between a component of one of the two or more applications and a sensitive method.

16. The method of claim 10 wherein the mobile operating system includes a module that manages routing of intents among components of the two or more applications.

17. The method of claim 16 wherein identifying the vulnerable ICC paths by analyzing the files includes analyzing files packaged according to mobile app container formats.

Assignments (3)
CONFIRMATORY LICENSE Recorded Oct 4, 2021
From: UNIVERSITY OF SOUTHERN CALIFORNIA
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 057697/0656 →
CORRECTIVE ASSIGNMENT TO CORRECT THE DATE OF SIGNATURE BY ARMAN SHAHBAZIAN WHICH SHOULD BE 03/08/2020 PREVIOUSLY RECORDED ON REEL 052364 FRAME 0729. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Apr 21, 2020
From: BANG, JAE YOUNG; LEE, YOUN KYU; MEDVIDOVIC, NENAD; NAM, DAYE; SAFI, GHOLAMREZA; SHAHBAZIAN, ARMAN; YOODEE, PEERA; ZHAO, YIXUE
To: UNIVERSITY OF SOUTHERN CALIFORNIA
Reel/Frame 052448/0863 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2020
From: BANG, JAE YOUNG; LEE, YOUN KYU; MEDVIDOVIC, NENAD; NAM, DAYE; SAFI, GHOLAMREZA; SHAHBAZIAN, ARMAN; YOODEE, PEERA; ZHAO, YIXUE
To: UNIVERSITY OF SOUTHERN CALIFORNIA
Reel/Frame 052364/0729 →
Continuity (2)
Provisional Application 62670550 · May 11, 2018
Related Publication 20190349756A1 · Nov 14, 2019