Kolumne von Michael Fälbl : Trauen Sie keiner Software, die Sie selbst nicht hacken können!
Vertrauen ist gut …
Wann verlassen Sie sich auf eine Software? Wird eine Software z.B. von Lieferanten, Kundinnen oder Partnern empfohlen, dann ist das zumeist vertrauensstärkend. Auch Lösungen, die global verbreitet oder bei vielen Unternehmen im Einsatz sind, wird häufig vertraut.
Lesetipp: Outsourcing: die digitale Fertigungstiefe als strategische Entscheidung
Die breite Nutzung einer Software garantiert jedoch nicht deren Sicherheit. Sicherheitslücken sind auch bei großen Lösungsanbietern keine Seltenheit, wie z.B. der Angriff auf die Firma SolarWinds 2020 zeigte. Auch fehlerhafte Software-Updates können gravierende Probleme verursachen, wie z.B. beim jüngsten Ausfall der EDR-Lösung der Firma Crowdstrike. Viele Nutzerinnen schützen also noch nicht vor Ausfällen oder Schäden.
… Kontrolle besser…
Proprietären Software-Lösungen wird häufig ihre Intransparenz als Sicherheitsdefizit vorgeworfen. Ist der Code einer Software eine Blackbox, dann lässt sich nicht kontrollieren, ob Sicherheitslücken vorhanden sind. Von „Security through obscurity“ raten Security-Experten zumeist ab.
Abhilfe schafft Open Source Software. Der transparente Quellcode einer Software kann dabei helfen, potenzielle Sicherheitslücken schnell zu entdecken und zu schließen. Theoretisch können die eigenen Entwicklerinnen sich selbstständig auf die Fehlersuche begeben und zur Sicherheit der Software beitragen.
In der Praxis ist das aber häufig nicht der Fall. Allzu oft wird die Sicherheit zentraler IT-Infrastruktur durch ehrenamtlich arbeitende Einzelpersonen auf Selbstausbeuterbasis aufrechterhalten. Das kann große Probleme verursachen. Anfang des Jahres wurde z.B. in der Software XZ Utils eine potenziell äußerst gefährliche Hintertür nur durch Zufall entdeckt und geschlossen. Offener Quellcode schützt demnach auch nicht vollständig vor Ausfällen oder Schäden.
… professionelle Validierung und vielfaches Testen am besten.
Gerade in der Produktion wird die Sicherheit von Software in Zeiten vernetzter Fabriken und verschmelzender IT-/OT-Systeme immer wesentlicher. Was kann man also abseits der Anbieterwahl und der Einforderung von Quellcode-Transparenz tun, wenn man möglichst sichere Software einsetzen möchte?
Eine Möglichkeit bieten Normen und Standards. In der Automobilindustrie spielen z.B. die Norm ISO/SAE 21434 oder der TISAX-Standard wichtige Rollen. Durch deren Einhaltung bzw. entsprechende Zertifizierungen können Software-Anbieterinnen Vertrauen schaffen. Standards und bekannte Bedrohungen können auch mit entsprechender Software schon im Produktdesign berücksichtigt werden. Die steirische AVL setzt dabei z.B. auf die ThreatGet-Software, die u.a. vom österreichischen AIT entwickelt wurde.
Lesetipp: Die Bedeutung von Wikipedia für die Produktion
Darüber hinaus kann die Resilienz einer Software durch die gezielte Schaffung von Extremsituationen und durch darauf aufbauende Anpassungen erhöht werden. Die von Netflix entwickelte Open Source Software Chaos Monkey hilft z.B. genau dabei. Das Prinzip dahinter: gezielte Sabotage zur Erhöhung der Sicherheit. Diese Vorgehensweise empfiehlt auch der renommierte Security-Experte Bruce Schneier.
Schneier wiederum ist namensgebend für „Schneier’s Law“ – einen Merksatz, der auch für produzierende Unternehmen im Zusammenhang mit Software und Vertrauen gilt: Jeder kann ein Sicherheitssystem entwickeln, das so durchdacht ist, dass man selbst sich nicht vorstellen kann, wie man es zerstören könnte.