{"title":"Hack the Heap: Heap Layout Manipulation made Easy","authors":"Jordy Gennissen, Dan O'Keeffe","doi":"10.1109/spw54247.2022.9833896","DOIUrl":null,"url":null,"abstract":"Heap layout manipulation — the act of changing the heap layout to the benefit of the attacker — is a key challenge when exploiting heap vulnerabilities. Heap layout manipulation is a hard problem even for experienced exploit developers, due to the complex ways in which even simple operations affect the layout of the heap. Furthermore, different allocators can produce vastly different heap layouts for a given set of operations, and understanding these internal implementation differences is extremely time-consuming and error-prone. Existing work either focuses only on specific types of applications, requires access to source code, or produces complex and opaque solutions needing additional reverse engineering work to complete exploits.In this work, we propose Hack the Heap: an online puzzle game that provides direct solutions to the heap layout manipulation problem. The game comes with an extensive tutorial to guide players on how to play, but requires no Computer Science knowledge. Hack the Heap also provides a toolchain to generate heap vulnerability puzzles from unmodified real-world applications. We were able to create and solve puzzles from 2 out of 3 CVEs, both of which reflected a real-world solution to the heap layout manipulation problem. Hack the Heap makes heap layout manipulation easier and hopefully more fun, without sacrificing important information needed for practical exploit development.","PeriodicalId":334852,"journal":{"name":"2022 IEEE Security and Privacy Workshops (SPW)","volume":"37 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2022 IEEE Security and Privacy Workshops (SPW)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/spw54247.2022.9833896","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Heap layout manipulation — the act of changing the heap layout to the benefit of the attacker — is a key challenge when exploiting heap vulnerabilities. Heap layout manipulation is a hard problem even for experienced exploit developers, due to the complex ways in which even simple operations affect the layout of the heap. Furthermore, different allocators can produce vastly different heap layouts for a given set of operations, and understanding these internal implementation differences is extremely time-consuming and error-prone. Existing work either focuses only on specific types of applications, requires access to source code, or produces complex and opaque solutions needing additional reverse engineering work to complete exploits.In this work, we propose Hack the Heap: an online puzzle game that provides direct solutions to the heap layout manipulation problem. The game comes with an extensive tutorial to guide players on how to play, but requires no Computer Science knowledge. Hack the Heap also provides a toolchain to generate heap vulnerability puzzles from unmodified real-world applications. We were able to create and solve puzzles from 2 out of 3 CVEs, both of which reflected a real-world solution to the heap layout manipulation problem. Hack the Heap makes heap layout manipulation easier and hopefully more fun, without sacrificing important information needed for practical exploit development.
堆布局操作——改变堆布局以使攻击者受益的行为——是利用堆漏洞时的一个关键挑战。即使对于经验丰富的开发人员来说,堆布局操作也是一个难题,因为即使是简单的操作也会以复杂的方式影响堆的布局。此外,不同的分配器可以为给定的一组操作生成截然不同的堆布局,并且理解这些内部实现差异非常耗时且容易出错。现有的工作要么只关注特定类型的应用程序,需要访问源代码,要么产生复杂且不透明的解决方案,需要额外的逆向工程工作来完成漏洞利用。在这项工作中,我们提出了Hack the Heap:一个在线益智游戏,它提供了堆布局操作问题的直接解决方案。游戏附带了一个广泛的教程来指导玩家如何玩,但不需要计算机科学知识。Hack the Heap还提供了一个工具链,用于从未经修改的实际应用程序生成堆漏洞谜题。我们能够从3个cve中创建和解决2个谜题,这两个都反映了堆布局操作问题的现实解决方案。Hack the Heap使堆布局操作更容易,而且希望更有趣,同时不会牺牲实际漏洞利用开发所需的重要信息。