Ist das Entwickeln sicherer Software Geldverschwendung?

Nicht jede gängige Maßnahme für sicherere Softwareentwicklung ist sinnvoll. Codereviews alten Quellcodes hält etwa Adobes Sicherheitschef Brad Arkin für einen Grund zu kündigen, Fuzzing für ein Fass ohne Boden.

In Pocket speichern vorlesen Druckansicht 205 Kommentare lesen
Lesezeit: 4 Min.
Von

Nicht zuletzt der Patch-Reigen von Adobe, Microsoft und Oracle führt immer wieder zur Frage, warum Software eigentlich so viele Bugs mitbringt und ob nicht mit ein bisschen mehr Entwicklungsaufwand viele der (sicherheitsrelevanten) Programmierfehler vermieden werden können. Im Rahmen der IT-Sicherheitskonferenz RSA Conference 2013 hat Brad Arkin, bei Adobe verantwortlich für Produktsicherheit, diese Frage mit John Viega diskutiert. Viega leitete einst das Produktsicherheitsteam bei McAfee und ist heute beim Cloud-Sicherheitsanbieter SilverSky beschäftigt.

Viega beispielsweise hält Softwaresicherheit für Zeitverschwendung. Zumindest dann, wenn es sich um nur unterdurchschnittlich verbreitete Anwendungen handelt. Denn in diesem Fall sei das Beheben von später entdeckten Bugs in jedem Fall günstiger, als sie vorher mit viel Aufwand gar nicht erst entstehen zu lassen. Dieser Mehraufwand behindere zudem das Entwickeln nützlicher neuer Funktionen.

Zu seiner Zeit bei McAfee kostete das Beheben von drei öffentlich gemachten Sicherheitslücken insgesamt 50.000 US-Dollar – inklusive der notwendigen Kommunikationsmaßnahmen. Ein Programm zum Entwickeln von sicherer Software, das diese Bugs abgefangen hätte, hätte nach Einschätzung von Viega mindestens 1 Million US-Dollar gekostet.

Für Arkin hingegen führt kein Weg an einer von Beginn an niedrigen Anzahl von Bugs vorbei: "Wir müssen Updates für Adobe Reader und Adobe Flash an über 1 Milliarde Rechner ausliefern. Die mit diesen Patches verbundenen Kosten sind so hoch, dass sich die Kosten für ein Softwaresicherheitsprogramm schnell wieder einspielen", so der Adobe-Manager. Auch im Zusammenhang mit Webanwendungen plädiert Arkin für sauberes Arbeiten – anstatt später zu versuchen, mittels einer Web Application Firewall "Klebeband auf die defekten Stellen zu pappen."

Wenig angetan zeigt sich Arkin auch vom Fuzz-Testing: "Fuzzer sind die perfekte Lösung für Consultants. Denn wenn die einmal mit dem Fuzzing angefangen haben, wird man sie nie wieder los. Diese Art des Tests kommt nie zu einem Ende“, erklärte Arkin.

Auch Reviews von bestehendem Sourcecode sei laut Brad Arkin angesichts der riesigen, teilweise 20 Jahre alten Codebasis von Adobe-Software eine "unsagbare Vergeudung menschlicher Lebenszeit". Lediglich neu geschriebener Code werde grundsätzlich einer Prüfung unterzogen. Den vorhandenen Programmcode nimmt sich Adobe nur dann vor, wenn irgendwo ein Bug entdeckt wird. Gleichzeitig sind quasi jeden Tag angeheuerte Penetration-Tester damit beschäftigt, Lücken in den Anwendungen aufzuspüren.

Kommt es zur Codeanalyse, hält Arkin wenig vom Einsatz von Tools zur statischen Code-Untersuchung: "Die Tools werfen eine ein- oder zweistellige Millionenanzahl an Ergebnissen aus. Die vermeintlich wichtigsten 10.000 Einträge stellen sich dann zumeist als Fehlalarme heraus", erklärt Arkin. Adobe konzentriere sich daher eher darauf, ganze Klassen von Bugs zu finden und zu eliminieren. Dies funktioniere teilweise vollautomatisch. So habe Adobe durch automatisches Suchen & Ersetzen von Codeteilen mehr als 40.000 Bugs zwischen der Veröffentlichung von Adobe Reader 9 und Adobe Reader X aus dem Code entfernt.

Großflächige Trainingsmaßnahmen John Viega für Zeitverschwendung: "Bevor ich 2000 Entwickler jeweils zwei Stunden lang mit Anfängerinformationen versorge, trainiere ich lieber 20 motivierte Programmierer jeweils 20 Stunden intensiv", sagte Viega. Diese 20 Entwickler würden dann hinterher zu Multiplikatoren und sorgten so nach und nach für mehr Bewusstsein im Team rund um sichere Software.

Einig waren sich die Fachleute darin, dass Softwarekäufer unsichere von sicherer Software kaum unterscheiden können. Das liege laut Brad Arkin nicht zuletzt daran, dass es immer noch keinen Konsens gebe, wie man letztendlich zu sicherer Software komme. Die Disziplin sei dazu im Vergleich zur Hardwareentwicklung einfach noch zu jung.

Angesprochen auf die vielen Brände, die Adobe seit einiger Zeit durch immer neue PDF-Exploits löschen muss, wünschte sich Arkin eine Zeitmaschine: "Wir haben intern schon oft festgestellt, dass wir ins Jahr 1993 zurück reisen müssten, um entscheidende Fehler gleich beim Entstehen des Formats zu unterbinden", so Arkin. Nachdem das unmöglich ist, müssen die Nutzer der Software wohl noch viele Jahre lang Updates installieren. (ju)