IP Library Granted Patent US 9,813,445
Granted Patent B2
US 9,813,445 · App. 15/080,262 · Granted Nov 7, 2017

Taint injection and tracking

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,813,445
App. No.
15/080,262
Granted
Nov 7, 2017
Kind
B2
Abstract

An embodiment or embodiments of an electronic device can comprise an input interface and a hardware component coupled to the input interface. The input interface can be operable to receive a plurality of taint indicators corresponding to at least one of a plurality of taints indicative of potential security risk which are injected from at least one of a plurality of resources. The hardware component can be operable to track the plurality of taints.

Claims (93)

1. An electronic device comprising:

at least one input interface operable to receive at least one of read requests or write requests to access data associated with at least one of a plurality of resources;

at least one taint vector including a plurality of vector fields configured for facilitating monitoring of one or more taints associated with the at least one of read requests or write requests to access data associated with at least one of a plurality of resources, wherein the plurality of vector fields include at least one field configured for describing the at least one of the plurality of resources, at least one field configured for specifying permission to access the at least one of the plurality of resources allocated to a requestor of the at least one of read requests or write requests to access data associated with the at least one of a plurality of resources, and at least one field configured for specifying at least one taint associated with one or more accesses of the at least one of the plurality of resources; and

circuitry configured for monitoring the one or more accesses of the at least one of the plurality of resources wherein the monitoring the one or more accesses includes at least detecting the at least one taint and updating the at least one field configured for specifying at least one taint.

2. The electronic device according to claim 1 wherein the at least one input interface operable to receive at least one of read requests or write requests to access data associated with at least one of a plurality of resources comprises:

at least one input interface operable to receive at least one of read requests or write requests from at least one of processors, central processing units (CPUs), graphics hardware, network controllers, memory, memory management, hardware, microarchitecture, sound cards, video cards, network interfaces, instruction set architecture (ISA), library calls, library functions, software objects, compilers, or operating systems.

3. The electronic device according to claim 1 wherein the plurality of resources comprises:

at least one of processors, central processing units (CPUs), graphics hardware, network controllers, memory, memory management, hardware, microarchitecture, sound cards, video cards, network interfaces, instruction set architecture (ISA), library calls, library functions, software objects, compilers, or operating systems.

4. The electronic device according to claim 1 wherein the plurality of resources comprises:

at least one of memory portions, memory blocks, read-only memory, random access memory, non-volatile memory, or volatile memory.

5. The electronic device according to claim 1 wherein the at least one taint vector including a plurality of vector fields configured for facilitating monitoring of one or more taints associated with the at least one of read requests or write requests to access data associated with at least one of a plurality of resources comprises:

at least one taint vector including a plurality of vector fields configured for facilitating monitoring of one or more taints associated with the at least one of read requests or write requests to access data associated with at least one of a plurality of resources, wherein the plurality of vector fields further includes at least one field configured for specifying at least one attribute of the requestor of the at least one of read requests or write requests to access data associated with the at least one of a plurality of resources.

6. The electronic device according to claim 1 wherein the at least one taint vector including a plurality of vector fields configured for facilitating monitoring of one or more taints associated with the at least one of read requests or write requests to access data associated with at least one of a plurality of resources comprises:

at least one taint vector including a plurality of vector fields configured for facilitating monitoring of one or more taints associated with the at least one of read requests or write requests to access data associated with at least one of a plurality of resources, wherein the plurality of vector fields further includes at least one field configured for specifying at least one granularity of the at least one of the plurality of resources.

7. The electronic device according to claim 1 wherein the at least one taint vector including a plurality of vector fields configured for facilitating monitoring of one or more taints associated with the at least one of read requests or write requests to access data associated with at least one of a plurality of resources comprises:

at least one taint vector including a plurality of vector fields configured for facilitating monitoring of one or more taints associated with the at least one of read requests or write requests to access data associated with at least one of a plurality of resources, wherein the plurality of vector fields further includes at least one field configured for specifying at least one granularity of the at least one of the plurality of resources including at least specifying at least one start address and at least one end address.

8. The electronic device according to claim 1 wherein the at least one taint vector including a plurality of vector fields configured for facilitating monitoring of one or more taints associated with the at least one of read requests or write requests to access data associated with at least one of a plurality of resources comprises:

at least one taint vector including a plurality of vector fields configured for facilitating monitoring of one or more taints associated with the at least one of read requests or write requests to access data associated with at least one of a plurality of resources, wherein the plurality of vector fields further includes at least one field configured for specifying at least one granularity of the at least one of the plurality of resources including at least specifying at least one of:

specifying a memory page;

specifying a byte;

specifying a word;

specifying a memory block;

specifying a hardware process identifier (PID);

allocating taints to enable a cross-thread taint;

allocating taints among hardware devices;

specifying a component; or

specifying a software component.

9. The electronic device according to claim 1 wherein the at least one taint vector including a plurality of vector fields configured to facilitate monitoring of one or more taints associated with the at least one of read requests or write requests to access data associated with at least one of a plurality of resources comprises:

at least one taint vector including a plurality of vector fields configured to facilitate monitoring of one or more taints associated with the at least one of read requests or write requests to access data associated with at least one of a plurality of resources, wherein the plurality of vector fields further includes at least one field configured to specify at least one level of criticality associated with at least one taint associated with one or more accesses of the at least one of the plurality of resources.

10. The electronic device according to claim 9 further comprising:

response logic configured for responding to the detection of the at least one taint with at least one response based at least partially on the at least one level of criticality associated with at least one taint associated with one or more accesses of the at least one of the plurality of resources.

11. The electronic device according to claim 9 further comprising:

response logic configured for responding to the detection of the at least one taint with at least one response based at least partially on a predetermined critical level of criticality associated with at least one taint associated with one or more accesses of the at least one of the plurality of resources wherein the response includes at least one of:

ignoring the at least one security risk event;

logging the at least one security risk event;

displaying a notification;

displaying a warning message; or

generating an alarm.

12. The electronic device according to claim 9 further comprising:

response logic configured for responding to the detection of the at least one taint with at least one response based at least partially on a predetermined critical level of criticality associated with at least one taint associated with one or more accesses of the at least one of the plurality of resources wherein the response includes at least one of:

preventing a memory and/or register write;

modifying operating frequency;

modifying operating voltage;

modifying an operating parameter;

performing a system call;

calling a trap and/or exception;

terminating operation of selected resources; or

activating a system shutdown.

13. The electronic device according to claim 1 further comprising:

response logic configured for responding to the detection of the at least one taint with at least one response including at least one of:

ignoring the at least one security risk event;

logging the at least one security risk event;

displaying a notification;

displaying a warning message;

generating an alarm;

preventing a memory and/or register write;

modifying operating frequency;

modifying operating voltage;

modifying an operating parameter;

performing a system call;

calling a trap and/or exception;

terminating operation of selected resources; or

activating a system shutdown.

14. The electronic device according to claim 1 wherein the one or more taints associated with the at least one of read requests or write requests to access data associated with at least one of a plurality of resources comprise:

at least one of:

a null pointer reference;

an attempt to access a secured part of a processor;

an attempt to access a secured resource;

a buffer overrun;

an event originating in a region that raises suspicion;

a fault;

an integer overflow;

a plurality of taint indicators that exceeds at least one predetermined threshold;

a taint indicated by power law analysis;

a taint indicated by a race function; or

an attempt to access a key.

15. The electronic device according to claim 1 wherein the one or more taints associated with the at least one of read requests or write requests to access data associated with at least one of a plurality of resources comprise:

at least one of a distinct affiliate, a system characteristic, a source, an event, an activity, metadata, or a condition.

16. The electronic device according to claim 1 wherein the circuitry configured for monitoring the one or more accesses of the at least one of the plurality of resources including circuitry configured for detecting the at least one taint and circuitry configured for updating the at least one field configured for specifying at least one taint comprises:

circuitry configured for monitoring the plurality of taints; and

circuitry configured for creating a trust profile based on the monitoring.

17. The electronic device according to claim 1 wherein the circuitry configured for monitoring the one or more accesses of the at least one of the plurality of resources including circuitry configured for detecting the at least one taint and circuitry configured for updating the at least one field configured for specifying at least one taint comprises:

circuitry configured for detecting at least one violation of the specified permission to access the at least one of the plurality of resources allocated to a requestor of the at least one of read requests or write requests to access data associated with the at least one of a plurality of resources.

18. The electronic device according to claim 1 wherein the circuitry configured for monitoring the one or more accesses of the at least one of the plurality of resources including circuitry configured for detecting the at least one taint and circuitry configured for updating the at least one field configured for specifying at least one taint comprises:

circuitry configured for detecting at least one violation of at least one of prohibitions of memory locations to which data is written, prohibitions of when program code is allowed to execute, prohibitions of how long writing is allowed, prohibitions of specified purposes to which data written, or prohibitions of a number of times data is written.

19. A method for operating and electronic device comprising:

receiving at least one of read requests or write requests to access data associated with at least one of a plurality of resources;

allocating at least one taint vector including a plurality of vector fields configured for facilitating monitoring of one or more taints associated with the at least one of read requests or write requests to access data associated with at least one of a plurality of resources, wherein the plurality of vector fields include at least one field configured for describing the at least one of the plurality of resources, at least one field configured for specifying permission to access the at least one of the plurality of resources allocated to a requestor of the at least one of read requests or write requests to access data associated with the at least one of a plurality of resources, and at least one field configured for specifying at least one taint associated with one or more accesses of the at least one of the plurality of resources; and

monitoring the one or more accesses of the at least one of the plurality of resources wherein the monitoring one or more accesses includes at least detecting the at least one taint and updating the at least one field configured for specifying at least one taint.

20. An electronic device comprising:

at least one input interface operable to receive at least one of read requests or write requests to access data associated with at least one of a plurality of resources;

at least one taint vector including a plurality of vector fields configured for facilitating monitoring of one or more taints associated with the at least one of read requests or write requests to access data associated with at least one of a plurality of resources, wherein the plurality of vector fields include at least one field configured for describing the at least one of the plurality of resources, at least one field configured for specifying at least one granularity of the at least one of the plurality of resources, and at least one field configured for specifying at least one taint associated with one or more accesses of the at least one of the plurality of resources; and

circuitry configured for monitoring the one or more accesses of the at least one of the plurality of resources wherein the monitoring the one or more accesses includes at least detecting the at least one taint and updating the at least one field configured for specifying at least one taint.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 6, 2024
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 068328/0674 →
RELEASE OF LIEN ON PATENTS Recorded Aug 5, 2024
From: BARINGS FINANCE LLC
To: RPX CORPORATION
Reel/Frame 068328/0278 →
RELEASE OF SECURITY INTEREST Recorded Oct 26, 2020
From: JEFFERIES FINANCE LLC
To: RPX CORPORATION
Reel/Frame 054486/0422 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054244/0566 →
PATENT SECURITY AGREEMENT Recorded Oct 23, 2020
From: RPX CLEARINGHOUSE LLC; RPX CORPORATION
To: BARINGS FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 054198/0029 →
SECURITY INTEREST Recorded Jun 29, 2018
From: RPX CORPORATION
To: JEFFERIES FINANCE LLC
Reel/Frame 046486/0433 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: THE INVENTION SCIENCE FUND II, LLC
To: RPX CORPORATION
Reel/Frame 044919/0318 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2017
From: ELWHA LLC
To: THE INVENTION SCIENCE FUND II, LLC
Reel/Frame 044411/0956 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2017
From: GERRITY, DANIEL A.; TEGREENE, CLARENCE T.
To: ELWHA LLC
Reel/Frame 043668/0882 →