Welche Security-Tests können wie vollautomatisiert genutzt werden, um Bedrohungen noch schneller und früher zu finden? Um diese Fragen ging es in der Masterarbeit unseres Mitarbeiters Jan Bartkowski. Wir möchten das Thema in diesem Blogartikel ausführlich vorstellen und erklären, warum Projekte von Studenten Hornetsecurity noch weiter voranbringen.

Threat Modeling: Wie kam es überhaupt zu diesem Projekt?

Hornetsecurity News


Bleiben Sie informiert

Melden Sie sich für die Hornetsecurity News an, um aktuelle Informationen aus dem Bereich Cloud Security zu erhalten.

Zu dem Zeitpunkt, als Jan auf Hornetsecurity aufmerksam geworden ist, war er Masterstudent der Informatik und hat nach einer Abschlussarbeit im IT-Security-Bereich eines Unternehmens gesucht. Gleichzeitig war Hornetsecurity – und ist weiterhin – offen für spannende Projekte mit Werkstudenten im IT-Security-Bereich.

Aktuelle Statistiken zeigen, dass Bedrohungen gegenüber Internetnutzern zunehmen. Auch der mediale Fokus hat in der jüngeren Vergangenheit zugenommen. Häufig ist die Rede von Cyberangriffen, bei denen eine Vielzahl an sensiblen Daten geklaut wurde und hoher finanzieller Schaden entstanden ist. So berichtet das Bundekriminalamt (BKA) unter Berufung auf die Studie des amerikanischen Sicherheitsunternehmens Norton by Symantec, dass im Jahr 2017 38 Prozent aller deutschen Internetnutzer Opfer von Cyberkriminalität geworden sind. Dadurch ist ein Schaden von 2,2 Milliarden Euro entstanden. Die Schwierigkeit ist, dass die Bedrohungen keineswegs die gleichen bleiben, sondern Kriminelle immer perfidere Methoden entwickeln, um Anwendungen anzugreifen.

Vor diesem Hintergrund entstand die Idee auf beiden Seiten: Der Spamfilter sollte mithilfe eines systematischen Vorgehens und automatischer Tests auf potenzielle Bedrohungen analysiert und damit die Sicherheit gegenüber Angriffen auf ihn selbst verstärkt werden. Besonders wichtig dabei ist die Anwendung strukturierter Methoden wie Threat Modeling, das speziell für die Analyse von Software entwickelt wurde, um Bedrohungen frühzeitig und systematisch zu erkennen.

Doch wie geht man bei einer so komplexen Aufgabenstellung vor?

Um eine Bedrohungsanalyse zu erstellen, war zunächst eine Dokumentation des Informationsflusses im Spamfilter notwendig. Um diesen zu visualisieren, wurden Datenflussdiagramme genutzt. Datenflussdiagramme sind ein in der Softwarearchitektur genutzter Diagrammtyp, der seinen Fokus auf den Fluss von Daten zwischen Prozessen, Datenspeichern und externen Akteuren richtet. Aus sicherheitstechnischer Sicht ist dieser Diagrammtyp daher hervorragend für eine Bedrohungsmodellierung geeignet, da ein Transfer von Daten stets Ziel eines Angriffs sein könnte.

Mit der Modellierung des Spamfilters in Datenflussdiagrammen war der Grundstein für die weitere Analyse geschaffen: Auf Basis dieser Datenflussdiagramme kann nun eine Technik namens “STRIDE per Element” angewandt werden. STRIDE per Element wurde von Microsoft entwickelt und in der wissenschaftlichen Literatur insbesondere von Adam Shostack in Büchern und Papern wie “Threat Modeling, Designing for Security” veröffentlicht. Threat Modeling beschreibt einen strukturierten Prozess und Rahmen für eine geordnete Modellierung und Analyse von Software. Durch die feste Vorgehensweise wird ein möglichst reproduzierbares Vorgehen mit möglichst vollständiger Betrachtung der wichtigsten Bedrohungen erreicht.

Als Teil eines solchen Threat Modelings sieht Microsoft die STRIDE-Bedrohungskategorien. “STRIDE” ist dabei ein Akronym, in dem jeder Buchstabe für eine Kategorie von üblichen Bedrohungen steht:

  • S = Spoofing Identity
  • T = Tampering with data
  • R = Repudiation
  • I = Information Disclosure
  • D = Denial of Service
  • E = Elevation of Privilege

Diese Bedrohungen werden in “STRIDE per Element” nun auf jedes Element in den Datenflussdiagrammen des zu analysierenden Systems angewandt. Dabei soll aber nicht jede Kategorie auch für jeden Typ von Element angewandt werden. So kann beispielsweise ein Datenfluss nicht eine falsche Identität vorgeben, wenn er selbst gar keine Identität hat.

Im Falle von Jans Masterarbeit wurde STRIDE per Element für das Datenflussdiagramm unseres HTML Control Panels angewandt. Dabei ist eine Liste von theoretischen Bedrohungen entstanden, die dann alle einzeln weiter analysiert wurden. Neben dem Sammeln von Wegen, einen praktischen Angriff für eine solche theoretische Bedrohung durchzuführen, wurden alle Bedrohungen auch hinsichtlich ihrer Komplexität und ihres Schutzes gegenüber Angriffen bewertet. Aus den Bewertungen lässt sich ein Risiko der einzelnen Bedrohungen berechnen, dass die ermittelte Gefährlichkeit einer Bedrohung wiederspiegelt.

Nach der Risikoanalyse wurden zu einem Teil der gefundenen potenziellen Bedrohungen automatisierte Sicherheitstests erstellt. Diese Tests sollen die bisher zum Teil noch manuelle Prüfung verschiedener Angriffe gegenüber unserem Control Panel automatisieren und so für schnellere, konstantere und vor allem mehr Sicherheitstests sorgen. Diese Sicherheitstests ergänzen die automatisierten Funktions- und Integrationstests in diesem Bereich optimal.

Daneben war aus wissenschaftlicher Perspektive auch interessant zu betrachten, wie gut sich solche theoretisch ermittelten Bedrohungen testen lassen. Die Tests wurden zu einem Teil aus öffentlich verfügbaren Sicherheitsframeworks zusammengestellt und zu einem anderen Teil selbst entwickelt.

Beide Seiten können durchweg ein positives Fazit aus dem Projekt ziehen. Das beschriebene Vorgehen war sehr sinnvoll, weil potenzielle Bedrohungen explizit sichtbar gemacht werden konnten. Darüber hinaus können die entwickelten Tests in Zukunft weiterverwendet werden und damit frühzeitig – bereits in der Entwicklungs- und Testphase – Fehler entdeckt werden.

Werkstudenten mit Ideen zur Security bei Hornetsecurity gesucht

Hornetsecurity freut sich, Jan nach erfolgreichem Abschluss des Projektes als festen Mitarbeiter in ihren Reihen aufnehmen zu können. Hornetsecurity bietet weiterhin Abschlussarbeiten im Bereich IT-Security an und freut sich über motivierte Studenten.

Wer Interesse hat, seine Ideen und ersten Erfahrungen im Rahmen einer Werkstudententätigkeit oder einer Abschlussarbeit einzubringen und umzusetzen, kann gerne auf uns zukommen und sich hier initiativ bewerben. Wir bieten eine tolle Arbeitsatmosphäre und unterstützen dich bei der Themenfindung und Durchführung deiner Abschlussarbeit.