IP Library Granted Patent US 9,589,129
Granted Patent B2
US 9,589,129 · App. 14/731,273 · Granted Mar 7, 2017

Determining source of side-loaded software

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 9,589,129
App. No.
14/731,273
Granted
Mar 7, 2017
Kind
B2
Abstract

A source of side-loaded software is determined. An action may be performed in response to the determination of the source. In one case, the handling of an application on a mobile device may be based on whether the source of the application is trusted or untrusted. If a software application being newly-installed on a mobile device of a user is determined to be untrusted, installation or execution is blocked. In one approach, the determination of the source includes: determining whether a first source identifier of a first application matches a white list of source identifiers or a black list of source identifiers; and sending the first source identifier and a first application identifier for the first application to a different computing device.

Claims (51)

1. A non-transitory computer-readable storage medium storing computer-readable instructions, which when executed, cause a first computing device to:

store, in memory, a device state of the first computing device, the device state to vary between states comprising trusted, untrusted, and unknown;

determine, by at least one processor of the first computing device, whether a first source identifier of a first application matches a first list of source identifiers;

in response to determining that the first source identifier does not match the first list: set the device state to unknown, and send, by the at least one processor, over a network to a second computing device, at least one message comprising the first source identifier and a first application identifier for the first application;

receive, over the network, a first message from the second computing device, the first message comprising a value of a first state designation for the first application, wherein the first state designation can be set to values including trusted and untrusted, and the second computing device is configured to set the value for the first state designation; and

in response to receiving the first message, change, in the memory, the device state from unknown to the value of the first state designation received in the first message.

2. The non-transitory computer-readable storage medium of claim 1 , wherein the first list is a white list or a black list.

3. The non-transitory computer-readable storage medium of claim 1 , wherein the computer-readable instructions further cause the first computing device to determine whether the first source identifier matches a second list of source identifiers.

4. The non-transitory computer-readable storage medium of claim 3 , wherein the first list is a white list and the second list is a black list.

5. The non-transitory computer-readable storage medium of claim 4 , wherein the determining whether the first source identifier matches the black list is performed in response to the first source identifier not matching the white list.

6. The non-transitory computer-readable storage medium of claim 4 , wherein the determining whether the first source identifier matches the white list is performed in response to the first source identifier not matching the black list.

7. The non-transitory computer-readable storage medium of claim 4 , wherein the determining whether the first source identifier matches the white list is performed simultaneously with the determining whether the first source identifier matches the black list.

8. The non-transitory computer-readable storage medium of claim 1 , wherein the at least one message further comprises the device state.

9. The non-transitory computer-readable storage medium of claim 1 , wherein the at least one message further comprises the first application state, and wherein the computer-readable instructions further cause the first computing device to, in response to the first source identifier not matching the first list, set a first application state for the first application to unknown.

10. The non-transitory computer-readable storage medium of claim 1 , wherein the computer-readable instructions further cause the first computing device to store data for a plurality of applications, including the first application, the data comprising an application state and a source identifier for each of the applications, wherein each application state can be set to values including known and unknown, and the source identifier for the first application is the first source identifier.

11. The non-transitory computer-readable storage medium of claim 1 , wherein the computer-readable instructions further cause the first computing device to, prior to determining whether the first source identifier matches the first list, receive the first list from the second computing device.

12. A method, comprising:

receiving, by a first computing device from at least one of plurality of computing devices, a first application identifier and a first source identifier, each for a first application;

setting, by the first computing device, a first state designation for the first application, wherein the first state designation is to be used for setting a device state on a second computing device, the device state stored in a memory of the second computing device, the device state to vary between states comprising trusted, untrusted, and unknown, and the first state designation set by the first computing device to values including trusted and untrusted; and

sending, by the first computing device, a value of the first state designation to the second computing device to cause the changing of the device state from unknown to the value of the first state designation.

13. The method of claim 12 , further comprising accessing, by the first computing device, data for a plurality of applications associated with the plurality of computing devices, the data comprising a state designation for each of the applications.

14. The method of claim 12 , wherein the setting the first state designation comprises:

sending, by the first computing device, over a network, the first application identifier and the first source identifier to a third computing device;

receiving, from the third computing device, a second state designation for the first application; and

setting the first state designation based on the second state designation.

15. The method of claim 12 , wherein the setting the first state designation comprises:

determining whether the first source identifier matches a list of source identifiers; and

in response to the first source identifier matching the list, setting the first state designation.

16. The method of claim 12 , wherein the setting the first state designation comprises:

determining whether the first source identifier matches a first list of source identifiers; and

in response to the first source identifier not matching the first list, determining whether the first source identifier matches a second list of source identifiers.

17. The method of claim 12 , wherein the setting the first state designation comprises, in response to determining that the first source identifier matches a black list, setting the first state designation to untrusted.

18. The method of claim 12 , wherein the setting the first state designation comprises, in response to determining that the first source identifier does not match a black list:

sending the first application identifier and the first source identifier to a third computing device; and

setting the first state designation based on a second state designation received from the third computing device.

19. The method of claim 18 , further comprising updating the black list based on the second state designation.

20. A system, comprising:

at least one processor; and

memory storing instructions configured to instruct the at least one processor to:

receive, from a first computing device, a first application identifier and a first source identifier, each for a first application of the first computing device;

determine whether the first source identifier matches at least one of a white list of source identifiers or a black list of source identifiers;

send the first application identifier and the first source identifier over a network to a second computing device;

receive, from the second computing device, a first state designation for the first application;

set a second state designation to a value based on the first state designation, wherein the second state designation can be set to values including trusted and untrusted; and

send the value of the second state designation to the first computing device, the sending to cause a device state stored in a memory of the first computing device to be changed from unknown to the value of the second state designation, wherein the device state varies between states comprising trusted, untrusted, and unknown.

21. The system of claim 20 , wherein the determining whether the first source identifier matches comprises determining that the first source identifier does not match the white list, and in response to the first source identifier not matching the white list, determining whether the first source identifier matches the black list.

22. The system of claim 20 , wherein the sending the first application identifier and the first source identifier to the second computing device is performed in response to the first source identifier not matching the black list.

23. The system of claim 20 , wherein the instructions are further configured to instruct the at least one processor to update the white list based on the first state designation.

24. The system of claim 20 , further comprising a database storing data for a plurality of applications associated with the first computing device, the data comprising a source identifier and a state designation for each of the applications, wherein each state designation can be set to values including trusted and untrusted.

25. The system of claim 20 , wherein the first source identifier is based on a signature of the first application.

26. The system of claim 20 , wherein the instructions are further configured to instruct the at least one processor to receive a trusted source identifier from the second computing device, and update the white list or black list based on the trusted source identifier.

Assignments (12)
SECURITY INTEREST Recorded Oct 7, 2025
From: LOOKOUT, INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 073028/0189 →
SECURITY INTEREST Recorded Oct 2, 2025
From: LOOKOUT, INC.
To: CRESCENT COVE OPPORTUNITY LENDING, LLC, AS AGENT
Reel/Frame 072989/0675 →
SECURITY INTEREST Recorded Aug 10, 2024
From: LOOKOUT, INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 068538/0177 →
RELEASE OF PATENT SECURITY INTEREST AT REEL 59909 AND FRAME 0764 Recorded Jun 2, 2023
From: ALTER DOMUS (US) LLC, AS ADMINISTRATIVE AGENT
To: LOOKOUT, INC.
Reel/Frame 063844/0638 →
RELEASE OF SECURITY INTEREST Recorded May 9, 2022
From: SILICON VALLEY BANK (THE "BANK")
To: LOOKOUT, INC.
Reel/Frame 059909/0668 →
SECURITY INTEREST Recorded May 9, 2022
From: LOOKOUT, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 059909/0764 →
RELEASE OF SECURITY INTEREST Recorded Nov 23, 2020
From: OBSIDIAN AGENCY SERVICES, INC.
To: LOOKOUT INC.
Reel/Frame 054716/0923 →
SECURITY INTEREST Recorded Jun 6, 2019
From: LOOKOUT, INC.
To: OBSIDIAN AGENCY SERVICES, INC.
Reel/Frame 049408/0861 →
SECURITY INTEREST Recorded Oct 29, 2018
From: LOOKOUT, INC.
To: SILICON VALLEY BANK
Reel/Frame 048208/0947 →
CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT APPLICATION NUMBER 14852323 PREVIOUSLY RECORDED ON REEL 036635 FRAME 0015. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Mar 14, 2018
From: RICHARDSON, DAVID; FARRAKHA, AHMED MOHAMED; ROBINSON, WILLIAM NEIL; BUCK, BRIAN JAMES
To: LOOKOUT, INC.
Reel/Frame 045598/0522 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 23, 2016
From: RICHARDSON, DAVID; FARRAKHA, AHMED MOHAMED; ROBINSON, WILLIAM NEIL; BUCK, BRIAN JAMES
To: LOOKOUT, INC.
Reel/Frame 038999/0204 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 23, 2015
From: RICHARDSON, DAVID; FARRAKHA, AHMED MOHAMED; ROBINSON, WILLIAM NEIL; BUCK, BRIAN JAMES
To: LOOKOUT, INC.
Reel/Frame 036635/0015 →