Cracking the Code of DeFi Vulnerabilities: Alp Bassa's Deep Dive into Smart Contract Security

In diesem exklusiven Interview, das während der Hack Seasons Conference geführt wurde, gibt Alp Bassa, ein Forscher bei Veridise, Einblicke in die innovativen Tools von Veridise, die Feinheiten von Zero-Knowledge-Proof-Audits und die Zukunft der Blockchain-Sicherheit. Während der Diskussion werden wir die Schnittstelle zwischen Mathematik, Kryptografie und Blockchain-Technologie aus der Sicht eines der führenden Experten der Branche erkunden.

Viele Unternehmer werden durch einen bestimmten Moment oder ein bestimmtes Ereignis in ihr Fachgebiet hineingezogen. Wie war Ihr Weg zu Web3?

Ich habe einen akademischen Hintergrund. Ich bin Mathematiker und habe in der Zahlentheorie geforscht, mit Schwerpunkt auf Kurven über endlichen Körpern, elliptischen Kurven und deren Anwendungen in der Kodierungstheorie und Kryptografie. Diese Tools werden häufig verwendet, insbesondere jetzt, da die Zero-Knowledge-Kryptografie im Web3-Bereich einen größeren Einfluss hat.

Ich habe gesehen, dass dort viele interessante Dinge passierten. Dann habe ich angefangen, bei Veridise zu arbeiten, wo sie Sicherheitsprüfungen durchführen und sich insbesondere auf den ZK-Bereich spezialisieren, wo meine Expertise sehr gut passt.

Warum brauchen wir überhaupt Sicherheitsüberprüfungen? Können Entwickler ohne sie arbeiten oder sind sie obligatorisch?

Die Sicherheit der Systeme erfordert eine andere Denkweise, die Sie bereits in der Entwicklungsphase einnehmen müssen. Nicht alle Entwickler können sich gleichzeitig auf alle Aspekte des Entwicklungsprozesses konzentrieren – die richtigen Spezifikationen, das richtige Verhalten, die richtige Effizienz, die richtige Integration in ein größeres Setup und die richtige Sicherheit sicherstellen. Meistens ist Sicherheit ein Aspekt, der im gesamten Entwicklungsprozess nicht ausreichend abgedeckt wird.

Für einen Entwickler ist es fast unmöglich geworden, mit verschiedenen komplexen Tools so vertraut zu sein, dass er sicherstellen kann, dass sie richtig verwendet werden und keine Schwachstellen aufweisen. Es ist lediglich eine andere Denkweise erforderlich. Deshalb sind Audits nützlich.

Können Sie die von Veridise entwickelten internen Tools näher erläutern und erklären, wie diese die Auditqualität verbessern?

Es gibt ein breites Spektrum an Tools, die verwendet werden können. Manche sind primitiver, erfordern aber nicht zu viel Hintergrundwissen und sind leicht zugänglich, wie etwa Fuzzer. Manche liegen dazwischen, wie etwa Tools für die statische Analyse. Sie sind recht schnell, aber nicht sehr genau – sie können einige falsche Ergebnisse liefern.

Dann gibt es Tools, die stark mathematisch unterstützt werden und auf SMT-Solvern und anderen mathematischen Grundlagen basieren. Diese sind sehr präzise, ​​erfordern aber viel Rechenleistung. Wir verwenden eine Kombination all dieser Tools, jedes mit seinen Vor- und Nachteilen, um Fehler und Schwachstellen zu erkennen.

Welche besonderen Sicherheitsaspekte berücksichtigt Veridise für DeFi-Protokolle?

Für DeFi-Protokolle haben wir ein statisches Analysetool, mit dem Sie dem System vorab mitteilen, nach welchen Schwachstellen es suchen oder auf welche Strukturen es abzielen soll. Davon gibt es viele. Beispielsweise waren Reentrancy-Angriffe für den DAO-Hack von 2016 verantwortlich. Flash-Loan-Angriffe wurden beim Angriff auf Cream Finance ausgenutzt, bei dem etwa 130 Millionen US-Dollar gestohlen wurden.

Durch unsere langjährige Erfahrung im Auditing haben wir einen guten Überblick über die Schwachstellen und unsere Tools sind darauf ausgelegt, alle Schwachstellen zu erkennen. Während unserer Audits sehen wir uns jede Schwachstelle einzeln im Detail an, um zu sehen, ob solche Risiken auftreten.

Bitte erläutern Sie genauer, wie Sie die ZK-Technologie nutzen und warum ZK-Audits für Sie oberste Priorität haben.

ZK ist aus der Perspektive der formalen Verifizierung besonders interessant, da es sich sehr gut in die Verwendung von Tools umsetzen lässt. Wir haben Tools, die speziell auf die Überprüfung von ZK-Anwendungen ausgerichtet sind. Da es für unsere Methoden so gut geeignet ist, haben wir uns stark auf diesen Bereich konzentriert.

Wir haben kritische Schwachstellen in den Kernschaltungsbibliotheken identifiziert. Unser Team ist auf diesem Gebiet sehr stark, daher haben wir uns entschieden, sehr präsent und an der Spitze der ZK-Prüfung zu sein. Der Großteil unserer Forschung ist auch durch die Bedürfnisse und Anforderungen aus der Sicht eines Prüfers im ZK-Bereich motiviert.

Wie unterscheidet sich Ihre Expertise im Bereich ZK-Schaltungen von der anderer Unternehmen?

Ich würde sagen, dass es unsere Tools sind, die uns von anderen abheben, weil wir aus dem Bereich der formalen Verifizierung kommen. Wir haben sehr leistungsfähige Tools und mittlerweile ist der Umfang der Projekte so groß geworden, dass menschlicher Einsatz allein nicht mehr ausreicht, um eine gute Abdeckung der Codebasis zu erreichen. Das ist notwendig, aber allein nicht ausreichend.

Wie gleicht Veridise in seinem Auditprozess die manuelle Codeüberprüfung mit der automatisierten Toolanalyse aus?

Beides ist erforderlich. Das merken wir auch bei den Audits. Wenn wir sehr gründliche Audits durch Menschen durchführen und die Tools anschließend auf der Codebasis ausführen, finden wir meistens einige Schwachstellen, die unserer Aufmerksamkeit entgangen sind. Manchmal führen wir die Tools zuerst aus, aber die Tools können nur bestimmte Arten von Strukturen erkennen.

Da diese Systeme so viele Ebenen der Komplexität und Abstraktion aufweisen, reicht es auch nicht aus, sich nur auf die Tools zu verlassen. Ich bin der Meinung, dass man auf keines von beiden verzichten kann, und ich glaube nicht, dass sich das in Zukunft ändern wird.

Was sind die Hauptfunktionen des Vanguard-Tools von Veridise und wie verbessert es die Sicherheit von Smart Contracts?

Vanguard ist eines unserer Haupttools. Es wird für die statische Analyse verwendet. Bei der statischen Analyse geben Sie eine bestimmte Spezifikation des beabsichtigten Verhaltens an und prüfen dann, ob diese erfüllt ist – ob bestimmte Eigenschaften gelten, ohne den Code auszuführen. Das ist nicht dynamisch; Sie führen den Code nicht aus, aber Sie versuchen statisch zu beurteilen, ob bestimmte Muster vorhanden sind, die Schwachstellen verursachen könnten.

Vanguard gibt es in vielen Varianten. Wir haben Teile davon, die sich recht gut für eine verbesserte Sicherheit von Smart Contracts eignen, und Teile, die sich auf ZK-Anwendungen konzentrieren.

Können Sie näher auf die Schwachstellen eingehen, die Sie in Smart Contracts und ZK-Schaltkreisen festgestellt haben?

In ZK-Schaltkreisen, an denen ich mehr arbeite, sind unterbeschränkte Schaltkreise eine der am häufigsten auftretenden Schwachstellen. In einer ZK-Anwendung besteht Ihre Codebasis aus zwei Teilen: dem Programm selbst (der normalen Ausführung) und den Beschränkungen. Sie verlangen, dass die Beschränkungen das Verhalten der Programmausführung eins zu eins widerspiegeln.

Laut einer aktuellen Studie sind etwa 95 % aller Schwachstellen in ZK-Schaltkreisen auf unterbestimmte Schaltkreise zurückzuführen. Wir verfügen über Tools wie PICUS, das speziell auf die Erkennung dieser unterbestimmten Schaltkreise ausgerichtet ist.

Wie geht Veridise beim Offenlegungsprozess für Schwachstellen vor, die bei Audits entdeckt werden?

Natürlich machen wir Schwachstellen zu keinem Zeitpunkt öffentlich, da jemand anderes den Fehler ausnutzen könnte, bevor er behoben ist, insbesondere wenn die Codebasis bereits verwendet wird. Am Ende des Prüfprozesses liefern wir einen Prüfbericht, in dem wir dem Kunden eine Liste aller Fehler und Schwachstellen geben, die wir entdeckt haben.

Wir geben dem Kunden etwas Zeit, diese Probleme zu beheben. Anschließend sendet er uns seine Korrekturen, die wir überprüfen, um zu prüfen, ob sie wirklich alle von uns angesprochenen Probleme beheben. Alles fassen wir in einem Abschlussbericht zusammen. Der Bericht ist Eigentum des Kunden. Wir veröffentlichen ihn nicht, es sei denn, der Kunde stimmt zu.

Auf der Veridise-Webseite finden Sie eine Liste aller Prüfberichte, deren Veröffentlichung die Kunden zugestimmt haben. In den meisten Fällen sind sie damit einverstanden. Tatsächlich möchten sie ihn als Nachweis dafür, dass der Code geprüft wurde und nach einer Prüfung so fehlerfrei wie möglich ist.

Wie passt Veridise seine Auditprozesse an verschiedene Blockchain-Plattformen und Sprachen an?

Wie Sie wissen, ist das Feld sehr lebendig und jeden Tag gibt es neue Ketten, neue Sprachen und neue Möglichkeiten, ZK-Schaltkreise auszudrücken. Das sehen wir auch bei den eingehenden Projekten und Auditanfragen, die auf unterschiedlichen Umgebungen oder Sprachen basieren. Wir gehen mit dem Strom, sehen, woher die Anfragen kommen, und haben ein Gespür dafür, in welche Richtung sich das Feld in naher Zukunft entwickeln wird.

Wir versuchen, unsere Tools an die Bedürfnisse der Community anzupassen. Dies wird auch in Zukunft so bleiben, indem wir Dinge dynamisch ändern, je nachdem, wie sich das Feld weiterentwickelt.

Können Sie näher auf die Tools eingehen, die Sie in Zukunft implementieren möchten?

Eine Richtung, in die sich die Tools in naher Zukunft ändern werden, ist, dass wir Sicherheit als Service anbieten werden. Das wird unsere sogenannte SaaS-Plattform sein, auf der wir den Leuten die Tools zur Verfügung stellen, damit sie sie während des Entwicklungsprozesses nutzen können.

Anstatt erst das gesamte Projekt abzuschließen und dann ein Audit durchzuführen, werden wir unsere Tools in einem Setup nutzbar machen, in dem Entwickler sie während der Entwicklung verwenden können, um sicherzustellen, dass der von ihnen entwickelte Code sicher ist und keine Schwachstellen enthält. Das SaaS sollte in naher Zukunft verfügbar sein.

Der Beitrag „Den Code der DeFi-Schwachstellen knacken: Alp Bassas tiefer Einblick in die Sicherheit von Smart Contracts“ erschien zuerst auf Metaverse Post.