IP Library Granted Patent US 12,292,965
Granted Patent B2
US 12,292,965 · App. 17/891,399 · Granted May 6, 2025

Operation restriction based on security policy

Inventors: Aleksandr Osipov (Tarrytown, NY); Jacob Kazakevich (Manalapan, NJ); David Matalon (Great Neck, NY); Alexander Chermyanin (Antalya, TR); Aleksandr Sedunov (Antalya, TR)
Assignee: Venn Technology Corporation
G06F21/53G06F9/547G06F21/16G06F21/316G06F21/577H04L63/10H04L63/102H04L63/105H04L63/20H04L63/205G06F21/1063G06F2221/033G06F2221/2149
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 12,292,965
App. No.
17/891,399
Granted
May 6, 2025
Kind
B2
Abstract

A computer stores, within a single user account, multiple supervised computing resources and multiple additional computing resources. The multiple supervised computing resources are associated with a security policy. The computer executes a first instance of a specified application that lacks read access and lacks write access to any and all of the multiple supervised computing resources. The computer executes, simultaneously with the first instance, a second instance of the specified application that accesses at least a portion of the multiple supervised computing resources. The computer applies rules from the security policy to the second instance of the specified application while foregoing applying the rules from the security policy to the first instance of the specified application.

Claims (79)

1. A method comprising:

storing, at a computing machine, multiple supervised computing resources and multiple unsupervised computing resources, wherein the multiple supervised computing resources are associated with a security policy;

receiving, at the computing machine, a signal representing a request for a specified operation;

determining, based on an active computing resource and other computing resources open at the computing machine when the signal is received, whether the specified operation is associated with a supervised computing resource from among the multiple supervised computing resources;

providing, in response to determining that the specified operation is associated with the supervised computing resource, the request for the specified operation to a security policy enforcement engine, wherein the security policy enforcement engine intercepts the request;

adjusting, using the security policy enforcement engine and based on security rules in the security policy, the request for the specified operation or a state of one or more of the multiple supervised computing resources prior to providing the request to an operating system resource or to the supervised computing resource; and

providing the request to the operating system resource or to the supervised computing resource, wherein the multiple unsupervised computing resources access first common app platform application programming interfaces available to applications of the computing machine that use at least one of registry, remote procedure call, global objects, component object model, or universal application programming interfaces, wherein the multiple supervised computing resources access second common app platform application programming interfaces of the multiple supervised computing resources that is different from the first common app platform application programming interfaces.

2. The method of claim 1 , wherein:

the supervised computing resources comprise organizational computing resources,

the unsupervised computing resources comprise personal computing resources,

the multiple supervised computing resources and the multiple unsupervised computing resources comprise files, cloud file storage access, applications or websites, and

security rules from the security policy are applied to the multiple supervised computing resources and are not applied to the multiple unsupervised computing resources.

3. The method of claim 1 , further comprising:

foregoing adjusting the request using the security policy enforcement engine in response to determining that the specified operation is not associated with the supervised computing resource.

4. The method of claim 1 , further comprising:

determining that the specified operation is associated with the supervised computing resource and an unsupervised computing resource; and

providing, in response to determining that the specified operation is associated with the supervised computing resource and the unsupervised computing resource, the request to the device driver, the supervised computing resource, and the unsupervised computing resource after adjusting, by the security policy enforcement engine, the request for the specified operation or the state of the one or more of the multiple supervised computing resources.

5. The method of claim 1 , wherein the operating system resource comprises a controller associated with an input device or an output device coupled to the computing machine.

6. The method of claim 1 , wherein the security rules comprise one or more rules blocking a set of operations from the specified supervised computing resource to the specified additional computing resource, wherein the set of operations comprises at least one of: a drag and drop operation, a copy and paste operation, a cut and paste operation, a key log operation, a file download operation, a file upload operation, a file attachment operation, a printing operation, an opening a specific website operation, opening a category of website operation, an application launching operation or a screenshot operation.

7. The method of claim 1 , wherein:

the specified operation comprises a copy operation,

the active computing resource is the supervised computing resource,

the security policy enforcement engine, based on the security rules in the security policy, causes data copied by the copy operation to be intercepted, and

the intercepted data is accessible via the multiple supervised computing resources but not accessible via the multiple unsupervised computing resources.

8. The method of claim 7 , further comprising:

granting, based on the security rules in the security policy and in response to a paste operation request subsequent to the copy operation, access to the intercepted data to respond to the paste operation request if the paste operation request is associated with one of the multiple supervised computing resources; and

denying access to the intercepted data to respond to the paste operation request if the paste operation request is not associated with any one of the multiple supervised computing resources.

9. The method of claim 1 , wherein:

the specified operation comprises a keyboard input,

the active computing resource is the supervised computing resource, and

the security policy enforcement engine, based on the security rules in the security policy, blocks access, by the unsupervised computing resources, to the keyboard input provided to the supervised computing resource.

10. The method of claim 1 , wherein:

the specified operation comprises a drag-and-drop operation,

the active computing resource, associated with initiation of the drag-and-drop operation, is the supervised computing resource, and

the security policy enforcement engine, based on the security rules in the security policy, causes data copied by the drag-and-drop operation to be accessible via the multiple supervised computing resources but not accessible via the multiple unsupervised computing resources.

11. The method of claim 10 , wherein the drag-and-drop operation terminates at a destination computing resource, the method further comprising:

granting access to respond to the drag-and-drop operation request if the destination computing resource is one of the multiple supervised computing resources; and

denying access to respond to the drag-and-drop operation request if the destination computing resource is not one of the multiple supervised computing resources.

12. The method of claim 1 , wherein:

the specified operation comprises a screen capture operation,

the security policy enforcement engine, based on the security rules in the security policy, blocks or watermarks screen capture of screen regions associated with supervised computing resources while allowing screen capture of screen regions not associated with the supervised computing resources, and

watermarking comprises overlaying the screen regions associated with the computing resources with a representation of the security policy.

13. The method of claim 12 , wherein the screen capture operation comprises a screenshot operation or a screensharing operation.

14. The method of claim 12 , further comprising:

determining whether a given supervised computing resource, for which screen capture is to be blocked, leverages graphics processing unit (GPU) hardware acceleration;

if the given supervised computing resource leverages GPU hardware acceleration:

causing, by the security policy enforcement engine, the GPU to occlude or watermark a region associated with the given supervised computing resource on a display unit coupled to the computing machine during the screen capture operation; and

if the given supervised computing resource does not leverage GPU hardware acceleration:

occluding or watermarking a representation of the given supervised computing resource within an output of the screen capture operation; and

forgoing occluding and forgoing watermarking the region associated with the given supervised computing resource on the display unit coupled to the computing machine.

15. The method of claim 1 , wherein the first common app platform application programming interfaces comprise a universal windows platform.

16. The method of claim 1 , wherein the first common app platform application programming interfaces comprise at least one of shell infrastructure host, state repository service, background task infrastructure, user manager service, azure active directory broker, azure active directory credentials manager, host activity manager, application activation manager, or view manager.

17. A non-transitory machine-readable medium storing instructions that, when executed by processing circuitry, cause the processing circuitry to perform operations comprising:

storing, at a computing machine, multiple supervised computing resources and multiple unsupervised computing resources, wherein the multiple supervised computing resources are associated with a security policy;

receiving, at the computing machine, a signal representing a request for a specified operation;

determining, based on an active computing resource and other computing resources open at the computing machine when the signal is received, whether the specified operation is associated with a supervised computing resource from among the multiple supervised computing resources;

providing, in response to determining that the specified operation is associated with the supervised computing resource, the request for the specified operation to a security policy enforcement engine, wherein the security policy enforcement engine intercepts the request;

adjusting, using the security policy enforcement engine and based on security rules in the security policy, the request for the specified operation or a state of one or more of the multiple supervised computing resources prior to providing the request to an operating system resource or to the supervised computing resource; and

providing the request to the operating system resource or to the supervised computing resource, wherein the multiple unsupervised computing resources access first common app platform application programming interfaces available to applications of the computing machine that use at least one of registry, remote procedure call, global objects, component object model, or universal application programming interfaces, wherein the multiple supervised computing resources access second common app platform application programming interfaces of the multiple supervised computing resources that is different from the first common app platform application programming interfaces.

18. The machine-readable medium of claim 17 , wherein:

the supervised computing resources comprise organizational computing resources,

the unsupervised computing resources comprise personal computing resources,

the multiple supervised computing resources and the multiple unsupervised computing resources comprise files, cloud file storage access, applications or websites, and

security rules from the security policy are applied to the multiple supervised computing resources and are not applied to the multiple unsupervised computing resources.

19. The machine-readable medium of claim 17 , the operations further comprising:

foregoing adjusting the request using the security policy enforcement engine in response to determining that the specified operation is not associated with the supervised computing resource.

20. The machine-readable medium of claim 17 , the operations further comprising:

determining that the specified operation is associated with the supervised computing resource and an unsupervised computing resource; and

providing, in response to determining that the specified operation is associated with the supervised computing resource and the unsupervised computing resource, the request to the device driver, the supervised computing resource, and the unsupervised computing resource after adjusting, by the security policy enforcement engine, the request for the specified operation or the state of the one or more of the multiple supervised computing resources.

21. The machine-readable medium of claim 17 , wherein the operating system resource comprises a controller associated with an input device or an output device coupled to the computing machine.

22. A system comprising:

processing circuitry; and

a memory storing instructions that, when executed by processing circuitry, cause the processing circuitry to perform operations comprising:

storing, at a computing machine, multiple supervised computing resources and multiple unsupervised computing resources, wherein the multiple supervised computing resources are associated with a security policy;

receiving, at the computing machine, a signal representing a request for a specified operation;

determining, based on an active computing resource and other computing resources open at the computing machine when the signal is received, whether the specified operation is associated with a supervised computing resource from among the multiple supervised computing resources;

providing, in response to determining that the specified operation is associated with the supervised computing resource, the request for the specified operation to a security policy enforcement engine, wherein the security policy enforcement engine intercepts the request;

adjusting, using the security policy enforcement engine and based on security rules in the security policy, the request for the specified operation or a state of one or more of the multiple supervised computing resources prior to providing the request to an operating system resource or to the supervised computing resource; and

providing the request to the operating system resource or to the supervised computing resource, wherein the multiple unsupervised computing resources access first common app platform application programming interfaces available to applications of the computing machine that use at least one of registry, remote procedure call, global objects, component object model, or universal application programming interfaces, wherein the multiple supervised computing resources access second common app platform application programming interfaces of the multiple supervised computing resources that is different from the first common app platform application programming interfaces.

Assignments (3)
RELEASE OF SECURITY INTEREST Recorded Nov 4, 2024
From: COMERICA BANK
To: VENN TECHNOLOGY CORPORATION
Reel/Frame 069121/0211 →
SECURITY INTEREST Recorded Aug 31, 2023
From: VENN TECHNOLOGY CORPORATION
To: COMERICA BANK
Reel/Frame 064763/0426 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2022
From: OSIPOV, ALEKSANDR; KAZAKEVICH, JACOB; MATALON, DAVID; CHERMYANIN, ALEXANDER; SEDUNOV, ALEKSANDR
To: VENN TECHNOLOGY CORPORATION
Reel/Frame 061236/0195 →
Continuity (2)
Provisional Application 63260408 · Aug 19, 2021
Related Publication 20230057378A1 · Feb 23, 2023
References Cited (102)
US 5870543A · Ronning · 1999 [cited by applicant]
US 5874958A · Ludolph · 1999 [cited by applicant]
US 6658571B1 · O'Brien et al. · 2003 [cited by applicant]
US 7162719B2 · Schmidt · 2007 [cited by examiner]
US 7779247B2 · Roegner · 2010 [cited by applicant]
US 7926086B1 · Violleau et al. · 2011 [cited by applicant]
US 8255280B1 · Kay et al. · 2012 [cited by applicant]
US 8490163B1 · Harsell · 2013 [cited by examiner]
US 9021559B1 · Vetter et al. · 2015 [cited by applicant]
US 9307451B1 · Kodeswaran et al. · 2016 [cited by applicant]
US 9461978B2 · Mishra et al. · 2016 [cited by applicant]
US 9646152B2 · Lam et al. · 2017 [cited by applicant]
US 9785341B2 · Stallings et al. · 2017 [cited by applicant]
US 10152197B1 · Xue · 2018 [cited by applicant]
US 10254942B2 · Vranjes et al. · 2019 [cited by applicant]
US 10601876B1 · Levy · 2020 [cited by examiner]
US 10630716B1 · Ghosh et al. · 2020 [cited by applicant]
US 10657246B2 · Biswas et al. · 2020 [cited by applicant]
US 11086984B2 · Shannon · 2021 [cited by applicant]
US 11687644B2 · Osipov · 2023 [cited by examiner]
US 11704431B2 · Kraus et al. · 2023 [cited by applicant]
US 11750475B1 · Gonzalez et al. · 2023 [cited by applicant]
US 11765617B2 · Guo · 2023 [cited by examiner]
US 11902330B1 · Dods · 2024 [cited by examiner]
US 20020178119A1 · Griffin et al. · 2002 [cited by applicant]
US 20040162781A1 · Searl et al. · 2004 [cited by applicant]
US 20050182750A1 · Krishna et al. · 2005 [cited by applicant]
US 20060041405A1 · Chen et al. · 2006 [cited by applicant]
US 20060236363A1 · Heard et al. · 2006 [cited by applicant]
US 20070033273A1 · White et al. · 2007 [cited by applicant]
US 20070094673A1 · Hunt et al. · 2007 [cited by applicant]
US 20070186274A1 · Thrysoe et al. · 2007 [cited by applicant]
US 20070239987A1 · Hoole et al. · 2007 [cited by applicant]
US 20080134071A1 · Keohane et al. · 2008 [cited by applicant]
US 20090177979A1 · Garbow et al. · 2009 [cited by applicant]
US 20090187648A1 · Sunkammurali et al. · 2009 [cited by applicant]
US 20090328215A1 · Arzi et al. · 2009 [cited by applicant]
US 20100319053A1 · Gharabally · 2010 [cited by applicant]
US 20110113467A1 · Agarwal et al. · 2011 [cited by applicant]
US 20120030729A1 · Schwartz et al. · 2012 [cited by applicant]
US 20120210333A1 · Potter et al. · 2012 [cited by applicant]
US 20120233314A1 · Jakobsson · 2012 [cited by applicant]
US 20130031549A1 · Osmond · 2013 [cited by applicant]
US 20130160141A1 · Tseng et al. · 2013 [cited by applicant]
US 20130232238A1 · Cohn et al. · 2013 [cited by applicant]
US 20130291055A1 · Muppidi et al. · 2013 [cited by applicant]
US 20130332996A1 · Fiala et al. · 2013 [cited by applicant]
US 20130339518A1 · Schimpfky et al. · 2013 [cited by applicant]
US 20140007184A1 · Porras · 2014 [cited by applicant]
US 20140095894A1 · Barton et al. · 2014 [cited by applicant]
US 20140380406A1 · Saidi et al. · 2014 [cited by applicant]
US 20150134735A1 · Momchilov et al. · 2015 [cited by applicant]
US 20160070626A1 · Raghavendra · 2016 [cited by applicant]
US 20160099972A1 · Qureshi et al. · 2016 [cited by applicant]
US 20160255139A1 · Rathod · 2016 [cited by applicant]
US 20160315967A1 · Trevathan et al. · 2016 [cited by applicant]
US 20170041344A1 · Nandakumar et al. · 2017 [cited by applicant]
US 20170250919A1 · Kessel et al. · 2017 [cited by applicant]
US 20180191766A1 · Holeman et al. · 2018 [cited by applicant]
US 20190199808A1 · Gamache et al. · 2019 [cited by applicant]
US 20200036739A1 · Novikov et al. · 2020 [cited by applicant]
US 20200059492A1 · Janakiraman · 2020 [cited by examiner]
US 20200192867A1 · McBeath · 2020 [cited by applicant]
US 20200204576A1 · Davis et al. · 2020 [cited by applicant]
US 20200233951A1 · Biswas et al. · 2020 [cited by applicant]
US 20200320454A1 · Almashor et al. · 2020 [cited by applicant]
US 20200356677A1 · Alexander et al. · 2020 [cited by applicant]
US 20210051155A1 · Sloane et al. · 2021 [cited by applicant]
US 20220179983A1 · Kassa · 2022 [cited by examiner]
US 20220215094A1 · Gupta · 2022 [cited by applicant]
US 20220286460A1 · Donovan · 2022 [cited by examiner]
US 20220336078A1 · Wise et al. · 2022 [cited by applicant]
US 20220350916A1 · Sun · 2022 [cited by examiner]
US 20220365861A1 · DeFilippo et al. · 2022 [cited by applicant]
US 20230054350A1 · Osipov et al. · 2023 [cited by applicant]
US 20230056056A1 · Osipov et al. · 2023 [cited by applicant]
US 20230308474A1 · Thompson · 2023 [cited by applicant]
US 20230362651A1 · Lie · 2023 [cited by applicant]
US 20240007506A1 · Cage et al. · 2024 [cited by applicant]
US 20240184901A1 · Osipov et al. · 2024 [cited by applicant]
US 20240187414A1 · Osipov et al. · 2024 [cited by applicant]
CN 101513008B · 2012 [cited by applicant]
CN 103299658A · 2013 [cited by applicant]
CN 102365554B · 2015 [cited by applicant]
CN 106790231A · 2017 [cited by applicant]
CN 110727942A · 2020 [cited by applicant]
EP 2685750A1 · 2014 [cited by applicant]
KR 1020170035294A · 2017 [cited by applicant]
WO 2014113882A1 · 2014 [cited by applicant]
WO 2017147525A1 · 2017 [cited by applicant]
International Search Report and Written Opinion for PCT Patent Application No. PCT/US2022/040928 dated Nov. 29, 2022, 7 pages. [cited by applicant]
Non-Final Office Action dated Nov. 2, 2022 for U.S. Appl. No. 17/890,798. [cited by applicant]
Towards Resource-aware Business Process development in the Cloud, Hachicha et al., Apr. 2015 (Year: 2015). [cited by applicant]
Notice of Allowance dated Feb. 7, 2023 for U.S. Appl. No. 17/890,798. [cited by applicant]
Non-Final Office Action dated Sep. 11, 2024 for U.S. Appl. No. 17/891,392. [cited by applicant]
Non-Final Office Action dated Nov. 18, 2024 for No. U.S. Appl. No. 17/890,879, 38 pp. [cited by applicant]
Non-Final Office Action dated Nov. 14, 2024 for U.S. Appl. No. 17/890,853, 52 pp. [cited by applicant]
Non-Final Office Action dated Nov. 7, 2024 for U.S. Appl. No. 18/438,775, 33 pp. [cited by applicant]
Final Office Action dated Jan. 24, 2025 for U.S. Appl. No. 17/891,370, 56 pp. [cited by applicant]
Notice of Allowance dated Jan. 29, 2025 for U.S. Appl. No. 17/891,392. [cited by applicant]
Final Office Action dated Feb. 12, 2025 for U.S. Appl. No. 17/891,357, 54 pp. [cited by applicant]
Notice of Allowance dated Feb. 26, 2025 for U.S. Appl. No. 17/890,853. [cited by applicant]