Patents by Inventor Lawrence Koved
Lawrence Koved 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).
-
Publication number: 20090094667Abstract: Systems and methods are presented for automatically determining the security requirements of program code during the creation or modification of that program code and for presenting the necessary security permissions to a developer of the program code at the time of the creation or modification of the program code. A cache is established containing program code segments including library calls and application program interfaces that require security permissions at runtime. The cache also includes the security permissions associated with the stored program code segments. Program code editing is monitored in real time during the editing, and instances of edits that add, modify or delete the stored program code segments from the program code being edited are identified. The security permissions associated with the program code segments that are modified by the edits are retrieved from the cache.Type: ApplicationFiled: October 5, 2007Publication date: April 9, 2009Applicant: International Business Machines CorporationInventors: Ted A. Habeck, Lawrence Koved, Jeff McAffer, Marco Pistoia
-
Patent number: 7496757Abstract: A software security system is arranged to verify the authenticity of each element of a Java Virtual Machine installation. A digital signature is attached to each file of the JVM installation. A loader (20) verifies the digital signature of the JVM DLL (30). The JVM DLL 30 then verifies the digital signature of each other DLL and configuration file to be loaded (40, 50, 60, 70), and only loads those files which have successfully verified digital signatures. In this way the security of the JVM is enhanced, a user has greater confidence that the Java applications will function correctly, and the detection of incorrect or damaged JVM installations is improved.Type: GrantFiled: January 14, 2002Date of Patent: February 24, 2009Assignee: International Business Machines CorporationInventors: Paul Harry Abbott, Lawrence Koved, Anthony Joseph Nadalin, Marco Pistoia
-
Patent number: 7493602Abstract: A unified program analysis framework that facilitates the analysis of complex multi-language software systems, analysis reuse, and analysis comparison, by employing techniques such as program translation and automatic results mapping, is presented. The feasibility and effectiveness of such a framework are demonstrated using a sample application of the framework. The comparison yields new insights into the effectiveness of the techniques employed in both analysis tools. These encouraging results yield the observation that such a unified program analysis framework will prove to be valuable both as a testbed for examining different language analysis techniques, and as a unified toolset for broad program analysis.Type: GrantFiled: May 2, 2005Date of Patent: February 17, 2009Assignee: International Business Machines CorporationInventors: Trent R. Jaeger, Lawrence Koved, Liangzhao Zeng, Xiaolan Zhang
-
Publication number: 20090019430Abstract: A unified program analysis framework that facilitates the analysis of complex multi-language software systems, analysis reuse, and analysis comparison, by employing techniques such as program translation and automatic results mapping, is presented. The feasibility and effectiveness of such a framework are demonstrated using a sample application of the framework. The comparison yields new insights into the effectiveness of the techniques employed in both analysis tools. These encouraging results yield the observation that such a unified program analysis framework will prove to be valuable both as a testbed for examining different language analysis techniques, and as a unified toolset for broad program analysis.Type: ApplicationFiled: July 22, 2008Publication date: January 15, 2009Applicant: International Business Machines CorporationInventors: Trent R. Jaeger, Lawrence Koved, Liangshao Zeng, Xiaolan Zhang
-
Publication number: 20080168527Abstract: A method for enforcing privacy policies associated with data. The method includes accessing a database to identify labeled data in the database, the labeled data associated with a privacy policy. An access node accessing the label data is determined. For the access node accessing the labeled data, it is determined whether the access node applies an authorization test as indicated by the privacy policy. An authorization test is associated with the access node if the access node does not apply necessary authorization indicated by the privacy policy.Type: ApplicationFiled: January 4, 2007Publication date: July 10, 2008Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Lawrence Koved, Marco Pistoia
-
Publication number: 20080104698Abstract: A method and apparatus for implementing a new Permission for methods that perform callback operations are provided. The method and apparatus provide an AdoptPermission Permission type that allows a method to pass a Java 2 authorization test without having the specific required Permissions expressly granted to the method and without the method having the AllPermission Permission granted to it. With the apparatus and method, an AdoptPermission Permission type is defined that operates to allow a ProtectionDomain to “adopt” a required Permission. However, this adoption of a required Permission can only be performed if the ProtectionDomain of at least one method in the thread stack has been granted a Permission that implies the required Permission.Type: ApplicationFiled: January 3, 2008Publication date: May 1, 2008Inventors: Lawrence Koved, Anthony Nadalin, Marco Pistoia
-
Patent number: 7343620Abstract: A method and apparatus for implementing a new Permission for methods that perform callback operations are provided. The method and apparatus provide an AdoptPermission Permission type that allows a method to pass a Java 2 authorization test without having the specific required Permissions expressly granted to the method and without the method having the AllPermission Permission granted to it. With the apparatus and method, an AdoptPermission Permission type is defined that operates to allow a ProtectionDomain to “adopt” a required Permission. However, this adoption of a required Permission can only be performed if the ProtectionDomain of at least one method in the thread stack has been granted a Permission that implies the required Permission.Type: GrantFiled: August 13, 2003Date of Patent: March 11, 2008Assignee: International Business Machines CorporationInventors: Lawrence Koved, Anthony Joseph Nadalin, Marco Pistoia
-
Publication number: 20080060083Abstract: A digital rights management (DRM) system and methodology for a Java client implementing a Java Runtime Environment (JRE). The JRE comprises a Java Virtual Machine (JVM) and Java runtime libraries components and is capable of executing a player application for presenting content that can be presented through a Java program (e.g., a Java application, applet, servlet, bean, etc.) and downloaded from a content server to the client. The DRM system includes an acquisition component for receiving downloaded protected contents; and a dynamic rights management layer located between the JRE and player application for receiving requests to view or play downloaded protected contents from the player, and, in response to each request, determining the rights associated with protected content and enabling viewing or playing of the protected contents via the player application if permitted according to the rights.Type: ApplicationFiled: October 31, 2007Publication date: March 6, 2008Applicant: International Business Machines CorporationInventors: Lawrence Koved, Magda Mourad, Jonathan Munson, Giovanni Pacifici, Marco Pistoia, Alaa Youssef
-
Patent number: 7308717Abstract: A digital rights management (DRM) system and methodology for a Java client implementing a Java Runtime Environment (JRE). The JRE comprises a Java Virtual Machine (JVM) and Java runtime libraries components and is capable of executing a player application for presenting content that can be presented through a Java program (e.g., a Java application, applet, servlet, bean, etc.) and downloaded from a content server to the client. The DRM system includes an acquisition component for receiving downloaded protected contents; and a dynamic rights management layer located between the JRE and player application for receiving requests to view or play downloaded protected contents from the player, and, in response to each request, determining the rights associated with protected content and enabling viewing or playing of the protected contents via the player application if permitted according to the rights.Type: GrantFiled: February 23, 2001Date of Patent: December 11, 2007Assignee: International Business Machines CorporationInventors: Lawrence Koved, Magda M. Mourad, Jonathan P. Munson, Giovanni Pacifici, Marco Pistoia, Alaa S. Youssef
-
Publication number: 20070169124Abstract: A method, system and program product for minimizing unwanted synchronizations in a multithreading program. Program functions in a multithreading program that should not be synchronized are identified as input tails, e.g., manually identified. An invocation graph is constructed for the multithreading program with nodes identified as head nodes and tail nodes that correspond to the input tails. Synchronization information is collected for each node of the invocation graph. Sources of synchronization in the invocation graph are represented as source nodes. All paths from head nodes to tail nodes through at least one source node are identified.Type: ApplicationFiled: November 10, 2005Publication date: July 19, 2007Inventors: Aaron Kershenbaum, Lawrence Koved, George Leeman, Darrell Reimer
-
Patent number: 7237236Abstract: A method and apparatus for automatically determining optimum placement of privileged code enablement locations in existing code are provided. A method invocation graph of existing code is generated and a static analysis of the method invocation graph is performed. The static analysis is used to analyze the permission propagation through chains of method invocations in the method invocation graph. When a method invocation in the method invocation graph satisfies one or more user definable criteria, the location in the method invocation graph is saved to a file that identifies recommended insertion points for a call to the authorization enablement code. This file may then be used to manually review the code to determine if a call to privileged mode enablement should actually be made at the identified locations. Alternatively, the call to privileged mode enablement may be automatically inserted at the indicated locations using refactoring.Type: GrantFiled: August 22, 2002Date of Patent: June 26, 2007Assignee: International Business Machines CorporationInventors: Aaron Stephen Jay Kershenbaum, Lawrence Koved, Anthony Joseph Nadalin, Marco Pistoia
-
Patent number: 7219341Abstract: A method, system and apparatus for performing selective data processing based upon a static analysis of the code of a compiled object. A compiled object, for example an enterprise bean, can be analyzed to determine how individual methods in the enterprise bean access specific objects. Those specific objects can include, for instance, data members of a class, or class objects passed into one or more individual methods of the enterprise bean. Where the individual methods of the enterprise bean do not mutate or otherwise change the state of the specific objects, those objects can be accessed by reference only. Importantly, where the specific objects are data fields linked to a table in a database as managed by a container managed persistence (CMP) bean, an update to the table will not be required when the static analysis of the enterprise bean otherwise indicates that the data fields are merely accessed, but not updated.Type: GrantFiled: October 31, 2002Date of Patent: May 15, 2007Assignee: International Business Machines CorporationInventors: Ann Eleanor Dalton, David Granshaw, Matt Richard Hogstrom, Aaron Stephen Jay Kershenbaum, Lawrence Koved, Bert Laonipon, Simon Christopher Nash, Marco Pistola
-
Publication number: 20060248519Abstract: A unified program analysis framework that facilitates the analysis of complex multi-language software systems, analysis reuse, and analysis comparison, by employing techniques such as program translation and automatic results mapping, is presented. The feasibility and effectiveness of such a framework are demonstrated using a sample application of the framework. The comparison yields new insights into the effectiveness of the techniques employed in both analysis tools. These encouraging results yield the observation that such a unified program analysis framework will prove to be valuable both as a testbed for examining different language analysis techniques, and as a unified toolset for broad program analysis.Type: ApplicationFiled: May 2, 2005Publication date: November 2, 2006Applicant: IBM CorporationInventors: Trent Jaeger, Lawrence Koved, Liangzhao Zeng, Xiaolan Zhang
-
Patent number: 7076804Abstract: This invention provides methods and apparatus for determining a set of authorization usage for collection of code. By using a program graph, the present invention identifies the code within in bounded paths in the program graph that use authorization. The level of precision is able to identify authorization usage to the level of basic blocks, methods, classes or other collections of code. By using the analysis technique described in this invention, we can determine the authorizations needed by collections code, including Java applets, servlets, and Enterprise JavaBeans. By using the present invention, it is possible, prior to loading the mobile code, to prompt the administrator or end-user to authorize or deny the code access to restricted the resources, or determine whether authorization testing will be required.Type: GrantFiled: May 11, 2001Date of Patent: July 11, 2006Assignee: International Business Machines CorporationInventors: Aaron Kershenbaum, Lawrence Koved, Marco Pistoia
-
Publication number: 20050262487Abstract: Improved detecting the authorization requirements and defining the security policies for an application comprising one or more components is disclosed. A call and resource-access graph is used to model all the possible paths of execution within the application. Then, paths of execution detected during the analysis are combined with the access control information found in the security policy of the application. Finally, for each authorization point in the application, a minimal security policy is reported that the executing principal should be granted in order to pass the authorization successfully.Type: ApplicationFiled: May 11, 2004Publication date: November 24, 2005Applicant: International Business Machines CorporationInventors: Marco Pistoia, Lawrence Koved, Paolina Centonze
-
Publication number: 20050039158Abstract: A method and apparatus for implementing a new Permission for methods that perform callback operations are provided. The method and apparatus provide an AdoptPermission Permission type that allows a method to pass a Java 2 authorization test without having the specific required Permissions expressly granted to the method and without the method having the AllPermission Permission granted to it. With the apparatus and method, an AdoptPermission Permission type is defined that operates to allow a ProtectionDomain to “adopt” a required Permission. However, this adoption of a required Permission can only be performed if the ProtectionDomain of at least one method in the thread stack has been granted a Permission that implies the required Permission.Type: ApplicationFiled: August 13, 2003Publication date: February 17, 2005Applicant: International Business Machines CorporationInventors: Lawrence Koved, Anthony Nadalin, Marco Pistoia
-
Publication number: 20050015752Abstract: A system and method for providing “static analysis” of programs to aid in improving runtime performance, stability, security and privacy characteristics of deployed application code. The method includes performing a set of analyses that sifts through the program code and identifies programming security and/or privacy model coding errors. In particular the invention focuses on identifying coding errors that cause loss of correctness, performance degradation, security, privacy and maintainability vulnerabilities. A deep analysis of the program is performed using detailed control and data flow analyses. These deeper analyses provide a much better perspective of the overall application behavior. This deep analysis is in contrast to shallow analyses in current industry tools, which inspect or model a single or a few classes at a time.Type: ApplicationFiled: July 15, 2003Publication date: January 20, 2005Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATIONInventors: Bowen Alpern, Robert Johnson, Aaron Kershenbaum, Lawrence Koved, George Leeman, Marco Pistoia, Darrell Reimer, Kavitha Srinivas, Harini Srinivasan
-
Publication number: 20040088687Abstract: A method, system and apparatus for performing selective data processing based upon a static analysis of the code of a compiled object. A compiled object, for example an enterprise bean, can be analyzed to determine how individual methods in the enterprise bean access specific objects. Those specific objects can include, for instance, data members of a class, or class objects passed into one or more individual methods of the enterprise bean. Where the individual methods of the enterprise bean do not mutate or otherwise change the state of the specific objects, those objects can be accessed by reference only. Importantly, where the specific objects are data fields linked to a table in a database as managed by a container managed persistence (CMP) bean, an update to the table will not be required when the static analysis of the enterprise bean otherwise indicates that the data fields are merely accessed, but not updated.Type: ApplicationFiled: October 31, 2002Publication date: May 6, 2004Applicant: International Business Machines CorporationInventors: Ann Eleanor Dalton, David Granshaw, Matt Richard Hogstrom, Aaron Stephen Jay Kershenbaum, Lawrence Koved, Bert Laonipon, Simon Christopher Nash, Marco Pistola
-
Publication number: 20040040017Abstract: A method and apparatus for automatically determining optimum placement of privileged code enablement locations in existing code are provided. With the apparatus and method, a method invocation graph of existing code is generated and a static analysis of the method invocation graph is performed. The static analysis is used to analyze the permission propagation through chains of method invocations in the method invocation graph. When a method invocation in the method invocation graph satisfies one or more user definable criteria, the location in the method invocation graph is save to a file that identifies recommended insertion points for a call to the authorization enablement code. A default criteria for insertion of a call to authorization enablement is the boundary between application code and API code.Type: ApplicationFiled: August 22, 2002Publication date: February 26, 2004Applicant: International Business Machines CorporationInventors: Aaron Stephen Jay Kershenbaum, Lawrence Koved, Anthony Joseph Nadalin, Marco Pistoia
-
Publication number: 20030135746Abstract: A software security system is arranged to verify the authenticity of each element of a Java Virtual Machine installation. A digital signature is attached to each file of the JVM installation. A loader (20) verifies the digital signature of the JVM DLL (30). The JVM DLL 30 then verifies the digital signature of each other DLL and configuration file to be loaded (40, 50, 60, 70), and only loads those files which have successfully verified digital signatures. In this way the security of the JVM is enhanced, a user has greater confidence that the Java applications will function correctly, and the detection of incorrect or damaged JVM installations is improved.Type: ApplicationFiled: January 14, 2002Publication date: July 17, 2003Applicant: International Business Machines CorporationInventors: Paul Harry Abbott, Lawrence Koved, Anthony Joseph Nadalin, Marco Pistoia