Penetration-Testing: Wie wir unsere KiwiOS-Plattform gegen Schwachstellen absichern

Jedes System hat Schwachstellen, die zum Verlust des Datenschutzes oder zu einer eingeschränkten Verfügbarkeit der Plattform (oder auch von Daten) führen können. Doch wer die richtigen Vorkehrungen trifft, kann diese selbst identifizieren und beheben, bevor sie bei der Benutzung auffallen und zum Problem werden. Eine geeignete Maßnahme dafür sind sogenannte „Penetration Tests“. Kiwigrid hat in der Vergangenheit schon mehrere Penetration Tests mit externen Anbietern durchgeführt. Das Ziel ist es dabei, bestehende Sicherheitslücken rechtzeitig aufdecken und schließen zu können. Was wir daraus gelernt haben und welche Maßnahmen wir außerdem einsetzen, um sicherheitskritische Aspekte frühzeitig erkennen und beheben zu können, erklären wir in diesem Blog.
 

Die KiwiOS-Plattform wird punktuellen Penetration Tests unterzogen

Anders als bei Tests, mit denen die Qualität und Verfügbarkeit des Systems überprüft wird, geht es bei einem Penetration Test darum, die Sicherheit der Plattform zu testen und herauszufinden, wo Hacker*innen unerwünscht in die Software eindringen könnten.

Penetration Tests werden bei Kiwigrid immer dann durchgeführt, wenn größere Änderungen an der Plattform erfolgt sind. Zuletzt war das zum Beispiel der Fall, als die Kiwigrid-Plattform vollständig in die Google Cloud migriert wurde. Doch auch wenn über einen längeren Zeitraum keine größeren Änderungen implementiert wurden, entwickelt sich eine IoT-Plattform immer weiter und es kann sinnvoll sein, sie auf Sicherheitslücken zu testen. Aus diesem Grund ist für dieses Jahr der nächste Penetration Test schon in Planung.
 

Ablauf eines Penetration Tests

Penetration Tests werden ganz bewusst nicht von Kiwigrid-Mitarbeiter*innen durchgeführt, die die Plattform  sowieso schon gut kennen, sondern von Externen, die aus einer Blackbox-Perspektive auf das System blicken. Kiwigrid richtet diesen externen Researcher*innen normale Nutzer-Accounts ein. Das bedeutet, dass die Researcher*innen keinerlei interne Zugriffe erhalten, sondern über die exakt gleichen Zugriffsrechte wie Endkund*innen verfügen.

Der Zeitraum, in dem ein Penetration Test durchgeführt wird, hängt maßgeblich vom System ab, das damit getestet wird und kann demzufolge stark variieren. Der letzte bei Kiwigrid durchgeführte Penetration Test war für etwa 4 Wochen angesetzt. Am Ende der Testzeit stellen die Researcher*innen, die das System getestet haben, einen Bericht zur Verfügung. Dieser Bericht enthält alle gefundenen Sicherheitslücken und kann dann entweder ausschließlich intern verteilt oder für vollständige Transparenz der Öffentlichkeit zur Verfügung gestellt werden.
 

Arten von Penetration Tests

Es gibt zwei verschiedene Arten von Penetration Tests:

1) Es kann entweder ein geführter Sicherheitstest durchgeführt werden, der sich an der OWASP Top 10 Liste orientiert – einem Ranking für Sicherheitsrisiken und Angriffsvektoren. Die Liste wird von der namensstiftenden Non-Profit-Organisation Open Web Application Security Project (OWASP) gepflegt und regelmäßig aktualisiert. 

2) Die zweite Möglichkeit ist ein Community-Test. Dafür werden weltweit verteilte Sicherheitstester*innen, die für eine externe Penetration-Testing-Plattform zertifiziert sind, auf das System angesetzt. Ein bekannter Anbieter dieses crowd-basierten Ansatzes ist die Crowdsourcing-Sicherheitsplattform Bugcrowd. Kiwigrids  zuletzt durchgeführter Penetration Test wurde in Kooperation mit Bugcrowd als Community-Test durchgeführt.
 

Wer Schwachstellen findet, wird belohnt

Die Researcher*innen, die im Auftrag von einem externen Anbieter das System testen, werden durch ein sogenanntes „Bug Bounty“ incentiviert. Gemeint ist damit ein Geldbetrag, der für jede im System gefundene Schwachstelle ausgezahlt wird. Je schwerwiegender der gefundene Fehler ist, desto höher ist der Gewinn für den*die Researcher*in. Bug Bounties werden auch von größeren Softwareunternehmen ausgeschrieben, um sich von der Community Fehler im System zurückspielen zu lassen. Google zum Beispiel hat standardmäßig ein Bug Bounty ausgeschrieben. Wer in Googles Software Sicherheitslücken findet und sie zuerst bei Google meldet, kann damit viel Geld verdienen.

Bei Kiwigrid werden Bug Bounties nur im Rahmen von Penetration Tests an die beauftragten Researcher*innen vergeben. Kiwigrid vereinbart dafür vorab ein Budget mit dem externen Penetration-Test-Anbieter. Die gefundenen Fehler im System (Bugs) werden von diesem Anbieter verschiedenen Kritikalitätsstufen zugeordnet. Bugcrowd hat ein eigenes Klassifizierungssystem für die Schwere von Schwachstellen entwickelt, das als Grundlage für die Berechnung eines Bug Bounty genutzt wird. Jeder Fehler kann dabei nur einmal gefunden werden – wer ihn zuerst findet, bekommt den Zuschlag.
 

Was wir aus vergangenen Penetration Tests gelernt haben

Vergangene Penetration Tests haben uns zum einen auf Schwachstellen in unserem System hingewiesen, die wir im Anschluss sofort behoben haben. Zum anderen haben wir auch allgemeine Erkenntnisse aus den durchgeführten Tests gewonnen. Die Penetration Tests haben gezeigt, dass der Fokus auf Standardtechnologien Systemfehler signifikant reduzieren kann. Das ist unter anderem auch ein Grund, weshalb KiwiOS heute auf der Google Cloud Plattform basiert. Googles System wird kontinuierlich von zahlreichen Expert*innen auf Schwachstellen und Sicherheitslücken hin getestet und bietet deshalb eine besonders hohe Sicherheit und Stabilität. In Bezug auf unser eigenes System leistet außerdem unsere Microservice-Infrastruktur einen entscheidenden Beitrag zur Sicherheit und Robustheit unseres Systems.
 

Sicherheitskritische Aspekte werden bei KiwiOS kontinuierlich überwacht

Neben den punktuellen Penetration Tests betreibt Kiwigrid kontinuierliches Security-Monitoring. Als Ergänzung zu den Penetration Tests haben wir dafür Tooling im Einsatz, das uns dabei hilft, statistisch bekannte Sicherheitslücken schnell zu erkennen und zu beheben. Das Security-Monitoring erfolgt direkt auf Entwicklungsebene, sodass potenzielle Fehler von vornherein vermieden werden können. Dafür kommen unter anderem öffentlich verfügbare Listen zum Einsatz, die Sicherheitslücken bestimmter Frameworks oder Programmiersprachen aufführen. Spezielle Tools helfen dabei, diese Sicherheitslücken im eigenen System schnell zu erkennen. Solche Tools kommen auch bei Kiwigrid zum Einsatz, um kritische Netzwerkpfade kontinuierlich zu überwachen und zu analysieren.

 


Du willst mehr über Kiwigrids Energy-IoT-Plattform erfahren? Sieh dich auf unserer Plattformseite um und folge uns bei LinkedIn für Neuigkeiten!