Solidifying the executable software set of a computer
First Claim
Patent Images
1. A method, comprising:
- receiving a request for executing an original software program within a plurality of software programs on a first computer, the original software program comprising a first one or more references corresponding to one or more original calling names associated with the original interface, wherein a set of data is received from a second computer over a network at the first computer that includes the original interface, wherein the second computer authorizes modifications to the plurality of software programs being executed on the first computer, and wherein a new software program downloaded by the first computer remains unexecutable until the second computer authorizes the new software program using a checksum operation; and
translating the original software program to obtain a translated software program, including replacing the first one or more references with a second one or more references corresponding to one or more translated calling names associated with a translated interface, wherein the one or more translated calling names are invalid for calling the original interface, andreverse translating the translated software program to obtain a reverse translated software program, the reverse translated software program not being executable as the original software program if the translated software program comprises additional references corresponding to the one or more original calling names prior to the reverse translation, and wherein at least a portion of the translated calling names are not mapped to a corresponding unique name in an original name space, and wherein a calling name space translation is larger than the original name space; and
communicating enabling data to the first computer, wherein the first computer includes additional software that is unexecutable due to the translating activities, and wherein the enabling data is configured to be used by the first computer to enable the additional software to execute.
11 Assignments
0 Petitions
Accused Products
Abstract
System and method for solidifying (or “freezing”) the set of software and configuration data available for execution on a computer. Any additional software installed on the computer after the solidification process will not execute, regardless of whether the installation is initiated or otherwise performed by a person with administrative privilege. The ability to allow new or modified software to execute on the computer rests with an integrity server separate from and outside of the solidified computer. The solidification of software and configuration data proceeds on a level of granularity selectable by the integrity server and any operators thereof.
133 Citations
18 Claims
-
1. A method, comprising:
-
receiving a request for executing an original software program within a plurality of software programs on a first computer, the original software program comprising a first one or more references corresponding to one or more original calling names associated with the original interface, wherein a set of data is received from a second computer over a network at the first computer that includes the original interface, wherein the second computer authorizes modifications to the plurality of software programs being executed on the first computer, and wherein a new software program downloaded by the first computer remains unexecutable until the second computer authorizes the new software program using a checksum operation; and translating the original software program to obtain a translated software program, including replacing the first one or more references with a second one or more references corresponding to one or more translated calling names associated with a translated interface, wherein the one or more translated calling names are invalid for calling the original interface, and reverse translating the translated software program to obtain a reverse translated software program, the reverse translated software program not being executable as the original software program if the translated software program comprises additional references corresponding to the one or more original calling names prior to the reverse translation, and wherein at least a portion of the translated calling names are not mapped to a corresponding unique name in an original name space, and wherein a calling name space translation is larger than the original name space; and communicating enabling data to the first computer, wherein the first computer includes additional software that is unexecutable due to the translating activities, and wherein the enabling data is configured to be used by the first computer to enable the additional software to execute. - View Dependent Claims (2, 3, 4, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
5. A method, comprising:
-
receiving a set of data from a first computer over a network at a second computer, wherein the first computer authorizes modifications to a plurality of software programs being executed on the second computer, and wherein a new software program downloaded by the second computer remains unexecutable until the first computer authorizes the new software program using a checksum operation; generating a calling name space translation on the second computer according to the set of data, wherein one or more original calling names associated with an original interface are translated into one or more translated calling names associated with a translated interface, translating an original software program of the plurality of software programs to obtain a translated software program, the original software program comprising a first one or more references corresponding to the one or more original calling names, wherein the translating includes replacing the first one or more references with a second one or more references corresponding to the one or more translated calling names, wherein the one or more translated calling names are invalid for calling the original interface, reverse translating the translated software program to obtain a reverse translated software program, the reverse translated software program not being executable as the original software program if the translated software program comprises additional references corresponding to the one or more original calling names prior to the reverse translation, and wherein at least a portion of the translated calling names are not mapped to a corresponding unique name in an original name space, and wherein the calling name space translation is larger than the original name space. - View Dependent Claims (6, 7)
-
-
8. A method, comprising:
-
sending, by an administrative server, a set of data to a computer over a network, wherein the administrative server authorizes modifications to a plurality of software programs being executed on the computer, and wherein a new software program downloaded by the computer remains unexecutable until the administrative server authorizes the new software program using a checksum operation; generating a calling name space translation on the computer according to the set of data, wherein one or more original calling names associated with an original interface are translated into one or more translated calling names associated with a translated interface, translating an original software program of the plurality of software programs to obtain a translated software program, the original software program comprising a first one or more references corresponding to the one or more original calling names, wherein the translating includes replacing the first one or more references with a second one or more references corresponding to the one or more translated calling names, wherein the one or more translated calling names are invalid for calling the original interface, and reverse translating the translated software program to obtain a reverse translated software program, the reverse translated software program not being executable as the original software program if the translated software program comprises additional references corresponding to the one or more original calling names prior to the reverse translation, and wherein at least a portion of the translated calling names are not mapped to a corresponding unique name in an original name space, and wherein the calling name space translation is larger than the original name space; and communicating enabling data to the computer, wherein additional software in the computer is unexecutable due to the translating activities, and wherein the enabling data is configured to be used by the computer to enable the additional software to execute. - View Dependent Claims (9)
-
-
10. Computer readable media, comprising:
-
an original calling name space associated with an original interface, wherein a set of data is received from a first computer over a network at a second computer that includes the original calling name space, wherein the first computer authorizes modifications to a plurality of software programs being executed on the second computer, and wherein a new software program downloaded by the second computer remains unexecutable until the first computer authorizes the new software program using a checksum operation; a translated calling name space residing in the second computer and comprising a name space translation of the original calling name space, wherein one or more original calling names associated with the original calling name space are translated into one or more translated calling names associated with the translated calling name space, and a data structure including one or more sequences of instructions for translating an original software program to obtain a translated software program, wherein the original software program comprises a first one or more references corresponding to the one or more original calling names, wherein the one or more sequences of instructions includes replacing the first one or more references with a second one or more references corresponding to the one or more translated calling names, wherein the second one or more translated calling names are invalid for calling the original interface, and wherein the translated software program is reverse translated to obtain a reverse translated software program, the reverse translated software program not being executable as the original software program if the translated software program comprises additional references corresponding to the one or more original calling names prior to the reverse translation, and wherein at least a portion of the translated calling names are not mapped to a corresponding unique name in an original name space, and wherein the calling name space translation is larger than the original name.
-
Specification