Execution of exploits on servers due to buffer overflows, format string,double free,integer overflows and heap overflows still remain a problem. This paper addresses a transparent way to effectively remap the sections of a binary into a different location every time the program is executed. The sections that their software remaps are as follows: user stack,shared libraries,user heap, and the Global Offset Table. All of the sections are easily changed except the GOT due to the fact that the PLT (Procedure Linkage Table) is reliant on the GOT. So it must explicitly change the offsets to functions. It accomplishes the heap and shared library randomization by created a virtual page without a physical counterpart, of a random size, directly before the mapping. That way, if the region is accessed, it will page fault the program. The PLT is rewritten with the addresses of the entries in the new GOT by rewriting each jmp instruction. The effectiveness is tested using many real world applications, and each one results in a crash instead of a shell. They then show the overhead of the TRR for a variety of applications, both server and desktop applications are researched. They then discuss the brute force mechanism of exploiting the program of service. In order to ensure no overlap, they randomize from 1-9K. Then they address the probability of gaining a shell when an IDS is in place. They then address an information disclosure vulnerability. This attack is prevalent when an attacker can force the runtime stack's information to be disclosed and make an attack based on that. They also discuss the fact that their implement ion is portable. Discussion questions: 1) With this technique how feasible is a local exploit? 2) ...a remote? 3) What type of attack is still exploitable? 4) Does an IDS actively detect an application segmentation fault and report failure? 5) Is this a real way to stop these attacks or a way to mitigate them? Accept++ Accept All. Reject Reject--