Patents by Inventor Simon P. Cooper

Simon P. Cooper 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: 11188477
    Abstract: In an embodiment, a computer system comprises a page protection layer. The page protection layer may be the component in the system which manages the page tables for virtual to physical page mappings. Transactions to the page protection layer are used to create/manage mappings created in the page tables. The page protection layer may enforce dynamic security policies in the system (i.e. security policies that may not be enforced using only a static hardware configuration). In an embodiment, the page protection layer may ensure that it is the only component which is able to modify the page tables. The page protection layer may ensure than no component in the system is able to modify a page that is marked executable in any process' address space. The page protection may ensure that any page that is marked executable has code with a verified code signature, in an embodiment.
    Type: Grant
    Filed: September 9, 2019
    Date of Patent: November 30, 2021
    Assignee: Apple Inc.
    Inventors: Julien Oster, Thomas G. Holland, Bernard J. Semeria, Jason A. Harmening, Pierre-Olivier J. Martel, Gregory D. Hughes, P. Love Hornquist Astrand, Jacques Fortier, Ryan P. Nielson, Simon P. Cooper
  • Patent number: 11188638
    Abstract: A data processing system can use a method of fine-grained address space layout randomization to mitigate the system's vulnerability to return oriented programming security exploits. The randomization can occur at the sub-segment level by randomizing clumps of virtual memory pages. The randomized virtual memory can be presented to processes executing on the system. The mapping between memory spaces can be obfuscated using several obfuscation techniques to prevent the reverse engineering of the shuffled virtual memory mapping.
    Type: Grant
    Filed: May 10, 2019
    Date of Patent: November 30, 2021
    Assignee: Apple Inc.
    Inventors: Jacques A. Vidrine, Nicholas C. Allegra, Simon P. Cooper, Gregory D. Hughes
  • Publication number: 20200081847
    Abstract: In an embodiment, a computer system comprises a page protection layer. The page protection layer may be the component in the system which manages the page tables for virtual to physical page mappings. Transactions to the page protection layer are used to create/manage mappings created in the page tables. The page protection layer may enforce dynamic security policies in the system (i.e. security policies that may not be enforced using only a static hardware configuration). In an embodiment, the page protection layer may ensure that it is the only component which is able to modify the page tables. The page protection layer may ensure than no component in the system is able to modify a page that is marked executable in any process' address space. The page protection may ensure that any page that is marked executable has code with a verified code signature, in an embodiment.
    Type: Application
    Filed: September 9, 2019
    Publication date: March 12, 2020
    Inventors: Julien Oster, Thomas G. Holland, Bernard J. Semeria, Jason A. Harmening, Pierre-Olivier J. Martel, Gregory D. Hughes, P. Love Hornquist Astrand, Jacques Fortier, Ryan P. Nielson, Simon P. Cooper
  • Publication number: 20200034527
    Abstract: A data processing system can use a method of fine-grained address space layout randomization to mitigate the system's vulnerability to return oriented programming security exploits. The randomization can occur at the sub-segment level by randomizing clumps of virtual memory pages. The randomized virtual memory can be presented to processes executing on the system. The mapping between memory spaces can be obfuscated using several obfuscation techniques to prevent the reverse engineering of the shuffled virtual memory mapping.
    Type: Application
    Filed: May 10, 2019
    Publication date: January 30, 2020
    Inventors: Jacques A. Vidrine, Nicholas C. Allegra, Simon P. Cooper, Gregory D. Hughes
  • Patent number: 10521592
    Abstract: In one embodiment, a software application that is downloaded from an untrusted source is marked, based on the untrusted classification of the source, to be translocated when the software application is launched. When the software application is launched it is translocated, through a mirroring file system, to a random mount point that is a partial bind mount to the real file system that stores the image of the software application (e.g. the image of the software application's bundle).
    Type: Grant
    Filed: April 18, 2017
    Date of Patent: December 31, 2019
    Assignee: Apple Inc.
    Inventors: Simon P. Cooper, Julien Oster, Robert J. Kendall-Kuppe, Christopher S. Linn, Jonathan Grynspan, Keith Stattenfield
  • Publication number: 20190354705
    Abstract: The disclosed technology addresses the need in the art for assigning multiple containers to a single application. A container can be a specified area of a file system that an assigned application can access to store data, while other applications are restricted access to the container. In some instances, it may be beneficial for multiple applications to share some data, while still maintaining other data in a secure location, thus an application can be assigned to multiple containers, a personal container that can only be accessed by the applications, and a shared container that can be accessed by multiple applications. Further, an application can be assigned an alternate container, in addition to the personal container. The alternate container can be used when an alternate user is using the client device, thus restricting the alternate user from accessing any sensitive data stored in the personal container.
    Type: Application
    Filed: July 30, 2019
    Publication date: November 21, 2019
    Inventors: Kelly B. Yancey, Jacques Anthony Vidrine, Eric Olaf Carlson, Paul William Chinn, Simon P. Cooper
  • Patent number: 10410003
    Abstract: The disclosed technology addresses the need in the art for assigning multiple containers to a single application. A container can be a specified area of a file system that an assigned application can access to store data, while other applications are restricted access to the container. In some instances, it may be beneficial for multiple applications to share some data, while still maintaining other data in a secure location, thus an application can be assigned to multiple containers, a personal container that can only be accessed by the application, and a shared container that can be accessed by multiple applications. Further, an application can be assigned an alternate container, in addition to the personal container. The alternate container can be used when an alternate user is using the client device, thus restricting the alternate user from accessing any sensitive data stored in the personal container.
    Type: Grant
    Filed: June 7, 2013
    Date of Patent: September 10, 2019
    Assignee: Apple Inc.
    Inventors: Kelly B. Yancey, Jacques Anthony Vidrine, Eric Olaf Carlson, Paul William Chinn, Simon P. Cooper
  • Patent number: 10311228
    Abstract: A data processing system can use a method of fine-grained address space layout randomization to mitigate the system's vulnerability to return oriented programming security exploits. The randomization can occur at the sub-segment level by randomizing clumps of virtual memory pages. The randomized virtual memory can be presented to processes executing on the system. The mapping between memory spaces can be obfuscated using several obfuscation techniques to prevent the reverse engineering of the shuffled virtual memory mapping.
    Type: Grant
    Filed: September 30, 2014
    Date of Patent: June 4, 2019
    Assignee: Apple Inc.
    Inventors: Jacques A. Vidrine, Nicholas C. Allegra, Simon P. Cooper, Gregory D. Hughes
  • Patent number: 10311227
    Abstract: A data processing system can use a method of fine-grained address space layout randomization to mitigate the system's vulnerability to return oriented programming security exploits. The randomization can occur at the sub-segment level by randomizing clumps of virtual memory pages. The randomized virtual memory can be presented to processes executing on the system. The mapping between memory spaces can be obfuscated using several obfuscation techniques to prevent the reverse engineering of the shuffled virtual memory mapping.
    Type: Grant
    Filed: September 30, 2014
    Date of Patent: June 4, 2019
    Assignee: Apple Inc.
    Inventors: Gregory D. Hughes, Simon P. Cooper, Jacques A. Vidrine, Nicholas C. Allegra
  • Patent number: 9811381
    Abstract: Resource restrictions are associated with a user identifier. A resource restriction agent receives operating system calls related for resources and provides resource request data to a resource agent. The resource agent determines whether the resource is restricted based on the resource request data and resource restriction data and generates access data based on the determination. The resource restriction agent grants or denies the system call based on the access data.
    Type: Grant
    Filed: July 25, 2016
    Date of Patent: November 7, 2017
    Assignee: APPLE INC.
    Inventors: Jussi-Pekka Mantere, III, Alexander Tony Maluta, John William Scalo, Eugene Ray Tyacke, Bruce Gaya, Michael John Smith, Peter Kiehtreiber, Simon P. Cooper
  • Publication number: 20170316211
    Abstract: In one embodiment, a software application that is downloaded from an untrusted source is marked, based on the untrusted classification of the source, to be translocated when the software application is launched. When the software application is launched it is translocated, through a mirroring file system, to a random mount point that is a partial bind mount to the real file system that stores the image of the software application (e.g. the image of the software application's bundle).
    Type: Application
    Filed: April 18, 2017
    Publication date: November 2, 2017
    Inventors: Simon P. Cooper, Julien Oster, Robert J. Kendall-Kuppe, Christopher S. Linn, Jonathan Grynspan, Keith Stattenfield
  • Publication number: 20170083370
    Abstract: Resource restrictions are associated with a user identifier. A resource restriction agent receives operating system calls related for resources and provides resource request data to a resource agent. The resource agent determines whether the resource is restricted based on the resource request data and resource restriction data and generates access data based on the determination. The resource restriction agent grants or denies the system call based on the access data.
    Type: Application
    Filed: July 25, 2016
    Publication date: March 23, 2017
    Inventors: Jussi-Pekka Mantere, III, Alexander Tony Maluta, John William Scalo, Eugene Ray Tyacke, Bruce Gaya, Michael John Smith, Peter Kiehtreiber, Simon P. Cooper
  • Patent number: 9400688
    Abstract: Resource restrictions are associated with a user identifier. A resource restriction agent receives operating system calls related for resources and provides resource request data to a resource agent. The resource agent determines whether the resource is restricted based on the resource request data and resource restriction data and generates access data based on the determination. The resource restriction agent grants or denies the system call based on the access data.
    Type: Grant
    Filed: September 19, 2014
    Date of Patent: July 26, 2016
    Assignee: APPLE INC
    Inventors: Jussi-Pekka Mantere, III, Alexander Tony Maluta, John William Scalo, Eugene Ray Tyacke, Bruce Gaya, Michael John Smith, Peter Kiehtreiber, Simon P. Cooper
  • Publication number: 20160092675
    Abstract: A data processing system can use a method of fine-grained address space layout randomization to mitigate the system's vulnerability to return oriented programming security exploits. The randomization can occur at the sub-segment level by randomizing clumps of virtual memory pages. The randomized virtual memory can be presented to processes executing on the system. The mapping between memory spaces can be obfuscated using several obfuscation techniques to prevent the reverse engineering of the shuffled virtual memory mapping.
    Type: Application
    Filed: September 30, 2014
    Publication date: March 31, 2016
    Inventors: Jacques A. Vidrine, Nicholas C. Allegra, Simon P. Cooper, Gregory D. Hughes
  • Publication number: 20160092674
    Abstract: A data processing system can use a method of fine-grained address space layout randomization to mitigate the system's vulnerability to return oriented programming security exploits. The randomization can occur at the sub-segment level by randomizing clumps of virtual memory pages. The randomized virtual memory can be presented to processes executing on the system. The mapping between memory spaces can be obfuscated using several obfuscation techniques to prevent the reverse engineering of the shuffled virtual memory mapping.
    Type: Application
    Filed: September 30, 2014
    Publication date: March 31, 2016
    Inventors: Gregory D. Hughes, Simon P. Cooper, Jacques A. Vidrine, Nicholas C. Allegra
  • Patent number: 9294359
    Abstract: This disclosure relates to methods and systems to allow, in one embodiment, automatic access from one system to other systems which include an operating system that includes a user login process. In one embodiment, a method includes logging into, automatically in response to starting a first data processing system, a second data processing system at least as a guest user of the second data processing system which has a storage volume storing data and displaying a user interface object on a display device of the first data processing system, the user interface object corresponding to at least one of the second data processing system and the storage volume to allow at least one of a search to be performed or a browsing to be performed of the data stored on the storage volume.
    Type: Grant
    Filed: October 4, 2012
    Date of Patent: March 22, 2016
    Assignee: Apple Inc.
    Inventors: Pavel Cisler, Yan Arrouye, John Iarocci, Marc Jason Krochmal, Christopher Brooke Sharp, Christopher Scott Linn, Mikhail Gonodanov, Simon P. Cooper, Richard Murphy
  • Publication number: 20150020077
    Abstract: Resource restrictions are associated with a user identifier. A resource restriction agent receives operating system calls related for resources and provides resource request data to a resource agent. The resource agent determines whether the resource is restricted based on the resource request data and resource restriction data and generates access data based on the determination. The resource restriction agent grants or denies the system call based on the access data.
    Type: Application
    Filed: September 19, 2014
    Publication date: January 15, 2015
    Inventors: Jussi-Pekka Mantere, III, Alexander Tony Maluta, John William Scalo, Eugene Ray Tyacke, Bruce Gaya, Michael John Smith, Peter Kiehtreiber, Simon P. Cooper
  • Publication number: 20140366157
    Abstract: The disclosed technology addresses the need in the art for assigning multiple containers to a single application. A container can be a specified area of a file system that an assigned application can access to store data, while other applications are restricted access to the container. In some instances, it may be beneficial for multiple applications to share some data, while still maintaining other data in a secure location, thus an application can be assigned to multiple containers, a personal container that can only be accessed by the application, and a shared container that can be accessed by multiple applications. Further, an application can be assigned an alternate container, in addition to the personal container. The alternate container can be used when an alternate user is using the client device, thus restricting the alternate user from accessing any sensitive data stored in the personal container.
    Type: Application
    Filed: June 7, 2013
    Publication date: December 11, 2014
    Inventors: Kelly B. Yancey, Jacques Anthony Vidrine, Eric Olaf Carlson, Paul William Chinn, Simon P. Cooper
  • Patent number: 8874905
    Abstract: Resource restrictions are associated with a user identifier. A resource restriction agent receives operating system calls related for resources and provides resource request data to a resource agent. The resource agent determines whether the resource is restricted based on the resource request data and resource restriction data and generates access data based on the determination. The resource restriction agent grants or denies the system call based on the access data.
    Type: Grant
    Filed: December 27, 2012
    Date of Patent: October 28, 2014
    Assignee: Apple Inc.
    Inventors: Jussi-Pekka Mantere, III, Alexander Tony Maluta, John William Scalo, Eugene Ray Tyacke, Bruce Gaya, Michael John Smith, Peter Kiehtreiber, Simon P. Cooper
  • Patent number: 8352733
    Abstract: Resource restrictions are associated with a user identifier. A resource restriction agent receives operating system calls related for resources and provides resource request data to a resource agent. The resource agent determines whether the resource is restricted based on the resource request data and resource restriction data and generates access data based on the determination. The resource restriction agent grants or denies the system call based on the access data.
    Type: Grant
    Filed: August 4, 2006
    Date of Patent: January 8, 2013
    Assignee: Apple Inc.
    Inventors: Jussi-Pekka Mantere, Alexander Tony Maluta, John William Scalo, Eugene Ray Tyacke, Bruce Gaya, Michael John Smith, Peter Kiehtreiber, Simon P. Cooper