Trail of Bits, 구글의 제로 지식 증명(Zero-Knowledge Proof)에서 취약점 발견

by DD
1개월 전
조회수 6

Trail of Bits가 구글의 양자 암호 해독(Quantum Cryptanalysis) 제로 지식 증명(Zero-Knowledge Proof)의 취약점(Vulnerability)을 발견하여, 구글보다 개선된 성능을 보임

구글의 Rust 기반 zkVM(Zero-Knowledge Virtual Machine) 코드에서 메모리 안전성(Memory Safety)논리적 취약점(Logic Vulnerabilities)을 악용

제로 지식 증명(Zero-Knowledge Proof)의 취약한 공격 표면(Attack Surface)을 강조하며, 패치 적용의 중요성을 역설

커뮤니티에서는 제로 지식 증명 기술의 신뢰 분산(Trust Redistribution)과 잠재적 위험에 대한 논의가 활발하게 진행됨

구글 zkVM(Zero-Knowledge Virtual Machine)의 취약점 분석

Trail of Bits는 구글의 zkVM(Zero-Knowledge Virtual Machine)에서 메모리 안전성(Memory Safety)논리적 취약점(Logic Vulnerabilities)을 발견했다. 특히, `rkyv` 라이브러리의 `access_unchecked` 함수를 사용하여 외부에서 입력된 데이터를 검증 없이 처리하는 부분을 악용했다. 이를 통해 Toffoli 게이트(Toffoli Gate) 카운터를 우회하여, 실제보다 적은 연산량을 보고하도록 위조된 증명을 생성했다. 이는 제로 지식 증명(Zero-Knowledge Proof) 시스템의 데이터 무결성(Data Integrity)에 심각한 위협을 가한다.

제로 지식 증명(Zero-Knowledge Proof)의 공격 표면 확대

이번 사례는 제로 지식 증명(Zero-Knowledge Proof) 기술이 도입되면서 공격 표면(Attack Surface)이 확대될 수 있음을 보여준다. 구글의 zkVM(Zero-Knowledge Virtual Machine)은 양자 회로(Quantum Circuit)의 비용을 계산하기 위해 사용되었지만, Trail of Bits는 Rust 코드의 취약점을 이용하여 이를 우회했다. 이는 제로 지식 증명(Zero-Knowledge Proof) 시스템의 신뢰 경계(Trust Boundary)가 코드, 컴파일러, 증명 시스템 등으로 확장됨을 의미한다.

양자 회로(Quantum Circuit) 최적화의 어려움

Trail of Bits는 구글의 양자 회로(Quantum Circuit)를 개선하기 위해, 유클리드 알고리즘(Euclidean Algorithm)을 활용한 모듈러 역산(Modular Inversion) 최적화를 시도했다. 특히, Proos-Zalka 레지스터 공유 알고리즘을 통해 2.55 필드 요소의 공간만으로 모듈러 역산을 구현했다. 하지만, 양자 회로(Quantum Circuit)의 가역성(Reversibility) 제약 조건으로 인해 추가적인 큐비트(Qubit)가 필요하며, 이는 양자 회로(Quantum Circuit) 최적화의 난이도를 보여준다.

제로 지식 증명(Zero-Knowledge Proof) 기술의 신뢰 재분배

이번 사건은 제로 지식 증명(Zero-Knowledge Proof) 기술이 기존의 신뢰 체계를 재분배한다는 점을 시사한다. 기존에는 과학적 전문가의 의견을 신뢰했지만, 제로 지식 증명(Zero-Knowledge Proof) 기술은 프로그래밍 언어, 컴파일러, 증명 시스템, 암호화 전문가에 대한 신뢰를 요구한다. 따라서, 제로 지식 증명(Zero-Knowledge Proof) 기술의 잠재적 위험(Potential Risks)을 고려하고, 기술 실패에 대한 대비가 필요하다는 점을 강조한다.

We beat Google’s zero-knowledge proof of quantum cryptanalysis

댓글 0

첫 번째 댓글을 남겨보세요!