Address Space Layout Randomisation (ASLR) is a technology used to help prevent shellcode from being successful. It does this by randomly offsetting the location of modules and certain in-memory structures.

learn more… | top users | synonyms

28
votes
2answers
8k views

How do ASLR and DEP work?

How do Address Space Layout Randomisation (ASLR) and Data Execution Prevention (DEP) work, in terms of preventing vulnerabilities from being exploited? Can they be bypassed?
15
votes
3answers
813 views

Why doesn't Linux randomize the address of the executable code segment?

I've recently been learning about how ASLR (address space randomization) works on Linux. At least on Fedora and Red Hat Enterprise Linux, there are two kinds of executable programs: Position ...
10
votes
1answer
559 views

Why are some DLLs not randomized? What makes it hard to deploy full ASLR for all DLLs?

One of the challenges with deploying ASLR for everything is that, at least on Windows, some DLLs (libraries) are not compiled in a way that's compatible with ASLR. (They're not compiled as ...
10
votes
2answers
3k views

How “leaking pointers” to bypass DEP/ASLR works

I was wondering if anyone could give me some clues on how "leaking pointers" to bypass DEP/ASLR work. I read here: The only way to reliably bypass DEP and ASLR is through an pointer leak. This ...
6
votes
2answers
412 views

How can I detect (or inventory) all DLLs that don't use ASLR?

Based on this IE zero day, I'm interested in listing all DLLs in our systems that have been compiled to not work with ASLR. Ideally, I'd like to analyze a static file and not load it into memory to ...
6
votes
1answer
168 views

Do 64-bit applications have any security merits over 32-bit applications?

A particular article from arstechnica.com stated this. One of these protective measures is called Address Space Layout Randomization, ASLR, and it works by moving DLLs and application memory into ...
6
votes
1answer
796 views

What is HiASLR?

I have been hearing this word the whole day long. Can any one give me a brief intro? How does it differ from ASLR?
6
votes
2answers
154 views

How often is ASLR randomness refreshed, in Linux?

Most Linux distributions now use ASLR for many programs, to randomize the layout of memory. How often is the randomness used for this changed? If I re-run the same program multiple times, will it ...
5
votes
1answer
104 views

Information disclosure attack, using a heap overflow

A typical strategy for defeating ASLR is to find both a buffer overflow bug and an information disclosure bug. But when attacking servers that are automatically restarted whenever they crash/die, is ...
4
votes
2answers
661 views

ASLR and how a program can actually call its functions

I'm studying protection techniques and I've got a doubt about how ASLR works for a program in a Windows environment. As far as I know ASLR works by randomizing part of the imagebase address when ...
4
votes
1answer
256 views

What attacks does a W^X policy prevent against?

Write xor Execute (W^X) is a policy that a block (page) of memory cannot be marked as both writeable and executable at the same time. What attacks does W^X prevent, with and without the following: ...
4
votes
1answer
136 views

ASLR Randomization BSS

When I asked this question before, it was close and voted negative, I definitely feel bad about it. But I would really like to know the answer, so I ll make it more clear this time. Here is some ...
4
votes
1answer
209 views

What to do next for this possible buffer overflow?

I've been instructed to test a few of our newer applications before user release, and managed to find a buffer overflow on one of the fields. Here is where I've run into a brick wall though, and ...
3
votes
3answers
120 views

ASLR: why do only 12 bits change on 32bit system?

I've been reading the posts here about bypassing ASLR. On 32bit systems this appears to be trivial but I was surprised to see how trivial. It takes mere seconds to bruteforce ASLR address'. The reason ...
3
votes
1answer
363 views

How does SEH based exploit bypass DEP and ASLR?

I am new to structured exception handling based exploits. Why don't we put our return address directly in SE handler to jump to our shellcode? (with no safe SEH) Can anybody explain the reason of ...
2
votes
1answer
42 views

Does ASLR protect against a buffer overflow within a struct?

Assume a simple struct: struct test { char variable[4]; char variable2; } If I write something like variable[4] = '\0' there is a buffer overflow which modifies variable2. Does ASLR prevent ...
2
votes
1answer
85 views

How can I check if a Mac application has NX or ASLR enabled?

According to Wikipedia, the NX bit is set for all x64 binaries: OS X for Intel supports the NX bit on all CPUs supported by Apple (from 10.4.4 – the first Intel release – onwards). Mac OS X 10.4 ...
1
vote
2answers
1k views

Any reasons to why not use randomize_va_space?

I've been looking a bit into kernel options for hardening, and there is one that seems to be a good idea to deploy - randomize_va_space. But before I activate that feature I started a google search, ...
1
vote
2answers
68 views

What CWE can be used to best describe ASLR being disabled on a process?

I am in the process of writing up a vulnerability report for a thick client application. One of the findings for the executable is ASLR being disabled. As part of reporting, I'm required to provide a ...
1
vote
2answers
795 views

How to defeat ASLR in linux kernel? [duplicate]

Possible Duplicate: Stack Overflows - Defeating Canaries, ASLR, DEP, NX is there anyway to disable ASLR in Linux kernel 2.6.32-71.el6.x86_64, with Apache privileges?? I tried this commands: ...
0
votes
2answers
121 views

Debian missing security features?

Debian (stable) is a well respected server Linux distro. I was surprised to see that in their hardening walkthrough (https://wiki.debian.org/HardeningWalkthrough) they do not support position ...
0
votes
1answer
52 views

How much is ASLR effectiveness impacted by different ABIs?

Linux has multiple x86 ABIs: ia32, x32 and x86_64. ia32 and x32 both use 32 bit addresses for addressing and x86_64 uses 64 bit. Now, the question: Since the size of the memory space should affect ...