Hardening Software Against Memory Errors
Speaker:
Professor Roland Yap
National University of Singapore (NUS)
Abstract:
Memory errors are often the root cause of security vulnerabilities and exploitation in low level languages such as C/C++. We will first overview the difficulties of dealing with memory errors and existing techniques for detecting and preventing memory errors. This talk will focus on the challenging problem of given a closed source binary, how to harden the binary against memory errors. We introduce RedFat, a binary rewriter which hardens x86_64 binaries against memory errors. The challenge is that without source code, it becomes difficult to have reliable instrumentation and also at the binary level much of the semantics of the original code has dissapeared. To deal with the problem of missing semantics while yet giving more hardening where possible, RedFat uses a complementary error detection methodology. It combines low fat pointers with red zones. RedFat makes minimal assumptions about the binary and is able to operate on stripped and non-PIC binaries. It is also language agnostic and has been evaluated on C / C++ / Fortran benchmarks.
Biography:
Roland Yap is an Associate Professor in the Department of Computer Science, National University of Singapore, Singapore. He received his PhD from Monash University, Australia. He has pioneering work in the development of Constraint Logic Programming languages and the field of Constraint Programming. Together with Christian Bessiere, Jean-Charles Régin, and Yuanlin Zhang, their work on (Generalized) Arc Consistency was awarded the AI Journal Classic Paper Award in 2022. His current research interests include AI, Big Data, Constraints, Operating Systems, Programming Languages, Security and Social Networks.
Enquiries:
Professor Jimmy Lee (jlee@cse.cuhk.edu.hk)
Mr. WONG O-Bong (obong@cse.cuhk.edu.hk)