Zahlencode, digitaler Code, Schloss, Programmierung und Sicherheit
peshkov / stock.adobe.com
12.07.2022 Fachinformation

Cybersecurity: Threat Modeling - wie geht das?

„Wenn du dich und den Feind kennst, brauchst du den Ausgang von hundert Schlachten nicht zu fürchten.“ - Sunzi, „Die Kunst des Krieges“

Kontakt

Dipl.-Ing. Hans Wenner

Im Gegensatz zu zufälligen Fehlern, die beispielsweise durch Alterung oder Verschleiß, aber auch durch Fertigungsprobleme auftreten, müssen wir bei Problemen im Bereich Cybersecurity von gezielten Angriffen ausgehen. Ein Angreifer, möchte sich an unseren schützenswerten Gütern, den „Assets“, zu schaffen machen.

Dass ein Angriff stattfinden wird, das können wir nicht verhindern. Böswillige Individuen wird es immer geben. Aber wir können verhindern, dass die Angriffe zum Erfolg führen, indem wir die Schritte des Angreifers vorausahnen und durch geeignete Gegenmaßen bereits im Vorfeld vereiteln!

Deshalb passt das Zitat so gut…

Was ist Threat Modeling?

Threat Modeling analysiert das zugrunde liegende (Software-)System, um mögliche Probleme der IT-Sicherheit und des Datenschutzes aufzudecken.

Welche Prinzipien sollte ich beherzigen?

  •  Analysieren Sie möglichst frühzeitig!
  •  Analysieren sie häufig und immer wieder!
  •  Binden Sie Threat Modeling fest in Ihren Entwicklungs-Lebenszyklus ein!

Wie gehe ich schrittweise vor?

Unsere Vorgehensweise ARGOS erlaubt systematisch und zielgerichtet die Analyse von Cybersecurity-Risiken und das Ergreifen geeigneter Gegenmaßnahmen.

Systematische Vorgehensweise beim Cybersecurity-Risikomanagement: ARGOS

Dabei identifizieren wir zunächst alle schützenswerten Güter im zu untersuchenden Produkt bzw. dem zu untersuchenden System, die sog. „Assets“.

Beispiele für Assets:

  • Patienten- und Behandlungsdaten
  • Benutzerdaten inklusive Benutzerrechte und Zertifikate
  • Programmdefinitionen, Maschinenkonfiguration
  • Audittrails, Prozessberichte, Parameterprotokolle, Protokolle zu Maschineneinstellungen, Protokolle zu Alarmen und Benachrichtigungen, Kalibrierprotokolle, Log-Dateien
  • Backups, Updatedateien, Installationsdateien, Softwaredistributionsdateien
  • Verschlüsselungsalgorithmen

Darauf folgend ermitteln wir die Schnittstellen (Interfaces), mit denen das Produkt mit seiner Umgebung interagiert. Aber auch interne Schnittstellen sind von Relevanz, insbesondere bei Systemen, die auf einer Client-Server-Architektur basieren.

Es hat sich bewährt, diese Informationen in einer grafischen Übersicht, etwa einer System-Architektur, darzustellen.

Mit diesen Informationen sind wir dann bestens gerüstet, um die potenziellen Bedrohungen zu analysieren – das Threat Modeling. 

Dadurch, dass wir die Bedrohungen systematisch ermitteln, ergeben sich folgende Vorteile:

  • Durch die übersichtliche Darstellung erfassen wir viel mehr der möglichen Szenarien;
  • Durch die Diskussion möglicher Angriffsszenarien wird zum Nachdenken über weitere mögliche Szenarien angeregt; dadurch wird die Analyse detaillierter;
  • Bereits beim Nachdenken über Angriffe wird über das Verhindern nachgedacht; der erste Schritt zu risikomindernden Maßnahmen.

Nach dem Threat Modeling können die erkannten Bedrohungen durch zielgerichtete Maßnahmen bereits im Vorfeld entschärft werden. Dadurch wird aus der Risikoanalyse ein Risikomanagement.

Doch wie genau lassen sich mögliche Bedrohungen ermitteln? 

Bedrohungen kategorisieren – Das STRIDE-Framework

Wir verwenden das von Microsoft® entwickelten Framework STRIDE (STRIDE setzt sich aus den Anfangsbuchstaben der (englischen) Kategorien zusammen).

STRIDE klassifiziert die Ziele der Angreifer wie folgt:

Spoofing

Identitätsverschleierung

Tampering

Manipulation

Repudiation

Verleugnung

Information disclosure

Verletzung der Privatsphäre oder Datenpanne

Denial of Service

Verweigerung des Dienstes

Elevation of privilege

Rechteausweitung

STRIDE systematisch anwenden

Mit der Kenntnis des Systems und seiner Einzelheiten können die Kategorien des STRIDE-Frameworks sukzessive auf die Assets und die Schnittstellen angewendet werden.

Dadurch erhalten Sie eine Vollständigkeit, die durch einfaches, nicht-formalisiertes „Brainstorming“ nicht erreicht werden kann.

Aber bitte nicht falsch verstehen: es geht hier um die Formalisierung, jede einzelne Kategorie von STRIDE auf jedes schützenswerte Gut bzw. jede Schnittstelle anzuwenden.

Sobald die Zuordnung getroffen ist, dürfen Sie „Brainstormen“ und „um die Ecke Denken“, was das Zeug hält!

Praktische Beispiele für das Threat Modeling

Hier ein paar (wenige) Anregungen – diese Auflistung ist bei weitem nicht vollständig und soll vor allem Ihre Fantasie anregen!

Die Threats stammen von Adam Shostack’s GitHub Seite „The Elevation of Privilege Threat Modeling Card Deck“, die Übersetzung ist sinngemäß.

Kategorie

Threat (Bedrohung)

Spoofing

Ein Angreifer könnte einen Zugangsschlüssel (z.B. Passwort) nach dem anderen ausprobieren, und es gibt nichts, was ihn aufhalten könnte (online oder offline).

Spoofing

Ein Angreifer kann eine anonyme Verbindung herstellen (z.B. einloggen, ohne sich zu authentifizieren), da die Authentifizierung auf einer höheren Ebene erfolgen sollte

Tampering

Ein Angreifer kann Daten manipulieren, da es keinen Integritätsschutz für diese Daten gibt.

Denken Sie hier an Emails, Briefe, PDFs, …

Tampering

Ein Angreifer kann Informationen in einem Datenspeicher ändern, weil dieser Datenspeicher keine oder schwache Berechtigungen hat.

Beispiel: Zugriff wird einer Gruppe von Benutzern gewährt, die gleichbedeutend mit „jedem“ ist ("jeder mit einem Konto bei einem bekannten sozialen Netzwerk").

Repudiation

Ein Angreifer kann sagen: "Das habe ich nicht getan", und es gibt keine Möglichkeit, ihm das Gegenteil zu beweisen.

Information Disclosure

Ein Angreifer kann Fehlermeldungen mit sicherheitsrelevantem Inhalt sehen.

Information Disclosure

Ein Angreifer kann die gesamte Kommunikation über einen Kanal mitlesen, da der Kanal (z. B. FTP, HTTP oder SMTP) nicht verschlüsselt ist.

Denial of Service

Ein Angreifer kann eine schwer zu ersetzende Batterie entladen (eingebaut in einem Telefon, einem implantierten medizinischen Gerät oder an einem schwer zugänglichen Ort).

Ja, das ist tatsächlich vorstellbar… der Angreifer muss nur verhindern, dass das Gerät in seinen „sleep“-Zustand geht…

Denial of Service

Ein Angreifer kann einen Client unerreichbar oder unbrauchbar machen, ohne sich jemals zu authentifizieren.

Die „typische“ Denial-of-Service-Attacke.

Elevation of Privilege

Ein Angreifer kann auf den Cloud-Dienst zugreifen, der Ihre Geräte verwaltet.

Denken Sie auch an mögliche „Remote Updates“ etc.!

Elevation of Privilege

Ein Angreifer kann einen Befehl einschleusen, den das System mit einer höheren Berechtigungsstufe ausführt.

Der Traum eines jeden Angreifers!

Threat Modeling als kreativer Prozess

Threat Modeling ist ein kreativer Prozess, der sehr viel Erfahrung und an mancher Stelle auch tiefes technisches Wissen und Verständnis erfordert!

Wie für jede Art des Risikomanagements gilt auch hier: führen Sie das Cybersecurity-Risikomanagement und insbesondere das Threat Modeling interdisziplinär durch! Sie benötigen sowohl Generalisten, die „um die Ecke denken“ als auch Spezialisten, die sich detailliert mit der zugrundeliegenden Technik auskennen.

Quellen

VDE Symposium: Cybersecurity im Lebenszyklus von Medizinprodukten

VDE/prinzdesign
20.09.2022 Frankfurt am Main Symposium

Mehr erfahren