16. November 2020

DLR entwickelt neue Sicherheitsanalyse für Corona-Warn-App

Das DLR-Institut für Softwaretechnologie entwickelt gemeinsam mit dem DLR-Institut für Datenwissenschaften eine automatisierte Methode zur Analyse von bestimmten Entwicklungsprozessen der deutschen Corona-Warn-App. Ziel der Analyse ist es, Praktiken und Vorgehensweisen des kollaborativen Entwicklungsprozesses zu untersuchen und eine Einschätzung über die Sicherheit von Open-Source-Projekten abzugeben.

„Fehlersuche nach Bedarf“

Die deutsche Corona Tracing App wurde von SAP und Telekom auf der Entwicklerplattform „GitHub“ open source entwickelt. Open source bedeutet unter anderem, dass der Quellcode auch von Dritten einsehbar ist und an der Software mitgeschrieben werden kann.


Diese öffentlich zugänglichen Informationen nutzen die DLR-Institute, um zu bestimmten Zeitpunkten Sicherheitsanalysen durchzuführen: Die Entwicklungshistorie eines Codes gibt detaillierte Erkenntnisse über die Rolle der Verfasser, seine Aktivitäten insbesondere bei Dateien, die mehrmals von unterschiedlichen Entwicklern geändert wurden und was genau am Code verändert wurde. Diese sogenannten „Provenance-Daten“ werden in einer Graphdatenbank gespeichert. Eine automatische Sicherheitsanalyse schaltet sich ein, sobald Änderungen am Code vorgenommen werden, bei denen eine Sicherheitslücke zu erwarten ist. Dies passiert meist, sobald externe Entwickler Datenstücke ändern oder hinzufügen. Aber auch detailliertere Informationen über Aktivitäten im Code können festgelegt werden, auf die die automatische Sicherheitsanalyse anspringt.


Der Fokus auf bestimmte Eigenschaften in der Entwicklungshistorie eines Datenstücks gewährleistet eine hohe Abdeckung von Schwachstellen und ermöglicht eine Fehlersuche nach Bedarf. Zusätzlich können die Code-Eigenschaften visualisiert werden, um diese besser nachzuvollziehen.

Corona-Warn-App bisher unauffällig

Visualisierte Änderungen am Source Code von Entwicklern (grüne Knoten) an den einzelnen Dateien (blaue Knoten) der Corona-Warn-App für iOS. Je größer der Knoten, desto mehr Beiträge.

Am Code der App wurden bisher oftmals gleiche Dateien von Entwicklern mit unterschiedlichen Rollen geändert, sowohl von festen Teammitglieder bei SAP und Telekom als auch von externen Beitragenden.

Eine Visualisierung dieser Zusammenarbeit zeigt dabei typische Muster: zum Beispiel, dass feste Teammitglieder sehr viele Änderungen an vielen Dateien vornehmen, oder dass externe Beitragende nur einzelne Änderungen an einzelnen Dateien beisteuern. Diese visualisierte Entwicklungshistorie am Code blieb bislang unauffällig, so Andreas Schreiber, Leiter der Abteilung Intelligente und Verteilte Systeme am Institut für Softwaretechnologie in Köln.

Open Source – Fluch oder Segen?

Die Transparenz der Open-Source-Entwicklung steigere das Vertrauen der Bevölkerung in die App, was eine Grundvoraussetzung für die Nutzung der Anwendung sei, um die Eindämmung des Virus zu unterstützen, sagte Linke-Digitalexpertin Anke Domscheit-Berg bereits in einem Interview im Mai gegenüber der Nachrichtenagentur AFP.

Gleichzeitig kann die Mitentwicklung von Dritten als Sicherheitsrisiko angesehen werden. Umso wichtiger ist es, Muster und Merkmale von Open-Source-Projekten zu verstehen und auf ihre Sicherheit zu überprüfen – insbesondere bei Projekten von hohem öffentlichem Interesse. SAP und Telekom haben im Vorfeld gemeinsam mit dem Bundesamt für Sicherheit in der Informationstechnik (BSI) die Transparenz von open source genutzt und eine Reihe von Maßnahmen zur Abwehr von Schwachstellen definiert.


Die DLR-Institute ergänzen mit ihrer prozessorientierten Methode der Sicherheitsanalyse die hohen Anforderungen der Corona-Warn-App und gehen noch einen Schritt weiter. Es gilt zu verstehen, wie die gegensätzlichen Aspekte einer kollaborativen Softwareentwicklung – die Chance zu erhöhter Sicherheit sowie ein Sicherheitsrisiko im Entwicklungsprozess – widergespiegelt werden, erklärt Dr. Thomas Heinze, Leiter der Arbeitsgruppe Sichere Softwaretechnik am DLR-Institut für Datenwissenschaften in Jena. Mit diesem Vergleich soll künftig besser abgewägt werden, wann sich ein kollaborativer Entwicklungsansatz von Softwareprojekten lohnt und wann das Sicherheitsrisiko durch die Mitentwicklung Dritter zu hoch ist.


Zurzeit führen die Institute für Softwaretechnologie und für Datenwissenschaften kontinuierlich Sicherheitsanalysen durch und sammeln die Ergebnisse in Datenbanken, um diese auszuwerten und eine detailliertere Einschätzung über die Sicherheit der Corona-Warn-App abzugeben.

Sicherheitsanalyse mit Potential

Zudem werden sich die DLR-Institute mit der Erfassung von Code-Einfügungen und Löschungen einzelner Änderungen beschäftigen. Dies würde ermöglichen, die Herkunftsinformationen der Änderungen anzureichern; nicht nur mit einer statischen Codeansicht, über die Analyse von Momentaufnahmen, sondern auch mit einer dynamischen Ansicht. So könnten Quellen und Behebungen von Schwachstellen besser erforscht werden und Aufschluss über die Sicherheit von Open-Source-Projekten geben.


Diese Methode soll auch bei künftigen kollaborativen Entwicklungen angewandt werden, bei denen die Sicherheit des Softwareprodukts von wesentlicher Bedeutung ist. Schließlich werde Software immer mehr open source entwickelt, wofür die Corona-Warn-App ein Beispiel sei, sagt Heinze.