Visible to the public Identifying Valuable Pointers in Heap Data

TitleIdentifying Valuable Pointers in Heap Data
Publication TypeConference Paper
Year of Publication2021
AuthorsRoney, James, Appel, Troy, Pinisetti, Prateek, Mickens, James
Conference Name2021 IEEE Security and Privacy Workshops (SPW)
Date Publishedmay
Keywordscomposability, Conferences, Data Oriented Attacks, Heap Analysis, human factors, Layout, Memory Analysis, Memory Cartography, Memory management, Navigation, privacy, pubcrawl, resilience, Resiliency, return oriented programming, Return Oriented Programming (ROP), Scalability, Spraying, Transforms
AbstractHistorically, attackers have sought to manipulate programs through the corruption of return addresses, function pointers, and other control flow data. However, as protections like ASLR, stack canaries, and no-execute bits have made such attacks more difficult, data-oriented exploits have received increasing attention. Such exploits try to subvert a program by reading or writing non-control data, without introducing any foreign code or violating the program's legitimate control flow graph. Recently, a data-oriented exploitation technique called memory cartography was introduced, in which an attacker navigates between allocated memory regions using a precompiled map to disclose sensitive program data. The efficacy of memory cartography is dependent on inter-region pointers being located at constant offsets within memory regions; thus, cartographic attacks are difficult to launch against memory regions like heaps and stacks that have nondeterministic layouts. In this paper, we lower the barrier to successful attacks against nondeterministic memory, demonstrating that pointers between regions of memory often possess unique "signatures" that allow attackers to identify them with high accuracy. These signatures are accurate even when the pointers reside in non-deterministic memory areas. In many real-world programs, this allows an attacker that is capable of reading bytes from a single heap to access all of process memory. Our findings underscore the importance of memory isolation via separate address spaces.
DOI10.1109/SPW53761.2021.00057
Citation Keyroney_identifying_2021