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

5
votes
1answer
93 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 ...
2
votes
1answer
40 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 ...
6
votes
2answers
139 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 ...
2
votes
1answer
62 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 ...
0
votes
2answers
115 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 ...
3
votes
3answers
117 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 ...
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 ...
6
votes
2answers
375 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 ...
3
votes
1answer
349 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 ...
10
votes
1answer
507 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 ...
14
votes
3answers
753 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 ...
1
vote
2answers
67 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 ...
4
votes
1answer
134 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
2answers
624 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 ...
6
votes
1answer
165 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
773 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?
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 ...
1
vote
2answers
770 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: ...
4
votes
1answer
236 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: ...
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, ...
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?
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 ...