Deutschland - Kennzeichen Deutschland

Incoterms:DDP
Alle Preise sind inklusive Zoll und Gebühren bei der Auswahl der Versandart.

Bitte bestätigen Sie Ihre Währungsauswahl:

Euro
Versand ist kostenfrei bei den meisten Bestellungen über 50 € (EUR)

US Dollar
Versand ist kostenfrei bei den meisten Bestellungen über $60 (USD)

Bench Talk for Design Engineers

Mouser German Blog

rss

Mouser Electronics, Inc german language blogs


Identifizieren Sie mittels Bedrohungsmodellierung mögliche Angriffe auf Ihre Systeme M. Tim Jones

Die Bedrohungsmodellierung ist ein stringenter Prozess, mit dem es möglich ist, Schwachstellen bei Produkten in den frühen Konzeptionsphasen zu identifizieren und zu beheben. Die von Ihnen erstellten Bedrohungsmodelle beschreiben, wie die Bestandteile Ihres Produkts oder Systems mit den Anwendern interagieren. Zudem nennen sie mögliche Bedrohungen und führen Gegenmaßnahmen auf, um solche Risiken zu mindern. Idealerweise wollen Sie die Bedrohungsmodellierung an allen Ihren Systemen möglichst früh in der Konzeptionsphase durchführen, denn dann sind die Kosten für etwaige Änderungen wesentlich niedriger als beim fertigen Produkt. Die Bedrohungsmodellierung ist wichtiger Bestandteil eines SDL-Programms (Security Development Lifecycle) und gewährleistet, dass die Sicherheit Ihrer Komponenten, Systeme und Ihrer Software schon in der Konzeptionsphase berücksichtigt wird. Die Bedrohungsmodellierung ist sowohl für die Softwareentwickler als auch für IT-Systemtechniker und IT-Architekten ein äußerst wichtiger Prozess. Auch wenn Sie die von Ihnen betriebenen Systeme nicht selbst hergestellt haben, zwingt Sie die regelmäßige Durchführung der Bedrohungsmodellierung, sich in Angreifer hineinzuversetzen. Dadurch gewinnen Sie neue Ideen, wie Sie sich die Sicherheit Ihrer Produkte verbessern lässt. Selbstverständlich sollten Sie bestehende Bedrohungsmodelle aktualisieren, sobald wesentliche Änderungen an Ihren Systemen erfolgen.

Die Bedrohungsmodellierung basiert auf einem Prozess, bei dem die geplanten Elemente Ihres Systems und die speziellen Bedrohungen aus Sicht des Angreifers analysiert und dokumentiert werden. Als Teil dieses Prozesses müssen Sie die Bestandteile und die Nutzer Ihrer Systeme verstehen, die Grenzen zwischen den Bestandteilen und Nutzern kennen und sich über die Angriffswege – oder auch Angriffsvektoren – im Klaren sein, die Angreifer bevorzugt nutzen könnten. Anhand dieser Perspektive ist ein risikobasierter Ansatz möglich, um Bedrohungen durch entsprechende Sicherheitsvorkehrungen und Gegenmaßnahmen zu mindern. Ein Bedrohungsmodell hebt beispielsweise das Risiko hervor, das die Anbindung eines sensiblen Datenspeichers in der Nähe eines öffentlichen Webservers bedeutet, und unterstützt die Wahl der geeigneten logischen Sicherheitsmaßnahmen, um das Risiko auf ein akzeptables Niveau zu reduzieren.

Methoden für die Bedrohungsmodellierung

Schon als sich das Internet in den frühen 1990ern noch im Aufbau befand, befassten sich Forscher und Wissenschaftler mit der Bedrohungsmodellierung. Die ersten Modelle von Angriffsbäumen und Bedrohungsbäumen wurden entwickelt, indem die Schwachstellen der Systeme benannt und sämtliche Wege systematisch analysiert wurden, über die Angreifer unerlaubt in die Systeme eindringen könnten. Mit der Verbreitung des Internets und als Schwachstellen täglich zum Einfallstor von Angreifern wurden, versuchten viele Unternehmen, bessere Sicherheit in ihre Produkte zu integrieren. So entwickelte Microsoft beispielsweise das Bedrohungsmodell STRIDE, das ein sehr wichtiger Bestandteil des Security Development Lifecycle des Unternehmens wurde. Bei STRIDE handelt es sich um einen systematischen Ansatz, mit dem potenzielle Bedrohungen und empfohlene Abhilfemaßnahmen anhand von sechs Bedrohungsarten analysiert werden:

  • Spoofing (Vortäuschen falscher Identität)
  • Tampering (Manipulieren von Daten)
  • Repudiation (Leugnen des Angriffs)
  • Information Disclosure (Offenlegen von Informationen)
  • Denial of Service (Lahmlegen von Servern)
  • Elevation of Privilege (Hochstufen der Rechte)

Es gibt weitere Methoden für die Bedrohungsmodellierung, die ähnliche Prinzipien anwenden. Wichtig ist dabei die Frage, was schief gehen könnte. Die so ermittelten potenziellen Bedrohungen werden dann in Kategorien eingeteilt, mit deren Hilfe angemessene Gegenmaßnahmen identifiziert werden können. Wenn Sie also die Übertragung von sensiblen Daten über HTTP auf ein entferntes System als potenzielle Offenlegung von Informationen einordnen, könnten Sie diese Bedrohung durch die Verschlüsselung des Datenverkehrs mindern.

Datenflussdiagramm

Ein wesentliches Element der Bedrohungsmodellierung ist das Datenflussdiagramm (DFD), in dem alle wichtigen Bestandteile Ihres Systems und entsprechende Interaktionen erfasst werden. Im Diagramm werden alle wesentlichen Elemente und Systeme erfasst – unabhängig davon, ob sie sich auf den eigenen Standort oder die Cloud erstrecken, auf einen Server oder eine einzelne Applikation beschränkt sind. Der Ansatz und der Detaillierungsgrad Ihres DFD hängen davon ab, was Sie planen. Falls Sie eine neue Videokamera in Ihrem Netzwerk einsetzen möchten, können Sie auf die Software der Kamera vielleicht kein Bedrohungsmodell anwenden. Allerdings sollten Sie analysieren, mit welchen Systemen in der Betriebsumgebung die Kamera kommunizieren muss, welche Protokolle dabei verwendet werden und wer darauf zugreift. Diese Informationen sollten Sie unbedingt im DFD erfassen. Es bleibt zu hoffen, dass auch der Hersteller der Kamera bei der Entwicklung der Videosoftware ein Bedrohungsmodell eingesetzt hat. Das Bedrohungsmodell für eine Software identifiziert unter Umständen interne Grenzen, Objekte und Verfahren der Software, um sensible Daten zu isolieren und diese an andere Objekte und Systeme zu kommunizieren. Das DFD sollte die Objekte sowie die Aufrufe und Reaktionen anderer Objekte darstellen. Auch sollten die Grenzen zwischen den unterschiedlichen Objektgruppen klar gezogen werden. So könnten Sie logische Grenzen zwischen den Web-App-Systemen im Frontend und den sensibleren Datenspeichern darstellen. Fügen Sie die Nutzer Ihrer Systeme hinzu und speziell die Akteure – die potenziellen Angreifer –, die Ihr System Ihrem DFD entsprechend auf unerlaubte Weise nutzen könnten. Unterscheiden Sie bei der Modellierung von Autorisierungsprozessen zwischen privilegierten Nutzern und Mitarbeitern mit Standardrechten. Identifizieren Sie potenzielle bösartige Akteure in Ihrem DFD und zeigen Sie auf, wie diese auf Ihr System zugreifen könnten.

Ermitteln Sie mithilfe Ihres DFD die Vertrauensgrenzen – die sogenannten Trust Boundaries – sowie die Kommunikation über diese Grenzen hinweg. Überlegen Sie dabei, wer kommuniziert und was kommuniziert wird und analysieren Sie so die potenziellen Bedrohungen für Ihr System.

Tools für die Bedrohungsmodellierung

Wenn die Bedrohungsmodellierung noch neu für Sie ist, scheint die Identifizierung der richtigen Bedrohungen eine überwältigende Aufgabe zu sein. Zum Glück gibt es mehrere Tools, die Sie durch diesen Prozess führen und Sie bei der Suche nach den entsprechenden Bedrohungen unterstützen. Ein kostenloses und anwenderfreundliches Tool ist das Threat Modeling Tool von Microsoft. Dieses Tool wurde zwar primär für Softwareentwickler und Softwarearchitekten konzipiert, es kann jedoch auch auf einfache IT-Betriebsmodelle angewendet werden. Das Threat Modeling Tool von Microsoft ist besonders nützlich, wenn Sie die Grundlagen der Bedrohungsmodellierung schnell erlernen möchten. Laden Sie den Client herunter und installieren Sie ihn – schon innerhalb weniger Minuten haben Sie Ihr erstes Bedrohungsmodell erstellt. Führen Sie die Schritte unten aus und erstellen Sie ein Bedrohungsmodell mit dem Threat Modeling Tool von Microsoft:

 

  1. Erstellen Sie mithilfe der grafischen Benutzeroberfläche ein DFD, indem Sie diverse Elemente mittels Drag-and-Drop anordnen – wie eine Datenbank, einen Host oder einen mobilen Client. Mithilfe von Pfeilen können Sie den Datenfluss darstellen.
     
  2. Ziehen Sie eine Linie um die Objekte, um Grenzen einzuzeichnen. Beispiele für Grenzen sind der Gerätebereich des Internet of Thins (IoT), die Vertrauensgrenze von Azure und der Bereich der entfernten Nutzer.
     
  3. Passen Sie die Objekte individuell an, damit sie Ihre Umgebung widerspiegeln. So können Sie einen Datenspeicher mit der speziellen SQL-Version kennzeichnen, die Sie verwenden.

 

Wenn Sie fertig sind, können Sie einen Report mit einer ersten Liste an Bedrohungen und möglichen Abhilfemaßnahmen erstellen, bei dem das Tool die Objekte, Attribute und Grenzen berücksichtigt. Prüfen Sie anschließend die zugrunde gelegten Annahmen und passen Sie das Bedrohungsmodell noch besser an Ihr Umfeld und die konkreten Anwendungsfälle an.

Es gibt viele andere solide kommerzielle und kostenlose Tools für die Bedrohungsmodellierung, die auf bestimmte Betriebsmodelle zugeschnitten sind. So eignet sich ein Tool vielleicht gut für die Integration agiler Softwareentwicklung, während ein anderes herkömmliche IT-Systeme ausgezeichnet modelliert, da es Firewalls und Systeme für die Eindringungserkennung und deren Konfiguration darstellen kann. Einige dieser Tools sind in der Lage, anspruchsvolle Angriffsszenarien zu simulieren und werden auf einer berechtigungsbasierten, kollaborativen Web-Plattform gehostet, sodass Sie die Daten der Bedrohungsmodellierung mit anderen Mitarbeitern im Team leicht austauschen können.

Fazit

Die Bedrohungsmodellierung ist ein stringenter Prozess, um Ihr System zu analysieren, mögliche Angriffe zu identifizieren und sich dagegen zu wappnen. Ein gutes Bedrohungsmodell erfordert jedoch eine feine Abstufung. Sie sollten sicherstellen, dass Ihre eigene Modellierung die richtigen Daten erfasst, damit Sie alle wichtigen Aspekte wirklich berücksichtigen. Tools für die Bedrohungsmodellierung bieten eine Menge Möglichkeiten, den Rahmen hierfür zu schaffen. Greifen Sie bei Ihrer Bedrohungsmodellierung auf die vielen Ressourcen im Internet zurück, mit deren Hilfe Sie einen Prozess konzipieren und entwickeln können, der speziell auf Ihre Umgebung zugeschnitten ist.



« Zurück


M. Tim Jones hat über 30 Jahre Erfahrung im Bereich IT-Architekturen und Entwicklung, insbesondere für Embedded Systems.  Er hat mehrere Bücher und zahlreiche Artikel zu einer Fülle an Themen wie Software- und Firmware-Entwicklung verfasst.  Seine Fachkenntnisse reichen von der Entwicklung von Kernels für geostationäre Raumfahrzeuge bis hin zu Architekturen für Embedded Systems und die Protokoll-Entwicklung. 


Alle Autoren

Alle anzeigen Alle anzeigen
Blog nach Datum anzeigen