Das Internet of Things (IoT) ist das Tor zu unbegrenzten Möglichkeiten für die Energiebranche. Unglücklicherweise rufen vielfältige Chancen auch eine andere Form von Energie hervor: die kriminelle. Unvorhergesehene Sicherheitslücken bergen nicht nur Risiken wie Umsatzverluste oder Unzufriedenheit beim Kunden, sie gefährden auch die Privatsphäre der Verbraucher und nicht zuletzt die Stabilität des Stromnetzes.
Cybersicherheit in einer AMI-Umgebung geht über die technische Sicherheit der Lösung – also den physischen Schutz der Geräte, Kommunikation, Backend-Systeme und Datenhaltung hinaus. Sie erfordert einen ganzheitlichen Ansatz. Dieser sollte die Planung der IT-Infrastruktur aus einer Security-Perspektive ebenso umfassen wie die Beteiligten selbst und die entsprechenden Arbeiten und Prozesse. Dieser Ansatz und die inhärente Security-Kultur sind auch für die Entwicklung der AMI-Technologie von entscheidender Bedeutung. Tuomas Kepanen, R&D Manager of Architecture and Platforms bei Landis+Gyr, schildert seine Sicht auf die Grundpfeiler eines sicheren Software-Produktes.
Komplexe Sicherheitsanforderungen
Ein sicheres System ist immer ein Komplettpaket. Rundum-Sicherheit kann nie durch Konzentration auf eine einzelne Systemkomponente erreicht werden. Es ist wichtig, bei der Planung eines sicheren Systems die Sicherheitsanforderungen verschiedener Stakeholder zu identifizieren. Diese können von der Systemleistung bis zur Einhaltung regulatorischer Vorgaben reichen.
Ein guter Plan ist ein guter Anfang
Nach der Identifikation der Stakeholder folgen im nächsten Schritt die funktionalen und nichtfunktionalen Spezifikationen sowie die Sicherheitsanforderungen. Besonders in frühen Projektphasen sind diese noch grob und vage, dennoch ist die Definition und Diskussion der grundlegenden Regeln ein wichtiger Teil des Planungsprozesses. Aus abstrakten Anforderungen, etwa an die Vertraulichkeit und Systemintegrität, werden Funktionen abgeleitet. Das können zum Beispiel Protokolle sein, die eine Überprüfung der Aktionen der Nutzer ermöglichen, die Verschlüsselung und Authentifizierung des Datenverkehrs zwischen den Systemkomponenten oder der Schutz des Betriebssystems.
Für die Festlegung der IT Security- Anforderungen ist die Definition der Komponenten erforderlich, die geschützt werden müssen. Dabei ist zu bedenken,
- welche Funktionen und Informationen gesichert werden sollen,
- welche Sicherheitsattribute besonders geschützt werden müssen,
- was wann die höchste Priorität hat – Vertraulichkeit, Integrität oder Verfügbarkeit,
- inwiefern bestimmte Funktionen oder Komponenten gesichert werden sollten,
- welche Restrisiken vertretbar wären,
- ob der Fokus auf Verhinderung oder Erkennung von IT-Sicherheitslücken liegen soll,
- welche relevanten Risiken abgedeckt werden sollen.
Die Antworten auf diese Fragen spiegeln sich in der Architektur der IT Security wider, in der die Details der gesamtheitlichen Systemsicherheit festgeschrieben werden, also Netzwerkstruktur, aktive Komponenten, Verschlüsselung, Protokolle u.ä.
Auch kriminelle Nutzer sind Nutzer
Eine weitere effiziente Methodik ist die Beschreibung der Anwendungen aus Sicht eines kriminellen Nutzers. Das hilft, Instrumente gegen den Missbrauch einzurichten. So eignen sich Steuerungen für das Lastmanagement oder zum Blockieren von Datentransfers zur Abwehr von Denial-of-Service-Angriffen. Der unbefugte Zugriff kann über die Nutzerverwaltung verhindert werden kann. Zusätzlich muss aber die Möglichkeit in Betracht gezogen werden, dass ein legitimierter Nutzer unwissentlich durch kriminelle Akteure instrumentalisiert wird.
Nicht alleine Aufgabe des Software-Entwicklers
Auch bei der Software-Entwicklung selbst gibt es Methoden, die IT Security zu integrieren. Ganz wichtig ist die Sensibilität des individuellen Entwicklers für das Thema. Je grösser und aktueller seine Erfahrung ist, desto mehr Penetrationsmöglichkeiten wird er in Betracht ziehen. Entsprechend grösser ist dann die Zahl an Abwehrmechanismen, die schon in der Entwicklung in die Software einfliessen.
Dennoch: Die Verantwortung kann nicht allein bei den Entwicklern liegen, auch wenn die Software durch externe Spezialisten intensiv auf seine Sicherheit und mögliche Schwachstellen getestet wird. Also gilt es weitere Massnahmen zu ergreifen, um die Systemsicherheit zu gewährleisten.
Für die Fehlersuche im Source Code während der Programmierung eignen sich diverse Scanner und Analyse-Tools. Darüber hinaus gibt es effiziente Werkzeuge, mit denen bereits bekannte Sicherheitslücken der Software-Bibliotheken aufgespürt werden können, und die in den Entwicklungsprozess integriert werden können.
Letztendlich aber muss sich auch die Perspektive ändern – weg von der reinen Applikationsentwicklung hin zu sicheren Entwicklungsumgebungen und -prozessen.
Die sichere Nutzung eines sicheren Systems
Neben der technischen Sicherheit eines Systems ist eine stringente Politik hinsichtlich seiner Nutzung erforderlich - sei es als eigenständige Vorschrift, oder als Teil einer unternehmensweiten Sicherheitsrichtlinie. Diese Aspekte sollten dabei mindestens bedacht werden:
- Was ist überhaupt eine legitime Nutzung des jeweiligen Systems?
- Kommt das Prinzip der geringsten Berechtigung zum Tragen?
- Wie wird die Nutzung überwacht - und durch wen?
- Wie werden Backups aufgesetzt?
- Wie wird das Bewusstsein der Nutzer für IT Security geweckt?
- Wie soll auf sicherheitsrelevante Vorfälle reagiert werden?
Ein Thema für das ganze Unternehmen
Wie gut das System auch immer gegen Angriffe gewappnet ist, das Management der Cyber-Risiken ist Aufgabe des gesamten Unternehmens. Einzelne Massnahmen sind nur dann zielführend, wenn sie in eine übergeordnete Strategie von Monitoring, Bewertung und Verbesserung eingebunden sind. Darum ist es so wichtig, alle Aspekte der IT Security als eine Einheit zu verstehen.