Tue 20 Jun 2023 10:40 - 11:00 at Cypress 1 - PLDI: Security Chair(s): Limin Jia

As zero-knowledge proofs gain increasing adoption, the cryptography community has designed domain-specific languages (DSLs) that facilitate the construction of zero-knowledge proofs (ZKPs). Many of these DSLs, such as Circom, facilitate the construction of arithmetic circuits, which are essentially polynomial equations over a finite field. In particular, given a program in a zero-knowledge proof DSL, the compiler automatically produces the corresponding arithmetic circuit. However, a common and serious problem is that the generated circuit may be underconstrained, either due to a bug in the program or a bug in the compiler itself. Underconstrained circuits admit multiple witnesses for a given input, so a malicious party can generate bogus witnesses, thereby causing the verifier to accept a proof that it should not. Because of the increasing prevalence of such arithmetic circuits in blockchain applications, several million dollars worth of cryptocurrency have been stolen due to underconstrained arithmetic circuits.

Motivated by this problem, we propose a new technique for finding ZKP bugs caused by underconstrained polynomial equations over finite fields. Our method performs semantic reasoning over the finite field equations generated by the compiler to prove whether or not each signal is uniquely determined by the input. Our proposed approach combines SMT solving with lightweight uniqueness inference to effectively reason about underconstrained circuits. We have implemented our proposed approach in a tool called $\mathbf{\mathsf{QED}^2}$ and evaluate it on 163 Circom circuits. Our evaluation shows that $\mathbf{\mathsf{QED}^2}$ can successfully solve 70% of these benchmarks, meaning that it either verifies the uniqueness of the output signals or finds a pair of witnesses that demonstrate non-uniqueness of the circuit. Furthermore, $\mathbf{\mathsf{QED}^2}$ has found 8 previously unknown vulnerabilities in widely-used circuits.

Tue 20 Jun

Displayed time zone: Eastern Time (US & Canada) change

09:00 - 11:00
PLDI: SecurityPLDI Research Papers at Cypress 1
Chair(s): Limin Jia Carnegie Mellon University

#pldi-tue-0900-security-cypress Discord icon small YouTube icon small

09:00
20m
Talk
Obtaining Information Leakage Bounds via Approximate Model Counting
PLDI Research Papers
Seemanta Saha University of California Santa Barbara, Surendra Ghentiyala University of California Santa Barbara, Shihua Lu University of California Santa Barbara, Lucas Bang Harvey Mudd College, Tevfik Bultan University of California at Santa Barbara
DOI
09:20
20m
Talk
CommCSL: Proving Information Flow Security for Concurrent Programs using Abstract Commutativity
PLDI Research Papers
Marco Eilers ETH Zurich, Thibault Dardinier ETH Zurich, Peter Müller ETH Zurich
DOI
09:40
20m
Talk
Discrete Adversarial Attack to Models of Code
PLDI Research Papers
Fengjuan Gao Nanjing University of Science and Technology, Yu Wang Nanjing University, Ke Wang Visa Research
DOI
10:00
20m
Talk
Generalized Policy-Based Noninterference for Efficient Confidentiality-Preservation
PLDI Research Papers
Shamiek Mangipudi Università della Svizzera italiana (USI), Pavel Chuprikov USI Lugano, Patrick Eugster USI Lugano; Purdue University, Malte Viering TU Darmstadt, Savvas Savvides Purdue University
DOI
10:20
20m
Talk
Taype: A Policy-Agnostic Language for Oblivious Computation
PLDI Research Papers
Qianchuan Ye Purdue University, Benjamin Delaware Purdue University
DOI
10:40
20m
Talk
Automated Detection of Under-Constrained Circuits in Zero-Knowledge Proofs
PLDI Research Papers
Shankara Pailoor University of Texas at Austin, Yanju Chen University of California at Santa Barbara, Franklyn Wang Harvard University, 0xparc, Clara Rodríguez-Núñez Complutense University of Madrid, Jacob Van Geffen Veridise Inc., Jason Morton ZKonduit, Michael Chu 0xparc, Brian Gu 0xparc, Yu Feng University of California at Santa Barbara, Işıl Dillig University of Texas at Austin
DOI