Patents by Inventor Derek L. Bruening

Derek L. Bruening has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 8656497
    Abstract: A constraint is inserted into a program to address a vulnerability of the program to attacks. The constraint includes a segment of code that determines when the program has been asked to execute a “corner case” which does not occur in normal operations. The constraint code can access a library of detector and remediator functions to detect various attacks and remediate against them. Optionally, the detector can be employed without the remediator for analysis. The context of the program can be saved and restored if necessary to continue operating after remediation is performed. The constraints can include descriptors, along with machine instructions or byte code, which indicate how the constraints are to be used.
    Type: Grant
    Filed: April 1, 2011
    Date of Patent: February 18, 2014
    Assignee: VMware, Inc.
    Inventors: Saman P. Amarasinghe, Bharath Chandramohan, Charles Renert, Derek L. Bruening, Vladimir Kiriansky, Timothy Garnett, Sandy Wilbourn, Warren Wu
  • Patent number: 8402224
    Abstract: A runtime system using thread-shared code caches is provided which avoids brute-force all-thread-suspension and monolithic global locks. In one embodiment, medium-grained runtime system synchronization reduces lock contention. The system includes trace building that combines efficient private construction with shared results, in-cache lock-free lookup table access in the presence of entry invalidations, and a delayed deletion algorithm based on timestamps and reference counts. These enable reductions in memory usage and performance overhead.
    Type: Grant
    Filed: September 20, 2006
    Date of Patent: March 19, 2013
    Assignee: VMware, Inc.
    Inventors: Derek L. Bruening, Vladimir L. Kiriansky, Tim Garnett, Sanjeev Banerji
  • Patent number: 8171548
    Abstract: Protected software, such as an application and/or DLL, is monitored by protective software to guard against attacks, while distinguishing spurious, benign events from attacks. In a 1-touch approach, the protected software is monitored in a testing environment to detect spurious, benign events caused by, e.g., incompatibility or interoperability problems. The spurious events can be remediated in different ways, such as by applying a relaxed security policy. In a production mode, or 0-touch mode, when the protected software is subject to attacks, the corresponding remediation can be applied when the spurious events are again detected. Security events which occur in production mode can also be treated as benign when they occur within a specified time window. The applications and/or DLLs can further be classified according to whether they are known to have bad properties, known to be well-behaved, or unknown. Appropriate treatment is provided based on the classification.
    Type: Grant
    Filed: April 21, 2010
    Date of Patent: May 1, 2012
    Assignee: VMware, Inc.
    Inventors: Srinivas Mantripragada, Timothy Garnett, Derek L. Bruening, Vladimir Kiriansky, Bharath Chandramohan, James Brink, Saman P. Amarasinghe, Sandy Wilbourn
  • Publication number: 20110185433
    Abstract: A constraint is inserted into a program to address a vulnerability of the program to attacks. The constraint includes a segment of code that determines when the program has been asked to execute a “corner case” which does not occur in normal operations. The constraint code can access a library of detector and remediator functions to detect various attacks and remediate against them. Optionally, the detector can be employed without the remediator for analysis. The context of the program can be saved and restored if necessary to continue operating after remediation is performed. The constraints can include descriptors, along with machine instructions or byte code, which indicate how the constraints are to be used.
    Type: Application
    Filed: April 1, 2011
    Publication date: July 28, 2011
    Applicant: VMWARE, INC.
    Inventors: Saman P. AMARASINGHE, Bharath CHANDRAMOHAN, Charles RENERT, Derek L. BRUENING, Vladimir L. KIRIANSKY, Tim GARNETT, Sandy WILBOURN, Warren Wu
  • Patent number: 7945958
    Abstract: A constraint is inserted into a program to address a vulnerability of the program to attacks. The constraint includes a segment of code that determines when the program has been asked to execute a “corner case” which does not occur in normal operations. The constraint code can access a library of detector and remediator functions to detect various attacks and remediate against them. Optionally, the detector can be employed without the remediator for analysis. The context of the program can be saved and restored if necessary to continue operating after remediation is performed. The constraints can include descriptors, along with machine instructions or byte code, which indicate how the constraints are to be used.
    Type: Grant
    Filed: June 6, 2006
    Date of Patent: May 17, 2011
    Assignee: VMware, Inc.
    Inventors: Saman P. Amarasinghe, Bharath Chandramohan, Charles Renert, Derek L. Bruening, Vladimir L. Kiriansky, Tim Garnett, Sandy Wilbourn, Warren Wu
  • Patent number: 7886148
    Abstract: Hijacking of an application is prevented by securing execution of a computer program on a computing system. Prior to execution of the computer program, the computer program is analyzed to identify permitted targets of all indirect transfers. An application-specific policy based on the permitted targets is created. When the program is executed on the computing system, the application-specific policy is enforced such that the program is prohibited from executing indirect transfer instructions that do not target one of the permitted targets.
    Type: Grant
    Filed: September 21, 2009
    Date of Patent: February 8, 2011
    Assignee: Massachusetts Institute of Technology
    Inventors: Vladimir L. Kiriansky, Derek L. Bruening, Saman P. Amarasinghe
  • Patent number: 7856531
    Abstract: A runtime code manipulation system is provided that supports code transformations on a program while it executes. The runtime code manipulation system uses code caching technology to provide efficient and comprehensive manipulation of an application running on an operating system and hardware. The code cache includes a system for automatically keeping the code cache at an appropriate size for the current working set of an application running.
    Type: Grant
    Filed: December 30, 2008
    Date of Patent: December 21, 2010
    Assignee: Massachusetts Institute of Technology
    Inventors: Derek L. Bruening, Saman P. Amarasinghe
  • Publication number: 20100011209
    Abstract: Hijacking of an application is prevented by securing execution of a computer program on a computing system. Prior to execution of the computer program, the computer program is analyzed to identify permitted targets of all indirect transfers. An application-specific policy based on the permitted targets is created. When the program is executed on the computing system, the application-specific policy is enforced such that the program is prohibited from executing indirect transfer instructions that do not target one of the permitted targets.
    Type: Application
    Filed: September 21, 2009
    Publication date: January 14, 2010
    Applicant: VMWARE, INC.
    Inventors: Vladimir L. Kiriansky, Derek L. Bruening, Saman P. Amarasinghe
  • Patent number: 7603704
    Abstract: Hijacking of an application is prevented by monitoring control flow transfers during program execution in order to enforce a security policy. At least three basic techniques are used. The first technique, Restricted Code Origins (RCO), can restrict execution privileges on the basis of the origins of instruction executed. This distinction can ensure that malicious code masquerading as data is never executed, thwarting a large class of security attacks. The second technique, Restricted Control Transfers (RCT), can restrict control transfers based on instruction type, source, and target. The third technique, Un-Circumventable Sandboxing (UCS), guarantees that sandboxing checks around any program operation will never be bypassed.
    Type: Grant
    Filed: December 18, 2003
    Date of Patent: October 13, 2009
    Assignee: Massachusetts Institute of Technology
    Inventors: Derek L. Bruening, Vladimir L. Kiriansky, Saman P. Amarasinghe
  • Patent number: 7594111
    Abstract: Hijacking of an application is prevented by monitoring control flow transfers during program execution in order to enforce a security policy. At least three basic techniques are used. The first technique, Restricted Code Origins (RCO), can restrict execution privileges on the basis of the origins of instruction executed. This distinction can ensure that malicious code masquerading as data is never executed, thwarting a large class of security attacks. The second technique, Restricted Control Transfers (RCT), can restrict control transfers based on instruction type, source, and target. The third technique, Un-Circumventable Sandboxing (UCS), guarantees that sandboxing checks around any program operation will never be bypassed.
    Type: Grant
    Filed: December 18, 2003
    Date of Patent: September 22, 2009
    Assignee: Massachusetts Institute of Technology
    Inventors: Vladimir L. Kiriansky, Derek L. Bruening, Saman P. Amarasinghe
  • Publication number: 20090204768
    Abstract: A runtime code manipulation system is provided that supports code transformations on a program while it executes. The runtime code manipulation system uses code caching technology to provide efficient and comprehensive manipulation of an application running on an operating system and hardware. The code cache includes a system for automatically keeping the code cache at an appropriate size for the current working set of an application running.
    Type: Application
    Filed: December 30, 2008
    Publication date: August 13, 2009
    Inventors: Derek L. Bruening, Saman P. Amarasinghe
  • Patent number: 7478218
    Abstract: A runtime code manipulation system is provided that supports code transformations on a program while it executes. The runtime code manipulation system uses code caching technology to provide efficient and comprehensive manipulation of an application running on an operating system and hardware. The code cache includes a system for automatically keeping the code cache at an appropriate size for the current working set of an application running.
    Type: Grant
    Filed: February 17, 2006
    Date of Patent: January 13, 2009
    Assignee: VMware, Inc.
    Inventors: Derek L. Bruening, Saman P. Amarasinghe
  • Publication number: 20040133777
    Abstract: Hijacking of an application is prevented by monitoring control flow transfers during program execution in order to enforce a security policy. At least three basic techniques are used. The first technique, Restricted Code Origins (RCO), can restrict execution privileges on the basis of the origins of instruction executed. This distinction can ensure that malicious code masquerading as data is never executed, thwarting a large class of security attacks. The second technique, Restricted Control Transfers (RCT), can restrict control transfers based on instruction type, source, and target. The third technique, Un-Circumventable Sandboxing (UCS), guarantees that sandboxing checks around any program operation will never be bypassed.
    Type: Application
    Filed: December 18, 2003
    Publication date: July 8, 2004
    Inventors: Vladimir L. Kiriansky, Derek L. Bruening, Saman P. Amarasinghe