Digital Life
26.10.2018

Sichere Software: Deep Learning wirft viele Fragen auf

Sicherheitsexperte Peter Teufl über sichere Softwareentwicklung, zunehmende Komplexität und undurchschaubare neuronale Netze.

Warum ist Software immer noch nicht sicher, obwohl es eine Vielzahl an Prozessen, Werkzeugen und Kontrollen gibt? Dieser Frage widmete sich Peter Teufl, Geschäftsführer der A-SIT Plus Gmbh, bei der IKT-Sicherheitskonferenz des Bundesheeres vergangene Woche in Alpbach. Die Entwicklung werde immer schneller, die Systeme komplexer, Vorfälle hätten nicht nur mehr finanzielle Konsequenzen, sondern wirken sich zunehmend auch auf Leib und Leben aus. Dazu kommen neue Paradigmen in der Entwicklung wie etwa Deep Learning, deren Sicherheit kaum evaluiert werden kann. Für die sichere Softwareentwicklung ergeben sich daraus eine ganze Reihe von Herausforderungen.

Die futurezone hat den Sicherheitsspezialisten, der auch an der Technischen Universität (TU) Graz lehrt und zuletzt unter anderem an der Sicherheit von E-Government-Anwendungen für das für 2019 geplante Portal oesterreich.gv.at gearbeitet hat, am Rande der Konferenz in Alpbach zur sicheren Softwareentwicklung befragt.

futurezone: Wie haben sich die Anforderungen an die sichere Software-Entwicklung in den vergangenen Jahren geändert?
Peter Teufl:
 
Wir haben heute viel mehr Systeme und auch deren Komplexität ist größer geworden. Dazu kommt, dass wir eine immer schnellere Entwicklung und permanente Änderungen sehen. Die Herausforderung ist also, da mitzukommen und genügend Experten zu finden, die sich auf die jeweiligen Themen fokussieren können.

Die Systeme sind zunehmend vernetzt. Wie geht man als Entwickler an solche Fragestellungen heran?
Ich gebe Ihnen ein Beispiel. Wir arbeiten an oesterreich.gv.at (BMDW) im Sicherheitsbereich gemeinsam mit dem Bundesrechenzentrum zusammen. Das ist eine Applikation, die sehr viele E-Government Verfahren abdecken soll, wo es auch um sehr sicherheitskritische Elemente geht. Der wichtigste Punkt ist es, die Prozesse und die Anforderungen zu verstehen. Wir müssen etwa wissen welche rechtlichen Anforderungen bestehen und welche Daten verarbeitet werden. Damit können wir eine fundierte Risikoanalyse machen, kritische Punkte identifizieren und adäquate Sicherheitskonzepte definieren und umsetzen.

Wann fließen Sicherheitsaspekte üblicherweise in die Entwicklung von Software ein?
Es gibt die Basissicherheit, die ist von der Programmiersprache und der Plattform vorgegeben, das muss immer einfließen und das wissen die Entwickler auch. Andere Aspekte, etwa wo zu einem bestimmten Zeitpunkt Daten verschlüsselt werden müssen, wo die Integrität der Daten gesichert werden muss oder wo die Verfügbarkeit wichtig ist, muss man den Entwicklern ganz klar kommunizieren. Und zwar schon am Anfang bzw. schon vor der Entwicklung.

Ist dieses Bewusstsein bei Herstellern vorhanden? Vorfälle bei Internet-der-Dinge-Anwendungen oder gehackte Autos lassen daran zweifeln.
Ich würde sagen, die Situation ist stark durchwachsen. Es gibt Bereiche wo das Bewusstsein für IT-Sicherheit aufgrund rechtlicher Rahmenbedingungen oder finanzieller Aspekte schon lange gegeben ist. In anderen Bereichen wird dieses Bewusstsein erst langsam gebildet oder ist noch gar nicht vorhanden. Dazu gehört auch, dass man offen ausspricht, dass das Umsetzen von sicheren Systemen komplex ist und je nach Zielen auch hohe Kosten damit verbunden sind und trotzdem gemacht werden muss. Wichtig wird es sein, dass es vor allem in jenen Bereichen, die unsere Privatsphäre oder unserer Gesundheit betreffen, sehr schnell zur nötigen Bewusstseinsbildung kommt.

Warum?
Bis jetzt haben wir zumeist die Situation gehabt, dass es bei der Sicherheit nur um Geld gegangen ist. Man hat entweder Rücklagen gebildet oder es ist eben ein finanzieller Schaden entstanden. Jetzt, wo immer mehr vernetzt wird und etwa über Gesundheitsdaten, die über Fitnesstracker gesammelt werden, oder über Autos, die selbst fahren sollen, direkte Auswirkungen auf die Gesundheit oder das menschliche Leben gegeben sind, entsteht dieses Bewusstsein langsam.

Regelmäßige Updates und Patches, sind in vielen Bereichen immer noch nicht üblich. In anderen, etwa der klassischen Softwareindustrie und auch im mobilen Bereich, hat sich das besser eingespielt. Was kann man daraus lernen?
Der mobile Bereich ist ein gutes, aber auch ein schlechtes Beispiel. Bei iOS bekommen Geräte aktuell fünf Jahre zurück Updates. Betrachtet man aber Android, wo eine sehr große Fragmentierung besteht, gibt es teilweise für zwei Jahre alte Geräte keine Sicherheitsupdates mehr. Man schafft es dort also nicht, bei einem im Vergleich zu einem Auto trivialen Gerät, ein Sicherheitsupdate nachzuschicken. Bei Autos muss man über 15 Jahre oder sogar über die gesamte Lebensdauer eines Fahrzeuges Sicherheitsupdates nachschicken. Das ist also nicht nur eine technische, sondern auch eine massive organisatorische Herausforderung und es ist mit hohen Kosten verbunden.

Was können gesetzliche Vorschriften bewirken?
Die Datenschutzgrundverordnung (DSGVO) hat viel bewirkt. Das Bewusstsein für Datenschutz ist gestiegen. Viele Unternehmen mussten sich damit auseinandersetzen, welche Daten sie haben und wo sie hinkommen. Indirekt hat das auch einen großen Einfluss darauf gehabt, dass sich Unternehmen über die Datensicherheit Gedanken zu machen. Das war also ein großer Wurf. Es gibt in dieser rasanten Entwicklung, wie wir in allen Bereichen sehen, aber auch viele andere Themen, etwa Deep Learning, die noch niemand rechtlich geprüft hat. Gesetzgebung dauert und hat ihren Reifungsprozess.

Die rasante Entwicklung stellt auch die Entwickler selbst vor Herausforderungen. Wissen wird schnell nutzlos. Wie gehen Sie damit um?
Die Weiterentwicklung hat auch etwas Positives. Man kann immer Neues lernen. Ein negativer Aspekt ist, dass man viele Reibungsverluste hat, weil die Aneignung von Wissen nicht immer nachhaltig ist. Plattformen und Frameworks verlieren schnell an Relevanz. Ein Problem für die Sicherheit ist auch, dass man nicht die Chance hat, tief in die Themen reinzugehen, weil in einem Jahr die Situation schon wieder eine andere sein könnte. Das wirkt sich auch auf die Qualität der Software aus.

Deep Learning und neuronale Netze kommen auch immer öfter in der Entwicklung zum Einsatz. Welche Konsequenzen hat das für die Sicherheit?
Wenn etwa im Bereich des autonomen Fahrens Deep-Learning-Netzwerke zum Einsatz kommen, die Objekte erkennen, darauf reagieren und das Auto steuern, dann stellen sich viele Fragen. Mit den klassischen Regeln lassen sich solche Netzwerke nicht mehr evaluieren und auf ihre Sicherheit überprüfen. Ich kann bei einem neuronalen Netz nicht den Source Code ansehen und die Logik durchgehen. Diese Systeme lernen durch Trainingsprozesse. Was ist, wenn sie einen Bias haben oder manipuliert wurden? Kann man die Netzwerke verwirren? Beispiele dafür hat es bereits gegeben, etwa durch die Manipulation von Pixeln bei der Bilderkennung, um diese zu stören. Wir stehen vor ganz neuen Herausforderungen. Aussagen über solche Modelle zu treffen, ist sehr schwer. Da wird noch ganz viel Arbeit notwendig sein.

Würden Sie heute in ein selbstfahrendes Auto einsteigen?
Abgesehen von der noch nicht vorhandenen breiten Verfügbarkeit solcher Systeme würde ich das schon aufgrund der Frage nach der korrekten Funktionsweise in allen Situationen nicht tun. In Zukunft wird man mit solchen Systemen vielleicht viel erreichen können, aber aktuell würde ich ihnen nicht blind vertrauen.

Dieser Artikel ist im Rahmen einer bezahlten Kooperation zwischen futurezone und dem Kuratorium Sicheres Österreich (KSÖ) entstanden.