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