Difference between revisions of "ASLR"

From The iPhone Wiki
Jump to: navigation, search
m (fix typo)
Line 1: Line 1:
  +
'''ASLR''' (Address Space Layout Randomization) is a form of data security used to randomize data on the {{wp|Random Access Memory|RAM}} to help prevent exploits from taking control of the system. It first appeared in {{wp|iOS version history#4.3|iOS 4.3}}.
Address Space Layout Randomization
 
   
  +
== Program and dyld ==
==First added==
 
  +
* On program load, the address space offset of the program is randomized between 0x0 and 0x100000
*with iOS 4.3
 
  +
* It always falls on a 0x1000 page boundary
  +
* dyld is included in this sliding section
   
  +
== dyld_shared_cache ==
==Program and dyld==
 
  +
* The system libraries are now stored in a big cache file, see
*On program load, the address space offset of the program is randomized between 0x0 and 0x100000
 
  +
* This address randomized at boot time, in many possible places, higher in the address space than the program
*It always falls on a 0x1000 page boundary
 
  +
* The functions retain a fixed offset to each other.
*dyld is included in this sliding section
 
   
  +
== External Links ==
==dyld_shared_cache==
 
  +
* {{wp|Address space layout randomization|ASLR}} on Wikipedia
*The system libraries are now stored in a big cache file, see [http://www.iphonedevwiki.net/index.php/Dyld_shared_cache]
 
  +
* [http://www.iphonedevwiki.net/index.php/Dyld_shared_cache ASLR in the dyld] on the iPhone Dev Wiki
*This address randomized at boot time, in many possible places, higher in the address space than the program
 
*The functions retain a fixed offset to each other.
 

Revision as of 00:30, 19 January 2012

ASLR (Address Space Layout Randomization) is a form of data security used to randomize data on the Template:Wp to help prevent exploits from taking control of the system. It first appeared in Template:Wp.

Program and dyld

  • On program load, the address space offset of the program is randomized between 0x0 and 0x100000
  • It always falls on a 0x1000 page boundary
  • dyld is included in this sliding section

dyld_shared_cache

  • The system libraries are now stored in a big cache file, see
  • This address randomized at boot time, in many possible places, higher in the address space than the program
  • The functions retain a fixed offset to each other.

External Links