Visible to the public Quantitative Assessment on the Limitations of Code Randomization for Legacy Binaries

TitleQuantitative Assessment on the Limitations of Code Randomization for Legacy Binaries
Publication TypeConference Paper
Year of Publication2020
AuthorsWang, P., Zhang, J., Wang, S., Wu, D.
Conference Name2020 IEEE European Symposium on Security and Privacy (EuroS P)
Keywordsadvanced security attacks, Binary codes, Binary Rewriting, code randomization, code-reuse attack, code-reuse attacks, compositionality, fine-grained code randomization, fine-grained randomization tools, Information Reuse and Security, legacy binaries, legacy software, legacy software systems, pubcrawl, quantitative assessment, Resiliency, rewriting systems, rewriting-based randomization, risk assessment, security of data, software maintenance, source code, system-level security facilities
AbstractSoftware development and deployment are generally fast-pacing practices, yet to date there is still a significant amount of legacy software running in various critical industries with years or even decades of lifespans. As the source code of some legacy software became unavailable, it is difficult for maintainers to actively patch the vulnerabilities, leaving the outdated binaries appealing targets of advanced security attacks. One of the most powerful attacks today is code reuse, a technique that can circumvent most existing system-level security facilities. While there have been various countermeasures against code reuse, applying them to sourceless software appears to be exceptionally challenging. Fine-grained code randomization is considered to be an effective strategy to impede modern code-reuse attacks. To apply it to legacy software, a technique called binary rewriting is employed to directly reconstruct binaries without symbol or relocation information. However, we found that current rewriting-based randomization techniques, regardless of their designs and implementations, share a common security defect such that the randomized binaries may remain vulnerable in certain cases. Indeed, our finding does not invalidate fine-grained code randomization as a meaningful defense against code reuse attacks, for it significantly raises the bar for exploits to be successful. Nevertheless, it is critical for the maintainers of legacy software systems to be aware of this problem and obtain a quantitative assessment of the risks in adopting a potentially incomprehensive defense. In this paper, we conducted a systematic investigation into the effectiveness of randomization techniques designed for hardening outdated binaries. We studied various state-of-the-art, fine-grained randomization tools, confirming that all of them can leave a certain part of the retrofitted binary code still reusable. To quantify the risks, we proposed a set of concrete criteria to classify gadgets immune to rewriting-based randomization and investigated their availability and capability.
DOI10.1109/EuroSP48549.2020.00009
Citation Keywang_quantitative_2020