Please use this identifier to cite or link to this item:
Authors: Geistler, Jan-Nicolai
Title: Automatically detecting malicious GitHub Actions
Issue Date: 2023 Abschlussarbeit (Master) xv, 67
Abstract: GitHub Actions are getting more and more popular among developers as they provide lots of functionality for building and deploying code. Simultaneously, threats to Continuous Integration/Continuous Delivery pipelines increase. Our work explores different attack vectors for GitHub Workflows by developing multiple proof-of-concept actions. We proof that current state-of-the-art anti-virus scanners are not able to detect our custom malicious actions and, therefore, developers currently have to rely on manually analyzing actions. As of May 11th 2023, the GitHub Marketplace holds 12,710 actions, which makes manually analyzing all actions not feasible. We introduce an approach to automatically analyze GitHub Actions. Our approach executes actions, gathers data at runtime, filters and summarizes the data and classifies actions based on a set of 48 extracted features. Our classification is based on multiple detection models such as an artificial neural network, One-Class Support Vector Machines, Local Outlier Factor and Isolation Forest. We label a dataset with 104 actions and proof that all four classification models are able to detect malicious actions, while outperforming state-of-the-art anti-virus scanners in accuracy, F1-score, precision and recall. Our analysis shows that Local Outlier Factor works best for our dataset with a F1-score of 45 percent. Furthermore, our work extracts general characterization data about GitHub Actions and provides suggestions for improvements in order to reduce the number of false positives and to increase the true positive rate.
GitHub Actions werden immer beliebter unter Entwicklern, da sie umfangreiche Funktionalitäten zum Kompilieren und Verteilen von Code bereitstellen. Gleichzeitig steigen allerdings auch die Gefahren für Continuous Integration/Continuous Delivery Pipelines. Unsere Arbeit analysiert verschiedene Angriffsvektoren für GitHub Workflows, indem wir proof-of-concept Aktionen entwickeln. Wir beweisen, dass aktuelle state-of-the-art Anti-Virus-Scanner nicht in der Lage sind unsere bösartigen Aktionen zu erkennen. Daher müssen Entwickler immer noch manuell Aktionen analysieren um sicher zu gehen, dass ihre Automatisierungen sicher sind. Allerdings gab es am 11. Mai 2023 bereits 12.710 Aktionen auf dem GitHub Marketplace, weswegen die manuelle Analyse wenig sinnvoll ist. Wir führen in unser Arbeit eine Herangehensweise ein, die es ermöglicht GitHub Actions automatisch zu analysieren. Unsere Herangehensweise führt die Aktionen in einer Testumgebung aus und sammelt Daten über sie. Diese Daten werden dann gefiltert und zusammengefasst, bevor wir 48 Eigenschaften für die Klassifizierung nutzen. Unsere Klassifizierung basiert auf mehreren Erkennungsmodellen. Die Erkennungsmodelle, die wir nutzen, sind ein neuronales Netz, One-Class Support Vector Machine, Local Outlier Factor und Isolation Forest. Wir annotieren einen Datensatz von 104 Aktionen und beweisen, dass all vier Klassifizierungsmodelle in der Lage sind unsere selbst entwickelten bösartigen Aktionen zu erkennen. Dabei übertreffen alle vier Modelle die state-of-the-art Anti-Virus-Scanner in Genauigkeit, Falsch-Positiv-Rate und F1-Wert. Unsere Analyse zeigt, dass Local Outlier Factor bei unserem Datensatz mit einem F1-Wert von 45 Prozent am besten funktioniert. Schlussendlich extrahieren wir generelle Informationen über GitHub Actions und geben Vorschläge, wie die Anzahl an falsch-positiven Ergebnissen reduziert werden kann und die Echte-Positiv-Rate erhöht werden kann.
Appears in Collections:05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Files in This Item:
File Description SizeFormat 
master_thesis_jan_geistler.pdf3,8 MBAdobe PDFView/Open

Items in OPUS are protected by copyright, with all rights reserved, unless otherwise indicated.