Warum jeder Softwareentwickler auch ein Hacker sein sollte

Geschrieben von Office DCW am in #DigitalMondayBlog, Home

Leute, die schon in der Urzeit der Informatik mit dabei waren, höre ich immer sagen: „Früher war Sicherheit einfach Firewalls, und fertig.“. Und das stimmt wohl: Wenn auf einem Rechner Code gelaufen ist hat man den dadurch geschützt, indem man ihn für den Rest der Welt einfach nicht per Netzwerk erreichbar gemacht hat.

Thomas Konrad

Wir sind uns sicher einig, dass das heute anders ist! Ein großer Teil des Wertes von IT-Systemen entsteht erst durch deren Vernetzung; Abschottung ist da oft keine Option. Und wenn ein Softwareentwicklungs-Team heute eine Anwendung entwickelt, so beinhaltet diese oft hunderte oder sogar tausende externe Bibliotheken, also Software, die von jemand ganz anders entwickelt wurde. Wer das war? Ob da auf Sicherheit geachtet wurde? Ähm… Keine Ahnung!

Ein Fehler, tausendfache Auswirkungen

Und ich möchte da gar nicht schwarzmalen! Entwicklungsteams sparen sich damit eine Menge an Zeit, denn sie müssen das Rad nicht ständig neu erfinden. Da eine solche Bibliothek jedoch schnell einmal tausendfach dupliziert wird und in einer unüberschaubaren Menge von Systemen zum Einsatz kommt, führt auch dazu, dass ein kleiner Fehler darin zu einem globalen Super-GAU werden kann. Die „Heartbleed“-Schwachstelle ist nur eines von vielen Beispielen, wo das eindrucksvoll sichtbar wurde. Suchen Sie mal im Internet nach „NPM-Paket event-stream Schadsoftware“!

Ja, und agil sollten wir auch sein! Das heißt die Zeiten, in denen zuerst niedergeschrieben wurde, was die Software können soll, das dann programmiert wurde, und am Ende das Ergebnis präsentiert wurde, sind längst vorbei. Auf sich ändernde Kundenanforderungen muss jederzeit schnell reagiert werden können, um im Wettbewerb mithalten zu können. Für die moderne Softwareentwicklung bedeutet das, dass das Thema Sicherheit anfangs gerne vernachlässigt wird, und die Sicherheit von Systemen erst in der Retrospektive beurteilt wird. Auch, weil oft das Wissen zum Thema fehlt.

Verschmelzung zweier Welten

Ich arbeite nun seit etwa neun Jahren in meiner täglichen Arbeit mit Softwareentwicklungsteams. Ich habe viel gute Arbeit gesehen, ich habe viel Software gesehen, wo mir flau in der Magengrube wurde. Und aus meiner Erfahrung kann man recht eindeutig sagen, welche Teams sichere Software produzieren und welche nicht. Nein, es ist meist keine Frage des Budgets. Nein, auch das ständige Wiederholen der Führungsebene, wie wichtig die Sicherheit ist, ist meist nicht ausschlaggebend. Es ist das Wissen des Softwareentwicklungsteams über Angriffstechniken und die Angreiferdenkweise beim Produzieren von Code. Nur wer beim Schreiben von Code gleichzeitig an mögliche Angriffe denkt, kann diese effektiv verhindern.

„Softwaresicherheit ist das Integrieren von Sicherheitsaktivitäten in die Art und Weise, wie wir Software bauen, nicht das Integrieren von Sicherheitsfeatures in den Code.“, tweetete kürzlich auch Gary McGraw, Experte für IT-Sicherheit und Autor zahlreicher Bücher und Publikationen zum Thema sichere Software. Und das kann ich nur hundertfach bestätigen. Wenn das Thema Sicherheit nicht von Anfang an eine Rolle spielt, fällt das später auf uns zurück, und verschluckt dann mehr Ressourcen, als wir uns anfangs gespart haben. Wenn jedes Mitglied des Softwareentwicklungsteam auch ein wenig Hacker ist, kommen wir der Lösung des Problems schnell näher!

sec4dev: Konferenz und Bootcamp

Aus genau diesem Grund hat SBA Research, ein Wiener Forschungszentrum für IT-Sicherheit, die sec4dev für Softwareentwickler*Innen geschaffen: Von 25. bis 27. Februar 2019 verwandelt sich der Campus Gußhaus der TU Wien in einen Hotspot für regen Austausch und Weiterbildung rund um das Thema sichere Softwareentwicklung. Die sec4dev-Konferenz bietet praxisorientierte Vorträge, Workshops und ganztägige Bootcamps zu den Bereichen sicheres Coding, sicherer Betrieb, Security-Testing und vieles mehr. Die Teilnehmer*Innen können dabei direkt auf das Wissen und die Erfahrung von Sicherheitsexpert*Innen, Softwareentwickler*Innen und Softwarearchitekt*Innen zugreifen.

_______________________________________________________________________________________________________________________________________________________________________

Thomas Konrad arbeitet seit über acht Jahren im Software-Security-Team bei SBA Research in Wien. Dort beschäftigt er sich mit Themen wie sichere Softwareentwicklung, Webapplikationssicherheit, Penetration-Testing, sicherer Softwareentwicklungsprozess, sicheres Softwaredesign, Softwarearchitektur, Schulungen und Trainings in diesen Bereichen. Er hat über acht Jahre Erfahrung als IT-Sicherheitsberater, Trainer und Softwareentwickler.