More about HKUST
Testing Secure Multi-Party Computation Compilers
The Hong Kong University of Science and Technology Department of Computer Science and Engineering MPhil Thesis Defence Title: "Testing Secure Multi-Party Computation Compilers" By Mr. Yichen LI Abstract: The increasing requirement for privacy-preserving computations among multiple data owners has driven the significant advancement of secure multi-party computation (MPC) protocols. These protocols enable parties to collaboratively compute a function over their inputs while ensuring the privacy of those inputs. MPC has found widespread application in various realworld sectors that require privacy, such as healthcare and finance. To facilitate the adoption of MPC, both industrial and academic efforts have resulted in the development of MPC compilers, which automatically convert high-level MPC programs into low-level executable code. Translating high-level MPC descriptions into efficient executables is a complex task. This process typically involves transforming high-level languages into multiple intermediate representations (IR), such as arithmetic or boolean circuits, optimizing computational and communication costs, and selecting suitable MPC protocols and virtual machines for specific tasks and threat models. A variety of optimizations and heuristics are applied during the compilation to enhance the efficiency of the resulting MPC executables. Despite the widespread adoption of MPC compilers in industry and academia, a systematic and principled understanding of their correctness is still lacking. To address this critical gap, this paper introduces MT-MPC, a metamorphic testing (MT) framework specifically designed to uncover erroneous compilations in MPC compilers. Our approach introduces three metamorphic relations (MRs) tailored for MPC programs, which mutate high-level MPC programs to serve as compiler inputs. We then compare the execution results of the original and mutated MPC programs to verify if the compilers produce semantics-equivalent MPC executables. Although real-world MPC compilers exhibit a high level of engineering quality, our testing identified 4,772 inputs that could lead to erroneous compilations in three popular MPC compilers. ix While these error-triggering inputs do not cause the compilers to crash, they can generate incorrect MPC executables, compromising the reliability of the computations. Through extensive manual effort and collaboration with MPC compiler developers, we identified thirteen bugs using the error-triggering inputs. Our testing framework and findings provide valuable guidance for developers aiming to improve MPC compilers. Date: Wednesday, 31 July 2024 Time: 5:00pm - 7:00pm Venue: Room 5501 Lifts 25/26 Chairman: Dr. Jiasi SHEN Committee Members: Dr. Shuai WANG (Supervisor) Dr. Wei WANG