zkFuzz: Foundation and Framework for Effective Fuzzing of Zero-Knowledge Circuits
Dieser Beitrag stellt zkFuzz vor, ein neuartiges mutationsbasiertes Fuzzing-Framework, das auf dem theoretischen Trace-Constraint Consistency Test (TCCT) basiert und durch die Überwindung der Grenzen bestehender statischer und formaler Analysewerkzeuge sowohl unter- als auch überbeschränkte Schwachstellen in Zero-Knowledge-Schaltungen effektiv aufdeckt.
Originalarbeit lizenziert unter CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dies ist eine KI-generierte Erklärung des untenstehenden Papers. Sie wurde nicht von den Autoren verfasst oder gebilligt. Für technische Genauigkeit konsultieren Sie das Originalpaper. Vollständigen Haftungsausschluss lesen
Stellen Sie sich vor, Sie bauen einen magischen Tresor, der beweist, dass Sie ein geheimes Passwort kennen, ohne das Passwort jemals tatsächlich preiszugeben. Genau das tun „Zero-Knowledge (ZK)-Schaltungen" in der digitalen Welt. Sie sind die Sicherheitswächter für datenschutzfreundliche Technologien wie anonyme Kryptowährungen und sichere Wahlsysteme.
Der Bau dieser Tresore ist jedoch unglaublich schwierig. Wenn Sie einen winzigen Fehler in den Bauplänen machen, könnte der Tresor entweder:
- Jeden hereinlassen (selbst wenn er das Passwort nicht kennt).
- Den echten Eigentümer aussperren (selbst wenn er das korrekte Passwort hat).
Die Arbeit stellt ein neues Werkzeug namens ZKFUZZ vor, um diese Fehler zu finden, bevor böswillige Akteure dies tun. So funktioniert es, einfach erklärt:
Das Problem: Der „Bauplan" vs. die „Realität"
In diesen Systemen schreiben Entwickler ein Programm, das zwei Dinge gleichzeitig tut:
- Die Berechnung: Die eigentliche Mathematik, um das Geheimnis zu ermitteln (wie das Berechnen einer Route auf einer Karte).
- Die Einschränkungen: Die Regeln, die beweisen, dass die Mathematik korrekt durchgeführt wurde (wie eine Checkliste, um zu verifizieren, dass die Route existiert).
Das Problem ist, dass diese beiden Teile oft aus dem Takt geraten.
- Unterbeschränkt: Die Regeln sind zu locker. Ein Hacker kann das System dazu bringen, eine gefälschte Route zu akzeptieren.
- Überbeschränkt: Die Regeln sind zu streng. Das System lehnt eine völlig gültige Route wegen einer winzigen, unnötigen Regel ab.
Bestehende Werkzeuge zur Fehlerfindung sind wie schlechte Rechtschreibprüfungen. Sie raten basierend auf Mustern und schreien „FEHLER!" bei Dingen, die eigentlich in Ordnung sind (falsche Alarme), oder sie übersehen tiefe, komplexe Fehler ganz.
Die Lösung: ZKFUZZ (Der „Mutations-Fuzzer")
Die Autoren haben ein neues Framework namens ZKFUZZ entwickelt. Anstatt den Code nur zu lesen, agiert ZKFUZZ wie ein schelmischer Testingenieur, der versucht, das System absichtlich zu brechen.
Hier ist die Analogie:
Stellen Sie sich vor, Sie haben ein Rezept (die Berechnung) und einen Geschmackstest (die Einschränkungen).
- Alte Werkzeuge: Schauen sich das Rezept an und sagen: „Das sieht verdächtig aus, weil es Salz enthält." (Sie raten basierend auf Regeln).
- ZKFUZZ: Kocht tatsächlich das Gericht, mutiert dann aber das Rezept. Es tauscht „Zucker" gegen „Salz" aus oder ändert die Garzeit. Dann füttert es dieses mutierte Gericht dem Geschmackstest.
- Wenn der Geschmackstest zu einem Gericht, das schrecklich schmecken sollte (weil das Rezept geändert wurde), „Lecker!" sagt, weiß ZKFUZZ, dass die Regeln zu locker sind (Unterbeschränkt).
- Wenn der Geschmackstest zu einem Gericht, das köstlich sein sollte (weil das ursprüngliche Rezept korrekt war), „Ekelhaft!" sagt, weiß ZKFUZZ, dass die Regeln zu streng sind (Überbeschränkt).
Das Geheimnis: „Fitness" und „Zielgerichtetheit"
Einen Fehler in einer ZK-Schaltung zu finden, ist wie eine Nadel im Heuhaufen von der Größe eines Planeten zu suchen. Die beteiligten Zahlen sind so riesig, dass ein Computer nicht einfach jede Möglichkeit durchprobieren kann.
ZKFUZZ verwendet einen Genetischen Algorithmus (wie Evolution):
- Mutation: Es erstellt Tausende leicht defekter Versionen des Programms.
- Fitness-Score: Es bewertet diese defekten Versionen. Wenn eine defekte Version es fast schafft, den Test zu bestehen (auch wenn sie scheitert), erhält sie einen „guten Score". Das sagt dem System: „Sie werden wärmer!"
- Zielgerichtetheit: Es rät nicht einfach zufällig. Es weiß, dass Fehler oft bei „Randfällen" auftreten (wie wenn Zahlen null oder extrem groß sind). Es versucht gezielt, dem System diese kniffligen Zahlen zu geben, um zu sehen, ob es zusammenbricht.
Die Ergebnisse: Das Unsichtbare fangen
Das Team testete ZKFUZZ an 452 realen Schaltungen, die in echten Projekten verwendet werden.
- Die Punktzahl: Es fand 85 Fehler.
- Die Zero-Days: 59 davon waren brandneue, unbekannte Fehler (Zero-Days), von denen niemand wusste, dass sie existieren.
- Die Auswirkungen: 39 davon wurden von den Entwicklern bestätigt, und 14 wurden bereits behoben. Dazu gehören Fehler in großen Projekten wie zkSync (eine Krypto-Plattform) und passport-zk-circuits (digitale ID-Systeme).
- Keine falschen Alarme: Im Gegensatz zu anderen Werkzeugen markierte ZKFUZZ nichts als Fehler, was tatsächlich kein Fehler war.
Warum das wichtig ist
Die Arbeit argumentiert, dass frühere Werkzeuge einen riesigen Teil des Problems übersehen haben. Sie suchten nur nach „Zufälligkeit" in den Regeln. ZKFUZZ führte eine neue Theorie namens TCCT (Trace-Constraint Consistency Test) ein, die prüft, ob der tatsächliche Pfad, den der Computer nimmt, mit den Regeln übereinstimmt, die er befolgen soll.
Diese neue Theorie fing Fehler auf, die auftraten, wenn der Computer „abstürzte" oder unerwartet aufhörte, was frühere Werkzeuge völlig ignorierten.
In Kürze
ZKFUZZ ist ein intelligenter, automatisierter „Fehlerjäger", der Zero-Knowledge-Schaltungen bricht, indem er ihren Code mutiert und sie mit kniffligen Eingaben füttert. Es fand Dutzende kritischer Sicherheitslücken, die andere Werkzeuge übersehen hatten, und bewies, dass selbst in der komplexen Welt der Datenschutzmathematik ein wenig kontrolliertes Chaos der beste Weg ist, die Wahrheit zu finden.
Ertrinken Sie in Arbeiten in Ihrem Fachgebiet?
Erhalten Sie tägliche Digests der neuesten Arbeiten passend zu Ihren Forschungsbegriffen — mit technischen Zusammenfassungen, in Ihrer Sprache.