Microsoft
Principal Development Lead
Microsoft 2011 - 2013
Senior Development Lead
Microsoft 2008 - 2011
Senior Software Design Engineer
Securitay 2006 - 2008
Independent Consultant
Microsoft 2000 - 2006
Software Design Engineer
Education:
University of Wisconsin-Madison 1995 - 1999
Bachelor of Science (B.S.), Mathematics and Computer Science
Skills:
Distributed Systems Cloud Storage Operating Systems Storage Virtualization Static Analysis C++ C++0X Authorization Windows Kernel Programming Multithreading Software Engineering Debugging Scalability Arctic Software Development Cloud Computing Storage Architecture Software Design Agile Methodologies Object Oriented Design C C# .Net Web Services
A hashing structure including multiple sub-hashes is used to determine whether an input value matches one or more of multiple target values. These values can be of any form, such as security identifiers in an access control system. To make the determination, a hash key is obtained from the input value and multiple sub-hash indexes (one for each of the multiple sub-hashes) are generated based on the key. Values are identified from the multiple sub-hashes by indexing into the sub-hashes using respective ones of the sub-hash indexes. These values are then combined to generate a resultant hash value. Each of the multiple target values corresponds to one of multiple portions of the resultant hash value. If the portion corresponding to one of the target values has a particular value, then that target value is a likely match and is compared to the input value to determine if indeed the two match. This comparison can then be repeated for each target value with a corresponding portion in the resultant hash value that has the particular value.
System And Methods For Providing Dynamic Authorization In A Computer System
Praerit Garg - Kirkland WA, US Robert P. Reichel - Sammamish WA, US Richard B. Ward - Redmond WA, US Kedarnath A. Dubhashi - Bellevue WA, US Jeffrey B. Hamblin - North Bend WA, US Anne C. Hopkins - Seattle WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 21/00
US Classification:
726 21, 726 4, 726 17, 709229, 707 9
Abstract:
A dynamic authorization callback mechanism is provided that implements a dynamic authorization model. An application can thus implement virtually any authorization policy by utilizing dynamic data and flexible policy algorithms inherent in the dynamic authorization model. Dynamic data, such as client operation parameter values, client attributes stored in a time-varying or updateable data store, run-time or environmental factors such as time-of-day, and any other static or dynamic data that is managed or retrievable by the application may be evaluated in connection with access control decisions. Hence, applications may define and implement business rules that can be expressed in terms of run-time operations and dynamic data. An application thus has substantial flexibility in defining and implementing custom authorization policy, and at the same time provides standard definitions for such dynamic data and policy.
Providing User On Computer Operating System With Full Privileges Token And Limited Privileges Token
Jeffrey B. Hamblin - Issaquah WA, US Jonathan Schwartz - Kirkland WA, US Kedarnath A. Dubhashi - Redmond WA, US Klaus U. Schutz - Kirkland WA, US Peter T. Brundrett - Seattle WA, US Richard B. Ward - Redmond WA, US Thomas C. Jones - Sammamish WA, US
An operating system for a computing device has a first session for a user that includes a first base process that has a first privileges token attached thereto. The first privileges token includes substantially a full set of privileges of the user on the operating system. The operating system also has a second session for the user that includes a second base process that has a second privileges token attached thereto. The second privileges token is derived from the first privileges token and includes only a minimum set of privileges of the user on the operating system. Thus, the second, limited token does not have all privileges associated with the first, full token but instead has a limited set of privileges and not extra privileges that could be employed to take actions that would be harmful, deceptive, or malicious.
Integrating Security Protection Tools With Computer Device Integrity And Privacy Policy
Thekkthalackal Varugis Kurien - Sammamish WA, US Jeffrey B Hamblin - Issaquah WA, US Narasimha Rao Nagampalli - Kirkland WA, US Peter T Brundrett - Seattle WA, US Scott Field - Redmond WA, US
At computer device power on, the operating system of the computer device initiates a monitor. The monitor assigns a monitoring program to each program and object (collectively, “program”) running on the computer device to monitor the activities of the program. When the monitoring program is assigned to a program, the monitoring program is assigned an integrity and/or privacy label (collectively, “integrity label”) based on predetermined criteria applied to the monitored program. The monitoring program, in turn, assigns an integrity label to the program monitored by the monitoring program. The integrity label assigned to the monitored program is less than or equal to the integrity label of the monitoring program. The monitor enforces an integrity policy of the computer device based on the integrity label assigned to monitored programs and the integrity label associated with data, another program, or a remote network resource that the monitored program is seeking to access.
Integrating Security Protection Tools With Computer Device Integrity And Privacy Policy
Thekkthalackal Varugis Kurien - Sammamish WA, US Jeffrey B Hamblin - Issaquah WA, US Narasimha Rao Nagampalli - Kirkland WA, US Peter T Brundrett - Seattle WA, US Scott Field - Redmond WA, US
At computer device power on, the operating system of the computer device initiates a monitor. The monitor assigns a monitoring program to each program and object (collectively, “program”) running on the computer device to monitor the activities of the program. When the monitoring program is assigned to a program, the monitoring program is assigned an integrity and/or privacy label (collectively, “integrity label”) based on predetermined criteria applied to the monitored program. The monitoring program, in turn, assigns an integrity label to the program monitored by the monitoring program. The integrity label assigned to the monitored program is less than or equal to the integrity label of the monitoring program. The monitor enforces an integrity policy of the computer device based on the integrity label assigned to monitored programs and the integrity label associated with data, another program, or a remote network resource that the monitored program is seeking to access.
Raja P. Perumal - Issaquah WA, US Jeffrey B. Hamblin - Issaquah WA, US Paul J. Leach - Seattle WA, US
Assignee:
Microsoft Corporation - Redmond WA
International Classification:
G06F 21/00
US Classification:
726 4, 726 27
Abstract:
A scope hierarchy corresponding to a resource to which a type of access is requested is identified, the scope hierarchy including multiple scope levels each of which has an associated access control list. An access control list associated with a lower scope level can further restrict access permitted to the resource by an access control list associated with a higher scope level. Based at least in part on one or more of the access control lists associated with the multiple scope levels, a determination is made as to whether the requested type of access to the resource is permitted.
The contemplated embodiments of the invention provide a method for implementing a mandatory integrity control (MIC) system that provides access control for each and every object and subject that need access control, but in a way that allows legacy operating systems to continue with little modification. The invention provides a novel method that selects an integrity level designator for a subject, when the subject logs onto the computer system. The selected integrity level designator is then added to an existing data structure in the computer system. The existing data structure may be a part of a security descriptor stored in a system access control list of an object. The existing data structure may be a part of a list of security permissions that constitute an access token for a process executing as a subject.
System And Methods For Caching In Connection With Authorization In A Computer System
Praerit Garg - Kirkland WA, US Robert Reichel - Sammamish WA, US Richard Ward - Redmond WA, US Kedarnath Dubhashi - Bellevue WA, US Jeffrey Hamblin - North Bend WA, US Anne Hopkins - Seattle WA, US
Assignee:
Microsoft Corporation
International Classification:
H04L009/00
US Classification:
713/182000, 713/166000
Abstract:
An authorization handle is supported for each access policy determination that is likely to be repeated. In particular, an authorization handle may be assigned to access check results associated with the same discretionary access control list and the same client context. This likelihood may be determined based upon pre-set criteria for the application or service, based on usage history and the like. Once an access policy determination is assigned an authorization handle, the static maximum allowed access is cached for that policy determination. From access check to access check, the set of permissions desired by the client may change, and dynamic factors that might affect the overall privilege grant may also change; however, generally there is still a set of policies that is unaffected by the changes and common across access requests. The cached static maximum allowed access data is thus used to provide efficient operations for the evaluation of common policy sets. In systems having access policy evaluations that are repeated, authorization policy evaluations are more efficient, computer resources are free for other tasks, and performance improvements are observed.
Dr. Hamblin graduated from the American University of the Caribbean School of Medicine in 1992. He works in Brooklyn, NY and specializes in Psychiatry.
Jeffrey Hamblin 1971 graduate of Thornton Fractional South High School in Lansing, IL is on Classmates.com. See pictures, plan your class reunion and get caught up with Jeffrey and ...
Jeffrey Hamblin 1994 graduate of Mooresville High School in Mooresville, NC is on Classmates.com. See pictures, plan your class reunion and get caught up with Jeffrey and other ...