von Richard Werner, Business Consultant bei Trend Micro
Ende Mai trafen sich in Barcelona bereits zum fünften Mal Entwickler, Betreiber und Hersteller von „Cloudnative“-Applikationen. Softwareentwicklung hat zunehmend Prozesse und Verfahren aus der Industrie übernommen und strebt deren höchstmögliche und trotzdem sichere Automatisierung an. Wie wichtig das Thema mittlerweile ist, zeigt auch die Tatsache, dass die Kubecon mit etwa 6000 Besuchern (ca. 16% davon aus Deutschland) zu einer der größeren IT-Messen unserer Zeit geworden ist. Die viertägige technisch orientierte Veranstaltung umfasste Vorträge, Workshops, Testlabs und eine Ausstellung zum Thema. Automatisierung und Konsolidierung aber auch Sicherheit und die dafür notwendigen technischen Grundlagen waren die vorherrschenden Schwerpunkte der Diskussionen.
Software wird immer zentraler in unserem Leben. Unabhängig davon, ob es eine Ampelanlage, ein Auto oder die Waschmaschine ist, kaum ein Gerät kommt heute ohne sie aus. Konsequenterweise muss es darum gehen, Software schnell bereit zu stellen. Moderne Technologien wie etwa Microservices, Container und Orchestrierung erleichtern es Unternehmen, Applikationen und IT-basierte Dienstleistungen schnell und zuverlässig zu bauen und zu betreiben.
Die Kubecon ist ein Festival der Ideen und des Erfahrungsaustausches dazu, wie schnelle Softwarezyklen zu erreichen sind. Die grundlegenden Gedanken drehen sich dabei darum, bei der Produktion ein hohes Maß an Automatisierung zu erzielen, sowie den Betrieb der fertigen Software eng mit der Entwicklung zu koppeln.
Bei der Automatisierung der Produktion werden tatsächlich Prozesse und Verfahren aus der Industrie übernommen und im Softwarebereich eingesetzt. So besteht die Zuliefererkette der Industrie im Softwarebereich aus Software Sharing-Plattformen wie Github, wo Entwickler für die eigene Arbeit benötigte Bauteile herunterladen können. Auch greifen bei der Erstellung der Software verschiedene Prozesse wie Zahnräder einer Maschine ineinander.
Software ist nie „fertig“
Der Unterschied zur industriellen Produktion von Waren liegt allerdings im zweiten Schritt, und das ist der Umgang mit dem „fertigen“ Gut. Moderne Software wird eben nicht mehr als „fertig“ betrachtet. Sie ist im Prinzip ein Service, der dem Kunden zur Verfügung gestellt wird, und dieser Service wird ständig angepasst, erweitert und verbessert. Der Fokus liegt auf häufigen kleineren Wechseln im Gegensatz zu wenigen großen Updates. Release-Wechsel sind damit kein disruptives Element mehr im Betrieb einer Software, sondern erfolgen quasi „im Vorbeigehen“.
Dass diese Umstellung nicht von selbst gelingt, ist klar. Viele Stolpersteine liegen auf diesem Wege, und auf der Veranstaltung wird darüber diskutiert, wie diese aus dem Weg geräumt werden können. Dabei ist der Erfahrungsaustausch zwischen den Beteiligten von nicht zu unterschätzender Bedeutung.
Zentrales Thema Sicherheit
IT-Sicherheit stellt eine dieser Hürden dar, und war damit eines der heiß diskutierten Themen. Einerseits sind sich Entwickler wie Betreiber von Softwareprodukten darin einig, dass ihre Technologie keinem Cyber-Angreifer eine Chance einräumen darf möglichen Schaden anzurichten. Andererseits wollen Entwickler verständlicherweise nicht, dass Sicherheit ihre Programme oder die Geschwindigkeit der Bereitstellung der eigenen App beeinflusst. Und das Hinzufügen von Sicherheitsmechanismen kann Verzögerungen beim Release-Wechsel oder gar eine Blockade von getätigten Änderungen bedeuten. Die Einführung und vor allem Beachtung von Security wird deshalb häufig zu einer Frage der Risikobetrachtung. Verführt durch die Möglichkeit schnelle Updates nachzulegen, werden „kleinere“ Sicherheitsrisiken gelegentlich bewusst eingegangen, um im Zweifelsfall schnell eine Anpassung nachzulegen.
Hacker und Cyber-Angreifer experimentieren noch, und ihre Angriffe auf die Entwickler oder die DevOps Community sind nicht so ausgereift, wie wir das aus der „klassischen“ Welt kennen. So machte unlängst ein Vorfall von sich reden, bei dem es Hackern gelang, die Passwörter von Community Nutzern in die Hände zu bekommen. Der damit durchgeführte Angriff dürfte allerdings wenig Erfolg gezeigt haben. Der Dieb löschte die Daten aus den Repositories und verlangte „Lösegeld“ für die Wiederherstellung. Ein Preis, den kaum ein Nutzer zahlen würde, zumal meist auch lokale Kopien der Daten vorhanden waren.
Andere Angriffe in diesem Bereich hingen hauptsächlich mit zwei Arten von bösartigen Aktivitäten zusammen: Das ist zum einen das Hinzufügen von Code, wobei die Angreifer vor allem Krypto-Miner einbauen. Die zweite Methode ist noch seltener. Die Daten werden nicht unbedingt verändert, sondern der Code auf angreifbare Stellen untersucht, die zur Not durch das Verwenden veralteter Programmbibliotheken auch geschaffen werden können. Damit wollen sie Backdoors legen, um später (im laufendem Betrieb) das System wieder aufbrechen zu können.
Die gute Nachricht: IT-Security hat heute die Möglichkeiten, das Produkt „Software“ während seines gesamtem Lebenszyklus sicher zu gestalten. Wie das funktionieren kann, zeigte Trend Micro auf dem eigenen Stand: Die Lösung des Problems kann ein System sein, das die Entwicklung und den späteren Betrieb der Software ständig überwacht, mögliche Probleme aufzeigt und auch im laufendem Betrieb entstandene Probleme abschirmen kann. Hier schließt sich nun der Kreis zur industriellen Produktion. Der Herstellungsprozess jeder Ware wird auf seine Qualität überprüft und Sicherheitsmängel sofort behoben. Dies sollte so sein, egal ob wir von Hard- oder Software sprechen.
Fazit
Der Entwicklungsprozess von Software wird immer industrieller gestaltet, und das führt zu schnellerer und qualitativ hochwertigerer Bereitstellung von neuen Applikationen und Technologien. Die Auswirkungen auf vielfältige Bereiche unseres Lebens gewinnen an Bedeutung. Umso wichtiger ist es, Sicherheit sowohl in das Design der Lösung als auch ihren Betrieb einzubauen.