# US 2017/0286172 A1 · Computing platform security methods and apparatus

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2017/0286172 A1
- Document ID: US20170286172A1
- Status: Published application
- Kind: A1
- Application number: 15/632,235
- Filed: 2017-06-23
- Published: 2017-10-05
- Earliest claimed: 2014-10-25
- Assignees: McAfee, Inc.
- Applicants: McAfee Inc.
- Inventors: Paritosh Saxena; Adrian M.M.T. Dunbar; Michael S. Hughes; John Teddy; David Michael Durham; Balaji Vembu; Prashant Dewan; Debra Cablao; Nicholas D. Triantafillou; Jason M. Surprise
- Web page: https://patentgrep.com/patent/US20170286172A1

## CPC

- G06F 21/552: {involving long-term monitoring or reporting}
- G06F 1/28: Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 12/14: Protection against unauthorised use of memory {or access to memory}
- G06F 12/145: {the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism}
- G06F 12/1491: {in a hierarchical protection system, e.g. privilege levels, memory rings}
- G06F 21/445: {by mutual authentication, e.g. between devices or programs}
- G06F 21/554: {involving event detection and direct action}
- G06F 21/56: Computer malware detection or handling, e.g. anti-virus arrangements
- G06F 21/566: {Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities}
- G06F 21/57: Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F 21/71: to assure secure computing or processing of information
- G06F 21/74: operating in dual or compartmented mode, i.e. at least one secure mode
- G06F 21/755: {with measures against power attack}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 2009/45587: {Isolation or security of virtual machine instances}
- G06F 2209/509: Offload
- G06F 2212/1052: Security improvement
- G06F 2221/034: Test or assess a computer or a system
- G06F 2221/2149: Restricted operating environment
- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- G09G 5/363: {Graphics controllers}
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G09G: ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION (arrangements for transferring data between digital computers and displays G06F3/14; static indicating arrangements comprising an association of a number of separate sources or light control cells G09F9/00; static indicating arrangements comprising integral associations of a number of light sources H01J, H01K, H10H, H05B33/12; scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission, details thereof H04N1/00)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

Computing platform security methods and apparatus are disclosed. An example apparatus includes a security application to configure a security task, the security task to detect a malicious element on a computing platform, the computing platform including a central processing unit and a graphics processing unit; and an offloader to determine whether the central processing unit or the graphics processing unit is to execute the security task; and when the graphics processing unit is to execute the security task, offload the security task to the graphics processing unit for execution.

## Claims

### Claim 1

An apparatus to initiate a security action, the apparatus comprising:
a dispatcher to receive a task to be executed on a graphics processing unit from a consumer of the graphics processing unit;
a notifier to provide status information associated with the task to the consumer of the graphics processing unit, wherein the status information includes an indication of whether the task is preempted; and
a trigger event analyzer to initiate a security action by the consumer based on the indication.

### Claim 2 (depends on 1)

The apparatus as defined in claim 1, wherein the notifier is to provide the status information to the consumer of the graphics processing unit at a privilege level associated with trusted components.

### Claim 3 (depends on 1)

The apparatus as defined in claim 1, further including a scheduler to obtain the status information and to obtain a change in the status information.

### Claim 4 (depends on 1)

The apparatus as defined in claim 1, wherein the status information provided by the notifier includes an identifier of a process that preempted the task.

### Claim 5 (depends on 4)

The apparatus as defined in claim 4, further including a security application to receive the status information and to use the status information to evaluate the process that preempted the task.

### Claim 6 (depends on 1)

The apparatus as defined in claim 1, wherein the consumer is a security application and the task is a malware detection scan associated with the security application.

### Claim 7 (depends on 1)

The apparatus as defined in claim 1, wherein the notifier is to receive, from the consumer of the graphics processing unit, a request for a notification of a particular aspect of the status information.

### Claim 8 (depends on 1)

The apparatus as defined in claim 1, wherein the security action by the consumer includes at least one of a memory scan of a process that preempted the task or a restriction of the process that preempted the task.

### Claim 9

A method to initiate a security action, the method comprising:
receiving, with an instruction executed by a processor, a task to be executed on a graphics processing unit from a consumer of the graphics processing unit;
conveying, by executing an instruction with the processor, status information associated with the task to the consumer of the graphics processing unit, wherein the status information includes an indication of whether the task is preempted; and
initiating, by executing an instruction with the processor, a security action by the consumer based on the indication.

### Claim 10 (depends on 9)

The method as defined in claim 9, wherein conveying the status information to the consumer of the graphics processing unit includes conveying the status information at a privilege level associated with trusted components.

### Claim 11 (depends on 9)

The method as defined in claim 9, further including obtaining the status information and obtaining a change in the status information.

### Claim 12 (depends on 9)

The method as defined in claim 9, wherein the status information includes an identifier of a process that preempted the task.

### Claim 13 (depends on 12)

The method as defined in claim 12, further including using the status information to evaluate the process that preempted the task.

### Claim 14 (depends on 9)

The method as defined in claim 9, wherein the consumer is a security application and the task is a malware detection scan associated with the security application.

### Claim 15 (depends on 9)

The method as defined in claim 9, further including receiving, from the consumer of the graphics processing unit, a request for a notification of a particular aspect of the status information.

### Claim 16 (depends on 9)

The method as defined in claim 9, wherein the security action by the consumer includes at least one of a memory scan of a process that preempted the task, or a restriction of the process that preempted the task.

### Claim 17

A tangible machine readable storage medium comprising instructions to initiate a security action that, when executed, cause a machine to, at least:
obtain a task to be executed on a graphics processing unit from a consumer of the graphics processing unit;
convey status information associated with the task to the consumer of the graphics processing unit, wherein the status information includes an indication of whether the task is preempted; and
initiate a security action by the consumer based on the indication.

### Claim 18 (depends on 17)

The storage medium as defined in claim 17, wherein the instructions, when executed, cause the machine to convey the status information to the consumer of the graphics processing unit by conveying the status information at a privilege level associated with trusted components.

### Claim 19 (depends on 17)

The storage medium as defined in claim 17, wherein the instructions, when executed, cause the machine to obtain the status information and obtain a change in the status information.

### Claim 20 (depends on 17)

The storage medium as defined in claim 17, wherein the status information comprises an identifier of a process that preempted the task.

### Claim 21 (depends on 20)

The storage medium as defined in claim 20, wherein the instructions, when executed, cause the machine to use the status information to evaluate the process that preempted the task.

### Claim 22 (depends on 17)

The storage medium as defined in claim 17, wherein the consumer is a security application and the task is a malware detection scan associated with the security application.

### Claim 23 (depends on 17)

The storage medium as defined in claim 17, wherein the instructions, when executed, cause the machine to obtain, from the consumer of the graphics processing unit, a request for a notification of a particular aspect of the status information.

### Claim 24 (depends on 17)

The storage medium as defined in claim 17, wherein the instructions, when executed, cause the machine to at least one of initiate a memory scan of a process that preempted the task, or restrict the process that preempted the task.
