IP Library Granted Patent US 11,132,973
Granted Patent B2
US 11,132,973 · App. 16/265,015 · Granted Sep 28, 2021

System for capturing images from applications rendering video to a native platform with a graphics rendering library

Inventor: Benjamin Tyler (Holladay, UT)
Assignee: Forcepoint, LLC
G09G5/006G09G5/39G09G2358/00G09G2360/18
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 11,132,973
App. No.
16/265,015
Granted
Sep 28, 2021
Kind
B2
Abstract

A method, system and computer-usable medium are disclosed for capturing an image rendered by a target application. One general aspect includes a computer-implemented method for capturing an image, the method including: intercepting API calls made by a target application to a graphics display driver, where the API calls made to the graphics display driver by the target application are made using a graphics rendering API library; and using the intercepted API calls to construct a copy of a frame buffer of the image, where the copy of the frame buffer is constructed independent of the graphics display driver. Certain embodiments may include corresponding stand-alone and/or network computer systems, apparatus, and computer programs recorded on one or more computer storage devices, each configured to perform one or more of these actions.

Claims (92)

1. A computer-implemented method comprising:

providing an endpoint device with an endpoint agent to establish a protected endpoint, the endpoint agent comprising an image capture module and a risk-adaptive security policy;

acquiring an image using an image acquisition device at the endpoint device;

using a target application executing at the endpoint device to provide API calls to a graphics display driver to render the image acquired by the image acquisition device;

intercepting the API calls made by the target application to the graphics display driver, wherein the API calls are intercepted by the image capture module of the endpoint agent, wherein the API calls made to the graphics display driver by the target application are made using a graphics rendering API library;

using the API calls intercepted by the image capture module to construct a copy of a frame buffer of the image, wherein the copy of the frame buffer is constructed by the image capture module independent of the graphics display driver;

using the copy of the frame buffer of the image to detect an occurrence of a visual hacking incident, wherein the visual hacking incident includes visually collecting confidential information at the endpoint device using the image acquired by the image acquisition device; and

performing a risk-adaptive security operation, the risk-adaptive security operation adaptively responding to mitigate a risk associated with the visual hacking incident based on the risk-adaptive security policy.

2. The computer-implemented method of claim 1 , wherein

the intercepted API calls are obtained using software hooks inserted during runtime of the target application; and,

the software hooks allow the endpoint agent to subscribe to other events occurring at the endpoint device.

3. The computer-implemented method of claim 1 , wherein the intercepted API calls comprise one or more of:

API calls instantiating a frame buffer;

API calls updating a frame buffer; and

API calls swapping a window.

4. The computer-implemented method of claim 1 , wherein

the graphics rendering API library includes one or more of an EGL library, an OpenVG library, or an OpenGL library.

5. The computer-implemented method of claim 1 , wherein the target application comprises one or more of:

a word processing application;

a spreadsheet application;

an image editing application;

a web browser application;

a desktop environment application; and

an image acquisition application.

6. The computer-implemented method of claim 1 , further comprising:

storing the copied frame buffer in memory, wherein the memory is accessible by a security analytics system; and

analyzing the copied frame buffer by the security analytics system to detect potential violations of a security policy.

7. The computer-implemented method of claim 6 , wherein analysis of the copied frame buffer to detect potential violations of the security policy by the security analytics system is initiated in response to one or more of:

access of one or more predetermined images for display by the target application;

acquisition of an image by the image acquisition device at the endpoint device for display by the target application;

access of one or more predetermined files for display by the target application; and

access of one or more predetermined file types for display by the target application.

8. A system comprising:

a processor;

a data bus coupled to the processor; and

a non-transitory, computer-readable storage medium embodying computer program code, the non-transitory, computer-readable storage medium being coupled to the data bus, the computer program code interacting with a plurality of computer operations and comprising instructions executable by the processor and configured for:

providing an endpoint device with an endpoint agent to establish a protected endpoint, the endpoint agent comprising an image capture module and a risk-adaptive security policy;

acquiring an image using an image acquisition device at the endpoint device;

using a target application executing at the endpoint device to provide API calls to a graphics display driver to render the image acquired by the image acquisition device;

intercepting the API calls made by the target application to the graphics display driver, wherein the API calls are intercepted by the image capture module of the endpoint agent, wherein the API calls made to the graphics display driver by the target application are made using a graphics rendering API library;

using the API calls intercepted by the image capture module to construct a copy of a frame buffer of an image, wherein the copy of the frame buffer is constructed by the image capture module independent of the graphics display driver;

using the copy of the frame buffer of the image to detect an occurrence of a visual hacking incident, wherein the visual hacking incident includes visually collecting confidential information at the endpoint device using the image acquired by the image acquisition device; and,

performing a risk-adaptive security operation, the risk-adaptive security operation adaptively responding to mitigate a risk associated with the visual hacking incident based on the risk-adaptive security policy.

9. The system of claim 8 , wherein

the intercepted API calls are obtained using software hooks inserted during runtime of the target application; and,

the software hooks allow the endpoint agent to subscribe to other events occurring at the endpoint device.

10. The system of claim 8 , wherein the intercepted API calls comprise one or more of:

API calls instantiating a frame buffer;

API calls updating a frame buffer; and

API calls swapping a window.

11. The system of claim 8 , wherein

the graphics rendering API library includes one or more of an EGL library, an OpenVG library, or an OpenGL library.

12. The system of claim 8 , wherein the target application comprises one or more of:

a word processing application;

a spreadsheet application;

an image editing application;

a web browser application;

a desktop environment application; and

an image acquisition application.

13. The system of claim 8 , wherein the instructions are further configured for:

storing the copied frame buffer in memory, wherein the memory is accessible by a security analytics system; and

analyzing the copied frame buffer by the security analytics system to detect potential violations of a security policy.

14. The system of claim 13 , wherein analysis of the copied frame buffer to detect potential violations of the security policy by the security analytics system is initiated in response to one or more of:

access of one or more predetermined images for display by the target application;

acquisition of an image by the image acquisition device for display by the target application;

access of one or more predetermined files for display by the target application; and

access of one or more predetermined file types for display by the target application.

15. A non-transitory, computer-readable storage medium embodying computer program code, the computer program code comprising computer executable instructions configured for:

providing an endpoint device with an endpoint agent to establish a protected endpoint, the endpoint agent comprising an image capture module and a risk-adaptive security policy;

acquiring an image using an image acquisition device at the endpoint device;

using a target application executing at the endpoint device to provide API calls to a graphics display driver to render the image acquired by the image acquisition device;

intercepting the API calls made by the target application to the graphics display driver, wherein the API calls are intercepted by the image capture module of the endpoint agent, wherein the API calls made to the graphics display driver by the target application are made using a graphics rendering API library;

using the API calls intercepted by the image capture module to construct a copy of a frame buffer of an image, wherein the copy of the frame buffer is constructed by the image capture module independent of the graphics display driver;

using the copy of the frame buffer of the image to detect an occurrence of a visual hacking incident, wherein the visual hacking incident includes visually collecting confidential information at the endpoint device using the image acquired by the image acquisition device; and,

performing a risk-adaptive security operation, the risk-adaptive security operation adaptively responding to mitigate a risk associated with the visual hacking incident based on the risk-adaptive security policy.

16. The non-transitory, computer-readable storage medium of claim 15 , wherein

the intercepted API calls are obtained using software hooks inserted during runtime of the target application; and,

the software hooks allow the endpoint agent to subscribe to other events occurring at the endpoint device.

17. The non-transitory, computer-readable storage medium of claim 15 , wherein the intercepted API calls comprise one or more of:

API calls instantiating a frame buffer;

API calls updating a frame buffer; and

API calls swapping a window.

18. The non-transitory, computer-readable storage medium of claim 15 , wherein

the graphics rendering API library includes one or more of an EGL library, an OpenVG library, or an OpenGL library.

19. The non-transitory, computer-readable storage medium of claim 15 , wherein the instructions are further configured for:

storing the copied frame buffer in memory, wherein the memory is accessible by a security analytics system; and

analyzing the copied frame buffer by the security analytics system to detect potential violations of a security policy.

20. The non-transitory, computer-readable storage medium of claim 19 , wherein analysis of the copied frame buffer to detect potential violations of the security policy by the security analytics system is initiated in response to one or more of:

access of one or more predetermined images for display by the target application;

acquisition of an image by the image acquisition device for display by the target application;

access of one or more predetermined files for display by the target application; and

access of one or more predetermined file types for display by the target application.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Apr 2, 2025
From: UBS AG, STAMFORD BRANCH
To: FORCEPOINT, LLC; BITGLASS, LLC
Reel/Frame 070706/0263 →
CHANGE OF NAME Recorded Mar 21, 2025
From: FORCEPOINT FEDERAL HOLDINGS LLC
To: EVERFOX HOLDINGS LLC
Reel/Frame 070585/0524 →
PARTIAL PATENT RELEASE AND REASSIGNMENT AT REEL/FRAME 055052/0302 Recorded Oct 3, 2023
From: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: FORCEPOINT FEDERAL HOLDINGS LLC (F/K/A FORCEPOINT LLC)
Reel/Frame 065103/0147 →
SECURITY INTEREST Recorded Sep 29, 2023
From: FORCEPOINT FEDERAL HOLDINGS LLC
To: APOLLO ADMINISTRATIVE AGENCY LLC, AS COLLATERAL AGENT
Reel/Frame 065086/0822 →
CHANGE OF NAME Recorded May 12, 2021
From: FORCEPOINT LLC
To: FORCEPOINT FEDERAL HOLDINGS LLC
Reel/Frame 056216/0309 →
PATENT SECURITY AGREEMENT Recorded Jan 20, 2021
From: REDOWL ANALYTICS, INC.; FORCEPOINT LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 055052/0302 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jan 8, 2021
From: RAYTHEON COMPANY
To: FORCEPOINT LLC
Reel/Frame 055479/0676 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Mar 15, 2019
From: FORCEPOINT LLC
To: RAYTHEON COMPANY
Reel/Frame 048613/0636 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2019
From: TYLER, BENJAMIN
To: FORCEPOINT, LLC
Reel/Frame 048218/0098 →