安然无恙的恙是什么意思| 做梦梦到蟒蛇是什么征兆| 天蝎座什么星象| 帕金森吃什么药好得快| 牛肚是什么| 浪花像什么| rash什么意思| 耳鸣需要做什么检查| 产后42天复查都检查什么| 不齿是什么意思| 舌根痛吃什么药好得快| 肺气囊是什么病| 1955属什么生肖| 为什么肚子越来越大| 孤枕难眠什么意思| 聚什么会什么| 来日方长什么意思| 带状疱疹用什么药| 山药与什么食物相克| 苦荞茶和什么搭配最好| 铁锈是什么| 投诉医院打什么电话| 妊娠线什么时候长| 正觉是什么意思| 风疟病是什么意思| play是什么牌子| 耳朵发炎吃什么消炎药| 一个壳一个心念什么| 泡热水脚有什么好处| 嗳气什么意思| 91年出生属什么生肖| 梦到和婆婆吵架是什么意思| 梁子是什么意思| 血脂高是什么原因引起| 吃什么回奶最快最有效| 痛风吃什么食物好得快| 早孕试纸和验孕棒有什么区别| 巴旦木是什么| lee中文叫什么| 上传下达什么意思| 氮肥是什么肥| 吸血鬼初拥是什么意思| 杰士邦是什么| 女生左手无名指戴戒指什么意思| 重孙是什么意思| 三公经费指什么| 巴适是什么意思| 玉帝和王母是什么关系| 屈膝是什么意思| 五液是指什么| 好的什么意思| 来月经小腹痛是什么原因| 美容美体是干什么的| 荔枝是什么意思| 心肌缺血吃什么食物好| 谷丙转氨酶偏高是什么意思| 鸡飞狗跳的意思是什么| 五月23是什么星座| 桃胶有什么作用| 龟苓膏是什么做的| 昆明的别称是什么| 章鱼是什么动物| 凤五行属性是什么| 哪吒他妈叫什么名字| 公子是你吗是什么歌| 梦见自己捡钱是什么意思| 骨量是什么意思| 觉是什么偏旁| bi是什么意思| 清洁度111是什么意思| 视黄醇是什么| 红薯和什么不能一起吃| 吃什么孕酮值可以增高| 巨蟹座是什么象| 作践自己是什么意思| 翠花是什么意思| 四个龙念什么| soho是什么意思| 明天是什么生肖| 月经来头疼是什么原因引起的| wh是什么颜色| 乳房发烫胀痛什么原因| 脚踝韧带拉伤吃什么| 达泊西汀有什么副作用| 疱疹长什么样子图片| 咸肉烧什么好吃| 自媒体是什么| 碱性磷酸酶偏高说明什么问题| 中国防御系统叫什么| 集体户口什么意思| 王秋儿和王冬儿什么关系| triangle是什么意思| 尿等待吃什么药最好| 阿扎西是什么意思| 长白头发缺什么维生素| 青蛙像什么| 男蛇配什么属相最好| 马齿苋有什么作用| 艾滋病有什么症状图片| 迷离的眼神什么意思| 牙龈出血吃什么药| 什么人不能吃西瓜| 煎饼卷什么菜好吃| pd1是什么意思| 十一月四日是什么星座| 肚脐周围疼痛是什么原因| 不什么不什么的词语| 爸爸的姐姐应该叫什么| 三七粉什么人不适合吃| 么么么是什么意思| 九四年属什么生肖| 阴道炎有些什么症状| 方得始终什么意思| 出汗少是什么原因| kids是什么意思| 蜜饯是什么东西| 四件套包括什么| 慢性炎伴鳞化是什么意思| 眼干眼涩用什么眼药水| 高原反应有什么症状| sandals是什么意思| 取笑是什么意思| 招采是什么意思| 宫颈口大是什么原因| 送什么礼品好| 颌下腺肿大是什么原因| 子宫内膜粘连有什么症状| 宫内膜回声欠均匀是什么意思| 吃什么对心脏好改善供血不足| 白细胞酯酶阳性是什么意思| 四离日是什么意思| 丝瓜只开花不结果是什么原因| 聚宝盆什么意思| 什么是穴位| 进是什么结构| 为什么腋下老是出汗| 眼袋肿是什么原因| 江苏有什么烟| 蚕蛹吃什么| 来月经头疼是什么原因| 巴戟天为什么要抽芯| 折耳猫是什么意思| 冬至穿什么衣服| 什么叫贫血| 变态反应科是看什么病的| 先兆流产什么意思| 痤疮是什么东西| 灰指甲是什么样子| 蛋糕用什么奶油好| 肝昏迷是什么症状| 水蛭是什么东西| 酿酒用什么菌| 夏枯草治什么病| 什么药补肾最好| 6月29日什么星座| 梦见下小雨是什么征兆| 滋阴降火吃什么药| 什么是剧烈运动| 百什么争什么| 结膜炎用什么眼药水效果好| 世界上最难写的字是什么字| 八五年属什么| 地球是什么生肖| uc是什么| 恶心是什么原因| 蚂蚁为什么要搬家| 9月3日是什么星座的| 梦见别人给自己剪头发是什么意思| 梦见厕所是什么预兆| 提辖相当于现在什么官| 文旦是什么| 秀才相当于什么学历| 沈殿霞为什么地位高| 乙肝五项一五阳性什么意思| 柿子不能和什么食物一起吃| 鸭肉炖什么好吃| 什么是动脉硬化| 应无所住什么意思| 肝fnh是什么病| 电气火灾用什么灭火器| 八段锦什么时候练最好| 为什么会长丝状疣| 哺乳期吃什么水果| 什么药护肝效果最好| 牙龈出血吃什么药| 1981年属鸡是什么命| 女生的逼长什么样| 囊性无回声是什么意思| 什么茶可以降血压| 公安局局长什么级别| 元参别名叫什么| 什么弟什么兄| 小儿肠炎吃什么药最好| 恢复伤口的鱼叫什么鱼| 听什么音乐容易入睡| 户口迁移需要什么手续| 怀孕第一天有什么症状| 左眼跳什么预兆| 神经内科主要看什么| 房间朝向什么方向最好| ojbk是什么意思| 益生元和益生菌有什么区别| 乳腺纤维瘤是什么原因引起的| 值神天刑是什么意思| 什么是结缔组织病| 挂职是什么意思| 九曲红梅是什么茶| 生理曲度变直什么意思| 胃病烧心吃什么药好| 竹心泡水喝有什么功效| 月经结束一周后又出血是什么原因| 淋巴细胞低说明什么| 墨蓝色是什么颜色| 病毒感染咳嗽吃什么药效果好| 山药有什么功效和作用| 仓鼠是什么科动物| 石人工念什么| 清醒的反义词是什么| 六月19是什么日子| 做完胃镜可以吃什么| 孕妇可以喝什么汤| 米酒和黄酒有什么区别| 教师节送什么礼物好| 乳头发黑是什么原因| 甘油三酯高用什么药好| 6月26什么星座| 李小龙是什么生肖| 片仔癀为什么这么贵| 露骨是什么意思| 负压引流器有什么作用| 对节木是什么树| 在什么什么后面| 大战三百回合是什么意思| 康乃馨的花语代表什么| 中国黄金为什么比其它金店便宜| 胃火旺盛吃什么药| 诺如病毒通过什么传染| 佳偶天成什么意思| 狗拉肚子吃什么药| 梦见毒蛇是什么预兆| 2000年属龙的是什么命| 硬伤是什么意思| 早上五点是什么时辰| 儿童抽动症看什么科| 2010年是什么年| 黄斑前膜是什么病| 1.1是什么星座| 班禅是什么级别| 幽门螺杆菌是什么引起的| 颈椎用什么字母表示| 胃疼吃什么| 一个入一个肉念什么| 命犯桃花是什么意思| 月经不来什么原因| 右下腹疼是什么原因| 吐了后吃点什么能舒服| 甲沟炎挂什么科| 送老人什么礼物最好| 大兴什么| 特别是什么意思| 手指盖空了是什么原因| 刚生完宝宝的产妇吃什么好| 铁扇公主是什么生肖| 64年属什么生肖| 百度Jump to content

葡萄球菌是什么

From Wikipedia, the free encyclopedia
This is the current revision of this page, as edited by XXBlackburnXx (talk | contribs) at 22:34, 29 July 2025 (Reverted edit by 197.222.58.112 (talk) to last version by Panamitsu). The present address (URL) is a permanent link to this version.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
百度 严格按照中央八项规定要求,加强勤政廉洁教育,严格执行“三重一大”决策制度。

Address space layout randomization (ASLR) is a computer security technique involved in preventing exploitation of memory corruption vulnerabilities.[1] In order to prevent an attacker from reliably redirecting code execution to, for example, a particular exploited function in memory, ASLR randomly arranges the address space positions of key data areas of a process, including the base of the executable and the positions of the stack, heap and libraries. When applied to the kernel, this technique is called kernel address space layout randomization (KASLR).[2]

History

[edit]

The Linux PaX project first coined the term "ASLR", and published the first design and implementation of ASLR in July 2001 as a patch for the Linux kernel. It is seen as a complete implementation, providing a patch for kernel stack randomization since October 2002.[3]

The first mainstream operating system to support ASLR by default was OpenBSD version 3.4 in 2003,[4][5] followed by Linux in 2005.

Benefits

[edit]

Address space randomization hinders some types of security attacks by making it more difficult for an attacker to predict target addresses. For example, attackers trying to execute return-to-libc attacks must locate the code to be executed, while other attackers trying to execute shellcode injected on the stack have to find the stack first. In both cases, the system makes related memory-addresses unpredictable from the attackers' point of view. These values have to be guessed, and a mistaken guess is not usually recoverable due to the application crashing.

Effectiveness

[edit]

Address space layout randomization is based upon the low chance of an attacker guessing the locations of randomly placed areas. Security is increased by increasing the search space. Thus, address space randomization is more effective when more entropy is present in the random offsets. Entropy is increased by either raising the amount of virtual memory area space over which the randomization occurs or reducing the period over which the randomization occurs. The period is typically implemented as small as possible, so most systems must increase VMA space randomization.

To defeat the randomization, attackers must successfully guess the positions of all areas they wish to attack. For data areas such as stack and heap, where custom code or useful data can be loaded, more than one state can be attacked by using NOP slides for code or repeated copies of data. This allows an attack to succeed if the area is randomized to one of a handful of values. In contrast, code areas such as library base and main executable need to be discovered exactly. Often these areas are mixed, for example stack frames are injected onto the stack and a library is returned into.

The following variables can be declared:

  • (entropy bits of stack top)
  • (entropy bits of mmap() base)
  • (entropy bits of main executable base)
  • (entropy bits of heap base)
  • (attacked bits per attempt of stack entropy)
  • (attacked bits per attempt of mmap() base entropy)
  • (attacked bits per attempt of main executable entropy)
  • (attacked bits per attempt of heap base entropy)
  • (attempts made)
  • (total amount of entropy: )

To calculate the probability of an attacker succeeding, a number of attempts α carried out without being interrupted by a signature-based IPS, law enforcement, or other factor must be assumed; in the case of brute forcing, the daemon cannot be restarted. The number of relevant bits and how many are being attacked in each attempt must also be calculated, leaving however many bits the attacker has to defeat.

The following formulas represent the probability of success for a given set of α attempts on N bits of entropy.

  • (isolated guessing; address space is re-randomized after each attempt)
  • (systematic brute forcing on copies of the program with the same address space)

In many systems, can be in the thousands or millions. On 32-bit systems, a typical amount of entropy N is 8 bits.[6] For 2004 computer speeds, Shacham and co-workers state "... 16 bits of address randomization can be defeated by a brute force attack within minutes."[7] (The authors' statement depends on the ability to attack the same application multiple times without any delay. Proper implementations of ASLR, like that included in grsecurity, provide several methods to make such brute force attacks infeasible. One method involves preventing an executable from executing for a configurable amount of time if it has crashed a certain number of times.) On modern 64-bit systems, these numbers typically reach the millions at least.[citation needed]

Android,[8][non-primary source needed] and possibly other systems,[which?] implement Library Load Order Randomization, a form of ASLR which randomizes the order in which libraries are loaded. This supplies very little entropy. An approximation of the number of bits of entropy supplied per needed library appears below; this does not yet account for varied library sizes, so the actual entropy gained is really somewhat higher. Attackers usually need only one library; the math is more complex with multiple libraries, and shown below as well. The case of an attacker using only one library is a simplification of the more complex formula for .

  • l (number of libraries loaded)
  • β (number of libraries used by the attacker)

These values tend to be low even for large values of l, most importantly since attackers typically can use only the C standard library and thus one can often assume that . However, even for a small number of libraries there are a few bits of entropy gained here; it is thus potentially interesting to combine library load order randomization with VMA address randomization to gain a few extra bits of entropy. These extra bits of entropy will not apply to other mmap() segments, only libraries.

Reducing entropy

[edit]

Attackers may make use of several methods to reduce the entropy present in a randomized address space, ranging from simple information leaks to attacking multiple bits of entropy per attack (such as by heap spraying). There is little that can be done about this.

It is possible to leak information about memory layout using format string vulnerabilities. Format string functions such as printf use a variable argument list to do their job; format specifiers describe what the argument list looks like. Because of the way arguments are typically passed, each format specifier moves closer to the top of the stack frame. Eventually, the return pointer and stack frame pointer can be extracted, revealing the address of a vulnerable library and the address of a known stack frame; this can eliminate library and stack randomization as an obstacle to an attacker.

One can also decrease entropy in the stack or heap. The stack typically must be aligned to 16 bytes, and so this is the smallest possible randomization interval; while the heap must be page-aligned, typically 4096 bytes. When attempting an attack, it is possible to align duplicate attacks with these intervals; a NOP slide may be used with shellcode injection, and the string '/bin/sh' can be replaced with '////////bin/sh' for an arbitrary number of slashes when attempting to return to system. The number of bits removed is exactly for n intervals attacked.

Such decreases are limited due to the amount of data in the stack or heap. The stack, for example, is typically limited to MB[9] and grows to much less; this allows for at most 19 bits, although a more conservative estimate would be around 8–10 bits corresponding to 4–16 KB[9] of stack stuffing. The heap on the other hand is limited by the behavior of the memory allocator; in the case of glibc, allocations above 128 KB are created using mmap, limiting attackers to 5 bits of reduction. This is also a limiting factor when brute forcing; although the number of attacks to perform can be reduced, the size of the attacks is increased enough that the behavior could in some circumstances become apparent to intrusion detection systems.

Limitations

[edit]

ASLR-protected addresses can be leaked by various side channels, removing mitigation utility. Recent attacks have used information leaked by the CPU branch target predictor buffer (BTB) or memory management unit (MMU) walking page tables. It is not clear if this class of ASLR attack can be mitigated. If they cannot, the benefit of ASLR is reduced or eliminated.

Empirical analysis

[edit]

In August 2024 a paper [10] was published with an empirical analysis of major desktop platforms, including Linux, macOS, and Windows, by examining the variability in the placement of memory objects across various processes, threads, and system restarts. The results show that while some systems as of 2024, like Linux distributions, provide robust randomization, others, like Windows and macOS, often fail to adequately randomize key areas like executable code and libraries. Moreover, they found a significant entropy reduction in the entropy of libraries after the Linux 5.18 version and identify correlation paths that an attacker could leverage to reduce exploitation complexity significantly.

Implementations

[edit]

Several mainstream, general-purpose operating systems implement ASLR.

Android

[edit]

Android 4.0 Ice Cream Sandwich provides address space layout randomization (ASLR) to help protect system and third-party applications from exploits due to memory-management issues. Position-independent executable support was added in Android 4.1.[11] Android 5.0 dropped non-PIE support and requires all dynamically linked binaries to be position independent.[12][13] Library load ordering randomization was accepted into the Android open-source project on 26 October 2015,[8][non-primary source needed] and was included in the Android 7.0 release.

DragonFly BSD

[edit]

DragonFly BSD has an implementation of ASLR based upon OpenBSD's model, added in 2010.[14] It is off by default, and can be enabled by setting the sysctl vm.randomize_mmap to 1.

FreeBSD

[edit]

Support for ASLR appeared in FreeBSD 13.0.[15][16] It is enabled by default since 13.2.[17]

iOS (iPhone, iPod touch, iPad)

[edit]

Apple introduced ASLR in iOS 4.3 (released March 2011).[18]

KASLR was introduced in iOS 6.[19] The randomized kernel base is 0x01000000 + ((1+0xRR) * 0x00200000), where 0xRR is a random byte from SHA1 (random data) generated by iBoot (the 2nd-stage iOS Boot Loader).[20]

Linux

[edit]

The Linux kernel enabled a weak form of ASLR by default since the kernel version 2.6.12, released in June 2005.[21] The PaX and Exec Shield patchsets to the Linux kernel provide more complete implementations. The Exec Shield patch for Linux supplies 19 bits of stack entropy on a period of 16 bytes, and 8 bits of mmap base randomization on a period of 1 page of 4096 bytes. This places the stack base in an area 8 MB wide containing 524,288 possible positions, and the mmap base in an area 1 MB wide containing 256 possible positions.

ASLR can be disabled for a specific process by changing its execution domain, using personality(2).[22] A number of sysctl options control the behavior of mainline ASLR. For example, kernel.randomize_va_space controls what to randomize; the strongest option is 2. vm.mmap_rnd_bits controls how many bits to randomize for mmap.[23]

Position-independent executable (PIE) implements a random base address for the main executable binary and has been in place since April 18, 2004. It provides the same address randomness to the main executable as being used for the shared libraries. The PIE feature cannot be used together with the prelink feature for the same executable. The prelink tool implements randomization at prelink time rather than runtime, because by design prelink aims to handle relocating libraries before the dynamic linker has to, which allows the relocation to occur once for many runs of the program. As a result, real address space randomization would defeat the purpose of prelinking.

In 2014, Marco-Gisbert and Ripoll disclosed offset2lib technique that weakens Linux ASLR for PIE executables. Linux kernels load PIE executables right after their libraries; as a result, there is a fixed offset between the executable and the library functions. If an attacker finds a way to find the address of a function in the executable, the library addresses are also known. They demonstrated an attack that finds the address in fewer than 400 tries. They proposed a new randomize_va_space=3 option to randomize the placement of the executable relative to the library,[6] but it is yet to be incorporated into the upstream as of 2024.[24]

The Linux kernel 5.18 released May 2022 reduced the effectiveness of both 32-bit and 64-bit implementations. Linux filesystems call thp_get_unmapped_area to respond to a file-backed mmap. With a change in 5.18, files greater than 2 MiB are made to return 2 MiB-aligned addresses, so they can be potentially backed by huge pages. (Previously, the increased alignment only applied to Direct Access (DAX) mappings.) In the meantime, the C library (libc) has, over time, grown in size to exceed this 2 MiB threshold, so instead of being aligned to a (typically) 4 KiB page boundary as before, these libraries are now 2 MiB-aligned: a loss of 9 bits of entropy. For 32-bit Linux, many distributions show no randomization at all in the placement of the libc. For 64-bit Linux, the 28 bits of entropy is reduced to 19 bits. In response, Ubuntu has increased its mmap_rnd_bits setting.[25] Martin Doucha added a Linux Test Project testcase to detect this issue.[26]

Kernel address space layout randomization

[edit]

Kernel address space layout randomization (KASLR) enables address space randomization for the Linux kernel image by randomizing where the kernel code is placed at boot time.[27] KASLR was merged into the Linux kernel mainline in kernel version 3.14, released on 30 March 2014.[28] When compiled in, it can be disabled at boot time by specifying nokaslr as one of the kernel's boot parameters.[29]

There are several side-channel attacks in x86 processors that could leak kernel addresses.[30][31] In late 2017, kernel page-table isolation (KPTI aka KAISER) was developed to defeat these attacks.[32][33] However, this method cannot protect against side-channel attacks utilizing collisions in branch predictor structures.[34]

As of 2021, finer grained kernel address space layout randomization (or function granular KASLR, FGKASLR) is a planned extension of KASLR to randomize down to the function level by placing functions in separate sections and reordering them at boot time.[35]

Microsoft Windows

[edit]

Microsoft's Windows Vista (released January 2007) and later have ASLR enabled only for executables and dynamic link libraries that are specifically linked to be ASLR-enabled.[36] For compatibility, it is not enabled by default for other applications. Typically, only older software is incompatible and ASLR can be fully enabled by editing a registry entry HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\MoveImages,[37] or by installing Microsoft's Enhanced Mitigation Experience Toolkit.

The locations of the heap, stack, Process Environment Block, and Thread Environment Block are also randomized. A security whitepaper from Symantec noted that ASLR in 32-bit Windows Vista may not be as robust as expected, and Microsoft has acknowledged a weakness in its implementation.[38]

Host-based intrusion prevention systems such as WehnTrust[39] and Ozone[40] also offer ASLR for Windows XP and Windows Server 2003 operating systems. WehnTrust is open-source.[41] Complete details of Ozone's implementation are not available.[42]

It was noted in February 2012[43] that ASLR on 32-bit Windows systems prior to Windows 8 can have its effectiveness reduced in low memory situations. A similar effect also had been achieved on Linux in the same research. The test code caused the Mac OS X 10.7.3 system to kernel panic, so it was left unclear about its ASLR behavior in this scenario.

NetBSD

[edit]

Support for ASLR in userland appeared in NetBSD 5.0 (released April 2009),[44] and was enabled by default in NetBSD-current in April 2016.[45]

Kernel ASLR support on amd64 was added in NetBSD-current in October 2017, making NetBSD the first BSD system to support KASLR.[46]

OpenBSD

[edit]

In 2003, OpenBSD became the first mainstream operating system to support a strong form of ASLR and to activate it by default.[4] OpenBSD completed its ASLR support in 2008 when it added support for PIE binaries.[47] OpenBSD 4.4's malloc(3) was designed to improve security by taking advantage of ASLR and gap page features implemented as part of OpenBSD's mmap system call, and to detect use-after-free bugs.[48] Released in 2013, OpenBSD 5.3 was the first mainstream operating system to enable position-independent executables by default on multiple hardware platforms, and OpenBSD 5.7 activated position-independent static binaries (Static-PIE) by default.[47]

macOS

[edit]

In Mac OS X Leopard 10.5 (released October 2007), Apple introduced randomization for system libraries.[49]

In Mac OS X Lion 10.7 (released July 2011), Apple expanded their implementation to cover all applications, stating "address space layout randomization (ASLR) has been improved for all applications. It is now available for 32-bit apps (as are heap memory protections), making 64-bit and 32-bit applications more resistant to attack."[50]

As of OS X Mountain Lion 10.8 (released July 2012) and later, the entire system including the kernel as well as kexts and zones are randomly relocated during system boot.[51]

Solaris

[edit]

ASLR has been introduced in Solaris beginning with Solaris 11.1 (released October 2012). ASLR in Solaris 11.1 can be set system-wide, per zone, or on a per-binary basis.[52]

Exploitation

[edit]

A side-channel attack utilizing branch target buffer was demonstrated to bypass ASLR protection.[34] In 2017, an attack named "ASLR⊕Cache" was demonstrated which could defeat ASLR in a web browser using JavaScript.[53]

See also

[edit]

References

[edit]
  1. ^ Marco-Gisbert, Hector; Ripoll Ripoll, Ismael (2025-08-07). "Address Space Layout Randomization Next Generation". Applied Sciences. 9 (14): 2928. doi:10.3390/app9142928. hdl:10251/144813. ISSN 2076-3417.
  2. ^ Yeongjin Jang; Sangho Lee; Taesoo Kim. Breaking Kernel Address Space Layout Randomization with Intel TSX (PDF). 23rd ACM Conference on Computer and Communications Security. doi:10.1145/2976749.2978321.
  3. ^ Brad Spengler (October 2003). "PaX: The Guaranteed End of Arbitrary Code Execution" (PDF). grsecurity.net. Slides 22 through 35. Archived (PDF) from the original on 2025-08-07. Retrieved 2025-08-07.
  4. ^ a b Theo De Raadt (2005). "Exploit Mitigation Techniques (updated to include random malloc and mmap) at OpenCON 2005". Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  5. ^ "OpenBSD Innovations". The OpenBSD project. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  6. ^ a b Marco-Gisbert, Hector; Ripoll, Ismael (2025-08-07). "On the Effectiveness of Full-ASLR on 64-bit Linux" (PDF). Archived from the original (PDF) on 2025-08-07. Retrieved 2025-08-07.
  7. ^ Shacham, H.; Page, M.; Pfaff, B.; Goh, E.J.; Modadugu, N.; Boneh, D (2004). On the Effectiveness of Address-Space Randomization. 11th ACM conference on Computer and communications security. pp. 298–307.
  8. ^ a b "Implement Library Load Order Randomization". Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  9. ^ a b Transistorized memory, such as RAM, ROM, flash and cache sizes as well as file sizes are specified using binary meanings for K (10241), M (10242), G (10243), etc.
  10. ^ Binosi, Lorenzo; Barzasi, Gregorio; Carminati, Michele; Zanero, Stefano; Polino, Mario (2024). "The Illusion of Randomness: An Empirical Analysis of Address Space Layout Randomization Implementations". arXiv:2408.15107 [cs.CR].
  11. ^ "Android Security". Android Developers. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  12. ^ "oss-security". Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  13. ^ "Revert "Reenable support for non-PIE executables"". Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  14. ^ mmap - add mmap offset randomization Archived 2025-08-07 at the Wayback Machine, DragonFly Gitweb, 25 November 2010.
  15. ^ "Implement Address Space Layout Randomization (ASLR)". Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  16. ^ "ASLR - FreeBSD Wiki". Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  17. ^ "FreeBSD 13.2-RELEASE Release Notes". Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  18. ^ Pwn2Own day 2: iPhone, BlackBerry beaten; Chrome, Firefox no-shows Archived 2025-08-07 at the Wayback Machine, Ars Technica, 11 March 2011
  19. ^ Stefan Esser (2025-08-07). "iOS 6 Exploitation 280 Days Later". Slide 19, "iOS 6 introduces KASLR". Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  20. ^ Tarjei Mandt. "Attacking the iOS Kernel: A Look at 'evasi0n'" (PDF). Archived (PDF) from the original on 2025-08-07. Retrieved 2025-08-07.
  21. ^ Dang, Alan; Miller, Charlie (2025-08-07). "The NX Bit And ASLR". Tom's Hardware. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  22. ^ personality(2) – Linux Programmer's Manual – System Calls
  23. ^
  24. ^ "[PATCH] ASLRv3: randomize_va_space=3 preventing offset2lib attack". lore.kernel.org.
  25. ^ Miller, Justin (2025-08-07). "ASLRn't: How memory alignment broke library ASLR". zolutal's blog. Retrieved 2025-08-07.
  26. ^ "[LTP] [PATCH 2/2] Add test for ASLRn't bug - Martin Doucha". lore.kernel.org.
  27. ^ Jake Edge (2025-08-07). "Kernel address space layout randomization". LWN.net. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  28. ^ "Linux kernel 3.14, Section 1.7. Kernel address space randomization". kernelnewbies.org. 2025-08-07. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  29. ^ "kernel/git/torvalds/linux.git: x86, kaslr: Return location from decompress_kernel (Linux kernel source tree)". kernel.org. 2025-08-07. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  30. ^ KASLR is Dead: Long Live KASLR (PDF). Engineering Secure Software and Systems 2017. 2025-08-07.
  31. ^ Jang, Yeongjin; Lee, Sangho; Kim, Taesoo (2016). "Breaking Kernel Address Space Layout Randomization with Intel TSX" (PDF). Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security. CCS '16. New York: Association for Computing Machinery. pp. 380–392. doi:10.1145/2976749.2978321. ISBN 9781450341394. S2CID 6293725. Archived (PDF) from the original on 2025-08-07. Retrieved 2025-08-07.
  32. ^ Corbet, Jonathan (2025-08-07). "The current state of kernel page-table isolation". Linux Weekly News. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  33. ^ Corbet, Jonathan (2025-08-07). "KAISER: hiding the kernel from user space". Linux Weekly News. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  34. ^ a b Evtyushkin, Dmitry; Ponomarev, Dmitry; Abu-Ghazaleh, Nael (2016). Jump over ASLR: Attacking branch predictors to bypass ASLR (PDF). 2016 49th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). pp. 1–13. doi:10.1109/MICRO.2016.7783743. ISBN 978-1-5090-3508-3. S2CID 3801142.
  35. ^ "Linux 5.16 Has Early Preparations For Supporting FGKASLR - Phoronix". www.phoronix.com. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  36. ^ "Windows ISV Software Security Defenses". Msdn.microsoft.com. 2025-08-07. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  37. ^ Windows Internals: Including Windows Server 2008 and Windows Vista, Fifth Edition (PRO-Developer) ISBN 978-0-7356-2530-3
  38. ^ Ollie Whitehouse (February 2007). "An Analysis of Address Space Layout Randomization on Windows Vista" (PDF). Archived from the original (PDF) on 2025-08-07. Retrieved 2025-08-07.
  39. ^ "WehnTrust". Codeplex.com. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  40. ^ "Security Architects' Ozone". Security Architects. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  41. ^ "WehnTrust source code". Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  42. ^ "Address-Space Randomization for Windows Systems" (PDF). Archived (PDF) from the original on 2025-08-07. Retrieved 2025-08-07.
  43. ^ Ollie (2025-08-07). "Research, Develop, Assess, Consult & Educate | Recx: A Partial Technique Against ASLR – Multiple O/Ss". Recxltd.blogspot.co.uk. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  44. ^ "Announcing NetBSD 5.0". Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  45. ^ Christos Zoulas (2016). "PIE binaries and ASLR are on in the default build for amd64". Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  46. ^ "Kernel ASLR on amd64". 2017. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  47. ^ a b Kurt Miller (2008). "OpenBSD's Position Independent Executable (PIE) Implementation". Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  48. ^ "libc/stdlib/malloc.c". BSD Cross Reference, OpenBSD src/lib/. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  49. ^ "Mac OS X – Security – Keeps safe from viruses and malware". Apple. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  50. ^ "Security". Apple Inc. Archived from the original on 2025-08-07. Retrieved 2025-08-07.
  51. ^ "OS X Mountain Lion Core Technologies Overview" (PDF). June 2012. Archived (PDF) from the original on 2025-08-07. Retrieved 2025-08-07.
  52. ^ Controlling Access to Machine Resources Archived 2025-08-07 at the Wayback Machine, Oracle Information Library, 26 October 2012.
  53. ^ AnC Archived 2025-08-07 at the Wayback Machine VUSec, 2017
[edit]
吃什么助消化 中国特工组织叫什么 什么的大树 宝宝头爱出汗是什么原因 甲状腺结节不能吃什么食物
肿瘤cr是什么意思 什么是双向抑郁 喝了蜂蜜水不能吃什么 喝益生菌有什么好处 小孩子发烧是什么原因引起的
吃什么补充蛋白 女性腋臭什么年龄消失 荨麻疹要注意什么 粉丝是什么做的 脑血管造影是什么意思
1994年属什么 盆腔积液是什么 什么的态度 晚上入睡困难是什么原因 升白细胞的针剂叫什么
舌尖发麻是什么原因引起的hcv9jop3ns6r.cn 什么是目标hcv8jop5ns2r.cn 易建联为什么不打nbahcv9jop2ns7r.cn 六角恐龙鱼吃什么xianpinbao.com 13朵玫瑰代表什么意思hcv8jop7ns0r.cn
樱桃有什么功效baiqunet.com 肺阴不足的症状是什么hcv9jop4ns1r.cn 血压低吃什么hcv8jop3ns3r.cn 艾滋病有什么症状图片hcv7jop9ns3r.cn 三尖瓣少量反流是什么意思zsyouku.com
身体缺糖有什么症状hcv8jop7ns3r.cn 无聊的反义词是什么hcv8jop6ns9r.cn 什么止痛药效果最好hcv8jop9ns0r.cn 结膜充血用什么眼药水hcv8jop6ns8r.cn 老是干咳嗽是什么原因hcv7jop9ns3r.cn
现实是什么意思hcv9jop6ns4r.cn 什么的大山hcv7jop6ns1r.cn 阴道瘙痒是什么原因造成的hcv9jop3ns5r.cn 肾虚腰疼吃什么药最有效adwl56.com 男性尿路感染吃什么药hcv8jop6ns6r.cn
百度