In der Softwareentwicklung gibt es Risiken – am häufigsten in Form von Bugs oder Fehlern im Code –, die zu Sicherheitslücken führen können, die bei einem Angriff ausgenutzt werden könnten. Auch wenn es in der Branche selten vorkommt, dass Software völlig fehlerfrei veröffentlicht wird, sollten Bugs und andere fehlerhafte Implementierungen, die Sicherheitsrisiken darstellen, erkannt und behoben werden. Wenn sich die Sicherheitsarbeit jedoch nur auf die Behebung von Problemen beschränkt, die erst nach Tests an vollständig entwickelter Software entdeckt werden, sind solche Korrekturen – so wichtig sie auch sind – möglicherweise nur oberflächlich und adressieren nicht die zugrunde liegenden Probleme.
Bei Axis sind wir überzeugt, dass Sicherheitsaspekte von Anfang an und während des gesamten Entwicklungsprozesses berücksichtigt werden sollten – nicht erst am Ende. Denn in den verschiedenen Phasen der Softwareentwicklung – von der Festlegung der Anforderungen über Design und Implementierung bis hin zu Verifikation und Bereitstellung – werden zahlreiche Entscheidungen getroffen. Diese Entscheidungen sind später nur schwer zu ändern, wenn die Software bereits vollständig entwickelt ist.
Axis Security Development Model
Um Cybersicherheit effektiv zu adressieren und sie in den Softwareentwicklungsprozess zu integrieren, hat Axis eine Methodik namens Axis Security Development Model (ASDM) eingeführt. Dieses Modell beschreibt die verschiedenen Sicherheitsaktivitäten, die in den jeweiligen Entwicklungsphasen berücksichtigt werden sollten. Ziel ist es, Sicherheitslücken – und gleichzeitig Entwicklungskosten – zu reduzieren, indem ein Sicherheitsstandard etabliert und klare Leitlinien bereitgestellt werden. So wissen die Entwicklungsteams, was erwartet wird, und können sicherheitsrelevante Entscheidungen besser kommunizieren.
Die ASDM-Toolbox umfasst eine Vielzahl von Aktivitäten – Risikobewertung, Bedrohungsmodellierung, Tests von Bedrohungsmodellen, statische Codeanalyse, Schwachstellenscans und Lieferantenbewertungen –, mit denen unterschiedliche Sicherheitsprobleme adressiert werden können. Je nach Art der zu entwickelnden Software entscheiden die Teams, welche Aktivitäten relevant sind. ASDM verfolgt einen risikobasierten Ansatz und stellt sicher, dass sicherheitsrelevante Maßnahmen dann durchgeführt werden, wenn sie am wichtigsten sind. Ziel ist es, Cybersicherheit zu erreichen – nicht bloß die Einhaltung eines Prozesses.
Jede ASDM-Arbeit beginnt mit der Bewertung, ob eine neue Funktion oder Anwendung ein Sicherheitsrisiko darstellt. In den meisten Fällen folgen darauf Bedrohungsmodellierung und entsprechende Tests. Dabei werden das System, die Anwendungsfälle, Bedrohungen und Gegenmaßnahmen definiert. Der Code wird überprüft und analysiert, und es erfolgt eine Verifikation.
Jährlich werden Penetrationstests (simulierte Cyberangriffe) auf verschiedene Axis-Softwareprodukte von spezialisierten Drittunternehmen durchgeführt. Diese Tests, die von Axis und unseren Partnern initiiert werden, liefern eine unabhängige Bewertung unserer Software und tragen zur Verbesserung der Softwaresicherheit bei. Die Ergebnisse werden von der Axis Software Security Group genutzt, um die ASDM-Arbeit zu bewerten und zu prüfen, ob das Modell weiterentwickelt werden muss. Gleiches gilt für neu entdeckte Schwachstellen, die von externen Sicherheitsforschern an das Axis Product Security Team gemeldet werden. Die Erkenntnisse aus beiden Quellen helfen, unsere Produkte und Arbeitsweise kontinuierlich zu verbessern. Wichtig ist: Das Axis Security Development Model ist ein fortlaufender Entwicklungsprozess.
Ein zentrales Element des ASDM ist der teamzentrierte Ansatz. Das Entwicklungsteam, das die Software erstellt, ist auch für deren Sicherheitszustand verantwortlich. Mehr als 1.500 Entwickler bei Axis wenden ASDM in ihrer täglichen Arbeit an. Sie werden von Sicherheitstrainern der Software Security Group (SSG) unterstützt, sowie von über 70 Entwicklern, die als sogenannte SSG-Satelliten fungieren. Die SSG ist verantwortlich für Schulungen, die Bereitstellung der Sicherheits-Toolbox, die Betreuung der Teams und die Weiterentwicklung des ASDM. Die SSG-Satelliten helfen dabei, das Modell an die Bedürfnisse der einzelnen Teams anzupassen – denn es gibt viele unterschiedliche Technologie-Stacks und Arbeitsweisen. Die Manager und Direktoren der Softwareteams sind schließlich dafür verantwortlich, die ASDM-Arbeit ihrer Teams zu begleiten und für die Sicherheit der Software zu sorgen.
Etablierung des ASDM
ASDM wurde 2015 eingeführt und ist seit 2017 für alle Axis-Softwareentwicklungsteams verpflichtend. Vor der Einführung verfolgten die Teams unterschiedliche Best Practices, inspiriert von der Axis-Unternehmenskultur, die Eigenverantwortung, Ingenieursstolz, Transparenz und Peer-Reviews fördert. Zwar wurde qualitativ hochwertiger Code entwickelt, doch es fehlte ein gemeinsamer Ansatz zur Integration von Sicherheitsaspekten in den Entwicklungsprozess. Die zunehmende Bedeutung von Cybersicherheit und sich weiterentwickelnde Best Practices machten eine Verbesserung der Arbeitsweise notwendig.
Um einen gemeinsamen und praktikablen Ansatz zu finden, hat Axis bestehende Sicherheitsstandards und Frameworks geprüft – darunter ISO 27001, IEC 62443, NIST, BSIMM und CMMC –, die direkt oder indirekt Sicherheit in der Entwicklung adressieren. Der gemeinsame Nenner dieser Standards ist, dass Sicherheit in allen Entwicklungsphasen berücksichtigt werden muss. Sie geben zudem Best Practices vor und schaffen eine gemeinsame Sprache, die die Kommunikation zwischen verschiedenen Stakeholdern erleichtert.
ASDM ist jedoch keine einfache Umsetzung eines bestehenden Standards oder Frameworks. Es integriert viele nützliche Elemente verschiedener Standards und ist speziell auf die Axis-Kultur und Entwicklungspraktiken zugeschnitten. Dadurch ist es für unterschiedliche Softwaretypen relevant und kann sich an neue Bedrohungen und Gegenmaßnahmen anpassen. Kurz gesagt: ASDM ermöglicht es den Axis-Entwicklungsteams, maximale Wirkung zu erzielen und Sicherheit wirklich in die Software zu integrieren.