IP Library Granted Patent US 12,099,610
Granted Patent B2
US 12,099,610 · App. 17/346,554 · Granted Sep 24, 2024

Dynamic application deployment in trusted code environments

Inventors: Alexey Polyakov (Sammish, WA); Ondrej Stastny (Kirkland, WA); David Field (Seattle, WA); Tomas Vetrovsky (Mercer Island, WA); Ahmad Bilal (Renton, WA)
Assignee: Omnissa, LLC
G06F21/572G06F21/121G06F21/16G06F21/51G06F21/54G06F21/56G06F21/562G06F21/565
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,099,610
App. No.
17/346,554
Granted
Sep 24, 2024
Kind
B2
Abstract

Disclosed are various examples for dynamic application deployment in trusted code environments. In some embodiments, an application is identified for installation on a client device. The client device includes a security process that limits the client device to execute trusted code based on a trusted code policy. Characteristics of a file are identified from an installation package for a client application. A management agent is instructed to update the trusted code policy to whitelist the file by providing the characteristics of the executable file to the security process. A command to install the application is transmitted to the management agent, where the management agent is a trusted installer for the client device.

Claims (47)

1. A system, comprising:

at least one computing device; and

a data store comprising executable instructions, wherein the instructions, when executed by at least one processor, cause the at least one computing device to at least:

generate a device management console that identifies an application for installation on a client device, wherein the client device comprises a security process that limits the client device to execute trusted code based on a trusted code policy;

unpack an installation package for the application to identify characteristics of a file within the installation package, the installation package comprising a nested package having the file, the nested package is unpacked to identify the characteristics of the file sent to the security process, which comprise at least one of: a certificate, a file name, a file version, and a file hash;

transmit, to a management agent executed in the client device, a command to update the trusted code policy, the command to update the trusted code policy comprising instructions to whitelist the file by causing a comparison of the file hash of the installation package with an expected file hash of the installation package;

update a trusted code policy to permit execution of the installation package in response to the file hash of the installation package matching the expected file hash; and

transmit, to the management agent, a command to install the application, wherein the management agent is a trusted installer for the client device.

2. The system of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

identify, through the device management console, user-defined specifications comprising: an indication to enforce the trusted code policy on the client device, and an indication to permit a management agent to be a trusted installer for the client device.

3. The system of claim 2 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

transmit, to a provider computing device associated with a provider of the client device, a command to enforce the trusted code policy on the client device, and a command to permit the management agent to be the trusted installer for the client device, wherein the provider computing device configures the client device to: enforce trusted code, and permit the management agent as the trusted installer.

4. The system of claim 1 , wherein the instructions, when executed by the at least one processor, cause the at least one computing device to at least:

identify, through the device management console, a selection of a set of client devices comprising the client device; and

wherein the device management console identifies the application for installation on the set of client devices, the command to update the trusted code policy is transmitted to the set of client devices, and the command to install the application is transmitted to the set of client devices.

5. The system of claim 1 , wherein the installation package comprises a nested package that is unpacked to identify the characteristics of the file, the file being within the nested package.

6. The system of claim 1 , wherein the command to install the application comprises instructions to install the application within a container of a container application.

7. A method performed by instructions executed in a computing device, the method comprising:

generating a device management console that identifies an application for installation on a client device, wherein the client device comprises a security process that limits the client device to execute trusted code based on a trusted code policy;

unpacking an installation package for the application to identify characteristics of a file within the installation package, the installation package comprising a nested package having the file, the nested package is unpacked to identify the characteristics of the file sent to the security process, which comprise at least one of: a certificate, a file name, a file version, and a file hash;

transmitting, to a management agent executed in the client device, a command to update the trusted code policy, the command to update the trusted code policy comprising instructions to whitelist the file causing a comparison of the file hash of the installation package with an expected file hash of the installation package;

updating a trusted code policy to permit execution of the installation package in response to the file hash of the installation package matching the expected file hash; and

transmitting, to the management agent, a command to install the application, wherein the management agent is a trusted installer for the client device.

8. The method of claim 7 , further comprising:

identifying, through the device management console, user-defined specifications comprising: an indication to enforce the trusted code policy on the client device, and an indication to permit a management agent to be a trusted installer for the client device.

9. The method of claim 8 , further comprising:

transmitting, to a provider computing device associated with a provider of the client device, a command to enforce the trusted code policy on the client device, and a command to permit the management agent to be the trusted installer for the client device, wherein the provider computing device configures the client device to: enforce the trusted code policy, and permit the management agent as the trusted installer.

10. The method of claim 7 , further comprising:

identifying, through the device management console, a selection of a set of client devices comprising the client device; and

wherein the device management console identifies the application for installation on the set of client devices, the command to update the trusted code policy is transmitted to the set of client devices, and the command to install the application is transmitted to the set of client devices.

11. The method of claim 7 , wherein the installation package comprises a nested package that is unpacked to identify the characteristics of the file, the file being within the nested package.

12. The method of claim 7 , wherein the command to install the application comprises instructions to install the application within a container of a container application.

13. A non-transitory computer-readable medium embodying executable instructions, wherein the instructions, when executed by a processor, cause a computing device to at least:

generate a device management console that identifies an application for installation on a client device, wherein the client device comprises a security process that limits the client device to execute trusted code based on a trusted code policy;

unpack an installation package for the application to identify characteristics of a file within the installation package, the installation package comprising a nested package having the file, the nested package is unpacked to identify the characteristics of the file sent to the security process, which comprise at least one of: a certificate, a file name, a file version, and a file hash;

transmit, to a management agent executed in the client device, a command to update the trusted code policy, the command to update the trusted code policy comprising instructions to whitelist the file by causing a comparison of the file hash of the installation package with an expected file hash of the installation package;

update a trusted code policy to permit execution of the installation package in response to the file hash of the installation package matching the expected file hash; and

transmit, to the management agent, a command to install the application, wherein the management agent is a trusted installer for the client device.

14. The non-transitory computer-readable medium of claim 13 , wherein the instructions, when executed by the processor, cause the computing device to at least:

identify, through the device management console, user-defined specifications comprising: an indication to enforce the trusted code policy on the client device, and an indication to permit a management agent to be a trusted installer for the client device.

15. The non-transitory computer-readable medium of claim 14 , wherein the instructions, when executed by the processor, cause the computing device to at least:

transmit, to a provider computing device associated with a provider of the client device, a command to enforce the trusted code policy on the client device, and a command to permit the management agent to be the trusted installer for the client device, wherein the provider computing device configures the client device to: enforce the trusted code policy, and permit the management agent as the trusted installer.

16. The non-transitory computer-readable medium of claim 13 , wherein the instructions, when executed by the processor, cause the computing device to at least:

identify, through the device management console, a selection of a set of client devices comprising the client device; and

wherein the device management console identifies the application for installation on the set of client devices, the command to update the trusted code policy is transmitted to the set of client devices, and the command to install the application is transmitted to the set of client devices.

17. The non-transitory computer-readable medium of claim 13 , wherein the installation package comprises a nested package that is unpacked to identify the characteristics of the file, the file being within the nested package.

18. The system of claim 1 , wherein the trusted code policy includes a code profile for the installation package, the code profile including a plurality of expected file hashes including the expected file hash.

Assignments (3)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0242 →