IP Library Granted Patent US 10,659,479
Granted Patent B2
US 10,659,479 · App. 14/672,059 · Granted May 19, 2020

Determination of sensor usage

Inventors: Alexander J. Hinchliffe (San Jose, CA); Pablo R. Passera (San Jose, CA); Ranjith Kumar Jidigam (San Jose, CA); Alger Wan Kwong Yeung (Pleasanton, CA); Simon Hunt (Naples, FL)
Assignee: McAfee, LLC
H04L63/1425G06F16/24568G06F21/554H04L63/1416H04L67/12H04W12/1208H04L63/168
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,659,479
App. No.
14/672,059
Granted
May 19, 2020
Kind
B2
Abstract

Particular embodiments may include a system, apparatus, method, and/or machine readable storage medium for determining sensor usage by: detecting, at a level below an operating system executing on a computing device, one or more requests from an application to access one or more sensors associated with the computing device; determining, based on the one or more requests from the application to access the one or more sensors, that the application requested unexpected access to the one or more sensors; and performing a remedial action in response to the unexpected access requested by the application.

Claims (47)

1. At least one non-transitory machine readable storage medium comprising one or more instructions that, when executed by at least one processor, cause the at least one processor to perform a method comprising:

hooking, at a level below an operating system that executes on a computing device, one or more requests to produce hooked one or more requests, wherein the one or more requests are from an application to access one or more sensors included in the computing device, and the one or more sensors include an accelerometer, a gravity sensor, a gyroscope, a rotational vector sensor, a barometer, a photometer, a thermometer, an orientation sensor, a magnetometer, a microphone, or a global positioning sensor;

identifying, based on the hooked one or more requests, the application and the one or more sensors;

hooking a kernel to monitor a use by the application of the one or more sensors from an operating system level application program interface to log data related to the hooked one or more requests to produce logged data in a storage structure;

comparing the logged data in the storage structure to the hooked one or more requests to identify when there is a discrepancy; and

performing a remedial action when there is the discrepancy.

2. The at least one machine readable storage medium of claim 1 , wherein the remedial action is a notification of a user of the access requested by the application.

3. The at least one machine readable storage medium of claim 1 , the method further comprising:

receiving a reputation rating for the application from a network element, wherein the reputation rating is based on logged sensor request information for the application; and

notifying a user of the reputation rating.

4. The at least one machine readable storage medium of claim 1 , wherein the remedial action is a blocking of access from the application to the one or more sensors.

5. The at least one machine readable storage medium of claim 1 , the method further comprising:

communicating one or more requests by the application to the operating system level application program interface to access the one or more sensors.

6. The at least one machine readable storage medium of claim 1 , wherein the remedial action is sending an alert.

7. An apparatus for determining sensor usage, comprising:

a hardware processor configured to

hook, at a level below an operating system that executes on the apparatus, one or more requests to produce hooked one or more requests, wherein the one or more requests are from an application to access one or more sensors included in the apparatus, and the one or more sensors include an accelerometer, a gravity sensor, a gyroscope, a rotational vector sensor, a barometer, a photometer, a thermometer, an orientation sensor, a magnetometer, a microphone, or a global positioning sensor;

identify, based on the hooked one or more requests, the application and the one or more sensors;

hook a kernel to monitor a use by the application of the one or more sensors from an operating system level application program interface to log data related to the hooked one or more requests to produce logged data in a storage structure;

compare the logged data in the storage structure to the hooked one or more requests to identify when there is a discrepancy; and

perform a remedial action when there is the discrepancy.

8. The apparatus of claim 7 , wherein the processor is further configured to receive a reputation rating for the application from a network element, wherein the reputation rating is based on logged sensor request information for the application, and to notify a user of the reputation rating.

9. The apparatus of claim 7 , wherein the remedial action is a notification of a user of the access requested by the application.

10. The apparatus of claim 7 , wherein the one or more sensors at least derive data from a hardware-based sensor.

11. The apparatus of claim 7 , wherein the one or more sensors measure an acceleration, a geomagnetic field strength, or an angular change.

12. The apparatus of claim 7 , wherein the request to access the one or more sensors is communicated to a kernel driver.

13. A method, comprising:

hooking, at a level below an operating system that executes on a computing device, one or more requests to produce hooked one or more requests, wherein the one or more requests are from an application to access one or more sensors included in the computing device, and the one or more sensors include an accelerometer, a gravity sensor, a gyroscope, a rotational vector sensor, a barometer, a photometer, a thermometer, an orientation sensor, a magnetometer, a microphone, or a global positioning sensor;

identifying, based on the hooked one or more requests, the application and the one or more sensors;

hooking a kernel to monitor a use by the application of the one or more sensors from an operating system level application program interface to log data related to the hooked one or more requests to produce logged data in a storage structure;

comparing the logged data in the storage structure to the hooked one or more requests to identify when there is a discrepancy; and

performing a remedial action when there is the discrepancy.

14. The method of claim 13 , further comprising

receiving a reputation rating for the application from a network element, wherein the reputation rating is based on logged sensor request information for the application; and

notifying a user of the reputation rating.

15. The method of claim 13 , wherein the remedial action is a notification of a user of the access requested by the application.

16. A system for determining sensor usage, comprising:

a processor;

a memory; and

logic stored in the memory, wherein the logic, when executed by the processor, is configured to

hook, at a level below an operating system that executes on the system, one or more requests to produce hooked one or more requests, wherein the one or more requests are from an application to access one or more sensors included in the system, wherein the one or more sensors include an accelerometer, a gravity sensor, a gyroscope, a rotational vector sensor, a barometer, a photometer, a thermometer, an orientation sensor, a magnetometer, a microphone, or a global positioning sensor;

identify, based on the hooked one or more requests, the application and the one or more sensors;

hook a kernel to monitor a use by the application of the one or more sensors from an operating system level application program interface to log data related to the hooked one or more requests to produce logged data in a storage structure;

compare the logged data in the storage structure to the hooked one or more requests to identify when there is a discrepancy; and

perform a remedial action when there is the discrepancy.

17. The system of claim 16 , wherein the remedial action is a notification of a user of the access requested by the application.

18. The system of claim 16 , wherein the one or more sensors at least derive data from a hardware-based sensor.

Assignments (10)
CORRECTIVE ASSIGNMENT TO CORRECT THE THE PATENT TITLES AND REMOVE DUPLICATES IN THE SCHEDULE PREVIOUSLY RECORDED AT REEL: 059354 FRAME: 0335. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 23, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 060792/0307 →
SECURITY INTEREST Recorded Mar 3, 2022
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 059354/0335 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045056/0676 Recorded Mar 2, 2022
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 059354/0213 →
RELEASE OF INTELLECTUAL PROPERTY COLLATERAL - REEL/FRAME 045055/0786 Recorded Oct 26, 2020
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MCAFEE, LLC
Reel/Frame 054238/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045056 FRAME 0676. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 054206/0593 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENT 6336186 PREVIOUSLY RECORDED ON REEL 045055 FRAME 786. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Oct 22, 2020
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 055854/0047 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 045056/0676 →
SECURITY INTEREST Recorded Jan 12, 2018
From: MCAFEE, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 045055/0786 →
CHANGE OF NAME AND ENTITY CONVERSION Recorded Aug 24, 2017
From: MCAFEE, INC.
To: MCAFEE, LLC
Reel/Frame 043665/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2015
From: HINCHLIFFE, ALEXANDER J.; JIDIGAM, RANJITH KUMAR; YEUNG, ALGER WAN KWONG; PASSERA, PABLO R.; HUNT, SIMON
To: MCAFEE, INC.
Reel/Frame 035486/0593 →