Brayer, M. (2022). Techniques for Bytecode Analysis of Smart Contracts [Diploma Thesis, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/158488
Die Bytecode-Analyse ist seit jeher ein aktuelles Thema in der traditionellen Softwareentwicklung und wird verwendet, um eine breite Palette von Eigenschaften im Code zu erkennen. Mit dem Aufkommen von Blockchains und Kryptowährungen hat die Ethereum-Blockchain ein neues Anwendungsgebiet für die Bytecode-Analyse innerhalb ihres Ökosystems hervorgebracht, nämlich die sogenannten Smart Contracts. Smart Contracts auf der Ethereum-Blockchain sind transparente Programme, die jeder einsehen und mit denen jeder interagieren kann. Sie können über Kryptowährungen im Wert von Milliarden von Euro bestimmen, was sie zu einem lukrativen Ziel für Angreifer macht. Da Smart Contracts nach der Bereitstellung im Ethereum-Netzwerk nicht mehr geändert werden können (d. h. Sicherheits-Patches sind nicht möglich), ist es unerlässlich, Schwachstellen und Verwundbarkeiten im Vorfeld zu erkennen. Dies kann durch manuelle Prüfungen und Tests oder vollständig automatisiert mit Hilfe von Tools erfolgen. Die werkzeuggestützte Evaluierung kann für den Quellcode eines Smart Contracts, seinen Bytecode oder nur seine Schnittstelle durchgeführt werden.In dieser Arbeit konzentrieren wir uns auf den Bytecode und untersuchen traditionelle Methoden und Techniken für die Bytecode-Analyse, ermitteln den spezifischen Analysebedarf für Smart Contracts auf der Ethereum-Blockchain und untersuchen spezielle Techniken und Methoden für Smart Contracts. Anschließend untersuchen wir bestehende Bytecode-Analysetools innerhalb eines Execution-Frameworks und lassen sie auf einem ausgewählten Datensatz laufen. Dieser Datensatz enthält Schwachstellen und Verwundbarkeiten, die auf der Grundlage eines Industriestandards in Kategorien eingeteilt werden. Die Ausgabe der Tools wird ebenfalls in dieselben Kategorien eingeordnet, um einen angemessenen Vergleich und eine Bewertung zu ermöglichen.
de
Bytecode analysis has always been a present topic for traditional software development and is used to detect a broad array of properties within code. With the rise of blockchains and cryptocurrencies, the Ethereum blockchain gave birth to a newer field of application for bytecode analysis within its ecosystem, more specifically so-called smart contracts. Smart contracts on the Ethereum blockchain are transparent programs that anyone can examine and interact with. They can rule over billions of Euros worth of cryptocurrency, making them a lucrative target for malicious parties. Since smart contracts can not be modified once deployed to the Ethereum network (i.e. security patches are not a possibility), it is essential to detect weaknesses and vulnerabilities beforehand. This can be done with manual audits and testing or completely automated using tools. Tool-based evaluation can be done on the source code of a smart contract, its bytecode or just its interface.In this work, we focus on bytecode and examine traditional methods and techniques for bytecode analysis, determine specific analysis needs for smart contracts on the Ethereum blockchain and research special techniques and methods for smart contracts. Afterwards, we examine existing bytecode analysis tools within an execution framework and run them on a data set. This data set contains weaknesses and vulnerabilities that are put into categories based on an industry standard. The output of the tools is also put into the same set of categories to allow for a reasonable comparison and evaluation.
en
Additional information:
Arbeit an der Bibliothek noch nicht eingelangt - Daten nicht geprüft Abweichender Titel nach Übersetzung der Verfasserin/des Verfassers