Patents by Inventor Martin Abadi
Martin Abadi 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).
-
Systems and methods for pattern matching on principal names to control access to computing resources
Publication number: 20060265754Abstract: Systems and methods are provided for resource access control in computer systems. Our approach includes new techniques for composing and authenticating principals in an access control system. Our principals may comprise information that identifies the role of the user of a computer system, the mechanism by which the user was authenticated, and program execution history. Thus, when a principal makes a request, access control determinations can be made based on the principal's identity. Access control lists may provide patterns that are used to recognize principals, thereby ensuring a level of security without enumerating precise identifiers for all of the possible principles that may request a particular resource.Type: ApplicationFiled: May 19, 2005Publication date: November 23, 2006Applicant: Microsoft CorporationInventors: Andrew Birrell, Edward Wobber, Martin Abadi -
Publication number: 20060174077Abstract: Software memory access control is provided by associating instruction areas with memory areas such that instruction areas are not permitted to access memory areas with which they are not associated. Checks may be inserted in the instruction areas to ensure that data provided by a memory group is provided by an associated memory area. Additionally, control flow integrity for the instruction areas may be provided by embedding identifying bit patterns within computed control flow instructions contained in the instruction groups. In this way, control flow of the instruction areas may be provided, thus preventing diversion of control flow and minimizing required checks.Type: ApplicationFiled: January 14, 2005Publication date: August 3, 2006Applicant: Microsoft CorporationInventors: Martin Abadi, Ulfar Erlingsson, Jay Ligatti, Mihai-Dan Budiu
-
Publication number: 20060161978Abstract: Software control flow integrity is provided by embedding identifying bit patterns at computed control flow instruction sources and destinations. The sources and destinations of computed control flow instructions are determined with reference to a control flow graph. The identifying bit patterns are compared during software execution, and a match between a source and a respective destination ensures control flow consistent with the control flow graph. Security measures are implemented when the comparison results in a mismatch, indicating that control flow has deviated from the anticipated course.Type: ApplicationFiled: January 14, 2005Publication date: July 20, 2006Applicant: Microsoft CorporationInventors: Martin Abadi, Mihai-Dan Budiu, Ulfar Erlingsson, Jay Ligatti
-
Publication number: 20060123430Abstract: Described herein is an implementation of a technology for the construction, identification, and/or optimization of operating-system processes. At least one implementation, described herein, constructs an operating-system process having the contents as defined by a process manifest. Once constructed, the operating-system process is unalterable.Type: ApplicationFiled: April 29, 2005Publication date: June 8, 2006Applicant: Microsoft CorporationInventors: Galen Hunt, James Larus, John DeTreville, Edward Wobber, Martin Abadi, Michael Jones, Trishul Chilimbi
-
Publication number: 20060123424Abstract: Described herein is an implementation of an inter-process communications technology. One or more implementations, described herein, facilitate creation of a bi-directional message conduit having exactly two endpoints. A first endpoint is owned by a first software process and a second endpoint is owned by a second software process. One or more implementations, described herein, maintain the bi-directional message conduit for passing multiple messages via the bi-directional message conduit from the first process to the second process, according to established rules that can be checked.Type: ApplicationFiled: December 7, 2004Publication date: June 8, 2006Applicant: Microsoft CorporationInventors: Galen Hunt, James Larus, Manuel Fahndrich, Edward Wobber, Martin Abadi, John DeTreville
-
Publication number: 20060123417Abstract: Described herein is an implementation of a technology for the construction, identity, and/or optimization of operating-system processes. At least one implementation, described herein, constructs an operating-system process having the contents as defined by a process manifest. Once constructed, the operating-system process is unalterable.Type: ApplicationFiled: December 6, 2004Publication date: June 8, 2006Applicant: Microsoft CorporationInventors: Galen Hunt, James Larus, John DeTreville, Edward Wobber, Martin Abadi, Michael Jones, Trishul Chilimbi
-
Publication number: 20060123418Abstract: Described herein is an implementation of a technology for the construction, identification, and/or optimization of operating-system processes. At least one implementation, described herein, constructs an operating-system process having the contents as defined by a process manifest. Once constructed, the operating-system process is unalterable.Type: ApplicationFiled: April 29, 2005Publication date: June 8, 2006Applicant: Microsoft CorporationInventors: Galen Hunt, James Larus, John DeTreville, Edward Wobber, Martin Abadi, Michael Jones, Trishul Chilimbi
-
Publication number: 20040093371Abstract: A resource may be abused if its users incur little or no cost. For example, e-mail abuse is rampant because sending an e-mail has negligible cost for the sender. Such abuse may be discouraged by introducing an artificial cost in the form of a moderately expensive computation. Thus, the sender of an e-mail might be required to pay by computing for a few seconds before the e-mail is accepted. Unfortunately, because of sharp disparities across computer systems, this approach may be ineffective against malicious users with high-end systems, prohibitively slow for legitimate users with low-end systems, or both. Starting from this observation, we identify moderately hard, memory bound functions that most recent computer systems will evaluate at about the same speed, and we explain how to use them for protecting against abuses.Type: ApplicationFiled: November 8, 2002Publication date: May 13, 2004Applicant: Microsoft Corporation.Inventors: Michael Burrows, Martin Abadi, Mark Steven Manasse, Edward P. Wobber, Daniel Ron Simon
-
Patent number: 6480502Abstract: A method for broadcasting packets in a network that includes a plurality of switches. The network can logically be represented by a spanning tree plus cross-links. In order to avoid deadlock during a broadcast, a broadcast packet is sent from an originating switch to a root switch of the network, and a copy of the packet is sent from a current switch to all descendant switches when all copies of the packet have been received in the current switch.Type: GrantFiled: May 15, 1998Date of Patent: November 12, 2002Assignee: Compaq Information Technologies Group, L.P.Inventors: Martin Abadi, Thomas Lee Rodeheffer
-
Publication number: 20020150056Abstract: A method for broadcasting packets in a network that includes a plurality of switches. The network can logically be represented by a spanning tree plus cross-links. In order to avoid deadlock during a broadcast, a broadcast packet is sent from an originating switch to a root switch of the network, and a copy of the packet is sent from a current switch to all descendant switches when all copies of the packet have been received in the current switch.Type: ApplicationFiled: February 15, 2002Publication date: October 17, 2002Inventors: Martin Abadi, Thomas Lee Rodeheffer
-
Patent number: 6253370Abstract: A method and apparatus annotates a computer program to facilitate subsequent processing of the program. Code representing the program is generated at a first computer system. Annotations are generated for the code that provide information about the code. At a second computer, the code is processed according to the information provided by the annotations. The annotations, for example, can indicate a control flow graph representing a flow of execution of the code. Also, the information provided by the annotations can be a register allocation that maps data structures of the code to registers of the second computer system. The second computer system can use such information to guide the interpreting of the code or to transform the code into a more optimized form. Other exemplary annotations can indicate that running the executable form of the code would perform an unauthorized operation at the second computer system.Type: GrantFiled: December 1, 1997Date of Patent: June 26, 2001Assignee: Compaq Computer CorporationInventors: Martin Abadi, Sanjay Ghemawat, Raymond Paul Stata
-
Patent number: 6195698Abstract: A computerized method selectively accepts access requests from a client computer connected to a server computer by a network. The server computer receives an access request from the client computer. In response, the server computer generates a predetermined number of random characters. The random characters are used to form a string in the server computer. The string is randomly modified either visually or audibly to form a riddle. The original string becomes the correct answer to the riddle. The server computer renders the riddle on an output device of the client computer. In response, the client computer sends an answer to the server. Hopefully, the answer is a user's guess for the correct answer. The server determines if the guess is the correct answer, and if so, the access request is accepted.Type: GrantFiled: April 13, 1998Date of Patent: February 27, 2001Assignee: Compaq Computer CorporationInventors: Mark D. Lillibridge, Martin Abadi, Krishna Bharat, Andrei Z. Broder
-
Patent number: 6141760Abstract: A computerized method is provided for generating passwords for password controlled access points. Provided are a master password, an access password, and a user name. The master password, the service name, and the user name are combined using an irreversible function to generate a unique password. The function can be a one-way hash function. The combining can be performed by a browser of a client computer. A similar combining can also be used to generate a user name from the master password and the user's real name.Type: GrantFiled: October 31, 1997Date of Patent: October 31, 2000Assignee: Compaq Computer CorporationInventors: Martin Abadi, Krishna Bharat, Johannes Marais
-
Patent number: 6079021Abstract: A computer implemented method provides access to processes and data using strengthened password. During an initialization phase, an access code is stored in a memory of a computer system. The access code is an application of a one-way hash function to a concatenation of a password and a password supplement. The size of the password supplement is a fixed number of bits. During operation of the system, a user enters a password, and the one-way hash function is applied to concatenations of the password and possible values having the size of the password supplement to yield trial access codes. Access is granted when one of the trial access codes is identical to the stored access code.Type: GrantFiled: June 2, 1997Date of Patent: June 20, 2000Assignee: Digital Equipment CorporationInventors: Martin Abadi, Roger Michael Needham, Thomas Mark Angus Lomas
-
Patent number: 5940619Abstract: In a computerized method, a computer program is analyzed while the program is interpreted. The program is expressed in a first memory as input values and functions. Some of the input values are complex values which can have a plurality of component values. Each function operates on combinations of the input values and the functions of the program. The program is interpreted in a processor connected to the first memory. The processor is also connected to a second memory to store result values produced during the interpretation. Selected input values, components of the complex values, and functions are named only if the selected values, components, and functions are necessary to produce a selected result value. For each function of the program, the function which is interpreted, the input values on which the function depends, and the result value produced by the function during interpretation, are recorded in the second memory to dynamically perform a precise dependency analysis of the program.Type: GrantFiled: October 25, 1996Date of Patent: August 17, 1999Assignee: Digital Equipment CorporationInventors: Martin Abadi, James J. Horning, Butler W. Lampson, Roy Levin, Jean-Jacques Levy, Yuan Yu
-
Patent number: 5805803Abstract: In a computer implemented method, a client computer connected to a public network such as the Internet makes a request for an intranet resource to a tunnel of a firewall isolating the intranet from the Internet. The request is made in a public message. The tunnel sends a message to the client computer to redirect to a proxy server of the tunnel. The client computer send a token and the request for the resource the proxy server. If the token is valid, the request is forwarded to the intranet, otherwise, the user of the client computer must first be authenticated.Type: GrantFiled: May 13, 1997Date of Patent: September 8, 1998Assignee: Digital Equipment CorporationInventors: Andrew D. Birrell, Edward P. Wobber, Martin Abadi, Raymond P. Stata
-
Patent number: 5315657Abstract: An access control list for determining the access rights of principals in a distributed system to a system resource is disclosed wherein the access rights of a specified principal are based on the access rights delegated to that principal.Type: GrantFiled: September 28, 1990Date of Patent: May 24, 1994Assignee: Digital Equipment CorporationInventors: Martin Abadi, Andrew C. Goldstein, Butler W. Lampson
-
Patent number: 5268962Abstract: In a computer network, each pair of host computers that need to exchange data packets establish a single host-to-host encryption/decryption key. Then, whenever one host computer sends a data packet to the other host computer, it first forms a predefined logical combination of the established host-to-host key and the destination buffer index to which the data packet is being sent, and then uses the resulting value to encrypt the secure portions of the data packet. The destination buffer index is included in the data packet's header, which is not encrypted. When the receiving host computer receives the encrypted data packet, it reads the destination buffer index from the packet header, forms the same predefined logical combination of the established host-to-host key and the destination buffer index to generate a decryption key, and uses the computed decryption key to decrypt the secure portions of the received data packet.Type: GrantFiled: July 21, 1992Date of Patent: December 7, 1993Assignee: Digital Equipment CorporationInventors: Martin Abadi, Michael Burrows, Butler Lampson
-
Patent number: 5235642Abstract: A distributed computer system has a number of computers coupled thereto at distinct nodes. The computer at each node of the distributed system has a trusted computing base that includes an authentication agent for authenticating requests received from principals at other nodes in the system. Requests are transmitted to servers as messages that include a first identifier provided by the requester and a second identifier provided by the authentication agent of the requester node. Each server process is provided with a local cache of authentication data that identifies requesters whose previous request messages have been authenticated. When a request is received, the server checks the request's first and second identifiers against the entries in its local cache. If there is a match, then the request is known to be authentic. Otherwise, the server node's authentication agent is called to obtain authentication credentials from the requester's node to authenticate the request message.Type: GrantFiled: July 21, 1992Date of Patent: August 10, 1993Assignee: Digital Equipment CorporationInventors: Edward Wobber, Martin Abadi, Andrew Birrell, Butler Lampson
-
Patent number: 5173939Abstract: A distributed computer system has a number of computers coupled thereto at distinct nodes and a naming service with a membership table that defines a list of assumptions concerning which principals in the system are stronger than other principals, and which roles adopted by principals are stronger than other roles. Each object in the system has an access control list (ACL) having a list of entries. Each entry is either a simple principal or a compound principal. The set of allowed compound principals is limited to a predefined set of allowed combinations of simple principals, roles, delegations and conjunctions in accordance with a defined hierarchical ordering of the conjunction, delegation and role portions of each compound principal. The assumptions in the membership table reduce the number of entries needed in an ACL by allowing an entry to state only the weakest principals and roles that are to be allowed access.Type: GrantFiled: October 28, 1991Date of Patent: December 22, 1992Assignee: Digital Equipment CorporationInventors: Martin Abadi, Michael Burrows, Edward P. Wobber