Der rote Faden beim Coden

Im Werkstattgespräch gehen Geschäftsleitungsmitglied Peter Gassmann und Chef-Software-Architekt Daniel Scherrer vertieft auf die Methoden der sicheren Softwareentwicklung bei Abraxas ein.

Von Marcel Gamma · 11. Mai 2022

Was ist sichere Softwareentwicklung? Gruppenmitglieder antworten (Video: Samuel Näf)

Sichere Softwareentwicklung heisst, dass alle das Ziel verstehen und am gleichen Strick ziehen. Diese Orchestrierung von Personen und Organisationen ist eine besondere Herausforderung. Peter Gassmann

«Gut Ding will Weile haben», dieses Sprichwort ist nicht angebracht, wenn es um die Qualität der Software-Security geht. Dies zeigte der Weltöffentlichkeit kürzlich die Lücke «Log4j» (CVE-2021-44228) mit der höchstmöglichen Risikoeinstufung 10.0. «Die Geschwindigkeit, mit der Lücken ausgenutzt werden, steigt», erklärt Peter Gassmann, Leiter der Softwareentwicklung und GL-Mitglied. «Darum müssen wir immer schneller reagieren können.»

BSIMM im Einsatz bei Abraxas
Bei Log4j gelang dies, und doch zeigt es, wie wichtig es geworden ist, sichere Software und Updates ausliefern zu können, bei unterschiedlich aktuellen Technologien und Fachapplikationen, On-Prem und in der Cloud. «Wir setzen als Basis nicht nur auf unsere Zertifizierungen, sondern für die sichere Softwareentwicklung speziell auf das BSIMM-Framework», erklärt Gassmann.

Das Building Security In Maturity Model (BSIMM) ist eine renommierte Studie über aktuelle Software-Sicherheitsinitiativen oder -programme aus aller Welt und unterschiedlichen Branchen. Es quantifiziert die Applikations-Sicherheitspraktiken verschiedener Organisationen und identifiziert gleichzeitig die Unterschiede zwischen ihnen. «Mit dem Fortschritt der Entwicklungsmethoden, dem Auftauchen neuer Bedrohungen und der Anpassung der Sicherheitsmethoden entwickeln sich auch die BSIMM-Daten weiter», erklären die Autoren die jährlich aktualisierten Erkenntnisse zu Governance, Threat Modelling, Softwarekonfiguration und weiteren Aspekten.

Automatisierung mittels IAST
«Um rasch reagieren zu können, hilft die Inventarisierung der Hunderte von Frameworks und kleinen  Werkzeugen aus lizenzpflichtigen oder frei verfügbaren Software-Bibliotheken, die heutzutage in einer einzelnen Lösung stecken.» Daniel Scherrer, Chief Software Architect, erklärt: «Wir müssen protokollieren können, welches Produkt welche Bibliotheken verwendet und von wem sie stammen, welches Lizenzmodell gilt und wie die Abhängigkeiten sind.»

Auch bei der statischen Source-Analyse des eigenen Codes und von Libraries hilft automatisierte Prüfung. «Software in gewisser Kritikalität kann sonst gar nicht ausgeliefert werden», so Scherrer. Fügt ein Softwareentwickler neuen Code hinzu, so wird im Hintergrund eine Überprüfungsmaschinerie gestartet. «Darunter fallen neben Code-Analysen und Dependency-Checks auch automatisierte Pen-Tests im Rahmen des Interactive Application Security Testing (IAST)», so Scherrer.

Der Mensch bleibt Dreh- und Angelpunkt …
Automatisierung ist toll, aber unverzichtbar bleibt der Mensch. So seien «traditionelle» Methoden wie Pair Programming nicht veraltet. «Bedeutend geworden sind die Pull Request Reviews bei neuen Funktionalitäten oder Patches, um diese in einem abgeschotteten Versionszustand des Source-Codes überprüfen zu können. Es zählen das Vieraugenprinzip und automatisierte Tests, bevor die Funktionalität in die Hauptlösung integriert werden kann», so Scherrer. «Bei Anwendungen mit hohem Schutzbedarf wird praktisch bei jedem kleinsten Change ein aufwendiger Prüfprozess in Gang gesetzt.» Der Mensch ist auch zentral am Ende eines grösseren Release-Zyklus, wenn Security-Experten sich den Code vornehmen. «Viele
Schwachstellen findet nur menschliche Intelligenz, durch Analysieren und Ausprobieren », hält er fest. Moderne Lösungen sind eine Dauerbaustelle aus x Komponenten und Quellen, und darum müssen sie im Rahmen der sicheren Softwareentwicklung regelmässig neu überprüft werden. Die Basistechnologie, die Konfigurationen und die Libraries müssen kontrolliert und upgedatet werden, weil, wie Log4j eindrücklich zeigte, Security-Probleme auch bei verbreiteten Komponenten vielfach erst nachträglich erkannt werden. Eine zweite Ebene bildet die Sensorik, wie Gassmann erläutert. «Wir müssen laufend die Prüfpunkte
weiterentwickeln, neue Erkenntnisse einfliessen lassen und einen Blick in Tools und Frameworks werfen.
Es ist ein Wettrüsten.»

… aber auch die Schwachstelle
Der Mensch ist zentral bei der Code-Sicherheit, aber auch eine Schwachstelle. «Wir müssen alle Mitarbeitenden dazu befähigen, dass sie wissen, wenn sie etwas nicht wissen, und dabei aktiv Unterstützung einfordern. Hier ist Eigenverantwortung keine Lösung», erklärt Gassmann. Darum sei Weiterbildung zwingend. 40 Software-Spezialistinnen und -Spezialisten hätten 2021 eine solche absolviert.

Ums Menschliche geht es auch bei der notwendigen Zusammenarbeit – über Rollen und die Zeit hinweg. Security- Expert:innen, Projektleiter:innen, Architekt:innen und Entwickler:innen müssen an einem Strick ziehen. Daran arbeitet eine interne Software Security Group. Sie aktualisiert Konzepte, führt Instrumente ein und geht in die Teams, damit sich diese up to date halten können. Es ist klar, Security ist der rote Faden, der sich durch alle Aspekte der Softwareentwicklung ziehen muss. Dazu verhelfen soll unter anderem 2022 das erste Bug-Bounty-Programm für das neue Ergebnisermittlungssystem der Kantone St. Gallen und Thurgau. «Es bietet einen wesentlichen Schritt zu Transparenz und nachvollziehbarer Sicherheit», so Gassmann. Und dies sei wichtig. Kunden müssten Lieferanten bezüglich Sicherheit einschätzen und vergleichen lernen.

Die Software Security Group zieht am gleichen Strick: Immer die Sicherheit vor Augen.

Software Security Group

Sie ziehen alle an einem Strick: Nicht nur in der Fussgängerunterführung am Abraxas-Standort Circle am Flughafen Zürich, sondern auch in der sicheren Softwareentwicklung: Peter Gassmann (GL-Mitglied und Leiter
Solution Engineering), Daniel Scherrer (Chief Software Architect), Darius Bohni (Application Security Expert), Jan Göltenboth (ICT Software Architect) und Michael Dobler (Leiter Compliance, Risk & Security) und weitere sind Teil der SSG.

Marcel Gamma

Über Marcel Gamma

Marcel Gamma arbeitet seit seiner Webmaster-Ausbildung 1998 praktisch ausschliesslich im Bereich IT- und Online-Kommunikation. Er ist Senior Communication Manager bei Abraxas. Zuletzt war er 5 Jahre Chefredaktor von inside-it.ch und inside-channels.ch, davor Kommunikationsverantwortlicher des Verbands swissICT, Ressortleiter der Aargauer Zeitung, Consultant bei einer Full-Service-Webagentur und Content Coordinator und Online-Journalist bei bluewin.ch.