Secure multi-party computation (MPC) enables privacy-preserving computations using secret data, with applications ranging from health care and finance to machine learning and blockchains. MPC compilers translate high-level function descriptions to the low-level representations required for the actual execution, making them critical for both usability and scalability of MPC. However, these compilers may contain logic bugs that cause them to quietly produce wrong outputs, the consequences of which could be catastrophic given the sensitive applications of this technology. Testing MPC compilers in order to find these severe bugs is, therefore, paramount.
With only a single testing tool currently available (which is not publicly available in its entirety and has several serious limitations), this issue is far from resolved. In this paper, we present BabelFuzz, a cost-effective framework for testing MPC compilers. By introducing an expressive intermediate representation (IR) for its seed-program generation, BabelFuzz is able to support multiple compilers that use different input languages, while keeping the development effort of adding new targets low. Even better, this approach allows us to translate our IR to mainstream languages, which provides a powerful differential-testing oracle for highly efficient bug detection.
BabelFuzz not only found 24 new logic bugs across four MPC compilers, but it is also able to rediscover every fixed bug the previous state of the art in testing MPC compilers found.
Wed 8 JulDisplayed time zone: Eastern Time (US & Canada) change
16:00 - 17:00 | CompilerIdeas, Visions and Reflections / Research Papers / Tool Demonstrations at MB 3.435 Chair(s): Julia Lawall Inria | ||
16:00 20mTalk | Cost-Effective Testing of MPC Compilers Research Papers Sebastian Watzinger TU Wien, Valentin Wüstholz ConsenSys, Deepak Garg MPI-SWS, Maria Christakis TU Wien Pre-print | ||
16:20 10mTalk | Compilomorphic Fuzzing: Turning a Compiler Against Itself Ideas, Visions and Reflections Vasileios Klimis Queen Mary University of London | ||
16:30 10mTalk | PYURIFY: Purifying Python Tests for Precise Fault Localization Tool Demonstrations Marius Smytzek CISPA Helmholtz Center for Information Security, Andreas Zeller CISPA Helmholtz Center for Information Security DOI Pre-print | ||
16:40 20mTalk | Detecting Bugs in Rust Compiler Fix Suggestions via Constraint-Violation-Guided Mutation Research Papers Zixi Liu Nanjing University, Yang Feng Nanjing University, Jialiang Jiang Nanjing University, Baowen Xu Nanjing University | ||