Internet of Things - Sicherheit einer IoT-Lösung

Internet of Things

Sicherheit einer IoT-Lösung

Rocco Gagliardi
von Rocco Gagliardi
am 08. November 2018
Lesezeit: 11 Minuten

Keypoints

So sichern Sie das Internet of Things

  • Es gibt keine einfache Lösung
  • Das Etablieren von Teillösungen wird empfohlen
  • Teilen Sie das System in kleinere Komponenten auf
  • Verschiedene Best Practices für jedes spezifische Teil sollten übernommen werden

Wenn Sie eine IoT-Lösung erstellen müssen, wie würden Sie mit der Implementierung von Sicherheitsmassnahmen beginnen? Es gibt viele Standards, Best Practices, Checklisten – Aber wenn Sie solch komplexe Systeme haben, gibt es keine Lösung, die Sie uneingeschränkt anwenden können.

Für ein IoT-System gibt es viele Technologien, die EDGE- mit CORE-Computing verbinden. Es gibt Hardware zu entwickeln, winzige Computer zu programmieren, um Daten auszulesen und darauf zu reagieren, von verschiedenen Kontinenten zu übertragen, zu sammeln, analysieren und mit Berücksichtigung von Vertraulichkeit, Integrität, Verfügbarkeit weiterzureichen. Wo sollen wir als beginnen?

Das Problem reduzieren

Beginnen Sie, das System in kleinere Komponenten zu zerlegen und die wichtigsten Assets zu identifizieren.

Als Beispiel kann die IoT-Lösung reduziert werden auf:

Komponente Beschreibung
CORE Der CORE stellt die virtuelle Infrastruktur (z.B. AWS) bereit, um Container-Anwendungen (z.B. Docker mit Java/Sprint) und Datenspeicher (z.B. Oracle, Hadoop) auszuführen. Anwendungen sind in erster Linie für die Speicherung, Analyse und Präsentation der von EDGE erhaltenen Informationen an die Benutzer verantwortlich.
Communication Die Kommunikation zwischen EDGE und CORE verwendet asynchrone Protokolle (MQTT). Die Kommunikation muss Vertraulichkeit, Integrität und Verfügbarkeit der Daten gewährleisten.
EDGE Die EDGE ist eine ad-hoc entworfene und konstruierte Komponente, die die Lücke zwischen der Hardware (Sensoren und Aktoren) mit den Protokollen der oberen Schicht überbrückt. Sie muss die Verfügbarkeit und Integrität der verarbeiteten Daten sicherstellen, resistent, einfach zu installieren und zu warten sein.

Sobald die Schlüsselkomponenten des Systems skizziert wurden, können Sie damit beginnen, ein Sicherheitsframework darauf anzuwenden.

Wählen Sie ein gutes Cyber Security Framework

Wählen Sie ein gutes Framework, das in Ihre Umgebung passt. Wir haben langjährige Erfahrung mit dem NIST Cyber Security Framework (NIST-CSF). Wenn Sie keine externen Beschränkungen haben, empfehlen wir Ihnen dringend, dieses zu übernehmen.

Das NIST-CSF hat 5 Hauptfunktionen (IDENTIFIZIEREN, SCHÜTZEN, ERKENNEN, REAKTION, WIEDERHERSTELLEN). Folgen Sie einfach dem Framework und gehen Sie durch alle Fragen. Es misst die Qualität der Implementierung jeder Funktion mit den Abstufungen: Teilweise, Risiko informiert, Wiederholbar und Adaptiv. Sie können das Framework verwenden und den Prozess wiederholen, um einige Elemente zu korrigieren oder zu perfektionieren. Lesen Sie auf der NIST CSF-Seite, wie Sie das Framework im Detail verwenden. In diesem Artikel diskutieren wir ausschliesslich die Ausgangslage, die wir bei unseren Projekten verwendet haben.

Identifizieren (Identify)

Die Hauptziele der Funktion Identify sind das Verständnis des geschäftlichen Kontexts, der Ressourcen, die kritische Funktionen unterstützen, und der damit verbundenen Cyber-Sicherheitsrisiken. Dies ermöglicht es einer Organisation, sich im Einklang mit ihrer Risikomanagementstrategie auf die Geschäftsanforderungen zu konzentrieren und Prioritäten zu setzen.

Ein möglicher Ansatz besteht darin, die Daten zu identifizieren, eine CIA-Klassifizierung vorzunehmen und die an der Datenverwaltung beteiligten Elemente aufzulisten:

Data C I A API MVC Komponente Container VM Backup
Login Info H M L Logon Logon Komponente Logon Container, Benutzer-DB Apache Pool, DB Pool DB
Admin Profile
Sensor Information

Wenden Sie die Klassifizierung rekursiv auf die Teile der verschiedenen Lösung an, bis Sie ein gesamtheitliches Bild der Teile und ihrer Verbindungen haben.

Beginnen Sie mit der Entwicklung einer minimalen Risikobewertung, in der einige detaillierte Anwendungsfälle, Wahrscheinlichkeit und Auswirkungen aufgeführt werden. Dies wird Ihnen helfen, Ihre Organisation und das Geschäft besser verstehen und die Aufgaben priorisieren zu können.

Schützen (Protect)

Die Funktion Protect unterstützt die Fähigkeit, die Auswirkungen eines möglichen Cybersicherheitsereignisses einzuschränken.

Die Schutzmassnahmen können auf der Grundlage der Risikobewertung variieren. Wir können sie in zwei Hauptkategorien einteilen:

Kategorie Beschreibung
Baseline Zu Baseline gehören alle üblichen modernen Sicherheitsmassnahmen, wie OS-Härtung, Verwendung von Verschlüsselung in der Kommunikation, sichere Speicherung von Passwörtern, defensive Programmierung, etc. CIS, OWASP bieten eine gute Reihe von gebrauchsfertigen Richtlinien. Benutze sie diese seit der Testphase.
Ad-hoc Ad-hoc Massnahmen sind stärker oder zusätzliche (mehrschichtige) Verfahren für bestimmte Lösungsteile, wie FIPS, WAF, Journaling usw. Überprüfen Sie Ihre Konstruktion und Anforderungen sorgfältig, denken Sie daran, dass jede Schicht eine eigene Bedrohung hinzufügt: Die Komplexität! Die Lösung wird grösser/komplex/schwieriger zu verstehen und zu pflegen. Also seien Sie vorsichtig.

Wenden Sie verschiedene Massnahmen auf die verschiedenen Komponenten an:

Komponente Massnahmen
Login Info Ad-hoc
Admin Profile Ad-hoc
Sensor Information Baseline

Beginnen Sie mit der Implementierung der Härtung in der Testphase. Es macht keinen grossen Unterschied, wenn Sie am Anfang ein paar Stunden investieren, um ein robustes Template für Ihre Docker-Dateien zu entwickeln. Der grosse Unterschied generiert sich dadurch, wenn Sie die Sicherheit in Basis-Assets wie einem Container nachrüsten müssen.

Erkennen (Detect)

Die Detect Funktion ermöglicht die zeitnahe Erkennung von Sicherheitsereignissen.

Jedes Mal, wenn ich Detect erwähne, lautet die Antwort: “Im Moment konzentrieren wir uns auf die Entwicklung und den Aufbau des Systems, Detect ist in der zweiten Version geplant.” Falsch!

Wenn Sie Detect seit Beginn nicht hinzufügen, werden Sie alle positiven Rückmeldungen in der Entwicklung vermissen, wie die Definition von nützlichen Log-Informationen, die für eine effiziente Überwachung des Anwendungsverhaltens notwendig sind. Wenn jemand eine Menge von Informationen definiert, die von der Erkennungsfunktion erwartet werden, werden Entwickler und Administratoren gezwungen, das Protokollierungsframework zu erstellen, das für alle Komponenten erforderlich ist. Überprüfen Sie, ob die Daten (date, hostname/fqdn, messages) normalisiert sowie ob sie für die endgültigen Anwendungsfälle nützlich sind. Es ist einfacher, Änderungen während des Entwicklungsprozesses zu implementieren (z.B. das Anpassen einer auditd Richtlinie), als sie nach dem Abschluss der ersten Version hinzuzufügen.

Reaktion und Wiederherstellen (Respond and Recover)

Die Respond Funktion unterstützt die Fähigkeit, die Auswirkungen eines möglichen Sicherheitsvorfalls einzudämmen. Die Funktion Recover die zeitnahe Wiederherstellung der operativen Tätigkeiten, um die Auswirkungen eines Vorfalls zu reduzieren.

Die letzten beiden Funktionen konzentrieren sich hauptsächlich auf Prozesse, so dass Sie wirklich in einer zweiten Phase mit der Entwicklung beginnen können. Sie müssen jedoch zumindest eine Wiederherstellungsstrategie definiert und getestet haben, um zu überprüfen, ob sie sich im Wesentlichen in das endgültige System integrieren lässt.

Tools und Dokumente

Nachfolgend eine Liste mit empfohlener Literatur zum Thema.

IoT

ENISA und NIST haben sehr gute Dokumente zu bestimmten Aspekten, wie Firmware-Updates, siehe Cloud Security Alliance (CSA).

Risk Assessment

Ich empfehle ebenfalls von ENISA Looking into the crystal ball – A report on emerging technologies and security challenges

Baselines

Zusammenfassung

Wenn Sie ein komplexes System zu sichern haben, warten Sie nicht, bis die Massnahmen umgesetzt sind. Teilen Sie das System auf und beginnen Sie so schnell wie möglich die Sicherheit für die verschiedenen Teile zu übernehmen, auch wenn sie Probleme verursachen. Entwickler und Administratoren werden die Sicherheit als notwendige Massnahme betrachten. Auf lange Sicht werden die Probleme reduziert und die Sicherheit wird drastisch erhöht.

Wir verwenden NIST-CSF für verschiedene Kunden (Banken, Versicherungen, Hotels, Industrie, KMU) und verschiedene Systeme mit guten Ergebnissen (Erhöhung der Sicherheit und Awareness des Kunden). Schauen Sie es sich an, gehen Sie alle Fragen durch und versuchen Sie diese zu beantworten. Es ist ein guter Ausgangspunkt.

Denken Sie daran: Nichts ist in Stein gemeisselt! Sie können anfangen etwas zu schreiben und, solange die Struktur gut ist, iterativ korrigieren oder neue Teile hinzufügen.

Über den Autor

Rocco Gagliardi

Rocco Gagliardi ist seit den 1980er Jahren im Bereich der Informationstechnologie tätig. In den 1990er Jahren hat er sich ganz der Informationssicherheit verschrieben. Die Schwerpunkte seiner Arbeit liegen im Bereich Routing, Firewalling und Log Management.

Links

Sie wollen Ihr Log und Monitoring auf das nächste Level bringen?

Unsere Spezialisten kontaktieren Sie gern!

×
Schutz vor Phishing

Schutz vor Phishing

Rocco Gagliardi

Logging

Logging

Rocco Gagliardi

IT Security Policies

IT Security Policies

Rocco Gagliardi

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv