Security-Bausteine, Teil 6: Fünf Bedrohungen – Threats und Models

Nicht nur von außen drohen Gefahren, auch von innen muss ein System abgesichert sein. Hier zählt der richtige Zeitpunkt.

In Pocket speichern vorlesen Druckansicht 2 Kommentare lesen
Lesezeit: 4 Min.
Von
  • David Fuhr

Nachdem sich diese Serie von soziopolitischen Kategorien wie Vertrauen über philosophische wie Werte bis zu ökonomischen wie Risiko vorgearbeitet hat, scheint es nun einen Schritt zurückzugehen. Bedrohungsmodellierung – wäre das nicht an der Reihe, bevor man sich über das Risiko Gedanken macht?

Inhalt der Artikelreihe "Security-Baukasten"

Theoretische Einführungen in und umfangreiche Standards zur IT-Sicherheit gibt es viele. Wenn man den Gedanken dieser sechsteiligen Miniartikelreihe folgt, entsteht unterwegs die Basis für ein schlankes und schlagkräftiges Securityprogramm.

Risiko offenbart sich eher beim Blick auf eigene Belange: Was (und wie viel) bei einem selbst passieren könnte (maximale Schadenshöhe bei uns im Unternehmen multipliziert mit der Eintrittswahrscheinlichkeit des Ereignisses bei uns). Dagegen schaut Threat Modeling nach außen: Was droht in der Welt grundsätzlich für die eigenen Assets? Beide Perspektiven haben Vorteile. Es ist nämlich keine gute Idee, wenn Menschen in der IT, und insbesondere in der Softwareentwicklung, darauf warten, dass sich "das Business" auf eine maximale Schadenshöhe in diversen Worst Cases und "die Security" auf eine Eintrittswahrscheinlichkeit derselben verständigt haben. Derweil sind schon sieben neue Features implementiert worden.

Eine Bedrohung ist eine grundsätzliche Möglichkeit des Eintretens eines Schadens, unabhängig von seiner Wahrscheinlichkeit, und häufig auch in der Schadenshöhe nicht exakt quantifiziert. Sie ist also schneller beschrieben und dokumentiert als ein Risiko, zu dem immer auch statistische Parameter gehören. Ein Modell ist ein vereinfachtes Abbild der Wirklichkeit, das damit nur zu einem gewissen Maß übereinstimmt. Threat Modeling ist folglich ein strukturierter Prozess, der versucht, mit möglichst wenig Aufwand eine Liste der Bedrohungen zu liefern, die für einen Betrachtungsgegenstand (Software, Rechenzentrum, Cloud-Tenant …) relevant sind. Meist liefert das Threat Modeling auch schon Anhaltspunkte, wie mit den Bedrohungen umzugehen ist.

David Fuhr

David Fuhr ist Cofounder und CTO der intcube GmbH.

Grundsätzlich arbeitet Bedrohungsmodellierung in folgenden vier Schritten, auch wenn diese nicht immer explizit gemacht werden: Was ist der Betrachtungsgegenstand, was kann schiefgehen, was soll dagegen getan werden (Strategien zur Abschwächung der Bedrohungen) und haben wir gute Arbeit geleistet (Überprüfung der Wirksamkeit des Modells und der implementierten Maßnahmen)? Zu den am häufigsten verwendeten Techniken gehören:

  • Angriffsbäume: Sie waren früher sehr beliebt, um potenzielle Bedrohungen zu strukturieren, gelten aber inzwischen als veraltet, da sie ein hohes Maß an Sicherheitsexpertise erfordern und schnell sehr komplex werden können.
  • Kill Chains: Diese Technik wird vor allem bei der Reaktion beziehungsweise bei der Planung der Reaktion auf Vorfälle eingesetzt und hilft, die Schritte zu verstehen, die Angreifer unternehmen, um ein System zu kompromittieren.
  • Datenflussdiagramme: Diese sind einfach, aber effektiv, um zu visualisieren, wie sich die entscheidenden Assets (häufig die Daten) durch ein System bewegen. Rein grafisch lässt sich so gut erkennen und dokumentieren, wo welche Bedrohungen wirken können.
  • STRIDE: Diese ursprünglich bei Microsoft entwickelte Methodik kategorisiert verschiedene Typen von Bedrohungen wie Spoofing (Bruch der Authentizität), Manipulation (Bruch der Integrität), Abstreiten (Bruch der Nichtabstreitbarkeit beziehungsweise Nachvollziehbarkeit), Offenlegung von Informationen (Bruch der Vertraulichkeit), Denial of Service (Bruch der Verfügbarkeit) und Elevation of Privilege (Bruch der Autorisierung). Damit, so die Idee, sollten Entwicklerinnen und Entwickler es schaffen, an alle relevanten Bedrohungen zu denken.

Heute kommen für das Threat Modeling komplexer Anwendungen oder Infrastrukturen – mit Infrastructure as Code (IaC) verschwimmen diese beiden Kategorien ja immer mehr – Tools zum Einsatz, die das Modell inklusive Bedrohungen und Abhilfe zumindest halb automatisch erzeugen. Das Modellieren von Bedrohungen hilft nicht nur, potenzielle Bedrohungen zu erkennen und zu verstehen, sondern erhöht auch die Wahrscheinlichkeit, dass fundierte Entscheidungen über den Umgang mit ihnen getroffen werden.

Dies war der letzte Teil der Serie "In sechs Gedankenschritten zum modernen Securityprogramm". Es bleibt viel (Denk-)Arbeit zu tun.

(pst)