Die Software ist heute oft der marktentscheidende Erfolgsfaktor moderner Produktionsanlagen. Doch die steigende Leistungsfähigkeit und die zunehmende Vernetzung erhöhen die Komplexität der Steuereinheiten so sehr, dass gerade im Bereich der Sicherheit zunehmend der »Durchblick« verloren geht: Software und mit ihr ganze Produktionsanlagen werden anfällig für Über- und Ausfälle. Am Fraunhofer IEM forscht Prof. Eric Bodden nach Methoden, wie der Weg in die Industrie 4.0 für Unternehmen einfach und sicher gestaltet werden kann. Im Fokus dabei: Die statische Codeanalyse. 

Hallo Herr Prof. Bodden. In Ihren wissenschaftlichen Aufsätzen betonen Sie, dass Software der Innovationstreiber unseres Jahrzehnts geworden ist. Die Software sei es, die bei Neuerungen aus dem Maschinenbau oder auch der Kommunikation oder der Mobilität das Alleinstellungsmerkmal definiere.

Nehmen Sie aktuelle Entwicklungen bei uns in der Automobilindustrie. Selbst im Land des klassischen Autobaus wird ein Großteil der Wertschöpfung bereits über die Software bestimmt. Das heißt, dass sich die »Qualität« eines Fahrzeugs oder einer Maschine mehr und mehr an der Leistungsfähigkeit ihrer Software bemisst. Und diese Entwicklung wird sich sogar noch verstärken. Davon sind wir am Fraunhofer-Institut für Entwurfstechnik Mechatronik IEM überzeugt.

Das hat einschneidende Konsequenzen für die produzierenden Unternehmen.

Genau. Unternehmen benötigen nun nicht nur Know-how im Bereich des klassischen Maschinenbaus, sondern vor allem auch bei der Entwicklung und Weiterentwicklung von Software. Hier Kompetenzen zu entwickeln oder auch nicht – das ist die neue Achillesferse der Wirtschaft.

Das gilt, obwohl wir noch gar nicht über dem Bereich Industrie 4.0 gesprochen haben?

Es ist kein Geheimnis, dass im Zuge der Industrie 4.0-Bestrebungen eine Vielzahl von industriellen Produktionssystemen weiter vernetzt werden müssen. Anders ist ein dezidiertes Controlling und der Einsatz einer umfassend mitdenkenden künstlichen Intelligenz nicht möglich. Allerdings ist das eine Voraussetzung für eine weitere Automatisierung der Produktion. Jedoch führt diese Entwicklung unter anderem dazu, dass die Steuersoftware beziehungsweise die Vielzahl an Vernetzungen immer komplexer werden.

Eine Maschine würde mit einfacher Software aus dem vergangenen Jahrzehnt kaum noch vernünftig laufen.

Soweit würde ich nicht gehen. Aber sie wäre nicht so flexibel einsetzbar, wie das heute schon der Fall ist und in Zukunft immer notwendiger wird. Allein der Wunsch, im Zuge von Industrie 4.0 individueller – und das bis zur Losgröße 1 – aber gleichzeitig kostengünstig und wirtschaftlich zu produzieren, macht es notwendig, auf mehr Flexibilität der Maschinen zu setzen.

Wenn Software immer häufiger die entscheidende Position auf der industriellen Agenda übernimmt, ergeben sich daraus eine Reihe von Konsequenzen. Ich meine damit zum einen den Bereich des Handling oder den Bereich der Sicherung der technischen Funktionen. Aber natürlich auch die Absicherung gegen Einbrüche.

Gerade die Sicherheit ist einer der Hauptbarrieren auf dem Weg zur Industrie 4.0. Dass Firmen Sicherheit als Problem begreifen, ist zunächst natürlich etwas Positives, denn die wachsende Automatisierung und Fernsteuerbarkeit von Maschinen macht die Produktion anfällig. Um die Vorteile der Vernetzung zu nutzen und sich trotzdem gegen die Nachteile abzusichern, benötigen die Unternehmen aber starke Authentisierungskonzepte. Und dafür fehlt in der Regel das Know-how. Manche Firmen werden deshalb leichtsinnig und vernetzen – ohne den Zugang von außen entsprechend streng zu reglementieren. Andere verzichten ganz oder zumindest teilweise auf die Vorzüge von Industrie 4.0. Hier den goldenen Mittelweg zu finden, ist extrem schwierig.

Besteht die Gefahr, dass Unternehmen bei der Auswahl ihrer Software die falschen Prioritäten setzen? Das beispielsweise die Usability oder die Kompatibilität als wichtiger erachtet wird als der Faktor Sicherheit, der weniger unmittelbar, vielleicht sogar weniger »sexy« ist?

Das ist sicherlich ein wichtiger Faktor. Kunden schauen zu allererst auf die Funktionalität. Security spielt eine nachgeordnete Rolle. Andererseits wird der Faktor Sicherheit zunehmend formalisiert. Es gibt zahlreiche neue Normen, die eine Software im Bezug auf die Sicherheit erfüllen muss. Insofern wird den Unternehmen ohnehin ein Teil der Arbeit aus der Hand genommen.

Wenn man einen Stromstecker kauft, kann man davon ausgehen, dass er sicher ist. Genauso soll es bei der Software auch im industriellen Umfeld laufen?

Glücklicherweise gibt es mittlerweile auch in der industriellen Produktion entsprechende Security-Normen. Und die ersten Unternehmen sind nun auch bereit, sich entsprechend zertifizieren zu lassen. Ein Teil der Aufgaben beim Fraunhofer IEM ist es deshalb, diese Unternehmen darin zu beraten, die neuen Normen effektiv und kostengünstig umzusetzen.

Das scheint aber nur in Teilaspekte Aufgaben ihres Funktionsbereichs am Fraunhofer IEM zu sein.

Natürlich. Wir beraten Unternehmen auch ganz allgemein in Hinblick auf Softwareentwicklungsprozesse. Unser Fokus dabei liegt auf Softwareentwicklungen für intelligente technische Systeme. Und hier bedienen wir drei Bereiche: Zum ersten die Hardware. Dazu gehören beispielsweise Echtzeitaspekte oder Betriebssysteme, die auf entsprechenden Systemkomponenten laufen. Zum zweiten die angeschlossenen Cloud- und Mobile-Systeme. Dabei entwickeln wir unter anderem Werkzeuge und Methoden, wie Hardwarekomponenten besser mit der Cloud kommunizieren oder über mobile Applikationen ferngesteuert werden können. Und zum dritten sind das Fragen zur Gestaltung von Systementwicklungsprozessen. Sie müssen deshalb so gestaltet werden, dass ein Unternehmen schnell auf sich ändernde Anforderungen reagieren kann. Denn bei den Systemen muss eine Langzeitsicherheit gewährleistet sein. Dabei greifen wir beispielsweise die Entwicklung auf, dass Software immer mehr als »Dienst« angeboten werden kann, der beständig weiterentwickelt und aktualisiert wird.

Sie forschen sozusagen entlang des kompletten Entwicklungszyklus?

Ja, wir arbeiten beispielsweise daran, wie schon bei der Anforderungsanalyse für ein neues, softwarelastiges Produkt die Bedrohungsanalyse mit integriert werden kann. Dafür setzen wir unter anderem auf modellbasierte Ansätze. Wir entwickeln grafische und auch textuelle Modellierungssprachen, mit denen sich Bedrohungen systematisch erfassen und Architekturen sich vollautomatisch oder zumindest toolgestützt bewerten lassen. Das aber ist nur der erste Teil im Zyklus. Ein anderer ist beispielsweise die Implementierung der Software. Hier haben wir in den vergangenen Jahren leistungsfähige Werkzeuge entwickelt, um Programme umfassend auf Schwachstellen hin zu analysieren. So sind wir in der Lage, auch diejenigen Steueranlagen in Fabriken zu analysieren, die durch spezielle Programmiersprachen konfiguriert wurden.

Ein anderer Schwerpunkt ist die statische Codeanalyse. Als Laie stelle ich mir dabei ein Hilfsprogramm vor, das Software durchsucht und einen Hackerangriff simuliert. So stellen sie fest, wo Angriffspunkte für echte Einbrüche wären.

Codeanalysen haben den großen Vorteil, dass man sie schon sehr früh im Entwicklungsprozess einsetzen kann, wenn erst Teile der Software existieren und man daher Hackerangriffe noch gar nicht sinnvoll simulieren kann. Die Codeanalyse findet Sicherheitslücken also früher und ist dadurch sehr kosteneffizient. Allerdings liegt der Teufel im Detail. Denn durch eine Codeanalyse können wir das System natürlich nur nach Dingen automatisch suchen lassen, die wir kennen. Das bedeutet: Wir müssen schon von ihnen gehört haben, sonst kann das Programm nicht reagieren. Deswegen arbeiten wir mit Suchmustern, um ganze Typen von Schwachstellen zu identifizieren. Im Prinzip bildet unsere Software das Programm durch Graphen ab, die sich millionenfach durch Knoten und Kanten auszeichnen. Dann werden entsprechende Muster gesucht.

Liegt das noch im Bereich der Vorlaufforschung?

Nein, unser Verfahren ist mittlerweile so effizient, dass man es im Prinzip direkt in der Entwicklungsumgebung anwenden kann. Wir helfen Unternehmen so schon heute bei der Suche nach Schwachstellen. Ein Beispiel bildet unser Werkzeug CogniCrypt, das direkt beim Programmieren sicherheitskritische Fehlbenutzungen von Kryptografie aufzeigt und beheben hilft. Das Ganze können Sie sich vorstellen wie eine Rechtschreibprüfung. Sie kontrolliert, ob alles richtig geschrieben ist - noch während ich einen Brief verfasse.

Trotzdem. Auch die von Ihnen beschriebenen Muster müssen letztlich bekannt sein, um sie »einprogrammieren« zu können.

Im Moment ist es tatsächlich noch so, dass diese Muster händisch einprogrammiert werden. Allerdings nutzen wir dafür hocheffiziente Hilfsprogramme. Aber wir forschen auch daran, wie wir dieses Erfahrungswissen mithilfe künstlicher Intelligenz generieren können. Hier sind wir allerdings tatsächlich erst in der Vorlaufforschung.

(aku)

Keine Kommentare vorhanden

Das Kommentarfeld darf nicht leer sein
Bitte einen Namen angeben
Bitte valide E-Mail-Adresse angeben
Sicherheits-Check:
Sieben + = 7
Bitte Zahl eintragen!
image description
Interviewpartner
Alle anzeigen
Prof. Dr. Eric Bodden
  • Fraunhofer-Institut für Entwurfstechnik Mechatronik IEM
Weitere Artikel
Alle anzeigen
Sicher, aber nicht benutzbar?
Der Zauber von Marktkonformität und Usability
Endlich frei!
Stellenangebote
Alle anzeigen