IP Library Granted Patent US 9,461,823
Granted Patent B2
US 9,461,823 · App. 14/679,831 · Granted Oct 4, 2016

System and method for limiting exploitable or potentially exploitable sub-components in software components

Inventors: Josha Stella (Shepherdstown, WV); Dominic Zippilli (Martinsburg, WV); Matthew Brinkman (Martinsburg, WV)
Assignee: FUGUE, INC.
H04L9/14G06F21/57G06F21/577H04L63/0428G06F2221/033G06F2221/034H04L2209/24
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,461,823
App. No.
14/679,831
Granted
Oct 4, 2016
Kind
B2
Abstract

Approaches for limiting exploitable or potentially exploitable sub-components in software components are disclosed. In certain implementations, a first software component in the component creation environment may be identified. The first software component may include a first sub-component that provides a function that is exploitable or potentially exploitable to compromise the first software component. The first sub-component may be disabled such that the function provided by the first sub-component is not available via the first software component when the first software component is executed. The first software component may be placed in the component repository after the first sub-component is disabled such that the first software component is placed in the component repository without availability of the function provided by the first sub-component. In some implementations, disabling the first sub-component may comprise removing the first sub-component from the first software component.

Claims (47)

1. A computer-implemented method of limiting exploitable applications in an operating system instance, the method being implemented by a computer system that includes one or more physical processors executing computer program instructions which, when executed, perform the method, the method comprising:

obtaining, by the computer system, at least a first operating system instance, the first operating system instance including a first application that provides a function that is exploitable to compromise the first operating system instance;

disabling, by the computer system, prior to the first operating system instance ever being available for use in a runtime environment in which the first operating system instance is to be executed, the first application such that the function provided by the first application will not be available via the first operating system instance when the first operating system is executed in the runtime environment, wherein disabling the first application comprises associating, prior to the first operating system instance ever being available for use in the runtime environment, the first operating system instance with disabling instructions such that the disabling instructions causes availability of the function provided by the first application to be removed from the first operating system instance during a boot-up of the first operating system instance, and wherein associating the first operating system with the disabling instructions comprises inserting, prior to the first operating system instance ever being available for use in the runtime environment, the disabling instructions into the first operating system instance; and

causing, by the computer system, the first operating system instance to be executed in the runtime environment after the first application is disabled such that the function provided by the first application is not available for use and is not exploitable to compromise the first operating system instance.

2. The method of claim 1 , wherein disabling the first application comprises removing, prior to the first operating system instance ever being available for use in the runtime environment, the first application from the first operating system instance.

3. The method of claim 1 , wherein disabling the first application comprises turning off, prior to the first operating system instance ever being available for use in the runtime environment, the function provided by the first application without removing the first application from the first operating system instance.

4. The method of claim 1 , wherein the first operating system instance further includes a second application that is exploitable, the method further comprising:

identifying, by the computer system, a code set associated with the second application that causes the second application to be exploitable; and

removing, by the computer system, prior to the first operating system instance ever being available for use in the runtime environment, the code set from the second application such that the second application no longer includes the code set, wherein the first operating system instance includes the second application without the code set when the first operating system instance is executed in the runtime environment.

5. The method of claim 1 , further comprising:

generating, by a component authoring subsystem, the first operating system instance in a component creation environment that is separate from the runtime environment;

associating, by the component authoring subsystem, first profile information with the first operating system instance prior to the first operating system instance ever being available for use in the runtime environment, wherein the first profile information is used to determine whether a given application of the first operating system instance should be disabled; and

identifying, by a component sealing subsystem, based on the first profile information, the first application as an application to be disabled.

6. The method of claim 1 , further comprising:

generating, by a component authoring subsystem, the first operating system instance in a component creation environment such that the first operating system instance includes the first application and a second application; and

associating, by the component authoring subsystem, first profile information with the first operating system instance prior to the first operating system instance ever being available for use in the runtime environment, wherein the first profile information is used to determine whether a given application of the first operating system instance should be disabled, and wherein the second application is not disabled based on the first profile information.

7. The method of claim 1 , further comprising:

generating, by a component exporting subsystem, integrity information for the first operating system instance after the first application is disabled and prior to the first operating system instance ever being available for use in the runtime environment,

wherein the integrity information is used to determine whether the first operating system instance has been modified after the integrity information is generated for the first operating system instance.

8. The method of claim 1 , wherein the first operating system instance comprises an operating system instance of a virtual machine.

9. The method of claim 1 , wherein the function provided by the first application comprises an administrative or maintenance function provided by the first application, wherein the administrative or maintenance function is used by a user having system administrator privileges to administer or maintain the first operating system instance but is exploitable by others to compromise the first operating system instance, and wherein the administrative or maintenance function provided by the first application is not available to administer or maintain the first operating system instance and is not exploitable to compromise the first operating system instance after the first application is disabled.

10. A system for limiting exploitable applications in an operating system instance, the system comprising:

one or more physical processors programmed with computer program instructions which, when executed, cause the one or more physical processors to:

obtain at least a first operating system, the first operating system instance including a first application that provides a function that is exploitable to compromise the first operating system instance;

disable, prior to the first operating system instance ever being available for use in a runtime environment in which the first operating system instance is to be executed, the first application such that the function provided by the first application will not be available via the first operating system instance when the first operating system is executed in the runtime environment;

associate, prior to the first operating system instance ever being available for use in the runtime environment, the first operating system with disabling instructions such that the disabling instructions causes availability of the function provided by the first application to be removed from the first operating system instance during a boot-up of the first operating system instance, wherein the first application is disabled based on the association of the first operating system instance with the disabling instructions;

insert, prior to the first operating system instance ever being available for use in the runtime environment, the disabling instructions into the first operating system instance, wherein the first operating system instance is associated with the disabling instructions based on the insertion of the disabling instructions; and

cause the first operating system to be executed in the runtime environment after the first application is disabled such that the function provided by the first application is not available for use and is not exploitable to compromise the first operating system.

11. The system of claim 10 , wherein the one or more physical processors are caused to: remove, prior to the first operating system instance ever being available for use in the runtime environment, the first application from the first operating system instance,

wherein the first application is disabled based on the removal of the first application.

12. The system of claim 10 , wherein the one or more physical processors are caused to:

turn off, prior to the first operating system instance ever being available for use in the runtime environment, the function provided by the first application without removing the first application from the first operating system instance,

wherein the first application is disabled based on the turn off of the function provided by the first application.

13. The system of claim 10 , wherein the first operating system instance further includes a second application that is exploitable, and wherein the one or more physical processors are caused to:

identify a code set associated with the second application that causes the second application to be exploitable; and

remove, prior to the first operating system instance ever being available for use in the runtime environment, the code set from the second application such that the second application no longer includes the code set, wherein the first operating system instance includes the second application without the code set when the first operating system instance is executed in the runtime environment.

14. The system of claim 10 , wherein the one or more physical processors are caused to: generate the first operating system instance in a component creation environment that is separate from the runtime environment;

associate first profile information with the first operating system instance prior to the first operating system instance ever being available for use in the runtime environment, wherein the first profile information is used to determine whether a given application of the first operating system instance should be disabled; and

identify, based on the first profile information, the first application as an application to be disabled.

15. The system of claim 10 , wherein the one or more physical processors are caused to:

generate the first operating system instance in a component creation environment such that the first operating system instance includes the first application and a second application; and

associate first profile information with the first operating system instance prior to the first operating system instance ever being available for use in the runtime environment, wherein the first profile information is used to determine whether a given application of the first operating system instance should be disabled, and wherein the second application is not disabled based on the first profile information.

16. The system of claim 10 , wherein the one or more physical processors are caused to:

generate integrity information for the first operating system instance after the first application is disabled and prior to the first operating system instance ever being available for use in the runtime environment,

wherein the integrity information is used to determine whether the first operating system instance has been modified after the integrity information is generated for the first operating system instance.

17. The system of claim 10 , wherein the first operating system instance comprises an operating system instance of a virtual machine.

18. The system of claim 10 , wherein the function provided by the first application comprises an administrative or maintenance function provided by the first application, wherein the administrative or maintenance function is used by a user having system administrator privileges to administer or maintain the first operating system instance but is exploitable by others to compromise the first operating system instance, and wherein the administrative or maintenance function provided by the first application is not available to administer or maintain the first operating system instance and is not exploitable to compromise the first operating system instance after the first application is disabled.

Assignments (4)
MERGER Recorded Mar 21, 2025
From: FUGUE, INC.
To: SNYK, INC.
Reel/Frame 070586/0056 →
CHANGE OF NAME Recorded May 12, 2016
From: LUMINAL, INC.
To: FUGUE, INC.
Reel/Frame 038691/0101 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2015
From: STELLA, JOSHA; ZIPPILLI, DOMINIC; BRINKMAN, MATTHEW
To: LUME SYSTEMS, INC.
Reel/Frame 035344/0577 →
CHANGE OF NAME Recorded Apr 7, 2015
From: LUME SYSTEMS, INC.
To: LUMINAL, INC.
Reel/Frame 035380/0423 →
Continuity (7)
Continuation 14467933 · Aug 25, 2014
Continuation 13969158 · Aug 16, 2013
Provisional Application 61684743 · Aug 18, 2012
Provisional Application 61684744 · Aug 18, 2012
Provisional Application 61684745 · Aug 18, 2012
Provisional Application 61684746 · Aug 18, 2012
Related Publication 20150213271A1 · Jul 30, 2015