IP Library Granted Patent US 10,348,756
Granted Patent B2
US 10,348,756 · App. 15/259,457 · Granted Jul 9, 2019

System and method for assessing vulnerability of a mobile device

Inventors: Jon Oberheide (Ann Arbor, MI); Dug Song (Ann Arbor, MI); Adam Goodman (Bloomfield Hills, MI)
Assignee: Duo Security, Inc.
H04L63/1433H04W12/12
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,348,756
App. No.
15/259,457
Granted
Jul 9, 2019
Kind
B2
Abstract

A system and method for assessing vulnerability of a mobile device including at a remote analysis cloud service, receiving at least one vulnerability assessment request that includes an object identifier for an operative object of a mobile computing device, wherein the vulnerability assessment request originates from the mobile computing device; identifying a vulnerability assessment associated with the identifier of the operative object; and communicating the identified vulnerability assessment to the mobile computing device.

Claims (60)

1. A method for assessing vulnerability associated with a computing device comprising:

receiving a vulnerability assessment request;

in response to receiving the vulnerability assessment request, performing at a remote cloud service a vulnerability assessment of an operative object of a computing device, wherein the operative object includes executable code and is operable on the computing device, wherein the vulnerability assessment request includes an object identifier of the operative object, and wherein the object identifier includes a subset of executable code from the operative object; and

identifying the vulnerability assessment of the operative object associated with the object identifier, comprising:

disassembling the subset of executable code of the object identifier into native machine code, and

detecting unpatched vulnerabilities in the native machine code.

2. The method of claim 1 , wherein the vulnerability assessment request further includes at least one additional superfluous or extraneous object identifier.

3. The method of claim 2 , wherein:

the computing device is a mobile computing device remotely located from the remote cloud service,

the vulnerability assessment request originates from the mobile computing device,

the operative object is operable on the mobile computing device, and

wherein the method further comprises communicating, from the remote cloud service to the mobile computing device, the vulnerability assessment of the operative object associated with the object identifier.

4. The method of claim 1 , further comprising:

receiving at least one additional superfluous vulnerability assessment request.

5. The method of claim 1 , further comprising:

compiling, using a vulnerability assessment component (VAC), at least one object identifier for the vulnerability assessment request.

6. The method of claim 5 , wherein compiling the at least one object identifier for the vulnerability assessment request includes compiling at least one additional superfluous object identifier.

7. The method of claim 6 , further comprising the VAC initiating installation of a vulnerability patch to relevant vulnerabilities identified in the vulnerability assessment results.

8. The method of claim 5 , wherein compiling the at least one object identifier for the vulnerability assessment request includes compiling at least one additional extraneous or faked object identifier.

9. The method of claim 5 , further comprising:

compiling at least one additional superfluous vulnerability assessment request.

10. The method of claim 5 , wherein the at least one compiled object identifier is a plurality of object identifiers that includes an executable code segment, a device identifier, and component version identifier.

11. The method of claim 5 , further comprises:

communicating the identified vulnerability assessment to the computing device, wherein communicating the identified vulnerability assessment includes multiplexing a plurality of vulnerability assessment requests into a single communication to the remote cloud service; and

receiving at least one vulnerability assessment request at the remote cloud service includes demultiplexing a vulnerability assessment request into a plurality of vulnerability assessment requests.

12. The method of claim 5 , further comprising:

at the VAC, receiving an executable probe; and

performing at least a partial vulnerability assessment according to the executable probe prior to communicating the vulnerability assessment request to the cloud service.

13. The method of claim 12 , wherein performing at least a partial vulnerability assessment includes checking a cache of vulnerability assessments.

14. The method of claim 5 , wherein the VAC is a standalone application controlled by a user.

15. The method of claim 5 , wherein the VAC is a component integrated into an application of the computing device; and further comprising communicating the identified vulnerability assessment from the VAC to the application of the computing device.

16. The method of claim 1 , wherein detecting unpatched vulnerabilities includes detecting privilege escalation vulnerabilities.

17. A method for assessing vulnerability of a mobile device, comprising:

receiving, at a remote cloud service, a plurality of vulnerability assessment requests, wherein a vulnerability assessment request includes at least one object identifier for an operative object of a mobile computing device, wherein the operative object includes executable code and is operable on the mobile computing device, and wherein the object identifier includes a subset of executable code from the operative object; and

in response to receiving the plurality of vulnerability assessment requests, for each vulnerability assessment request of the plurality of vulnerability assessment requests,

performing, at the remote cloud service, a vulnerability assessment of the operative object of the vulnerability assessment request, and

identifying the vulnerability assessment associated with the object identifier of the operative object, comprising:

disassembling the subset of executable code of the object identifier into native machine code, and

detecting unpatched vulnerabilities in the native machine code.

18. The method of claim 17 , further comprising in a cloud based storage system, storing identified vulnerability assessments according to the associated object identifier.

19. The method of claim 18 , wherein storing identified vulnerability assessments are stored according to a hash of the associated object identifier.

20. The method of claim 19 , further comprising:

at a vulnerability assessment component (VAC) and prior to receiving a vulnerability assessment request at the remote cloud service, compiling a hash of at least one object identifier for the vulnerability assessment request;

communicating a first vulnerability assessment request including the hash to the remote cloud service; and

wherein identifying vulnerability assessment includes querying the cloud based storage system for an identified vulnerability assessment associated with the hash.

21. The method of claim 18 , further comprising at a platform control interface, compiling a mapping of identified vulnerability and associated object identifiers stored in the cloud based storage system and generating collective vulnerability data for the plurality of mobile computing devices.

22. The method of claim 21 , further comprising at the platform control interface, pushing a vulnerability repair to the mobile computing device in response to generated collective vulnerability data.

23. The method of claim 17 , further comprising:

at a vulnerability assessment component (VAC) and prior to receiving a vulnerability assessment request at the remote cloud service, compiling at least one object identifier for the vulnerability assessment request and compiling at least one additional superfluous object identifier, wherein the superfluous object identifier is different from the at least one object identifier;

and communicating the vulnerability assessment request to the remote cloud service.

24. A method for assessing vulnerability associated with a computing device comprising:

receiving one or more vulnerability assessment requests;

performing, at a remote cloud service, a vulnerability assessment of an operative object of a computing device based on the one or more vulnerability assessment requests, wherein the operative object includes executable code and is operable on the computing device, and wherein the one or more vulnerability assessment requests include:

1) an object identifier of the operative object and a superfluous object identifier, the superfluous object identifier being different than the object identifier, or

2) an object identifier of the operative object and a superfluous vulnerability assessment request,

wherein the object identifier of the operative object includes a subset of executable code from the operative object;

determining the vulnerability assessment of the operative object associated with the object identifier, comprising:

disassembling the subset of executable code of the object identifier into native machine code, and

detecting unpatched vulnerabilities in the native machine code; and

communicating the determined vulnerability assessment.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 11, 2021
From: DUO SECURITY LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 056208/0504 →
CHANGE OF NAME Recorded May 11, 2021
From: DUO SECURITY, INC.
To: DUO SECURITY LLC
Reel/Frame 056210/0008 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2016
From: OBERHEIDE, JON; SONG, DUG; GOODMAN, ADAM
To: DUO SECURITY, INC.
Reel/Frame 040017/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 8, 2016
From: OBERHEIDE, JON; SONG, DUG; GOODMAN, ADAM
To: DUO SECURITY, INC.
Reel/Frame 039952/0619 →
Continuity (3)
Continuation 13601409 · Aug 31, 2012
Provisional Application 61530560 · Sep 2, 2011
Related Publication 20160381063A1 · Dec 29, 2016