US8561051B2 - Solidifying the executable software set of a computer - Google Patents

Solidifying the executable software set of a computer Download PDF

Info

Publication number
US8561051B2
US8561051B2 US12976159 US97615910A US8561051B2 US 8561051 B2 US8561051 B2 US 8561051B2 US 12976159 US12976159 US 12976159 US 97615910 A US97615910 A US 97615910A US 8561051 B2 US8561051 B2 US 8561051B2
Authority
US
Grant status
Grant
Patent type
Prior art keywords
translated
computer
original
interface
software program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US12976159
Other versions
US20110093842A1 (en )
Inventor
E. John Sebes
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
McAfee LLC
Original Assignee
McAfee LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Grant date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2147Locking files

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.

Description

RELATED APPLICATION

This Application is a continuation (and claims the benefit of priority under 35 U.S.C. §120) of U.S. application Ser. No. 10/935,772, filed Sep. 7, 2004 now U.S. Pat. No. 7,873,955, entitled “SOLIDIFYING THE EXECUTABLE SOFTWARE SET OF A COMPUTER,” Inventor E. John Sebes. The disclosure of the prior application is considered part of (and is incorporated by reference in) the disclosure of this application.

BACKGROUND

1. Field

Invention relates generally to computer systems, and in particular to fixing the set of software available for execution on a computer.

2. Related Art

The set of software available for execution on a computer is generally dynamic and modifiable, even when such modification is not desirable. Restricting the ability of users or administrators of a computer to install and remove software or to modify configuration of the existing software is enforced with passwords or verbal and written policies and guidelines. However, when passwords are used, possessors of administrative passwords generally have access beyond their immediate responsibilities.

Accordingly, there is a need for a technique that allows the solidification (or “freezing”) of the set of software available for execution on a computer, wherein the software is solidified according to a granular policy, and wherein the ability to change such a policy resides outside of the solidified computer.

SUMMARY

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.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram illustrating an architecture for solidifying an executable software set of a computer, according to an embodiment of the present invention.

FIG. 2 is a block diagram illustrating a mapping table comprising one or more name space translations corresponding to one or more interfaces, according to an embodiment of the present invention.

FIG. 3 is a block diagram illustrating a name space translation indicating a forward translation from an original name space to a translation name space, as well as a corresponding reverse translation, according to an embodiment of the present invention.

FIG. 4 is a block diagram illustrating an example set of possible states for a solidified computer, according to an embodiment of the present invention.

FIG. 5 is a block diagram illustrating a name space translation indicating a forward translation T from an original name space to a translation name space, as well as a corresponding reverse translation T1, according to an embodiment of the present invention.

FIG. 6 is a flow diagram illustrating a method for executing a piece of software on a solidified computer, according to an embodiment of the present invention.

DETAILED DESCRIPTION

The following serves as a glossary of terms as used herein:

Computer: Any computing system comprising an operating system providing a set of resources for use by one or more pieces of software for execution on the computing system.

Software: Any set of instructions for execution on a computer. A piece of software may use one or more services or resources as provided by the computer through one or more interfaces.

Interface: A language, protocol or other boundary for providing a service or making available a resource to a piece of software on a computer. An interface comprises a name space, knowledge of which is needed for successful usage of the interface. For a given interface to a service or resource, an implementation of the service or resource fulfills requests made through the interface. One example of an interface comprises an Application Programming Interface (API) such as a system call interface of an operating system, wherein the name space comprises system call names or system call addresses, and the implementation comprises the portion of the operating system implementing the actual system calls. Another example of an interface comprises a set of function calls to a library, wherein the name space comprises function names or function addresses, and the implementation comprises the actual library code implementing the functions. Other interface examples include language APIs (such as a PERL API, Java API, PHP API, shell script APIs, etc.), database APIs, an interface to a file system of a computer (wherein the name space comprises a set of file names), and any interface to a container of data.

Invention operates in combination with a computer's operating system in order to solidify (or “freeze”) the set of software available for execution on the computer. Any software, modified or installed on the computer after the solidification process, cannot be executed on the computer regardless of whether the modification or installation was initiated or otherwise performed by a person with administrative privilege or with access to passwords or other such credentials pertaining to the computer. The ability to enable modified or additional software to execute on the computer resides with an entity (herein called an “integrity server”) outside of the solidified computer.

FIG. 1 illustrates an architecture for solidifying an executable software set of a computer, according to an embodiment of the present invention. Prior to a solidification (or “freezing”) process, a computer 102 comprises an installed software base, for example as prepared by a manufacturer or seller of the computer 102. A user or an administrator of the computer 102 may have proper privilege to direct execution of such already installed programs, to inspect data on the computer 102 (such as log files or reports), to power-up or power-down the computer 102, or otherwise to make appropriate use of the computer 102 and its installed software base. However, once the software base of the computer 102 is solidified, such a user or administrator cannot modify or add to the set of software available for execution on the computer 102, since such ability resides with an integrity server 101 separate and distinct from the computer 102.

Prior to a solidification process, computer 102 makes one or more interfaces available to software modules for proper execution of said software modules on computer 102. A solidification of computer 102 comprises translating one or more of the interfaces provided by computer 102, such that software modules are no longer able to use the translated interfaces. In order to enable a software module to use the translated interfaces and properly execute on such a solidified computer 102, the software module is then translated according to the translated interfaces.

It is an advantageous aspect that individual interfaces can be independently to translated (hereinafter also referred to as “solidified” or “frozen”) or left untranslated (hereinafter also referred to as “thawed”), thereby providing a level of granularity for the solidification process. FIG. 2 illustrates a set of example states for a solidified computer 102. The middle six columns represent a set of interfaces which individually can be frozen or thawed. The first row (“All Interfaces frozen”) shows all interfaces of system 102 as frozen, and hence system 102 is completely solidified. The second row (“All Interfaces Thawed”) shows all interfaces of system 102 as thawed, lifting protections provided by the solidification process. The third row (“Software Maintenance”) shows all interfaces of system 102 translated except software configuration data. This row indicates a state for allowing a user of system 102 to locally change software configuration data (shown, as an illustrative example, for two individual software applications), as described in more detail below.

FIG. 3 is a flow diagram illustrating a method for preparing a computer 102 for operation in a solidified manner, according to an embodiment of the present invention. Existing software is processed 201 in anticipation for using one or more translated name spaces, the translated name spaces for referring to interfaces which are to be translated (i.e. “frozen”). Since said translated name spaces may not yet be defined, the processing step 201 comprises generating a set of placeholders for the software, such placeholders indicating that a reference name (at a given position in the software code), taken from an interface name space, is to be replaced with a corresponding translated name in a corresponding translated name space. Note that the actual translations need not yet be defined, and a placeholder indicates that a name n is to be replaced with a translation T(n), wherein T represents the actual translation once such a translation is defined (in step 203) by way of a mapping table. The set of placeholders resulting from the processing step 201, and associated with the corresponding software, is hereinafter referred to as an “sdiff”.

In step 202, the runtime environment of computer 102 is modified such that a request to execute a piece of software results in an attempt to replace the corresponding placeholders (given by the corresponding sdiff) with translated names (according to the mapping table) prior to execution of the software. In one embodiment, this alteration is set to take effect at the next boot-up of computer 102. In another embodiment, the alteration takes effect before the next boot-up of computer 102. In step 203, a mapping table is defined for use by the altered runtime environment. Hereinafter, two “modes” are identified for the runtime environment of computer 102: a “restricted mode” wherein the runtime environment of computer 102 attempts to replace placeholders in a piece of software (according to a corresponding sdiff, if such exists) and use a mapping table in order to execute the software, and an “unrestricted mode” wherein the runtime environment of computer 102 simply executes software without using any sdiffs or any mapping tables.

FIG. 4 is a block diagram illustrating a mapping table 103, according to an embodiment of the present invention. Mapping table 103 comprises one or more name space translations 105 corresponding to one or more interfaces. As shown in FIG. 5, a name space translation 105 indicates a forward translation T from an original name space to a translation name space, as well as a corresponding reverse translation T1. The translation name space preferably is larger than the original name space, the size increase serving as a precaution against any attempts to recover the name space translation by guessing.

In the example name space translation 105 shown in FIG. 5, names from an original name space A are translated into names taken from a translation name space A′, with two example names x and y from the original name space A shown as translated into names x′ and y′ from the translated name space A′. Note that in general the reverse translation T1 need not map every unique name from the translation name space A′ into a corresponding unique name in the original name space A. For example, a group of names from the translation name space A′ (indicated by z1, z2 and z3 in FIG. 5) may be mapped into a null value in the original name space A. This will occur for example when the translation name space is larger than the original name space. Specifically, the translation name space A′ preferably comprises the names in A as a subset, such names mapped back to null by the reverse translation T1, thereby in effect thwarting attempts to use the original untranslated names in A on a solidified system 102. Additionally, the translation name space A′ preferably comprises a large number of names which are neither in A nor in T(A) (e.g., a large number of randomly generated names or name ranges), such names mapped back to null by the reverse translation T1, thereby thwarting any attempt to guess which names in A′ map back to the original untranslated names in A.

FIG. 6 is a flow diagram illustrating a method for executing a piece of software on a solidified computer 102, according to an embodiment of the present invention. Receive 210 a request for execution of a piece of software S. If S does not 211 have an associated sdiff; attempt 212 to execute S without translating S. Otherwise 213, translate 214 S according to one or more respective interface name space translations 105 as indicated by the sdiff associated with S and according to the mapping table 103, and execute 215 the translated S. Step 214 preferably occurs during loading of the executable file, symbol resolution and/or dynamic linkage.

The execution steps 212 and 215 comprise an attempt to use appropriate reverse translations (as given by the mapping table 103) for any references to translated interfaces, whether the references (names) are appropriately translated or not. Therefore, if a software S does not have an associated sdiff; references comprising (untranslated) names for referring to a translated interface will be reverse-translated into invalid names, and will hence cause an execution exception, logging, and/or other error handling. The same applies to a piece of code which has been inserted into a software S after an sdiff has been generated for S in step 201. On the other hand, if a software S does have an associated sdiff, references comprising (translated) names for referring to a translated interface will be appropriately reverse-translated to corresponding original names for proper execution on solidified computer 102.

For a translated piece of software (comprising references according to a translated interface) to execute correctly, several techniques can be used independently or in combination. In a first embodiment, computer 102 comprises a translation of an implementation of the corresponding untranslated interface, wherein the translated implementation processes requests according to the translated interface. For example, a PERL interpreter is modified according to a translated PERL language interface, wherein keywords of the PERL language are translated and no longer correspond to standard PERL keywords, for example by replacing the standard PERL keyword “FOR” with a new translated keyword “XH5HKJ831H09L” for the translated PERL interpreter. In this embodiment, a PERL script will execute properly only if the script is in accordance with the translated PERL language interface.

In a second embodiment, an implementation of the corresponding untranslated interface is left unmodified. Instead, execution engine 106 translates requests (expressed according to a translated interface) to requests expressed in the corresponding untranslated interface. As an example, the PERL interpreter is left unmodified, and a PERL script in accordance with the translated interface undergoes a reverse translation before it is handed over to the PERL interpreter for interpretation. Note that in both embodiments, if the interface implementation itself uses any translated interfaces (“secondary interfaces”), then the interface implementation itself is translated according to the translated secondary interfaces. For example, if the PERL interpreter uses the system call interface provided by the operating system of computer 102, and if computer 102 is in a solidified state wherein the system call interface is translated, then the PERL interpreter (whether modified according to the first embodiment or left unmodified according to the second embodiment) is itself translated according to the system call interface translation present on computer 102. As should be obvious to one of ordinary skill in the art, any number of levels of translated interfaces are possible in a solidified computer 102, depending on whether an interface implementation uses translated secondary interfaces or not.

The abstraction of name space translation extends to a third embodiment, comprising verifying a checksum for deciding whether or not to execute a piece of software on computer 102. In this embodiment, a piece of software is regarded as its own “service” having an interface comprising a name space with a single entry, namely a name for the piece of software itself. During a solidification process of computer 102, a checksum is associated with the piece of software, wherein this association effectively represents a translation of the single entry in the name space. Subsequently, when computer 102 receives a request to execute the software, computer 102 executes the software only if the checksum properly verifies (corresponding to provision of the correct translation of the single entry), and refuses to execute the software otherwise. The checksum verification essentially represents a verification that the request to execute the software was according to the translated interface (indicating the software and associated checksum), as opposed to according to the untranslated interface (indicating the software without checksum). This embodiment can be implemented without the use of sdiffs. This embodiment can also be implemented without the use of a mapping table 103, replacing the mapping table 103 lookup with a checksum verification step making use of a mapping which maps pieces of software (requested for execution) to (a) a valid checksum, leading to grant of execution, or to (b) an invalid checksum (including null) leading to a refusal of execution.

A name space translation T 105 may be uniquely associated with a particular piece of software S and with a particular solidified system 102, or it may be shared by more than one piece of software or across more than one solidified system 102. Some techniques for translating an interface and associating such a translated interface with a piece of software are described in copending U.S. patent application entitled “Damage Containment By Translation”, application Ser. No. 10/651,588, filed on Aug. 29, 2003, incorporated herein by reference, and in copending U.S. patent application entitled “Method And System For Containment Of Usage Of Language Interfaces”, application Ser. No. 10/739,230, filed on Dec. 17, 2003, incorporated herein by reference.

In addition to solidifying code portions of the installed software base through name space translation (as described above), one or more configuration data of the installed software base can be solidified as well, independently from the corresponding code portions. This is accomplished by generating a translation of a set of configuration data used by the software. For example, consider a piece of software S which reads and/or writes configuration data using one or more data files, wherein the read and/or write operations rely on a knowledge of the corresponding file names. Solidifying some or all of the configuration data comprises translating the corresponding file names and/or translating the actual data contained in the files. Such files with translated names and/or translated content will be usable to a properly translated piece of software S′, but not to the original untranslated software S. Proper software translation comprises static replacement of the original file names in S′ with translated file names, and/or insertion of instructions (hooks) into S′ for dynamically obtaining the translated file names and translated content during run-time. As should be obvious to one of ordinary skill in the art, this translation technique is not limited to configuration data residing in a file system, but can be analogously applied to configuration data accessible through any API or service interface, by translating the API or service interface and/or translating the content available through the API or service interface.

As described above, managing the executable software set of computer 102 comprises managing (a) the set of sdiffs, (b) mapping table 103, and (c) the mode (“restricted mode” versus “unrestricted mode”) of the runtime environment of computer 102, hereinafter also collectively referred to as the “solidification metadata”. It is an advantageous aspect that these three items can be independently managed and computed, locally or remotely, as described in the following:

    • sdiffs: In one embodiment, sdiffs are computed locally on computer 102. In an alternative embodiment, sdiffs are computed remotely on integrity server 101 and then sent to computer 102. Preferably, sdiffs sent from integrity server 101 to computer 102 are authenticated (for example using digital signatures) or are sent over a secure communications channel (for example via a Secure Socket Layer (SSL)).
    • Mapping table 103: In one embodiment, mapping table 103 is computed locally on computer 102, with any recomputations (for regenerating or adding name space translations 105) also performed locally. In an alternative embodiment, mapping table 103 is computed remotely on integrity server 101 and then sent to computer 102. Preferably, a mapping table 103 sent from integrity server 101 to computer 102 is authenticated (for example using digital signatures) or is sent over a secure communications channel (for example via SSL).
    • Mode: In one embodiment, switching from the “restricted mode” to the “unrestricted mode” (or vice versa) is initiated locally on computer 102. In an alternative embodiment, such a switch can only be initiated remotely by integrity server 101, such initiation using authentication (for example using digital signatures) or proceeding over a secure communications channel (for example via SSL).
      Optionally, a checksum (as described above for deciding whether or not to execute a piece of software on computer 102) may be included as part of the solidification metadata.

To achieve modularity, the writing and reading of the sdiffs, the mapping table 103 and the runtime mode are separated between a writer module and a reader module, with the writer module writing said data onto computer 102 and the reader module retrieving written data when needed. In the embodiments where the computation of said data is performed locally, the writer module resides on computer 102, whereas remote computation of said data comprises a remote writer module communicating with computer 102, using authentication (for example digital signatures) or a secure communications channel (such as SSL). In an optional embodiment, such a remote writer module does not write all of said data, but instead writes a (possibly empty) subset thereof (e.g. the mode only) as well as one or more authenticators for validating the entire data. Such authentication may comprise digital signatures, transport-level authentication such as SSL, or any other authentication mechanisms.

Remote management of the solidification metadata by integrity server 101 results in the advantageous aspect that knowledge of the specific unique structure and encoding of the solidification metadata used to enforce a frozen executable software set on computer 102 resides with integrity server 101 and outside of computer 102. As a consequence, while a party other than integrity server 101 may be able to install additional software on frozen system 102, such software remains unexecutable until one or more items in the solidification metadata are properly modified by the integrity server 101 (or their local modification is authorized by integrity server 101) so as to enable the additional software to properly execute on frozen system 102, as described above. For example, in one embodiment, the integrity server 101 generates a modified mapping table 103 and sends it to computer 102. In another embodiment, the integrity server 101 sends data to computer 102, the data for locally generating a new mapping table 103 on computer 102. In both embodiments, it is an advantageous aspect that the knowledge, possessed by the integrity server 101 and used to construct or modify a mapping table 103 for a computer 102, is distinct from the knowledge of the actual name space translations 105 of the mapping table 103.

It is an advantageous aspect that tampering with the solidification metadata is rendered detectable. To accomplish this, solidification metadata resident on computer 102, solidification metadata sent by the integrity server 101 to computer 102, and/or data sent by the integrity server 101 for locally generating one or more portions of the solidification metadata on computer 102, are authenticated. Such authentication comprises for example digitally signing the solidification metadata (or transmitted portions thereof) and the data, or using other data integrity techniques (such as checksums) or authentication techniques as should be obvious to one of ordinary skill in the art. Correspondingly, computer 102 verifies authenticity and/or integrity of the solidification metadata, or of the data received from integrity server 101 for locally generating solidification metadata (or portions thereof), prior to using the solidification metadata or the data. One example comprises the execution engine 106 refusing to execute software if the solidification metadata have been tampered with. Another example comprises computer 102 refusing to update the solidification metadata if data received from integrity server 101 is not successfully authenticated. In another example, integrity server 101 verifies authenticity and integrity of the solidification metadata, and replaces any compromised portions of the solidification metadata (such as a compromised mapping table 103) with freshly generated ones.

Optionally, one or more portions of the solidification metadata on the frozen system 102 are periodically regenerated (with new name space translations) for increased defense against guessing attacks. Process migration techniques can be used to change one or more name space translations 105 associated with a process while the process is executing.

Optionally, the translated name spaces need not be persistently stored on frozen system 102, but can instead be computed when frozen system 102 powers up, and recomputed at any later times.

It is another advantageous aspect that when modifying a piece of software already resident on frozen system 102, or when installing a new piece of software onto frozen system 102, the integrity server 101 need not perform the actual modification or installation (although optionally the integrity server 101 can perform such tasks). The integrity server 101 simply properly modifies the solidification metadata, leaving the modification or installation of software to other parties, such as (a) a user or an to administrator of frozen system 102, or (b) an automatic software modification or installation process. However, a modified or newly installed piece of software does not properly execute on the frozen system 102 unless the solidification metadata are appropriately modified by the integrity server 101 and the piece of software is translated according to the mapping table 103 (as described above).

Note that the “software maintenance” state may be further refined to comprise any number of individual interfaces, or groups of interfaces, by adding appropriate columns to the table of FIG. 4. For example, a useful state may distinguish between application configuration data and system configuration data, thereby separating system maintenance mode (for changing system configuration data) from application maintenance mode (for changing application configuration data). Another useful state (“software installation state”) may comprise an untranslated system call interface while leaving other interfaces translated. This state would be useful for running software installers which do need the system call interface to execute properly. After an installer has completed installation of a software (and optionally removal of old versions of the software from computer 102), computer 102 transitions into a state where the system call interface again is solidified (i.e. translated). Note that any thusly installed software still undergo translation in order to properly execute on solidified computer 102. In general, it is an advantageous aspect that code execution and system administration on a system 102 can be separated to any desired degree by choosing a set of independent interfaces so as to provide sufficient granularity for generating a large enough set of possible states of computer 102.

With respect to persistent computer 102 data (such as configuration files, software instruction (code) files, dynamic libraries, operating system registries, etc.) to which the operating system of system 102 provides one or more interfaces for modifications, an optional embodiment allows writes even in a solidified state. However, as in a logging (or journaling) file system, such writes are merely logged and pending, and not yet committed. Once a user of solidified computer 102 has performed one or more changes (i.e. pending write operations), the user may request that the integrity server 101 (or an administrator thereof) commit the user's changes to the solidified computer 102. The integrity server 101 (or an administrator thereof) may then review the user's changes, and either accept all or part of the changes (by committing the accepted changes), reject all or part of the changes (by rolling back the rejected changes), and/or leave all of part of the changes for later inspection.

Foregoing described embodiments of the invention are provided as illustrations and descriptions. They are not intended to limit the invention to precise form described. In particular, it is contemplated that functional implementation of invention described herein may be implemented equivalently in hardware, software, firmware, and/or other available functional components or building blocks, and that networks may be wired, wireless, or a combination of wired and wireless. Other variations and embodiments are possible in light of above teachings, and it is thus intended that the scope of invention not be limited by this Detailed Description, but rather by Claims following.

Claims (17)

I claim:
1. 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;
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 according to the translated interface, wherein an implementation of a corresponding interface is not translated;
receiving a request to execute the translated software program; and
reverse translating the translated software program to obtain a reverse translated software program according to the original interface,
wherein a translation name space of the translated interface includes a subset of at least some of the one or more original calling names, wherein the one or more original calling names in the subset are mapped to null values.
2. The method of claim 1, wherein the original interface comprises a language interface provided by a language interpreter residing on the first computer, and wherein the original interface comprises a set of one or more system calls provided by an operating system of the first computer.
3. The method of claim 1, wherein a first checksum is associated with a first translated software program such that a first request for execution of the first translated software program triggers a second checksum being computed for the first translated software program, and wherein the first translated software program is executed when the second checksum matches the first checksum.
4. The method of claim 1. wherein the one or more translated calling names are invalid for calling the original interface.
5. The method of claim 1, 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.
6. A computer system, comprising
a processor; and
a memory, wherein the computer system is configured for
receiving a set of data from an integrity server over a network at the computer system, wherein the integrity server authorizes modifications to a plurality of software programs being executed on the computer system;
generating a calling name space translation on the computer system 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 according to the translated interface, wherein an implementation of a corresponding interface is not translated:
receiving a request to execute the translated software program and
reverse translating the translated software program to obtain a reverse translated software program according to the original interface,
wherein a translation name space of the translated interface includes a subset of at least some of the one or more original calling names, wherein the one or more original calling names in the subset are mapped to null values.
7. The computer system of claim 6, wherein the original interface comprises a language interface provided by a language interpreter residing on the integrity server, and wherein the original interface comprises a. set of one or more system calls provided by an operating system of the integrity server.
8. The computer system of claim 6, wherein a first checksum is associated with a first translated software program such that a first request for execution of the first translated software program triggers a second checksum being computed for the first translated software prow am, and wherein the first translated software program is executed when the second checksum matches the first checksum.
9. The computer system of claim 6, wherein the one or more translated calling names are invalid for calling the original interface.
10. The computer system of claim 6, wherein at least a portion of the translated calling names are not mapped to a corresponding usque name in an original name space, and wherein the calling name space translation is larger than the original name space.
11. Logic encoded in non-transitory tangible media that includes code for execution and when executed by a processor is operable to perform operations 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;
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 according to the translated interface, wherein an implementation of a corresponding interface is not translated;
receiving a request to execute the translated software program: and
reverse translating the translated software program to obtain a reverse translated software program according to the original interface,
wherein a translation name space of the translated interface includes a subset of at least some of the one or more original calling names, wherein the one or more original calling names in the subset are mapped to null values.
12. The logic, of claim 11, wherein the original interface comprises a language interface provided by a language interpreter residing, on the first computer, and wherein the original interface comprises a set of one or more system calls provided by an operating system of the first computer.
13. The logic of claim 11, wherein a first checksum is associated with a first translated software program such that a first request for execution of the first translated software program triggers a second checksum being computed for the first translated software program, and wherein the first translated software program is executed when the second checksum matches the first checksum.
14. The logic of claim 11, wherein the one or more translated calling names are invalid for calling the original interface.
15. The logic, of claim 11, 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.
16. The logic of claim 11, wherein if the second computer operates in a first operational state, newly installed software in the second computer can be executed.
17. The logic. of claim 16, wherein if the second computer operates in a second operational state, the newly installed software cannot be executed.
US12976159 2004-09-07 2010-12-22 Solidifying the executable software set of a computer Active 2025-04-26 US8561051B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10935772 US7873955B1 (en) 2004-09-07 2004-09-07 Solidifying the executable software set of a computer
US12976159 US8561051B2 (en) 2004-09-07 2010-12-22 Solidifying the executable software set of a computer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12976159 US8561051B2 (en) 2004-09-07 2010-12-22 Solidifying the executable software set of a computer

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10935772 Continuation US7873955B1 (en) 2004-09-07 2004-09-07 Solidifying the executable software set of a computer

Publications (2)

Publication Number Publication Date
US20110093842A1 true US20110093842A1 (en) 2011-04-21
US8561051B2 true US8561051B2 (en) 2013-10-15

Family

ID=43478645

Family Applications (2)

Application Number Title Priority Date Filing Date
US10935772 Active 2027-05-29 US7873955B1 (en) 2004-09-07 2004-09-07 Solidifying the executable software set of a computer
US12976159 Active 2025-04-26 US8561051B2 (en) 2004-09-07 2010-12-22 Solidifying the executable software set of a computer

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10935772 Active 2027-05-29 US7873955B1 (en) 2004-09-07 2004-09-07 Solidifying the executable software set of a computer

Country Status (1)

Country Link
US (2) US7873955B1 (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8701182B2 (en) 2007-01-10 2014-04-15 Mcafee, Inc. Method and apparatus for process enforced configuration management
US8707446B2 (en) 2006-02-02 2014-04-22 Mcafee, Inc. Enforcing alignment of approved changes and deployed changes in the software change life-cycle
US8713668B2 (en) 2011-10-17 2014-04-29 Mcafee, Inc. System and method for redirected firewall discovery in a network environment
US8739272B1 (en) 2012-04-02 2014-05-27 Mcafee, Inc. System and method for interlocking a host and a gateway
US8763118B2 (en) 2005-07-14 2014-06-24 Mcafee, Inc. Classification of software on networked systems
US8800024B2 (en) 2011-10-17 2014-08-05 Mcafee, Inc. System and method for host-initiated firewall discovery in a network environment
US8843496B2 (en) 2010-09-12 2014-09-23 Mcafee, Inc. System and method for clustering host inventories
US8925101B2 (en) 2010-07-28 2014-12-30 Mcafee, Inc. System and method for local protection against malicious software
US8938800B2 (en) 2010-07-28 2015-01-20 Mcafee, Inc. System and method for network level protection against malicious software
US8973146B2 (en) 2012-12-27 2015-03-03 Mcafee, Inc. Herd based scan avoidance system in a network environment
US9075993B2 (en) 2011-01-24 2015-07-07 Mcafee, Inc. System and method for selectively grouping and managing program files
US9112830B2 (en) 2011-02-23 2015-08-18 Mcafee, Inc. System and method for interlocking a host and a gateway
US9424154B2 (en) 2007-01-10 2016-08-23 Mcafee, Inc. Method of and system for computer system state checks
US9465700B2 (en) 2011-10-13 2016-10-11 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US9576142B2 (en) 2006-03-27 2017-02-21 Mcafee, Inc. Execution environment file inventory
US9578052B2 (en) 2013-10-24 2017-02-21 Mcafee, Inc. Agent assisted malicious application blocking in a network environment
US9594881B2 (en) 2011-09-09 2017-03-14 Mcafee, Inc. System and method for passive threat detection using virtual memory inspection
US9946562B2 (en) 2011-10-13 2018-04-17 Mcafee, Llc System and method for kernel rootkit protection in a hypervisor environment

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539063B1 (en) 2003-08-29 2013-09-17 Mcafee, Inc. Method and system for containment of networked application client software by explicit human input
US7840968B1 (en) * 2003-12-17 2010-11-23 Mcafee, Inc. Method and system for containment of usage of language interfaces
US7603552B1 (en) 2005-05-04 2009-10-13 Mcafee, Inc. Piracy prevention using unique module translation
US7870387B1 (en) * 2006-04-07 2011-01-11 Mcafee, Inc. Program-based authorization
US8555404B1 (en) 2006-05-18 2013-10-08 Mcafee, Inc. Connectivity-based authorization
US8195931B1 (en) 2007-10-31 2012-06-05 Mcafee, Inc. Application change control
US8701189B2 (en) 2008-01-31 2014-04-15 Mcafee, Inc. Method of and system for computer system denial-of-service protection
US8615502B2 (en) 2008-04-18 2013-12-24 Mcafee, Inc. Method of and system for reverse mapping vnode pointers
US8544003B1 (en) 2008-12-11 2013-09-24 Mcafee, Inc. System and method for managing virtual machine configurations
US8381284B2 (en) 2009-08-21 2013-02-19 Mcafee, Inc. System and method for enforcing security policies in a virtual environment
US8341627B2 (en) * 2009-08-21 2012-12-25 Mcafee, Inc. Method and system for providing user space address protection from writable memory area in a virtual environment
US8694738B2 (en) 2011-10-11 2014-04-08 Mcafee, Inc. System and method for critical address space protection in a hypervisor environment

Citations (203)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4688169A (en) 1985-05-30 1987-08-18 Joshi Bhagirath S Computer software security system
US4982430A (en) * 1985-04-24 1991-01-01 General Instrument Corporation Bootstrap channel security arrangement for communication network
US5155847A (en) 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5222134A (en) 1990-11-07 1993-06-22 Tau Systems Corporation Secure system for activating personal computer software at remote locations
US5390314A (en) 1992-10-09 1995-02-14 American Airlines, Inc. Method and apparatus for developing scripts that access mainframe resources that can be executed on various computer systems having different interface languages without modification
US5521849A (en) 1992-10-22 1996-05-28 Base Ten Systems, Inc. System for operating application software in a safety critical environment
US5560008A (en) 1989-05-15 1996-09-24 International Business Machines Corporation Remote authentication and authorization in a distributed data processing system
US5699513A (en) 1995-03-31 1997-12-16 Motorola, Inc. Method for secure network access via message intercept
US5778349A (en) * 1994-11-30 1998-07-07 Nec Corporation Method of processing input/output request in computer system including a plurality of subsystems
US5778226A (en) 1989-10-20 1998-07-07 Iomega Corporation Kernels, description tables and device drivers
US5787427A (en) 1996-01-03 1998-07-28 International Business Machines Corporation Information handling system, method, and article of manufacture for efficient object security processing by grouping objects sharing common control access policies
US5842017A (en) 1996-01-29 1998-11-24 Digital Equipment Corporation Method and apparatus for forming a translation unit
US5907860A (en) 1993-10-18 1999-05-25 National Semiconductor Corporation System and method of retiring store data from a write buffer
US5907709A (en) 1996-02-08 1999-05-25 Inprise Corporation Development system with methods for detecting invalid use and management of resources and memory at runtime
US5974149A (en) 1996-08-01 1999-10-26 Harris Corporation Integrated network security access control system
US5987610A (en) 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
US5987611A (en) 1996-12-31 1999-11-16 Zone Labs, Inc. System and methodology for managing internet access on a per application basis for client computers connected to the internet
US5991881A (en) 1996-11-08 1999-11-23 Harris Corporation Network surveillance system
US6073142A (en) 1997-06-23 2000-06-06 Park City Group Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments
US6141698A (en) 1997-01-29 2000-10-31 Network Commerce Inc. Method and system for injecting new code into existing application code
US6192401B1 (en) 1997-10-21 2001-02-20 Sun Microsystems, Inc. System and method for determining cluster membership in a heterogeneous distributed system
US6192475B1 (en) 1997-03-31 2001-02-20 David R. Wallace System and method for cloaking software
US6256773B1 (en) 1999-08-31 2001-07-03 Accenture Llp System, method and article of manufacture for configuration management in a development architecture framework
US6275938B1 (en) 1997-08-28 2001-08-14 Microsoft Corporation Security enhancement for untrusted executable code
WO2001084285A2 (en) 2000-04-28 2001-11-08 Internet Security Systems, Inc. Method and system for managing computer security information
US6321267B1 (en) 1999-11-23 2001-11-20 Escom Corporation Method and apparatus for filtering junk email
US6338149B1 (en) 1998-07-31 2002-01-08 Westinghouse Electric Company Llc Change monitoring system for a computer system
US6356957B2 (en) 1997-04-03 2002-03-12 Hewlett-Packard Company Method for emulating native object oriented foundation classes on a target object oriented programming system using a template library
US20020056076A1 (en) 2000-10-24 2002-05-09 Vcis, Inc. Analytical virtual machine
US6393465B2 (en) 1997-11-25 2002-05-21 Nixmail Corporation Junk electronic mail detector and eliminator
US20020069367A1 (en) 2000-12-06 2002-06-06 Glen Tindal Network operating system data directory
US20020083175A1 (en) 2000-10-17 2002-06-27 Wanwall, Inc. (A Delaware Corporation) Methods and apparatus for protecting against overload conditions on nodes of a distributed network
US20020099671A1 (en) 2000-07-10 2002-07-25 Mastin Crosbie Tanya M. Query string processing
US6442686B1 (en) 1998-07-02 2002-08-27 Networks Associates Technology, Inc. System and methodology for messaging server-based management and enforcement of crypto policies
US6449040B1 (en) 1998-11-11 2002-09-10 Shimadzu Corporation Spectrophotometer with validation programs
US6453468B1 (en) 1999-06-30 2002-09-17 B-Hub, Inc. Methods for improving reliability while upgrading software programs in a clustered computer system
US6460050B1 (en) 1999-12-22 2002-10-01 Mark Raymond Pace Distributed content identification system
US20030014667A1 (en) 2001-07-16 2003-01-16 Andrei Kolichtchak Buffer overflow attack detection and suppression
US20030023736A1 (en) 2001-07-12 2003-01-30 Kurt Abkemeier Method and system for filtering messages
US20030033510A1 (en) 2001-08-08 2003-02-13 David Dice Methods and apparatus for controlling speculative execution of instructions based on a multiaccess memory condition
US20030073894A1 (en) 1999-06-22 2003-04-17 Tera Tech Corporation Ultrasound probe with integrated electronics
US20030074552A1 (en) 2000-04-25 2003-04-17 Secure Data In Motion Security server system
US20030120935A1 (en) 2001-12-20 2003-06-26 Coretrace Corporation Kernel-based network security infrastructure
US20030120811A1 (en) 1998-10-09 2003-06-26 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US20030120601A1 (en) 2001-12-12 2003-06-26 Secretseal Inc. Dynamic evaluation of access rights
US6587877B1 (en) 1997-03-25 2003-07-01 Lucent Technologies Inc. Management of time and expense when communicating between a host and a communication network
US20030145232A1 (en) 2002-01-31 2003-07-31 Poletto Massimiliano Antonio Denial of service attacks characterization
US6611925B1 (en) 2000-06-13 2003-08-26 Networks Associates Technology, Inc. Single point of entry/origination item scanning within an enterprise or workgroup
US20030163718A1 (en) 2000-04-12 2003-08-28 Johnson Harold J. Tamper resistant software-mass data encoding
US20030167399A1 (en) 2002-03-01 2003-09-04 Yves Audebert Method and system for performing post issuance configuration and data changes to a personal security device using a communications pipe
US20030200332A1 (en) 1999-07-29 2003-10-23 Amit Gupta Method and apparatus for dynamic proxy insertion in network traffic flow
US20030212902A1 (en) 2002-05-13 2003-11-13 Van Der Made Peter A.J. Computer immune system and method for detecting unwanted code in a P-code or partially compiled native-code program executing within a virtual machine
US20030221190A1 (en) 2002-05-22 2003-11-27 Sun Microsystems, Inc. System and method for performing patch installation on multiple devices
US20030220944A1 (en) 2002-04-03 2003-11-27 Lyman Schottland Paul Joseph Delta replication of source files and packages across networked resources
US6662219B1 (en) 1999-12-15 2003-12-09 Microsoft Corporation System for determining at subgroup of nodes relative weight to represent cluster by obtaining exclusive possession of quorum resource
US20040003258A1 (en) 2002-06-28 2004-01-01 Billingsley Eric N. Method and system for monitoring user interaction with a computer
US20040015554A1 (en) 2002-07-16 2004-01-22 Brian Wilson Active e-mail filter with challenge-response
US20040051736A1 (en) 2002-09-17 2004-03-18 Daniell W. Todd System and method for forwarding full header information in email messages
US20040054928A1 (en) 2002-06-17 2004-03-18 Hall Robert J. Method and device for detecting computer network intrusions
US6748534B1 (en) 2000-03-31 2004-06-08 Networks Associates, Inc. System and method for partitioned distributed scanning of a large dataset for viruses and other malware
US20040143749A1 (en) 2003-01-16 2004-07-22 Platformlogic, Inc. Behavior-based host-based intrusion prevention system
US6769115B1 (en) 2000-05-01 2004-07-27 Emc Corporation Adaptive interface for a software development environment
US6769008B1 (en) 2000-01-10 2004-07-27 Sun Microsystems, Inc. Method and apparatus for dynamically altering configurations of clustered computer systems
US20040167906A1 (en) 2003-02-25 2004-08-26 Smith Randolph C. System consolidation tool and method for patching multiple servers
US6795966B1 (en) 1998-05-15 2004-09-21 Vmware, Inc. Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction
US20040230963A1 (en) 2003-05-12 2004-11-18 Rothman Michael A. Method for updating firmware in an operating system agnostic manner
EP1482394A2 (en) 2003-05-28 2004-12-01 Robert Bosch Gmbh Method for access control to resources of an application in a computer system
US20040243678A1 (en) 2003-05-29 2004-12-02 Mindshare Design, Inc. Systems and methods for automatically updating electronic mail access lists
US6832227B2 (en) 2001-02-19 2004-12-14 Hitachi, Ltd. Database management program, a database managing method and an apparatus therefor
US20040255161A1 (en) 2003-04-12 2004-12-16 Deep Nines, Inc. System and method for network edge data protection
US6834301B1 (en) 2000-11-08 2004-12-21 Networks Associates Technology, Inc. System and method for configuration, management, and monitoring of a computer network using inheritance
US6847993B1 (en) 2000-05-31 2005-01-25 International Business Machines Corporation Method, system and program products for managing cluster configurations
US20050018651A1 (en) 2003-07-22 2005-01-27 Innomedia Pte Ltd. Stand alone multi-media terminal adapter with network address translation and port partitioning
US20050086047A1 (en) 2001-12-27 2005-04-21 Kiyotaka Uchimoto Syntax analysis method and apparatus
US20050108516A1 (en) 2003-04-17 2005-05-19 Robert Balzer By-pass and tampering protection for application wrappers
US20050108562A1 (en) 2003-06-18 2005-05-19 Khazan Roger I. Technique for detecting executable malicious code using a combination of static and dynamic analyses
US20050114672A1 (en) 2003-11-20 2005-05-26 Encryptx Corporation Data rights management of digital information in a portable software permission wrapper
US6907600B2 (en) 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
US20050132346A1 (en) 2003-12-10 2005-06-16 Sap Aktiengesellschaft Software interface monitor method and system
US6918110B2 (en) 2001-04-11 2005-07-12 Hewlett-Packard Development Company, L.P. Dynamic instrumentation of an executable program by means of causing a breakpoint at the entry point of a function and providing instrumentation code
US6930985B1 (en) 2000-10-26 2005-08-16 Extreme Networks, Inc. Method and apparatus for management of configuration in a network
US6934755B1 (en) 2000-06-02 2005-08-23 Sun Microsystems, Inc. System and method for migrating processes on a network
US20050228990A1 (en) 2001-12-13 2005-10-13 Kazuhiko Kato Software safety execution system
US20050235360A1 (en) 1999-11-18 2005-10-20 Secureworks, Inc. Method and system for remotely configuring and monitoring a communication device
US20050257265A1 (en) 2003-06-11 2005-11-17 Cook Randall R Intrustion protection system utilizing layers
US20050257207A1 (en) 2004-05-11 2005-11-17 Microsoft Corporation Efficient patching
US20050262558A1 (en) 2004-04-19 2005-11-24 Viacheslav Usov On-line centralized and local authorization of executable files
US20050260996A1 (en) 2004-05-24 2005-11-24 Groenendaal Joannes G V System and method for automatically configuring a mobile device
US20050273858A1 (en) 2004-06-07 2005-12-08 Erez Zadok Stackable file systems and methods thereof
US20050283823A1 (en) 2004-06-21 2005-12-22 Nec Corporation Method and apparatus for security policy management
US20050289538A1 (en) 2004-06-23 2005-12-29 International Business Machines Corporation Deploying an application software on a virtual deployment target
US20060004875A1 (en) 2004-05-11 2006-01-05 Microsoft Corporation CMDB schema
US6988101B2 (en) 2001-05-31 2006-01-17 International Business Machines Corporation Method, system, and computer program product for providing an extensible file system for accessing a foreign file system from a local data processing system
US6988124B2 (en) 2001-06-06 2006-01-17 Microsoft Corporation Locating potentially identical objects across multiple computers based on stochastic partitioning of workload
US20060015501A1 (en) 2004-07-19 2006-01-19 International Business Machines Corporation System, method and program product to determine a time interval at which to check conditions to permit access to a file
WO2006012197A2 (en) 2004-06-29 2006-02-02 Intel Corporation Method of improving computer security through sandboxing
US20060037016A1 (en) 2004-07-28 2006-02-16 Oracle International Corporation Methods and systems for modifying nodes in a cluster environment
US7007302B1 (en) 2001-08-31 2006-02-28 Mcafee, Inc. Efficient management and blocking of malicious code and hacking attempts in a network environment
US7010796B1 (en) 2001-09-28 2006-03-07 Emc Corporation Methods and apparatus providing remote operation of an application programming interface
US7024548B1 (en) 2003-03-10 2006-04-04 Cisco Technology, Inc. Methods and apparatus for auditing and tracking changes to an existing configuration of a computerized device
US20060080656A1 (en) 2004-10-12 2006-04-13 Microsoft Corporation Methods and instructions for patch management
US20060085785A1 (en) 2004-10-15 2006-04-20 Emc Corporation Method and apparatus for configuring, monitoring and/or managing resource groups including a virtual machine
US7039949B2 (en) 2001-12-10 2006-05-02 Brian Ross Cartmell Method and system for blocking unwanted communications
US20060101277A1 (en) 2004-11-10 2006-05-11 Meenan Patrick A Detecting and remedying unauthorized computer programs
US7065767B2 (en) 2001-06-29 2006-06-20 Intel Corporation Managed hosting server auditing and change tracking
US20060133223A1 (en) 2003-03-28 2006-06-22 Matsusuhita Electric Industrial Co., Ltd. Recording medium, recording device usint the same, and reproduction device
US20060136911A1 (en) 2004-12-17 2006-06-22 Intel Corporation Method, apparatus and system for enhacing the usability of virtual machines
US20060136910A1 (en) 2004-12-17 2006-06-22 Intel Corporation Method, apparatus and system for improving security in a virtual machine host
US7069330B1 (en) 2001-07-05 2006-06-27 Mcafee, Inc. Control of interaction between client computer applications and network resources
US7082456B2 (en) 2000-03-17 2006-07-25 Filesx Ltd. Accelerating responses to requests made by users to an internet
US7093239B1 (en) 2000-07-14 2006-08-15 Internet Security Systems, Inc. Computer immune system and method for detecting unwanted code in a computer system
US20060195906A1 (en) 2005-02-26 2006-08-31 International Business Machines Corporation System, method, and service for detecting improper manipulation of an application
US20060200863A1 (en) 2005-03-01 2006-09-07 Microsoft Corporation On-access scan of memory for malware
US20060230314A1 (en) 2005-04-07 2006-10-12 Sanjar Amir F Automatic generation of solution deployment descriptors
US7124409B2 (en) 1995-03-10 2006-10-17 Microsoft Corporation Automatic software installation on heterogeneous networked computer systems
US20060236398A1 (en) 2005-04-14 2006-10-19 International Business Machines Corporation Selective virus scanning system and method
WO2006124832A1 (en) 2005-05-19 2006-11-23 Websense, Inc. System and method of monitoring and controlling application files
US7152148B2 (en) 2001-05-31 2006-12-19 Oracle International Corporation Storage access keys
US7159036B2 (en) 2001-12-10 2007-01-02 Mcafee, Inc. Updating data from a source computer to groups of destination computers
US20070011746A1 (en) 2005-07-11 2007-01-11 Microsoft Corporation Per-user and system granular audit policy implementation
US20070028303A1 (en) 2005-07-29 2007-02-01 Bit 9, Inc. Content tracking in a network security system
US7177267B2 (en) 2001-11-09 2007-02-13 Adc Dsl Systems, Inc. Hardware monitoring and configuration management
US20070039049A1 (en) 2005-08-11 2007-02-15 Netmanage, Inc. Real-time activity monitoring and reporting
US20070050579A1 (en) 2005-08-30 2007-03-01 Hall Kenwood H Method and apparatus for synchronizing an industrial controller with a redundant controller
US20070050764A1 (en) 2005-08-30 2007-03-01 Microsoft Corporation Hierarchical virtualization with a multi-level virtualization mechanism
US20070074199A1 (en) 2005-09-27 2007-03-29 Sebastian Schoenberg Method and apparatus for delivering microcode updates through virtual machine operations
US7203864B2 (en) 2004-06-25 2007-04-10 Hewlett-Packard Development Company, L.P. Method and system for clustering computers into peer groups and comparing individual computers to their peers
US20070083522A1 (en) 2005-10-07 2007-04-12 Nord Joseph H Method and a system for responding locally to requests for file metadata associated with files stored remotely
US20070101435A1 (en) 2005-10-14 2007-05-03 Check Point Software Technologies, Inc. System and Methodology Providing Secure Workspace Environment
US20070136579A1 (en) 2005-12-09 2007-06-14 University Of Washington Web browser operating system
US20070143851A1 (en) 2005-12-21 2007-06-21 Fiberlink Method and systems for controlling access to computing resources based on known security vulnerabilities
US20070169079A1 (en) 2005-11-08 2007-07-19 Microsoft Corporation Software update management
US7251655B2 (en) 2000-11-21 2007-07-31 Microsoft Corporation Project-based configuration management method and apparatus
US20070192329A1 (en) 2006-01-24 2007-08-16 Citrix Systems, Inc. Methods and systems for executing, by a virtual machine, an application program requested by a client machine
US20070220507A1 (en) 2006-03-20 2007-09-20 Microsoft Corporation Managing version information for software components
US20070220061A1 (en) 2005-06-21 2007-09-20 Oren Tirosh Method and system for tracking an operation performed on an information asset with metadata associated therewith
US7290266B2 (en) 2001-06-14 2007-10-30 Cisco Technology, Inc. Access control by a real-time stateful reference monitor with a state collection training mode and a lockdown mode for detecting predetermined patterns of events indicative of requests for operating system resources resulting in a decision to allow or block activity identified in a sequence of events based on a rule set defining a processing policy
US20070253430A1 (en) 2002-04-23 2007-11-01 Minami John S Gigabit Ethernet Adapter
US20070256138A1 (en) 2006-04-26 2007-11-01 Macrovision Corporation Computer-implemented method and system for binding digital rights management executable code to a software application
US20070271561A1 (en) 2006-05-22 2007-11-22 Microsoft Corporation Updating virtual machine with patch or the like
US7302558B2 (en) 2005-01-25 2007-11-27 Goldman Sachs & Co. Systems and methods to facilitate the creation and configuration management of computing systems
US20070300215A1 (en) 2006-06-26 2007-12-27 Bardsley Jeffrey S Methods, systems, and computer program products for obtaining and utilizing a score indicative of an overall performance effect of a software update on a software host
US20080005737A1 (en) 2006-06-30 2008-01-03 Bratin Saha Concurrent thread execution using user-level asynchronous signaling
US20080005798A1 (en) 2006-06-30 2008-01-03 Ross Alan D Hardware platform authentication and multi-purpose validation
US20080010304A1 (en) 2006-03-29 2008-01-10 Santosh Vempala Techniques for clustering a set of objects
US20080022384A1 (en) 2006-06-06 2008-01-24 Microsoft Corporation Reputation Driven Firewall
US20080034416A1 (en) 2006-08-03 2008-02-07 Arkesh Kumar Methods and systems for routing packets in a vpn-client-to-vpn-client connection via an ssl/vpn network appliance
US7330849B2 (en) 2002-05-28 2008-02-12 Iac Search & Media, Inc. Retrieval and display of data objects using a cross-group ranking metric
US20080052468A1 (en) 2005-12-12 2008-02-28 Sytex, Inc. Methods, systems and computer readable medium for detecting memory overflow conditions
US7346781B2 (en) 2001-12-06 2008-03-18 Mcafee, Inc. Initiating execution of a computer program from an encrypted version of a computer program
US7350204B2 (en) 2000-07-24 2008-03-25 Microsoft Corporation Policies for secure software execution
US7349931B2 (en) 2005-04-14 2008-03-25 Webroot Software, Inc. System and method for scanning obfuscated files for pestware
US7353501B2 (en) 2002-11-18 2008-04-01 Microsoft Corporation Generic wrapper scheme
US20080082977A1 (en) 2006-09-29 2008-04-03 Microsoft Corporation Automatic load and balancing for virtual machines to meet resource requirements
US7363022B2 (en) 2002-08-09 2008-04-22 Wavelink Corporation Mobile unit configuration management for WLANS
WO2008054997A2 (en) 2006-10-17 2008-05-08 Manage Iq, Inc. Control and management of virtual systems
US20080120499A1 (en) 2006-11-16 2008-05-22 Zimmer Vincent J Methods and apparatus for defeating malware
US20080163210A1 (en) 2006-12-29 2008-07-03 Mic Bowman Dynamic virtual machine generation
US20080163207A1 (en) 2007-01-03 2008-07-03 International Business Machines Corporation Moveable access control list (acl) mechanisms for hypervisors and virtual machines and virtual port firewalls
US20080165952A1 (en) 2007-01-07 2008-07-10 Michael Smith Secure Booting A Computing Device
US7406517B2 (en) 2000-10-24 2008-07-29 Microsoft Corporation System and method for distributed management of shared computers
US20080184373A1 (en) 2007-01-25 2008-07-31 Microsoft Corporation Protection Agents and Privilege Modes
US20080235534A1 (en) 2007-03-22 2008-09-25 International Business Machines Corporation Integrity protection in data processing systems
US7441265B2 (en) 2000-08-04 2008-10-21 Prismtech Gmbh Method and system for session based authorization and access control for networked application objects
US20080294703A1 (en) 2007-05-21 2008-11-27 David John Craft Method and apparatus for obtaining the absolute path name of an open file system object from its file descriptor
US20080301770A1 (en) 2007-05-31 2008-12-04 Kinder Nathan G Identity based virtual machine selector
US7464408B1 (en) 2003-08-29 2008-12-09 Solidcore Systems, Inc. Damage containment by translation
US20090038017A1 (en) 2007-08-02 2009-02-05 David Durham Secure vault service for software components within an execution environment
US20090043993A1 (en) 2006-03-03 2009-02-12 Simon Andrew Ford Monitoring Values of Signals within an Integrated Circuit
US7506170B2 (en) 2004-05-28 2009-03-17 Microsoft Corporation Method for secure access to multiple secure networks
US7506155B1 (en) 2000-06-22 2009-03-17 Gatekeeper Llc E-mail virus protection system and method
EP2037657A1 (en) 2007-09-17 2009-03-18 Intel Corporation Method and apparatus for dynamic switching and real time security control on virtualized systems
US20090113110A1 (en) 2007-10-30 2009-04-30 Vmware, Inc. Providing VMM Access to Guest Virtual Memory
US20090144300A1 (en) 2007-08-29 2009-06-04 Chatley Scott P Coupling a user file name with a physical data file stored in a storage delivery network
US7546333B2 (en) 2002-10-23 2009-06-09 Netapp, Inc. Methods and systems for predictive change management for access paths in networks
US7546594B2 (en) 2003-12-15 2009-06-09 Microsoft Corporation System and method for updating installation components using an installation component delta patch in a networked environment
US20090150639A1 (en) 2007-12-07 2009-06-11 Hideo Ohata Management apparatus and management method
US7552479B1 (en) 2005-03-22 2009-06-23 Symantec Corporation Detecting shellcode that modifies IAT entries
US20090249438A1 (en) 2008-03-27 2009-10-01 Moshe Litvin Moving security for virtual machines
US7603552B1 (en) 2005-05-04 2009-10-13 Mcafee, Inc. Piracy prevention using unique module translation
US7607170B2 (en) 2004-12-22 2009-10-20 Radware Ltd. Stateful attack protection
US7669195B1 (en) 2003-07-31 2010-02-23 Hewlett-Packard Development Company, L.P. Electronic device network supporting compression and decompression in electronic devices and update generator
US20100071035A1 (en) 2008-09-12 2010-03-18 Renata Budko Methods and systems for securely managing virtualization platform
US7685635B2 (en) 2005-03-11 2010-03-23 Microsoft Corporation Systems and methods for multi-level intercept processing in a virtual machine environment
US7698744B2 (en) 2004-12-03 2010-04-13 Whitecell Software Inc. Secure system for allowing the execution of authorized computer program code
US7703090B2 (en) 2004-08-31 2010-04-20 Microsoft Corporation Patch un-installation
US20100100970A1 (en) 2006-02-02 2010-04-22 Rahul Roy-Chowdhury Enforcing alignment of approved changes and deployed changes in the software change life-cycle
US20100114825A1 (en) 2008-10-27 2010-05-06 Vmware, Inc. Version control environment for virtual machines
US7765538B2 (en) 2004-10-29 2010-07-27 Hewlett-Packard Development Company, L.P. Method and apparatus for determining which program patches to recommend for installation
US7783735B1 (en) 2004-03-22 2010-08-24 Mcafee, Inc. Containment of network communication
US7809704B2 (en) 2006-06-15 2010-10-05 Microsoft Corporation Combining spectral and probabilistic clustering
US7818377B2 (en) 2004-05-24 2010-10-19 Microsoft Corporation Extended message rule architecture
US7823148B2 (en) 2002-05-22 2010-10-26 Oracle America, Inc. System and method for performing patch installation via a graphical user interface
US20100281133A1 (en) 2004-03-04 2010-11-04 Juergen Brendel Storing lossy hashes of file names and parent handles rather than full names using a compact table for network-attached-storage (nas)
US7840968B1 (en) 2003-12-17 2010-11-23 Mcafee, Inc. Method and system for containment of usage of language interfaces
US7849507B1 (en) 2006-04-29 2010-12-07 Ironport Systems, Inc. Apparatus for filtering server responses
US7856661B1 (en) 2005-07-14 2010-12-21 Mcafee, Inc. Classification of software on networked systems
US20100332910A1 (en) 2009-06-26 2010-12-30 Vmware, Inc. System and method to reduce trace faults in software mmu virtualization
US20110035423A1 (en) 2005-03-18 2011-02-10 Sony Corporation Reproducing apparatus, reproducing method, program, program storage medium, data delivery system, data structure, and manufacturing method of recording medium
US20110047543A1 (en) 2009-08-21 2011-02-24 Preet Mohinder System and Method for Providing Address Protection in a Virtual Environment
US20110138461A1 (en) 2006-03-27 2011-06-09 Mcafee, Inc., A Delaware Corporation Execution environment file inventory
US7966659B1 (en) 2006-04-18 2011-06-21 Rockwell Automation Technologies, Inc. Distributed learn mode for configuring a firewall, security authority, intrusion detection/prevention devices, and the like
US8015563B2 (en) 2006-04-14 2011-09-06 Microsoft Corporation Managing virtual machines with system-wide policies

Patent Citations (213)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4982430A (en) * 1985-04-24 1991-01-01 General Instrument Corporation Bootstrap channel security arrangement for communication network
US4688169A (en) 1985-05-30 1987-08-18 Joshi Bhagirath S Computer software security system
US5155847A (en) 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5560008A (en) 1989-05-15 1996-09-24 International Business Machines Corporation Remote authentication and authorization in a distributed data processing system
US5778226A (en) 1989-10-20 1998-07-07 Iomega Corporation Kernels, description tables and device drivers
US5222134A (en) 1990-11-07 1993-06-22 Tau Systems Corporation Secure system for activating personal computer software at remote locations
US5390314A (en) 1992-10-09 1995-02-14 American Airlines, Inc. Method and apparatus for developing scripts that access mainframe resources that can be executed on various computer systems having different interface languages without modification
US5521849A (en) 1992-10-22 1996-05-28 Base Ten Systems, Inc. System for operating application software in a safety critical environment
US5907860A (en) 1993-10-18 1999-05-25 National Semiconductor Corporation System and method of retiring store data from a write buffer
US5778349A (en) * 1994-11-30 1998-07-07 Nec Corporation Method of processing input/output request in computer system including a plurality of subsystems
US7124409B2 (en) 1995-03-10 2006-10-17 Microsoft Corporation Automatic software installation on heterogeneous networked computer systems
US5699513A (en) 1995-03-31 1997-12-16 Motorola, Inc. Method for secure network access via message intercept
US5787427A (en) 1996-01-03 1998-07-28 International Business Machines Corporation Information handling system, method, and article of manufacture for efficient object security processing by grouping objects sharing common control access policies
US5842017A (en) 1996-01-29 1998-11-24 Digital Equipment Corporation Method and apparatus for forming a translation unit
US5907709A (en) 1996-02-08 1999-05-25 Inprise Corporation Development system with methods for detecting invalid use and management of resources and memory at runtime
US5974149A (en) 1996-08-01 1999-10-26 Harris Corporation Integrated network security access control system
US5991881A (en) 1996-11-08 1999-11-23 Harris Corporation Network surveillance system
US5987611A (en) 1996-12-31 1999-11-16 Zone Labs, Inc. System and methodology for managing internet access on a per application basis for client computers connected to the internet
US6141698A (en) 1997-01-29 2000-10-31 Network Commerce Inc. Method and system for injecting new code into existing application code
US6587877B1 (en) 1997-03-25 2003-07-01 Lucent Technologies Inc. Management of time and expense when communicating between a host and a communication network
US6192475B1 (en) 1997-03-31 2001-02-20 David R. Wallace System and method for cloaking software
US6356957B2 (en) 1997-04-03 2002-03-12 Hewlett-Packard Company Method for emulating native object oriented foundation classes on a target object oriented programming system using a template library
US6073142A (en) 1997-06-23 2000-06-06 Park City Group Automated post office based rule analysis of e-mail messages and other data objects for controlled distribution in network environments
US6275938B1 (en) 1997-08-28 2001-08-14 Microsoft Corporation Security enhancement for untrusted executable code
US6192401B1 (en) 1997-10-21 2001-02-20 Sun Microsystems, Inc. System and method for determining cluster membership in a heterogeneous distributed system
US6393465B2 (en) 1997-11-25 2002-05-21 Nixmail Corporation Junk electronic mail detector and eliminator
US5987610A (en) 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
US6795966B1 (en) 1998-05-15 2004-09-21 Vmware, Inc. Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction
US6442686B1 (en) 1998-07-02 2002-08-27 Networks Associates Technology, Inc. System and methodology for messaging server-based management and enforcement of crypto policies
US6338149B1 (en) 1998-07-31 2002-01-08 Westinghouse Electric Company Llc Change monitoring system for a computer system
US20030120811A1 (en) 1998-10-09 2003-06-26 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US6449040B1 (en) 1998-11-11 2002-09-10 Shimadzu Corporation Spectrophotometer with validation programs
US20030073894A1 (en) 1999-06-22 2003-04-17 Tera Tech Corporation Ultrasound probe with integrated electronics
US6453468B1 (en) 1999-06-30 2002-09-17 B-Hub, Inc. Methods for improving reliability while upgrading software programs in a clustered computer system
US20030200332A1 (en) 1999-07-29 2003-10-23 Amit Gupta Method and apparatus for dynamic proxy insertion in network traffic flow
US6256773B1 (en) 1999-08-31 2001-07-03 Accenture Llp System, method and article of manufacture for configuration management in a development architecture framework
US20050235360A1 (en) 1999-11-18 2005-10-20 Secureworks, Inc. Method and system for remotely configuring and monitoring a communication device
US6321267B1 (en) 1999-11-23 2001-11-20 Escom Corporation Method and apparatus for filtering junk email
US6662219B1 (en) 1999-12-15 2003-12-09 Microsoft Corporation System for determining at subgroup of nodes relative weight to represent cluster by obtaining exclusive possession of quorum resource
US6460050B1 (en) 1999-12-22 2002-10-01 Mark Raymond Pace Distributed content identification system
US6769008B1 (en) 2000-01-10 2004-07-27 Sun Microsystems, Inc. Method and apparatus for dynamically altering configurations of clustered computer systems
US7082456B2 (en) 2000-03-17 2006-07-25 Filesx Ltd. Accelerating responses to requests made by users to an internet
US6748534B1 (en) 2000-03-31 2004-06-08 Networks Associates, Inc. System and method for partitioned distributed scanning of a large dataset for viruses and other malware
US20030163718A1 (en) 2000-04-12 2003-08-28 Johnson Harold J. Tamper resistant software-mass data encoding
US20030074552A1 (en) 2000-04-25 2003-04-17 Secure Data In Motion Security server system
WO2001084285A2 (en) 2000-04-28 2001-11-08 Internet Security Systems, Inc. Method and system for managing computer security information
US6769115B1 (en) 2000-05-01 2004-07-27 Emc Corporation Adaptive interface for a software development environment
US6847993B1 (en) 2000-05-31 2005-01-25 International Business Machines Corporation Method, system and program products for managing cluster configurations
US6934755B1 (en) 2000-06-02 2005-08-23 Sun Microsystems, Inc. System and method for migrating processes on a network
US6611925B1 (en) 2000-06-13 2003-08-26 Networks Associates Technology, Inc. Single point of entry/origination item scanning within an enterprise or workgroup
US7506155B1 (en) 2000-06-22 2009-03-17 Gatekeeper Llc E-mail virus protection system and method
US20020099671A1 (en) 2000-07-10 2002-07-25 Mastin Crosbie Tanya M. Query string processing
US7093239B1 (en) 2000-07-14 2006-08-15 Internet Security Systems, Inc. Computer immune system and method for detecting unwanted code in a computer system
US7350204B2 (en) 2000-07-24 2008-03-25 Microsoft Corporation Policies for secure software execution
US7441265B2 (en) 2000-08-04 2008-10-21 Prismtech Gmbh Method and system for session based authorization and access control for networked application objects
US20020083175A1 (en) 2000-10-17 2002-06-27 Wanwall, Inc. (A Delaware Corporation) Methods and apparatus for protecting against overload conditions on nodes of a distributed network
US20020056076A1 (en) 2000-10-24 2002-05-09 Vcis, Inc. Analytical virtual machine
US7406517B2 (en) 2000-10-24 2008-07-29 Microsoft Corporation System and method for distributed management of shared computers
US6930985B1 (en) 2000-10-26 2005-08-16 Extreme Networks, Inc. Method and apparatus for management of configuration in a network
US6834301B1 (en) 2000-11-08 2004-12-21 Networks Associates Technology, Inc. System and method for configuration, management, and monitoring of a computer network using inheritance
US7251655B2 (en) 2000-11-21 2007-07-31 Microsoft Corporation Project-based configuration management method and apparatus
US20020069367A1 (en) 2000-12-06 2002-06-06 Glen Tindal Network operating system data directory
US6907600B2 (en) 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
US6832227B2 (en) 2001-02-19 2004-12-14 Hitachi, Ltd. Database management program, a database managing method and an apparatus therefor
US6918110B2 (en) 2001-04-11 2005-07-12 Hewlett-Packard Development Company, L.P. Dynamic instrumentation of an executable program by means of causing a breakpoint at the entry point of a function and providing instrumentation code
US7152148B2 (en) 2001-05-31 2006-12-19 Oracle International Corporation Storage access keys
US6988101B2 (en) 2001-05-31 2006-01-17 International Business Machines Corporation Method, system, and computer program product for providing an extensible file system for accessing a foreign file system from a local data processing system
US6988124B2 (en) 2001-06-06 2006-01-17 Microsoft Corporation Locating potentially identical objects across multiple computers based on stochastic partitioning of workload
US7290266B2 (en) 2001-06-14 2007-10-30 Cisco Technology, Inc. Access control by a real-time stateful reference monitor with a state collection training mode and a lockdown mode for detecting predetermined patterns of events indicative of requests for operating system resources resulting in a decision to allow or block activity identified in a sequence of events based on a rule set defining a processing policy
US7065767B2 (en) 2001-06-29 2006-06-20 Intel Corporation Managed hosting server auditing and change tracking
US7069330B1 (en) 2001-07-05 2006-06-27 Mcafee, Inc. Control of interaction between client computer applications and network resources
US20030023736A1 (en) 2001-07-12 2003-01-30 Kurt Abkemeier Method and system for filtering messages
US20030014667A1 (en) 2001-07-16 2003-01-16 Andrei Kolichtchak Buffer overflow attack detection and suppression
US20030033510A1 (en) 2001-08-08 2003-02-13 David Dice Methods and apparatus for controlling speculative execution of instructions based on a multiaccess memory condition
US7007302B1 (en) 2001-08-31 2006-02-28 Mcafee, Inc. Efficient management and blocking of malicious code and hacking attempts in a network environment
US7010796B1 (en) 2001-09-28 2006-03-07 Emc Corporation Methods and apparatus providing remote operation of an application programming interface
US7177267B2 (en) 2001-11-09 2007-02-13 Adc Dsl Systems, Inc. Hardware monitoring and configuration management
US7346781B2 (en) 2001-12-06 2008-03-18 Mcafee, Inc. Initiating execution of a computer program from an encrypted version of a computer program
US7159036B2 (en) 2001-12-10 2007-01-02 Mcafee, Inc. Updating data from a source computer to groups of destination computers
US7039949B2 (en) 2001-12-10 2006-05-02 Brian Ross Cartmell Method and system for blocking unwanted communications
US20030120601A1 (en) 2001-12-12 2003-06-26 Secretseal Inc. Dynamic evaluation of access rights
US20050228990A1 (en) 2001-12-13 2005-10-13 Kazuhiko Kato Software safety execution system
US20030120935A1 (en) 2001-12-20 2003-06-26 Coretrace Corporation Kernel-based network security infrastructure
US20050086047A1 (en) 2001-12-27 2005-04-21 Kiyotaka Uchimoto Syntax analysis method and apparatus
US20030145232A1 (en) 2002-01-31 2003-07-31 Poletto Massimiliano Antonio Denial of service attacks characterization
US20030167399A1 (en) 2002-03-01 2003-09-04 Yves Audebert Method and system for performing post issuance configuration and data changes to a personal security device using a communications pipe
US20030220944A1 (en) 2002-04-03 2003-11-27 Lyman Schottland Paul Joseph Delta replication of source files and packages across networked resources
US20070253430A1 (en) 2002-04-23 2007-11-01 Minami John S Gigabit Ethernet Adapter
US7370360B2 (en) 2002-05-13 2008-05-06 International Business Machines Corporation Computer immune system and method for detecting unwanted code in a P-code or partially compiled native-code program executing within a virtual machine
US20030212902A1 (en) 2002-05-13 2003-11-13 Van Der Made Peter A.J. Computer immune system and method for detecting unwanted code in a P-code or partially compiled native-code program executing within a virtual machine
US7823148B2 (en) 2002-05-22 2010-10-26 Oracle America, Inc. System and method for performing patch installation via a graphical user interface
US20030221190A1 (en) 2002-05-22 2003-11-27 Sun Microsystems, Inc. System and method for performing patch installation on multiple devices
US7330849B2 (en) 2002-05-28 2008-02-12 Iac Search & Media, Inc. Retrieval and display of data objects using a cross-group ranking metric
US20040054928A1 (en) 2002-06-17 2004-03-18 Hall Robert J. Method and device for detecting computer network intrusions
US7139916B2 (en) 2002-06-28 2006-11-21 Ebay, Inc. Method and system for monitoring user interaction with a computer
US20040003258A1 (en) 2002-06-28 2004-01-01 Billingsley Eric N. Method and system for monitoring user interaction with a computer
US20040015554A1 (en) 2002-07-16 2004-01-22 Brian Wilson Active e-mail filter with challenge-response
US7363022B2 (en) 2002-08-09 2008-04-22 Wavelink Corporation Mobile unit configuration management for WLANS
US20040051736A1 (en) 2002-09-17 2004-03-18 Daniell W. Todd System and method for forwarding full header information in email messages
US7546333B2 (en) 2002-10-23 2009-06-09 Netapp, Inc. Methods and systems for predictive change management for access paths in networks
US7353501B2 (en) 2002-11-18 2008-04-01 Microsoft Corporation Generic wrapper scheme
US20040143749A1 (en) 2003-01-16 2004-07-22 Platformlogic, Inc. Behavior-based host-based intrusion prevention system
US20040167906A1 (en) 2003-02-25 2004-08-26 Smith Randolph C. System consolidation tool and method for patching multiple servers
US7024548B1 (en) 2003-03-10 2006-04-04 Cisco Technology, Inc. Methods and apparatus for auditing and tracking changes to an existing configuration of a computerized device
US20060133223A1 (en) 2003-03-28 2006-06-22 Matsusuhita Electric Industrial Co., Ltd. Recording medium, recording device usint the same, and reproduction device
US20040255161A1 (en) 2003-04-12 2004-12-16 Deep Nines, Inc. System and method for network edge data protection
US20050108516A1 (en) 2003-04-17 2005-05-19 Robert Balzer By-pass and tampering protection for application wrappers
US20040230963A1 (en) 2003-05-12 2004-11-18 Rothman Michael A. Method for updating firmware in an operating system agnostic manner
EP1482394A2 (en) 2003-05-28 2004-12-01 Robert Bosch Gmbh Method for access control to resources of an application in a computer system
US7657599B2 (en) 2003-05-29 2010-02-02 Mindshare Design, Inc. Systems and methods for automatically updating electronic mail access lists
US20040243678A1 (en) 2003-05-29 2004-12-02 Mindshare Design, Inc. Systems and methods for automatically updating electronic mail access lists
US20050257265A1 (en) 2003-06-11 2005-11-17 Cook Randall R Intrustion protection system utilizing layers
US20050108562A1 (en) 2003-06-18 2005-05-19 Khazan Roger I. Technique for detecting executable malicious code using a combination of static and dynamic analyses
US20050018651A1 (en) 2003-07-22 2005-01-27 Innomedia Pte Ltd. Stand alone multi-media terminal adapter with network address translation and port partitioning
US7669195B1 (en) 2003-07-31 2010-02-23 Hewlett-Packard Development Company, L.P. Electronic device network supporting compression and decompression in electronic devices and update generator
US7464408B1 (en) 2003-08-29 2008-12-09 Solidcore Systems, Inc. Damage containment by translation
US20050114672A1 (en) 2003-11-20 2005-05-26 Encryptx Corporation Data rights management of digital information in a portable software permission wrapper
US20050132346A1 (en) 2003-12-10 2005-06-16 Sap Aktiengesellschaft Software interface monitor method and system
US7546594B2 (en) 2003-12-15 2009-06-09 Microsoft Corporation System and method for updating installation components using an installation component delta patch in a networked environment
US7840968B1 (en) 2003-12-17 2010-11-23 Mcafee, Inc. Method and system for containment of usage of language interfaces
US20100281133A1 (en) 2004-03-04 2010-11-04 Juergen Brendel Storing lossy hashes of file names and parent handles rather than full names using a compact table for network-attached-storage (nas)
US7783735B1 (en) 2004-03-22 2010-08-24 Mcafee, Inc. Containment of network communication
US20100293225A1 (en) 2004-03-22 2010-11-18 Mcafee, Inc. Containment of network communication
US20050262558A1 (en) 2004-04-19 2005-11-24 Viacheslav Usov On-line centralized and local authorization of executable files
US20060004875A1 (en) 2004-05-11 2006-01-05 Microsoft Corporation CMDB schema
US20050257207A1 (en) 2004-05-11 2005-11-17 Microsoft Corporation Efficient patching
US7818377B2 (en) 2004-05-24 2010-10-19 Microsoft Corporation Extended message rule architecture
US20050260996A1 (en) 2004-05-24 2005-11-24 Groenendaal Joannes G V System and method for automatically configuring a mobile device
US7506170B2 (en) 2004-05-28 2009-03-17 Microsoft Corporation Method for secure access to multiple secure networks
US20050273858A1 (en) 2004-06-07 2005-12-08 Erez Zadok Stackable file systems and methods thereof
US20050283823A1 (en) 2004-06-21 2005-12-22 Nec Corporation Method and apparatus for security policy management
US20050289538A1 (en) 2004-06-23 2005-12-29 International Business Machines Corporation Deploying an application software on a virtual deployment target
US7203864B2 (en) 2004-06-25 2007-04-10 Hewlett-Packard Development Company, L.P. Method and system for clustering computers into peer groups and comparing individual computers to their peers
WO2006012197A2 (en) 2004-06-29 2006-02-02 Intel Corporation Method of improving computer security through sandboxing
US7908653B2 (en) 2004-06-29 2011-03-15 Intel Corporation Method of improving computer security through sandboxing
US20060015501A1 (en) 2004-07-19 2006-01-19 International Business Machines Corporation System, method and program product to determine a time interval at which to check conditions to permit access to a file
US20060037016A1 (en) 2004-07-28 2006-02-16 Oracle International Corporation Methods and systems for modifying nodes in a cluster environment
US7937455B2 (en) 2004-07-28 2011-05-03 Oracle International Corporation Methods and systems for modifying nodes in a cluster environment
US7703090B2 (en) 2004-08-31 2010-04-20 Microsoft Corporation Patch un-installation
US20060080656A1 (en) 2004-10-12 2006-04-13 Microsoft Corporation Methods and instructions for patch management
US20060085785A1 (en) 2004-10-15 2006-04-20 Emc Corporation Method and apparatus for configuring, monitoring and/or managing resource groups including a virtual machine
US7765538B2 (en) 2004-10-29 2010-07-27 Hewlett-Packard Development Company, L.P. Method and apparatus for determining which program patches to recommend for installation
US20060101277A1 (en) 2004-11-10 2006-05-11 Meenan Patrick A Detecting and remedying unauthorized computer programs
US7698744B2 (en) 2004-12-03 2010-04-13 Whitecell Software Inc. Secure system for allowing the execution of authorized computer program code
US20060136910A1 (en) 2004-12-17 2006-06-22 Intel Corporation Method, apparatus and system for improving security in a virtual machine host
US20060136911A1 (en) 2004-12-17 2006-06-22 Intel Corporation Method, apparatus and system for enhacing the usability of virtual machines
US7607170B2 (en) 2004-12-22 2009-10-20 Radware Ltd. Stateful attack protection
US7302558B2 (en) 2005-01-25 2007-11-27 Goldman Sachs & Co. Systems and methods to facilitate the creation and configuration management of computing systems
US20060195906A1 (en) 2005-02-26 2006-08-31 International Business Machines Corporation System, method, and service for detecting improper manipulation of an application
US7836504B2 (en) 2005-03-01 2010-11-16 Microsoft Corporation On-access scan of memory for malware
US20060200863A1 (en) 2005-03-01 2006-09-07 Microsoft Corporation On-access scan of memory for malware
US7685635B2 (en) 2005-03-11 2010-03-23 Microsoft Corporation Systems and methods for multi-level intercept processing in a virtual machine environment
US20110035423A1 (en) 2005-03-18 2011-02-10 Sony Corporation Reproducing apparatus, reproducing method, program, program storage medium, data delivery system, data structure, and manufacturing method of recording medium
US7552479B1 (en) 2005-03-22 2009-06-23 Symantec Corporation Detecting shellcode that modifies IAT entries
US20060230314A1 (en) 2005-04-07 2006-10-12 Sanjar Amir F Automatic generation of solution deployment descriptors
US20060236398A1 (en) 2005-04-14 2006-10-19 International Business Machines Corporation Selective virus scanning system and method
US7349931B2 (en) 2005-04-14 2008-03-25 Webroot Software, Inc. System and method for scanning obfuscated files for pestware
US7603552B1 (en) 2005-05-04 2009-10-13 Mcafee, Inc. Piracy prevention using unique module translation
US20090320140A1 (en) 2005-05-04 2009-12-24 Mcafee, Inc. Piracy Prevention Using Unique Module Translation
WO2006124832A1 (en) 2005-05-19 2006-11-23 Websense, Inc. System and method of monitoring and controlling application files
US20070220061A1 (en) 2005-06-21 2007-09-20 Oren Tirosh Method and system for tracking an operation performed on an information asset with metadata associated therewith
US20070011746A1 (en) 2005-07-11 2007-01-11 Microsoft Corporation Per-user and system granular audit policy implementation
US7856661B1 (en) 2005-07-14 2010-12-21 Mcafee, Inc. Classification of software on networked systems
US20070028303A1 (en) 2005-07-29 2007-02-01 Bit 9, Inc. Content tracking in a network security system
US20070039049A1 (en) 2005-08-11 2007-02-15 Netmanage, Inc. Real-time activity monitoring and reporting
US20070050764A1 (en) 2005-08-30 2007-03-01 Microsoft Corporation Hierarchical virtualization with a multi-level virtualization mechanism
US20070050579A1 (en) 2005-08-30 2007-03-01 Hall Kenwood H Method and apparatus for synchronizing an industrial controller with a redundant controller
US20070074199A1 (en) 2005-09-27 2007-03-29 Sebastian Schoenberg Method and apparatus for delivering microcode updates through virtual machine operations
US20070083522A1 (en) 2005-10-07 2007-04-12 Nord Joseph H Method and a system for responding locally to requests for file metadata associated with files stored remotely
US20070101435A1 (en) 2005-10-14 2007-05-03 Check Point Software Technologies, Inc. System and Methodology Providing Secure Workspace Environment
US20070169079A1 (en) 2005-11-08 2007-07-19 Microsoft Corporation Software update management
US20070136579A1 (en) 2005-12-09 2007-06-14 University Of Washington Web browser operating system
US20080052468A1 (en) 2005-12-12 2008-02-28 Sytex, Inc. Methods, systems and computer readable medium for detecting memory overflow conditions
US20070143851A1 (en) 2005-12-21 2007-06-21 Fiberlink Method and systems for controlling access to computing resources based on known security vulnerabilities
US20070192329A1 (en) 2006-01-24 2007-08-16 Citrix Systems, Inc. Methods and systems for executing, by a virtual machine, an application program requested by a client machine
US7757269B1 (en) 2006-02-02 2010-07-13 Mcafee, Inc. Enforcing alignment of approved changes and deployed changes in the software change life-cycle
US20100100970A1 (en) 2006-02-02 2010-04-22 Rahul Roy-Chowdhury Enforcing alignment of approved changes and deployed changes in the software change life-cycle
US20120278853A1 (en) 2006-02-02 2012-11-01 Mcafee, Inc., A Delaware Corporation Enforcing alignment of approved changes and deployed changes in the software change life-cycle
US20090043993A1 (en) 2006-03-03 2009-02-12 Simon Andrew Ford Monitoring Values of Signals within an Integrated Circuit
US20070220507A1 (en) 2006-03-20 2007-09-20 Microsoft Corporation Managing version information for software components
US20110138461A1 (en) 2006-03-27 2011-06-09 Mcafee, Inc., A Delaware Corporation Execution environment file inventory
US20080010304A1 (en) 2006-03-29 2008-01-10 Santosh Vempala Techniques for clustering a set of objects
US8015563B2 (en) 2006-04-14 2011-09-06 Microsoft Corporation Managing virtual machines with system-wide policies
US7966659B1 (en) 2006-04-18 2011-06-21 Rockwell Automation Technologies, Inc. Distributed learn mode for configuring a firewall, security authority, intrusion detection/prevention devices, and the like
US20070256138A1 (en) 2006-04-26 2007-11-01 Macrovision Corporation Computer-implemented method and system for binding digital rights management executable code to a software application
US7849507B1 (en) 2006-04-29 2010-12-07 Ironport Systems, Inc. Apparatus for filtering server responses
US20070271561A1 (en) 2006-05-22 2007-11-22 Microsoft Corporation Updating virtual machine with patch or the like
US20080022384A1 (en) 2006-06-06 2008-01-24 Microsoft Corporation Reputation Driven Firewall
US7809704B2 (en) 2006-06-15 2010-10-05 Microsoft Corporation Combining spectral and probabilistic clustering
US20070300215A1 (en) 2006-06-26 2007-12-27 Bardsley Jeffrey S Methods, systems, and computer program products for obtaining and utilizing a score indicative of an overall performance effect of a software update on a software host
US20080005798A1 (en) 2006-06-30 2008-01-03 Ross Alan D Hardware platform authentication and multi-purpose validation
US20080005737A1 (en) 2006-06-30 2008-01-03 Bratin Saha Concurrent thread execution using user-level asynchronous signaling
US20080034416A1 (en) 2006-08-03 2008-02-07 Arkesh Kumar Methods and systems for routing packets in a vpn-client-to-vpn-client connection via an ssl/vpn network appliance
US20080082977A1 (en) 2006-09-29 2008-04-03 Microsoft Corporation Automatic load and balancing for virtual machines to meet resource requirements
WO2008054997A2 (en) 2006-10-17 2008-05-08 Manage Iq, Inc. Control and management of virtual systems
US20080120499A1 (en) 2006-11-16 2008-05-22 Zimmer Vincent J Methods and apparatus for defeating malware
US20080163210A1 (en) 2006-12-29 2008-07-03 Mic Bowman Dynamic virtual machine generation
US20080163207A1 (en) 2007-01-03 2008-07-03 International Business Machines Corporation Moveable access control list (acl) mechanisms for hypervisors and virtual machines and virtual port firewalls
US20080165952A1 (en) 2007-01-07 2008-07-10 Michael Smith Secure Booting A Computing Device
US20080184373A1 (en) 2007-01-25 2008-07-31 Microsoft Corporation Protection Agents and Privilege Modes
US20080235534A1 (en) 2007-03-22 2008-09-25 International Business Machines Corporation Integrity protection in data processing systems
US20080294703A1 (en) 2007-05-21 2008-11-27 David John Craft Method and apparatus for obtaining the absolute path name of an open file system object from its file descriptor
US20080301770A1 (en) 2007-05-31 2008-12-04 Kinder Nathan G Identity based virtual machine selector
US20090038017A1 (en) 2007-08-02 2009-02-05 David Durham Secure vault service for software components within an execution environment
US20090144300A1 (en) 2007-08-29 2009-06-04 Chatley Scott P Coupling a user file name with a physical data file stored in a storage delivery network
EP2037657A1 (en) 2007-09-17 2009-03-18 Intel Corporation Method and apparatus for dynamic switching and real time security control on virtualized systems
US20090113110A1 (en) 2007-10-30 2009-04-30 Vmware, Inc. Providing VMM Access to Guest Virtual Memory
US20090150639A1 (en) 2007-12-07 2009-06-11 Hideo Ohata Management apparatus and management method
US20090249438A1 (en) 2008-03-27 2009-10-01 Moshe Litvin Moving security for virtual machines
US20100071035A1 (en) 2008-09-12 2010-03-18 Renata Budko Methods and systems for securely managing virtualization platform
US20100114825A1 (en) 2008-10-27 2010-05-06 Vmware, Inc. Version control environment for virtual machines
US20100332910A1 (en) 2009-06-26 2010-12-30 Vmware, Inc. System and method to reduce trace faults in software mmu virtualization
US20110047543A1 (en) 2009-08-21 2011-02-24 Preet Mohinder System and Method for Providing Address Protection in a Virtual Environment

Non-Patent Citations (66)

* Cited by examiner, † Cited by third party
Title
"McAfee Management for Optimized Virtual Environments," copyright 2012, retrieved on Nov. 26, 2012 at AntiVirushttp://www.mcafee.com/us/resources/data-sheets/ds-move-anti-virus.pdf, 2 pages.
"Secure Hash Standard (SHS)", Federal Information Processing Standards Publication, FIPS PUB 180-4, Mar. 2012, retrieved on Dec. 14, 2012 from http://csrc.nist.gov/publications/fips/fips180-4/fips-180-4.pdf, 35 pages.
"What's New: McAfee VirusScan Enterprise, 8.8," copyright 2010, retrieved on Nov. 23, 2012 at https://kc.mcafee.com/resources/sites/MCAFEE/content/live/PRODUCT-DOCUMENTATION/22000/PD22973/en-US/VSE%208.8%20-%20What's%20New.pdf, 4 pages.
"What's New: McAfee VirusScan Enterprise, 8.8," copyright 2010, retrieved on Nov. 23, 2012 at https://kc.mcafee.com/resources/sites/MCAFEE/content/live/PRODUCT—DOCUMENTATION/22000/PD22973/en—US/VSE%208.8%20-%20What's%20New.pdf, 4 pages.
"Xen Architecture Overview," Xen, dated Feb. 13, 2008, Version 1.2, http://wiki.xensource.com/xenwiki/XenArchitecture?action=AttachFile&do=get&target=Xen+architecture-Q1+2008.pdf, printed Aug. 18, 2009 (9 pages).
"Xen Architecture Overview," Xen, dated Feb. 13, 2008, Version 1.2, http://wiki.xensource.com/xenwiki/XenArchitecture?action=AttachFile&do=get&target=Xen+architecture—Q1+2008.pdf, printed Aug. 18, 2009 (9 pages).
Barrantes et al., "Randomized Instruction Set Emulation to Dispurt Binary Code Injection Attacks," Oct. 27-31, 2003, ACM, pp. 281-289.
Check Point Software Technologies Ltd.: "ZoneAlarm Security Software User Guide Version 9", Aug. 24, 2009, XP002634548, 259 pages, retrieved from Internet: URL:http://download.zonealarm.com/bin/media/pdf/zaclient91-user-manual.pdf.
Check Point Software Technologies Ltd.: "ZoneAlarm Security Software User Guide Version 9", Aug. 24, 2009, XP002634548, 259 pages, retrieved from Internet: URL:http://download.zonealarm.com/bin/media/pdf/zaclient91—user—manual.pdf.
Desktop Management and Control, Website: http://www.vmware.com/solutions/desktop/, printed Oct. 12, 2009, 1 page.
Eli M. Dow, et al., "The Xen Hypervisor," Informit, dated Apr. 10, 2008, http://www.informit.com/articles/printerfriendly.aspx?p=1187966, printed Aug. 11, 2009 (13 pages).
G. Pruett et al., "BladeCenter systems management software", [Online], Nov. 2005, pp. 963-975, [Retrieved from Internet on Oct. 24, 2012], .
G. Pruett et al., "BladeCenter systems management software", [Online], Nov. 2005, pp. 963-975, [Retrieved from Internet on Oct. 24, 2012], <http://citeseerx.lst.psu.edu/viewdoc/download?doi=10.1.1.91.5091&rep=rep1&type=pdf>.
Gaurav et al., "Countering Code-Injection Attacks with Instruction-Set Randomization," Oct. 27-31, 2003, ACM, pp. 272-280.
Hinden, R. and B. Haberman, "Unique Local IPv6 Unicast Addresses", RFC 4193, Oct. 2005, retrieved on Nov. 20, 2012 from http://tools.ietf.org/pdf/rfc4193.pdf, 17 pages.
IA-32 Intel® Architecture Software Developer's Manual, vol. 3B; Jun. 2006; pp. 13, 15, 22 and 145-146.
International Search Report and Written Opinion mailed Dec. 14, 2012 for International Application No. 04796-1087WO, 9 pages.
Kurt Gutzmann, "Access Control and Session Management in the HTTP Environment," Jan./Feb. 2001, pp. 26-35, IEEE Internet Computing.
Myung-Sup Kim et al., "A load cluster management system using SNMP and web", [Online], May 2002, pp. 367-378, [Retrieved from Internet on Oct. 24, 2012], .
Myung-Sup Kim et al., "A load cluster management system using SNMP and web", [Online], May 2002, pp. 367-378, [Retrieved from Internet on Oct. 24, 2012], <http://onlinelibrary.wiley.com/doi/10.1002/nem.453/pdf>.
Notification of International Preliminary Report on Patentability and Written Opinion mailed May 24, 2012 for International Application No. PCT/US2010/055520, 5 pages.
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority (1 page), International Search Report (4 pages), and Written Opinion (3 pages), mailed Mar. 2, 2011, International Application No. PCT/US2010/055520.
Notification of Transmittal of the International Search Report and the Written Opinion of the International Searching Authority, or the Declaration (1 page), International Search Report (6 pages), and Written Opinion of the International Searching Authority (10 pages) for International Application No. PCT/US2011/020677 mailed Jul. 22, 2011.
Notification of Transmittal of the International Search Report and Written Opinion of the International Searching Authority, or the Declaration (1 page), International Search Report (3 pages), and Written Opinion of the International Search Authority (6 pages) for International Application No. PCT/US2011/024869 mailed Jul. 14, 2011.
Philip M. Papadopoulos et al., "NPACI Rocks: tools and techniques for easily deploying manageable Linux clusters" [Online], Aug. 2002, pp. 707-725, [Retrieved from internet on Oct. 24, 2012], .
Philip M. Papadopoulos et al., "NPACI Rocks: tools and techniques for easily deploying manageable Linux clusters" [Online], Aug. 2002, pp. 707-725, [Retrieved from internet on Oct. 24, 2012], <http://onlinelibrary.wiley.com/doi/10.1002/cpe.722/pdf>.
Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321, Apr. 1992, retrieved on Dec. 14, 2012 from http://www.ietf.org/rfc/rfc1321.txt, 21 pages.
Sailer et al., sHype: Secure Hypervisor Approach to Trusted Virtualized Systems, IBM research Report, Feb. 2, 2005, 13 pages.
Secure Mobile Computing, Website: http://www.vmware.com/solutions/desktop/mobile.html, printed Oct. 12, 2009, 2 pages.
Tal Garfinkel, et al., "Terra: A Virtual Machine-Based Platform for Trusted Computing," XP-002340992, SOSP'03, Oct. 19-22, 2003, 14 pages.
Thomas Staub et al., "Secure Remote Management and Software Distribution for Wireless Mesh Networks", [Online], Sep. 2007, pp. 1-8, [Retrieved from Internet on Oct. 24, 2012], .
Thomas Staub et al., "Secure Remote Management and Software Distribution for Wireless Mesh Networks", [Online], Sep. 2007, pp. 1-8, [Retrieved from Internet on Oct. 24, 2012], <http://cds.unibe.ch/research/pub—files/B07.pdf>.
U.S. Appl. No. 10/651,591, entitled "Method and System for Containment of Networked Application Client Software by Explicit Human Input," filed Aug. 29, 2003, Inventor(s): Rosen Sharma et al.
U.S. Appl. No. 10/935,772, entitled "Solidifying the Executable Software Set of a Computer," filed Sep. 7, 2004, Inventor(s): E. John Sebes et al.
U.S. Appl. No. 11/060,683, entitled "Distribution and Installation of Solidified Software on a Computer," filed Feb. 16, 2005, Inventor(s): Bakul Shah et al.
U.S. Appl. No. 11/277,596, entitled "Execution Environment File Inventory," filed Mar. 27, 2006, Inventor(s): Rishi Bhargava et al.
U.S. Appl. No. 11/346,741, entitled "Enforcing Alignment of Approved Changes and Deployed Changes in the Software Change Life-Cycle," filed Feb. 2, 2006, Inventor(s): Rahul Roy-Chowdhury et al.
U.S. Appl. No. 11/379,953, entitled "Software Modification by Group to Minimize Breakage," filed Apr. 24, 2006, Inventor(s): E. John Sebes et al.
U.S. Appl. No. 11/400,085, entitled "Program-Based Authorization," filed Apr. 7, 2006, Inventor(s): Rishi Bhargava et al.
U.S. Appl. No. 11/437,317, entitled "Connectivity-Based Authorization," filed May 18, 2006, Inventor(s): E. John Sebes et al.
U.S. Appl. No. 12/008,274, entitled Method and Apparatus for Process Enforced Configuration Management, filed Jan. 9, 2008, Inventor(s): Rishi Bhargava et al.
U.S. Appl. No. 12/290,380, entitled "Application Change Control," filed Oct. 29, 2008, Inventor(s): Rosen Sharma et al.
U.S. Appl. No. 12/291,232, entitled "Method of and System for Computer System State Checks," filed Nov. 7, 2008, inventor(s): Rishi Bhargava et al.
U.S. Appl. No. 12/322,220, entitled "Method of and System for Malicious Software Detection Using Critical Address Space Protection," filed Jan. 29, 2009, Inventor(s): Suman Saraf et al.
U.S. Appl. No. 12/322,321, entitled "Method of and System for Computer System Denial-of-Service Protection," filed Jan. 29, 2009, Inventor(s): Suman Saraf et al.
U.S. Appl. No. 12/426,859, entitled "Method of and System for Reverse Mapping Vnode Pointers," filed Apr. 20, 2009, Inventor(s): Suman Saraf et al.
U.S. Appl. No. 12/545,609, entitled "System and Method for Enforcing Security Policies in a Virtual Environment," filed Aug. 21, 2009, Inventor(s): Amit Dang et al.
U.S. Appl. No. 12/545,745, entitled "System and Method for Providing Address Protection in a Virtual Environment," filed Aug. 21, 2009, Inventor(s): Preet Mohinder.
U.S. Appl. No. 12/615,521, entitled "System and Method for Preventing Data Loss Using Virtual Machine Wrapped Applications," filed Nov. 10, 2009, Inventor(s): Sonali Agarwal, et al.
U.S. Appl. No. 12/636,414, entitled "System and Method for Managing Virtual Machine Configurations," filed Dec. 11, 2009, Inventor(s): Harvinder Singh Sawhney, et al.
U.S. Appl. No. 12/844,892, entitled "System and Method for Protecting Computer Networks Against Malicious Software," filed Jul. 28, 2010, Inventor(s) Rishi Bhargava, et al.
U.S. Appl. No. 12/844,964, entitled "System and Method for Network Level Protection Against Malicious Software," filed Jul. 28, 2010, Inventor(s) Rishi Bhargava, et al.
U.S. Appl. No. 12/880,125, entitled "System and Method for Clustering Host Inventories," filed Sep. 12, 2010, Inventor(s) Rishi Bhargava, et al.
U.S. Appl. No. 12/903,993, entitled "Method and System for Containment of Usage of Language Interfaces," filed Oct. 13, 2010, Inventor(s) Rosen Sharma, et al.
U.S. Appl. No. 12/944,567, entitled "Classification of Software on Networked Systems," filed Nov. 11, 2010, Inventor(s) E. John Sebes, et al.
U.S. Appl. No. 12/946,081, entitled "Method and System for Containment of Usage of Language Interfaces," filed Nov. 15, Inventor(s) Rosen Sharma, et al.
U.S. Appl. No. 12/946,344, entitled "Method and System for Containment of Usage of Language Interfaces," filed Nov. 15, 2010, Inventor(s) Rosen Sharma, et al.
U.S. Appl. No. 12/975,745, entitled "Program-Based Authorization," filed Dec. 22, 2010, Inventor(s) Rishi Bhargava, et al.
U.S. Appl. No. 13/012,138, entitled "System and Method for Selectively Grouping and Managing Program Files," filed Jan. 24, 2011, Inventor(s) Rishi Bhargava, et al.
U.S. Appl. No. 13/037,988, entitled "System and Method for Botnet Detection by Comprehensive Email Behavioral Analysis," filed Mar. 1, 2011, Inventor(s) Sven Krasser, et al.
U.S. Appl. No. 13/271,102, filed Oct. 11, 2011, entitled System and Method for Critical Address Space Protection in a Hypervisor Environment, Inventors: Rajbir Bhattacharjee, et al.
U.S. Appl. No. 13/558,181, entitled "Method and Apparatus for Process Enforced Configuration Management," filed Jul. 25, 2012, Inventor(s) Rishi Bhargava et al.
U.S. Appl. No. 13/558,227, entitled "Method and Apparatus for Process Enforced Configuration Management," filed Jul. 25, 2012, Inventor(s) Rishi Bhargava et al.
U.S. Appl. No. 13/558,277, entitled "Method and Apparatus for Process Enforced Configuration Management," filed Jul. 25, 2012, Inventor(s) Rishi Bhargava et al.
U.S. Appl. No. 13/723,445, filed Dec. 21, 2012, entitled "System and Method for Enforcing Security Policies in a Virtual Environment," Inventor(s) Amit Dang, et al.
U.S. Appl. No. 13/728,705, filed Dec. 27, 2012, entitled "Herd Based Scan Avoidance System in a Network Environment," Inventor(s) Venkata Ramanan, et al.

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8763118B2 (en) 2005-07-14 2014-06-24 Mcafee, Inc. Classification of software on networked systems
US9134998B2 (en) 2006-02-02 2015-09-15 Mcafee, Inc. Enforcing alignment of approved changes and deployed changes in the software change life-cycle
US8707446B2 (en) 2006-02-02 2014-04-22 Mcafee, Inc. Enforcing alignment of approved changes and deployed changes in the software change life-cycle
US9602515B2 (en) 2006-02-02 2017-03-21 Mcafee, Inc. Enforcing alignment of approved changes and deployed changes in the software change life-cycle
US9576142B2 (en) 2006-03-27 2017-02-21 Mcafee, Inc. Execution environment file inventory
US8707422B2 (en) 2007-01-10 2014-04-22 Mcafee, Inc. Method and apparatus for process enforced configuration management
US9424154B2 (en) 2007-01-10 2016-08-23 Mcafee, Inc. Method of and system for computer system state checks
US9864868B2 (en) 2007-01-10 2018-01-09 Mcafee, Llc Method and apparatus for process enforced configuration management
US8701182B2 (en) 2007-01-10 2014-04-15 Mcafee, Inc. Method and apparatus for process enforced configuration management
US9832227B2 (en) 2010-07-28 2017-11-28 Mcafee, Llc System and method for network level protection against malicious software
US8925101B2 (en) 2010-07-28 2014-12-30 Mcafee, Inc. System and method for local protection against malicious software
US9467470B2 (en) 2010-07-28 2016-10-11 Mcafee, Inc. System and method for local protection against malicious software
US8938800B2 (en) 2010-07-28 2015-01-20 Mcafee, Inc. System and method for network level protection against malicious software
US8843496B2 (en) 2010-09-12 2014-09-23 Mcafee, Inc. System and method for clustering host inventories
US9075993B2 (en) 2011-01-24 2015-07-07 Mcafee, Inc. System and method for selectively grouping and managing program files
US9112830B2 (en) 2011-02-23 2015-08-18 Mcafee, Inc. System and method for interlocking a host and a gateway
US9866528B2 (en) 2011-02-23 2018-01-09 Mcafee, Llc System and method for interlocking a host and a gateway
US9594881B2 (en) 2011-09-09 2017-03-14 Mcafee, Inc. System and method for passive threat detection using virtual memory inspection
US9465700B2 (en) 2011-10-13 2016-10-11 Mcafee, Inc. System and method for kernel rootkit protection in a hypervisor environment
US9946562B2 (en) 2011-10-13 2018-04-17 Mcafee, Llc System and method for kernel rootkit protection in a hypervisor environment
US9882876B2 (en) 2011-10-17 2018-01-30 Mcafee, Llc System and method for redirected firewall discovery in a network environment
US9356909B2 (en) 2011-10-17 2016-05-31 Mcafee, Inc. System and method for redirected firewall discovery in a network environment
US8800024B2 (en) 2011-10-17 2014-08-05 Mcafee, Inc. System and method for host-initiated firewall discovery in a network environment
US8713668B2 (en) 2011-10-17 2014-04-29 Mcafee, Inc. System and method for redirected firewall discovery in a network environment
US8739272B1 (en) 2012-04-02 2014-05-27 Mcafee, Inc. System and method for interlocking a host and a gateway
US9413785B2 (en) 2012-04-02 2016-08-09 Mcafee, Inc. System and method for interlocking a host and a gateway
US8973146B2 (en) 2012-12-27 2015-03-03 Mcafee, Inc. Herd based scan avoidance system in a network environment
US9578052B2 (en) 2013-10-24 2017-02-21 Mcafee, Inc. Agent assisted malicious application blocking in a network environment

Also Published As

Publication number Publication date Type
US7873955B1 (en) 2011-01-18 grant
US20110093842A1 (en) 2011-04-21 application

Similar Documents

Publication Publication Date Title
US6330670B1 (en) Digital rights management operating system
US5720033A (en) Security platform and method using object oriented rules for computer-based systems using UNIX-line operating systems
US7062567B2 (en) Intelligent network streaming and execution system for conventionally coded applications
US7689676B2 (en) Model-based policy application
US7096253B2 (en) Method and apparatus for streaming software
US6694434B1 (en) Method and apparatus for controlling program execution and program distribution
US6941135B2 (en) System and method for temporary application component deletion and reload on a wireless device
US20060277595A1 (en) Techniques for providing role-based security with instance-level granularity
US20030196110A1 (en) Boot blocks for software
US7703128B2 (en) Digital identity management
US20050132357A1 (en) Ensuring that a software update may be installed or run only on a specific device or class of devices
US7249251B2 (en) Methods and apparatus for secure modification of a retention period for data in a storage system
US6978366B1 (en) Secure document management system
US20050268115A1 (en) Renewable and individualizable elements of a protected environment
US20110126197A1 (en) System and method for controlling cloud and virtualized data centers in an intelligent workload management system
US20040088700A1 (en) System and method for automatically installing software on client computers via a network
US20020083183A1 (en) Conventionally coded application conversion system for streamed delivery and execution
US20110029772A1 (en) Cloud-based application whitelisting
US20030014386A1 (en) Account management module database interface
US20050120219A1 (en) Information processing apparatus, a server apparatus, a method of an information processing apparatus, a method of a server apparatus, and an apparatus executable process
US7478233B2 (en) Prevention of software tampering
US20070186102A1 (en) Method and apparatus for facilitating fine-grain permission management
US6871279B2 (en) Method and apparatus for securely and dynamically managing user roles in a distributed system
US20050132031A1 (en) Method and system for measuring status and state of remotely executing programs
US20040193546A1 (en) Confidential contents management method

Legal Events

Date Code Title Description
FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: MCAFEE, LLC, CALIFORNIA

Free format text: CHANGE OF NAME AND ENTITY CONVERSION;ASSIGNOR:MCAFEE, INC.;REEL/FRAME:043665/0918

Effective date: 20161220

AS Assignment

Owner name: JPMORGAN CHASE BANK, N.A., NEW YORK

Free format text: SECURITY INTEREST;ASSIGNOR:MCAFEE, LLC;REEL/FRAME:045055/0786

Effective date: 20170929

Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND

Free format text: SECURITY INTEREST;ASSIGNOR:MCAFEE, LLC;REEL/FRAME:045056/0676

Effective date: 20170929